From 325a070b7b79715111380f2419411be0bb7a6cdc Mon Sep 17 00:00:00 2001 From: "DESKTOP-E401PHE\\Administrator" Date: Wed, 30 Apr 2025 19:54:04 +0800 Subject: [PATCH] ~ --- .gitignore | 16 + 打卷检验管理/AES.pas | 317 + 打卷检验管理/ElAES.pas | 2488 +++ 打卷检验管理/FieldExportSet/.INI | 2 + 打卷检验管理/FieldExportSet/检验分析订单.INI | 2 + 打卷检验管理/FieldExportSet/检验报告.INI | 2 + 打卷检验管理/FieldExportSet/采购单列表.INI | 2 + 打卷检验管理/File.INI | 6 + 打卷检验管理/OrderManage.dof | 138 + 打卷检验管理/ProjectGroup1.bpg | 23 + 打卷检验管理/RCInspection.cfg | 38 + 打卷检验管理/RCInspection.dof | 141 + 打卷检验管理/RCInspection.res | Bin 0 -> 876 bytes 打卷检验管理/SYSTEMSET.ini | 3 + 打卷检验管理/TradeManage.cfg | 38 + 打卷检验管理/TradeManage.dof | 141 + 打卷检验管理/TradeManage.dpr | 77 + 打卷检验管理/TradeManage.rar | Bin 0 -> 2053423 bytes 打卷检验管理/TradeManage.res | Bin 0 -> 876 bytes 打卷检验管理/U.dfm | 202 + 打卷检验管理/U.pas | 48 + 打卷检验管理/U_BanCpCkSaoM.dfm | 201 + 打卷检验管理/U_BanCpCkSaoM.pas | 253 + 打卷检验管理/U_BanCpHCSaoM.dfm | 212 + 打卷检验管理/U_BanCpHCSaoM.pas | 264 + 打卷检验管理/U_BangAdd.dfm | 255 + 打卷检验管理/U_BangAdd.pas | 308 + 打卷检验管理/U_BefChkHX.dfm | 335 + 打卷检验管理/U_BefChkHX.pas | 256 + 打卷检验管理/U_CKJYList.dfm | 652 + 打卷检验管理/U_CKJYList.pas | 301 + 打卷检验管理/U_CKProductBCPHCList.dfm | 390 + 打卷检验管理/U_CKProductBCPHCList.pas | 182 + 打卷检验管理/U_CKProductBCPInList.dfm | 811 + 打卷检验管理/U_CKProductBCPInList.pas | 771 + 打卷检验管理/U_CKProductBCPKC.dfm | 330 + 打卷检验管理/U_CKProductBCPKC.pas | 207 + 打卷检验管理/U_CKProductBCPKCHZList.dfm | 576 + 打卷检验管理/U_CKProductBCPKCHZList.pas | 294 + 打卷检验管理/U_CKProductBCPKCList.dfm | 822 + 打卷检验管理/U_CKProductBCPKCList.pas | 717 + 打卷检验管理/U_CKProductBCPOutList.dfm | 815 + 打卷检验管理/U_CKProductBCPOutList.pas | 1539 ++ 打卷检验管理/U_CKProductJYHZList.dfm | 652 + 打卷检验管理/U_CKProductJYHZList.pas | 318 + 打卷检验管理/U_CKYCLKC.dfm | 345 + 打卷检验管理/U_CKYCLKC.pas | 241 + 打卷检验管理/U_CPDBAO.dfm | 1694 ++ 打卷检验管理/U_CPDBAO.pas | 1498 ++ 打卷检验管理/U_ClothContractInPut.dfm | 653 + 打卷检验管理/U_ClothContractInPut.pas | 760 + 打卷检验管理/U_ClothContractInPutHZ.dfm | 645 + 打卷检验管理/U_ClothContractInPutHZ.pas | 878 + 打卷检验管理/U_ClothContractInPutPB.dfm | 722 + 打卷检验管理/U_ClothContractInPutPB.pas | 976 + 打卷检验管理/U_ClothContractInPutSX.dfm | 633 + 打卷检验管理/U_ClothContractInPutSX.pas | 854 + 打卷检验管理/U_ClothContractInPutSXMX.dfm | 647 + 打卷检验管理/U_ClothContractInPutSXMX.pas | 931 + 打卷检验管理/U_ClothContractKCList.dfm | 635 + 打卷检验管理/U_ClothContractKCList.pas | 202 + 打卷检验管理/U_ClothContractList.dfm | 929 + 打卷检验管理/U_ClothContractList.pas | 1014 + 打卷检验管理/U_ClothContractListDH.dfm | 700 + 打卷检验管理/U_ClothContractListDH.pas | 1085 + 打卷检验管理/U_ClothContractListDHSX.dfm | 598 + 打卷检验管理/U_ClothContractListDHSX.pas | 1022 + 打卷检验管理/U_ClothContractListDHSXQJG.dfm | 599 + 打卷检验管理/U_ClothContractListDHSXQJG.pas | 1057 + 打卷检验管理/U_ClothContractListHZ.dfm | 1138 + 打卷检验管理/U_ClothContractListHZ.pas | 1250 ++ 打卷检验管理/U_ClothContractListLL.dfm | 771 + 打卷检验管理/U_ClothContractListLL.pas | 1205 ++ 打卷检验管理/U_ClothContractListLLSX.dfm | 719 + 打卷检验管理/U_ClothContractListLLSX.pas | 1045 + 打卷检验管理/U_ClothContractListLLSXQJG.dfm | 712 + 打卷检验管理/U_ClothContractListLLSXQJG.pas | 1030 + 打卷检验管理/U_ClothContractListSX.dfm | 436 + 打卷检验管理/U_ClothContractListSX.pas | 375 + 打卷检验管理/U_ClothContractListWJG.dfm | 827 + 打卷检验管理/U_ClothContractListWJG.pas | 1207 ++ 打卷检验管理/U_ClothHCList.dfm | 484 + 打卷检验管理/U_ClothHCList.pas | 218 + 打卷检验管理/U_ClothPDInfoList.dfm | 366 + 打卷检验管理/U_ClothPDInfoList.pas | 169 + 打卷检验管理/U_ClothSCListZDSel.dfm | 804 + 打卷检验管理/U_ClothSCListZDSel.pas | 880 + 打卷检验管理/U_ConInPut.dfm | 1434 ++ 打卷检验管理/U_ConInPut.pas | 1610 ++ 打卷检验管理/U_ConInPutNX.dfm | 1319 ++ 打卷检验管理/U_ConInPutNX.pas | 1279 ++ 打卷检验管理/U_ContractList.dfm | 874 + 打卷检验管理/U_ContractList.pas | 935 + 打卷检验管理/U_ContractListNX.dfm | 868 + 打卷检验管理/U_ContractListNX.pas | 925 + 打卷检验管理/U_CpCkSaoMNew.dfm | 460 + 打卷检验管理/U_CpCkSaoMNew.pas | 450 + 打卷检验管理/U_CpCkSaoMNewSel.dfm | 696 + 打卷检验管理/U_CpCkSaoMNewSel.pas | 1232 ++ 打卷检验管理/U_CpRkSaoMNew.dfm | 952 + 打卷检验管理/U_CpRkSaoMNew.pas | 1450 ++ 打卷检验管理/U_CpRkSaoMNewDB.dfm | 710 + 打卷检验管理/U_CpRkSaoMNewDB.pas | 940 + 打卷检验管理/U_DataLink.dfm | 17981 +++++++++++++++ 打卷检验管理/U_DataLink.pas | 134 + 打卷检验管理/U_FjList.dfm | 126 + 打卷检验管理/U_FjList.pas | 360 + 打卷检验管理/U_GetDllForm.pas | 551 + 打卷检验管理/U_GetPGJBInList.dfm | 400 + 打卷检验管理/U_GetPGJBInList.pas | 268 + 打卷检验管理/U_GetPGJBOneTwoInList.dfm | 412 + 打卷检验管理/U_GetPGJBOneTwoInList.pas | 270 + 打卷检验管理/U_HCList.dfm | 724 + 打卷检验管理/U_HCList.pas | 279 + 打卷检验管理/U_JBData.dfm | 265 + 打卷检验管理/U_JBData.pas | 260 + 打卷检验管理/U_JYOrderCDMore.dfm | 619 + 打卷检验管理/U_JYOrderCDMore.pas | 362 + 打卷检验管理/U_JYOrderCDOne.dfm | 2120 ++ 打卷检验管理/U_JYOrderCDOne.pas | 2420 +++ 打卷检验管理/U_JYOrderOther_Main.dfm | 553 + 打卷检验管理/U_JYOrderOther_Main.pas | 340 + 打卷检验管理/U_JYResult.dfm | 527 + 打卷检验管理/U_JYResult.pas | 480 + 打卷检验管理/U_JiangLiaoSet.dfm | 968 + 打卷检验管理/U_JiangLiaoSet.pas | 1182 + 打卷检验管理/U_LabelPrint.dfm | 122 + 打卷检验管理/U_LabelPrint.pas | 143 + 打卷检验管理/U_MJEdit.dfm | 450 + 打卷检验管理/U_MJEdit.pas | 553 + 打卷检验管理/U_MJManage.dfm | 1192 + 打卷检验管理/U_MJManage.pas | 1086 + 打卷检验管理/U_MJManageNew.dfm | 1922 ++ 打卷检验管理/U_MJManageNew.pas | 1621 ++ 打卷检验管理/U_MJManageNewFD1.dfm | 2054 ++ 打卷检验管理/U_MJManageNewFD1.pas | 1450 ++ 打卷检验管理/U_MJManageNewFDNew.dfm | 3055 +++ 打卷检验管理/U_MJManageNewFDNew.pas | 3010 +++ 打卷检验管理/U_MJManageNewFDNew1.dfm | 1967 ++ 打卷检验管理/U_MJManageNewFDNew1.pas | 1532 ++ 打卷检验管理/U_MJSJFX.dfm | 718 + 打卷检验管理/U_MJSJFX.pas | 206 + 打卷检验管理/U_ModulePromptList.dfm | 179 + 打卷检验管理/U_ModulePromptList.pas | 223 + 打卷检验管理/U_OrderAttachment.dfm | 666 + 打卷检验管理/U_OrderAttachment.pas | 543 + 打卷检验管理/U_OrderInPut.dfm | 1947 ++ 打卷检验管理/U_OrderInPut.pas | 1749 ++ 打卷检验管理/U_OrderInPutJZC.dfm | 727 + 打卷检验管理/U_OrderInPutJZC.pas | 1090 + 打卷检验管理/U_OrderInPutNew.dfm | 2155 ++ 打卷检验管理/U_OrderInPutNew.pas | 2945 +++ 打卷检验管理/U_OrderInPutZP.dfm | 1788 ++ 打卷检验管理/U_OrderInPutZP.pas | 1849 ++ 打卷检验管理/U_OrderInPutZPLNew.dfm | 2224 ++ 打卷检验管理/U_OrderInPutZPLNew.pas | 3706 ++++ 打卷检验管理/U_OrderInPutZPNew.dfm | 1711 ++ 打卷检验管理/U_OrderInPutZPNew.pas | 1984 ++ 打卷检验管理/U_OrderInPut_CY.dfm | 1008 + 打卷检验管理/U_OrderInPut_CY.pas | 1118 + 打卷检验管理/U_OrderInPut_FB.dfm | 1060 + 打卷检验管理/U_OrderInPut_FB.pas | 1239 ++ 打卷检验管理/U_OrderInPut_HYWT.dfm | 539 + 打卷检验管理/U_OrderInPut_HYWT.pas | 363 + 打卷检验管理/U_OrderJDList.dfm | 562 + 打卷检验管理/U_OrderJDList.pas | 446 + 打卷检验管理/U_OrderSel.dfm | 371 + 打卷检验管理/U_OrderSel.pas | 216 + 打卷检验管理/U_OrderSelRK.dfm | 382 + 打卷检验管理/U_OrderSelRK.pas | 205 + 打卷检验管理/U_OrderStatus.dfm | 593 + 打卷检验管理/U_OrderStatus.pas | 306 + 打卷检验管理/U_OrderSubFH.dfm | 496 + 打卷检验管理/U_OrderSubFH.pas | 516 + 打卷检验管理/U_OrderSubKC.dfm | 377 + 打卷检验管理/U_OrderSubKC.pas | 245 + 打卷检验管理/U_ProductOrderAnPai.dfm | 930 + 打卷检验管理/U_ProductOrderAnPai.pas | 2244 ++ 打卷检验管理/U_ProductOrderAnPaiGQX.dfm | 970 + 打卷检验管理/U_ProductOrderAnPaiGQX.pas | 2138 ++ 打卷检验管理/U_ProductOrderLBNameSet.dfm | 929 + 打卷检验管理/U_ProductOrderLBNameSet.pas | 1558 ++ 打卷检验管理/U_ProductOrderList.dfm | 745 + 打卷检验管理/U_ProductOrderList.pas | 657 + 打卷检验管理/U_ProductOrderListNew.dfm | 1344 ++ 打卷检验管理/U_ProductOrderListNew.pas | 1041 + 打卷检验管理/U_ProductOrderListNewCK.dfm | 1300 ++ 打卷检验管理/U_ProductOrderListNewCK.pas | 1012 + 打卷检验管理/U_ProductOrderListNewCKMX.dfm | 938 + 打卷检验管理/U_ProductOrderListNewCKMX.pas | 314 + 打卷检验管理/U_ProductOrderListSel.dfm | 330 + 打卷检验管理/U_ProductOrderListSel.pas | 163 + 打卷检验管理/U_ProductOrderNewList.dfm | 1291 ++ 打卷检验管理/U_ProductOrderNewList.pas | 1124 + 打卷检验管理/U_ProductOrderNewListSubZD.dfm | 677 + 打卷检验管理/U_ProductOrderNewListSubZD.pas | 681 + 打卷检验管理/U_ProductOrderNewList_CY.dfm | 982 + 打卷检验管理/U_ProductOrderNewList_CY.pas | 845 + 打卷检验管理/U_ProductOrderNewList_CY_Sel.dfm | 991 + 打卷检验管理/U_ProductOrderNewList_CY_Sel.pas | 846 + 打卷检验管理/U_ProductOrderNewList_FB.dfm | 1011 + 打卷检验管理/U_ProductOrderNewList_FB.pas | 912 + 打卷检验管理/U_ProductOrderNewList_JD.dfm | 1860 ++ 打卷检验管理/U_ProductOrderNewList_JD.pas | 887 + 打卷检验管理/U_ProductOrderSel.dfm | 350 + 打卷检验管理/U_ProductOrderSel.pas | 494 + 打卷检验管理/U_ProductionAnPai.dfm | 656 + 打卷检验管理/U_ProductionAnPai.pas | 666 + 打卷检验管理/U_ProductionAnPaiNew.dfm | 934 + 打卷检验管理/U_ProductionAnPaiNew.pas | 1006 + 打卷检验管理/U_SCGYSet.dfm | 1297 ++ 打卷检验管理/U_SCGYSet.pas | 1014 + 打卷检验管理/U_SetBanZu.dfm | 221 + 打卷检验管理/U_SetBanZu.pas | 265 + 打卷检验管理/U_StopWorkInPut.dfm | 282 + 打卷检验管理/U_StopWorkInPut.pas | 498 + 打卷检验管理/U_StopWorkList.dfm | 439 + 打卷检验管理/U_StopWorkList.pas | 291 + 打卷检验管理/U_SysLogOrder.dfm | 18071 ++++++++++++++++ 打卷检验管理/U_SysLogOrder.pas | 182 + 打卷检验管理/U_SysLogOrderzsd.dfm | 18071 ++++++++++++++++ 打卷检验管理/U_SysLogOrderzsd.pas | 182 + 打卷检验管理/U_ZJManage.dfm | 2093 ++ 打卷检验管理/U_ZJManage.pas | 391 + 打卷检验管理/U_ZJManageNew.dfm | 2690 +++ 打卷检验管理/U_ZJManageNew.pas | 1525 ++ 打卷检验管理/U_ZJManageNewFD.dfm | 2690 +++ 打卷检验管理/U_ZJManageNewFD.pas | 1530 ++ 打卷检验管理/U_ZJManageNewFDMORE.dfm | 2804 +++ 打卷检验管理/U_ZJManageNewFDMORE.pas | 2026 ++ 打卷检验管理/U_iniParam.pas | 74 + 打卷检验管理/U_orderInPut_HYWT_Sub.dfm | 932 + 打卷检验管理/U_orderInPut_HYWT_Sub.pas | 714 + 打卷检验管理/U_testdll.dfm | 221 + 打卷检验管理/U_testdll.pas | 106 + 打卷检验管理/WFBOrder.cfg | 42 + 打卷检验管理/WFBOrder.dof | 138 + 打卷检验管理/WFBOrder.res | Bin 0 -> 876 bytes 打卷检验管理/WFBProduction.cfg | 38 + 打卷检验管理/WFBProduction.dof | 141 + 打卷检验管理/WFBProduction.res | Bin 0 -> 876 bytes 打卷检验管理/getpic.dfm | 157 + 打卷检验管理/getpic.pas | 595 + 打卷检验管理/testDll.cfg | 38 + 打卷检验管理/testDll.dof | 136 + 打卷检验管理/testDll.dpr | 14 + 打卷检验管理/testDll.res | Bin 0 -> 876 bytes 打卷检验管理/复件 U_ClothContractListTP.dfm | 313 + 248 files changed, 245490 insertions(+) create mode 100644 .gitignore create mode 100644 打卷检验管理/AES.pas create mode 100644 打卷检验管理/ElAES.pas create mode 100644 打卷检验管理/FieldExportSet/.INI create mode 100644 打卷检验管理/FieldExportSet/检验分析订单.INI create mode 100644 打卷检验管理/FieldExportSet/检验报告.INI create mode 100644 打卷检验管理/FieldExportSet/采购单列表.INI create mode 100644 打卷检验管理/File.INI create mode 100644 打卷检验管理/OrderManage.dof create mode 100644 打卷检验管理/ProjectGroup1.bpg create mode 100644 打卷检验管理/RCInspection.cfg create mode 100644 打卷检验管理/RCInspection.dof create mode 100644 打卷检验管理/RCInspection.res create mode 100644 打卷检验管理/SYSTEMSET.ini create mode 100644 打卷检验管理/TradeManage.cfg create mode 100644 打卷检验管理/TradeManage.dof create mode 100644 打卷检验管理/TradeManage.dpr create mode 100644 打卷检验管理/TradeManage.rar create mode 100644 打卷检验管理/TradeManage.res create mode 100644 打卷检验管理/U.dfm create mode 100644 打卷检验管理/U.pas create mode 100644 打卷检验管理/U_BanCpCkSaoM.dfm create mode 100644 打卷检验管理/U_BanCpCkSaoM.pas create mode 100644 打卷检验管理/U_BanCpHCSaoM.dfm create mode 100644 打卷检验管理/U_BanCpHCSaoM.pas create mode 100644 打卷检验管理/U_BangAdd.dfm create mode 100644 打卷检验管理/U_BangAdd.pas create mode 100644 打卷检验管理/U_BefChkHX.dfm create mode 100644 打卷检验管理/U_BefChkHX.pas create mode 100644 打卷检验管理/U_CKJYList.dfm create mode 100644 打卷检验管理/U_CKJYList.pas create mode 100644 打卷检验管理/U_CKProductBCPHCList.dfm create mode 100644 打卷检验管理/U_CKProductBCPHCList.pas create mode 100644 打卷检验管理/U_CKProductBCPInList.dfm create mode 100644 打卷检验管理/U_CKProductBCPInList.pas create mode 100644 打卷检验管理/U_CKProductBCPKC.dfm create mode 100644 打卷检验管理/U_CKProductBCPKC.pas create mode 100644 打卷检验管理/U_CKProductBCPKCHZList.dfm create mode 100644 打卷检验管理/U_CKProductBCPKCHZList.pas create mode 100644 打卷检验管理/U_CKProductBCPKCList.dfm create mode 100644 打卷检验管理/U_CKProductBCPKCList.pas create mode 100644 打卷检验管理/U_CKProductBCPOutList.dfm create mode 100644 打卷检验管理/U_CKProductBCPOutList.pas create mode 100644 打卷检验管理/U_CKProductJYHZList.dfm create mode 100644 打卷检验管理/U_CKProductJYHZList.pas create mode 100644 打卷检验管理/U_CKYCLKC.dfm create mode 100644 打卷检验管理/U_CKYCLKC.pas create mode 100644 打卷检验管理/U_CPDBAO.dfm create mode 100644 打卷检验管理/U_CPDBAO.pas create mode 100644 打卷检验管理/U_ClothContractInPut.dfm create mode 100644 打卷检验管理/U_ClothContractInPut.pas create mode 100644 打卷检验管理/U_ClothContractInPutHZ.dfm create mode 100644 打卷检验管理/U_ClothContractInPutHZ.pas create mode 100644 打卷检验管理/U_ClothContractInPutPB.dfm create mode 100644 打卷检验管理/U_ClothContractInPutPB.pas create mode 100644 打卷检验管理/U_ClothContractInPutSX.dfm create mode 100644 打卷检验管理/U_ClothContractInPutSX.pas create mode 100644 打卷检验管理/U_ClothContractInPutSXMX.dfm create mode 100644 打卷检验管理/U_ClothContractInPutSXMX.pas create mode 100644 打卷检验管理/U_ClothContractKCList.dfm create mode 100644 打卷检验管理/U_ClothContractKCList.pas create mode 100644 打卷检验管理/U_ClothContractList.dfm create mode 100644 打卷检验管理/U_ClothContractList.pas create mode 100644 打卷检验管理/U_ClothContractListDH.dfm create mode 100644 打卷检验管理/U_ClothContractListDH.pas create mode 100644 打卷检验管理/U_ClothContractListDHSX.dfm create mode 100644 打卷检验管理/U_ClothContractListDHSX.pas create mode 100644 打卷检验管理/U_ClothContractListDHSXQJG.dfm create mode 100644 打卷检验管理/U_ClothContractListDHSXQJG.pas create mode 100644 打卷检验管理/U_ClothContractListHZ.dfm create mode 100644 打卷检验管理/U_ClothContractListHZ.pas create mode 100644 打卷检验管理/U_ClothContractListLL.dfm create mode 100644 打卷检验管理/U_ClothContractListLL.pas create mode 100644 打卷检验管理/U_ClothContractListLLSX.dfm create mode 100644 打卷检验管理/U_ClothContractListLLSX.pas create mode 100644 打卷检验管理/U_ClothContractListLLSXQJG.dfm create mode 100644 打卷检验管理/U_ClothContractListLLSXQJG.pas create mode 100644 打卷检验管理/U_ClothContractListSX.dfm create mode 100644 打卷检验管理/U_ClothContractListSX.pas create mode 100644 打卷检验管理/U_ClothContractListWJG.dfm create mode 100644 打卷检验管理/U_ClothContractListWJG.pas create mode 100644 打卷检验管理/U_ClothHCList.dfm create mode 100644 打卷检验管理/U_ClothHCList.pas create mode 100644 打卷检验管理/U_ClothPDInfoList.dfm create mode 100644 打卷检验管理/U_ClothPDInfoList.pas create mode 100644 打卷检验管理/U_ClothSCListZDSel.dfm create mode 100644 打卷检验管理/U_ClothSCListZDSel.pas create mode 100644 打卷检验管理/U_ConInPut.dfm create mode 100644 打卷检验管理/U_ConInPut.pas create mode 100644 打卷检验管理/U_ConInPutNX.dfm create mode 100644 打卷检验管理/U_ConInPutNX.pas create mode 100644 打卷检验管理/U_ContractList.dfm create mode 100644 打卷检验管理/U_ContractList.pas create mode 100644 打卷检验管理/U_ContractListNX.dfm create mode 100644 打卷检验管理/U_ContractListNX.pas create mode 100644 打卷检验管理/U_CpCkSaoMNew.dfm create mode 100644 打卷检验管理/U_CpCkSaoMNew.pas create mode 100644 打卷检验管理/U_CpCkSaoMNewSel.dfm create mode 100644 打卷检验管理/U_CpCkSaoMNewSel.pas create mode 100644 打卷检验管理/U_CpRkSaoMNew.dfm create mode 100644 打卷检验管理/U_CpRkSaoMNew.pas create mode 100644 打卷检验管理/U_CpRkSaoMNewDB.dfm create mode 100644 打卷检验管理/U_CpRkSaoMNewDB.pas create mode 100644 打卷检验管理/U_DataLink.dfm create mode 100644 打卷检验管理/U_DataLink.pas create mode 100644 打卷检验管理/U_FjList.dfm create mode 100644 打卷检验管理/U_FjList.pas create mode 100644 打卷检验管理/U_GetDllForm.pas create mode 100644 打卷检验管理/U_GetPGJBInList.dfm create mode 100644 打卷检验管理/U_GetPGJBInList.pas create mode 100644 打卷检验管理/U_GetPGJBOneTwoInList.dfm create mode 100644 打卷检验管理/U_GetPGJBOneTwoInList.pas create mode 100644 打卷检验管理/U_HCList.dfm create mode 100644 打卷检验管理/U_HCList.pas create mode 100644 打卷检验管理/U_JBData.dfm create mode 100644 打卷检验管理/U_JBData.pas create mode 100644 打卷检验管理/U_JYOrderCDMore.dfm create mode 100644 打卷检验管理/U_JYOrderCDMore.pas create mode 100644 打卷检验管理/U_JYOrderCDOne.dfm create mode 100644 打卷检验管理/U_JYOrderCDOne.pas create mode 100644 打卷检验管理/U_JYOrderOther_Main.dfm create mode 100644 打卷检验管理/U_JYOrderOther_Main.pas create mode 100644 打卷检验管理/U_JYResult.dfm create mode 100644 打卷检验管理/U_JYResult.pas create mode 100644 打卷检验管理/U_JiangLiaoSet.dfm create mode 100644 打卷检验管理/U_JiangLiaoSet.pas create mode 100644 打卷检验管理/U_LabelPrint.dfm create mode 100644 打卷检验管理/U_LabelPrint.pas create mode 100644 打卷检验管理/U_MJEdit.dfm create mode 100644 打卷检验管理/U_MJEdit.pas create mode 100644 打卷检验管理/U_MJManage.dfm create mode 100644 打卷检验管理/U_MJManage.pas create mode 100644 打卷检验管理/U_MJManageNew.dfm create mode 100644 打卷检验管理/U_MJManageNew.pas create mode 100644 打卷检验管理/U_MJManageNewFD1.dfm create mode 100644 打卷检验管理/U_MJManageNewFD1.pas create mode 100644 打卷检验管理/U_MJManageNewFDNew.dfm create mode 100644 打卷检验管理/U_MJManageNewFDNew.pas create mode 100644 打卷检验管理/U_MJManageNewFDNew1.dfm create mode 100644 打卷检验管理/U_MJManageNewFDNew1.pas create mode 100644 打卷检验管理/U_MJSJFX.dfm create mode 100644 打卷检验管理/U_MJSJFX.pas create mode 100644 打卷检验管理/U_ModulePromptList.dfm create mode 100644 打卷检验管理/U_ModulePromptList.pas create mode 100644 打卷检验管理/U_OrderAttachment.dfm create mode 100644 打卷检验管理/U_OrderAttachment.pas create mode 100644 打卷检验管理/U_OrderInPut.dfm create mode 100644 打卷检验管理/U_OrderInPut.pas create mode 100644 打卷检验管理/U_OrderInPutJZC.dfm create mode 100644 打卷检验管理/U_OrderInPutJZC.pas create mode 100644 打卷检验管理/U_OrderInPutNew.dfm create mode 100644 打卷检验管理/U_OrderInPutNew.pas create mode 100644 打卷检验管理/U_OrderInPutZP.dfm create mode 100644 打卷检验管理/U_OrderInPutZP.pas create mode 100644 打卷检验管理/U_OrderInPutZPLNew.dfm create mode 100644 打卷检验管理/U_OrderInPutZPLNew.pas create mode 100644 打卷检验管理/U_OrderInPutZPNew.dfm create mode 100644 打卷检验管理/U_OrderInPutZPNew.pas create mode 100644 打卷检验管理/U_OrderInPut_CY.dfm create mode 100644 打卷检验管理/U_OrderInPut_CY.pas create mode 100644 打卷检验管理/U_OrderInPut_FB.dfm create mode 100644 打卷检验管理/U_OrderInPut_FB.pas create mode 100644 打卷检验管理/U_OrderInPut_HYWT.dfm create mode 100644 打卷检验管理/U_OrderInPut_HYWT.pas create mode 100644 打卷检验管理/U_OrderJDList.dfm create mode 100644 打卷检验管理/U_OrderJDList.pas create mode 100644 打卷检验管理/U_OrderSel.dfm create mode 100644 打卷检验管理/U_OrderSel.pas create mode 100644 打卷检验管理/U_OrderSelRK.dfm create mode 100644 打卷检验管理/U_OrderSelRK.pas create mode 100644 打卷检验管理/U_OrderStatus.dfm create mode 100644 打卷检验管理/U_OrderStatus.pas create mode 100644 打卷检验管理/U_OrderSubFH.dfm create mode 100644 打卷检验管理/U_OrderSubFH.pas create mode 100644 打卷检验管理/U_OrderSubKC.dfm create mode 100644 打卷检验管理/U_OrderSubKC.pas create mode 100644 打卷检验管理/U_ProductOrderAnPai.dfm create mode 100644 打卷检验管理/U_ProductOrderAnPai.pas create mode 100644 打卷检验管理/U_ProductOrderAnPaiGQX.dfm create mode 100644 打卷检验管理/U_ProductOrderAnPaiGQX.pas create mode 100644 打卷检验管理/U_ProductOrderLBNameSet.dfm create mode 100644 打卷检验管理/U_ProductOrderLBNameSet.pas create mode 100644 打卷检验管理/U_ProductOrderList.dfm create mode 100644 打卷检验管理/U_ProductOrderList.pas create mode 100644 打卷检验管理/U_ProductOrderListNew.dfm create mode 100644 打卷检验管理/U_ProductOrderListNew.pas create mode 100644 打卷检验管理/U_ProductOrderListNewCK.dfm create mode 100644 打卷检验管理/U_ProductOrderListNewCK.pas create mode 100644 打卷检验管理/U_ProductOrderListNewCKMX.dfm create mode 100644 打卷检验管理/U_ProductOrderListNewCKMX.pas create mode 100644 打卷检验管理/U_ProductOrderListSel.dfm create mode 100644 打卷检验管理/U_ProductOrderListSel.pas create mode 100644 打卷检验管理/U_ProductOrderNewList.dfm create mode 100644 打卷检验管理/U_ProductOrderNewList.pas create mode 100644 打卷检验管理/U_ProductOrderNewListSubZD.dfm create mode 100644 打卷检验管理/U_ProductOrderNewListSubZD.pas create mode 100644 打卷检验管理/U_ProductOrderNewList_CY.dfm create mode 100644 打卷检验管理/U_ProductOrderNewList_CY.pas create mode 100644 打卷检验管理/U_ProductOrderNewList_CY_Sel.dfm create mode 100644 打卷检验管理/U_ProductOrderNewList_CY_Sel.pas create mode 100644 打卷检验管理/U_ProductOrderNewList_FB.dfm create mode 100644 打卷检验管理/U_ProductOrderNewList_FB.pas create mode 100644 打卷检验管理/U_ProductOrderNewList_JD.dfm create mode 100644 打卷检验管理/U_ProductOrderNewList_JD.pas create mode 100644 打卷检验管理/U_ProductOrderSel.dfm create mode 100644 打卷检验管理/U_ProductOrderSel.pas create mode 100644 打卷检验管理/U_ProductionAnPai.dfm create mode 100644 打卷检验管理/U_ProductionAnPai.pas create mode 100644 打卷检验管理/U_ProductionAnPaiNew.dfm create mode 100644 打卷检验管理/U_ProductionAnPaiNew.pas create mode 100644 打卷检验管理/U_SCGYSet.dfm create mode 100644 打卷检验管理/U_SCGYSet.pas create mode 100644 打卷检验管理/U_SetBanZu.dfm create mode 100644 打卷检验管理/U_SetBanZu.pas create mode 100644 打卷检验管理/U_StopWorkInPut.dfm create mode 100644 打卷检验管理/U_StopWorkInPut.pas create mode 100644 打卷检验管理/U_StopWorkList.dfm create mode 100644 打卷检验管理/U_StopWorkList.pas create mode 100644 打卷检验管理/U_SysLogOrder.dfm create mode 100644 打卷检验管理/U_SysLogOrder.pas create mode 100644 打卷检验管理/U_SysLogOrderzsd.dfm create mode 100644 打卷检验管理/U_SysLogOrderzsd.pas create mode 100644 打卷检验管理/U_ZJManage.dfm create mode 100644 打卷检验管理/U_ZJManage.pas create mode 100644 打卷检验管理/U_ZJManageNew.dfm create mode 100644 打卷检验管理/U_ZJManageNew.pas create mode 100644 打卷检验管理/U_ZJManageNewFD.dfm create mode 100644 打卷检验管理/U_ZJManageNewFD.pas create mode 100644 打卷检验管理/U_ZJManageNewFDMORE.dfm create mode 100644 打卷检验管理/U_ZJManageNewFDMORE.pas create mode 100644 打卷检验管理/U_iniParam.pas create mode 100644 打卷检验管理/U_orderInPut_HYWT_Sub.dfm create mode 100644 打卷检验管理/U_orderInPut_HYWT_Sub.pas create mode 100644 打卷检验管理/U_testdll.dfm create mode 100644 打卷检验管理/U_testdll.pas create mode 100644 打卷检验管理/WFBOrder.cfg create mode 100644 打卷检验管理/WFBOrder.dof create mode 100644 打卷检验管理/WFBOrder.res create mode 100644 打卷检验管理/WFBProduction.cfg create mode 100644 打卷检验管理/WFBProduction.dof create mode 100644 打卷检验管理/WFBProduction.res create mode 100644 打卷检验管理/getpic.dfm create mode 100644 打卷检验管理/getpic.pas create mode 100644 打卷检验管理/testDll.cfg create mode 100644 打卷检验管理/testDll.dof create mode 100644 打卷检验管理/testDll.dpr create mode 100644 打卷检验管理/testDll.res create mode 100644 打卷检验管理/复件 U_ClothContractListTP.dfm diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cbd176d --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +**/layout +**/report +**/实施文件 +**/image +**/doc +**/wav +**/__history +**/__recovery +*.dll +*.exe +*.ddp +*.dcu +*.~pas +*.~dfm +*.~ddp +*.~dpr \ No newline at end of file diff --git a/打卷检验管理/AES.pas b/打卷检验管理/AES.pas new file mode 100644 index 0000000..3b8432d --- /dev/null +++ b/打卷检验管理/AES.pas @@ -0,0 +1,317 @@ +(**************************************************) + +unit AES; + +interface + +uses + SysUtils, Classes, Math, ElAES; + +type + TKeyBit = (kb128, kb192, kb256); + +function StrToHex(Value: string): string; +function HexToStr(Value: string): string; +function EncryptString(Value: string; Key: string; + KeyBit: TKeyBit = kb128): string; +function DecryptString(Value: string; Key: string; + KeyBit: TKeyBit = kb128): string; +function EncryptStream(Stream: TStream; Key: string; + KeyBit: TKeyBit = kb128): TStream; +function DecryptStream(Stream: TStream; Key: string; + KeyBit: TKeyBit = kb128): TStream; +procedure EncryptFile(SourceFile, DestFile: string; + Key: string; KeyBit: TKeyBit = kb128); +procedure DecryptFile(SourceFile, DestFile: string; + Key: string; KeyBit: TKeyBit = kb128); + +implementation + +function StrToHex(Value: string): string; +var + I: Integer; +begin + Result := ''; + for I := 1 to Length(Value) do + Result := Result + IntToHex(Ord(Value[I]), 2); +end; + +function HexToStr(Value: string): string; +var + I: Integer; +begin + Result := ''; + for I := 1 to Length(Value) do + begin + if ((I mod 2) = 1) then + Result := Result + Chr(StrToInt('0x'+ Copy(Value, I, 2))); + end; +end; + +{ -- ַܺ Ĭϰ 128 λܳ׼ -- } +function EncryptString(Value: string; Key: string; + KeyBit: TKeyBit = kb128): string; +var + SS, DS: TStringStream; + Size: Int64; + AESKey128: TAESKey128; + AESKey192: TAESKey192; + AESKey256: TAESKey256; +begin + Result := ''; + SS := TStringStream.Create(Value); + DS := TStringStream.Create(''); + try + Size := SS.Size; + DS.WriteBuffer(Size, SizeOf(Size)); + { -- 128 λܳ󳤶Ϊ 16 ַ -- } + if KeyBit = kb128 then + begin + FillChar(AESKey128, SizeOf(AESKey128), 0 ); + Move(PChar(Key)^, AESKey128, Min(SizeOf(AESKey128), Length(Key))); + EncryptAESStreamECB(SS, 0, AESKey128, DS); + end; + { -- 192 λܳ󳤶Ϊ 24 ַ -- } + if KeyBit = kb192 then + begin + FillChar(AESKey192, SizeOf(AESKey192), 0 ); + Move(PChar(Key)^, AESKey192, Min(SizeOf(AESKey192), Length(Key))); + EncryptAESStreamECB(SS, 0, AESKey192, DS); + end; + { -- 256 λܳ󳤶Ϊ 32 ַ -- } + if KeyBit = kb256 then + begin + FillChar(AESKey256, SizeOf(AESKey256), 0 ); + Move(PChar(Key)^, AESKey256, Min(SizeOf(AESKey256), Length(Key))); + EncryptAESStreamECB(SS, 0, AESKey256, DS); + end; + Result := StrToHex(DS.DataString); + finally + SS.Free; + DS.Free; + end; +end; + +{ -- ַܺ Ĭϰ 128 λܳ׽ -- } +function DecryptString(Value: string; Key: string; + KeyBit: TKeyBit = kb128): string; +var + SS, DS: TStringStream; + Size: Int64; + AESKey128: TAESKey128; + AESKey192: TAESKey192; + AESKey256: TAESKey256; +begin + Result := ''; + SS := TStringStream.Create(HexToStr(Value)); + DS := TStringStream.Create(''); + try + Size := SS.Size; + SS.ReadBuffer(Size, SizeOf(Size)); + { -- 128 λܳ󳤶Ϊ 16 ַ -- } + if KeyBit = kb128 then + begin + FillChar(AESKey128, SizeOf(AESKey128), 0 ); + Move(PChar(Key)^, AESKey128, Min(SizeOf(AESKey128), Length(Key))); + DecryptAESStreamECB(SS, SS.Size - SS.Position, AESKey128, DS); + end; + { -- 192 λܳ󳤶Ϊ 24 ַ -- } + if KeyBit = kb192 then + begin + FillChar(AESKey192, SizeOf(AESKey192), 0 ); + Move(PChar(Key)^, AESKey192, Min(SizeOf(AESKey192), Length(Key))); + DecryptAESStreamECB(SS, SS.Size - SS.Position, AESKey192, DS); + end; + { -- 256 λܳ󳤶Ϊ 32 ַ -- } + if KeyBit = kb256 then + begin + FillChar(AESKey256, SizeOf(AESKey256), 0 ); + Move(PChar(Key)^, AESKey256, Min(SizeOf(AESKey256), Length(Key))); + DecryptAESStreamECB(SS, SS.Size - SS.Position, AESKey256, DS); + end; + Result := DS.DataString; + finally + SS.Free; + DS.Free; + end; +end; + +{ -- ܺ Ĭϰ 128 λܳ׽ -- } +function EncryptStream(Stream: TStream; Key: string; + KeyBit: TKeyBit = kb128): TStream; +var + Count: Int64; + OutStrm: TStream; + AESKey128: TAESKey128; + AESKey192: TAESKey192; + AESKey256: TAESKey256; +begin + OutStrm := TStream.Create; + Stream.Position := 0; + Count := Stream.Size; + OutStrm.Write(Count, SizeOf(Count)); + try + { -- 128 λܳ󳤶Ϊ 16 ַ -- } + if KeyBit = kb128 then + begin + FillChar(AESKey128, SizeOf(AESKey128), 0 ); + Move(PChar(Key)^, AESKey128, Min(SizeOf(AESKey128), Length(Key))); + EncryptAESStreamECB(Stream, 0, AESKey128, OutStrm); + end; + { -- 192 λܳ󳤶Ϊ 24 ַ -- } + if KeyBit = kb192 then + begin + FillChar(AESKey192, SizeOf(AESKey192), 0 ); + Move(PChar(Key)^, AESKey192, Min(SizeOf(AESKey192), Length(Key))); + EncryptAESStreamECB(Stream, 0, AESKey192, OutStrm); + end; + { -- 256 λܳ󳤶Ϊ 32 ַ -- } + if KeyBit = kb256 then + begin + FillChar(AESKey256, SizeOf(AESKey256), 0 ); + Move(PChar(Key)^, AESKey256, Min(SizeOf(AESKey256), Length(Key))); + EncryptAESStreamECB(Stream, 0, AESKey256, OutStrm); + end; + Result := OutStrm; + finally + OutStrm.Free; + end; +end; + +{ -- ܺ Ĭϰ 128 λܳ׽ -- } +function DecryptStream(Stream: TStream; Key: string; + KeyBit: TKeyBit = kb128): TStream; +var + Count, OutPos: Int64; + OutStrm: TStream; + AESKey128: TAESKey128; + AESKey192: TAESKey192; + AESKey256: TAESKey256; +begin + OutStrm := TStream.Create; + Stream.Position := 0; + OutPos :=OutStrm.Position; + Stream.ReadBuffer(Count, SizeOf(Count)); + try + { -- 128 λܳ󳤶Ϊ 16 ַ -- } + if KeyBit = kb128 then + begin + FillChar(AESKey128, SizeOf(AESKey128), 0 ); + Move(PChar(Key)^, AESKey128, Min(SizeOf(AESKey128), Length(Key))); + DecryptAESStreamECB(Stream, Stream.Size - Stream.Position, + AESKey128, OutStrm); + end; + { -- 192 λܳ󳤶Ϊ 24 ַ -- } + if KeyBit = kb192 then + begin + FillChar(AESKey192, SizeOf(AESKey192), 0 ); + Move(PChar(Key)^, AESKey192, Min(SizeOf(AESKey192), Length(Key))); + DecryptAESStreamECB(Stream, Stream.Size - Stream.Position, + AESKey192, OutStrm); + end; + { -- 256 λܳ󳤶Ϊ 32 ַ -- } + if KeyBit = kb256 then + begin + FillChar(AESKey256, SizeOf(AESKey256), 0 ); + Move(PChar(Key)^, AESKey256, Min(SizeOf(AESKey256), Length(Key))); + DecryptAESStreamECB(Stream, Stream.Size - Stream.Position, + AESKey256, OutStrm); + end; + OutStrm.Size := OutPos + Count; + OutStrm.Position := OutPos; + Result := OutStrm; + finally + OutStrm.Free; + end; +end; + +{ -- ļܺ Ĭϰ 128 λܳ׽ -- } +procedure EncryptFile(SourceFile, DestFile: string; + Key: string; KeyBit: TKeyBit = kb128); +var + SFS, DFS: TFileStream; + Size: Int64; + AESKey128: TAESKey128; + AESKey192: TAESKey192; + AESKey256: TAESKey256; +begin + SFS := TFileStream.Create(SourceFile, fmOpenRead); + try + DFS := TFileStream.Create(DestFile, fmCreate); + try + Size := SFS.Size; + DFS.WriteBuffer(Size, SizeOf(Size)); + { -- 128 λܳ󳤶Ϊ 16 ַ -- } + if KeyBit = kb128 then + begin + FillChar(AESKey128, SizeOf(AESKey128), 0 ); + Move(PChar(Key)^, AESKey128, Min(SizeOf(AESKey128), Length(Key))); + EncryptAESStreamECB(SFS, 0, AESKey128, DFS); + end; + { -- 192 λܳ󳤶Ϊ 24 ַ -- } + if KeyBit = kb192 then + begin + FillChar(AESKey192, SizeOf(AESKey192), 0 ); + Move(PChar(Key)^, AESKey192, Min(SizeOf(AESKey192), Length(Key))); + EncryptAESStreamECB(SFS, 0, AESKey192, DFS); + end; + { -- 256 λܳ󳤶Ϊ 32 ַ -- } + if KeyBit = kb256 then + begin + FillChar(AESKey256, SizeOf(AESKey256), 0 ); + Move(PChar(Key)^, AESKey256, Min(SizeOf(AESKey256), Length(Key))); + EncryptAESStreamECB(SFS, 0, AESKey256, DFS); + end; + finally + DFS.Free; + end; + finally + SFS.Free; + end; +end; + +{ -- ļܺ Ĭϰ 128 λܳ׽ -- } +procedure DecryptFile(SourceFile, DestFile: string; + Key: string; KeyBit: TKeyBit = kb128); +var + SFS, DFS: TFileStream; + Size: Int64; + AESKey128: TAESKey128; + AESKey192: TAESKey192; + AESKey256: TAESKey256; +begin + SFS := TFileStream.Create(SourceFile, fmOpenRead); + try + SFS.ReadBuffer(Size, SizeOf(Size)); + DFS := TFileStream.Create(DestFile, fmCreate); + try + { -- 128 λܳ󳤶Ϊ 16 ַ -- } + if KeyBit = kb128 then + begin + FillChar(AESKey128, SizeOf(AESKey128), 0 ); + Move(PChar(Key)^, AESKey128, Min(SizeOf(AESKey128), Length(Key))); + DecryptAESStreamECB(SFS, SFS.Size - SFS.Position, AESKey128, DFS); + end; + { -- 192 λܳ󳤶Ϊ 24 ַ -- } + if KeyBit = kb192 then + begin + FillChar(AESKey192, SizeOf(AESKey192), 0 ); + Move(PChar(Key)^, AESKey192, Min(SizeOf(AESKey192), Length(Key))); + DecryptAESStreamECB(SFS, SFS.Size - SFS.Position, AESKey192, DFS); + end; + { -- 256 λܳ󳤶Ϊ 32 ַ -- } + if KeyBit = kb256 then + begin + FillChar(AESKey256, SizeOf(AESKey256), 0 ); + Move(PChar(Key)^, AESKey256, Min(SizeOf(AESKey256), Length(Key))); + DecryptAESStreamECB(SFS, SFS.Size - SFS.Position, AESKey256, DFS); + end; + DFS.Size := Size; + finally + DFS.Free; + end; + finally + SFS.Free; + end; +end; +end. diff --git a/打卷检验管理/ElAES.pas b/打卷检验管理/ElAES.pas new file mode 100644 index 0000000..7a3e6c8 --- /dev/null +++ b/打卷检验管理/ElAES.pas @@ -0,0 +1,2488 @@ +(**************************************************) +(* *) +(* Advanced Encryption Standard (AES) *) +(* *) +(* Copyright (c) 1998-2001 *) +(* EldoS, Alexander Ionov *) +(* *) +(**************************************************) + +unit ElAES; + +interface + +uses + Classes, SysUtils; + +type + EAESError = class(Exception); + + PInteger = ^Integer; + + TAESBuffer = array [0..15] of byte; + TAESKey128 = array [0..15] of byte; + TAESKey192 = array [0..23] of byte; + TAESKey256 = array [0..31] of byte; + TAESExpandedKey128 = array [0..43] of longword; + TAESExpandedKey192 = array [0..53] of longword; + TAESExpandedKey256 = array [0..63] of longword; + + PAESBuffer =^TAESBuffer; + PAESKey128 =^TAESKey128; + PAESKey192 =^TAESKey192; + PAESKey256 =^TAESKey256; + PAESExpandedKey128 =^TAESExpandedKey128; + PAESExpandedKey192 =^TAESExpandedKey192; + PAESExpandedKey256 =^TAESExpandedKey256; + +// Key expansion routines for encryption + +procedure ExpandAESKeyForEncryption(const Key: TAESKey128; + var ExpandedKey: TAESExpandedKey128); overload; +procedure ExpandAESKeyForEncryption(const Key: TAESKey192; + var ExpandedKey: TAESExpandedKey192); overload; +procedure ExpandAESKeyForEncryption(const Key: TAESKey256; + var ExpandedKey: TAESExpandedKey256); overload; + +// Block encryption routines + +procedure EncryptAES(const InBuf: TAESBuffer; const Key: TAESExpandedKey128; + var OutBuf: TAESBuffer); overload; +procedure EncryptAES(const InBuf: TAESBuffer; const Key: TAESExpandedKey192; + var OutBuf: TAESBuffer); overload; +procedure EncryptAES(const InBuf: TAESBuffer; const Key: TAESExpandedKey256; + var OutBuf: TAESBuffer); overload; + +// Stream encryption routines (ECB mode) + +procedure EncryptAESStreamECB(Source: TStream; Count: cardinal; + const Key: TAESKey128; Dest: TStream); overload; +procedure EncryptAESStreamECB(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey128; Dest: TStream); overload; + +procedure EncryptAESStreamECB(Source: TStream; Count: cardinal; + const Key: TAESKey192; Dest: TStream); overload; +procedure EncryptAESStreamECB(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey192; Dest: TStream); overload; + +procedure EncryptAESStreamECB(Source: TStream; Count: cardinal; + const Key: TAESKey256; Dest: TStream); overload; +procedure EncryptAESStreamECB(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey256; Dest: TStream); overload; + +// Stream encryption routines (CBC mode) + +procedure EncryptAESStreamCBC(Source: TStream; Count: cardinal; + const Key: TAESKey128; const InitVector: TAESBuffer; Dest: TStream); overload; +procedure EncryptAESStreamCBC(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey128; const InitVector: TAESBuffer; + Dest: TStream); overload; + +procedure EncryptAESStreamCBC(Source: TStream; Count: cardinal; + const Key: TAESKey192; const InitVector: TAESBuffer; Dest: TStream); overload; +procedure EncryptAESStreamCBC(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey192; const InitVector: TAESBuffer; + Dest: TStream); overload; + +procedure EncryptAESStreamCBC(Source: TStream; Count: cardinal; + const Key: TAESKey256; const InitVector: TAESBuffer; Dest: TStream); overload; +procedure EncryptAESStreamCBC(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey256; const InitVector: TAESBuffer; + Dest: TStream); overload; + +// Key transformation routines for decryption + +procedure ExpandAESKeyForDecryption(var ExpandedKey: TAESExpandedKey128); overload; +procedure ExpandAESKeyForDecryption(const Key: TAESKey128; + var ExpandedKey: TAESExpandedKey128); overload; + +procedure ExpandAESKeyForDecryption(var ExpandedKey: TAESExpandedKey192); overload; +procedure ExpandAESKeyForDecryption(const Key: TAESKey192; + var ExpandedKey: TAESExpandedKey192); overload; + +procedure ExpandAESKeyForDecryption(var ExpandedKey: TAESExpandedKey256); overload; +procedure ExpandAESKeyForDecryption(const Key: TAESKey256; + var ExpandedKey: TAESExpandedKey256); overload; + +// Block decryption routines + +procedure DecryptAES(const InBuf: TAESBuffer; const Key: TAESExpandedKey128; + var OutBuf: TAESBuffer); overload; +procedure DecryptAES(const InBuf: TAESBuffer; const Key: TAESExpandedKey192; + var OutBuf: TAESBuffer); overload; +procedure DecryptAES(const InBuf: TAESBuffer; const Key: TAESExpandedKey256; + var OutBuf: TAESBuffer); overload; + +// Stream decryption routines (ECB mode) + +procedure DecryptAESStreamECB(Source: TStream; Count: cardinal; + const Key: TAESKey128; Dest: TStream); overload; +procedure DecryptAESStreamECB(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey128; Dest: TStream); overload; + +procedure DecryptAESStreamECB(Source: TStream; Count: cardinal; + const Key: TAESKey192; Dest: TStream); overload; +procedure DecryptAESStreamECB(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey192; Dest: TStream); overload; + +procedure DecryptAESStreamECB(Source: TStream; Count: cardinal; + const Key: TAESKey256; Dest: TStream); overload; +procedure DecryptAESStreamECB(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey256; Dest: TStream); overload; + +// Stream decryption routines (CBC mode) + +procedure DecryptAESStreamCBC(Source: TStream; Count: cardinal; + const Key: TAESKey128; const InitVector: TAESBuffer; Dest: TStream); overload; +procedure DecryptAESStreamCBC(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey128; const InitVector: TAESBuffer; + Dest: TStream); overload; + +procedure DecryptAESStreamCBC(Source: TStream; Count: cardinal; + const Key: TAESKey192; const InitVector: TAESBuffer; Dest: TStream); overload; +procedure DecryptAESStreamCBC(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey192; const InitVector: TAESBuffer; + Dest: TStream); overload; + +procedure DecryptAESStreamCBC(Source: TStream; Count: cardinal; + const Key: TAESKey256; const InitVector: TAESBuffer; Dest: TStream); overload; +procedure DecryptAESStreamCBC(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey256; const InitVector: TAESBuffer; + Dest: TStream); overload; + +resourcestring + SInvalidInBufSize = 'Invalid buffer size for decryption'; + SReadError = 'Stream read error'; + SWriteError = 'Stream write error'; + +implementation + +type + PLongWord = ^LongWord; + +function Min(A, B: integer): integer; +begin + if A < B then + Result := A + else + Result := B; +end; + +const + Rcon: array [1..30] of longword = ( + $00000001, $00000002, $00000004, $00000008, $00000010, $00000020, + $00000040, $00000080, $0000001B, $00000036, $0000006C, $000000D8, + $000000AB, $0000004D, $0000009A, $0000002F, $0000005E, $000000BC, + $00000063, $000000C6, $00000097, $00000035, $0000006A, $000000D4, + $000000B3, $0000007D, $000000FA, $000000EF, $000000C5, $00000091 + ); + + ForwardTable: array [0..255] of longword = ( + $A56363C6, $847C7CF8, $997777EE, $8D7B7BF6, $0DF2F2FF, $BD6B6BD6, $B16F6FDE, $54C5C591, + $50303060, $03010102, $A96767CE, $7D2B2B56, $19FEFEE7, $62D7D7B5, $E6ABAB4D, $9A7676EC, + $45CACA8F, $9D82821F, $40C9C989, $877D7DFA, $15FAFAEF, $EB5959B2, $C947478E, $0BF0F0FB, + $ECADAD41, $67D4D4B3, $FDA2A25F, $EAAFAF45, $BF9C9C23, $F7A4A453, $967272E4, $5BC0C09B, + $C2B7B775, $1CFDFDE1, $AE93933D, $6A26264C, $5A36366C, $413F3F7E, $02F7F7F5, $4FCCCC83, + $5C343468, $F4A5A551, $34E5E5D1, $08F1F1F9, $937171E2, $73D8D8AB, $53313162, $3F15152A, + $0C040408, $52C7C795, $65232346, $5EC3C39D, $28181830, $A1969637, $0F05050A, $B59A9A2F, + $0907070E, $36121224, $9B80801B, $3DE2E2DF, $26EBEBCD, $6927274E, $CDB2B27F, $9F7575EA, + $1B090912, $9E83831D, $742C2C58, $2E1A1A34, $2D1B1B36, $B26E6EDC, $EE5A5AB4, $FBA0A05B, + $F65252A4, $4D3B3B76, $61D6D6B7, $CEB3B37D, $7B292952, $3EE3E3DD, $712F2F5E, $97848413, + $F55353A6, $68D1D1B9, $00000000, $2CEDEDC1, $60202040, $1FFCFCE3, $C8B1B179, $ED5B5BB6, + $BE6A6AD4, $46CBCB8D, $D9BEBE67, $4B393972, $DE4A4A94, $D44C4C98, $E85858B0, $4ACFCF85, + $6BD0D0BB, $2AEFEFC5, $E5AAAA4F, $16FBFBED, $C5434386, $D74D4D9A, $55333366, $94858511, + $CF45458A, $10F9F9E9, $06020204, $817F7FFE, $F05050A0, $443C3C78, $BA9F9F25, $E3A8A84B, + $F35151A2, $FEA3A35D, $C0404080, $8A8F8F05, $AD92923F, $BC9D9D21, $48383870, $04F5F5F1, + $DFBCBC63, $C1B6B677, $75DADAAF, $63212142, $30101020, $1AFFFFE5, $0EF3F3FD, $6DD2D2BF, + $4CCDCD81, $140C0C18, $35131326, $2FECECC3, $E15F5FBE, $A2979735, $CC444488, $3917172E, + $57C4C493, $F2A7A755, $827E7EFC, $473D3D7A, $AC6464C8, $E75D5DBA, $2B191932, $957373E6, + $A06060C0, $98818119, $D14F4F9E, $7FDCDCA3, $66222244, $7E2A2A54, $AB90903B, $8388880B, + $CA46468C, $29EEEEC7, $D3B8B86B, $3C141428, $79DEDEA7, $E25E5EBC, $1D0B0B16, $76DBDBAD, + $3BE0E0DB, $56323264, $4E3A3A74, $1E0A0A14, $DB494992, $0A06060C, $6C242448, $E45C5CB8, + $5DC2C29F, $6ED3D3BD, $EFACAC43, $A66262C4, $A8919139, $A4959531, $37E4E4D3, $8B7979F2, + $32E7E7D5, $43C8C88B, $5937376E, $B76D6DDA, $8C8D8D01, $64D5D5B1, $D24E4E9C, $E0A9A949, + $B46C6CD8, $FA5656AC, $07F4F4F3, $25EAEACF, $AF6565CA, $8E7A7AF4, $E9AEAE47, $18080810, + $D5BABA6F, $887878F0, $6F25254A, $722E2E5C, $241C1C38, $F1A6A657, $C7B4B473, $51C6C697, + $23E8E8CB, $7CDDDDA1, $9C7474E8, $211F1F3E, $DD4B4B96, $DCBDBD61, $868B8B0D, $858A8A0F, + $907070E0, $423E3E7C, $C4B5B571, $AA6666CC, $D8484890, $05030306, $01F6F6F7, $120E0E1C, + $A36161C2, $5F35356A, $F95757AE, $D0B9B969, $91868617, $58C1C199, $271D1D3A, $B99E9E27, + $38E1E1D9, $13F8F8EB, $B398982B, $33111122, $BB6969D2, $70D9D9A9, $898E8E07, $A7949433, + $B69B9B2D, $221E1E3C, $92878715, $20E9E9C9, $49CECE87, $FF5555AA, $78282850, $7ADFDFA5, + $8F8C8C03, $F8A1A159, $80898909, $170D0D1A, $DABFBF65, $31E6E6D7, $C6424284, $B86868D0, + $C3414182, $B0999929, $772D2D5A, $110F0F1E, $CBB0B07B, $FC5454A8, $D6BBBB6D, $3A16162C + ); + + LastForwardTable: array [0..255] of longword = ( + $00000063, $0000007C, $00000077, $0000007B, $000000F2, $0000006B, $0000006F, $000000C5, + $00000030, $00000001, $00000067, $0000002B, $000000FE, $000000D7, $000000AB, $00000076, + $000000CA, $00000082, $000000C9, $0000007D, $000000FA, $00000059, $00000047, $000000F0, + $000000AD, $000000D4, $000000A2, $000000AF, $0000009C, $000000A4, $00000072, $000000C0, + $000000B7, $000000FD, $00000093, $00000026, $00000036, $0000003F, $000000F7, $000000CC, + $00000034, $000000A5, $000000E5, $000000F1, $00000071, $000000D8, $00000031, $00000015, + $00000004, $000000C7, $00000023, $000000C3, $00000018, $00000096, $00000005, $0000009A, + $00000007, $00000012, $00000080, $000000E2, $000000EB, $00000027, $000000B2, $00000075, + $00000009, $00000083, $0000002C, $0000001A, $0000001B, $0000006E, $0000005A, $000000A0, + $00000052, $0000003B, $000000D6, $000000B3, $00000029, $000000E3, $0000002F, $00000084, + $00000053, $000000D1, $00000000, $000000ED, $00000020, $000000FC, $000000B1, $0000005B, + $0000006A, $000000CB, $000000BE, $00000039, $0000004A, $0000004C, $00000058, $000000CF, + $000000D0, $000000EF, $000000AA, $000000FB, $00000043, $0000004D, $00000033, $00000085, + $00000045, $000000F9, $00000002, $0000007F, $00000050, $0000003C, $0000009F, $000000A8, + $00000051, $000000A3, $00000040, $0000008F, $00000092, $0000009D, $00000038, $000000F5, + $000000BC, $000000B6, $000000DA, $00000021, $00000010, $000000FF, $000000F3, $000000D2, + $000000CD, $0000000C, $00000013, $000000EC, $0000005F, $00000097, $00000044, $00000017, + $000000C4, $000000A7, $0000007E, $0000003D, $00000064, $0000005D, $00000019, $00000073, + $00000060, $00000081, $0000004F, $000000DC, $00000022, $0000002A, $00000090, $00000088, + $00000046, $000000EE, $000000B8, $00000014, $000000DE, $0000005E, $0000000B, $000000DB, + $000000E0, $00000032, $0000003A, $0000000A, $00000049, $00000006, $00000024, $0000005C, + $000000C2, $000000D3, $000000AC, $00000062, $00000091, $00000095, $000000E4, $00000079, + $000000E7, $000000C8, $00000037, $0000006D, $0000008D, $000000D5, $0000004E, $000000A9, + $0000006C, $00000056, $000000F4, $000000EA, $00000065, $0000007A, $000000AE, $00000008, + $000000BA, $00000078, $00000025, $0000002E, $0000001C, $000000A6, $000000B4, $000000C6, + $000000E8, $000000DD, $00000074, $0000001F, $0000004B, $000000BD, $0000008B, $0000008A, + $00000070, $0000003E, $000000B5, $00000066, $00000048, $00000003, $000000F6, $0000000E, + $00000061, $00000035, $00000057, $000000B9, $00000086, $000000C1, $0000001D, $0000009E, + $000000E1, $000000F8, $00000098, $00000011, $00000069, $000000D9, $0000008E, $00000094, + $0000009B, $0000001E, $00000087, $000000E9, $000000CE, $00000055, $00000028, $000000DF, + $0000008C, $000000A1, $00000089, $0000000D, $000000BF, $000000E6, $00000042, $00000068, + $00000041, $00000099, $0000002D, $0000000F, $000000B0, $00000054, $000000BB, $00000016 + ); + + InverseTable: array [0..255] of longword = ( + $50A7F451, $5365417E, $C3A4171A, $965E273A, $CB6BAB3B, $F1459D1F, $AB58FAAC, $9303E34B, + $55FA3020, $F66D76AD, $9176CC88, $254C02F5, $FCD7E54F, $D7CB2AC5, $80443526, $8FA362B5, + $495AB1DE, $671BBA25, $980EEA45, $E1C0FE5D, $02752FC3, $12F04C81, $A397468D, $C6F9D36B, + $E75F8F03, $959C9215, $EB7A6DBF, $DA595295, $2D83BED4, $D3217458, $2969E049, $44C8C98E, + $6A89C275, $78798EF4, $6B3E5899, $DD71B927, $B64FE1BE, $17AD88F0, $66AC20C9, $B43ACE7D, + $184ADF63, $82311AE5, $60335197, $457F5362, $E07764B1, $84AE6BBB, $1CA081FE, $942B08F9, + $58684870, $19FD458F, $876CDE94, $B7F87B52, $23D373AB, $E2024B72, $578F1FE3, $2AAB5566, + $0728EBB2, $03C2B52F, $9A7BC586, $A50837D3, $F2872830, $B2A5BF23, $BA6A0302, $5C8216ED, + $2B1CCF8A, $92B479A7, $F0F207F3, $A1E2694E, $CDF4DA65, $D5BE0506, $1F6234D1, $8AFEA6C4, + $9D532E34, $A055F3A2, $32E18A05, $75EBF6A4, $39EC830B, $AAEF6040, $069F715E, $51106EBD, + $F98A213E, $3D06DD96, $AE053EDD, $46BDE64D, $B58D5491, $055DC471, $6FD40604, $FF155060, + $24FB9819, $97E9BDD6, $CC434089, $779ED967, $BD42E8B0, $888B8907, $385B19E7, $DBEEC879, + $470A7CA1, $E90F427C, $C91E84F8, $00000000, $83868009, $48ED2B32, $AC70111E, $4E725A6C, + $FBFF0EFD, $5638850F, $1ED5AE3D, $27392D36, $64D90F0A, $21A65C68, $D1545B9B, $3A2E3624, + $B1670A0C, $0FE75793, $D296EEB4, $9E919B1B, $4FC5C080, $A220DC61, $694B775A, $161A121C, + $0ABA93E2, $E52AA0C0, $43E0223C, $1D171B12, $0B0D090E, $ADC78BF2, $B9A8B62D, $C8A91E14, + $8519F157, $4C0775AF, $BBDD99EE, $FD607FA3, $9F2601F7, $BCF5725C, $C53B6644, $347EFB5B, + $7629438B, $DCC623CB, $68FCEDB6, $63F1E4B8, $CADC31D7, $10856342, $40229713, $2011C684, + $7D244A85, $F83DBBD2, $1132F9AE, $6DA129C7, $4B2F9E1D, $F330B2DC, $EC52860D, $D0E3C177, + $6C16B32B, $99B970A9, $FA489411, $2264E947, $C48CFCA8, $1A3FF0A0, $D82C7D56, $EF903322, + $C74E4987, $C1D138D9, $FEA2CA8C, $360BD498, $CF81F5A6, $28DE7AA5, $268EB7DA, $A4BFAD3F, + $E49D3A2C, $0D927850, $9BCC5F6A, $62467E54, $C2138DF6, $E8B8D890, $5EF7392E, $F5AFC382, + $BE805D9F, $7C93D069, $A92DD56F, $B31225CF, $3B99ACC8, $A77D1810, $6E639CE8, $7BBB3BDB, + $097826CD, $F418596E, $01B79AEC, $A89A4F83, $656E95E6, $7EE6FFAA, $08CFBC21, $E6E815EF, + $D99BE7BA, $CE366F4A, $D4099FEA, $D67CB029, $AFB2A431, $31233F2A, $3094A5C6, $C066A235, + $37BC4E74, $A6CA82FC, $B0D090E0, $15D8A733, $4A9804F1, $F7DAEC41, $0E50CD7F, $2FF69117, + $8DD64D76, $4DB0EF43, $544DAACC, $DF0496E4, $E3B5D19E, $1B886A4C, $B81F2CC1, $7F516546, + $04EA5E9D, $5D358C01, $737487FA, $2E410BFB, $5A1D67B3, $52D2DB92, $335610E9, $1347D66D, + $8C61D79A, $7A0CA137, $8E14F859, $893C13EB, $EE27A9CE, $35C961B7, $EDE51CE1, $3CB1477A, + $59DFD29C, $3F73F255, $79CE1418, $BF37C773, $EACDF753, $5BAAFD5F, $146F3DDF, $86DB4478, + $81F3AFCA, $3EC468B9, $2C342438, $5F40A3C2, $72C31D16, $0C25E2BC, $8B493C28, $41950DFF, + $7101A839, $DEB30C08, $9CE4B4D8, $90C15664, $6184CB7B, $70B632D5, $745C6C48, $4257B8D0 + ); + + LastInverseTable: array [0..255] of longword = ( + $00000052, $00000009, $0000006A, $000000D5, $00000030, $00000036, $000000A5, $00000038, + $000000BF, $00000040, $000000A3, $0000009E, $00000081, $000000F3, $000000D7, $000000FB, + $0000007C, $000000E3, $00000039, $00000082, $0000009B, $0000002F, $000000FF, $00000087, + $00000034, $0000008E, $00000043, $00000044, $000000C4, $000000DE, $000000E9, $000000CB, + $00000054, $0000007B, $00000094, $00000032, $000000A6, $000000C2, $00000023, $0000003D, + $000000EE, $0000004C, $00000095, $0000000B, $00000042, $000000FA, $000000C3, $0000004E, + $00000008, $0000002E, $000000A1, $00000066, $00000028, $000000D9, $00000024, $000000B2, + $00000076, $0000005B, $000000A2, $00000049, $0000006D, $0000008B, $000000D1, $00000025, + $00000072, $000000F8, $000000F6, $00000064, $00000086, $00000068, $00000098, $00000016, + $000000D4, $000000A4, $0000005C, $000000CC, $0000005D, $00000065, $000000B6, $00000092, + $0000006C, $00000070, $00000048, $00000050, $000000FD, $000000ED, $000000B9, $000000DA, + $0000005E, $00000015, $00000046, $00000057, $000000A7, $0000008D, $0000009D, $00000084, + $00000090, $000000D8, $000000AB, $00000000, $0000008C, $000000BC, $000000D3, $0000000A, + $000000F7, $000000E4, $00000058, $00000005, $000000B8, $000000B3, $00000045, $00000006, + $000000D0, $0000002C, $0000001E, $0000008F, $000000CA, $0000003F, $0000000F, $00000002, + $000000C1, $000000AF, $000000BD, $00000003, $00000001, $00000013, $0000008A, $0000006B, + $0000003A, $00000091, $00000011, $00000041, $0000004F, $00000067, $000000DC, $000000EA, + $00000097, $000000F2, $000000CF, $000000CE, $000000F0, $000000B4, $000000E6, $00000073, + $00000096, $000000AC, $00000074, $00000022, $000000E7, $000000AD, $00000035, $00000085, + $000000E2, $000000F9, $00000037, $000000E8, $0000001C, $00000075, $000000DF, $0000006E, + $00000047, $000000F1, $0000001A, $00000071, $0000001D, $00000029, $000000C5, $00000089, + $0000006F, $000000B7, $00000062, $0000000E, $000000AA, $00000018, $000000BE, $0000001B, + $000000FC, $00000056, $0000003E, $0000004B, $000000C6, $000000D2, $00000079, $00000020, + $0000009A, $000000DB, $000000C0, $000000FE, $00000078, $000000CD, $0000005A, $000000F4, + $0000001F, $000000DD, $000000A8, $00000033, $00000088, $00000007, $000000C7, $00000031, + $000000B1, $00000012, $00000010, $00000059, $00000027, $00000080, $000000EC, $0000005F, + $00000060, $00000051, $0000007F, $000000A9, $00000019, $000000B5, $0000004A, $0000000D, + $0000002D, $000000E5, $0000007A, $0000009F, $00000093, $000000C9, $0000009C, $000000EF, + $000000A0, $000000E0, $0000003B, $0000004D, $000000AE, $0000002A, $000000F5, $000000B0, + $000000C8, $000000EB, $000000BB, $0000003C, $00000083, $00000053, $00000099, $00000061, + $00000017, $0000002B, $00000004, $0000007E, $000000BA, $00000077, $000000D6, $00000026, + $000000E1, $00000069, $00000014, $00000063, $00000055, $00000021, $0000000C, $0000007D + ); + +procedure ExpandAESKeyForEncryption(const Key: TAESKey128; var ExpandedKey: TAESExpandedKey128); +var + I, J: integer; + T: longword; + W0, W1, W2, W3: longword; +begin + ExpandedKey[0] := PLongWord(@Key[0])^; + ExpandedKey[1] := PLongWord(@Key[4])^; + ExpandedKey[2] := PLongWord(@Key[8])^; + ExpandedKey[3] := PLongWord(@Key[12])^; + I := 0; J := 1; + repeat + T := (ExpandedKey[I + 3] shl 24) or (ExpandedKey[I + 3] shr 8); + W0 := LastForwardTable[Byte(T)]; W1 := LastForwardTable[Byte(T shr 8)]; + W2 := LastForwardTable[Byte(T shr 16)]; W3 := LastForwardTable[Byte(T shr 24)]; + ExpandedKey[I + 4] := ExpandedKey[I] xor + (W0 xor ((W1 shl 8) or (W1 shr 24)) xor + ((W2 shl 16) or (W2 shr 16)) xor ((W3 shl 24) or (W3 shr 8))) xor Rcon[J]; + Inc(J); + ExpandedKey[I + 5] := ExpandedKey[I + 1] xor ExpandedKey[I + 4]; + ExpandedKey[I + 6] := ExpandedKey[I + 2] xor ExpandedKey[I + 5]; + ExpandedKey[I + 7] := ExpandedKey[I + 3] xor ExpandedKey[I + 6]; + Inc(I, 4); + until I >= 40; +end; + +procedure ExpandAESKeyForEncryption(const Key: TAESKey192; var ExpandedKey: TAESExpandedKey192); overload; +var + I, J: integer; + T: longword; + W0, W1, W2, W3: longword; +begin + ExpandedKey[0] := PLongWord(@Key[0])^; + ExpandedKey[1] := PLongWord(@Key[4])^; + ExpandedKey[2] := PLongWord(@Key[8])^; + ExpandedKey[3] := PLongWord(@Key[12])^; + ExpandedKey[4] := PLongWord(@Key[16])^; + ExpandedKey[5] := PLongWord(@Key[20])^; + I := 0; J := 1; + repeat + T := (ExpandedKey[I + 5] shl 24) or (ExpandedKey[I + 5] shr 8); + W0 := LastForwardTable[Byte(T)]; W1 := LastForwardTable[Byte(T shr 8)]; + W2 := LastForwardTable[Byte(T shr 16)]; W3 := LastForwardTable[Byte(T shr 24)]; + ExpandedKey[I + 6] := ExpandedKey[I] xor + (W0 xor ((W1 shl 8) or (W1 shr 24)) xor + ((W2 shl 16) or (W2 shr 16)) xor ((W3 shl 24) or (W3 shr 8))) xor Rcon[J]; + Inc(J); + ExpandedKey[I + 7] := ExpandedKey[I + 1] xor ExpandedKey[I + 6]; + ExpandedKey[I + 8] := ExpandedKey[I + 2] xor ExpandedKey[I + 7]; + ExpandedKey[I + 9] := ExpandedKey[I + 3] xor ExpandedKey[I + 8]; + ExpandedKey[I + 10] := ExpandedKey[I + 4] xor ExpandedKey[I + 9]; + ExpandedKey[I + 11] := ExpandedKey[I + 5] xor ExpandedKey[I + 10]; + Inc(I, 6); + until I >= 46; +end; + +procedure ExpandAESKeyForEncryption(const Key: TAESKey256; var ExpandedKey: TAESExpandedKey256); overload; +var + I, J: integer; + T: longword; + W0, W1, W2, W3: longword; +begin + ExpandedKey[0] := PLongWord(@Key[0])^; + ExpandedKey[1] := PLongWord(@Key[4])^; + ExpandedKey[2] := PLongWord(@Key[8])^; + ExpandedKey[3] := PLongWord(@Key[12])^; + ExpandedKey[4] := PLongWord(@Key[16])^; + ExpandedKey[5] := PLongWord(@Key[20])^; + ExpandedKey[6] := PLongWord(@Key[24])^; + ExpandedKey[7] := PLongWord(@Key[28])^; + I := 0; J := 1; + repeat + T := (ExpandedKey[I + 7] shl 24) or (ExpandedKey[I + 7] shr 8); + W0 := LastForwardTable[Byte(T)]; W1 := LastForwardTable[Byte(T shr 8)]; + W2 := LastForwardTable[Byte(T shr 16)]; W3 := LastForwardTable[Byte(T shr 24)]; + ExpandedKey[I + 8] := ExpandedKey[I] xor + (W0 xor ((W1 shl 8) or (W1 shr 24)) xor + ((W2 shl 16) or (W2 shr 16)) xor ((W3 shl 24) or (W3 shr 8))) xor Rcon[J]; + Inc(J); + ExpandedKey[I + 9] := ExpandedKey[I + 1] xor ExpandedKey[I + 8]; + ExpandedKey[I + 10] := ExpandedKey[I + 2] xor ExpandedKey[I + 9]; + ExpandedKey[I + 11] := ExpandedKey[I + 3] xor ExpandedKey[I + 10]; + W0 := LastForwardTable[Byte(ExpandedKey[I + 11])]; + W1 := LastForwardTable[Byte(ExpandedKey[I + 11] shr 8)]; + W2 := LastForwardTable[Byte(ExpandedKey[I + 11] shr 16)]; + W3 := LastForwardTable[Byte(ExpandedKey[I + 11] shr 24)]; + ExpandedKey[I + 12] := ExpandedKey[I + 4] xor + (W0 xor ((W1 shl 8) or (W1 shr 24)) xor + ((W2 shl 16) or (W2 shr 16)) xor ((W3 shl 24) or (W3 shr 8))); + ExpandedKey[I + 13] := ExpandedKey[I + 5] xor ExpandedKey[I + 12]; + ExpandedKey[I + 14] := ExpandedKey[I + 6] xor ExpandedKey[I + 13]; + ExpandedKey[I + 15] := ExpandedKey[I + 7] xor ExpandedKey[I + 14]; + Inc(I, 8); + until I >= 52; +end; + +procedure EncryptAES(const InBuf: TAESBuffer; const Key: TAESExpandedKey128; + var OutBuf: TAESBuffer); +var + T0, T1: array [0..3] of longword; + W0, W1, W2, W3: longword; +begin + // initializing + T0[0] := PLongWord(@InBuf[0])^ xor Key[0]; + T0[1] := PLongWord(@InBuf[4])^ xor Key[1]; + T0[2] := PLongWord(@InBuf[8])^ xor Key[2]; + T0[3] := PLongWord(@InBuf[12])^ xor Key[3]; + // performing transformation 9 times + // round 1 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[4]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[5]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[6]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[7]; + // round 2 + W0 := ForwardTable[Byte(T1[0])]; W1 := ForwardTable[Byte(T1[1] shr 8)]; + W2 := ForwardTable[Byte(T1[2] shr 16)]; W3 := ForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[8]; + W0 := ForwardTable[Byte(T1[1])]; W1 := ForwardTable[Byte(T1[2] shr 8)]; + W2 := ForwardTable[Byte(T1[3] shr 16)]; W3 := ForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[9]; + W0 := ForwardTable[Byte(T1[2])]; W1 := ForwardTable[Byte(T1[3] shr 8)]; + W2 := ForwardTable[Byte(T1[0] shr 16)]; W3 := ForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[10]; + W0 := ForwardTable[Byte(T1[3])]; W1 := ForwardTable[Byte(T1[0] shr 8)]; + W2 := ForwardTable[Byte(T1[1] shr 16)]; W3 := ForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[11]; + // round 3 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[12]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[13]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[14]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[15]; + // round 4 + W0 := ForwardTable[Byte(T1[0])]; W1 := ForwardTable[Byte(T1[1] shr 8)]; + W2 := ForwardTable[Byte(T1[2] shr 16)]; W3 := ForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[16]; + W0 := ForwardTable[Byte(T1[1])]; W1 := ForwardTable[Byte(T1[2] shr 8)]; + W2 := ForwardTable[Byte(T1[3] shr 16)]; W3 := ForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[17]; + W0 := ForwardTable[Byte(T1[2])]; W1 := ForwardTable[Byte(T1[3] shr 8)]; + W2 := ForwardTable[Byte(T1[0] shr 16)]; W3 := ForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[18]; + W0 := ForwardTable[Byte(T1[3])]; W1 := ForwardTable[Byte(T1[0] shr 8)]; + W2 := ForwardTable[Byte(T1[1] shr 16)]; W3 := ForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[19]; + // round 5 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[20]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[21]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[22]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[23]; + // round 6 + W0 := ForwardTable[Byte(T1[0])]; W1 := ForwardTable[Byte(T1[1] shr 8)]; + W2 := ForwardTable[Byte(T1[2] shr 16)]; W3 := ForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[24]; + W0 := ForwardTable[Byte(T1[1])]; W1 := ForwardTable[Byte(T1[2] shr 8)]; + W2 := ForwardTable[Byte(T1[3] shr 16)]; W3 := ForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[25]; + W0 := ForwardTable[Byte(T1[2])]; W1 := ForwardTable[Byte(T1[3] shr 8)]; + W2 := ForwardTable[Byte(T1[0] shr 16)]; W3 := ForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[26]; + W0 := ForwardTable[Byte(T1[3])]; W1 := ForwardTable[Byte(T1[0] shr 8)]; + W2 := ForwardTable[Byte(T1[1] shr 16)]; W3 := ForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[27]; + // round 7 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[28]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[29]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[30]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[31]; + // round 8 + W0 := ForwardTable[Byte(T1[0])]; W1 := ForwardTable[Byte(T1[1] shr 8)]; + W2 := ForwardTable[Byte(T1[2] shr 16)]; W3 := ForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[32]; + W0 := ForwardTable[Byte(T1[1])]; W1 := ForwardTable[Byte(T1[2] shr 8)]; + W2 := ForwardTable[Byte(T1[3] shr 16)]; W3 := ForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[33]; + W0 := ForwardTable[Byte(T1[2])]; W1 := ForwardTable[Byte(T1[3] shr 8)]; + W2 := ForwardTable[Byte(T1[0] shr 16)]; W3 := ForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[34]; + W0 := ForwardTable[Byte(T1[3])]; W1 := ForwardTable[Byte(T1[0] shr 8)]; + W2 := ForwardTable[Byte(T1[1] shr 16)]; W3 := ForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[35]; + // round 9 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[36]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[37]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[38]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[39]; + // last round of transformations + W0 := LastForwardTable[Byte(T1[0])]; W1 := LastForwardTable[Byte(T1[1] shr 8)]; + W2 := LastForwardTable[Byte(T1[2] shr 16)]; W3 := LastForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[40]; + W0 := LastForwardTable[Byte(T1[1])]; W1 := LastForwardTable[Byte(T1[2] shr 8)]; + W2 := LastForwardTable[Byte(T1[3] shr 16)]; W3 := LastForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[41]; + W0 := LastForwardTable[Byte(T1[2])]; W1 := LastForwardTable[Byte(T1[3] shr 8)]; + W2 := LastForwardTable[Byte(T1[0] shr 16)]; W3 := LastForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[42]; + W0 := LastForwardTable[Byte(T1[3])]; W1 := LastForwardTable[Byte(T1[0] shr 8)]; + W2 := LastForwardTable[Byte(T1[1] shr 16)]; W3 := LastForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[43]; + // finalizing + PLongWord(@OutBuf[0])^ := T0[0]; PLongWord(@OutBuf[4])^ := T0[1]; + PLongWord(@OutBuf[8])^ := T0[2]; PLongWord(@OutBuf[12])^ := T0[3]; +end; + +procedure EncryptAES(const InBuf: TAESBuffer; const Key: TAESExpandedKey192; + var OutBuf: TAESBuffer); +var + T0, T1: array [0..3] of longword; + W0, W1, W2, W3: longword; +begin + // initializing + T0[0] := PLongWord(@InBuf[0])^ xor Key[0]; + T0[1] := PLongWord(@InBuf[4])^ xor Key[1]; + T0[2] := PLongWord(@InBuf[8])^ xor Key[2]; + T0[3] := PLongWord(@InBuf[12])^ xor Key[3]; + // performing transformation 11 times + // round 1 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[4]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[5]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[6]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[7]; + // round 2 + W0 := ForwardTable[Byte(T1[0])]; W1 := ForwardTable[Byte(T1[1] shr 8)]; + W2 := ForwardTable[Byte(T1[2] shr 16)]; W3 := ForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[8]; + W0 := ForwardTable[Byte(T1[1])]; W1 := ForwardTable[Byte(T1[2] shr 8)]; + W2 := ForwardTable[Byte(T1[3] shr 16)]; W3 := ForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[9]; + W0 := ForwardTable[Byte(T1[2])]; W1 := ForwardTable[Byte(T1[3] shr 8)]; + W2 := ForwardTable[Byte(T1[0] shr 16)]; W3 := ForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[10]; + W0 := ForwardTable[Byte(T1[3])]; W1 := ForwardTable[Byte(T1[0] shr 8)]; + W2 := ForwardTable[Byte(T1[1] shr 16)]; W3 := ForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[11]; + // round 3 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[12]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[13]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[14]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[15]; + // round 4 + W0 := ForwardTable[Byte(T1[0])]; W1 := ForwardTable[Byte(T1[1] shr 8)]; + W2 := ForwardTable[Byte(T1[2] shr 16)]; W3 := ForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[16]; + W0 := ForwardTable[Byte(T1[1])]; W1 := ForwardTable[Byte(T1[2] shr 8)]; + W2 := ForwardTable[Byte(T1[3] shr 16)]; W3 := ForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[17]; + W0 := ForwardTable[Byte(T1[2])]; W1 := ForwardTable[Byte(T1[3] shr 8)]; + W2 := ForwardTable[Byte(T1[0] shr 16)]; W3 := ForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[18]; + W0 := ForwardTable[Byte(T1[3])]; W1 := ForwardTable[Byte(T1[0] shr 8)]; + W2 := ForwardTable[Byte(T1[1] shr 16)]; W3 := ForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[19]; + // round 5 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[20]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[21]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[22]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[23]; + // round 6 + W0 := ForwardTable[Byte(T1[0])]; W1 := ForwardTable[Byte(T1[1] shr 8)]; + W2 := ForwardTable[Byte(T1[2] shr 16)]; W3 := ForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[24]; + W0 := ForwardTable[Byte(T1[1])]; W1 := ForwardTable[Byte(T1[2] shr 8)]; + W2 := ForwardTable[Byte(T1[3] shr 16)]; W3 := ForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[25]; + W0 := ForwardTable[Byte(T1[2])]; W1 := ForwardTable[Byte(T1[3] shr 8)]; + W2 := ForwardTable[Byte(T1[0] shr 16)]; W3 := ForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[26]; + W0 := ForwardTable[Byte(T1[3])]; W1 := ForwardTable[Byte(T1[0] shr 8)]; + W2 := ForwardTable[Byte(T1[1] shr 16)]; W3 := ForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[27]; + // round 7 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[28]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[29]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[30]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[31]; + // round 8 + W0 := ForwardTable[Byte(T1[0])]; W1 := ForwardTable[Byte(T1[1] shr 8)]; + W2 := ForwardTable[Byte(T1[2] shr 16)]; W3 := ForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[32]; + W0 := ForwardTable[Byte(T1[1])]; W1 := ForwardTable[Byte(T1[2] shr 8)]; + W2 := ForwardTable[Byte(T1[3] shr 16)]; W3 := ForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[33]; + W0 := ForwardTable[Byte(T1[2])]; W1 := ForwardTable[Byte(T1[3] shr 8)]; + W2 := ForwardTable[Byte(T1[0] shr 16)]; W3 := ForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[34]; + W0 := ForwardTable[Byte(T1[3])]; W1 := ForwardTable[Byte(T1[0] shr 8)]; + W2 := ForwardTable[Byte(T1[1] shr 16)]; W3 := ForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[35]; + // round 9 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[36]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[37]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[38]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[39]; + // round 10 + W0 := ForwardTable[Byte(T1[0])]; W1 := ForwardTable[Byte(T1[1] shr 8)]; + W2 := ForwardTable[Byte(T1[2] shr 16)]; W3 := ForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[40]; + W0 := ForwardTable[Byte(T1[1])]; W1 := ForwardTable[Byte(T1[2] shr 8)]; + W2 := ForwardTable[Byte(T1[3] shr 16)]; W3 := ForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[41]; + W0 := ForwardTable[Byte(T1[2])]; W1 := ForwardTable[Byte(T1[3] shr 8)]; + W2 := ForwardTable[Byte(T1[0] shr 16)]; W3 := ForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[42]; + W0 := ForwardTable[Byte(T1[3])]; W1 := ForwardTable[Byte(T1[0] shr 8)]; + W2 := ForwardTable[Byte(T1[1] shr 16)]; W3 := ForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[43]; + // round 11 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[44]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[45]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[46]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[47]; + // last round of transformations + W0 := LastForwardTable[Byte(T1[0])]; W1 := LastForwardTable[Byte(T1[1] shr 8)]; + W2 := LastForwardTable[Byte(T1[2] shr 16)]; W3 := LastForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[48]; + W0 := LastForwardTable[Byte(T1[1])]; W1 := LastForwardTable[Byte(T1[2] shr 8)]; + W2 := LastForwardTable[Byte(T1[3] shr 16)]; W3 := LastForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[49]; + W0 := LastForwardTable[Byte(T1[2])]; W1 := LastForwardTable[Byte(T1[3] shr 8)]; + W2 := LastForwardTable[Byte(T1[0] shr 16)]; W3 := LastForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[50]; + W0 := LastForwardTable[Byte(T1[3])]; W1 := LastForwardTable[Byte(T1[0] shr 8)]; + W2 := LastForwardTable[Byte(T1[1] shr 16)]; W3 := LastForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[51]; + // finalizing + PLongWord(@OutBuf[0])^ := T0[0]; PLongWord(@OutBuf[4])^ := T0[1]; + PLongWord(@OutBuf[8])^ := T0[2]; PLongWord(@OutBuf[12])^ := T0[3]; +end; + +procedure EncryptAES(const InBuf: TAESBuffer; const Key: TAESExpandedKey256; + var OutBuf: TAESBuffer); +var + T0, T1: array [0..3] of longword; + W0, W1, W2, W3: longword; +begin + // initializing + T0[0] := PLongWord(@InBuf[0])^ xor Key[0]; + T0[1] := PLongWord(@InBuf[4])^ xor Key[1]; + T0[2] := PLongWord(@InBuf[8])^ xor Key[2]; + T0[3] := PLongWord(@InBuf[12])^ xor Key[3]; + // performing transformation 13 times + // round 1 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[4]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[5]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[6]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[7]; + // round 2 + W0 := ForwardTable[Byte(T1[0])]; W1 := ForwardTable[Byte(T1[1] shr 8)]; + W2 := ForwardTable[Byte(T1[2] shr 16)]; W3 := ForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[8]; + W0 := ForwardTable[Byte(T1[1])]; W1 := ForwardTable[Byte(T1[2] shr 8)]; + W2 := ForwardTable[Byte(T1[3] shr 16)]; W3 := ForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[9]; + W0 := ForwardTable[Byte(T1[2])]; W1 := ForwardTable[Byte(T1[3] shr 8)]; + W2 := ForwardTable[Byte(T1[0] shr 16)]; W3 := ForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[10]; + W0 := ForwardTable[Byte(T1[3])]; W1 := ForwardTable[Byte(T1[0] shr 8)]; + W2 := ForwardTable[Byte(T1[1] shr 16)]; W3 := ForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[11]; + // round 3 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[12]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[13]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[14]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[15]; + // round 4 + W0 := ForwardTable[Byte(T1[0])]; W1 := ForwardTable[Byte(T1[1] shr 8)]; + W2 := ForwardTable[Byte(T1[2] shr 16)]; W3 := ForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[16]; + W0 := ForwardTable[Byte(T1[1])]; W1 := ForwardTable[Byte(T1[2] shr 8)]; + W2 := ForwardTable[Byte(T1[3] shr 16)]; W3 := ForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[17]; + W0 := ForwardTable[Byte(T1[2])]; W1 := ForwardTable[Byte(T1[3] shr 8)]; + W2 := ForwardTable[Byte(T1[0] shr 16)]; W3 := ForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[18]; + W0 := ForwardTable[Byte(T1[3])]; W1 := ForwardTable[Byte(T1[0] shr 8)]; + W2 := ForwardTable[Byte(T1[1] shr 16)]; W3 := ForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[19]; + // round 5 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[20]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[21]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[22]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[23]; + // round 6 + W0 := ForwardTable[Byte(T1[0])]; W1 := ForwardTable[Byte(T1[1] shr 8)]; + W2 := ForwardTable[Byte(T1[2] shr 16)]; W3 := ForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[24]; + W0 := ForwardTable[Byte(T1[1])]; W1 := ForwardTable[Byte(T1[2] shr 8)]; + W2 := ForwardTable[Byte(T1[3] shr 16)]; W3 := ForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[25]; + W0 := ForwardTable[Byte(T1[2])]; W1 := ForwardTable[Byte(T1[3] shr 8)]; + W2 := ForwardTable[Byte(T1[0] shr 16)]; W3 := ForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[26]; + W0 := ForwardTable[Byte(T1[3])]; W1 := ForwardTable[Byte(T1[0] shr 8)]; + W2 := ForwardTable[Byte(T1[1] shr 16)]; W3 := ForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[27]; + // round 7 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[28]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[29]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[30]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[31]; + // round 8 + W0 := ForwardTable[Byte(T1[0])]; W1 := ForwardTable[Byte(T1[1] shr 8)]; + W2 := ForwardTable[Byte(T1[2] shr 16)]; W3 := ForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[32]; + W0 := ForwardTable[Byte(T1[1])]; W1 := ForwardTable[Byte(T1[2] shr 8)]; + W2 := ForwardTable[Byte(T1[3] shr 16)]; W3 := ForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[33]; + W0 := ForwardTable[Byte(T1[2])]; W1 := ForwardTable[Byte(T1[3] shr 8)]; + W2 := ForwardTable[Byte(T1[0] shr 16)]; W3 := ForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[34]; + W0 := ForwardTable[Byte(T1[3])]; W1 := ForwardTable[Byte(T1[0] shr 8)]; + W2 := ForwardTable[Byte(T1[1] shr 16)]; W3 := ForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[35]; + // round 9 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[36]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[37]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[38]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[39]; + // round 10 + W0 := ForwardTable[Byte(T1[0])]; W1 := ForwardTable[Byte(T1[1] shr 8)]; + W2 := ForwardTable[Byte(T1[2] shr 16)]; W3 := ForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[40]; + W0 := ForwardTable[Byte(T1[1])]; W1 := ForwardTable[Byte(T1[2] shr 8)]; + W2 := ForwardTable[Byte(T1[3] shr 16)]; W3 := ForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[41]; + W0 := ForwardTable[Byte(T1[2])]; W1 := ForwardTable[Byte(T1[3] shr 8)]; + W2 := ForwardTable[Byte(T1[0] shr 16)]; W3 := ForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[42]; + W0 := ForwardTable[Byte(T1[3])]; W1 := ForwardTable[Byte(T1[0] shr 8)]; + W2 := ForwardTable[Byte(T1[1] shr 16)]; W3 := ForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[43]; + // round 11 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[44]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[45]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[46]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[47]; + // round 12 + W0 := ForwardTable[Byte(T1[0])]; W1 := ForwardTable[Byte(T1[1] shr 8)]; + W2 := ForwardTable[Byte(T1[2] shr 16)]; W3 := ForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[48]; + W0 := ForwardTable[Byte(T1[1])]; W1 := ForwardTable[Byte(T1[2] shr 8)]; + W2 := ForwardTable[Byte(T1[3] shr 16)]; W3 := ForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[49]; + W0 := ForwardTable[Byte(T1[2])]; W1 := ForwardTable[Byte(T1[3] shr 8)]; + W2 := ForwardTable[Byte(T1[0] shr 16)]; W3 := ForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[50]; + W0 := ForwardTable[Byte(T1[3])]; W1 := ForwardTable[Byte(T1[0] shr 8)]; + W2 := ForwardTable[Byte(T1[1] shr 16)]; W3 := ForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[51]; + // round 13 + W0 := ForwardTable[Byte(T0[0])]; W1 := ForwardTable[Byte(T0[1] shr 8)]; + W2 := ForwardTable[Byte(T0[2] shr 16)]; W3 := ForwardTable[Byte(T0[3] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[52]; + W0 := ForwardTable[Byte(T0[1])]; W1 := ForwardTable[Byte(T0[2] shr 8)]; + W2 := ForwardTable[Byte(T0[3] shr 16)]; W3 := ForwardTable[Byte(T0[0] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[53]; + W0 := ForwardTable[Byte(T0[2])]; W1 := ForwardTable[Byte(T0[3] shr 8)]; + W2 := ForwardTable[Byte(T0[0] shr 16)]; W3 := ForwardTable[Byte(T0[1] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[54]; + W0 := ForwardTable[Byte(T0[3])]; W1 := ForwardTable[Byte(T0[0] shr 8)]; + W2 := ForwardTable[Byte(T0[1] shr 16)]; W3 := ForwardTable[Byte(T0[2] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[55]; + // last round of transformations + W0 := LastForwardTable[Byte(T1[0])]; W1 := LastForwardTable[Byte(T1[1] shr 8)]; + W2 := LastForwardTable[Byte(T1[2] shr 16)]; W3 := LastForwardTable[Byte(T1[3] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[56]; + W0 := LastForwardTable[Byte(T1[1])]; W1 := LastForwardTable[Byte(T1[2] shr 8)]; + W2 := LastForwardTable[Byte(T1[3] shr 16)]; W3 := LastForwardTable[Byte(T1[0] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[57]; + W0 := LastForwardTable[Byte(T1[2])]; W1 := LastForwardTable[Byte(T1[3] shr 8)]; + W2 := LastForwardTable[Byte(T1[0] shr 16)]; W3 := LastForwardTable[Byte(T1[1] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[58]; + W0 := LastForwardTable[Byte(T1[3])]; W1 := LastForwardTable[Byte(T1[0] shr 8)]; + W2 := LastForwardTable[Byte(T1[1] shr 16)]; W3 := LastForwardTable[Byte(T1[2] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[59]; + // finalizing + PLongWord(@OutBuf[0])^ := T0[0]; PLongWord(@OutBuf[4])^ := T0[1]; + PLongWord(@OutBuf[8])^ := T0[2]; PLongWord(@OutBuf[12])^ := T0[3]; +end; + +procedure ExpandAESKeyForDecryption(var ExpandedKey: TAESExpandedKey128); +var + I: integer; + U, F2, F4, F8, F9: longword; +begin + for I := 1 to 9 do + begin + F9 := ExpandedKey[I * 4]; + U := F9 and $80808080; + F2 := ((F9 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F2 and $80808080; + F4 := ((F2 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F4 and $80808080; + F8 := ((F4 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + F9 := F9 xor F8; + ExpandedKey[I * 4] := F2 xor F4 xor F8 xor + (((F2 xor F9) shl 24) or ((F2 xor F9) shr 8)) xor + (((F4 xor F9) shl 16) or ((F4 xor F9) shr 16)) xor ((F9 shl 8) or (F9 shr 24)); + F9 := ExpandedKey[I * 4 + 1]; + U := F9 and $80808080; + F2 := ((F9 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F2 and $80808080; + F4 := ((F2 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F4 and $80808080; + F8 := ((F4 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + F9 := F9 xor F8; + ExpandedKey[I * 4 + 1] := F2 xor F4 xor F8 xor + (((F2 xor F9) shl 24) or ((F2 xor F9) shr 8)) xor + (((F4 xor F9) shl 16) or ((F4 xor F9) shr 16)) xor ((F9 shl 8) or (F9 shr 24)); + F9 := ExpandedKey[I * 4 + 2]; + U := F9 and $80808080; + F2 := ((F9 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F2 and $80808080; + F4 := ((F2 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F4 and $80808080; + F8 := ((F4 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + F9 := F9 xor F8; + ExpandedKey[I * 4 + 2] := F2 xor F4 xor F8 xor + (((F2 xor F9) shl 24) or ((F2 xor F9) shr 8)) xor + (((F4 xor F9) shl 16) or ((F4 xor F9) shr 16)) xor ((F9 shl 8) or (F9 shr 24)); + F9 := ExpandedKey[I * 4 + 3]; + U := F9 and $80808080; + F2 := ((F9 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F2 and $80808080; + F4 := ((F2 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F4 and $80808080; + F8 := ((F4 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + F9 := F9 xor F8; + ExpandedKey[I * 4 + 3] := F2 xor F4 xor F8 xor + (((F2 xor F9) shl 24) or ((F2 xor F9) shr 8)) xor + (((F4 xor F9) shl 16) or ((F4 xor F9) shr 16)) xor ((F9 shl 8) or (F9 shr 24)); + end; +end; + +procedure ExpandAESKeyForDecryption(const Key: TAESKey128; var ExpandedKey: TAESExpandedKey128); +begin + ExpandAESKeyForEncryption(Key, ExpandedKey); + ExpandAESKeyForDecryption(ExpandedKey); +end; + +procedure ExpandAESKeyForDecryption(var ExpandedKey: TAESExpandedKey192); +var + I: integer; + U, F2, F4, F8, F9: longword; +begin + for I := 1 to 11 do + begin + F9 := ExpandedKey[I * 4]; + U := F9 and $80808080; + F2 := ((F9 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F2 and $80808080; + F4 := ((F2 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F4 and $80808080; + F8 := ((F4 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + F9 := F9 xor F8; + ExpandedKey[I * 4] := F2 xor F4 xor F8 xor + (((F2 xor F9) shl 24) or ((F2 xor F9) shr 8)) xor + (((F4 xor F9) shl 16) or ((F4 xor F9) shr 16)) xor ((F9 shl 8) or (F9 shr 24)); + F9 := ExpandedKey[I * 4 + 1]; + U := F9 and $80808080; + F2 := ((F9 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F2 and $80808080; + F4 := ((F2 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F4 and $80808080; + F8 := ((F4 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + F9 := F9 xor F8; + ExpandedKey[I * 4 + 1] := F2 xor F4 xor F8 xor + (((F2 xor F9) shl 24) or ((F2 xor F9) shr 8)) xor + (((F4 xor F9) shl 16) or ((F4 xor F9) shr 16)) xor ((F9 shl 8) or (F9 shr 24)); + F9 := ExpandedKey[I * 4 + 2]; + U := F9 and $80808080; + F2 := ((F9 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F2 and $80808080; + F4 := ((F2 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F4 and $80808080; + F8 := ((F4 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + F9 := F9 xor F8; + ExpandedKey[I * 4 + 2] := F2 xor F4 xor F8 xor + (((F2 xor F9) shl 24) or ((F2 xor F9) shr 8)) xor + (((F4 xor F9) shl 16) or ((F4 xor F9) shr 16)) xor ((F9 shl 8) or (F9 shr 24)); + F9 := ExpandedKey[I * 4 + 3]; + U := F9 and $80808080; + F2 := ((F9 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F2 and $80808080; + F4 := ((F2 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F4 and $80808080; + F8 := ((F4 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + F9 := F9 xor F8; + ExpandedKey[I * 4 + 3] := F2 xor F4 xor F8 xor + (((F2 xor F9) shl 24) or ((F2 xor F9) shr 8)) xor + (((F4 xor F9) shl 16) or ((F4 xor F9) shr 16)) xor ((F9 shl 8) or (F9 shr 24)); + end; +end; + +procedure ExpandAESKeyForDecryption(const Key: TAESKey192; var ExpandedKey: TAESExpandedKey192); +begin + ExpandAESKeyForEncryption(Key, ExpandedKey); + ExpandAESKeyForDecryption(ExpandedKey); +end; + +procedure ExpandAESKeyForDecryption(var ExpandedKey: TAESExpandedKey256); +var + I: integer; + U, F2, F4, F8, F9: longword; +begin + for I := 1 to 13 do + begin + F9 := ExpandedKey[I * 4]; + U := F9 and $80808080; + F2 := ((F9 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F2 and $80808080; + F4 := ((F2 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F4 and $80808080; + F8 := ((F4 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + F9 := F9 xor F8; + ExpandedKey[I * 4] := F2 xor F4 xor F8 xor + (((F2 xor F9) shl 24) or ((F2 xor F9) shr 8)) xor + (((F4 xor F9) shl 16) or ((F4 xor F9) shr 16)) xor ((F9 shl 8) or (F9 shr 24)); + F9 := ExpandedKey[I * 4 + 1]; + U := F9 and $80808080; + F2 := ((F9 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F2 and $80808080; + F4 := ((F2 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F4 and $80808080; + F8 := ((F4 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + F9 := F9 xor F8; + ExpandedKey[I * 4 + 1] := F2 xor F4 xor F8 xor + (((F2 xor F9) shl 24) or ((F2 xor F9) shr 8)) xor + (((F4 xor F9) shl 16) or ((F4 xor F9) shr 16)) xor ((F9 shl 8) or (F9 shr 24)); + F9 := ExpandedKey[I * 4 + 2]; + U := F9 and $80808080; + F2 := ((F9 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F2 and $80808080; + F4 := ((F2 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F4 and $80808080; + F8 := ((F4 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + F9 := F9 xor F8; + ExpandedKey[I * 4 + 2] := F2 xor F4 xor F8 xor + (((F2 xor F9) shl 24) or ((F2 xor F9) shr 8)) xor + (((F4 xor F9) shl 16) or ((F4 xor F9) shr 16)) xor ((F9 shl 8) or (F9 shr 24)); + F9 := ExpandedKey[I * 4 + 3]; + U := F9 and $80808080; + F2 := ((F9 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F2 and $80808080; + F4 := ((F2 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + U := F4 and $80808080; + F8 := ((F4 and $7F7F7F7F) shl 1) xor ((U - (U shr 7)) and $1B1B1B1B); + F9 := F9 xor F8; + ExpandedKey[I * 4 + 3] := F2 xor F4 xor F8 xor + (((F2 xor F9) shl 24) or ((F2 xor F9) shr 8)) xor + (((F4 xor F9) shl 16) or ((F4 xor F9) shr 16)) xor ((F9 shl 8) or (F9 shr 24)); + end; +end; + +procedure ExpandAESKeyForDecryption(const Key: TAESKey256; var ExpandedKey: TAESExpandedKey256); +begin + ExpandAESKeyForEncryption(Key, ExpandedKey); + ExpandAESKeyForDecryption(ExpandedKey); +end; + +procedure DecryptAES(const InBuf: TAESBuffer; const Key: TAESExpandedKey128; + var OutBuf: TAESBuffer); +var + T0, T1: array [0..3] of longword; + W0, W1, W2, W3: longword; +begin + // initializing + T0[0] := PLongWord(@InBuf[0])^ xor Key[40]; + T0[1] := PLongWord(@InBuf[4])^ xor Key[41]; + T0[2] := PLongWord(@InBuf[8])^ xor Key[42]; + T0[3] := PLongWord(@InBuf[12])^ xor Key[43]; + // performing transformations 9 times + // round 1 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[36]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[37]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[38]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[39]; + // round 2 + W0 := InverseTable[Byte(T1[0])]; W1 := InverseTable[Byte(T1[3] shr 8)]; + W2 := InverseTable[Byte(T1[2] shr 16)]; W3 := InverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[32]; + W0 := InverseTable[Byte(T1[1])]; W1 := InverseTable[Byte(T1[0] shr 8)]; + W2 := InverseTable[Byte(T1[3] shr 16)]; W3 := InverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[33]; + W0 := InverseTable[Byte(T1[2])]; W1 := InverseTable[Byte(T1[1] shr 8)]; + W2 := InverseTable[Byte(T1[0] shr 16)]; W3 := InverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[34]; + W0 := InverseTable[Byte(T1[3])]; W1 := InverseTable[Byte(T1[2] shr 8)]; + W2 := InverseTable[Byte(T1[1] shr 16)]; W3 := InverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[35]; + // round 3 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[28]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[29]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[30]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[31]; + // round 4 + W0 := InverseTable[Byte(T1[0])]; W1 := InverseTable[Byte(T1[3] shr 8)]; + W2 := InverseTable[Byte(T1[2] shr 16)]; W3 := InverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[24]; + W0 := InverseTable[Byte(T1[1])]; W1 := InverseTable[Byte(T1[0] shr 8)]; + W2 := InverseTable[Byte(T1[3] shr 16)]; W3 := InverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[25]; + W0 := InverseTable[Byte(T1[2])]; W1 := InverseTable[Byte(T1[1] shr 8)]; + W2 := InverseTable[Byte(T1[0] shr 16)]; W3 := InverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[26]; + W0 := InverseTable[Byte(T1[3])]; W1 := InverseTable[Byte(T1[2] shr 8)]; + W2 := InverseTable[Byte(T1[1] shr 16)]; W3 := InverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[27]; + // round 5 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[20]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[21]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[22]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[23]; + // round 6 + W0 := InverseTable[Byte(T1[0])]; W1 := InverseTable[Byte(T1[3] shr 8)]; + W2 := InverseTable[Byte(T1[2] shr 16)]; W3 := InverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[16]; + W0 := InverseTable[Byte(T1[1])]; W1 := InverseTable[Byte(T1[0] shr 8)]; + W2 := InverseTable[Byte(T1[3] shr 16)]; W3 := InverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[17]; + W0 := InverseTable[Byte(T1[2])]; W1 := InverseTable[Byte(T1[1] shr 8)]; + W2 := InverseTable[Byte(T1[0] shr 16)]; W3 := InverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[18]; + W0 := InverseTable[Byte(T1[3])]; W1 := InverseTable[Byte(T1[2] shr 8)]; + W2 := InverseTable[Byte(T1[1] shr 16)]; W3 := InverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[19]; + // round 7 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[12]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[13]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[14]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[15]; + // round 8 + W0 := InverseTable[Byte(T1[0])]; W1 := InverseTable[Byte(T1[3] shr 8)]; + W2 := InverseTable[Byte(T1[2] shr 16)]; W3 := InverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[8]; + W0 := InverseTable[Byte(T1[1])]; W1 := InverseTable[Byte(T1[0] shr 8)]; + W2 := InverseTable[Byte(T1[3] shr 16)]; W3 := InverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[9]; + W0 := InverseTable[Byte(T1[2])]; W1 := InverseTable[Byte(T1[1] shr 8)]; + W2 := InverseTable[Byte(T1[0] shr 16)]; W3 := InverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[10]; + W0 := InverseTable[Byte(T1[3])]; W1 := InverseTable[Byte(T1[2] shr 8)]; + W2 := InverseTable[Byte(T1[1] shr 16)]; W3 := InverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[11]; + // round 9 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[4]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[5]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[6]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[7]; + // last round of transformations + W0 := LastInverseTable[Byte(T1[0])]; W1 := LastInverseTable[Byte(T1[3] shr 8)]; + W2 := LastInverseTable[Byte(T1[2] shr 16)]; W3 := LastInverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[0]; + W0 := LastInverseTable[Byte(T1[1])]; W1 := LastInverseTable[Byte(T1[0] shr 8)]; + W2 := LastInverseTable[Byte(T1[3] shr 16)]; W3 := LastInverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[1]; + W0 := LastInverseTable[Byte(T1[2])]; W1 := LastInverseTable[Byte(T1[1] shr 8)]; + W2 := LastInverseTable[Byte(T1[0] shr 16)]; W3 := LastInverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[2]; + W0 := LastInverseTable[Byte(T1[3])]; W1 := LastInverseTable[Byte(T1[2] shr 8)]; + W2 := LastInverseTable[Byte(T1[1] shr 16)]; W3 := LastInverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[3]; + // finalizing + PLongWord(@OutBuf[0])^ := T0[0]; PLongWord(@OutBuf[4])^ := T0[1]; + PLongWord(@OutBuf[8])^ := T0[2]; PLongWord(@OutBuf[12])^ := T0[3]; +end; + +procedure DecryptAES(const InBuf: TAESBuffer; const Key: TAESExpandedKey192; + var OutBuf: TAESBuffer); +var + T0, T1: array [0..3] of longword; + W0, W1, W2, W3: longword; +begin + // initializing + T0[0] := PLongWord(@InBuf[0])^ xor Key[48]; + T0[1] := PLongWord(@InBuf[4])^ xor Key[49]; + T0[2] := PLongWord(@InBuf[8])^ xor Key[50]; + T0[3] := PLongWord(@InBuf[12])^ xor Key[51]; + // performing transformations 11 times + // round 1 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[44]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[45]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[46]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[47]; + // round 2 + W0 := InverseTable[Byte(T1[0])]; W1 := InverseTable[Byte(T1[3] shr 8)]; + W2 := InverseTable[Byte(T1[2] shr 16)]; W3 := InverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[40]; + W0 := InverseTable[Byte(T1[1])]; W1 := InverseTable[Byte(T1[0] shr 8)]; + W2 := InverseTable[Byte(T1[3] shr 16)]; W3 := InverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[41]; + W0 := InverseTable[Byte(T1[2])]; W1 := InverseTable[Byte(T1[1] shr 8)]; + W2 := InverseTable[Byte(T1[0] shr 16)]; W3 := InverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[42]; + W0 := InverseTable[Byte(T1[3])]; W1 := InverseTable[Byte(T1[2] shr 8)]; + W2 := InverseTable[Byte(T1[1] shr 16)]; W3 := InverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[43]; + // round 3 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[36]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[37]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[38]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[39]; + // round 4 + W0 := InverseTable[Byte(T1[0])]; W1 := InverseTable[Byte(T1[3] shr 8)]; + W2 := InverseTable[Byte(T1[2] shr 16)]; W3 := InverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[32]; + W0 := InverseTable[Byte(T1[1])]; W1 := InverseTable[Byte(T1[0] shr 8)]; + W2 := InverseTable[Byte(T1[3] shr 16)]; W3 := InverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[33]; + W0 := InverseTable[Byte(T1[2])]; W1 := InverseTable[Byte(T1[1] shr 8)]; + W2 := InverseTable[Byte(T1[0] shr 16)]; W3 := InverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[34]; + W0 := InverseTable[Byte(T1[3])]; W1 := InverseTable[Byte(T1[2] shr 8)]; + W2 := InverseTable[Byte(T1[1] shr 16)]; W3 := InverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[35]; + // round 5 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[28]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[29]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[30]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[31]; + // round 6 + W0 := InverseTable[Byte(T1[0])]; W1 := InverseTable[Byte(T1[3] shr 8)]; + W2 := InverseTable[Byte(T1[2] shr 16)]; W3 := InverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[24]; + W0 := InverseTable[Byte(T1[1])]; W1 := InverseTable[Byte(T1[0] shr 8)]; + W2 := InverseTable[Byte(T1[3] shr 16)]; W3 := InverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[25]; + W0 := InverseTable[Byte(T1[2])]; W1 := InverseTable[Byte(T1[1] shr 8)]; + W2 := InverseTable[Byte(T1[0] shr 16)]; W3 := InverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[26]; + W0 := InverseTable[Byte(T1[3])]; W1 := InverseTable[Byte(T1[2] shr 8)]; + W2 := InverseTable[Byte(T1[1] shr 16)]; W3 := InverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[27]; + // round 7 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[20]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[21]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[22]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[23]; + // round 8 + W0 := InverseTable[Byte(T1[0])]; W1 := InverseTable[Byte(T1[3] shr 8)]; + W2 := InverseTable[Byte(T1[2] shr 16)]; W3 := InverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[16]; + W0 := InverseTable[Byte(T1[1])]; W1 := InverseTable[Byte(T1[0] shr 8)]; + W2 := InverseTable[Byte(T1[3] shr 16)]; W3 := InverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[17]; + W0 := InverseTable[Byte(T1[2])]; W1 := InverseTable[Byte(T1[1] shr 8)]; + W2 := InverseTable[Byte(T1[0] shr 16)]; W3 := InverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[18]; + W0 := InverseTable[Byte(T1[3])]; W1 := InverseTable[Byte(T1[2] shr 8)]; + W2 := InverseTable[Byte(T1[1] shr 16)]; W3 := InverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[19]; + // round 9 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[12]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[13]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[14]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[15]; + // round 10 + W0 := InverseTable[Byte(T1[0])]; W1 := InverseTable[Byte(T1[3] shr 8)]; + W2 := InverseTable[Byte(T1[2] shr 16)]; W3 := InverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[8]; + W0 := InverseTable[Byte(T1[1])]; W1 := InverseTable[Byte(T1[0] shr 8)]; + W2 := InverseTable[Byte(T1[3] shr 16)]; W3 := InverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[9]; + W0 := InverseTable[Byte(T1[2])]; W1 := InverseTable[Byte(T1[1] shr 8)]; + W2 := InverseTable[Byte(T1[0] shr 16)]; W3 := InverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[10]; + W0 := InverseTable[Byte(T1[3])]; W1 := InverseTable[Byte(T1[2] shr 8)]; + W2 := InverseTable[Byte(T1[1] shr 16)]; W3 := InverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[11]; + // round 11 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[4]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[5]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[6]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[7]; + // last round of transformations + W0 := LastInverseTable[Byte(T1[0])]; W1 := LastInverseTable[Byte(T1[3] shr 8)]; + W2 := LastInverseTable[Byte(T1[2] shr 16)]; W3 := LastInverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[0]; + W0 := LastInverseTable[Byte(T1[1])]; W1 := LastInverseTable[Byte(T1[0] shr 8)]; + W2 := LastInverseTable[Byte(T1[3] shr 16)]; W3 := LastInverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[1]; + W0 := LastInverseTable[Byte(T1[2])]; W1 := LastInverseTable[Byte(T1[1] shr 8)]; + W2 := LastInverseTable[Byte(T1[0] shr 16)]; W3 := LastInverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[2]; + W0 := LastInverseTable[Byte(T1[3])]; W1 := LastInverseTable[Byte(T1[2] shr 8)]; + W2 := LastInverseTable[Byte(T1[1] shr 16)]; W3 := LastInverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[3]; + // finalizing + PLongWord(@OutBuf[0])^ := T0[0]; PLongWord(@OutBuf[4])^ := T0[1]; + PLongWord(@OutBuf[8])^ := T0[2]; PLongWord(@OutBuf[12])^ := T0[3]; +end; + +procedure DecryptAES(const InBuf: TAESBuffer; const Key: TAESExpandedKey256; + var OutBuf: TAESBuffer); +var + T0, T1: array [0..3] of longword; + W0, W1, W2, W3: longword; +begin + // initializing + T0[0] := PLongWord(@InBuf[0])^ xor Key[56]; + T0[1] := PLongWord(@InBuf[4])^ xor Key[57]; + T0[2] := PLongWord(@InBuf[8])^ xor Key[58]; + T0[3] := PLongWord(@InBuf[12])^ xor Key[59]; + // performing transformations 13 times + // round 1 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[52]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[53]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[54]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[55]; + // round 2 + W0 := InverseTable[Byte(T1[0])]; W1 := InverseTable[Byte(T1[3] shr 8)]; + W2 := InverseTable[Byte(T1[2] shr 16)]; W3 := InverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[48]; + W0 := InverseTable[Byte(T1[1])]; W1 := InverseTable[Byte(T1[0] shr 8)]; + W2 := InverseTable[Byte(T1[3] shr 16)]; W3 := InverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[49]; + W0 := InverseTable[Byte(T1[2])]; W1 := InverseTable[Byte(T1[1] shr 8)]; + W2 := InverseTable[Byte(T1[0] shr 16)]; W3 := InverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[50]; + W0 := InverseTable[Byte(T1[3])]; W1 := InverseTable[Byte(T1[2] shr 8)]; + W2 := InverseTable[Byte(T1[1] shr 16)]; W3 := InverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[51]; + // round 3 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[44]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[45]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[46]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[47]; + // round 4 + W0 := InverseTable[Byte(T1[0])]; W1 := InverseTable[Byte(T1[3] shr 8)]; + W2 := InverseTable[Byte(T1[2] shr 16)]; W3 := InverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[40]; + W0 := InverseTable[Byte(T1[1])]; W1 := InverseTable[Byte(T1[0] shr 8)]; + W2 := InverseTable[Byte(T1[3] shr 16)]; W3 := InverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[41]; + W0 := InverseTable[Byte(T1[2])]; W1 := InverseTable[Byte(T1[1] shr 8)]; + W2 := InverseTable[Byte(T1[0] shr 16)]; W3 := InverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[42]; + W0 := InverseTable[Byte(T1[3])]; W1 := InverseTable[Byte(T1[2] shr 8)]; + W2 := InverseTable[Byte(T1[1] shr 16)]; W3 := InverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[43]; + // round 5 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[36]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[37]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[38]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[39]; + // round 6 + W0 := InverseTable[Byte(T1[0])]; W1 := InverseTable[Byte(T1[3] shr 8)]; + W2 := InverseTable[Byte(T1[2] shr 16)]; W3 := InverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[32]; + W0 := InverseTable[Byte(T1[1])]; W1 := InverseTable[Byte(T1[0] shr 8)]; + W2 := InverseTable[Byte(T1[3] shr 16)]; W3 := InverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[33]; + W0 := InverseTable[Byte(T1[2])]; W1 := InverseTable[Byte(T1[1] shr 8)]; + W2 := InverseTable[Byte(T1[0] shr 16)]; W3 := InverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[34]; + W0 := InverseTable[Byte(T1[3])]; W1 := InverseTable[Byte(T1[2] shr 8)]; + W2 := InverseTable[Byte(T1[1] shr 16)]; W3 := InverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[35]; + // round 7 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[28]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[29]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[30]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[31]; + // round 8 + W0 := InverseTable[Byte(T1[0])]; W1 := InverseTable[Byte(T1[3] shr 8)]; + W2 := InverseTable[Byte(T1[2] shr 16)]; W3 := InverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[24]; + W0 := InverseTable[Byte(T1[1])]; W1 := InverseTable[Byte(T1[0] shr 8)]; + W2 := InverseTable[Byte(T1[3] shr 16)]; W3 := InverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[25]; + W0 := InverseTable[Byte(T1[2])]; W1 := InverseTable[Byte(T1[1] shr 8)]; + W2 := InverseTable[Byte(T1[0] shr 16)]; W3 := InverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[26]; + W0 := InverseTable[Byte(T1[3])]; W1 := InverseTable[Byte(T1[2] shr 8)]; + W2 := InverseTable[Byte(T1[1] shr 16)]; W3 := InverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[27]; + // round 9 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[20]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[21]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[22]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[23]; + // round 10 + W0 := InverseTable[Byte(T1[0])]; W1 := InverseTable[Byte(T1[3] shr 8)]; + W2 := InverseTable[Byte(T1[2] shr 16)]; W3 := InverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[16]; + W0 := InverseTable[Byte(T1[1])]; W1 := InverseTable[Byte(T1[0] shr 8)]; + W2 := InverseTable[Byte(T1[3] shr 16)]; W3 := InverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[17]; + W0 := InverseTable[Byte(T1[2])]; W1 := InverseTable[Byte(T1[1] shr 8)]; + W2 := InverseTable[Byte(T1[0] shr 16)]; W3 := InverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[18]; + W0 := InverseTable[Byte(T1[3])]; W1 := InverseTable[Byte(T1[2] shr 8)]; + W2 := InverseTable[Byte(T1[1] shr 16)]; W3 := InverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[19]; + // round 11 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[12]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[13]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[14]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[15]; + // round 12 + W0 := InverseTable[Byte(T1[0])]; W1 := InverseTable[Byte(T1[3] shr 8)]; + W2 := InverseTable[Byte(T1[2] shr 16)]; W3 := InverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[8]; + W0 := InverseTable[Byte(T1[1])]; W1 := InverseTable[Byte(T1[0] shr 8)]; + W2 := InverseTable[Byte(T1[3] shr 16)]; W3 := InverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[9]; + W0 := InverseTable[Byte(T1[2])]; W1 := InverseTable[Byte(T1[1] shr 8)]; + W2 := InverseTable[Byte(T1[0] shr 16)]; W3 := InverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[10]; + W0 := InverseTable[Byte(T1[3])]; W1 := InverseTable[Byte(T1[2] shr 8)]; + W2 := InverseTable[Byte(T1[1] shr 16)]; W3 := InverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[11]; + // round 13 + W0 := InverseTable[Byte(T0[0])]; W1 := InverseTable[Byte(T0[3] shr 8)]; + W2 := InverseTable[Byte(T0[2] shr 16)]; W3 := InverseTable[Byte(T0[1] shr 24)]; + T1[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[4]; + W0 := InverseTable[Byte(T0[1])]; W1 := InverseTable[Byte(T0[0] shr 8)]; + W2 := InverseTable[Byte(T0[3] shr 16)]; W3 := InverseTable[Byte(T0[2] shr 24)]; + T1[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[5]; + W0 := InverseTable[Byte(T0[2])]; W1 := InverseTable[Byte(T0[1] shr 8)]; + W2 := InverseTable[Byte(T0[0] shr 16)]; W3 := InverseTable[Byte(T0[3] shr 24)]; + T1[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[6]; + W0 := InverseTable[Byte(T0[3])]; W1 := InverseTable[Byte(T0[2] shr 8)]; + W2 := InverseTable[Byte(T0[1] shr 16)]; W3 := InverseTable[Byte(T0[0] shr 24)]; + T1[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[7]; + // last round of transformations + W0 := LastInverseTable[Byte(T1[0])]; W1 := LastInverseTable[Byte(T1[3] shr 8)]; + W2 := LastInverseTable[Byte(T1[2] shr 16)]; W3 := LastInverseTable[Byte(T1[1] shr 24)]; + T0[0] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[0]; + W0 := LastInverseTable[Byte(T1[1])]; W1 := LastInverseTable[Byte(T1[0] shr 8)]; + W2 := LastInverseTable[Byte(T1[3] shr 16)]; W3 := LastInverseTable[Byte(T1[2] shr 24)]; + T0[1] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[1]; + W0 := LastInverseTable[Byte(T1[2])]; W1 := LastInverseTable[Byte(T1[1] shr 8)]; + W2 := LastInverseTable[Byte(T1[0] shr 16)]; W3 := LastInverseTable[Byte(T1[3] shr 24)]; + T0[2] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[2]; + W0 := LastInverseTable[Byte(T1[3])]; W1 := LastInverseTable[Byte(T1[2] shr 8)]; + W2 := LastInverseTable[Byte(T1[1] shr 16)]; W3 := LastInverseTable[Byte(T1[0] shr 24)]; + T0[3] := (W0 xor ((W1 shl 8) or (W1 shr 24)) xor ((W2 shl 16) or (W2 shr 16)) + xor ((W3 shl 24) or (W3 shr 8))) xor Key[3]; + // finalizing + PLongWord(@OutBuf[0])^ := T0[0]; PLongWord(@OutBuf[4])^ := T0[1]; + PLongWord(@OutBuf[8])^ := T0[2]; PLongWord(@OutBuf[12])^ := T0[3]; +end; + +// Stream encryption routines (ECB mode) + +procedure EncryptAESStreamECB(Source: TStream; Count: cardinal; + const Key: TAESKey128; Dest: TStream); +var + ExpandedKey: TAESExpandedKey128; +begin + ExpandAESKeyForEncryption(Key, ExpandedKey); + EncryptAESStreamECB(Source, Count, ExpandedKey, Dest); +end; + +procedure EncryptAESStreamECB(Source: TStream; Count: cardinal; + const Key: TAESKey192; Dest: TStream); +var + ExpandedKey: TAESExpandedKey192; +begin + ExpandAESKeyForEncryption(Key, ExpandedKey); + EncryptAESStreamECB(Source, Count, ExpandedKey, Dest); +end; + +procedure EncryptAESStreamECB(Source: TStream; Count: cardinal; + const Key: TAESKey256; Dest: TStream); +var + ExpandedKey: TAESExpandedKey256; +begin + ExpandAESKeyForEncryption(Key, ExpandedKey); + EncryptAESStreamECB(Source, Count, ExpandedKey, Dest); +end; + +procedure EncryptAESStreamECB(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey128; Dest: TStream); +var + TempIn, TempOut: TAESBuffer; + Done: cardinal; +begin + if Count = 0 then + begin + Source.Position := 0; + Count := Source.Size; + end + else Count := Min(Count, Source.Size - Source.Position); + if Count = 0 then exit; + while Count >= SizeOf(TAESBuffer) do + begin + Done := Source.Read(TempIn, SizeOf(TempIn)); + if Done < SizeOf(TempIn) then + raise EStreamError.Create(SReadError); + EncryptAES(TempIn, ExpandedKey, TempOut); + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError.Create(SWriteError); + Dec(Count, SizeOf(TAESBuffer)); + end; + if Count > 0 then + begin + Done := Source.Read(TempIn, Count); + if Done < Count then + raise EStreamError.Create(SReadError); + FillChar(TempIn[Count], SizeOf(TempIn) - Count, 0); + EncryptAES(TempIn, ExpandedKey, TempOut); + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError.Create(SWriteError); + end; +end; + +procedure EncryptAESStreamECB(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey192; Dest: TStream); +var + TempIn, TempOut: TAESBuffer; + Done: cardinal; +begin + if Count = 0 then + begin + Source.Position := 0; + Count := Source.Size; + end + else Count := Min(Count, Source.Size - Source.Position); + if Count = 0 then exit; + while Count >= SizeOf(TAESBuffer) do + begin + Done := Source.Read(TempIn, SizeOf(TempIn)); + if Done < SizeOf(TempIn) then + raise EStreamError.Create(SReadError); + EncryptAES(TempIn, ExpandedKey, TempOut); + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError.Create(SWriteError); + Dec(Count, SizeOf(TAESBuffer)); + end; + if Count > 0 then + begin + Done := Source.Read(TempIn, Count); + if Done < Count then + raise EStreamError.Create(SReadError); + FillChar(TempIn[Count], SizeOf(TempIn) - Count, 0); + EncryptAES(TempIn, ExpandedKey, TempOut); + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError.Create(SWriteError); + end; +end; + +procedure EncryptAESStreamECB(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey256; Dest: TStream); +var + TempIn, TempOut: TAESBuffer; + Done: cardinal; +begin + if Count = 0 then + begin + Source.Position := 0; + Count := Source.Size; + end + else Count := Min(Count, Source.Size - Source.Position); + if Count = 0 then exit; + while Count >= SizeOf(TAESBuffer) do + begin + Done := Source.Read(TempIn, SizeOf(TempIn)); + if Done < SizeOf(TempIn) then + raise EStreamError.Create(SReadError); + EncryptAES(TempIn, ExpandedKey, TempOut); + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError.Create(SWriteError); + Dec(Count, SizeOf(TAESBuffer)); + end; + if Count > 0 then + begin + Done := Source.Read(TempIn, Count); + if Done < Count then + raise EStreamError.Create(SReadError); + FillChar(TempIn[Count], SizeOf(TempIn) - Count, 0); + EncryptAES(TempIn, ExpandedKey, TempOut); + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError.Create(SWriteError); + end; +end; + +// Stream decryption routines (ECB mode) + +procedure DecryptAESStreamECB(Source: TStream; Count: cardinal; + const Key: TAESKey128; Dest: TStream); +var + ExpandedKey: TAESExpandedKey128; +begin + ExpandAESKeyForDecryption(Key, ExpandedKey); + DecryptAESStreamECB(Source, Count, ExpandedKey, Dest); +end; + +procedure DecryptAESStreamECB(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey128; Dest: TStream); +var + TempIn, TempOut: TAESBuffer; + Done: cardinal; +begin + if Count = 0 then + begin + Source.Position := 0; + Count := Source.Size; + end + else Count := Min(Count, Source.Size - Source.Position); + if Count = 0 then exit; + if (Count mod SizeOf(TAESBuffer)) > 0 then + raise EAESError.Create(SInvalidInBufSize); + while Count >= SizeOf(TAESBuffer) do + begin + Done := Source.Read(TempIn, SizeOf(TempIn)); + if Done < SizeOf(TempIn) then + raise EStreamError.Create(SReadError); + DecryptAES(TempIn, ExpandedKey, TempOut); + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError.Create(SWriteError); + Dec(Count, SizeOf(TAESBuffer)); + end; +end; + +procedure DecryptAESStreamECB(Source: TStream; Count: cardinal; + const Key: TAESKey192; Dest: TStream); +var + ExpandedKey: TAESExpandedKey192; +begin + ExpandAESKeyForDecryption(Key, ExpandedKey); + DecryptAESStreamECB(Source, Count, ExpandedKey, Dest); +end; + +procedure DecryptAESStreamECB(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey192; Dest: TStream); +var + TempIn, TempOut: TAESBuffer; + Done: cardinal; +begin + if Count = 0 then + begin + Source.Position := 0; + Count := Source.Size; + end + else Count := Min(Count, Source.Size - Source.Position); + if Count = 0 then exit; + if (Count mod SizeOf(TAESBuffer)) > 0 then + raise EAESError.Create(SInvalidInBufSize); + while Count >= SizeOf(TAESBuffer) do + begin + Done := Source.Read(TempIn, SizeOf(TempIn)); + if Done < SizeOf(TempIn) then + raise EStreamError.Create(SReadError); + DecryptAES(TempIn, ExpandedKey, TempOut); + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError.Create(SWriteError); + Dec(Count, SizeOf(TAESBuffer)); + end; +end; + +procedure DecryptAESStreamECB(Source: TStream; Count: cardinal; + const Key: TAESKey256; Dest: TStream); +var + ExpandedKey: TAESExpandedKey256; +begin + ExpandAESKeyForDecryption(Key, ExpandedKey); + DecryptAESStreamECB(Source, Count, ExpandedKey, Dest); +end; + +procedure DecryptAESStreamECB(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey256; Dest: TStream); +var + TempIn, TempOut: TAESBuffer; + Done: cardinal; +begin + if Count = 0 then + begin + Source.Position := 0; + Count := Source.Size; + end + else Count := Min(Count, Source.Size - Source.Position); + if Count = 0 then exit; + if (Count mod SizeOf(TAESBuffer)) > 0 then + raise EAESError.Create(SInvalidInBufSize); + while Count >= SizeOf(TAESBuffer) do + begin + Done := Source.Read(TempIn, SizeOf(TempIn)); + if Done < SizeOf(TempIn) then + raise EStreamError.Create(SReadError); + DecryptAES(TempIn, ExpandedKey, TempOut); + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError.Create(SWriteError); + Dec(Count, SizeOf(TAESBuffer)); + end; +end; + +// Stream encryption routines (CBC mode) + +procedure EncryptAESStreamCBC(Source: TStream; Count: cardinal; + const Key: TAESKey128; const InitVector: TAESBuffer; Dest: TStream); +var + ExpandedKey: TAESExpandedKey128; +begin + ExpandAESKeyForEncryption(Key, ExpandedKey); + EncryptAESStreamCBC(Source, Count, ExpandedKey, InitVector, Dest); +end; + +procedure EncryptAESStreamCBC(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey128; const InitVector: TAESBuffer; + Dest: TStream); +var + TempIn, TempOut, Vector: TAESBuffer; + Done: cardinal; +begin + if Count = 0 then + begin + Source.Position := 0; + Count := Source.Size; + end + else Count := Min(Count, Source.Size - Source.Position); + if Count = 0 then exit; + Vector := InitVector; + while Count >= SizeOf(TAESBuffer) do + begin + Done := Source.Read(TempIn, SizeOf(TempIn)); + if Done < SizeOf(TempIn) then + raise EStreamError.Create(SReadError); + PLongWord(@TempIn[0])^ := PLongWord(@TempIn[0])^ xor PLongWord(@Vector[0])^; + PLongWord(@TempIn[4])^ := PLongWord(@TempIn[4])^ xor PLongWord(@Vector[4])^; + PLongWord(@TempIn[8])^ := PLongWord(@TempIn[8])^ xor PLongWord(@Vector[8])^; + PLongWord(@TempIn[12])^ := PLongWord(@TempIn[12])^ xor PLongWord(@Vector[12])^; + EncryptAES(TempIn, ExpandedKey, TempOut); + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError.Create(SWriteError); + Vector := TempOut; + Dec(Count, SizeOf(TAESBuffer)); + end; + if Count > 0 then + begin + Done := Source.Read(TempIn, Count); + if Done < Count then + raise EStreamError.Create(SReadError); + FillChar(TempIn[Count], SizeOf(TempIn) - Count, 0); + PLongWord(@TempIn[0])^ := PLongWord(@TempIn[0])^ xor PLongWord(@Vector[0])^; + PLongWord(@TempIn[4])^ := PLongWord(@TempIn[4])^ xor PLongWord(@Vector[4])^; + PLongWord(@TempIn[8])^ := PLongWord(@TempIn[8])^ xor PLongWord(@Vector[8])^; + PLongWord(@TempIn[12])^ := PLongWord(@TempIn[12])^ xor PLongWord(@Vector[12])^; + EncryptAES(TempIn, ExpandedKey, TempOut); + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError.Create(SWriteError); + end; +end; + +procedure EncryptAESStreamCBC(Source: TStream; Count: cardinal; + const Key: TAESKey192; const InitVector: TAESBuffer; Dest: TStream); +var + ExpandedKey: TAESExpandedKey192; +begin + ExpandAESKeyForEncryption(Key, ExpandedKey); + EncryptAESStreamCBC(Source, Count, ExpandedKey, InitVector, Dest); +end; + +procedure EncryptAESStreamCBC(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey192; const InitVector: TAESBuffer; + Dest: TStream); +var + TempIn, TempOut, Vector: TAESBuffer; + Done: cardinal; +begin + if Count = 0 then + begin + Source.Position := 0; + Count := Source.Size; + end + else Count := Min(Count, Source.Size - Source.Position); + if Count = 0 then exit; + Vector := InitVector; + while Count >= SizeOf(TAESBuffer) do + begin + Done := Source.Read(TempIn, SizeOf(TempIn)); + if Done < SizeOf(TempIn) then + raise EStreamError.Create(SReadError); + PLongWord(@TempIn[0])^ := PLongWord(@TempIn[0])^ xor PLongWord(@Vector[0])^; + PLongWord(@TempIn[4])^ := PLongWord(@TempIn[4])^ xor PLongWord(@Vector[4])^; + PLongWord(@TempIn[8])^ := PLongWord(@TempIn[8])^ xor PLongWord(@Vector[8])^; + PLongWord(@TempIn[12])^ := PLongWord(@TempIn[12])^ xor PLongWord(@Vector[12])^; + EncryptAES(TempIn, ExpandedKey, TempOut); + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError.Create(SWriteError); + Vector := TempOut; + Dec(Count, SizeOf(TAESBuffer)); + end; + if Count > 0 then + begin + Done := Source.Read(TempIn, Count); + if Done < Count then + raise EStreamError.Create(SReadError); + FillChar(TempIn[Count], SizeOf(TempIn) - Count, 0); + PLongWord(@TempIn[0])^ := PLongWord(@TempIn[0])^ xor PLongWord(@Vector[0])^; + PLongWord(@TempIn[4])^ := PLongWord(@TempIn[4])^ xor PLongWord(@Vector[4])^; + PLongWord(@TempIn[8])^ := PLongWord(@TempIn[8])^ xor PLongWord(@Vector[8])^; + PLongWord(@TempIn[12])^ := PLongWord(@TempIn[12])^ xor PLongWord(@Vector[12])^; + EncryptAES(TempIn, ExpandedKey, TempOut); + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError.Create(SWriteError); + end; +end; + +procedure EncryptAESStreamCBC(Source: TStream; Count: cardinal; + const Key: TAESKey256; const InitVector: TAESBuffer; Dest: TStream); +var + ExpandedKey: TAESExpandedKey256; +begin + ExpandAESKeyForEncryption(Key, ExpandedKey); + EncryptAESStreamCBC(Source, Count, ExpandedKey, InitVector, Dest); +end; + +procedure EncryptAESStreamCBC(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey256; const InitVector: TAESBuffer; + Dest: TStream); +var + TempIn, TempOut, Vector: TAESBuffer; + Done: cardinal; +begin + if Count = 0 then + begin + Source.Position := 0; + Count := Source.Size; + end + else Count := Min(Count, Source.Size - Source.Position); + if Count = 0 then exit; + Vector := InitVector; + while Count >= SizeOf(TAESBuffer) do + begin + Done := Source.Read(TempIn, SizeOf(TempIn)); + if Done < SizeOf(TempIn) then + raise EStreamError.Create(SReadError); + PLongWord(@TempIn[0])^ := PLongWord(@TempIn[0])^ xor PLongWord(@Vector[0])^; + PLongWord(@TempIn[4])^ := PLongWord(@TempIn[4])^ xor PLongWord(@Vector[4])^; + PLongWord(@TempIn[8])^ := PLongWord(@TempIn[8])^ xor PLongWord(@Vector[8])^; + PLongWord(@TempIn[12])^ := PLongWord(@TempIn[12])^ xor PLongWord(@Vector[12])^; + EncryptAES(TempIn, ExpandedKey, TempOut); + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError.Create(SWriteError); + Vector := TempOut; + Dec(Count, SizeOf(TAESBuffer)); + end; + if Count > 0 then + begin + Done := Source.Read(TempIn, Count); + if Done < Count then + raise EStreamError.Create(SReadError); + FillChar(TempIn[Count], SizeOf(TempIn) - Count, 0); + PLongWord(@TempIn[0])^ := PLongWord(@TempIn[0])^ xor PLongWord(@Vector[0])^; + PLongWord(@TempIn[4])^ := PLongWord(@TempIn[4])^ xor PLongWord(@Vector[4])^; + PLongWord(@TempIn[8])^ := PLongWord(@TempIn[8])^ xor PLongWord(@Vector[8])^; + PLongWord(@TempIn[12])^ := PLongWord(@TempIn[12])^ xor PLongWord(@Vector[12])^; + EncryptAES(TempIn, ExpandedKey, TempOut); + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError.Create(SWriteError); + end; +end; + +// Stream decryption routines (CBC mode) + +procedure DecryptAESStreamCBC(Source: TStream; Count: cardinal; + const Key: TAESKey128; const InitVector: TAESBuffer; Dest: TStream); +var + ExpandedKey: TAESExpandedKey128; +begin + ExpandAESKeyForDecryption(Key, ExpandedKey); + DecryptAESStreamCBC(Source, Count, ExpandedKey, InitVector, Dest); +end; + +procedure DecryptAESStreamCBC(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey128; const InitVector: TAESBuffer; + Dest: TStream); +var + TempIn, TempOut: TAESBuffer; + Vector1, Vector2: TAESBuffer; + Done: cardinal; +begin + if Count = 0 then + begin + Source.Position := 0; + Count := Source.Size; + end + else Count := Min(Count, Source.Size - Source.Position); + if Count = 0 then exit; + if (Count mod SizeOf(TAESBuffer)) > 0 then + raise EAESError.Create(SInvalidInBufSize); + Vector1 := InitVector; + while Count >= SizeOf(TAESBuffer) do + begin + Done := Source.Read(TempIn, SizeOf(TempIn)); + if Done < SizeOf(TempIn) then + raise EStreamError(SReadError); + Vector2 := TempIn; + DecryptAES(TempIn, ExpandedKey, TempOut); + PLongWord(@TempOut[0])^ := PLongWord(@TempOut[0])^ xor PLongWord(@Vector1[0])^; + PLongWord(@TempOut[4])^ := PLongWord(@TempOut[4])^ xor PLongWord(@Vector1[4])^; + PLongWord(@TempOut[8])^ := PLongWord(@TempOut[8])^ xor PLongWord(@Vector1[8])^; + PLongWord(@TempOut[12])^ := PLongWord(@TempOut[12])^ xor PLongWord(@Vector1[12])^; + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError(SWriteError); + Vector1 := Vector2; + Dec(Count, SizeOf(TAESBuffer)); + end; +end; + +procedure DecryptAESStreamCBC(Source: TStream; Count: cardinal; + const Key: TAESKey192; const InitVector: TAESBuffer; Dest: TStream); +var + ExpandedKey: TAESExpandedKey192; +begin + ExpandAESKeyForDecryption(Key, ExpandedKey); + DecryptAESStreamCBC(Source, Count, ExpandedKey, InitVector, Dest); +end; + +procedure DecryptAESStreamCBC(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey192; const InitVector: TAESBuffer; + Dest: TStream); +var + TempIn, TempOut: TAESBuffer; + Vector1, Vector2: TAESBuffer; + Done: cardinal; +begin + if Count = 0 then + begin + Source.Position := 0; + Count := Source.Size; + end + else Count := Min(Count, Source.Size - Source.Position); + if Count = 0 then exit; + if (Count mod SizeOf(TAESBuffer)) > 0 then + raise EAESError.Create(SInvalidInBufSize); + Vector1 := InitVector; + while Count >= SizeOf(TAESBuffer) do + begin + Done := Source.Read(TempIn, SizeOf(TempIn)); + if Done < SizeOf(TempIn) then + raise EStreamError(SReadError); + Vector2 := TempIn; + DecryptAES(TempIn, ExpandedKey, TempOut); + PLongWord(@TempOut[0])^ := PLongWord(@TempOut[0])^ xor PLongWord(@Vector1[0])^; + PLongWord(@TempOut[4])^ := PLongWord(@TempOut[4])^ xor PLongWord(@Vector1[4])^; + PLongWord(@TempOut[8])^ := PLongWord(@TempOut[8])^ xor PLongWord(@Vector1[8])^; + PLongWord(@TempOut[12])^ := PLongWord(@TempOut[12])^ xor PLongWord(@Vector1[12])^; + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError(SWriteError); + Vector1 := Vector2; + Dec(Count, SizeOf(TAESBuffer)); + end; +end; + +procedure DecryptAESStreamCBC(Source: TStream; Count: cardinal; + const Key: TAESKey256; const InitVector: TAESBuffer; Dest: TStream); +var + ExpandedKey: TAESExpandedKey256; +begin + ExpandAESKeyForDecryption(Key, ExpandedKey); + DecryptAESStreamCBC(Source, Count, ExpandedKey, InitVector, Dest); +end; + +procedure DecryptAESStreamCBC(Source: TStream; Count: cardinal; + const ExpandedKey: TAESExpandedKey256; const InitVector: TAESBuffer; + Dest: TStream); +var + TempIn, TempOut: TAESBuffer; + Vector1, Vector2: TAESBuffer; + Done: cardinal; +begin + if Count = 0 then + begin + Source.Position := 0; + Count := Source.Size; + end + else Count := Min(Count, Source.Size - Source.Position); + if Count = 0 then exit; + if (Count mod SizeOf(TAESBuffer)) > 0 then + raise EAESError.Create(SInvalidInBufSize); + Vector1 := InitVector; + while Count >= SizeOf(TAESBuffer) do + begin + Done := Source.Read(TempIn, SizeOf(TempIn)); + if Done < SizeOf(TempIn) then + raise EStreamError(SReadError); + Vector2 := TempIn; + DecryptAES(TempIn, ExpandedKey, TempOut); + PLongWord(@TempOut[0])^ := PLongWord(@TempOut[0])^ xor PLongWord(@Vector1[0])^; + PLongWord(@TempOut[4])^ := PLongWord(@TempOut[4])^ xor PLongWord(@Vector1[4])^; + PLongWord(@TempOut[8])^ := PLongWord(@TempOut[8])^ xor PLongWord(@Vector1[8])^; + PLongWord(@TempOut[12])^ := PLongWord(@TempOut[12])^ xor PLongWord(@Vector1[12])^; + Done := Dest.Write(TempOut, SizeOf(TempOut)); + if Done < SizeOf(TempOut) then + raise EStreamError(SWriteError); + Vector1 := Vector2; + Dec(Count, SizeOf(TAESBuffer)); + end; +end; + +end. diff --git a/打卷检验管理/FieldExportSet/.INI b/打卷检验管理/FieldExportSet/.INI new file mode 100644 index 0000000..51d8293 --- /dev/null +++ b/打卷检验管理/FieldExportSet/.INI @@ -0,0 +1,2 @@ +[] +ֶ=Begin//ɫ/ⳤ/ȵλ//׺ diff --git a/打卷检验管理/FieldExportSet/检验分析订单.INI b/打卷检验管理/FieldExportSet/检验分析订单.INI new file mode 100644 index 0000000..423fd63 --- /dev/null +++ b/打卷检验管理/FieldExportSet/检验分析订单.INI @@ -0,0 +1,2 @@ +[] +ֶ=Begin///ɫ//()/õ diff --git a/打卷检验管理/FieldExportSet/检验报告.INI b/打卷检验管理/FieldExportSet/检验报告.INI new file mode 100644 index 0000000..0961376 --- /dev/null +++ b/打卷检验管理/FieldExportSet/检验报告.INI @@ -0,0 +1,2 @@ +[] +ֶ=Begin diff --git a/打卷检验管理/FieldExportSet/采购单列表.INI b/打卷检验管理/FieldExportSet/采购单列表.INI new file mode 100644 index 0000000..8ea03c0 --- /dev/null +++ b/打卷检验管理/FieldExportSet/采购单列表.INI @@ -0,0 +1,2 @@ +[] +ֶ=Begin/ɹ/Fabric/ diff --git a/打卷检验管理/File.INI b/打卷检验管理/File.INI new file mode 100644 index 0000000..dd5ac79 --- /dev/null +++ b/打卷检验管理/File.INI @@ -0,0 +1,6 @@ +[] +̨־= +̨= +˿ں= +˿Dllļ=JZCRS323D.dll +Dllļ=JCYData10.dll diff --git a/打卷检验管理/OrderManage.dof b/打卷检验管理/OrderManage.dof new file mode 100644 index 0000000..30929e3 --- /dev/null +++ b/打卷检验管理/OrderManage.dof @@ -0,0 +1,138 @@ +[FileVersion] +Version=7.0 +[Compiler] +A=8 +B=0 +C=1 +D=1 +E=0 +F=0 +G=1 +H=1 +I=1 +J=0 +K=0 +L=1 +M=0 +N=1 +O=1 +P=1 +Q=0 +R=0 +S=0 +T=0 +U=0 +V=1 +W=0 +X=1 +Y=1 +Z=1 +ShowHints=1 +ShowWarnings=1 +UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +NamespacePrefix= +SymbolDeprecated=1 +SymbolLibrary=1 +SymbolPlatform=1 +UnitLibrary=1 +UnitPlatform=1 +UnitDeprecated=1 +HResultCompat=1 +HidingMember=1 +HiddenVirtual=1 +Garbage=1 +BoundsError=1 +ZeroNilCompat=1 +StringConstTruncated=1 +ForLoopVarVarPar=1 +TypedConstVarPar=1 +AsgToTypedConst=1 +CaseLabelRange=1 +ForVariable=1 +ConstructingAbstract=1 +ComparisonFalse=1 +ComparisonTrue=1 +ComparingSignedUnsigned=1 +CombiningSignedUnsigned=1 +UnsupportedConstruct=1 +FileOpen=1 +FileOpenUnitSrc=1 +BadGlobalSymbol=1 +DuplicateConstructorDestructor=1 +InvalidDirective=1 +PackageNoLink=1 +PackageThreadVar=1 +ImplicitImport=1 +HPPEMITIgnored=1 +NoRetVal=1 +UseBeforeDef=1 +ForLoopVarUndef=1 +UnitNameMismatch=1 +NoCFGFileFound=1 +MessageDirective=1 +ImplicitVariants=1 +UnicodeToLocale=1 +LocaleToUnicode=1 +ImagebaseMultiple=1 +SuspiciousTypecast=1 +PrivatePropAccessor=1 +UnsafeType=0 +UnsafeCode=0 +UnsafeCast=0 +[Linker] +MapFile=0 +OutputObjs=0 +ConsoleApp=1 +DebugInfo=0 +RemoteSymbols=0 +MinStackSize=16384 +MaxStackSize=1048576 +ImageBase=4194304 +ExeDescription= +[Directories] +OutputDir= +UnitOutputDir= +PackageDLLOutputDir= +PackageDCPOutputDir= +SearchPath=D:\ͨERP +Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;dclOffice2k;Rave50CLX;Rave50VCL +Conditionals= +DebugSourceDirs= +UsePackages=0 +[Parameters] +RunParams= +HostApplication=F:\selfware_83398\selfware\ֿ\Ŀ\self\\testDll.exe +Launcher= +UseLauncher=0 +DebugCWD= +[Language] +ActiveLang= +ProjectLang= +RootDir= +[Version Info] +IncludeVerInfo=0 +AutoIncBuild=0 +MajorVer=1 +MinorVer=0 +Release=0 +Build=0 +Debug=0 +PreRelease=0 +Special=0 +Private=0 +DLL=0 +Locale=2052 +CodePage=936 +[Version Info Keys] +CompanyName= +FileDescription= +FileVersion=1.0.0.0 +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion=1.0.0.0 +Comments= +[Excluded Packages] +c:\program files\borland\delphi7\Bin\DBWEBXPRT.BPL=Borland Web Wizard Package diff --git a/打卷检验管理/ProjectGroup1.bpg b/打卷检验管理/ProjectGroup1.bpg new file mode 100644 index 0000000..7c050f6 --- /dev/null +++ b/打卷检验管理/ProjectGroup1.bpg @@ -0,0 +1,23 @@ +#------------------------------------------------------------------------------ +VERSION = BWS.01 +#------------------------------------------------------------------------------ +!ifndef ROOT +ROOT = $(MAKEDIR)\.. +!endif +#------------------------------------------------------------------------------ +MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$** +DCC = $(ROOT)\bin\dcc32.exe $** +BRCC = $(ROOT)\bin\brcc32.exe $** +#------------------------------------------------------------------------------ +PROJECTS = testDll.exe ProductPrice.dll +#------------------------------------------------------------------------------ +default: $(PROJECTS) +#------------------------------------------------------------------------------ + +testDll.exe: testDll.dpr + $(DCC) + +ProductPrice.dll: ProductPrice.dpr + $(DCC) + + diff --git a/打卷检验管理/RCInspection.cfg b/打卷检验管理/RCInspection.cfg new file mode 100644 index 0000000..6c57635 --- /dev/null +++ b/打卷检验管理/RCInspection.cfg @@ -0,0 +1,38 @@ +-$A8 +-$B- +-$C+ +-$D+ +-$E- +-$F- +-$G+ +-$H+ +-$I+ +-$J- +-$K- +-$L+ +-$M- +-$N+ +-$O+ +-$P+ +-$Q- +-$R- +-$S- +-$T- +-$U- +-$V+ +-$W- +-$X+ +-$YD +-$Z1 +-cg +-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +-H+ +-W+ +-M +-$M16384,1048576 +-K$00400000 +-LE"c:\program files\borland\delphi7\Projects\Bpl" +-LN"c:\program files\borland\delphi7\Projects\Bpl" +-w-UNSAFE_TYPE +-w-UNSAFE_CODE +-w-UNSAFE_CAST diff --git a/打卷检验管理/RCInspection.dof b/打卷检验管理/RCInspection.dof new file mode 100644 index 0000000..c0c0e6a --- /dev/null +++ b/打卷检验管理/RCInspection.dof @@ -0,0 +1,141 @@ +[FileVersion] +Version=7.0 +[Compiler] +A=8 +B=0 +C=1 +D=1 +E=0 +F=0 +G=1 +H=1 +I=1 +J=0 +K=0 +L=1 +M=0 +N=1 +O=1 +P=1 +Q=0 +R=0 +S=0 +T=0 +U=0 +V=1 +W=0 +X=1 +Y=1 +Z=1 +ShowHints=1 +ShowWarnings=1 +UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +NamespacePrefix= +SymbolDeprecated=1 +SymbolLibrary=1 +SymbolPlatform=1 +UnitLibrary=1 +UnitPlatform=1 +UnitDeprecated=1 +HResultCompat=1 +HidingMember=1 +HiddenVirtual=1 +Garbage=1 +BoundsError=1 +ZeroNilCompat=1 +StringConstTruncated=1 +ForLoopVarVarPar=1 +TypedConstVarPar=1 +AsgToTypedConst=1 +CaseLabelRange=1 +ForVariable=1 +ConstructingAbstract=1 +ComparisonFalse=1 +ComparisonTrue=1 +ComparingSignedUnsigned=1 +CombiningSignedUnsigned=1 +UnsupportedConstruct=1 +FileOpen=1 +FileOpenUnitSrc=1 +BadGlobalSymbol=1 +DuplicateConstructorDestructor=1 +InvalidDirective=1 +PackageNoLink=1 +PackageThreadVar=1 +ImplicitImport=1 +HPPEMITIgnored=1 +NoRetVal=1 +UseBeforeDef=1 +ForLoopVarUndef=1 +UnitNameMismatch=1 +NoCFGFileFound=1 +MessageDirective=1 +ImplicitVariants=1 +UnicodeToLocale=1 +LocaleToUnicode=1 +ImagebaseMultiple=1 +SuspiciousTypecast=1 +PrivatePropAccessor=1 +UnsafeType=0 +UnsafeCode=0 +UnsafeCast=0 +[Linker] +MapFile=0 +OutputObjs=0 +ConsoleApp=1 +DebugInfo=0 +RemoteSymbols=0 +MinStackSize=16384 +MaxStackSize=1048576 +ImageBase=4194304 +ExeDescription= +[Directories] +OutputDir= +UnitOutputDir= +PackageDLLOutputDir= +PackageDCPOutputDir= +SearchPath= +Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;dclOffice2k;Rave50CLX;Rave50VCL +Conditionals= +DebugSourceDirs= +UsePackages=0 +[Parameters] +RunParams= +HostApplication=D:\selfware_83398\selfware\ֿ\Ŀ\self\Ⱦ\testDll.exe +Launcher= +UseLauncher=0 +DebugCWD= +[Language] +ActiveLang= +ProjectLang= +RootDir= +[Version Info] +IncludeVerInfo=0 +AutoIncBuild=0 +MajorVer=1 +MinorVer=0 +Release=0 +Build=0 +Debug=0 +PreRelease=0 +Special=0 +Private=0 +DLL=0 +Locale=2052 +CodePage=936 +[Version Info Keys] +CompanyName= +FileDescription= +FileVersion=1.0.0.0 +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion=1.0.0.0 +Comments= +[Excluded Packages] +c:\program files\borland\delphi7\Bin\DBWEBXPRT.BPL=Borland Web Wizard Package +[HistoryLists\hlUnitAliases] +Count=1 +Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; diff --git a/打卷检验管理/RCInspection.res b/打卷检验管理/RCInspection.res new file mode 100644 index 0000000000000000000000000000000000000000..2d6f24c3d9a870364649288b1c0306b551768325 GIT binary patch literal 876 zcmaJ=Jx{|h5Pc?9%tTwkz(g}L7BMg|6oiDt01W(ruz1OWgw!H+AXAn~{FzE^Brlox z9gK_}J0Q&SIVr99IQ9AN-MzD~Rtx|M;amX24SU~e>Jc?cYMoANyAd5SNQg5+p~aQP zp5HA8_(Prt$CV+GqpB(v{1D!`;JAjld@@+K+i61a|MTdsd{~!%b1ms_KJEh}cpe(` z6jA?@e29>sU}iiwp;b>~TL@2U!O)h%Yr)7`8+a;b=@mD^tI-VbODr7!U{0?gh%d@~e3Ro)^HNMvvU1UHt)HYrq~&L`&fQ16Y1SeYiaObZ>3v kZ4W@7aBc_JIL8%khzs1(H@5yR{A*B1l9s#*|B4j80N@tIJOBUy literal 0 HcmV?d00001 diff --git a/打卷检验管理/SYSTEMSET.ini b/打卷检验管理/SYSTEMSET.ini new file mode 100644 index 0000000..e4904d4 --- /dev/null +++ b/打卷检验管理/SYSTEMSET.ini @@ -0,0 +1,3 @@ +[SERVER] +ַ=127.0.0.1 +=XXXXXXX1 \ No newline at end of file diff --git a/打卷检验管理/TradeManage.cfg b/打卷检验管理/TradeManage.cfg new file mode 100644 index 0000000..e9c1cc1 --- /dev/null +++ b/打卷检验管理/TradeManage.cfg @@ -0,0 +1,38 @@ +-$A8 +-$B- +-$C+ +-$D+ +-$E- +-$F- +-$G+ +-$H+ +-$I+ +-$J- +-$K- +-$L+ +-$M- +-$N+ +-$O+ +-$P+ +-$Q- +-$R- +-$S- +-$T- +-$U- +-$V+ +-$W- +-$X+ +-$YD +-$Z1 +-cg +-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +-H+ +-W+ +-M +-$M16384,1048576 +-K$00400000 +-LE"c:\program files (x86)\borland\delphi7\Projects\Bpl" +-LN"c:\program files (x86)\borland\delphi7\Projects\Bpl" +-w-UNSAFE_TYPE +-w-UNSAFE_CODE +-w-UNSAFE_CAST diff --git a/打卷检验管理/TradeManage.dof b/打卷检验管理/TradeManage.dof new file mode 100644 index 0000000..731fb68 --- /dev/null +++ b/打卷检验管理/TradeManage.dof @@ -0,0 +1,141 @@ +[FileVersion] +Version=7.0 +[Compiler] +A=8 +B=0 +C=1 +D=1 +E=0 +F=0 +G=1 +H=1 +I=1 +J=0 +K=0 +L=1 +M=0 +N=1 +O=1 +P=1 +Q=0 +R=0 +S=0 +T=0 +U=0 +V=1 +W=0 +X=1 +Y=1 +Z=1 +ShowHints=1 +ShowWarnings=1 +UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +NamespacePrefix= +SymbolDeprecated=1 +SymbolLibrary=1 +SymbolPlatform=1 +UnitLibrary=1 +UnitPlatform=1 +UnitDeprecated=1 +HResultCompat=1 +HidingMember=1 +HiddenVirtual=1 +Garbage=1 +BoundsError=1 +ZeroNilCompat=1 +StringConstTruncated=1 +ForLoopVarVarPar=1 +TypedConstVarPar=1 +AsgToTypedConst=1 +CaseLabelRange=1 +ForVariable=1 +ConstructingAbstract=1 +ComparisonFalse=1 +ComparisonTrue=1 +ComparingSignedUnsigned=1 +CombiningSignedUnsigned=1 +UnsupportedConstruct=1 +FileOpen=1 +FileOpenUnitSrc=1 +BadGlobalSymbol=1 +DuplicateConstructorDestructor=1 +InvalidDirective=1 +PackageNoLink=1 +PackageThreadVar=1 +ImplicitImport=1 +HPPEMITIgnored=1 +NoRetVal=1 +UseBeforeDef=1 +ForLoopVarUndef=1 +UnitNameMismatch=1 +NoCFGFileFound=1 +MessageDirective=1 +ImplicitVariants=1 +UnicodeToLocale=1 +LocaleToUnicode=1 +ImagebaseMultiple=1 +SuspiciousTypecast=1 +PrivatePropAccessor=1 +UnsafeType=0 +UnsafeCode=0 +UnsafeCast=0 +[Linker] +MapFile=0 +OutputObjs=0 +ConsoleApp=1 +DebugInfo=0 +RemoteSymbols=0 +MinStackSize=16384 +MaxStackSize=1048576 +ImageBase=4194304 +ExeDescription= +[Directories] +OutputDir= +UnitOutputDir= +PackageDLLOutputDir= +PackageDCPOutputDir= +SearchPath= +Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;dclOffice2k;Rave50CLX;Rave50VCL +Conditionals= +DebugSourceDirs= +UsePackages=0 +[Parameters] +RunParams= +HostApplication=D:\Ŀ\Ŀ\׸\\testDll.exe +Launcher= +UseLauncher=0 +DebugCWD= +[Language] +ActiveLang= +ProjectLang= +RootDir= +[Version Info] +IncludeVerInfo=0 +AutoIncBuild=0 +MajorVer=1 +MinorVer=0 +Release=0 +Build=0 +Debug=0 +PreRelease=0 +Special=0 +Private=0 +DLL=0 +Locale=2052 +CodePage=936 +[Version Info Keys] +CompanyName= +FileDescription= +FileVersion=1.0.0.0 +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion=1.0.0.0 +Comments= +[Excluded Packages] +c:\program files\borland\delphi7\Bin\DBWEBXPRT.BPL=Borland Web Wizard Package +[HistoryLists\hlUnitAliases] +Count=1 +Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; diff --git a/打卷检验管理/TradeManage.dpr b/打卷检验管理/TradeManage.dpr new file mode 100644 index 0000000..ab999ad --- /dev/null +++ b/打卷检验管理/TradeManage.dpr @@ -0,0 +1,77 @@ +library TradeManage; +uses + SysUtils, + classes, + forms, + WinTypes, + WinProcs, + U_DataLink in 'U_DataLink.pas' {DataLink_TradeManage: TDataModule}, + U_GetDllForm in 'U_GetDllForm.pas', + U_ZDYHelpSel in '..\..\..\ThreeFun\Form\U_ZDYHelpSel.pas' {frmZDYHelpSel}, + U_SelExportField in '..\..\..\ThreeFun\Fun\U_SelExportField.pas' {frmSelExportField}, + U_ColumnSet in '..\..\..\ThreeFun\Form\U_ColumnSet.pas' {frmColumnSet}, + U_ZDYHelp in '..\..\..\ThreeFun\Form\U_ZDYHelp.pas' {frmZDYHelp}, + U_GetAddRess in '..\..\..\ThreeFun\Form\U_GetAddRess.pas', + U_iniParam in 'U_iniParam.pas', + AES in 'AES.pas', + ElAES in 'ElAES.pas', + U_SelPrintFieldNew in '..\..\..\ThreeFun\Form\U_SelPrintFieldNew.pas' {frmSelPrintFieldNew}, + U_LabelPrint in 'U_LabelPrint.pas' {frmLabelPrint}, + U_ConInPutNX in 'U_ConInPutNX.pas' {frmConInPutNX}, + U_MJManageNewFDNew in 'U_MJManageNewFDNew.pas' {frmMJManageNewFDNewSF}, + U_MJEdit in 'U_MJEdit.pas' {frmMJEdit}, + U_CpRkSaoMNewDB in 'U_CpRkSaoMNewDB.pas' {frmCpRkSaoMNewDB}, + U_OrderSelRK in 'U_OrderSelRK.pas' {frmOrderSelRK}, + U_CKProductBCPKCHZList in 'U_CKProductBCPKCHZList.pas' {frmCKProductBCPKCHZList}, + U_ClothHCList in 'U_ClothHCList.pas' {frmClothHCList}, + U_ContractListNX in 'U_ContractListNX.pas' {frmContractListNX}, + U_OrderJDList in 'U_OrderJDList.pas' {frmOrderJDList}, + U_ProductOrderListSel in 'U_ProductOrderListSel.pas' {frmProductOrderListSel}, + U_ConInPut in 'U_ConInPut.pas' {frmConInPut}, + U_ClothContractInPut in 'U_ClothContractInPut.pas' {frmClothContractInPut}, + U_ClothContractList in 'U_ClothContractList.pas' {frmClothContractList}, + U_ClothContractInPutHZ in 'U_ClothContractInPutHZ.pas' {frmClothContractInPutHZ}, + U_OrderInPut in 'U_OrderInPut.pas' {frmOrderInPut}, + U_CKProductBCPOutList in 'U_CKProductBCPOutList.pas' {frmCKProductBCPOutList}, + U_CpRkSaoMNew in 'U_CpRkSaoMNew.pas' {frmCpRkSaoMNew}, + U_Fun10 in '..\..\..\ThreeFun\Fun\U_Fun10.pas', + U_ProductOrderNewList_JD in 'U_ProductOrderNewList_JD.pas' {frmProductOrderNewList_JD}, + U_HCList in 'U_HCList.pas' {frmHCList}, + U_ModulePromptList in 'U_ModulePromptList.pas' {frmModulePromptList}, + U_Fun in '..\..\..\ThreeFun\Fun\U_Fun.pas', + U_FjList in 'U_FjList.pas' {frmFjList}, + getpic in 'getpic.pas' {FormGetPic}, + U_JYOrderOther_Main in 'U_JYOrderOther_Main.pas' {FrmJYOrderOther}, + U_FjList10 in '..\..\..\ThreeFun\Form\U_FjList10.pas' {frmFjList10}, + U_CompressionFun in '..\..\..\ThreeFun\Fun\U_CompressionFun.pas', + U_ColumnBandSet in '..\..\..\ThreeFun\Form\U_ColumnBandSet.pas' {frmColumnBandSet}, + U_CKJYList in 'U_CKJYList.pas' {frmCKJYList}, + U_CKProductJYHZList in 'U_CKProductJYHZList.pas' {frmCKProductJYHZList}, + U_SysLogOrder in 'U_SysLogOrder.pas' {frmSysLogOrder}, + U_MJSJFX in 'U_MJSJFX.pas' {frmMJSJFX}, + U_RTFun in '..\..\..\RTFunAndForm\Fun\U_RTFun.pas'; + +{$R *.res} + +procedure DllEnterPoint(dwReason: DWORD);far;stdcall; +begin + DLLProc := @DLLEnterPoint; + DllEnterPoint(DLL_PROCESS_ATTACH); +end; + +procedure DLLUnloadProc(Reason: Integer); register; +begin +// if (Reason = DLL_PROCESS_DETACH) or (Reason=DLL_THREAD_DETACH) then +// Application:=NewDllApp; +end; +exports + GetDllForm; +begin + try + NewDllApp:=Application; + DLLProc := @DLLUnloadProc; + except + + end; +end. + diff --git a/打卷检验管理/TradeManage.rar b/打卷检验管理/TradeManage.rar new file mode 100644 index 0000000000000000000000000000000000000000..03b86cb3e34df523c32c3f18fd1879c64bb6ecd3 GIT binary patch literal 2053423 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%0D;U54gm-b|T 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 z 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

A(=^EqOFd2m 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�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
NT`) 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�HIr!^ftn1m~lscB{ys= z15;pdmEIUkDMgBAP<__~*B;T7vwFFU9uHz3lYsVD^uE6(!hwaaqOC&i4|wB<>6i}o zvTdBS=F@pbTZE8enuV)phk|ho>>htlNLelWWK|1Oy%1&?=pkM9ef zW}}MdRZK%$9too3F;w_LhDpEdS#za#qwQonp}uwG!}WC?-Tt>sczy+|zA0@|zh7D# zEWCPfx`cLwSe=-Gr^p`SythP3*GkmvI(^?OGS`_2dRqo$``7rjAN*_mAmljM z1`_uH^4G?ShAJaWXm!A|iD-P~J4Wwn@63|c|sB6Sf=$8B810>!vRl_{;;|R3DM$> zbBwAVghl){2YiWK-Wj&-+J{m_UevHEs`Ad_(HMelVb68a*6ERtsoqPUzGPG|849y zzuA=yh)=s=HS{6)?63JRDz z`bvDc$bz-^5s?P@eXnTtqs^=A zXJ7xC%EWab(uOz*2m z5v7luk+H;C$-*QBt?9QTLf0Vv;3M^Ang_KRy=%GpP_-})S?9R^G&Jj_Gme=iORa3t;|L^+U7ub^kOos#I>;eN$m$B=mq*EZ1X;hwZz{G1N;xYwek6EV{IRJsf3j+3 zytIB!)w!#~=eF1svvW7LZ!Tr=`_wi;T(q3ElAjvm7l{sozd=w`@zM=>C}N$}vqMTE zpA3Q;%WatoM)q<>^5B{*s#2?yYsGo+;Rxxf#!g$7>ECdmXmWOwqz@woYBBEbEZEct zJ_bXaaQhT9%7lc8DF@d9FFJm{Bcs+XZdimjlnsobNdS7-X77lk+O-PpcD1I^F4|yd ziER|a{@V^wM1vR8GkBi}emmXHrj)R*UvmlQTjHo~kuN;u2r74tGZ1tl64Tr5+e-#gZ&~Pt7QS5vm#2B|Ce)?Tn=&_Mxp91=A6_yg*@EL zlT9TOWwLjF&=u$O2Z=@N7mm*5kA`@Ij9)4oyJVQ41={I%?9AkBvdN}TU4KC99at2K zi65$ETo^lR4=qxy;RXFo;LV_?J07CR`-BYnk;08>TLt3hR?ks=k@Tv%Y?2}A*@y0$ z^2w^C04l?X`rSs_!A{;LSH&stNFyzb5o+(ogV#>Yu_Hkyj%hSe1FoC|)}DnvVFkV? ze>}2r+44N*N?Xt~7HnKDs42IfMVv0~dpny?0Tz?Ehbh}9qLz@Npj`UA$cMu4(UnBT z_Ce2HDr>B%%{po8T(QHF%;^cTaBP2jQhQZcmmgB@qs}e_!{Hh~G3Y?FR|M%9q!hiu z+6}@rZlQC6#i?=|ulDr=dejIuL`WpWrc3^#2ChVK zs3c#}=eK#rbUm^-`I;+^ zp7R@jl{TN##QZ!UR7?KPSgN)`mEZM8hU^)72wS2nAqu#Zb8kcQjSW``uh;w770wIH z&yVMTwDxN`a+}KO<4TMLpNl-RNV!Z_54DURW!u0Leg>SwoOY-nTxh(j#vD5DEt*)o zdW8raZagp;`~tYCX5NXOjA!$mk&&%TiI@!P=!As#B95lA?ui~hWQz(CT9@_J5{A3T zRppJ)zbP2g`>S|r-7%dx%0aJF@oSZMnI4srEAd*&h`T@ax{7$mX2k6Js6HOi6rAUm zYO;DyUPm;M7^xoZlM$giyzQ*PY@p0Gp{I)1vcGnbU0-$w`!}Cky$o?#&jd~?GnxU_ zs}O2-72Vgvf2q75JLR@e0`(sZ6lkIY9R{nErJqD#sh(u*pg60zq zmJ8{<6mr^^R{X?14scm2~y%|@zHDfcvr3!43y8^&EHHl@2ZUY!k}o9<;OGv#i-aar=;SJCKe|r}L5u(q!~onN5*oJkki~l&&9R zi^6hoia$0)IO#HXR*xtzp;6!c0i})XP72aSnr#GSiBUoVT#|Pleo`?gdA)n=!THMq zictPq%b=(XU43+khi%x%0egadLiVKeiH>;f)&*TY)J5g?hQwR1c5eNW6R| z_Orv+kL?S=8_+Z^>IE|mAq(c~J9DJJ<8CYj3D~|GUXFE(8mned_7IgTPDntjORMfc z)fDYbeq4&aSW;fCf&tWvzk##rF_W|~)G#qtW!LCS?i=dkVjeiR{Khi7*r4S8Zjk6JjJE>Sk}j3tmT%*;KlhsnGrx`me$=;`!_nB#EYtMm(Sl0$egt zt({X=+x+FvbyI5XGlkH?#PermHU!)G*pQrpcCk}e`hm*Qn!e+96ga`R(J1GI%qCI7 zaHi$7Nx{>4XVHz4CcQdI*KWa9?(;C@8ZAEi)~qQ>HM_N?Bf5=JWq%CQq7f0) zM+v5xLC+}LpM=@^9YiAK-!%1|kOWm>S*k~Gad9H65uNQGw58RkTt}O7We2!)YE?sP znzcf6KWlB8$$|J+O=A0iv58^vfQ^}NMM??=Rt4&ZNUk!iE_93cXZ1%8f)veNq(_$zs7*l}p;I}C<&DpS=q@QtopM$BsTaibx zU{eOm9$G`yFDcnn$3t_-arj%ROq|A^n}=$ zQMz`S{d`zjUC2J!X-I1{#jtzn8&7;o;lF-i<))x|NC|Hn+|+?LT(4A}}^ z5X`(Y1*u>>pR5j3)=COtb1m1n0#0W2=Mm`}>o?~5?AOYpq3As_@VD+u)&@rrDqr{c zQ#Z#rSuj50o|uDAE`803T}l37ojN9qhLxr4KX4mfszs&)-zT6*6}}U~B(&Z`DZs7J z_h%&&w02Q9Kl)a59bT5kh>Qh z!8G$>5Sa}Gsz%-`sR9m7sF_-Z^O|x69n+cKGcJw0fDux=2>$l*nZdk~M{{>QsIaSm zfTR2VM24Py>;RwF~H z4hR1N`xZ9-Rsu<54W%XZ0Tl-r2*H-r&(}6|TinZr-|a`U5wD^GG>`s0i;Iv{`1b$V z5AhY=$bUqUiK;x<7DUzT764F9h^H!|n~h0V9|p?J|6L+MhM#B6{=U`?mJ!*q^VGN( zZ5%1R1+z{+Y*zfkmnKCPd<#y`g?hzoLC_I7RW1brb^0JWnu-3@@fq+)4yG7By%_r6 zotBPno3ZQrBPyTLinokl|Y3IEKiE;LFp?0WMMEFpb2A zhMqHSMX)TBU-}ZBj0sqx2+^{ty|gCTlje2E3LzSzyMzR*4PcP?c>S$4chRadYIEM+ z-tn4&lbOUp8ZzuQCd6HhTQF%kwT5KhPkd+l{Q9Z&R&q_{@d`# z{31M+@t%hE9GdH!oa}oJ)fGEy;l!jE|7~q|g{LOL&HbHO>fLcdC7n^Y(%zCQ7(Z{z z`(F=f4&EH}Xbq4Zq&paUcy|!xFhC_h+8itBw{n6n> zJBi)1U?m2eALA>_v`NUHgl@bevSW*xaN~`brx;jq- z9o{-6;se651-gD6%MBWu&@qz7qE1s8HyJnCkX!f|o9CGW@se%3FX+#B2e@Byu<{HX zq&X;M36~Ha=~-eY-zS-}W4Qgh7`{`h=|A?P39OpXR(!eAE4RR|-BV*#uPw(@@cYd$ za`WF?Pb3HAFXD)T5XMWu1H^=$|6{Y)+vf6H{|)Bt+`O$8|7p0Gx0c7~s5i9x+UlE( z-Nm&O^xeM3+58)wL(9qx_U^k&VVe~bL%*fF60Dwz$4kDTb!&HZ2J>-qU3I^<-Mze_ z+1@>++q~Fa+`-&!HTw;|%u4R>FD!T0nc*TI_V-_|xxBd9(QB9);V0U7d)zr~g_sjG+?Ea4R)O?&=?}r=se4Ej*cV`Fq zeOy?rE`HZ|=J)9GK5ybHX#M+(pC5~o$H-8@@aFgW?Zmwnn{jn+^Ibu^m##Hl+)au% zJ#9~OtDebGIv~A@(=GO>34hForRQulW(W3$cIZ7(hD z>Gu}&7k+i_Ll=|Q^09x59boCj<(DhOaotq7i?;E9yNqXD;yC)^sdXEB*v=;P$J8$G z`hkF2-h1yc9>>vx`Y&DGi3`7_z^8l_+Ei=Loj-UYHIL}X#iT#dSD#-L{?AcAC;y-P z;jiWnEjpO6BIj3`7vUWtL#5+f|oHcYQ4Fe?HpzMtYml5o^#`MH4y)t zXVrUl@3j-Z-ETHMHY2<0IJT2FyIz*d74PK6HJ!v`kE%NN>558njE%B!!j5qpa~Fa) z#J4fbM-Dl^!2Ga?%7rTDhD}ZS)%>4~2kknJKkEN<(0|X~ijA)RU)pWcpIS2);%x5q z8jD?Y7&_+IZ#jr;wbzS7CZ|KI+&`{MaVPz6bUTXaA$t|do}=V1R0 zVJBguf8^fn?{;VpM}OseV|!iF3&GwowTD4ETT=$c9llZ=&Hg|`%P<__J)P?rZ>zLNMSMra9ei=m0(Qi9(H zc6a|G9gk85*IV%n;UT`@Z_`@&zWncQqb&Cs3#n<*4eLZfM>`(48WA?)UT~wt4 zf#@J$+#Z5OPBk9NYK?e7*MJx?Jh@h~8z_!$$0m_gPc$j9#sp1?|7Nc)?U6!yQRo0} zf#>(>6d_!%^-I#SRtP=8{=7&? zu3_|~V=$0i8ylikV4zOC8iLZDF8!7|21k~7y`N&>CdnV;GZDEaQQ0s^`w&>G6-1Ee~!NT6SD}{HCo)AvjEF zBF4^YNC@jCi*9t0Srk9Dt`u9}SN$MfgzrNng7QgKbXnz2Px#>df4LB19(Fvmk0#4wnMn{C!c+^R=Q=^jBMGQ7Vuzf4Mn z_dn~l-XA1KYaM^zRl*FlJ}5CW7V}C7-{GN+?B;02WT-r4DU)gdXJFD1#e$lJul?eJ zH7ss!)J>H+E@+@(TC%8fR$)ajhs8mUFjiGGjlhhIoZUMPecvK7kc!0M?86Rq-ySa|kn;Vuva7%D3-IU&6Xx`|8>l=}?Zq4&M8kPnw|LP+t{()} z#)Xgv>hu4)jEm0J=abrS!TqCKa%%Lo;#wzY>Q+W69K<>@PQsTgSEuS=WbKuy)No-{% zx@2~Tg(T+~ARNAvi93_HV;h_w`Jz}9xS}YeEPByj4{6P#J`e>R z*s^6gtdYDMHd|^FtcjJTk#R`F3f>v+Ois^?M(9X{6DmZ`PSOGGBb@GYG$R~!7?+(p z#r-1)4K7#h6!1kh-s>{W;!XKlZNY1+F+njrM_@N69X zqO0R3hc<5OB8J1}z?R>>1#E+|;RQv0D_@|1%k}uM(of$fdCA$fM*vsOaft1A2)5L# z>>WU>``Gc|e!>f+&wne1g&CL1@e#v_yibM{b4P)oHE-~vizq?DEswZ>6^^d+QnQCd z`vtF9T#v6->RlE=>RRkOR%|=#^EVGXf8oPwN;HZA?6_tWBB*{>48c7(_@SZ<&?u*p z8N{=ZIL}!PsQ>Yz4Zic`hT)=6H;G*$7E-3;8b&*uXb1!M;3P9HC(48``~-$+6#K|r zm44&sRsiX&@UMR^8t*OoT-!4v_aLF{wbzBTRL{?H9ED)4M*veZ@70~;|!VtRt~?$8p$(7!H`$n7~%2<_)>tnb>+SJDl(zcxLaHf=(i z`#rotJDg@!tqV_S48qyEu5wkYGKU@JVZu4M5${lJZ#6BA76lEtJ$QX4RG+kEZqcOd z5gWsuMPCZ5KOaHT+lyS{_;Z46eC-=)>_@KbEg8>I1qsWJ&og_7R@84Ku+S*oCdvZB zUV%{%k!QA^v2Kn63QPYl*b!FFE<7f>K{+@mb(5fMe~*LxbO_3?1qPQ5@EHu(TDi>F z`3AGRD^nAd5?&)zSxcjhgl&nkJAEc<3KZEmkB}qc{IN}RVXG#{z$}ahW)O-tDG;7u z$?xP`Ez-v`k6BJwtnA4sOCMoS+(@duMNcS>aIG+l+t$^cevF`TjkSYQ!YNIEPdS>V$MH&BIX&{o{f-L`7YIMgOsvb1s#5yaI}XVQ zWoA_GrnwTteewKZFxI#+Ma|5MhOe<9&$18vHI`bLc0vE7jgLNH1E+$LK0C+v)ew5E zE0>novdYoBMtB>t*!G|7-hk#v=4_z-l!N=}_x}MEHIk_f(%qx2O-jJW+0<$=?lnS=&|~1s3d7mfw!@wIs%@jKa;4oGQ_6-Q z&(Lb@yE&=KoUhB}s5mW(;R3PlIy6Y-FOfZJIduk}NU4-M!9|_o<^EM&tzAt_NBxlC z`25{33yswnA@Zhe-WHvRio-TlQKHN!=>GhCYMTsH@_@BkPr;rjQPb>w%#YnUy*=+t zs%Y#>170I;m1XQtSZ0Vy&i&+6)X+x9rAR#loQk5L!mJ8f^j5zoe&q0X+k;hG7xq_7{GS{ z5{NjaT(IzfWMI7q1J4xOCcOY0Q)Eaw3&YB~LnbbrNjPb<1%UBs>yu*2$M}b-xOULQ$~&)te$TkOD=_GA3VLdGc;GL2ArgT2S$=DTb2PYm(F!=kKZV9CSq_0*qQHEM zn4LoR6HAJlRSbnAho3z?E(D!Ah4@nAyz%E<`OfPPsSl)#pd^PGh#no>j55BAJSpbc z?>LI2ub%>hRVEzr- z`;4p5%nj!7)8cg9fg@qRZ+d=zzZZ`6yPrdDTSZ%_rqF}QWcDRmO)_1E@aX9JkJ;-*T(aylq(l2Bmy`OVB+o{ zkr6xQuz)5-DAQFZ(LTvell>f%=2@Ck%LbO*-nL)}4HIprG}0LP;>Rp0wvu7vdU89A zmWl_*Qf>f{$sAo9qFFkVrc7dGpGW5NCgE-bF50~m36ERs*(NO$5O)rKanW376e7Yu zV4-s@J&TkHtIkY8lqT`}C|C5%JO%i!?b)z!htn>X0k5*NtDKXwDkCHGfEU#+hKRzR zzN#!}j8kd}Do(i=^hudp#XrW?AB9z0-XY(f`vw$u9E6tz`f>w=CgWiPaCthK6@_O^ zMS%}QJEqI8y8=G4KD#Jop94qHjN=$~sC-iCV$io4_!hk|>>zITj)-xEjFh}6xEguH zi)UezZVc-HQdukbTu#`;qdT%_-HYMQ&P6>J!;bHf<0)$@*6-Wq=M<|JO;u#&j;_~7 zQJ(y{)|o0S373O6#gPolI1Nj!=%Q9Wt+A$_#t4f74CN=xaR_mzS!i+4=7J_LBztBX z*+ZDX)M3rnSL1`b(AB_i9v*H(njqbaW{l+6+btY(4bXj-`|M$3mMA8!ecec7jvTw- z@pc!353=7&9nuXb$`JddW5!vFjt{+)9y5V>K>N547wlaSeayLIzoT-+<3sK19xZQi z;Cz0&p?-eWa|%3#Tkc9pw052W(w8LciVtmYeh0{O#JUe_ zVDej~o=L&jdrL=$sdQs3T!4F12a??|a}g{a)&b=a(;!LNI3Cx5WG#^m^^80P8@}k&dxZLZ^25FsB9;KhnNpLm~JAIH0$3Z+a z?jK9qPL7#Cza;6ylJ-82h=xsNM_VAbn`w(Yv_MC;(4xv#vtUpG9MmaATRi}daRbch zeu3^08f-8X;zNbF<>bZo-Us3&@hA-Wg^-<7e)uV3cXj9%0D`t={9dYhURYxV#RA^> zq&It+K82H)!eR5$X8<245Ruv?)lo%>=W%|<&Z4?bj3~Lx*Sf+}_Q}z>3}<=-%>+$z zh*Etjtb3GZ{g;AKB?<0{*Mm@#BrH&eX=17f7KD#cF&4wgTt_=NBab7HmyX1%YP4!wpBn>ZO;IuTkq&#iQxuT3GaO)5GEO3fDeSf^M+eL)AHN z^2{-Iii<|5^2-fXbHr?%qdND0S~#3wCm~G3jrN3x>=$&={;QmogPS!uazHnK$66-M z=WQK|FrX^Bmi8dh{0(*$TAWe2aCA8=YL8-FSyKPqDNQd<3}w~g)2w}PVG(I(!0kEi z6F;TCGuZV}Eg&v6 z@j>zgfXWZupJP|w6+afvijmc*K)%n}g_1AT0meLdgU}iSt!1~D0aXh|{FzXRBIcAG z%+^-xQx=)v*!-^DHl{Wk2`DwzZGDa4rU+~Qw`?5K?JpR?f6W`@O%xr60M-U{s4%ar zkmPZuk2z@`)O-pEh#z;%*y{t;))ek8L7d1a&fb4_8`n$ z6qm|S_FtcSdVif(eCWrU@)i`e8nBdjcJGEo#TICC4&X%K7q~39yc&xC%F(QrN-O)E zHDsJYg;O~Sse1XggQRgzh#`cvDWBi$7T~vKuWEd(OLZA}e3>qDNA!9dYXgf}rc{>= zLoM>3rro}?xFiu_9-Dt40bY2fI(qJ12VFX8Idq~OdD4x=waXh{`NzaVC5xkV3ScnOjH1)^HJ+2$-sgZ% z)yTzLb%ilZKM}Ot0j_z>QMf`tvB_rL{8C}y+6*x0f!12CWDuj2q1v)K&PUQmbHY6G zKjxC*>R<_csc<5kA;=dNo-xW9_U^5dKpH3JgAD!`xR zjIpI-cg)d{Dcdn@v_z~4+EN)k{eQ9Ia)wyfYag}|y$M(Wh8gZ=q7Dh{^kxVY7{1R9 z3#}nLbw2!LUR4BIdL~*iKDCc7_bUvaNb(mxZ+3C;xp5diOOtKMe&mV4jtD|2iN2yb zJ%0Ior%2`na!|j+nrV?7(C}sn*_#ib+i^cl2Vw52JVL7(d21x)J?z@nQbQOtUQ(AC zMkxD2l9k)PBC23fsWKqNc2_)Gq!hQAX5%8_YssTKl%^5?sO25BVs0Hrc~b0%Q15InUx`@LRCfwE7O6Xc8O+U+XP5nMDNP+#8B#yVV;a}f^`eF zg)zF61&B%uQ_@dBjb$h2xroi*HAXbe)V@Z1y%VN2w%}n|Hd;)w9 zZplJK1)==)5`phuo*jr|e@wnKYl|;^Qe&H$&{d z9``Y+<#u9ueq0nm-yk@jtS2Mbb0X!hq=xnI_{f;hH`*;IrZ8~Z0OVyd}jbl2G z$ejXq8+Hj5mp-sh3+jxsxUv3u7PRrbYMFF@K<`<4`Q4;jlY-hGvASm8a&2c59b@ZS z&fUsV>1yfRs?+!L@g9P(g=B02)0*@(QJC*Ss&q%Rm!#jbtr%W3f(+HJrGt%~!GIA$ zeVCp|xQdrfvVCCar?N>5_>bdR7qbnu=p0oyK|IM*b_fY=jk?G)pXYRDyjOYL>ox?? z%W!Un#KGf(j7%5YM7*-RdR&xp*k@^Wh7KdGt-NpD%2V4wCyTqMypnkf*&sb#n?(^& z@?c?Pl>r||0O6%AtnskPrfe1wZb!iu7KTEN7#Mt}4H)kDfLy^k&t2=uqlKbtspRNi z?Y4$s_A&q95`J}BqtCba8yWF6lkRA%DnF4GqjHCIGRfywtQ0eL7PX?yQPl68iSM~V zezW_ZE_s+JyC5~rxz+|#D)6W=a{NJ#=y@df{ar$XuJd-*i`aXhDdoWV7L=|gP~#Ho z<*okU^J{(0BZbOJ6-hk3-U0Jc^v^n|G#?C$g_pCLLAkC-TY&9F!(+*_(0uyQU!JnW zmn4}fu|$MoNfxC~zOF~7`yncFoDNCLDZkW;XOQ3<#yS+h(`Y4~M-)mPms*9RkuD+$pNhyAyV7w>IRV-Ek8kYwd$rPO=#9Pcl9X3#N6B z^+!Y18T>QCutZYpabB$XNtC2v~3ab#z@>$#-c|4Dw%9JxUP<**&k5 z7M@t)3~rRz895+%N^TnMA@6GY%5@Btv?#U&7#sZX{WT@FLhFw3s}X4=gOOI*~w(3ptn0zN&qFX{pW3K(i*roN>-|*i7rn ziKi6!fDY!e)E&U!0V_@g;Ofxok=3%?m=%YbsV4^t5_s}~S}FaY#i2{NY$rM@(*fdP zSmlOhMth5D5!OBjb_uRcu^-N05D{<&I`MY@(Oac^u`g%!mox!8^>%2@W zQnarN=vHelbwY&j4vh{!UI*ZH>T61keAJmKI0aMRagj4Q3KMvtV&zKk+kp^5n0~A^ zD6skBqW_-7CmXF+S`9svINP__G90m3jm;FMH(3eKXau8y49aow3qx9}UCKfTE}xj1uR&%by<2G9+fwDn<~d_9ONx9qJi%w42x_%rkf=ag3Xq!p}N zz%^P3eki#yyEU+o&gc-cA1+L9gdkY*1mbe%=)MVL>=;0S%?MGMDWx69!y?+iBol$v ztwLPju6Re%*bw@n%j5_?&BiIlMZDedEXnMeccVngTh7EQssQVd2POq23&!+g8^T0j z3pXYZh6?TdCvFx=h_OU^$qsBp!7{f_2J6LzW89lgAl}Cl3MtUCqq0HM8Gt8=B}Wk( z$5lrPB{I|daWGZKFI1vMi1c`i40-v+7jOTnA;^8`8*c9S_*y zAU&N(!&Ey5@X<43A~GoxH!ksW@bUcNyjeb>Z6(0kMpq9Ghc#TKfp!%tN^gJftDZfi zi9d%Ov!cgeotp_OH00MNRuuR^6jdT-T|lO-ti8?P5&udkFLN;RF#q3HtbxtU#(GMG zX`p^O2pXyqdX{1K{EHxK#>M=Y=rvJn*#kEP7ymKWXNW@HIxcDsswk@4ndUf1rmo9U z?CW*gvvzZ9Sp%#b{Rov6YrB<2Yeo*-=eJs~>zU=OYnGKtiBnv{nhR0TlI)X7*I#z1 z4yi?0CKoZXq_UQp%xRARrL+5{>h7JHy>m2y4Brq$ckQ>S`VmlVOz~GI=jJYb^W@~{ z8)HfTO%sS7;f7UE4`#9d60bxkt65E0A^#UQ|I1`PwQ3bMP!(*5`AnI;?x;WspGkDmRNG@EltGcUq&OhkE7 z!la>~ecZFHz#G^`3f37ax;khgiE|zet(<30+|*5q4uUztoG9ubYhn{ra)o^!?t1a@ z&A;k-mqWv`^T6iF&4$ukGZHFz*Ggk5I(Kg2a>Og{RN(BRkIpFJK7$A^uZ6DDg8uGR zCuCCIT6s&8j#BZyXg~@}gK`2|IMVqbKw?;mmlc0~fw{G*oO8|6nA#ScUGj4-1tk&E zrRw>dWWD+c{Eg~~V0$cx3kw$dQY4#Eoh!!$My1WavtCZzaP79-^pQ-fa*+s@75_t~ zCokj%@q{knlQNj(%*$#I!N|A)BX*-!a4^jFG0CMRAlRn|sfJB!0V3mKkYF`}9jY&(7fiHkAPjh-i0Bv;|wG?XHBmm$f`<4Z0e z!lzoV3=pLnMOdQEF~7+kND&v+I>m#FYWk~I#qAFkKVoRZN*)3+i|T_-4*P_ja|P%a z^BS|k&o-3_a!Cjzv4Eb1hfY4X{m3zNwkZ5XVAKk+$Uvr;?Bi~tX8bj4L{0N4;yF?1 zd%~FhM}3@WeDuT>iib_zYHLz=8~h64RiSDhFsx{RxAym+sYlqlJ!CDlY3-IRZG;ca zk3o!@?Lw1+Htu*Qo)7#l%Rw{~^+4_YDLow#V<5!D#vfCDycTcRQd6wAuK!}$>`@lv zeRfUOd=G~Nn2!7h>#r6p+c$z(ov80c$InbF7+}>y9N%s4+|7Uk*~f7t3shJMh@FPW zIKIgFlz#6dC>m35c5KYC@WZDr0Tap58~73X zHaxoU4A6)XWyz7q=;-qFD%j5qBYzLKFOkc*dzzwLd$V$iPWu3Y&p$_yo-fFXR&I3> z&Njxm2iQu)Yp0O?vxzFcOfk~ehALtu&6L-eAnz$Bgv(o`6H9>Q4qm=H8Np|)k&e3Y z&v3UYkpJ2xfXL>>X_rBf5E$OtNhtDGse zUt?KFi2y-V)R9g8TM%0yBlGHGvbJRT<178gLvsvWtrTXTm`vF|pqkD*ryS&{De$b3 z(13ZVIs+~#7)z+eDENP~4wXrWwQdnOj+n)HSFiR+loETh;b}@#Qz}duq2xXiGOJ-y z3eSOxbS=y~>x>*8>3x(Q^ei%i#k{gIcQc8UAggxt-EiT6$of{3!|7V1(D-ZlZNX4b|v!gTqiQDPe2`VsZ zUl7ZS$ssX|8~i55E!I2L=+br#1aHuom~qv3CfC98XI2=smd*%H{3-5Y^hXLi5-WPV zOE{~u4*nIZzDf?y=nIyZBJ$JqvW>!Own>cq`#zl{gH^!~DF8=6xWB|su};Y%l^~!% z$DNZ1;&3&-eu)^n{IEgLP5BRKl-#Fy1y*C-y_d(vJ(kDeUdozR#N>T^4AjdKbfdb4 z*HANe?l@QcAu|vxBC>A1SWKCHiYVlhy73*MX`2>|+>umv5Hym6dYN9}@xFW?J-BC7oaio~plO$ZRf_iRm85znVPR5U(sqPrmw z!<#!ik|j>2$i{mjc4am)=a4>p^q3aIt8TiN#+gf`PNsV>>8=kX0x3y7wMda8cW^w$ zcvAm{;beOUf$203<~Mt4TV)PGb%9}ROmoK7=2cCC3PjTqrQ z|EUVr2OwSnC|-tXfqKyaa^gw`DoEU-v|LGLNa!sl7?5#cwLDHFrR_VdD1)6PZu zt9CV8^#%37L5W?C39lC1K>e!)X|i5CJSDF&HRls1ihv9o z*AS!xhh~tGPn*`>v3M2=Y=v1Fy()*Nh3S*Xu69X;Uqh`H6n7Z+y+=Y%>xD(sLBbB0 z{7t?55VO&j98tP`W;c#XXWi?5;yz1@0V*MFfS-J%aay2iSBa* z9(ne0_T_a@BuMns%A7?pMrWXSry;U?i(8~;HmkE?batu|FlW*U5-`yN9xI>@rL0(v zoG+tLK!PU6bxe?5`7TIf#xaAvr$vpxpl=Lg#&&a!39HfDxJ$$AQJC^YNI>EZQ{{zc zhg?M*9oQ*ZNtCxWwUyzd5r1l?3{nmO-2bgtIiL~i`DrP=sx>-#oUaQSDo8o(slodQ z=b=bs5``MeI~OK&tDfR+wh6-rYc9QiqC(2Xw~0aQ_#CC*1z97FQM=k-oCE(j-*G-! zzSV?8Ss!hF_wVKEZw)BwH}F)!55nQ%=!JKfPSimLR6h#qHyfbOP#$ z0Q3LH^ho4MNZ-U7Q~&Ts8gs^MCpxJlK!hlm-=vkVvYtd$;k8ORt(RSo(>$8bPx$kS zh9!v2r?U^-XDPLj0UWGz`UJ@fIRp#m?+!nBew#4kX5V1QtNEEB`0X9&;7^WiR1Tnj zLV;Eg*1wi;iI^0K8gE_)gQi2J0x{t6A$0t?bexZId~`>*R2n4*(LxnPS(ueHm*}Kp z!IixuxV#5H66p_Or=s^S3 zrhc<9rn{u0PGkIKy9p~XU2kJX=rG|*tyK9Pe#gszc;}}MI9HGd(QQRhcPrd|!n@gk z-Ngtr7O{ba9Sfjtzzau5V&;I3u38;bUm0{!`ph|yi~?}z;Q+trY>qHEbH3%t^wLAI z{RC-3PC$?`8}cAzc6mj+8sT|C4sou>cAqx!i&Irj9nfoMS=%TOj?Y!*a68DhQbw%2 z$hkg``Sd~ufS;1A*mhmA41t|e5fGb$Jiic+q+4Tj%=$2r5W^mBS%ohBIXJK_`%wIG z?IcTXP?yMANyl?Tr61nsMxhe7aZw9Xwu%pefvH|DbEGXPnn8zs_FF_Njf~pN+&Vfy zBA{fE5KW+39@}TH05@mz8t1$Y2SlOf0l<3440wmFN_& zxj!a&i$x?D)_ILp+Z6)3W z>y#`=qxlltjFXiyXlY<#w_vZqU6eW^2Y~K>phE&p)vU{0p%dvx=}Y9TS3a)H=L11^ zj`w5x(YCFZPN>lO4^<`1#OvrdFPLqO<1SQ1;r6h*6hX007N-J97)43}5X!9b>0<~M zlDWJAE+nIwQ5?6#gxtfAX>9N8((J(T#~oSC#~jO*$;Y*AsQO>XF*5y?M-|KM9af~b zf9`b-iRStCbz>z8QA#I$GRoZ#N6L%_c#S-WBB&x=84kTpn;5H=6Y4U*Pwg@?QH~s;9rR9P(1Fv=70aWk6?+g(8saG!PFJ!B z*e$c-2tDGr@4w6^g^b|Hr%%LNx@*nzmRH3vhPfZ__~#?-@D2*Ec)Iu{j$)*driVtL+G&tR8@GcySi&>SyB#1 zAWW;i=TPvhjZpDAabRB`UX>t@p&Nd7`_K2sQ@5M-bqIJ;RpaZp`SLzRUB(v;$0RzF zs-m(lbQEECK|^-V7AVLpO)48=V@e8L^7y0I<8&yB=SkX=_+J@a+(Y>CKHMyvO3tGn z+|E@io~i02j#s`}94(>D>F#7lZ7t66Kr`Xcil<%8H6D;!)0q~~KB>A@?n59nN`Ck5 z4fg{vU7ssJe=?L0aPYCwpI_FFee4J-yA+c|asxzD-MKY4{hF`Yvej;_ zo0h0m^^|S`$Pc6qA;_6nf5cL?--W zyyxr3)4(9D^=d%`m@VAWq}h=TYWs=6@7M%ngIgH@@Ojp%g0TsD`fUHX`{OJ2kI4yo z;V_fY(Y5*cEZHP;NOZ;a?jF7y#D0d#Ih>>8a-=}swiU)SJ!%uLLH4CR0@l9pm)~F1 z$s7{m`n9dJ^I6R&En~YC_D7RxP!bBoWPP~*Gw042dQxG`%T(*iF!Y%Cz`(Lb!CN6z zW=&=RU97%q^w_0VUpXbm=u$V@E^Re|^VN2;Y~_yUCBlNmWu)kYrPxg{a_}c!8S-4W zwGQ!q(4HIZ5@+4=E1P1L^J?VwJHk}?Ea(B&bfmaTAaz}-CovBckyu=e6qAOkQ_=~! zsq9qx1FHmc%+K`iu2o@IMRueDDuJ)cs=BW=aTmb^mG#bRJDh>3yuseS9ec5X0?-JE ztN(YX^Zq!eJXl<%SG?!x^}bynbMf9@&0=2j9jt9v7aQ+FAD$*R>H2-@i`QMRx+XCw z?J#v;P4SDU+>y~lwp6n^%Coz(~43+0DDZAR~UdPl~x`C1V_dTGdfk8c}Tr71Z=b!RL3W~ZO z08wqM$C!)78VazM;9@4aNi^1#!1F#k&kT{`?CT0S)rw#@@wc=R2sX`K>T_7_$tUq= z*Cd>EStnwjx$6-DoTCJXQ`^cYb{sqjcp94GYFzZ`K&^n;hO>JINziq$W2N-p20A9yuYq@vBf9d}T^?IJvS(?y+T4ZK+Lf3B}xR-;U- z5B$J|96+6eK6{5Kx#MXk0bdtMBQDcMs}^{~_@q-b0J< zbf25C{PjAH@AB(=ZD((*r>NBTTCV4~e*d`cbzRn`qMujW>pN|4R_nBe^!uJNjQMGd^LT%F zKEF_%pH3%>4mx*!Js;$d38~T{?KNz_WYgfumGs&Ff9VnGKG66>{?rE3zK3O4KiMwv zPlujy>^aXiWRWEm_c4CIEU|@wh|V3JR>MRG4Vz_Mv)WP>--%hkl!L7;8*!3qwOE$< z@(spBZ`3n_%r+3VW@+kg&+hPB_)lh$Q3vBd|8QAWsmSBxXpkSq)k*oIY~p>bkr`}q zUx;13)z7dLB#fs&eiB4;l~7J;#g;!7M~>dvSa8+@IOQofOxb{Hd&Ep08T1-=DW9T0 zQv-Z*(uvDVYBGHWH$TzQQFHS%JobKgLhj4*X}b>2Sn%$FEzcI;flSeL1)JZ68`Fsa(XwnA5~kT+Y(+1(`*T zI{I<(U6}fi5Z}$lxP6rcXzDa;ztHpcj8;#n_t`S-ie$WC$*U*53%D0GJgGjoPFPib zJ_Q6j560e3LUAWvu`_-Bq7_y$OZss^4>cEQPzfpSv|a^q(`9CS0y5Gidn)wWn$}Lb zYyuQoQb`Qbhc5qorZFYv<5CJ!Vyq~;*tGg!B4X+Ah3SAv%4Kg}{A%Bsv+=OdXsYeH zT@&EP5ze!RAFC0QnRPdV5WDwFM)aVR;Spy5eJ}J68tnfAi5OCOQ$s3pzakk|N%Azx zq*QMaMjgm#q?72b{@NPRG)(6!a%cO2`^@jQC9BYUoOja|?Fc3iYJiSPxAotUT>_WZ zf1k*g8?d}-co^h@Bb;Fd2`VW0KVr&m<-t4SJRi37cJ?1kKixp z&?jrR13VLNVHOZxn6A40UBYbVrLrx)Av`?`5`v4Lpg1ePl}m(20u){Xo1%cl1@C~+ z1n;aJ1Pc^7;C~OaZR=n;fSYRw#VYgfv~4@kIiQ{Gglsvm?CJ{q->UITIz1nWfh+5e z_8u`{qJy?93|L*L9;hbP!vv(26JgEwk%6>P8~Tk=?6J{fw=~3qvym{=qT-7E4hO*Q!v?1REJYj>-vha-J4aO; zu5IOL(e0f(5jxowz({my-YaIxWqwEB)aX*p&N%9E%}&QGZ*xVqLgo;)J0Ql$I9p_o ztolBou$~S9NLZbY$}r6A&l;2Bv7~h?(!hbAD)O=a92K)9geUgY1GKYzvV#9OV<_~* z{xMw`>oI5PU?^Cuf6QR@FTpG7p7{AuWq`a(@{k?ImV)uW#q{4No(5|;hm{Y;$BVh; zJZ)9fGFcyNUOm5?_MJZaq*++%*zgY(;uK4kVbHvfZFe1^AjMX*nq?5$h3IE!A9>KT z#aUu>YoGdjt4GtY16)##77PqD!#acL6n5!x-l3y%U<>AY+1bFVh=5xjan0SX6uq4H zKDM7fl2urOl>KK(2XEMp`ir>V46@}6!-a({OBsQGxSet6ZIo&r`Ll9*3yI!KI^oCL zzXGM36*ZG^KiXn%uD`mH`)z{jCc-D)jM>rlRzFUOszl{Kvdey0Xc;gHV@^|Zy=HP! z4X%)3L2~zgQaF1qd-%sN&NQrqZpFBWS-E&JTxS-*kckiVeTD!M(lhD5gzu?$1W5+y{S54dk-vFLbJ+e*AK zHmgC*!V;CX);XDX9fzzg0EF7_z#P#3%K+O9Z$zIdl~<tXn?|C~MKI8fsIa2%K%oH|H-oIP|u8Xc5BdL1*ma!X>E_H1x}vG2kXYF=h>b$o#1upm=s{+fY;Jtc27?NVW3w6+n$8B~K&0%5C;E+LINhJ= z!zT)CdbVrqZW%1j1I-5iX`Xy&L6?oXus71jFto`jN-)OKu^0kNg*Iyx$>^1hjAHpj z7c!Gr;Fvr16=Xvp5X0!7-E0$$*_}vIf_PlK{{ljIX2N9NXYb)V{-)H?hy9=NG4Eps z9g3&#|GuOZV=k=aK9uvE@lD@wi`*2z4 zyFSDxY)vJyqL{H3HpH>wy+kN;>rmnkS?vCvQui+TC@K)a@2^FB6-S0fI$!>o=z#?%&}rHnOCOn*6Bc%ZC|o@XLl~0*dj> z6?wd+>bJ0%E@Hq}ekz@SkHFo;ng9MZ-COSn!u(y{*t9&R1@ekMCE?e9bq%ZC_;5 ze+BSvDYm$l!oj5XTk$hbW&IpQ5X$DgJ_}c*??k_4UHkGOI1=_zcQkPxn1t$LBig)U zC5(n`Mci(xD0WNFAN~7@i43nR`#_w2MFDOAn(tPk-E{o3N#?dJ1cl zo*8p)^8oZsOaF%G{~8ZN)wfrI@*$*yKCb(#dy%G=?vI5(bOy{YZw;4nv0)X27Amzk zIR5XZLnGNz+y98asp0vM`r3dMA=~)?or>VDUr8Q++7sRkfBG32HxN^xys#?BIFOcW{QhJ zO+5*h40-}Su4)sx2s+2OPGS;sV8+U5NYW!oY{TZGzNm{G=gdo%Q-|1C<7k6p1E{B28`Vq#~a>iO)4-_TR@-CWN-&*&3 zZ%>x$>)#IHu1vf4J1-$)WP(_OLD6UFY5DQc$YfS4CSs8f-M&nbuIz}@+d4XWEN?}D zz>s!={J5C1=3{A?vmDaSaHj}HnHn$m49b(koH<3Z52%nNnVZ}9YebnFsSo&(Mfq|{ zqD*BO(?2mM$7QlSJy{COeR)|XP$D49c8370u>`K51piRis7i$k~q_SKC-PnF!|8^RcvkWfp_5Snp#NN@QQ8MqHkAq{kT94&d5g5=mC}Tp= zN9y`WqjYevT9YRib9;3HpB0?5Cv;qz5MGk|r0p16Mb@L4b( ziJeiY{+Rt{6N+!-%h9fNpKfZ>g)+>Iy;v>kz=R*SY}2li$Pc&{w-H`lX9qt2-)a^V zbk9|%3pAttXu@V@{^W6;oqrsKwLO=w>()hi)zR#uhA}nIO-#6m*Op(g&nCK+n*voPPo z{m}f#evCIngKrD(?|$_)5fNVYj<1_&3~%g@(xL_HJa#LDc+EHLMf1sFt-U_G zKF497tYW+nLP1OytBE$@K)niu*p{pCzN`+oFD?gQ7tsOOh4b8Dzcbvu6>ss<+^Lje zX0Qu*TDx$o;d#@?joTDVvJdc9QN(6!FEP6>=or8O2Z8NBi}5tY1E=_!C#9tfFezBH zdR_~!m*f0ljXs}`v9pd_Dn~WmGQ)ig+1n}lCek%}UiyqF>I>Ha6CCGxM%5R2wcE2I zB*3gLnE_->s?$jp$Q#+q2scy%zIB)U91zUgNo3DiIgLqy3 zKfS+mD|-8G3jU8fRnq6{3ra{=IBws)T86Q5$4MK?eCfJav9+ zyWaNwFFYUC*Oro?iJ{^Xi?qK6wT)D2Zrq)7(hpT6u05U-`t4Y;X4k!=3-g?=WhkGG zAl1PUK<|YQ3;H@RS=;uY)M8TwS#H-9dNX<9(2z}%L~kI;~-7aZf(~l*@C-kT8=B?XA%~qEUEESfA?m z|4U#d7~kC{+>GZQtx0oV1VFy;#{WWoC4*@(r#k2u@+(*FnF9U!c)G;(Hxl)n>r|ss zOIbE+kRZHWi6=h&Pkb;ftLz~KjyKdvGH;akt$}M_J$4pthGI9MB*J$>lRlum&<)!Y zy8$Q@WnZS?h1mey1nvMzgxJ@LKVbPb=BQ)& z7qS7f3E6;{39b~G@&(rb*o5prW5RY7_5iVf_5eIEp9}=ZO>KVRt-)4+*ReYA86cXP z`>q&WNDXjKxCTrm{eF34o%jt{POJpjK;H9hUpTBlE61)^yw@byjUll7N=>?8S^tnN zoO&%-h8*nk6HE%%=?kU@r3`VC0)Qt(3m@?X=z-FP7)%Nl{Dd>U5EL6Wvkf@;`+tuG zo2@sKVkpCPOXy{#sEW$Yh$nw@L+PNv^TVSG=*wDAC|pcu(?NB39QPO`oW9F#nWEiN zvq>nt@Rxfz75rCvB(4NA{L_2y$xg3qpv!BdoKsj4`Y@3@a{6ru`R$G8;E}KRm}kys zN^7K())Rz8k@MZ`lY%GH^RuWj#sL}xwYA+cny@o(XX_D@dK6xPHe3V{BQdn|0d(Ow zqbHb{&*Q1`7~K6V!awop@%;kq)%?SFU{i=>5olIz(*jkG>gQW9R1~#G-%^NcV?G2P-K0&vGp{uiNAY}w$^)O zY_q{KiBZuCW&H`unhSnMQQP~?2#>>m1KK;Z0JAm9Y|z8(;>Gbdl`~_>6mQ;?_^NN% za4n~46q7GMlya+khQq%eGNOY)@Rh!y;r{=K$20kXkBWQFad%Is1tLMVjHM(4I|0Xa zyggiuf(ogCna>NAMFY3_xqG|R7xF=|pCMXaP4EkNd+qmNChT8+J?&en0RrZKM^UN& zj~{4RO{z?nJ{K3%J00Ci!s!I%xf9z;x=yeKQFi6`G1IH8C0|Dn1oD?3yMnd;I;&lo-34rb9sGytUIeAP^YQZ+owQ=e`+jk~F7&GX zNEn1>?J7G+J;}b{ZFIu7<0V&>FlbJdY|_07r8fZ1uL7=Dx``t2FeN9|j*nMdSvCqQGBrP`ws&NY}Q;KmC+!lJr4wft+Yl z5Wy*z6;52yB{ji|oGWC>Q{n|#Z~d{%mUX^l<2?QO-sDi8HDFR=_k8sh`c63E{iPPy z&W^WI3H$O#W4#5BnSh@0ovk?GI{bxW&Ylw>bG$Fjm;^u|Ybu?d7gxwONdGXj3xOO) zJX2*)@n#6+J46K*c(klsr`U{1x+641RNIg zoOZmpHG9Lq`tg}ihpS!|cN4v(TU;XTlTyZ?qa*F`KZ`gg)Ba+dee%b})~<_8|K@UL z+E@dsf+zZoG1UrC-{+Q{@WmAQS9p&jC*KfJE~Km5$X$5G((Ux1g(#eXlDM|z9DdOx zEq>LSio54j&G`Cw-v^ps=3)gh@Z5HU^dsh)jCL!Hs&8r{SXjOX>aXD5l%PP&_3g~# zt1SLA&uj!)&`Bc10!R6$-I$Gt8+F&stm0S;{r%SADvlAdJ0PZ(T6w&mzOPN{COlhQ zD%M+M4evH7y-knVU^0H#SW&p#)0S(Vu;9SnkE77`EiqPCmN_!p=*A~FZTnuao>+rb zl?}kTI0L%8-#(r~LFanRMGYd=p+0?9b>Yp50Xu9F^&7-tuKSZnn;6FEysl<5JtU+ zykaxnBLjLp_>T1kBdSt0=wYAyAGwq?Y`Cp;L`P2eB(w^7ACyVo-+--bgx8y-e1Vkf~uWiR}O$l8p{&D>)$ z{>UukZ$#-hxtYn3GFn~*Ea+@3D|b$otv{$z{0Cky1y_duc@%Cr3!1x6B8^p?Xw#XU zH|fA0zb+fm*xj8QfU&I}W4jl5$DbYuljY9VyEF7&qN33G2yaVF?C9JEJzp1t4Kprd z){xuS&GQBJ9>ksj`LcK%+11!(=YkM-M#c}>+olySCD0u{>$MQ!04>)Do?%5c0U`V|9 zu@v81I#xtppnB}*hOCbby^$^Rq%i%eJrD!Jap9=W$bVbB)Kzrfoo z+DI#BB%X~wKxa!L9#sCgJpW{NbVURe5O<$IU{g*;2>!N;FG(MsCpC_r|GvUvgvfiid}1 zWO!Cq<|9@hGyb4PjyP4Ml1r(h&=uoH{phK-W;Pt?iC^GsaF=9MG9y@Un1|UnNN5@p zNxK3A1d77YV615tl#<(_Aqa>Lk`Q2`(X?L5Qq<~h_R63#um(w_Y*eS_;LzkN*Mv+ z`2lhl$KM4X8GozEfl9{}Vd7YoQ1p* zLNznmrZYmif8>9CA{o9|(KSy8FCy-5Y1@R%Kv2u zaZvwsBk$e3U_)fAlMvyOHK)ceY&c7~Cas{)M$+CbuMuE(+|rjr2Wi$JW9eAY3y*{b z%II%lC5g!Dg!lLew4C^;yY57CO{UAlxt?t2LDt@8gb~nFm6P-S@QPIIvktxjxVa`(Jc6icAAmwx2c!H8IeUwreV1 zt1R%=Y*QP=iI6Q%MS87GH2jxBI|QQOk`)oQFUs9D(TJVIcJ^Fbgm?d|k=Vm97G>;l z3p=6eEXt|%v%shez$eJckQEGTsvKDVGAvngsQifU2P$*ix*49dtaSaAJh$PjxH-2Bu7*L%P%Iwz^TwILb8C1O=n#ID-gNz zLCl3gWS9zoI5isaakUgL#+wz11P4U!6r&5G!M&T++)fX`vbHa|)UdrRMCa@KgEqSCdO zmj%=X&kXwr%?rzK+0(rH+FnH8g>fU{C;68*X$eDDhhh5UY$TvE9<`!q(0xkpY0_^s z1jptbk0bzQuhZ8z@9M*8nWo#h#|^#MdKc~E2Q2G+M&E=Z;tRm9)Rzw@V2_a;30e%> zyO=%j`VnHb0?T4oqaa#KucQDl#o zn25G{H#a9DQa>5fSetaT{9L+P#x6?BW{q~1vh*)vjv)x-(5j-1Z+3J1<*`IgV99ve zuf(f!c6et0bLzHKWPA1PR?aT+TVJSU=uXJc_13BG{e6Pr?}99qpcC)@#QYT?#|10) z#U0@C!g1MJafUT?nB9sz_qK|;;sv2YMd{jhSRSFyZsVhM)|)vanJ4#qsnabhO1jl! zb>@*!dM(e`_b^TR)LB8)bubFhu+j|KkG6bIXD3UL9-@|H%iK6$*VBV>6+$SWw@ zJvoK4Z}E0-QYR>c97%V`w8)~|0Y_)3^2Zedq@IZ$B1G;R!b4-5O|2#xW)tqBPezzd zfLpWNAl!y4H2a#Vj7=1pb3wtPZd4i+ic#r%NN_C3Bkt8V;nBMVF%0 zJyaqj7`w~bYM{uUZ4O7~VU7yu3o$9Rk9E)*?NPNTEu(}Trk;4j@2#hLQdc`inhYH- z1T8UNKXBvR7R-?3gR+su{C)S|F5#|2CeP)53C4uX#*P;dwDs}#;TepmxtlehRr?e2 z)E;OYz;uric^i+GdQuwW-%_tk-{<8qg%{%gzVwlOWxIn=wH~cG_#QJZz4I@yc^4Kf>!i zASAfIbV3urYKe-fuoG%QWWb$H+j*}QZ#cm8Ey^#%rEq}J%sz3}UDYp3aLp|{-JY>d zo;}ab(kGo#J58NRN7F>8OI!sTNnIJ!KIRhDV*JZ6~K_nTp#NcAefQ@45Iw)nlW0EPKRK^B@@ zQRHhISGsDP3@tolF7;{0%}Pc3fZMJ?x)y%aD{6c)VH=kr?=$zjaN0#5t)YC3kwQK^ zbkDc?lwe*MFtr*u=3)7(mu0hp>uHRvM`(HDM%mAoM=~~r?jLhYxjoCY0<2q7aRnf= zO~MZYqizR$0osH+b~--{!iR{xb|X$@Dk$F zmaSnT8lOvJv;D$CtQGwb=m0ClkKCkT?jyrb#LN`w?!n!z!)tZgMOnwN|5AAX@@N<) zrJL`wClt4P8<6g|aZ6h~CK)hekU7w4c$0S6#9D!(c;g8aZ@S&-B1pm5#wMgen9IuV zOVK=D7MJPoLRQ{wu|G&5y8gq zn=PVo@^cFuwEro#nT?_4EOLsXwL%w;T5RqRJm28}^%ssG5_?h%^|UxH`kL0vjRFMe zY=ODVQH@2r9z*cVBYaDO?E*nnyYiH@7)DLQxi-kRAk|n#sqc7K6;t9yF?MLND6>I)x5z%2a4Q!8L${3~?>|jmOCPj3FRBawE*5|$Hp#!=gT6Pcg)pe%Nfi$1jv^XQdJhSBjJyOQB-=&aoyo5s zWu@QLoPrzumT8?0^pbOf`@CWCyGCf&gI zltf9_%p`^Doq{dY%rPMZPt&#+y?&(>Q)B69&-Yw9ZpO7{N+LZ9te6= zgwqF~Dbs8-%7og8Ok7hFv#6=4#b}HlOAu2chn#>`8HZnxnj7ndNx2FzQDT8W!%Nfb zmLS6P%=)YfA^71fwtRCE3jx5Rd@jYct%7(2cCusQSUL&6#7C8*-tyh~+A+xGNS$jc z@pJxEXuOd(}+wp>?&n+gxn1@T~=Y$Ey6}yj)nh}c0#gY&&RGZPMcYo%GB9Vn!Bpu)3a`CRr|R%}|wn3okup^-L`oyro(Es2*+ zto7{H&e_T=*xctuT&QhbRpY}p4R=gK5^*qXC^9*Sp$vn&zh_Kh$} z#5RB&;zCK`5=o`!rJ>gooO<}zJazxFu3u))SuPgg!eT2ne5}AyX(fUtyiB~JNv%ah z?vh^r{_gk!2A2sUNcIvlXu_!)6H=-uE9M$Q9G)DO;l`1r8{PDK8rjE6-c~*`8O5A* zvtTDv&`oz8n?nlja$=nIZDBuIEj&zhr)JRn3`MpicIt9c9{|6Gx>DHALs`^_PE?}R zl(kLgI>~E#*2HyMt7o(qFsiF%0V9}Wjba7kZ?WICEHHd8Y-MPv-ZCdREw2qSIM3UF zp0+qUh)*NL@zVhp;DplO%ktKbml2!v{5#Wj38kh% zGKPFW?)^~VpceOB_KJFoD;lZw6;sMB7^TP*JoCS1H)VlooD=tm6inCqj5M1}p~bH0 z3U9r4jisu4v&9x(48aETCu66Hi{J`d$sPFtZ&tg>Z!P%sZlwehq=AFrS@2^lHNQSf zLEFwrS;@uf2{bFYkFXZrC+(uisj~H^L{;@g+9k_XC63*eo#}6{r+jhX$KcJm0|bCZ z_{(waGD9*1j~W*sU!pqNO#;3_?detj`5yz&d*-b2I${~H((=))p}6{RyE++6m}Vn$ zeoUa01f{xA_gm)00h)N+%7o6puK_8G&P8DSp0x}~n`-3as}fRIA}o#=WbR((#25P~ zDu5GIV2mK-*lex-EP#9;v%6ZhPvdfA=XKG#iJl+dRK`7_4JF7dMJ`Fq9~=;6TGRDI zsvZ*-l=;yGsb~Df1dZKicGxj-*Hq%89(^>9o;O-V7)R_9D^mM0JT#7kV24(9PWYg|NU?I6i{(S|P0zm2VL6i=$4tA2MM-4&E8 zVF@QcqsUOHL;jBJP@>Aq$8Q{fn{@Zl{0my{jI7Mvp-R}u;V;O_9~_e`X{OR9%G$sy z7*@xz;uG7axiS{8a2nNJ?KPr>k*q>TmzgqqAE8Izc@vJ6+HTeHB}U$*ih z4%-iLlPL96GSbEMYe}ti!HPPHfL*t)csYt}BxlTlG8uZ|89)Q@%kU@zFqs`phRVm3 zXs{yMjEm!3(oWA=XS$VGQvf{YD@f7rdCJ9=T&HQ)yd??2l)_fS!0z7>_7p!nIvcer zRCqrLNMm$wo;(oac*y6}>1VK;9(tZ%dK#B|3FNsEF7^~IbctWsQaQe^e7{{gRq%@D z`h2T!4~NzpUq%Wo9jR|S>cse-(zH?-Pxrb+Au};j-rT!{1C?wtWa>xwI7= zY$#DR>$D=9WTK2leu$8%EE(W=up!9SHS1HT5iJTJ`Z#?%J*l>f%1Dvv|ET}=%-dRZ zF$V5LTjU&3y9z+Gv}7ye_IwvAZn@N=mvJN(rKRDm2I0!EfU&Uk$H$ltA?(TsQXz(> ze^mKpHoM83R-E6iN;yli!AIrn)mQC$r7A+~k+<{A>9uP8JqMv`XG#p}n|QbvcK z(lYhr1fliQ9Na3;gT}`V-tjZ1l;>MfCz9@&r!M6?0A5Gh-4sI@4I?qAG}HrEKj4c> zSF}+B#sq#ILIKo9WiS*pN8W7*hil~;UX+@T^?=<$PVDr)x$pE=Bb3PdgM}1ui%3Ns zBwsA?25w|<4)d5JB^mNtH5rxWkgZdmt)OJ4^S9>EZ#V+V^ro4X#1%bkU*lUJm-`82 zkBvX|=+aMMqvVG86L1&s&$_!=*Ozr-ASYxJV4Y>;Uw9qw>`0ewnTgu9t4imJJamd+ zgeap^wYv@PetPMa=*kknxwa&KE~Dg&7sdGG;mH`pnG}d}G6k8?%%01z$W_ZPIOyz) zajuh>BQkluDL6}nPA!ke^3;JVJbiGWxHC11ui%L~@e2UPoq&zb+_Y2(HLo$_O2_T= zGUdmqXp=+x+gyKz{^Js#m-;6iF23?eSx{0d4aQ`MGUdT4mhQtp*)N0b+7BEzA1zxB zP>#~j{V<7Kh>^@~R+nncD4yb{o*D~L>Hqmxp*T+z*KH3i`NE$&oADt~j~}|>f%YCu z+o6P-?lpuT9Gd9NM;?w5e|kdX3=ce8#gn2Qm63N7Ym|-nlB>es)C%k64fi2(DCKk= z(0qI#u~J8hzM6}TjnxQ}L;ATC2|#54 zvF=3VYl>l|dRD^tkHfs2Mb4jQa3&kzcWtM`xqqZiXNgtRpuT%FFfVSzdq7jez#sg& zKQ1n(p#8yZH2iNZ8;`S?cWSJSXZQzu{qR{77B+AXk%-0(5MVh;(F@ELP&CKq8bVbY zezQ1S!r|rkU1cH2qdmceeIuZ(bFK;>+!RvxXaf&NY6aLQEIET!B&X83T^lkR(#etY z5~IA)^(Dz;plUh18AXu!s&K-XClkXPV2F5 zhlj}M$17`?85hv;|CWqkb@gjUv@1a@QxeRM3E}I?_EJ1KLHy=&6(9fmEf!Giu{?!`2U;SrXFl$o!iroo}xbsxU1*Z3FbTE?M{$&T5M+$y#` zF}*}F_xVW3$^za0umDd$u)jCpwH{(+HaCB@s1r(|C%%}ALYwt|^HsOg6|!u5q2A;1hOlx9 z_a%89DVjup+9Z&|m1czcMn%S$CQ}*|>Dck{^k(e>jgQpVB zaF}1RuqCS206XyJ{2l-W&}t!1e3}fEhkimVgs+8=77?af5%ECf6`{~&sDj$z!WsB{ z7aB7BzfmS={XEkMvU!^+FSdBZPbAV6@%hWYws{Ecy__>~$+JP+2uu$FQ79kBzWq~< zlE}#%;?Qj9^fGOio;%v}k-IDU#4&<3&ylu)C^R0Bm1yw#BGFd(L|oz*V*Xmgo_C14 zF_sbdI1*&Y&|Y@ZEn(GI_KF2B6KRbuP5638EOSRk@I7}aQo_W2kVtHDG3L+THiw{1 zNYh11v9MD_-J{Ipe^lbiP4l?7c9D5S@UmBSd_^@Uq;q%+mPy+><*R`0^EUU$5o_lM z__fUUU!n5DW7#XCxz2(NaZ=%4pQd9Zd@2Jpxs+4bu80bbG^nu1Z>za2a!$oYJrwaIo>l zuH){;2_kMmh#nVhS@Wt;XrH#p6ma>7Z!p|9*EX{Ajt@N3U?u^i6p*K<1SELyb~qR% zgi=i=(AVK;C%`xBWBWgQMw?*xo{RgtfVQ|RdGb=s>!9rYTpONe>Fr07JeM=mNEYG& zK`uX@jpB0fejv1WV@2nm3iYlYIH0=6iD(JLHM^b;uZ)FdH&Xwz9C%5+@}wj0Lb{ z(q9VMn`q{?MmWVO1FRiF76LX~dmoNGshGm<*JVo| z8^DQ9p{!3p?}obir$j{U^TlXf=fpNKCH0_8Ok><+V@~NlHks6kq5kc9whP2Sc%PBk z2~JdfPeNr`N8^Nij;;fxe-r0`)2(Nt)YZpJhZ2zHw6cZox!|Zo2X_1xHyjo$_#x-% zb1K7m)wyUp5;(c$Z97K0`FWpAY-adW1ad?fi@f~j;RAcpF)F5+k3C~70xH|GKw|q= zYqbsbp?#=VY7?~%J5a>ZQ~_CVe~~Hq5VEpH3c@f>enSY`lZEz#t)8`LOCl!Uju@iK6~-x9VcGS@7xas1ax@iJZxGEN0J8ur z#(THqnx~WwTJ@jrne>!DP+#P2Z4el=LUHr#i(y1Mo9NA!NZ8>qqnwJf>qRU@OYquM z>ZAda3Lp!ME2@HPnu0=#ldx*vtH+j&R-o9dz^*L$>N3fWsXZ3~?~Ol#6gHu#l_jzx zdPpbHJ54~Vhw$=2n*?^EE>?ap7Nmv;9I|e&U3YI&NHd%buGdX=UOY1*bj=iEv}5Th zMjFO_ZRo9st*^7bi$YvWuXaWAcgUJ5r-L}b9=F*!T_s!<%n@ChKBpX(E*CutLNw#7AG%OD`f-dJ}ZhxhjR z?Kj}+zm2ct@4f!%N^J1lp&w`Kxo|%zeEWjS<1%x_Pzv7UYd^8Z0H!U^uPqM1zXg>4 zTpkI3ayVwD6~1df7c4k6>~%mZQw<&Wmk+Om(;(&Zbb(z_0})xgHal-w@GbWj%QHRM zW%2Kvw4dZG{crYm6UU*P79X-N&QlGz{plqzSe=)yLsjv3fzhrbslrO^zN7i9x%H)& zZ~WyKzRsN@>p1LZ`1*@bX{?2`z~&9o3q5cj8Fl_s&{+| zRE6S%X|0qa>xoS`WwWv4YK?V^SjEbcACW4PO*+ROD{>=QriGva_&dd{N4nVd?pIkk zMLq5nThe+$@P%dz&Q7@ure{D1B2FfV_e!dbdue9zp3!w7pV5x>pEHWMymhDpa0oAJ~ zOZD{xnV07lVU@-&=z-3?c^%o8=Jkt)CmcE%44&NBelA*YY~M5L3iHRT^*-iRo#uVn zO!y!ZMbmqgVgCE&-FZ>`w z5{`j>NM17>5Y9aqSWp>-8?QT3%DpwU)-#NQsmwfHZ~l-EA{2D!(y53+cuZOdG%E8=qvbzi_$o&WK`g?4u$BXV~PuFu(Mw7u! zm00GS$^hbpjLR9eDA=T9I>j>(n5bf@rQx3p*9RI#A+e}qR>rZ7YZc)d_>%}7qCZ7n z`MM8Xm^nSz9DYCN{B@n+F|FyU-UEfSu@O}=_ ziGCMbSu7Z^pBRnj^n(WszcVam*v_#~#5OeyS23?*#fvsK3~pH6G2t=0V|vEO;G`GCfv zuonAJ#{3PaV9WZ*Hw zW0u5rGi9aj883OIK`V7wM%J--dGba`)*~iQ5PT9f!8Bek53riQ@tzwy^Ojc+Q!;JaHs{EqMo^PYEE?mG87 zX}_*zZm^5iFc^cX1x5ySie@1aKZeQ6V)cvWB(Z?Qrbo<$yS_<(Rlu5X$IWx%<);S2 z6rtQgVM#0tc2)F>pNYgWR{9>$5PW7*$3Y z6;Kb@mHU3r#QPhP zH{m;%?rh%?-wZ076fnwO1a-xG%~m+Z+ke(9|DeUeBFD>AB>^da2Ul3rXSyu01J!y? z*03Z`nm^u8&calh_EevrS%u~wVlIREm5lu7@^xY6A4ygb|In-r(f0L$@5rAR=>_@7 zBwe{^`@AFI#4NA9C0*e!JT5pHYOv>qS?u_OK~^7r87#Jb+`f*iKc6y6oxKhcx@;w4S#ofV!x}9NPaIgyJAkj6#w_JMg=1o)*$x;e#x@fk=#I4?3{)Ma#-N^K)2gA zBY{=4CH~0~ixxR7a+u|@N8f_Y_iR`J!LbE#-V#p8>c|%04ffXv+k(upa@c#`g4Tgv z#p4ic!E3;#v<0jKbjJSFm>VYIF(2*$LS(37sfa!BDc~pAvtifNEgZkJjAw9)W+5>V zjuR9X_oIr<=h?yF;NM{J z{;;&keqS-K`rxksd%7kgtp%`Tp6!8V#mzQsoDp(Mp?C(P2#2l(z!!peOq`}m(RikO zn9ie`W86Q&Pd(!042kLKKf_Mkg2C4qb`OBceYp;jNQYrbSmE%&M`Q5(FOLh>t1K{4 z`%^9arJhz%(u&3(pQ83g5`$3g|gD#L1HH@ve7Y-Y=iSEWRrz_J0At zc!Q{1&gmQR@5}oAnrncoZ3zlKFAi{PG`=3=scqrN)%&^fan=lyN-j55oZa(N%C6tI z?oW=eN6-GjF1B+p2)OY!^%&#cZ}EO3*G_}me~wv~@G;nZ`Fuh%=ZdS>&=SAE{}tgy z!Yw7@JgPse`U8u5B-I2}-^{2niVxP+0?Rvw@h~X@`hS9^vE%UvSNLl?g$WMxV!>WcCPnqcXn+ZSUY!Fn<)UNE0r` z{zjA)^n7~;YDNeAj_dg{k&=$OOuZ+N?zzfMCQj1HKvRX~{;5j<=-bm!M9Gq&0-G5U zZkrnu9ZdQrE}I_Rd|CO$t)|Pu!1d0i|2@_o-zll>c<{Q`bTrsd z*ai|g`g~Vk)=;ZC4irhT+_}f0MSBu- z8iU6L2BZM%>uQYnWN!9kH*K{>ZMR>M)eY)n$turfR9`C_ARs$J8`91n47DY3+I&_+ z566-(L@2qku!V`*Vz1Df!?b%=*etx8U7&h8P`OJ>EuPw}?6pdVb+3YjU*us*^c&Yd4mUaA#J1A9>R8SwxxWdEVK-@4c{rg%T5Mr$nY(;c1bRb1 z{_9PDxv4byCoU~2fzK9|GkG-u&}s2x$7YPyTWL_YHk9KgglG0A!{gfRga)CxC~3Ub z8$W}KN=?z?c9e%u8zY5%R@40*OJ*2MRH1}bOh33RLAKaDG7-$}VdgCBGZwI@Z0YD+ z(D@Ln_PRXAdaE%vx$-u@t|QURp<;ytYtJ(n+Bh_|P(zx!YEe;@@0CBWjPdRO++|b6 ztx^_B8vgZveQTc;Mx}uOrIB9_W)i8PU)4RIM$d|;QwI!ZObVDdiA|}px_E&+&PHz^ z6484dMgYJfwW+9ApU%d|kE7HNdd@FosZiPQRJZTtg#M5wXml;4KcoQI_wtiY3Xw7g z`*jN@+@V5@Ymio@cUu+t91d1Q9ey;qy{$o_ zi`unp2*CaT)tmHXWdZQQWkK=JK^y_*@$V38Ko0aKWF7zwHT_)ZHy3rr_?=g(9H>5J zr{IqWT@RmcsJ_9pr-K-O#6(>Ui6vu%E9~h_-NC`?m${pEAj~i>&^_?p?e8h5WKEyrIMv zE(T1K_Lweu(jKa#dT+7 zf3bYZ&Yqx6#Ip(gyHg4gK&e8ts%TZwG<_RwH46K;&`}`uG{gk_D732= zQw&yQ0vxPxQmYeF?ZYpP)Yoo`V+_XO(%lgUDo!kA60`2nC@*JI)sIBgF@(XZ# ziV$%4jo>OUyA6|q>}55D)#zKi>F&jusOG5C_TmW5o-_#1bfKZC8)lX-o~n^Cq%jBi zArTm=;(7$Mn(Q^IrM`z2(r}04pL+({r%KhX!8{cD2Qfbrz32mVFDYr?Y=+SJWBr5O zkD_FgO=2mqA{lEOKESR|~cVZuI7Rq8S$f>%9z=*I4OxdK5QL353oq-^1YK0VRUq3z@ zb23;b;f>4YC@j?V^o!75wN&}<2eH;{z46`u)3N;4B4S+~k68S?Bg8{=cy>EX#MD{A z{pE&xT`Q3b2BN14*#gdZdo|BnYg0ms11b+C>dFk6agiq#E*r%zK>6l@XXJD z%nF<_MFKKU--esF|6dgPTYL0%tL0q@#B{JPa)qf$y|9CpYSXTO)wYNKBk3QEY>_34 ztD-KpI{ks^`ViXweyHY_pD6GP0Ns~ zg$%@8xb)MURARTgRj^dJrKgm^Y)%?+Yd+E_8Xo-?%QTLhMuIbCqk2)ax1uN(wzY4K zC9tP2Up1p#^DpykpZK_Q(-7PO&@-L%W9EF}Wu2OPDwzylU8&A5z>h=fH$CT{Y5O3x zenQY(ZrMA?jioDW!v5nfrm-tunB~sdgg1DFuTqC(%;@UeZr7p3O^FU#I5azN+DvyS zNk%ZgD%hxF{|L|BLp6<0U_~HDN85E+0?V~Wm?lS_HqG6U)(@_^q7EeompRQ}87m4t z9lIH#+X$wFSs4i3Y6=$X`+NrcNe}4~zI{;Zi)DoEsD-<~?QebKjdrFY;@v^R(?MrE zuY_~7%b`!YF6U$m{L>dRmf4tdmpCRRJ(Hi)7F0AT1E#76~M;9N$_1Ge+02M`(Xh&K{5e% z+H^%jFgVLxvYvfY?UxdeO~zB3{q|t%o)o7@<&>vD<_u(atgWB~a`+SGbo;S$Yd$Xm_q!r(G?cI*3B&3K44Rl1s3HiTKGW2VzF%&e zo@SLa{qB=mz2P9p)}Kum%5qe&9~D-|=SQ&Zj@d~C^QKdM2+fjoD7JlPX37-ouS2Ms zO6gHVEyLRd5gb3J8L=GdtVEASZ65Mh#S|$tNV8rowQnxC<6o7?MMEfbD1p-{bWq}z zKrEgPOTzX%TUb>QvRUl~L{Ef9$PPc<0?AILMG!Z3XXV1POSNHjf~#lJ$%#FPX>u!% z&x_BuT4R+qkHvtQv^(k33O} zxBO3T+8|F>I8!Bj_ALn|F{~POCoWRhC1(wq~J=3D3`sJs>4mjPBM``mQ z;oArROaEi3J$Y@(ooWvr@T8d^RRG7|ephxrIw3ueoND+`ASR~Gol$3Sa)CNu%QGY4 z1|EJ_g>6auc5f9S?T*t#e=a?=lHQ+S20$l)%9RVqHtCv7phku$k2)qY$Hmk;Z`_Z5 z3aklbgPp)h%&UEAqRz%*hsy6y<}?97IXp0=olo^lOmhOL`}-5IK4I3oL##-J|3{m1k}?$kk^)m`y(y&o@R@d%nh%U$ zu3HLUhVuM~1WOTJbAwLI=DhX&{!fu8GCm7#$X~x^di^S(fo|PV4p+Iz==3k_$Nb`Q zPLo?6qbe^Psc`gxv1zvmidj2MTS%oF#>rXeC(AHjoq&G-NHXoYD^Bo9V<|&p(1Mfn z#~^+{ySU^a1d+G2z>Pf{OCuuDxP{o185W2?(U^BTpN5)*t7?`cJdP1Zmuyom+Su3?FJLCJaQb@uyVOH6YhYjtH%L*E{ z%Ol=YQ^4=G*pCC}N)0|f7=H6GG=a9^ zAsehkqtV=p7LBQUMUp9^r1C8*OW<0HB=`nrhgp@69q|WDeW~l#PDOr3r_#F{QJ@c^ z+lub8?%!a=nm6&EBliAAc#_LRTT53BrB=}c(t(<(dOBS2T<}OPEj4ds-^$j^YEML8 z3@}0LeHa~J%A98N`Oi5W(~GecbL^pyPxvCgbc|#0M=N402vxB^z?jZxI>^42mUN?b zP3~q(_hX(A3F>{-d8wzEt=(uQ6Dp_$I^QM-!K4~-X>BL7w&_-&< z=?i;i@N}{3zSq1~rHs9iIc@#t?}Ps5&%gT~=FgX!6ERx8Y;P~WkGh~8!-vJT{HymT zelo;W&!AAnBZ8h?Xq7_-e^x7dj0AsAErEk=7CNK$B>ZH)qMY zK&u7hfz`NO!Q^i}sc!NeZ20bV8?U{MEIYIoqWp&m+`wsP&dyq>WY9hqm1EIT*UC}^H-^#Uy z5%f3?HP^ZTWgIsj311J>wuOk(8_P8!kVFFxy5*!i6TFr@F8LK%$6c(&Y$dG)o<+u8 zRM4NAyV&gg(eH!}-E~SUsA9#u!C@Ih)33{e$-)6{?Fmd6(i8zej7*lB3B$b@*sxXNtRT{>ooUQ6Z15CtFAh^iZm?#jXV z(kuY)i_)17^pHd`IhKh34v*;qK@Q)AL6@iE=bS-YG_eUMQ7qWG5?;DhpQe4^-Dl_> zGUd}#LynaK^{BBrB=$$lGx#PB-PS=Aj#4|*_K zp#{>q&XDpW+-3{-wYIR&9^gb3U;v&**H$FM7W8B^lbXlgw*!R~E9yGBtV7B}A(7s< zDEduEbo~~Ij*Lw5tZ6GrCgl7wW>%E?$2y{! ziP1_J764eqMip&(X5(mv4Ez9wBa&;&@`fp zl(=qez#<>N5(2?DmxIARND7%E3*2s!0>AP^9%qCFPBj~Nm+aZX*=s_P^H7AFa+AnK zG0j&ZH0*pZ3ja_F`sy0YnTYPww|LfTz;8m{gFqwA*en9N6UC>~sh=1tpK#b#XaZrI zS~v|AK7L-;SNz&*Y=m!pO>yXfW8)liwRWXsC5USR1Jcf8_>rXI{?_0_!mO5|kkpLa zkD)9SU`u_DJwl8Wo`)OC!_Df1NY3mQ2j5=F6KPVb7?CIeC>M~eHSK`vSXdyt#q7p`@R@N#bwM7k znF|Hc?Y!-lk3pRF)hR*1E<*IXV~<-xQpeMKPlhk>QB#g)mFV#C#OJNe(N#PL*FD-k zR%omNm%ORb#r+HUiCT)zJ01ghS&g=ELEY1=7<$6y&q!)Enis(l<-ZBgKJkIkX-))drr0Th<-FYy>)hEe83aA$@A#4z*dJ}t2UcNVFC&hc7tS=q? z><6^~6I)k2kp*g-)2NpL^hM-Xh~f4h+zQI$wT)E$-Bj@Zx-2592>)mBmSWRJi_c)r z-2iXVE{>{XkTx+M8K}CF?rjI~=1ta#3T}EE%S{g`ciIe;{%CUSws(%E{2}>2TL|9M zM2LiLN-fD-CA})VejQsQ#pUxwZW!eI1theZkTEo`rUaoc`jHwK(h5{uFl{|XuEq@c z)x3E3hz6_vnTgQ1@;gunC*nuG@(wxW3fuskCH!d(J|O#QR7}HXPog5z$z=5By8;>Z)aYrw9NSN*D5`zd&5Lb~2;{yA zS+gG^<|sE}X!_g6yG)9IHDFl?GGodQ?zM;r&g}tXSnQg-+i1i}K(KygtA;WY=X!%u z1gsAqWz@iH$=wm%K^n1UJsAI@9atS+(&*j~4Um6A<5g#E15bdOrN->$O~}d2+5kl4 z5%jHmC+gE>pF3HT-kk30W@6_L=C=RLaI{k<;nrCc&2iX#!JelL#<`PlHoOM5d-f@- z7P064LAf8b=oH-Kn-Sn`^4TW}Fcjfd_c@EZhRQs^k+qzu;35*9N$C*xZzBm|xi7H2o&LVE7v z+LOtSJ(C3>5pA%gmSwUr&uTpz$?w)wOReYr4dMh6veutThZmh(NfY&&R zrjkC?Ua2hgz--p9ybe|26OF=s*43S=Ht(Pt-Ja)AvptJz1A<$0a`+Pmd+<2c>uh#|)j|!pAx2+V zM>jmr4;nMJ`0KXaMJQwLK8yfJm;Oe^Y3xbxQ6$cADTIO>tmVOqEf`}patcx7l2t1- zd>}(;b9Aq$wDcwWjn)hS_pbcXfOtd-U=hY-B^W2b4)8HHE>|$UDl_GRZb{tmJkWBVB=GU47hl2bsnflsvpqDd%m#lQ8@cvxiwh*VAIYAne;VO3 zT=}6sY=yoq0P|#xj|z_Z*TWme`f7Vt zxbp%@&IsH-RWPg+Rs*_^J8~;ne>as3UoXJw0&bYJzHkb^$v8U5HM`))uV0rPi$w2rK=T!B@R~MPjPe z8qh#S-OUc)vDQZqJmkWypBBQs@Ep0h<8D;B#S#uJ_>k5YEUjP7Y@VaLx^Kpb6VJ zZ+uXty0q%Tlp4V9?>_J<)~345HFi4jW{)YC$|x=#k++5yu6^ilRq$yZ6KC3hH`oW~ zcpn@qWp*L?lVnN*rg@NsvBNZZOy2scv!B7x-h4HPrFY@?DWsL29*5c&SRWiheJ4t0 z{65=|`C=35`a#VZbS-24AZpe>E1deQQe$(Wr14qm%IKLJG5rWP0eBmh19`Ze2{~l6 z9?w-1EoMKV2Hx*OWHodVQX~9w>RBb)Tkw609g7dc%@4>AdBM?jaWZUb+6L@NN9!0M ziPUUQ|8;;a#Xz0j`_1nU%C=yQ-y`7Q7JnrQqnd`7qiy}E9f|^-TWPjtJN6!EU?Zi! zG=PGD8prKdZv9IgM%ewYT06@<95=;mMI%Z%F>###O?SM&6QUVJVL&l3_W_}e=Hrciav`LHR1 z2X*R$xG#aqT?MAlMC)an9ZTOrVOlCaeX3nOwM;_f zuoKk2kM}YauVTH50E%!Rfev%YSZ4y?1QVvmuQZO$=R%8Mc3pQ}Sm-c>Q|4kinF{?F zBEGww9|H13budQn=jEUEC+_@7b)A~eck3QZ8^5lfSeo~q#n zolj#m>Dlmf?Rm)HjTZXgG=`4z8geN!D!Rr=pda(THL{x@IYn zod^^rDj28<3=}ps3~B;b0~$>GHm8{m5ROVufLJE48Ua)ar!z7MdXg@6n^u2DZVkw2s)u2QH5847>W#YMdn!?)}pfpup z6}S8?{5!|XQs&2YnM@k0GsqsgOU;Rn9~5;yubWz#VzTp{b;Zp-T^Bv?-A)&uPJ{C!qi!HL+gsw*uhLrU&6~C41ivD!%eSs1gG03COH0>o zgEK!;$+7q)2)d&=W%3}wjnj~Iz2&=#_$Tt)8haOGlXObC%O%@|D0{az)Hu`wE^BPO3#o`Ot#3jkHC`n7MH zm8>*brCIUxRW{`x;`Jx2^=FSA)1o%8=o-)(QmNQ%2~XL>*fc|?dWWnug34ae0sijV zog2Z=c>X0=*8k|QfKw-VTBghztU27r;p~rtquU*Wa5CQCs($o%V_wjv{_@yS`1KKW z1LZu(up1E$^o(nh39HPNCusgTj=+MTK-JrHK|7vK*&cu)--w?IOEA7KAq{G#(zF|k z%X)S{%zJ`7UuyNQD|CFHgZ|k%QoT6%zH1Wey^VP;S^XLq8E)^*x;TsTMQuz<5LuY~ zJ;L#@DJ<$<5>IJdDHH)Ht;zZ%CDiY@(Dmg+CeJNMDxgG12)XKAVF+Jat{N8(QfN|; zHwnta(Fna=4tk!E6*&(VkS$KCp!)Spx?{?yj4k)=D`Xb1;D!gU+avklwpAhL(gn+= zad*9VSh#TlRns1yX~cqYf)pG6v1gJd`t_!2PhZ(q$AY}-we~+qT2B-!12+-%)_v^2 ztW4Ny+)TP-T758Iz{I0^Tb`+tx?Dq54?R>Eog$b^=Qi0pI-M`H4A!5Pb&m*u=Tg>+ zvrErMwm$P~@1ELfffkyZMwW+jho;f^@^;V?C;8E2yeMX!jq$A787A4X3yt{JyJ?=8Lm?zv~gjhZ#HOr`1~|My(G;&a}`?h7_b zJ*|l}>AHREQw#c1{|Pj9|EX0`r{0n?v$;BVgYU!+whWN|mI8W6vTF9}%pDV6N9fjS zh0fbAnuM}edlYO--24qwhA1ySX<#ZYhWz@a-A|(acdiESAI`?ZZ)x2R!>J41ZVn1H1MNuZDg#(Q)tU}erliQte&RWm)O%E8k;B%Zkl3bFL!BL*|EYELZy z96vl&dko2$j=yCAvWViuDK3ax_DSaCI@u}5c!hf4F@m1mZOkJUT>}s&l#>REXPP>0 zgAg1a{gymR^Vfj%x+Dk$P)uZAZ=I5Iw<#HnL`H;%ownt-K!I}f+cKbMe1q=v!nidN z63)j!8O^NvG!4C)0UYkI7PiO7HH=s`wKv1MtWg^WY69$VnIle&=Q4gb{*5I^chZ1e z|5=Tk4|D>A4NAT=zROF&3h%O}q3)5%3s+n;Nhy0lV=s*|T)hcqSsL3#c3d1xMr)(! z@zai+s87fX0pmoUg>-@hOIs6W%hM%ZqFSTW2f(3;&?Q6Mfwl!WwrPZf!TBdMjuUDT zn060jrCNinpa<7i4hqgY5|Sl z0SbEURFK|IGF1*SlZHw(lJkk`#CrF%_W$_yYT+Pw0tZ{Jd79hX)Y6ShQCZRiMiFHU z%pxS-4X`3Ry`ZFxl1`H2$E*1 zYxRM3vG6M(2#6(zS#NbP7YKhl5q6?8AUqcon?TS6@wf30sjfOa;%~Er_Mmn zm0FUV7G1pxs%kfFRf3MF*}N8CE*Cm6E#dH{TEL6uhd45CW~cwJiux~oAOms ziC5?ixn5Kxu(34L*n6!Z6 zp)pS*FDwl4R(DXc$+>;$g0xP73Mp-9qQmDnr3SRXCvE|~9H{|bgik-Ac{(#k1z0}L zQB=x!yvZB-QXN!Sf1)bu$ZKP>4T&R9ilgOy>tHF#<3wRZSNP?i53G(ZwTr)u@>P2R zZzWN8M`(&-_-FyD5BZV!b|CXN0jJNCl@JE#SN4qF%KIPq1-Z39MvxFpEOUjZJ?I(r zlfE)2T|K@sF!T@01Y1MjxC*TWg+JO(KU4m=}L zIaI+MK(27^2dyD8G1%4x=9#N67`zDhw_U44R~$o<5U{3!_wQXST^iWb(itGXdGH7Z zTEY>&FFs(YFrq>#u$r6h;{#~2w4_B&0y&%RwC8 zRDEmXyR6u%JVZemjwwZe-eYd{PWjMqs*~le6_Pt z(Re@4Mg7Y>0-$ge#z;z))Vp*K@P?!C{+b@x{++X(7tBbF<8x?$K0bC}+tAfZJSE^C z#2_o7KS116S_J0ei)GW2A(Tt8%WimTa`pb?GuZY2O*+>;FTrhyAn~b&qUD8ULHQ4Zy2`EK#o^WEeyYA(^8{(73XfWa1E+fK#1We^cGigY2E4gyqfze zRoM8(+7Wuk0NA|o$l}n!DM9Pes^_nvYE0Y0Gtl}ah>r>kvu$}BbF~8+z zQCLvge1?uJGi@61ik+qQk6X~M1B}R=yl+FJW0n!RHHUYDZa6Ov;p+PvmpS^tTgy81 zN`uoQlOJwk?@TZBQ3?9=Uv`jLsdZ)0lT-H5vP26kgd5;pr5vDHi%AA>PsSSH>`s#s z;5utjfe+TZqF3)qnJ0CS8frU<+t<%5rOsiL{G^1eHk25TN{Q%m!zSSV+^6ijn7v`O(B| zteQoxl8w#Bs|%<^RV_`5!6Z3XcQG{U-6pvZAJn&u5uG7=T=PFCC|!^I7VA9Gbz2_S z)EMjC>8au(XPoh9z3WiJhtIeVa2VK0p7ok7xKp?iE;*v&Ete8#SfF#WqwZ5a;t~Y` z2ZAMeh>HheB0DgzlpgUS_UoIZud~>is$YI3YGN1N2cFtBX?_xnBz9^Z=;opJ7}b`k zKQQ<+J{%1~6FaCxL>Vz@P$c0O%qfx`B%X*B$t^}IY6CA4begpLSFMUdsHjUWc5ytq z88;D?AucT`A7zr9B9yKr3U6b`&7eubq%z;*UD;3zUdPgQfn9vYPgGCaSK=L zPb4IQ5dMbj&OdLdX{y!_`&uNT-Kue8jo2!cTQXlH zEV4qYa-}OJmyT-(1|$SF1@ugBlvp_W%l=g3H^%wvLHwaagc|)H`%C>ciKh`>LDmqw zHU#TmtpTYF?vX6v5OIfpLC9_*V%m=%jRV@jkaK2MrCoThW?SS`p`(e$Gi2doXY`0c zn<&86Z_i3~$5^MBdF!pd;oDL{;t#@7V2pikdt11WP9|5?@(#WJ0`e95)S7?$etP^u zo}>N&i+9WmBlp~jT%MD+mjioz=*x3P+qCk!tM!j#<7Lh8UZi#(>8`AinA~a&ByR-U zrsb!Sn>r$aQfPaZsRKUpTP{)`Qr5X5^`uu*F!cci1=wdqviRD`rV~m^FPL+JW9rMt ze1)`tG{hifxip=2&}XxWlP%v$*2vGZd|YheAP`wATG^KQJvt4#Iq@-5td!(Rj=+B+ zAPo?4Ig7$mjk*(e3VE)mN5)Tmdy=`oS&Af zzxm2m)f&l%GOtIo{yPTv<+4V}c(0YSDRZMmcv(3FAnh+LFHM;?fo*I#d$3O!m69i^aH7|Q?nH<)lxMjZ=JxCm!e7a+fa+2Po))5*DxJnV3vX|gvB;zTe&Kk8HXO`? zs+v(@{9dgd*pSWX1iWDb^_t*;ufi+SY**wQd=1(#9Xa`E>@Cgv0#>Y%ZCpmesZ6~) z;i+*uNKJTRLN8Iz!rgAgehly4^qS!}3{*J1w^hdZ{)8{jir`yne!bU4Dd4un(xz*c zmRAvz8I!qE=V4HaUmIZ>`p3qfHf-Q7;zWU|w%T^K-0-gjrzS(jqC zknFDh?NC9QM5Nhbw3rmACpGMVdaUR#WDDlu0l8|~KT!;hdDo+ovb{<*= zU@Yjtd6_=EDE+2*xdC?&Jor(ns)w2frWR$LvhkszFrrIDipl4V4Brb{Q(aDvNK1qC z9EFu1C0Xd;^POS^@ShvzKumRGBp}l26XKv7>;;?deNnkh(u5B|8jQAX*YIM7Rl+}R zTh1tLNrTl!q8V@hL67-fOnRskT%&^xLIBcydOdUpNd>fRZAhsZCk4E(BoPPg(Wo-` zY?-1FCW}df*VS2g=x-`NV>hv>(L^m_l`9j{t!FK_%A`n}|X zY2$Yi>wb^XSvDyjBs3*0c2yMdYJ)K}(+a zr}~eXj+%JHCeRQ#G`hOtto&_UC;KP1FLM5@LO63H2!}SrqOO4&tZb5Xt7u-B12yG* z;NvC$`_CSi+(0p+q(rL+K-r{vYWNBHP8FBOY~>1Al09ouU$=x!Hj!lHCidP6Xze`Y ze}v}AIqKu{8<=_$)N^T%Xp{=u!V3nv9`A?T);j3)KIN?K!DMH-1$vlT`%ejXN25u5 zWC^4XUb_bjIkobZe$9DF*pS4$6`I#fHJV`6CL3Aa*sEv@BVB=okygU-zWgZ=pHvB| z+*<6UioH5DvfM4H5n5n2HXT^wm>NpaUP5@e9zNwx=5K@wih6U860sR+maE~|Ey(_s zjCdXu670R7AOzj@K85v&_4kKQ`8d$Gw&_11}`5g}(xn|MIw!;89^*Pz2ed?^6^ zT}6uRo3a$$#nEh$Z;mB7Ds%`WZ(eaA>TejFiI(Wo+vg=BK#vj-4^36Qu{C9>g+}6p zD0-I7&fPB&XcpP(KPTuwR;m$}w_+qJa9Fo-NOI*W60mPVzztn50 zb+!niH1+p>V$hXm$pGVmu7-Xp=kWh)*2hVI@wRQtAhNuZJic&7x>}|%+a&K?>;O7I z#lHbgh`E|Zn)1jQMGOjUUJjd>+J#e~a4J5lP4>#3=NH?)o&T+BtMocQubewzR{^;HgL-3D$tpO6ilM1TSK=mCF zdD*$2d0jG|-#=R#N!A&~xI7C+qUeCb$&ycqJu{GTrvHRwSQ9qlQ=*SlC$|was4RSB zaV~OWkd7vHK{TKSKLP;H}H0`_63#Jy0Z)7GyjdOTLcyBWJaCw39K z38!?Q3&ul@+U>Ya@-`zku&MypGrV-)5!2~PaRj?I-{(acx3wTqA=&5FicQ{XU81$C zFl=iA(a8rhzJkRuS2ZE8`u%|1@i>&oawA&nZQcV{gCdCF`>NZcPU5g0#g_=yS<|N3 zKGxt>-pPR*X}UzTNz`LBrG%sFBp9z_h*i5Lg@<3m@6Id^pp1@ew`$AE>MfOP?)QyB zz8KZ}&D*igk77Kwd<#zSp*2Q#8PYfpCVoB5c#aN7wb-pfaFi^H{c55fs%Ywc#yG16^5n z5WctMpf_?5^>-K5!BCdo>iE~K4=&fEM~kSvbkJr8^V27=A@#(AYh6*{N7GLxsJ2t# zhMUFNJzJ}%M>&5E%t+?gS>k~(`hgH7v}}Z6hfzV}j(m)pZuF;+e+9P-E0fz4hk6>> z2KE6sp|pf-L=r0Ymy?ZX=?J0rmG<> zVW$rLi}1Vfi92}gA^#bO&rf!5L{rbNwGG)HFnJZ~BlgIjjj%Z@`yjyPk4>Vr#k3wC z)p-<+W!39cEj=giAd|Ka)wwFN4#_Of9Bz2+!0Z=lW_i2)duF3=X22DZ)dN;L z-?}bl!-;!>I_4gLTEw`syl@;ic)E6SG&15JBo4-^)y-zpDy)oIa7$y{mo5+ePToUbtEZlXnIS60P`!>zMkLL2;e zid~8g+jWj1V?~@^6`ZWQ+it>vghx>`LjpLc%)QtB&qxxPDG25s`N-BqY>kW`EpIiio_;dd@T`FPvfB;K z7?wEEY&R>&LM>vIkZ7lHkfW8gGxWXL(Ib`^v2EFDFifiul1UkCK`VK4RH#qJKWw@t z^$V|plE~592aXTv2HFGrfNPdM`v0UY4}HRRsM^F6A1$gh9{s4S;lj%!YYJk{$k{UJ zTBvr&%sJRN`V(Y!n#Q$OvNjNXF$HA`y_@m==7Ga%xAtcJS}6f6qC|*vC0XvO8#Ef1 zHs^I7qqczQu0x4k79&@AqxXICwU*OUZOF>!nPI~go|7qBt~5ev?)x_!sCTs5NiXKq zCgXYPq$(aN`~fTu`EF9|RauaJvt9Z=%f?Ef(b)LOfZZD9q|+d)^hmg(e$ zICBxvstj$=rw1OMMshaY!ihrCA`+oR-87(Li$jp`Q#&_yBlAn0RqK#)>=T9JoWFL_ zSYizZ&2+&Ut2nVRkb@#p$4XBlU4XP$w(wP&SsGecS}38*kcJMPqg**q`dG-(u{{AP zc#;ZIi{4D(yA2{1muuP@G_wA zOou!xw=<1VgsxksZAVO^KZHX ze}{sI8s0yC4$t$jr4u@hpt6NOc6KA@xA_4Q?{Rj9)1Kap;pg?uyfZuSSIu4JJNrbstof?M93miWzu-F z2g;AxrR~S7SpWS#v_;|lRWPCD)z#pnYRciZq_o1^SV+ueVEc)E{^1pD9*)OOOlos{GfgxT_VXpu{yamWPf( zc{J}@hBiEnhXT;|#;zV8b0{iuf>fMevZ64KDQI|JQN^o4(&4W!qC}V?REsTw*;V0b zNdL49PkHNdihUCwW{>W3&Nv8*1`hZ8cn(Qz3myWJeil<|6dT#d79N^Y0=ciPW4BIu zA$7R-KQHU7@bidY8FryCsu$WXHo_j7EjNkb>lfB{&HCw=P3Xg4SMsBjs##ldq3Q$9 zf>CdIp~e&0I8&~}zl0W<4|%`NKvmYDRU9~=|6{gZPgvo}J3%Wa_}1X)_J0RiCUTn# zEc8z|e3XA*bIjW|Q&@vFnry+HKC`TRGsXpD%UD>eI&t`SF772}+M+uz$Jy*rs>Q%< zMQ?1-izgl7z6@Jq*ZqzJ)qGZXQ}~aG9WiD(3D8E-e(yj|Y^2)<$nUwwfQFX0-24^V z#dL6OhG9X#m5IClpJ9Hj08;BUqA~swJaNyk!~ALDhc!-9>gyRKlGPs0kY10GO~fMZ zAWG47gYeaW`hy{j4%(d{-dYwpXo878EgV5(HKumcVDVEFT55SE+Jkv~beoM{oWtw< z)20oCzWOC)(Op#^#On>{H^lL#+)WA30HJk>UNb}qgB4<-KIX}~1{=b5JbSE}rY(UvSkFE8?S`P^XK7!}DBRDDJex zd$9F~&*>cE+j{^rjwgvz}9Y*T(Uys^)L;%LVKr71aFx7$8-F)}~) zEO=;BF2>!$bDR!`fJLjZ(r(4O%kzN6C)@>I2Ltf}dP#gP11pdR7+Rlw_L)*ZK{I_? zUejaqi&$ly6|D1~p9S9Q5&KjVnSFLR+26X;}cb%a(>~ zukE#<4_0e=;XrQL_4tz?u;hkfWzCJm$}Yok=Dwm~()NQFcc3Ar@x45PpLMIe+qjT( za3Vj=%$_kkn1AH~7L(a-V&AXu2TPm%RWC@mze!9uZu>8);cZhYjXfxT#sLp&ij73D zVnoRrQA!hOjUI>XN6B93zRFDD1VQ7tP1<8!jv8n;&F=$&LsETIN&F(Jkr_87jHRh5 zY4@z=@oAwm%lpdbcX1NLeh|y-&cfPy79Xqv^Dll6>KSGhRY`?AGzjY;8FH*_c(6HY$mZFY3uakT^o>>5s4hJf+pia zIpcm2%(E+QnG@I_iwTpINy~0rY}1tGn)aXjwUVCt2mC(j%t^c{aCb*-@nas?hWP@O zPaH9`2Iv%UX3aipp>xN%d)T%Z)sDI>e&IU<-%D1+#n{F?^585UH?F3fACe(sL=AbJ zird2rAQYhVa-^*&o(>bJG%3~ti*@7T4#Prh%W$JPsGYxGsg*BA)8$JLe~dmQQQiJu z^-ZlE&m@0w!d|g_!4Mb_nLFM__%6%dnAuPn07|2+198sT8NPXi+xdvI9cflD{{gN2 z|44eI*6L1jC$!>_-v=j}kPL5{B1)-NJm$PHJzS?=o3SNV)MH9) zx2x53qDMx?jg`DpBz91fOQGP`=;HggLO*5Crdlgy$}Ua*cbXVqnlr1dt|-xeO*#j) znK;v1aHUXZ(_1T0Ioe$iAzbWcUK0PC`p_LTOYz;f>?X;QIx@UY-K`g>P}h4$KX2De zs4i3R1(5W^tzDGB;EL$`-lGDvdUKHoQ9WsXKrpQx=$%x6SvdBR86f(Q4)J6gq_I)< z)%i7BPK@_Q-7t;*`rYINUOIDhhFd6I-VGYzgI4G-k{g>G6UbP=*?dCN#SurofYj3t zKN1|QGITW0Q)>Y>hvOTBm5$K=JZoCp#*MhZD$xI2bdH-CR4XqcWh>a6996s3L3fh} zdua+w*}PlFYn(K?1cJ8zc(ar!KLulc;qCjr)$FNK@M*mwtm_mos({X$1iYcDQy*+D@8iRS1|;T7*%Eci2*oY`JY!B}0b~l`bOsDaa5;A*3!( zolp;nY+Ag3DXbjPFl@k*s5)vewkg5qE~!l>Z^7CnKT8CQG?kQ`5mm(JSsyhCL*T@Y zyst7NXw3*(a^vl^v~NS-BPy;)oBb0GOd8idKmBVZD(z+b|H*h5XyOc8PnW^KP_`*9 zX@t35!y~i4B+PH#gVS5hh6p|-QMbn9c$q7MK39$R`f?^I>3lNQw$CFfm&O0H?N@Cf z%3hlegZ@Hkv&T4EXe0;D%Zq-P!=m<@Ft%HhorSk3V)e%v*Q+S1NYqH+(0X|YUhjHe zA59{yxB%9~Z#m~B#;J-BT)SeS0U^ecHAqXdz&#Ix)9dzQ90WwHw+WMQF-cN0XSfT-rsDsLQNfnH#{ZkIAUK}lV%Ke&+xH6lTjetdvr9@^Nf{*8qfQ^V#=zcZzHJbYY zTBQ7d{?Fx7dWfgXV$Ddr_ZyBb&Rd$apN8vK~44I1B0((9U8 zZRLYgR<#+?w>N%!ye5&0i%L}-O62_PH7*w3d~*qJAz{dbql832B)6zjDU(Iz45B;9 zm6I9OB8ZQKaki^bC;p0XSEmSHySwb+l#8mSwrw?G#q+u62cdaQXvYoQ^{X?g>D12-4%Kt6S& zt3fUsoi(nIk4ng4{0In0_L)%Gk?EbyX8J))>?(HhDIx0;yS~jb5UTQV&lB@4*7rjc z;%OT3N{@ElaW;X8-aQ3Mh~%ReE)XCOynbHou;oqOOrYDa&vFL51h@mKRZ2W2H9X8r zu|gYY-c7Y+!cH0~gH^3Z{-4c;k#o=eP;My}zE-VyYgFOux#2X+6J8*cY>X=r1bcYw zXWSZ#8h%83P+7Yll2>bkvm@a1+i+($;ue8rCZD_M53lU9kJ3cc59=QjI>s_4afhc> zuff2_);YRDyJMJgCs_7E4iYYGVTG3R2y8Yqw0*`fe_tAJZXtGHm#CY55a)J`+5#nM z`w3AFM|=~eBJkGHpzMIdM19FtiIjd``1-R9Vi5X~3HQ zWkfO~Sa5lW**9S{Bnbj&5J)6eEgJ!1f~7Vsh)59_3|X-H8Y){vrD&+8?M~K6MSzkU zBVwhr?|%;3Ka{q&weM+dUebY9C@>n8MM|-$R&}MfOR}uBDoa^e=6jI$-+Av#PgD31X&M>7b`8lmHyx2SFV7`k*)8^*l6-kvjbPu?qsYnk1nSEQ3B(# z7@QW$tHM2Jj=?H-3>N&d3=)o1MdMSMkJSyI5a&_k`#E`N#WGIh%xlT1fBdvm2 z(GQZ6zO3rfMune4Z&{h7`eQ=+lxMnd5BcZ0sQBZ2oSOL#1Q1+XtYJ=ysDsyC){5#A z$fE-8M$y=$x>n zyfm-G)iZgnLaG161gZo*((uQV9rpv3hS|cYWh^Ws8HW~h{0dW}QQL&;#}bVcTGr@W zxw5HMeBpb%yFpK!>5&!b=(_-=3*F`U0sGYVu7A|Aet{qUZp)ayUA=iZBK7k7&_AWX z2BwdwZJke6eo-svvyPnHoriKK=daM!@Tjs56nf)%LAK!LKRC#+dr{_{G{t7^U%0&- zjz2s2!xb!coqZ7$Hay!)pt_J-%MvH#-{UX$?oT0Fax`q%$-Jk!kx1!0b~Wz&VbkZE zBl^0nc9mZY@*(?A&L70#+|>uY=_PIdDmSVflYgg>ElcJZ<~wh&c`Ehe(fwI5WQ)>xY#R`KSTjBjQk z9;==PYmXy4r6QTHnc9d2N3zO zWy?g@`cVC-EI>63TM}onh2Og`r}J=I!{`4`y@<3j18rgEJHN5tp zs;D0ZJyU#j96i%Vzx1^MthiBVup%3(lmr<6oPmuG-=@Xo(~7IHRY%56>zdlYUSch(bGSoSX>oye@CI?OpgNDkXic3Nm^h zhvhrpf5Ep5Y>Q8FUoJ1s)5s3b{Vv#dlw#^WLBFgc&-5Lje(3D~{>^a3)wiYcjEpsn zo&#GxlmdB%f_)gBOBUFfZeIXQO#u6P&iN}^P4l*s%kShh@<3Z!UnoDMVPQDTNG`VOHGcY1#*FP%TbW_hUS0B zs*(&|Uw=mwGycthz|BVXsz?rkdI97KKn?%~XTahB--0%wyKf?pl?c{k<>}bz8JL@1Z2#LX4Oz*;c*8Z+y_vJ(UgyE zh+U|SftbG|IP3iPaEs@C2@Q9EXMO}A%^gQk3FHchK;akOu)aU*FU95g$!DQAdLq-y zb-*>**iGJxsUq_Efe>!b!z25DEKz|DG+VM$qpP(wpD!gSHSR(T)hZfPTWdKL_qFs` z*M?es>ttsP9yPxwhL_=z*Kg|66A8Efmx0v=&z^sw$TR)B?Jj&|2}|V37xiARPuG$=*fwE1?3-IsYq@+0F*gk#j?8QX_%RfcsN5AtOhS<>93tyf>KMNU1HLS$5aNymw?fBJjJWNV})xM;JM zSi&o^&^~kvRyo&4!BqwYNp!BwK_2vDKgdRD(piI}1Lf%*6~l$V z4->n;6==vKV7Nrv0l}$29Y%{G-+{IP!wah&UFM8Ws#ryAG5M$ILIe)42K6Evw))16 z=5)h5En8YVb6pOVSrjcX936hBp3KrB8k6ynTPUT3)~S zeXB6E7Dvc;UhwgCWya=9_kIqG_l4b{xK8!bnX$;M+#k#tK7{0{GIb;yy6ikz!J`$k zJ=tn&eZ2UnyCnq=iS~U;sSCP#=(}a|uL$CUioqNuE+Wpw%Jp%7B@db@L~Y*yzcVR- zP(N^KbulhVJ6J!$x_MsKU*3<{US%4KWN4Hf!^E|B= zjDcC=l!ac8Vx&wUt}exE-RjrZjv%L_DYg(~t;bH3*2hXnre3qNeX2pI|+ zrBoy%hu{)~&WEfLY*2-fVEq3AF$JGhgI}0WRo~7$Muf@)7C+(sw&fxVD7^eq?=Abm z6O20t?4LB?Dvx2*zI;05DrF0>`FhKmM>|Do_bd8>=mJTwp=J#1e!QdR&-C9>EhmB( zr}P(K=lURx0bykcA#Ois;_ccKur#5vOT%ckYVCQm23sWiN8(g=oGpDSZ| zQD3=9$9(3wP=BY@HAnfL*s)b>KI!7=MqQy)DA3ql;Lzmq+bsf-NBVMOySe`j7-M1W zcr%Hv@A%Z?%g>N;1zXc5902Y|nOZBLbVQqE%sl04cUdz`FYpMmkdoXoS5j!k3Lkm~ zancm7gXZe^OKkL3AI7TL!O@^T zUDllWdLhbIDHGOHTR9IbAqD>r?-{3uJU+n$1cRO-JZwipG(eaAkGWxrxYwR>E50vk zT4J-ujw_g^TFNkrV(M7LDI(?poHEDJl|Zx4W4UZa)WiXhsroCZ`AF3TZF_VgAHNvk)0GDESA^eT9;`pcMgz=CAqF+dlpkP3 z7}`&2OSxouTn_Ezh?b{prmy?c~g}bRv32wmQfAX&$H73Ax0!kph^q%a8XckD)YFBU3EYh_7AwZ+df-;732?yc6%BUot4}3$`Z5wTiSjiLw6JSw$Si zjBJWUT5V3108^>5g9Zv0e)sjUH!+Ka=3eGczq!RwQeF*i1sqPl3)&6HzQb91^0tVg zI#8nQ({m>YFwX-?WIB7=dLJgUmZXa@7H7Vc&t7I};&G$QAinpH?2*9FP&5WXPkN)~ z@ZxEhS^>uekkphM&E;lUX^JqDs}gDvRU{W!W*uZt?4?$amZYNVU3Ks5WA*WSzb@)X zH?z5k?WRz)%v(Ql>1D_IDn$BN57HA38-RwQI{X4};qZ>mDLSlAd@6CO1|xNF=v)m^ z3msV^@gl^%7|PPTe^{xY=f)g)QSCee^fDf37@!2?DA!(~(!paMJ|5xhK~V#S-WbL* z8k1GIjx?jf?2i-R=bEAmidhQp+$0_JK@W{ck7Q|YOVC~=FZ3sex2mM6Ul8>V;N)N! zt?D>#VXgVSC)Z0P(_wZ=94-lhY%)0~&!!&Xq}gE(8OAq}o?#$hEf>!3K^E*m*%KbO zPCuaVa4O{&^0Uv*@Q4Pe6^kW$A2%MCdG1&oLZa{-cZ2#T6ch5F@;q8z6^eg8tA{x7 zB^Y1X>}&DJ5KoU!6%QHnQq>$$c+xH|r2e4rVsq8|t40Ls>R$4A3r{A1)U?F_mpkS( zK1FrsmqQUu26>nwCnoGpfAC62p*t+;ypIA1hB_=>vCFh4)2eR=?izP|j_bc!b(ZHO z@H73^yBN(C+t;CAMuE->kS)B^uPGYrB|^Bv+>*kJ_-hWwh_TXM-06V1j_-UpTJ;^p ztu@NgN+{**7yP0Oo_FgLq|@(Pi^@hy(kWd~Q<#82*m8+3SdB}NV~{`82cF)5Jv6&q z3Vvs2^WX~mnZr63@+VQX!O!jL+Q|pbLW3{lQTc>Q(yot8|48irnlxc8ew=TWGnIAR zl>?~?sSf&(+XSG{b^DK^Zq+JfU8tx1sG!Ol^3bb|OY4)y`~A!-r*s+O#b$T$!B~Xq z11whLz7z_1EQH)lJbJ|1xhpMNzaH9e{495g$4t%-&02L*mYt-eU(INSG2i}B1VnoD z0a_bR1CYjQ;iZ;=ex}2E@X=SLJlTt3mXye*mDpP>wFQvNl*gB{qo7Vk=00Be9SJ>l zDulH#U0pNm1QDd2?&X^!r5qhsf)% z+Nba`5Qv=%`(t6=m^E?5MxKZ?$}}g06qeD+|CKiFFXa02V=Z_9Oy(}jF$i^$a5!~8 zA@OVr5UO~5#3B_!=~Dt#u)owTgJ5ORwBDM!^M1q6(AjUSxIW+9>;((a*?R;A2dLzQ z7S~R9S4a0!IbLsH;ru0!>z&@&T=j%z{ja*tuX&@30)S(Ed~aeP{PJQxi>9D`)vcHK zOUMn0as;mgRAPSkc3ITKH&#o zY+}rL{8zqt0tgbdRNyC}cv6A)5WSVH-q>BrDE9-qva5_CC&QyyYBocNW(G(_JRi-1 zq)&`i7PE4TmhFx-k;9EofXjiY7vQ}f0$zAX;zqK|ch&-8Bp^)Hcc>z4HXfAu^g7%^ zIT?0wYcx`E@tU3wb2nXeD2o*jy4K;#Ut0X8L`$0P^uGLo5^aepGVK*#2BqA_B7F26 z%gGoN?AaWc@TlMvD0l!Lm0my>VfdD;%s#YZUgYY<``POYYh#%m{W#QLq+ctm8&5Go zJ*e6N!bv0iSvfSF04S@=#)3ZCAEA6%7p@at@M`Mb{7#Oyr^Wqb<}tBs0xa}P6{{lM zX7oyjU)SRObLtZQoM-4G^gw#0hHsSDd)$=TW$2HnT80=n?L1;@U8FnnI1Q=Yy-W{C zc=I)u&;v6*Vh2(V;Nbwiug`mOq_FKN>&qVidN0U>ag)k>f`CfH=0w(sUboQ4fb(Ct zM%wcvN!Xfr#mY&N+_fmo3$_WmXhtnYxo&l$eUYI$T9AJDtGelRL za3szA+kq*L%wLpaKdEU~=$M9DM8QJ4{jy-l-^`~TZGTzVL{sf^PEEJ zdndxBw~{SFK_;A$i&!3vE0X9=C}yz*^7PpHxHP#4xe577YWcXD5;HjP>`Zi##zSMx zQTg<)-_jH6h)j~g=J?}q0I4a#3<&hi9*%I0FlnGxo0N(U6xE(^ronPy0Wo^*dSzAM zewdji>qoO9>*^5bNw1?R{TI5#VZ+a-y_aYn9Ng!ZAW;|5*{*fAuGV36lh?7I@uv}6 zM~*6M!E;FD=I$2j>kp3eTZXXK(F&FCW(c#!wjc32OG8OQIC9PolhVT+5$*QeqPoS- zP3Y)+h_erSqKqh2a85g)(D*Nrawf}Y(Y=G3;SXL_TBBH-2%0ju(YRzpNePQQZ_=7! z5?jWvAMmY0hg)PmlM&DEjMb)b@aR$l%MfOnh3PS#q;k+@9->r;S_j-V>y(=MUP|=k zKope>@9HO^2NTpZmIPRjfy(7ajT)Dai}^V+=O#4B|96k$t1RR zZGIFiN42<;Bq%zqDM{r|G;Wl+&E#Zt>K7i8|1fOz_DzZVA*?2uODiW*($bwIMIbos z=;O8c5 zX#kKYx2K1Ix$ZV56ibkz^+QNS#MpAgYgdUjp5<~i3J*pebYYmf9JsUdeoo%GB+a;2 zWDT>{nALWSeOu@;FKe*ki^Zy)&Xm(%9}G0D;;Mf;WfP2>uMS<%`c;$}l98D7l?94W zp0K?a*y~E`zSu(W*Xrd`X0Bl(X64#U40vbz*1*@%81Y7{v4b5Sxt;2nF0!UI1*-wv z&-F#7+|c{Npfi?Lp~R)*BaZ>PaVL0X#5jYlFguUjGhB3hMOt;K1}GMcb;q%&>iEel z&L*5_s0K1M18gcmYBgVxk`(r*818QSiy_A2__AW(3%PoyhqL{OZ|0}z=xysd0Size zg{o$8IB;IhL8^XBWObv>S!%|S;SubIg(XKp>s==o^kZo*=L_6IwIM~zHE8`BN$MW# zc6pwj%CFugkDUU&{1o2s@7>Z~gFL<@%tA~=CIkV76M&28H^4`M_(R=ChOCCqaQ&i$ z!BZ7 zwK$tJuF^PlsB0z^Tik_$NbPbKOmN^}73_QO+b!-nsh6j|CLp?cc81?unjB~ilGB>| zYV4rg5|!!y3D>-8?pWe3UX28Oy;+l6h$ly3OZlI^6X9LRv5Cm7HCOO1iy9Jpb9Pg3 zHB;+M-4b;T%<>aiIs%g8udVl9ru#v6i#Liar{q?HGwuLbz5B#p>#o}aDjb* zzY?XSO9>jYAdA2gaitWf6dQSpUIyv@$0}otYd0Kxu25HC&=U-&BSQ4%n}nD9^$Y(n z^=+@nD|GTP^QC;k=o{qrUS^!IYXC>OWl5wF6`OYH<~M~vBYCN3&mj~x!ARjY`$S>$ zOjVtGMtZPq~;{o#w-c^h5($i6>1l8WwNZek%k zCs@G|F(zoRwxavev3(?(k+nnw_t`plpL*{=@21kHy7(DiK>2ut3L^%dtT)*|U@w*K z7jp4{>Ezv(QPu-?`ZR%xcr@ecXeQQXPMf1vSP9!cj{!Jm*E$qPi~hi<7nV^MbepE) zm;csHjty|e2m)Quo&4Tw%!}!9{SIjGD{4fRN+>Y}LzX)JBg?(7(>hZeeI`3epJuy5 zA5608M;?n~M3^+wz{?D<{|sd$OwB+K9LaHz{v%|CnCe(UvcWY06(NBm$x5S^3(3lZ zR9YyrkbAQtJ`_3$XM%D;L+V?%B-*CDE~5lm#&Q>tVa*>2JV-Owz4^*MngKR*w}Bc9 zQUEr_7`;q4YbBr@CO-TWN%caPJ+OR1s)i(PQ%1iM9u$r=Lo4$fV9l$8)zK8Gk|O&T z2}JcvW9^x7@;{0>T!O8dA|&6~d3VYs6OAO)08we}Py17{iuKDsxpArOSrn&DNvy&W zd(|e%-by(T>uKHgI(DE>1M3pd+tdU>*_QLl+&5B!+`5T2^kB;M8i>;&fJmV{YOXf? z)uOub*GI+ZsX{9DR#vJ=hfdV(4cSK1Q^duL-0XE$s84E`CC&pZO2n`LhSpI(t)7dZ z8%htU*3LmbB>iC0lyTD18m;b8#Ih;cMFb_IGYCaZNh(gG`{xlrS4)yU!X*H$eqM_MN^bD*`8zG}Id`PiJ2MzJVdeCs9SuH9Z z3-uEb96DxMMkNMu0woL@GTiU7^1 z&l!5Ef=BNeVr*Z5P%_1fow4oUFU>9%kbA$zoE#m#pc#j77|kt_b4z3)(K)#lBhfY! z8a|0sn!S;+)g^&c`dWr8VuB#=rq@eFiN+em9lAi89$17SC0k$qHi{d3I91?dN9XMTbohI;k;;0AG=hZVPDBazpiOzmQoW&;eRU*9>j^sKu7?3DER zVyDO{wseB&h&JbSfic$K(hX)DS=WO)PB~$0JmQ6kOHPX1)B!j`m1rq^lLW{e!E_UQ zw3uDIqtPY>ZtiXAYeeS?C^tr^J{5PgIhW!|3Gr=2+YFw8=3+c;iMvXlq zS|+khX&TA3l4@UIZ-8{2khiJZ3rX@}*{0sXW>nMyE|1&QyQI ztr;@<60;U15NQG4*j`FjpJ-ya-VS?F6_K3G>VhtWG5|tly(zZ+Z4Z+l6tX=aJCH0Q zPUDgPG|3s+h(CHb*+#aLFrIG9=JBt{*XU~OCu@fR-+`g^%b;LA_0j3@=B76ET9Ze| z_NZ<+zH-Q@9zX>22JPaQEe>_0iHAbMvwT?-7zrz9Vt2h%PLs0Mp$71c8AeL9Vd;qH zXGK+C@u7L5!Hks(S01b1r)rl*T@aQ><(&{mnPBjW44TF2AJ7AAK{dwC#VylQ;iQE4 zeF}(wc#XD?QioZxi*9Vy#p(M^Dese+YAhZK?l~xHff9N>-|y7 zukn~E?9L6vWT~@)6oD|Pki+azhL3&am-!nMaA;9lpCb=GHWvI2{+DmmIkUn;TF|ts zjg6TT5_^PgP@s^@`zeI-+={UnIwyept?scrC%pBU@^bc-wcuHEMi9Hh-wVE`u}xOV z*rK=}3WxmBAl0eF%5qvelitRYFen_S{EM^m%la#!%&nP2)G_S zJvE$dyrAqe#pu&Z$_%!g>xU5$8p~6Rc@@-_nd?%c7-@MG1cqubSCvM)*pmOwH81+; zUm-ZmMd>2?#F$u*S&%KFO7~7Edwfcu+t%nH#JjEP$MnJ>)*~jZnuG1c-^b}<_Ya8l zaLU|14~brhX<{xT_B00?w-gbQY49E3)+o)|M@^DaV0<_tPy(jM^W?HwMixl`z|8N> z?3rv0fs z6_{h!z7n}x>@nJ3TK7S(n2Ei_!UXdaazYU)Pjks|KgOB-9`n4|#I-%=76DcWYlN2- zD5$(HOe}Oaq^TpHGZbN?gSL^o5Ls4j@~!rr%mdHY*f@PeVLQ^>}vK@5j8&^XruVSU45 zskof-kLg~>IC54PSuDyZegY4N=Xcejc|7<<{}~BX>TaTyEFL=*bxdqilkWHmc?qIPaw6_gZM> zU;jH7A=J_KQi||}4B$Zx#_zPns7(BNMFNRMcjkQZ0K+nVVCx94>$aLfBOaxpzGelM z@^3#A_M?@ZR4;pmGLu=)2n#y>(egNttTWe-wf^K!p6V17Olk1EX`>$tyEyq4_B9_Q z;V`dV#;1*ZITX1`g$FWw z5G?^9ZqMc2db!NBkyCr+JYg|>A4UGem*9t73RtIZz$|UEjknRFP^}rrnFHFP(dOl1 z<>ZmhmC?T^hIFc|c>AX)#+*m!pOFS7g=q#fqFuVRczx6#h$z8%P&Y`eUqjCBc6+Nh$Y#F}9XtnjEgDE*N@Dvf>Zt;V9oxr@LF2DQsRNHfKvbHC zI*V71g(?r0ltg3PBUnZ6#=1Q;@5Q?nKo-Z*$Dyku;$3m`I z+w=}E0S4^+9rRtxh|yg1SC#vdOy0xibmM`)b0l(*@p^j?c2Xxq=#o|^IFDOYA`l&t z5@l^et$3Y}2c4v2zi`lI;UL>jwko^B*{JiiCe2JJLv0h`0$Qw!pf6;&zI!wv7Ovv< zk5P*vF{T1LBTjG`3{G=m=?pnDJJD1x>#`k{_hqd*jTa)O79{YxYCb%R9tViQE_+>x zLLGB5(Wb5jAI_XU8ukZ=Gr@qxbf+~@tH5uP=j!eliE~1Ecku(3=A+pv8=ER;pdu=j zlp+smS`yI@5R(nqfv~o*+U{&ofVv0zw zYkYcj(hdS7!*Gs7BW!^|c1KHvRxbE`heOqvWL915p%WXmm?)JA+c^#HuEj9l2Dg&0 z5wWd}Ho&RSvJ|pCBEM?9=pd#2zrg z*tf7-!GsRPy!wce6N07pQ$zxyo7@P;*;IZD#Q?RRG=sKS>kHE9~z1K9;^r5)n^4-mO4 ze7qlCwe^(jd?X)Ex>m|;YA+Y~R?AsxpGTM;7-en{_Rf6fSvPss)$wu%-T`ki+FDla zBKkWL)R!*3|8KAE2)tq~P9Tk9{@o_jTyM(vaHjps1$+SMb#V17+SeHzi<~OsK*WoM z{mO3v@nY2VHTXpRZR?zaNBhdPs^#H4^^51S*Ef*?{EP2u*|lrOYi8B&hv8GwJf}~V;2bk6 z@5eNEyRoM}`{ClnK_@v51w1-2|M7#Byn;Od%za1JUuU(&V%L|%u>Mq|EA|`yb|8^; zKu7Msi=2=ulmnJ&u-M6hrrAmoyFcxp7ao!hbQ@u@hIV|LVTQ_KbYYE(jgT;E#InOB zmdAj@8x?p2i-#pnu?WjXQXXVheR|ONAS<#?js&{aoxuTJGU*-K(Q`0`?T-RKM|_5m zo=O9)=NVJN#EUtS0j-#2xkcG>@wC(M4*p!cgOUg#N&v?f|KTt2xu^`RBarf8LL7(1 zpy3?4FjjV^BPJZWWJk3il5r~rs!6#LCev}?y?D7e(fKMuL^ z!Ev|qS7tG5ZS|hF3w^=ZH=y=j-qwLv^uu<)BJD+r8w*E49 zfp9#f))+Jn@!iLS#(^EGJwGvD(_!LIC-K!`Qy$c)7C`=nbEhdPg|44aDluzjZRx$D zf<9lOy&RczOv}1PCo;NHF%z6c3kF69{)qiC6G-9t*o=KnDAMOquiBAYp6wx9%QB{P z4llY?Qr>G{?aHDV%ba%EZuK0pl`a6{M5Xv<3-{|ox z2|tB&LB8?M!FlWJ|658r~C&&dQ9s z;sRj7PyruwvomO}>ha`X_`UR@vZNI@C61-_q=6kzDt!XLcf>+bi|!? zBFsG0u;otKMH?Jsidn$QvF~EYtzB(u75&(LU#`aw5o+#OK9Ym|kLLoBYXiRN_3KwL z39gSj#mRFwSHqEce*I{pB7s-A#Pe0GT9!aCA#9$1pcCHT!^Dm*o8#UU1@~ZH)CR3w z9+;sH-s3^A1vO?~?8z?&T8tm+Yid1gm~}1z@Ic-G^8mP#;qq@`^`-aEAE{w-L#Ems z5o!lY0ii`o_Rp(E8>fk;5~7FT$gXFsS8z=u+nk4gthMFFHQ&ogp4bGSb`MgKZeXQ< zmf1<pNtoSpFpWWgwkF0!e@(EhtbUyh#NuQy+tewrf zDr;cVBZs7k6oxzMZq>kq!q1&E8cWSjpCjj#~JUc{dD_YmJ{p1id14WUJayb!3I z+Dwn4b79wN6e5cVSs@it^H)D$LUps3cjT8N8CYTptO}&1?}sk99>%4@`hc9UWiW;O z)BW+bhrwcvzw*w6fY{I=_EyyNvw2HKxh)bS*=-*LGLU7W5BB}Ym(l>z1~UVLJxn== z25DJ>ajOJkrS{y z%nI+$Q%##U%z5@Qir&DSNEZ=8H4#8SXOqpDrAVFOsu(RL<7DNI~AnA0#8 zS4+LhqU9QNlfE=-J%!xE3{dz~wmQ_ezDyL+Vz#T2UeYSsKA;r{X+{~FDDYltHZH%E zMnjO`%m!o^`( zGXp8>>w;?mAG-pU>NVH+pJW$3w<)K5Xci*0r5rKqH*)TFk+`Nyrs!NGaufynsvKS= zPy$X1%~N}2vqiw52KU{*a%0L?F5!+^in!I|1LH9L zM~7-WY!6Q9987GQpuFUzLI<3MMJDb_+}C<@j8`Q3>3qIpEVi*6SJMWJ>2t&}cvbe6ub|{CLGsKxnqgkaovxbFZuTui?M1@&##eZgqHF zk61UReirhLz!@U7_5eC2r%Zw-rieMm@i8JUgXU0S;2X^X<;E~|BTT^$kX-W(otc$d zaWCBtq2%a!x)u(st&YuHnmVR_UDaZ)C%&tH&NSWu%=->deKVq*$(f$9CpriYEJgNR z-6}!uA7wHp1>MO7+%8SP?#LejBK#0q$yD10NzEemr{aG8p2J!)w?E;r?>p0^x*2lh zXKnC#og2M0CNI-MG9lQm6qNLLr!&LK#KoqK4gU1p1b}$ec;YI0oJ{3+Kf%0f{aA16 zm5CySxJt%f4`rC(0#hi=hH=tHc~sJP#l(ElAo#(4Gxt#YTose9Ysb#vI=;$KzMmH? zGH}s}N3u_q^b$yq${vryY1s6O*d2)4lK`hn=1x9lMk&mCDLiTD^SCTlwd_%;=^e!3 z@8>RzJXa(+KF{f)bzFQ<3!|Rrv^xCADTcQssM3~qc54uROUB{1Xpu?$?pz5zv5}Ju z%8U1>5?WhvI(rk33|%c}DC^qOBtrFkHvr~+hlu3|DKV1-3!SA9eTq;hO#Iq;+yT;j zf0${s{HRf0DJJs7KKxM&>VZ3z(%a_LPDd)yC8Y)_o+&7q2vx3wY}gmzpaee#!S-e( z%Y}1r@T1y_MmELN3*{9t&T%2 zn1t{s@gSx@4;Ttd5h(b%S3ojRnLq{Ull5lk1tiF$tn5^xg(PXk`z)C$KuQHq0e}_V z6z*2c%Km*1QUz#(0}IiXl?8PW30U+bb2$<#x)@?ctx6I!kB74V!n#<@a^o66adYiH zhv`aaBk1^0Fsq22{?yk-V|ZCaE(yd>y2E>{PklzA%xK!I_Rc3E;G|+cItNhMISbDK z^-2!s5MC5p>~U%oV>tys0-?DTfZhsbOXWjJ0b_@@Ey@F=la-MUuRUQ1xVg(Ov)y<9VM`q#_r!M2_d@f_l5M&H zbge-K4Hn36A@23KuS za9IS)Zk7?{#XHF@O-XkKkHzlD(YSuU4{8U)+2_i?i~&vT=`t1u*ScPs6V6TkGXH#e zQ0KLz6FlIl?N`a|^?iwrl1?C213$|8 zY`gs2AbBj{{qM)7ueNX1i)Pn2+-=)4wC&>qlx?SSMf#HYv}*sSg-^)z#KH(+ZpF4W zpD!dRHSFuA%OeAeamt5}n*28Lcq7rG_n^mH(jR%Q#zQkfX#2W62`=>ZSywzdQ;YmO zkJl={t6;MC5^9EA<%OzsrY=rzO>UuAbsr!tcIg8YZ$B*dyI(Ry_{k|&G zKPhNe(+Q2j%8v07{XTy=^^pJM(e%3V<73VikeuqEMw`n(CYQ3M`bG6shUUF7$77`c z2=XJuD5Xx+=*cB39Gg{*5Av-1JAlYc6A6Zca0~c->?!H1EcN@BEN0_2vKCx}Qx`Pyug{SFsUt zX$>1i_L>sk_X4o1D8^^W=>{4{a{PQv?8s*=Gy-?|&3Q)Dha{Xg2!U*7`ly^izk@Nj zc*rlhm+nsx|H*Mx_+245=^Pvmkw_55MK!beP)d49ouJ~DYu9a%)zLxM4NE1nfjECiB<7gYJol zd`ebYd%sGFCLQWTuCs`9wVH@v*FPPG$N7A)OFw;dDoeneh%|6Em*UXj>g#)@)He8g=lJT}@kd%kpQ#iam$s;p)p_04Zx>jL*#iX007bdu} z{^c_);Z-c^PS2F$`qqVE3>CLV*CxoWy?3x!jG#)3iUU%`6Wp6&Nj6P{AJ@&PfDkUr z7|_}OiP<8NNDr*SBfK8+DU#T+&o4A(0Lhz4JYjP)qH#}RE1=Uz z4(djuDKjYUnZ9eLE{@C~v2*2ow3tcaIQYY>8cU9V_F8b9!5HCv(41RHRA3H?qsdkH z&(gM3QSrob#fT1T%0m4xr634<9|aFj?UlCEWoopt(7oyQgV~F zUA<2GO=gPaQF%1I&kCK!%|E&J5`}G#%6xosEA6Ym4@of1>UnJJDJTeEX`PGAL@j%C z)yqO}m&*p?uzx!;$&Cxcg@{L_1>hecWA5Ie&m_G7TIG z{2g(-TALuNUw#|-fn?eDl&~IP{YxI6-~oL@rR1=wk>p7_9?N5W84A5&4NO0NulahZ0&f@%n9GD^kGIXnwQO*YE=-!OcpXw7e$^D)n3SmpmJWfm2Pja=m6m_{&+Kc-`U|9G|L@dan zZv4(dEyVQ1yOvpz6FpemK{JOWJOdFHf-N-~e2X(q} znl|9Ai}Jbf8(VWguE$~3osfy!ulDoxZ21&A;hO^sYGrqfg{qlzt)00EPts)ei?AQd zm~S5PI2rYp+9vSl1X(zO@jN`3Is#}tNfI5@X49sh-%~!>Wjp0)eE@x$>Zc_Z_0YKk zaS4rorUz`*kN41(7<@QKKt1N_;eXQ!Rn9zxAjN{d^lz!jH_2!R<{d$3z5K4%Sr*ut zu3kWpnmZ-_na4W$BdTe~MT9(0^DEwOvrp_;4LlS`1T^&qc>VCD-@JEmcBEWK_XBek zM{)saeWrIn6|ur(-@}^8&O?}e?&R)!d{K6;k>QRydly6?((3Ob@2E=Qdi^g3Tm^K) zCMzQ3Yl{~uG+Bvs{cPyK*hmx_7pgYA&ah`8obIoH*~nH#{ke-X15q^RH!YFSGX%5O z<43^AIj-R-!U_~FhN-(AZ-ZZbS%?^t*l0D>^|H`<`ijMPvB3GkpR7ytT40bw$MpOo z7-O*q`{czemgN$7>gslaB;{17<4-(&ahCKAd4wNpLY}3@=M@l8GUdEE(KWx0tujB# zKA`vyQ{!Ee!x$|+ z^Uhc(Hr#{A(C6SP^RP6K`Uw&mmFtcv&=#5NuC(HvuLc2UVEi+oJ#(t8Tla`lWP^`Y zQ6Akbvqz0AmOpG9%bqm2LoY!@ManA|ukGYIF2aVcy{1x+Z0!g- zjsg-iOX`ruz}yxMd>WTr!?pvIshiP)b?yYlN$1%j`$DhT{qfi7@7*^z-qXd#>Fhsl z9v@6!+(bOPQv;G`KPwWXxeP4o1~<~fim+R`BjHunFG}Yck?0m>$C=V5EKm=Rhnm@W zE*v=zts0qMWJ9zv=F1rn?G+rEeSYh(Gb~D^h?4)4i@agC>PSRi*uCkoKhtSq9qKzZ zq$$bUYa0&1UE!uY-%UaiJn_Ln%hdrJiyIkSdEV1) zU$bFrf~!@DAD9i2-EfvNo1*yWUBg*=kQi0g?Tp*f-y`FSoSOSF`)v%?9+5VM-oQ~mU} zaz!vTUB^(d;FjH(OVEEIgUvZ|!eNpGfNJ|<4SZq`@g4!j`0Fwb(z=pO2BP$o9yj3a z_%y45HxTWuy^F_ttEgij-q^aQq+YV2@1+OHt(ZqP^~a&rRCYyU#F_)cG#$)iSahIBJ5%CRJ|Rd zWc|(PXWXM2Pd0JOkd^Jc`M_$g@_54&gI(psqb3Glc>Aa`(8GOkL7s?hIs2>RWXM;o z;be7B>;^Dib0tdSwJP1S^5ijx(iJ0Zp@2f1mm_2tZiV^#qE007*7gJ=*^z#x;UeDE zz;)Ca()LRi5jNffk-eZl1)tCsDZz;NZS+8H*~ic4UnYdIyj|-d@&jz6_oCaO9@l!YG1dMu98ES}G6WR9Dx5jV@j48qm->rJ;91WFwJ;Bep)uWGCEQ7VvKd*p|Vu?B7_F0Iz0%R zV1`r~F$+v(hhH*9zI3*SvU*&#_JD`9LYcrT?!r!} z-Uq?pb$A~L{L3mrkOy_=3@!J9q~(H3riN-u1Y4RI-hb{Cdp(u(Ha-EIp8nMaUcKk> zUhn#czmT{rq7ZaXk?lQCvK}7GGojFsD@r1VKJHo9i@tkp7xPf?ddVp`q~vY?E^g}h z{8C7e{vJdcA?!LXD{v%XcGp~mpO8m~G)UP68(56ewvDh=i|Tsjy|QwNTv^3iFr*t( zqM+>*2@)L}F<@){A1z{!xhTKPGp=!_$Hs=S7Anf$UT`2{{y8UJUi*PJ7C+`r(ytNm zoqVI*V3X-;S^9H`;(RL=kQ0#sDBNYCIRM&rsR5S8lb z#eUG(Q==Fu5}U=~B&sQrs;Z*<24a7b{VJsjME#s?{~+B+#^GHw`#oEar=su@G0u{4 z46#Pz^aLW~-rwCCUgqbBv48C;1B7%FL$Qs7kBq}FR;QQag!QDbmCFbOY zxHol!;@i53{V51Q?nU%>2b%Y-NQtRRiru_xco2oSIOki~u6wv#RujT_YCPhgmtmZO zJhy&)-8gCVxPfWrHRk`t`@O>W)W7)?5pQ9tVh;NfGI=Z*=L{v_Xo^#({TA1^($JgH z_soP!Yx(|`uN#O!#2P@q=o9@KSKhs@@vVbaEm<|OYAaT4S~cFa^jg(5+b-W){9l;D zx6uZhuz8Tqh#U<=u4Aq@%>ewqf2&9S@r&+(@BgagCJW3w^96`Xbhvm!pzhwvsB~K4 z?Kidds=RyirLI$4vT^AX+ zFVTza_E4L<$fZ#c5q%;D5dcm%9QXPK}tQxw#U7L_)C3{X%#U6kQj?FV8!7Psl zCv>h{=(1JKj67Nz^2m#~M3e%VLDszJZd+=I{m5gdWqzo7x>J#fL1Ar<*rg43eYj5{ zH{?iy)MW`6iBKUE{<+;ZVbbg_=sFF=S}+ZB>-J%$NAw1`UeXi1hEmQjPx0ZAr}V3^ zx)a_FWX7lXIR62<$3af_K}aCJJ2F%;5;S#}n>#cK}~} zw*_BIX&K$Ov+V(C_+gD8EnauQyZwi4D>Deu-#nQewGr(8Jc&68u|e~I>Z1iVH6Jh4 zc?(k6+eb3}A*0lNtDDK_wL_;<+cq;L_v31tjG=4KH~nSK9bTut>O{&cQ!ewR?UlUe z3V}t}`UG!1d{x>~d$=&YKA6VUPJE4dp0ly+`(K~fxxDm9rh+K7T;9Zu=uPV^ z^AhstliV`vvs)G_`?nGdLy2i&anvSKB*dj3WS<`MNvi<@MK?iI2bF+u>rW6zH3?hh z5xp2xhWA2^?4`Z7)SQli^-7yITj-_V9xviH!O~%M%-&S$ZNy@g2LXraec&LnaA_ zukoN4Zl5cM!QM=)wZ#?L_Uyz1@2&$Zc8Nc(?L$}vmuL!3sTG;G5p_@{5?-7Ap0TRW zd1ijMX~gI`B5zZx4jI3FrWzesY4*J^q5KBwLdq?Kf%ZeRi}$|zQR}uAuQA$Zl?)~J zH;}^`P%$vR4bmp!eD*c;MW^95YB^muZ{YoSL97k4V=iAW{IcY4{`BpK_+MaJ zyuM%QhXD3f>*DQ(8K;>|zu+ov)9v3~-*4}=-VnNQzEZWeYlzm9?SRRDt6m`>_F}~Q z+w*!_`G58S3=Fx99$-x$F17p9PyA4xHu8Kit+~+Tb~g5PIJue;e8Go1(EpJednwg7asT~h z7}EQS=Wtf;^`VV%Y225|{#Q>k^4oq!&8<(0-@=dX|I<>!zBl`a*{u7*Zzv<@+%Yne zuSI{olo%&6&pkE4F`wKCk0xI!+PP}=theF;QU^rVm90ZuVPSl~;cQxgtSx=RW%$7= z>JK3sJej^-!UAZ~r+l3v;GSgu5*-xh90r5$I;N$DC)kQCPk}Vv?v6yuh;LL5#%)u7 zywWlezIjDA+`(Wj;zN%V8Sw>{xI1?CoDKDaU#^icz`x?fwTuo7Yg3``j=^#hEAQ9$ zD4XScF=(jH+BxP$-uhe)LEn7%pxsIQlTu ze;5CF?|xm>j=jJc|LP=!=(iyb!3ATb+_&Llxd_^BLlB!YP67y&GCgLe^mWE1L3LN2m2of5cux&mUx}Twe5w>I14XYNm zO>kP97&JwM!P+c2;9A_8o?ik`O`2HD0=V3fZKw7wHk=5cEaI`R&H?%D4CH@yE+Y74 zxZ(L>{w05-2s+$(Xok-_`5^}#&zlLoU~mb2{#N@uJ_L-iezCKMc{jJjZSpSrAmtL7 zvA-}14@i%t^F-E_t_dk#H<;Mk5<^l+&d&Voy)q|kzTq<5DZLn3H5|SKn42fU7WvGr zxB5?nA<^Knml$y3#5FY3*l_$0AsxxJsRN?)UBoiKzDwAGkU2y{d{}Yg10wMS^)0)5 zV?%xDx=I|0j&}cx{@;e&&-UVrKa(7AMTIuOy!fhg0*v&R+b^c~(grSIhmkWujue&VDAOu%A;UJO8E~LtX&BjXS@= zr9qH5q=erId!KLVJ%*3{&Nmlb|Cd4>-}&5xb=Lf|0mB41sKei-4nCQ$jvPM+8;icy z+rW1bKZCMkU&Jjv+hl)k7YfVaxHI!N0sh8{;6KQe9v2;%Blv@u0F&ni6{#{jyon(* zU5r*>pu7~!jPF1oP?^OD&Yn;=_{3R+(-301T40?w$;|^=1W~{KkYc~-i{T$pym#fU z@vC3?2yA;V`9{N?{XyBc{Qm>&FMs%NY?rSmijR6k^**2o-=0PrUZ4odyKUbHRGPU$ z>=+s`#+a5y8?K~}Z~t3jfWB0;eF|F8y%{Ox~7Ao{>G*DYN(d_q)y5g7QF z=R`}-61Z+k6iFPLE?!7bP2^DHGeLj*p}Uzs=tlo`!C|9f!-p6gUk~69`oYG1I`Xiyq``p=>VH`bOIpP0ej%5>P;KfY!BKp zodF%A^GYhJpC4H0P81zSa5<){hqdGG@yJG8&m7f4n7$x zCno;BkXTcrgR7p2&<*2>oiNbX0NWHu@@R6HQAoBO18P0qH2DGELOID* z3uvQb^u<+|NqHaMOiOH8jNR8J!<`QyVdIdJ5~AG((5YpC)ZqbQ?ArQ5YSP=YOm4|s z&lYOvuCK#xU5T@&u!GM-nJ?~ACM3FIY{HhtOm-4P?>4T2UOk96vBDQ(Z{-j7WRJJ2 zK4W8yPN>sAQx<+l=G^(Zt8-TNwCrsq9W&Uo?~v z3CXOK>caw$-Ykl|Ew6COdvD-O$Ywmpfz&o(#2J#dSptsysk6NE*Z5}-SwkCec@>o@QClQgHzN;`JSdeIMnI zK;dw+gZHKws5VrzHb?~+|3&kjjZ+JBdK+{sLfjz2yN5D&^I9|Hb<`4?-k0;f)Q?yz z=l;BO++v94<86;wlCS;}hV&c1$k*|_Cm&i*dv7^V)UKB%%ki()0G%g<%i+E^|6{Xb z3~X#R=p|KoIeL3EfxkK++}O$=_^7wT`rsEhyH2}mgfWS)oDId@;C;6zoW#1S^a|HB zerJo%{b5@~SbJ5uL7LY|JWhi&p+*rJ!Z@H4L{G+7 zXJV?f4pruVwS9bF-&`M#U0%^a^@n+Y$cBTv3#11kCbx}8iVm(k#PzNLD1&hi6IAGs zs%DhuuFX}rkRD1zb?t%U1nbN=6UQ<-yfr9U2MX1ASw2*lt4eSFI}dblU7A&so8P1* z&3|jdVV+PeJxwTRgnV&_D7`o|s-ee6UdW^qg>@1%$W7du2)U>NCwEARFcA{Ls)wg490qrnPXMVJNaY+8si0J|op;NY8@?4_>&XTN5lSGjb6@`RKeD z4>mN>@?&u9@vcD#mvQ=2yCz|Y;I@JKYcy0hbRt=wkCDNPQD~HIMHMa0L>%ea1dfXr z%|k1U`3$+gr^7`h9Hmf8%?l5B*_Q^sZNK`W^{RjwGM^oxQgM}CxB16ktatP? zy2Jb-M_(x+c22n(O;h6=2e?7wdL9RU zT-Q)3?a|;g)2I&TG+JN`^Rl7Yvku*xRqa=`MAZ;=i7}J3*d9EJEUd&&1Nl0m7&d8qwHJ0S~lD5l0PJ%kLEXUoWn&)idh@D?PB+h?@uHI ztuO?#J}6}A8d-bvyl`xO1Kfs!C2mHq+#p`4)NVN}W6c?Hf_i^}q@2Hq8Dn!q*jt*# z3~Ay(Nuc=b6V%TvT#-?)`SdaN)4vB;M1_*rtUHXm@^ZzEO%eDUGF@hogWETadZr?B z@&U$;NTFmY(nHF2PZ=N=^f-v7EQOMAHye<&9iOs{mPk@y{#mGfS)H^-9T=)>1iK$- zR_$hc^^v8-EL60{lOW&0AK{6a;082Xlbt&KOy-1&v58O+KXt1O9zwyH!AF>G>m3TFJfiWM36c3 zyLu-$jf+`>JtDB!h20q z;`)#R@@@qiZus5kImBci>662%N7x`x1)YY2tp+`{rp~0QyayD-l*WOz9kOVPjx*Ta zi~RsQS0&fC(1nf(Bv1=Ls)K>q=NzMfJq=QWVfgY)X{?1BS4|or=7RA-SXl}*G-B^J zN%9e4^y6{@=-EONhKhbY3CUND2R_@9#g9B)dwUqAsUHr4(r22+$|^>E-4$Czl(s*( zhq15me+cZCL9g@6>B{(@T|Mo1E2Nd2wD#aj_@ra@%jfiJT($8nl_bYflsYFgcI^{? zEwau@vCZ`Ah3YsSZF-|CP_J5^db~p3 zUw0l`mg4OGh&&8<!o~{>x{$UuM@oz5$vUDM zV};=tNdo52fId72>EP|2XB#5UOL>nc z$Esj&QpHl}DquEyTVjoviIj4v$Cz||@6h@dRWr-R!7R)(px_4314Go2yde1P`Btum zdpF`A4Ud>s=>qc-G^lurgJ)0FJF$3oTq{4f_`=PTE9<9|(au-}{Gbl4G5sK3;1jsceN-Zp0CW@Y|URs63Vp|9z+BTfMwY5`JagE*GnFs$zlNoy?N~lj}r^eEq_%bX&5*# zByr!v3Uw}Hn%5Xs4GHa3jdfym(B}1;jmd{r-^WEb(bjs+&x1w}%`r78N8|=hidi0k zP>7Q_G3&xEpNlWBk9{NnLR4#`NWgd6LWDFSKFkeE*??w=Kz;&|iA@!qT@ECt)jCwS z4h#)Ii{f}4=Sg>vGpz%6}$#w4Giz{$O>{VkhXasI{#L)op93!MEWa9Jg;%9hwmog;fcC62DI-&n7y2FQSawvOKG>9>k!)o*6y+#wqBA@CQu z={uoO<29#M7Qt=Gk6frwcC{pXsbr?mgys!Bfd-G>Qk_@6Vup1?N**<<&og6m&ir0) zUJ~NhrrrV*N8zw(vG}$Tzm(6) zg~CGl$r7TVUnZfJv+-i1r(5COo~*hfDRYNW*vJ4fZ&b}qGOAv+i^3sv78SQRp>_b| zuD+2G<$ws>D(L!G4kkm>zqUPh5ZDT(&YoE{X}UqrgcMmuY=zq^1MA(-I*q^W7Rb9> zqSC2$@(C$j>TrGL&u>=E5o&V!A?<7AxksNYSqe^!ji+)72ocs6@rg;>N+ANTIT zyDoO;?kAKB#F5;}@5uRN_4A%sU3{z>bI-@-GwTP`K>38hBOX%_yH8iqAu9{h?bL}K z1Z-VAh++g7i-M@`Bfc&9@6t_DtlBSGeiT$)BiJ?ijqpAPE8o10;(g@NkCswt@acB$ zrF8uyyjwr_P7d}pI>rN_qE1&2Fbgh#HsnqPB#~2QC7V2*V|FB0XGhr zbBM}mssg+!gG2x{OPBAnCA3L$Sz?0-vsvlrqmBvJj#$ujFK?8ZWfw$;Rxh=B@!{)I z0GJqRkY|%e7l0q80CE;J=I7IgA@vATse8s86o&V2!30%+XQw`#SV;wf_C`Y_s!StJ zITn_Nz?1wXND<(XvGoG!@y7z6h2_F_C@I~z4&i|5i!#eWQz)5lHL!Hi6 zjB&KmAFQ{R0q4lTkLJg1`4stkz4A3NL~G>Z8DRSPB3R=OgLFmKlot5ZQ|b}SmmdC7 zm4Hsw^7+jCPa4C{T=B`i{E(dLHr*wBcLEwtz}~7{>aYEs*Pq0`^1kHP;g>pDLEKf0 zn!X>*0r89GZLI@cQ&~Wsg{u!VQm%CAXxB22su9M7dOj?%p(fAAnKDsQ62p_F#GLr8IA3st_xTV(EjfMnMLg{h{RZVU&{#))KaTT z1bUcdRcl|vcxct_XdV)%>e|-*QiQn7$q<}oED&YUNo`qoY&q6f$_KxXRfxI|n~qWO zr5t#MI%rA(Zi0718d8?b&aw7$>e#L{k_h~2(_ptJSNQ#zv_#^u4(Jjs0v0D|+$HPE zfejvqok<@E{i4s7H8Rk42BqSBS1XOCK0tA(jxL}#uLPAFWyQ zxy*XuJ$~rW5#?x$(&`=hvit@yzTVJY$IwOdnd$LN(IvKV^W|C=JjonA`g??R2$Yy$ zsAXGXdB%I(5C6L?f>%`JG9UGxg4~eEqQKgMC~ilRtg@!NbVUpu(f2~uqWHl^L~ka}jKF~&%n9C4%%xBI6UB%2C4P%vJd7$rgQ({w##-gy=tFvc_@U_6kv z5Y{A{XI=iCRP2`Y%wYJ+tY)uz=HoDGNP9Y4#R8;Pm7 z{#B(m;Sb&=`;n{psS!7`ltkxl$=iy95HUuEuTIT=bFzT$5xCvR(D!g_V^-pduCgW` z3bMN^ZmPVFx=ahfEn(`XD0!(C-L0|B=7n;54yc=p@l{^IjoZ`gBb7PGN6U|VIyl}1 zPBaJ6&Lj zygD_JQg0l?WXqNUULw)(#TkqJ8bD9PxSR(1CBD_89fTF^;$b&30Q(xq>bU{bhhc@f ztYSZJ&~+pS+bZ=Q?h~IaI_fG_&}GFF`aJ|uw+`A=A24bSb>cbv{RU;IUuz?$DH42p zDm8do_m>{Z4c%rLT0#!|!;hKUq4O#fZWO!0x3e7^gUl5te22?eqLacGBtaLzF^;E7 z4igng)|v`J=br<2j3;N20Ao%f#VYVY?5Q0YbMWcu?rIafICON?&1se3SBD7-WKkb=I>xFVolnW0GJuB< zeLXg77&UWPX=-rK{rayo;CAJMS24geHdV4h$@Y+oh|z z4(+ERGl)jxBBja;acolr-@b|Qi?B|xFa%;xyCd*H%lPuD53cuo`hs}=sb~aPGssM* z+LOOkw9FdH2oW%lVbDyE{&{1p#iwLMrXMI1Cpn(&BLlLoHoD>d*T{SJ~faU=A%~`dtX%A2F|2}lvSaAW}KG4%*82R=NQjHWSEzG2%&BJtG$wL&( z4}T?x7FI8wg6R69QaC^lyN{SkH=rc8n7&jgK>VOJ%_1HhG?^cd&+=4qaS-^XQ}rx_ z7@j+3HXW|+2ldgv_!ueg;Cx|ySK~}+cvk@J`_9jk1%tOT@rnlb!Xx>IrFS46ln*0O zkY{@F=Ox5m+~bmFfYf@2%%Jzdgcu3ahe7;&05A9m;%yuD7U}7NmKs+v6bRCTF1>$V z3I)gn&?qz8WQHiEmqJm=d6Eb0ZsS;gf%%`#xTsz{Ku6)*ZVy0m*AF;(RPhSV*3;>( zTk=AH(>NcK1-`-}Uqd*0$1HY!y}B5PZZ|H(br63JQRNaKb(WsP$3Rh+UYXt}-uvoU zu~})|N9Sfd4~wc|Uu^3A>gM2Jt>`-lz2=oW?e#~FJ)iK?#jboPsZbRxASj&8e&Gtp zM6qic0w|l!-y)GY-by3+oGf zK1jT?4hH*Gm(*=PLGX2$!b?C*V#+E;H$bxB(0AhjihDm$kZ-Q{KF!-Fwq7_`SA<5);`Bk?&OC%+L$ zJtaL3YM-4LjJU@{2<9h3+^RFg z`A(#H@G@7N$)wRGhE9$-_0mUDRHwVBq1#wGhl#vf&8C(WUs_}qrXVF~8z(BDq8yX| z^_hp6(rQ>^wlT~XD)q1Nl8Di4W%77d|enL}bis1AK^()_okhc)c*f?+1CzAJ)NgE-jW|Z)0R?{Pr zNB__InJL1v5opW z58ES&`-dKB2W8!fzDjXVllyW>2OnSD_7agXXpFk_WS4lWk>~yLc_wiQ2`o`BI?}I-#FGiL zW+8$yk?4@_E`i;LB~UN{j!J`P6)G5$rh4oir7vWb^xx$yG!GBwgFR=_=a4ddJB~ae zamY1({z%9|9O3M0|B=u~a!>mwjQ1Kcj3zL;Jvx%N0)AJQ@uh?YZ$+l%ubFCCZWA&w z@E)2d?Gj*4{|ry+W{iLKEN)46jI!G@K+BP#>t66|JeS>LIFrB0Bvi^nueb)f2aZoN z+t_yv{MC$d8i4nsa75|Uwc@_$O{i1aBu7KPn4o;$JQUrEKHPyMk3bx`*YJFZc&HH#Ng*n@oX|kz1IME^NTgB$GId3sZ6S~c{V|2DlAze8WKt>a!}SP&C@ z|9KP4ym;S!7B|=7&^&k*;YJfyLy&N9@R#}=JeR)(ve(dNsxSa1?YWJTU4(CFa^vDK zkno^pB4J$hQP7*>t+|nh$SqFAgAtjG?$g1G_rD}QW;zCmXUh5q*03Gp%^JZ6v=T}^ zNPh>t2p;TzvGI8WW_cHX`r^~Gy9loXcl&}X0O^!t)&llIA%VE!gld4^#_7Fi4Qg7W zQNK_JQluYD1^??~AkE(!`(Xv?hpPp^@N(l$4u-WGhugx7s`k+3$lbi+-04rN3s_|g z6sHvzRzf^f@P0_u2IPBT8p zwD)&T+28$(UzLK)2f}? z;$iCW0OjM1_0;ExRYz7xHxhEK-MyHag7mDm2N^5CJqJTTXOAgB9%mufT0wO>piONn|i zygQtkYea?-zYg89qVvSGz$69^G)JT~v1owt02mO5ngm+m;O|WkSEKhNF%(<09nJOU zKYLW3b6oSw8e6bqXwk!|9lZ6U!^heV{vVI_iTv-;P>kcP(P*4QZ*q2DP?O{R zAngKdw&fcJkadr=5K;oYMFASsTRnx3V^OXM#j^mD(&)fm&VzXK#UN9?>s{ zXnh0t;0>4W?^*knGbUg~ClzW`|E7^&9P_i}U?cnbZdL+5`nsTIj7Rodql0_RMry0u^BlNu&d`Gm{Wyz{_5z^; zS(8#V$)%gUTdeDI;a$&oP&WGP7P|MYmDgq^Fna07*GJQD?@#W*)=$g0*Iam49zDjQ zA! z)b-*0DcA|K9lEjo)VOH!=o*e8*~Zv*LUP~s>)(lOg)&XuI%toRUB1Wa?->2rB40-!BZ^s_O8~iqWPNN%MRaY;TR8{ zp5y;&s1WtPGC$Cu`O&T42?9u!lWZrJ(06Z%XW^AUya@Iv*LINbg(UmmY1)2qNLlzj zJkW!dA#$Hy?ygIX(epQQaWzVx{caP=Hu5*iz2gv-VU#fbh%*nh!T?sNG7_XQZNj{x z(!6SjP;XHK^lO90{JaZ`o+MOgKt=Pa#dTpuQh*xDwMVzghz%8HNo&k}RB-UQNKhgE zdPAe4n0c~;INqT?yN2XVU(_aYo~S)|7&r~c)hY*r+Z8&lOoaEa7x8NqNKS+6kcUO* z0l)`^ELps_ol7qB{CKXjKT$S(dN8a5(3CW{H^ci}CmUdE=;iVuB#-7YOPZ}Ts;R#} z1sQi8!=3rwr-7bRb;HJ1w~(gLGUC zXbaAL4Ze^1wCtexd|H^877S^79Bujk*8p1<1Spt3DT5j)eX7p<<)^?9g4FF->HK1; zeoQ4^g9;Q|6g01Wv(rKBf&Qj;vXAkFE=%`E+hPA4G*R6mqn4u1PG|WzbfP!cKF=!# zS=}Id9OL`+7VMN*zwUd0yR*Excwgm|R9{>00)@i(Iv2%Y$K@Zd zwXtRz5hfSH8?to0uu)4n3mCn@)Wwk;&@7Ttd=M6#qO{M+fUPjd4dwI$AaR!qf;pXV zt&4Y8Cq@@DGHCCODQC+O=Eu%gN>_)uzlRz~uv^{y1u|2cSwI8Jb-)yhP)!xPRMtYn zsfzFEE1OfI{>f-6GvI9c1f*;!Pkg|az$>wlV4#ILbOnA&Y$hS}zWvzJ&oNRq7U;zh zn00AmWzMMkm8GF8fZz4D7BrK}wn|tMU{qjc%#da@eZA3PVSu(?6Et>uln)1ArTv2h zIRojjt1W@A)XdM-P>b3lA8>d|<^sM83zBetKA=rb_QOMvrG z@1kNNQ1t-3f&GbwK%$d{fGxdj+5l2j;W~0T~v46E4{c%eZ96sW+wH z)GB>K%|rP>k(A)lQB{wlbg~wvXTa1}@K8^IIU6pC*dnO|%4G<_K`t2V?MvLQ<;0_Y zH#mIMFO}V(uQTm((j)lXHm_V}J#?mIYFE4iIQPSvCZC7b%E3P;56MF8<4TXgpg=;w z6CQ&kfa}e6E`4zmkdMDvjL7T1*@P~DX6OM;ZE)K56b=Bv3 zK(Zr>QUoU;L(V5FPozQJA*hn1MWXYhw8B{@E;*3YMr7^5DQCf3BMaLS7Sm)ucLE*L zMfn~sKcCqsq>mbtFC3H9Fy{B46BvvPZt6$iGGp#(s*Cj4%ddOpb8!7e{oqHnq@Wk+ z0%t4;H%z#Y3+jk@Z}c>ugq`z=%mD{acYvOHc1#*-Wr|h@@vwox}#O`l=AXmd-ycePsZRE8Q-Xp z=tZ+~NODo7UrnzS6k~=_4r7L~?%2pmH#M}mmlX4b!8TZUvP*)H_fBENh?PUC`kUlu z1X^JaMR1GHfv>@#Z*Hgx(VIIQ+@iU0HG)6PB4SVw(&JKiZ>t}ZNx2Ij|@Bi1&4#p2?swK)cwUzb{}x5+e|rZ;I^IJ383NlKfZajU2( zbcfB@4Zt0iKUV_ifm9=bY;NpcR=%vQ%r#$2I@UyjwXhNvtfBC0U$YXJo=SQ)OD6M> zyVd#Hl5{)BG;6NtHF@5Ztp803lwXXZ`1&7nw{%j?3@L4{GTxE#;&A#%ut^NoP0Q$q zH!zWVn4W=G_Nl+9GmwHk8QI9E(r{Jf-tLO9TAbE22(eh&RT+XOQRW|n%4CW8nE@b< zmLFlEZq#E&PktGEls9#jGL^&bYwifz)hbdCNG-877P1noPw4QCswTy*855P8G4b0; zGF?JcV}lap&krp0(57ghSgLVdPW)XcDOYS_;V^=_BRUinVl49Xx>T_ZABZ+=bdCt< zfB-7v)0JNGyAOa-V7G8;G0>oGzJw9qekzOxr4cSr_H}-YyFY%KR&BbVTy&%Hz0l4{ zdI1I)&{B;l^o&!oN(T3d+Zjyb5P?q~GvbyS27l>Nbqtn$XJL?ZVacnP29ypkU#Ko{ z+Oq`K2t5doc8btiuudb$hVEU!=F^2wNY{I+yZRHpoOIX*UEi;c=9#Mooni4Cj&%ZS z=@d&o$!A9>ZI>sJng6AosZ1`Oc2;@)u_aH9$G@?4pUAzz%R~Xuf#-*YKG#Aje<8~+ zG~uf4ZMmPrEQuu3OLGBCcO3FOt!0sm$3}}Eu*|_7h`-Ds;$$ZsCVY?8$iQ6i#_i;F z65XCJ`100=mV&B3AQWMNs##H!?G#Y^0ou3a}HKf&woDIAcf4K+S zLTvG{5T@aTdIFVfG>9dn>EKC`i(El7$2&AzFnew%M^AoZU0fMjV`aqdg&iY=4Uj=My8agY_(mNsH zsJp4F^UKrmSr$2n?-tsYp<8V?3r{i>$EyH;Fm$~vFm6uPM3em7Ebs~kKT{H@AooC* z{e>SnCqJW+q|iM>^UId`F1)%yM1y*)`mP|#*LK(eUi%kjc^X$qmi~zgqF!@DvAaZ8 zC$Q+?=v!wOk&wY6sh|RbDyLc;xXi)?Mh1u6<`4wn^ZaX@_v(rZQCQR01=CB8}1pnaA>SnoPy!*X}K#fKk5`G~fbKKVn`^!cQnRNfHk&@+aMLNN{?JT>CD5 z#X^@Zlme`Q=%DqlUmW%8JFlj}S;;~AY!69-fF8Yq|6}O+9>()G$G}atkX#xLmCV9+ z@nG5Yn7c{C-p#uyBl}`dH)U{=eIT!LzQX|ls5@cKzROOG3??Xedz->Qut+7XKzW=4 zZ9%mB>wVPC*W3KR;KIn-AzKmmO?m}wC5Lg1@_g(AYU-piU9BdUw^y^1RGX*vat$jX zHUmqA$OZOGbHhsOGE)Ff*V4^a<2Xa=oszx}sW-ngTgN8Jh@1@$G8`ayw%~go5qht* zevsKq9+o5AP1u{~27c>JTmxvcATa5`!f*rVIgk=h#7QJ3gUu|JyK@Di#9A#!$VeRr z0fzz2Xc(qGfAR=XB6mR0iNnrCb#a81{UkS9)Wt_ty?onuB*!#yCNDJj6ihm2Nseq2 zrvz+AaM;}?DqVeI0#qO(TZJE_zAFAS&o2S%^Yro4lshqfwY$2&z+c($-1Pf&vWvvP zwwxV-@f%|;?iQxLa|GIttWl*}a^??4Dn~v5sVEp|=1?G>2`iBZWR_kn}UCz9r@tY73J+o`b&4AK^fvw1o*;Kf$-LsKpS|_yZ}c zrdWG@CEzcjyTFsiTg9J;x?gXIwG6BPQgLuh6!szzuzby>YBD{f z`TBDw*oBvon2U==WBB3YratB2D|wXgH6yl@SnM|Z%+RrbW{?9o+8iWm9QxFbJ7(c1 z)cLC^v--e`Z48JxMHBqUznv@Dg$kOL7I=&$OHc}ESz8qOR99g67 zz>NEoN6~2IiTeiRNV{03(+uMjGx8*p>WR-Kn>aZ%XfGW8B}QhuN-x`Ik;8CqR#+T5 z%F+~)NZM*Pl{4y3G>`oBMsOQ=?Y#p6ge2LaC1{3`?pn6w(6Uu!aC6XrN7(sAu+LahT?xV9<9J6uDuW&Rzcj|+uWHTd z{6%x&))1c&aK_pB#qj+v%0v73Iydfzv%ENHLPu?Z!kIiLso=dXpgYE+AYJ0#45t|G z+HG4<_YCj9&cooBYzHQ<&nP)j%*w9O6gV2!7r!(-eHs@OFb4{NB>rKd|ExruaOdUB!L2he7)404XkcPwKL7@1C8qD|QEl_ovtri0|Un-D?Mq*Qb`*aO9IDtP(`nB$zK0+jm%* zZt|q>r~@p)?3mu?qq<2S#MR1)e?O_b2k-`yw{PzcnqgKFJ<-n5ZFE0q09+-W%dtrt zcGQeM{llfJ(DpB&^hE9yGCfZA8G-WK75R(HJ_j~j*m6BeQ${a{+2JEXZ23@u)~d__ zexLDYfvFm#BDhsUt}~2xG(u}viX?oeJ~iVVe8*2MG&{DHg$ova5bS9%uhqa_3^o4c z3~-AaEdgof6Vcjt()P#AM-n zcXm%JIus5>P7>yf?@sic!bI1Up9IN>So_JHD)0$~ObgR9gkBiO@ z8hQ18tJx6$p z__uekw*vX|MQNUh)+XJ0wx?k<&bI>pm{mcp84GVqF`SrL&c#n)wh@Z3eeJW?wDFDg zb}uA66u=LKe-+&!hK=$Hgi5nH&U>d1Heq!$hRe5928)^icuRqmwn|Nktg+Z_s&uQ3 zhoDPKw=a-U>N$Y@yZ=LfQLcDu6W4UJgrTXJcvYbNT2}=O5C83}81x*hTt6A*D%Y8Z z_yK2ijT`%o{m@BfkB~t2=y@`ms{*K#@5NAZ16AzU&88a}vof7QqN#QitA9TXwd0m8 zpnuwfFsr(yFQs%E6oplOLiT*ti4rLKr_7!$G*5mLn%Lo+c#Wa^5(lt-q9bTv*2whv zrM#3KYECa8K*p339Q2%^rGPy?lFO^Hk?$jr)6~Y1aXGfeMD0~PT)H`5dZ!^g$y;Q| zF3ZFwMZ$lM2v?$@B_L(ucO8UQd-*uBoG6nMf$!CTRiwXt&!y?8qGWRVE?D>Nxquj- zF=T~uH-SBjIyC0(?UoL8_&Jt6A6ZAARGAwj&>OwUe8wQ#5A~HigqRCJ2o%$j&P}nI zyXz1GKi-seYc_I^#(T0DjnUkli%B)@YX$_;Q@Rl9Zv@eYBP-jQGJYXBM*z_tH!BA^ zOmZNif9g;HBAn9yzc&{qIS_-!Dx?*Q?i*PI6%a(tf$jRvi7@u_RE z>ySH1V5_O9k|Q_)+@zD^d|~(O7Vt@q7qf&9C5EkCI>Gh?RahZ+Ih+`*DVC%Z%Z$Rh z?$q7;w!Fu|T22VvjRKSwdIchU%6scu#bliM0@BB%?ucO6+sKW~4PS<-$^DpSc+?2U zix9F60vY}|Z>@Zl-Lb|+0Q|C)z*+u|ha7x3SP7VgA5C^45ng#@^HLA2v7MA%k!H3~zz1 z0Tc9C&FFPyyazZ1@7_FMBWdF%A@u>^iFbgrvPfv>NtDDFWpu-iYh`{`uRaF`57>_> zpxuX2+Pdgd+!LfMCvc&U9N~Mg`s-XZNLh+w85a#^#5^_B4WHYA^SarC>@__9vA^oV zd=nPuWRHHK*_J9e_UP;6n^1(B2)uS|P(uSqJ3IdF{g;MebuVOB3$K=^RnoGv}`d@YCYN5A!8}oih5SC@n&FcM_)$7SPcF#8AxuPBWh+~p*tx7Yj4zX`1cZFes!^>v>W zlUVb}lHJszh5+DVsMJ$zLeJID5{r%PHT)~u)fRE_JfzwRfZL<$qUNhy$EH*w$|gLyfW4N;-#>WO)-AT>2NZWi z$oyo=wt|P!*rq--uq@w$nk@8d8nXX*quSU!-&0V87Cq>41+eSil}N;!*@Ca7*qGim zUVjxN4{(qwq2mf%Sa*$}IG*rsDeg89$Ud(vJ=}*i(!Pb)wD_0RvG4K~Hoi&Gt9~{S z>jDt(qZLv673R_fy+g_*W)QAH@JB$<1Ut4rQ?XV&LhU!J~Hp^jS!a74lI>B z^JvPs1Q{Z^-eI-3xnm$x9dtT}t0L9ivYN_LSGb{6lAqn+_lD!opJ@y5qT{!`;?6ny z#kk=wLI0B>cvO)Ac9^}ZY=hq_&fSlfq>LZOITQCNQHk5)H0$PJJGV3(lcz0X4r-AL z8o%8nzifl9xE6jxw1xMJiD>*Mkz3s-bBU2U3mg(*uU!Y1t31LaCZD;qyc$oX`e=P& zdihw)P~^_aW#p+y*iV)@==SdlAt_5ikqAR;X z3`quMVS(APims6)c4Hgff{}X1M^K{v6q+Sg=1a2>w5qKHBu^bIU48k8tyQAGk8)kw zW?rC%E#T3MUzfwQ*y0_b;JtsNEENE7u@2GNcq}`f=-HpP+q*b+DVAJ?pHZb%kcQ)# zjy$R4PwmtoR^{UEDY;j%DIS^H5ODe%mD?Y5S?OcOO$YzRZq{4!QRhNh=JM!8J1?2J zXabY#EjA+;j^R92=H87G34Kg8jrsXB{UAa8cADFD}hA?!I*DJnjGzEU@jpCEJ zd)g9ho<@FPU)gj^JC4`udO*i$15o8VPw@As#KQc+NsGypgM$J;GY<8e5;T4>cxrG` zgKI<=tVi~p6H!n-HR*B(S!PxQda7&)fBDx6C88$RGguj%n5)CxVBVx`Wv#%Gv5*d`SNAVTzi94sZl)2w6CBSPcX$yG+20znFnci2Sn4xy-m z^~a0g%E`Vzv&CEMbACt;&l$c>DxRdm2k#TZAFv?dz3eCKoq^_U+P#RyOopgC4yX=ki$(8B+XFn;Nqawa;7tF-VyWaD(c*0Z?ZxpF;rfU79$BgzH%V;?#_R{B1;;G zo}O_olv2#ODf7{h48d2g2D*pORA_fNb5}!s0U^2cH2cjNkim4N_Ca#8P_obm@N# zkJZqe*q<2L@ib=$M6ZfyYGT3XFcHpO&-6%3($XseG&#O8s8D0Q#wGBj7DMHQZZk&q&3nelj% z^<-R){T)CVaE^y|hX-1lm=R9JzR0-798214h~k9-i_q~!7;<>mYD-aURE{ckmm>@O z8lG?%$O`%0zaX7pG?bCw36TAqYqpGPmb8vC+$;;1E;G4nXOoRZIjVZ4Y&QbP(1)22 zc?h4r&*8YN*`1=;I6cs=rjYcr`Q*l=Ceye1B2Qr^pB+^ts<9N#TInyM%)e=@-;hKj zEo-qf2pXBGCPJ$qv~p+hKdyH%>88{XpA|XHk4_Fw*!1BTXsxt4SpoF)H%LQM;gS*r z;DrYNe}OI(3b3Uy&7?V?`pznFhjx|Ho@FmmI*aNf!w(oSP2>f1qZZfW==X_9h9WLW zX2F;FE)v37HWkC%4No2M659~|@gRvp=ajRKK`x?efT?vZI!y&w0CNAJkieBmN>a2g zuPQ?$uyW(D{44cK_}HR%cU_$6;2}D9}>SFczubp7LWvS7Ycj5dJy{b_+gP#CC(%NKS`Lk4!9Zxh)R<4Lk_BqV#ju zdO<_d+!MLx39$&CGzgR(38F#QIarH~PeD~r+EkfIp0sllZgEv{=-EP1c(%Y!=DXAO zi$%4z?XM0bO{M7FGyMHKa7^ze)5qBIa1MV_*@vihAgTg5KBJ}$feB^5)j}#@v1~QF z>Hq4cDc(jt4AUBWmUJAq4Tksz`}>H!`y=@3xlp@ZNVF48?-#AhrxV)Cm3iqmmVU1r z@y~4QuET>?SM9D8Np7TSmiT?Q49cp+K< z7$rc)UmDIs(Z2S|(W@*iDLO(sBa^ZaA@z^A?T+U1>6=xh%~L$hxO7`6-sjq54)C|)Ci z!?n>Od7)qz14QuL-};fF-wS5e$pgzVKWzj`Im#$jkgk+j`&cYRX(%hIuQFg1BNppn z-vyCsGKv0vo%?WBO7lu}dB^D0IZ;&1)owH8$tHk3*nx_{26SUdBDtOT?8%SJu`16v zr(sGnuAGe4=#`<&kI*UG1g&H~+loN5P|U7B?`E~L=Z>mO!c<5q+8;6k`#`~Gc8yx- za-(?Jih>d~9$RQRV)yFGSQqZmiyY6L;3p;AOnk2~BQFWoMnG0ZGu2-pPgJOyuaLGn z&DUvaJ5{MHhSS~d7$K-jx;jqVbrStS3&GL9hJ1DU61Ae5$GjM)uykO1+W#V zOhu%=am^%$)e@GAY_9wb)iu&U4}a%*3!Tt)NNMB&LwjGIH^k3W{o2CAH0@!XKN4>? z$&j<^8mpz~dpDQDt2@V(riT@l337K|4i1MT^Fzqct}*&Fz8pQ#CG{3=eii;WQxWWp z*D;O9!rPF1ajok%J0hO>&njwYO83JhQi(Ci2Ol<6e0A0kY_K2ts42O%s%3_^Op-4g zYO~Z56HIpY-6utWT3*ntNz8bYPsG!%I@K&B*>%vyy@??6$k=laay%0}8+@09$7@Z1 zSzHjW!{p&0_^I=sxfWFYd$mI*w{+5#uiBcvVoq;Ed{jEej-A6F_-u3=Nki6^3K=!d zSPZhz9vpWHg@qhMc>!Nku(8@c3>;ZXIcEx7sSm&2C)LqVaIAU+yVadb-d~P8Htwkh zmWkK8hTzQYI6L>18piJH$?HBT_)DI3WcWK;ap)J4E}*A4JZATI*Ksj|d)&w&bq*Tj zEH|(Xr)64?RngP89Qts32;uN2{dlWsoBE4s2h zB5x}qqHV&QMePCZc|Be9twPhQ0WJEuLU8&vlpH{P{5%AFlMk4fkx1i3N?S3OK`z zx#4qGFx=(YFz@sXnGFJJXX~WA};(IqvXKq{h)39IVpj1*d!v zm>6-rK;c5J;P+;X_p!G{kRpnB-E+EW)^g05DwIl1B^6Ah8gLFHRWH_OvnYMrA+fg! zAc}}Wd#7KC&3s6GyVSP@J@b5<_WYJ?C7MMLKp=9qE+BqYP>E?6&j8_~{Q(X}d#nOX zJ}!jbb2_Xz?Tu`52!$dP`Y$krK#SGEx@LQyQS_))LaX>P{6#UDteu_ui~Qk^aeD$3 zlygP2H664vka96xExu=zGa13!2{_UP2NMPcpOo;>jM-jeaJK*^RZxXyTJmu-g;WJuj$QOqY0>+#jNWW)}tP0#)?#wyyB~ul@P($?oEsH4r1&(YX1D0 zy8d-+e%ek`Pg)fG6E|mJE7|5+2O&I zH;0qXWs}6GK@oZI)IIwW1pnMPk#o|Ed4Wxit3~GUhg_RN)Cf0$9?!}icD(V${-z{I z0hkk#hT$EVU|#T&_a9Kx4>FjTOzdnEe4DtJjqTf~ z#UNx{4*RsrD zy0^N0SG%HzU|dY7D$V22&w3_kF?PLTYYCr#>}rdXh7F=KNmdDjbOa|_fT~$ed#W* z3LTwH+aq0<)%Bai|>kFVN*X7!RjM`xP6s zjiZg>#?XC~4&4W~jBLTW>ak*mI-WbN@n~t<={`MIR5zM_wkyk@YpbC|9Anv}4gk%5 zjj{9B@y1Qz<)?5JpG*A=vSK4X8we4g#a4OZ;M>O0MyLVt-jwusv0#D>-D@qSJATv< zR{|&3njh|hFrZFF2eU#+GZ!1h4rE?#L~>&C3N50{FJkPXA#^f*(?I{d*&dK^7QEJz4I)`b+i~zp}7j3GhpC7RwU;&Z= zd>?6_GoNkGe>Q}@+()uYeFChYLJ9AfyJzT(Cc`If$bHR=8AoJwd+h)?)U4Al#5+&j z3>80e58fi&eBt@`gc%qT-VF~iYFu#WVo!#~LNI2e1OQQDhD{U-{Fh*8fK4vbXf%S1 z5e|q4*%vVL`+Xh8gO-lbLxZBW&&#NQ-3>*7Mdck0S)v(Ml&Idk(L%b984Wl6x)FF; zD;O+l$_jKldbo-N&nP)u(2I0E8SWQIL@luRmDgaKo~N7Y9$@?jG7SQ(i zp}o%8Zs}l&B1^j)q{!%!Ep&Ls=47rp4qSxxKzhHPE+D(DW_LU|=}a#$>GQ?Ml@Bzv z@AV2Ei)tS&`)SyfSTF4k7SH?d?jGrBm`8k#^Ho+f;4*J*O%`?&z@Yh1D*8D%Ux7^| zGi^9}6HC~)yr_2$p!6n9H%Wz~FFiFF6ER&lXB~9r8tC*1@qun#qN#d(nBs!lD)fVp z8+Oe+9&Ty!t?G}~J90uSJ5xLoRi(f=qZbc05His3!L$YC*uL)>h88Eu956poYMFbW z&TnDUPMt(aZG2T^{1`5!CZziERB%cA5FcKFXX*!qU?|7KeK1T3i zNECJ0lkI@oej?@v1&JN|k0c$ncbX^&H?GFoyf)NVSTaFi-l+3@uWHMtFajpS5$x9v zbYyg${E$=WmachTZz3{~dEl8sQ!s3WSu{Mz!qFnApRC%NH;Z=zs_7;BcVDi}Dt8OI zRW;|id4b?qZ@=&RZ|)qLq$>@Oi}A1hvmQUz!Et{>3IKw_ZxmW3OqmD zN7G^?{P*8*X@~k#w|Z5bm|53Yv*YLeJ;ef4bsPz{KWpwUtDZinEL(8^sbYYDSom}( z`_0m?FoH9&ZS`7BqGu+nWybm%(@T%ti8#vT|Ngu8dFr>qz^><|Hwl2Mz;?hsxWrXX zkK?O%NO8}!8f*WOv>}+6zrSpW8{U5CJ5asn$lc?0#cR~pLXN@$t=uOTeK1Q^1#j-~ zfT7=7r*{LGKy>< zXRQUMdo~!$o*H6je&$0>hXBt(ph6Ymvq6?+^%N!af1naNLP$#2;OBSU+F_t9y3Beg z_#bf*ZIDG4RYXOK6^MhY2MHn^EDN!472dZO*b66F01Pz9Ym3RWRp1yPT(y3lA_xXv z*oE1IJy!t12FDgih2alaKJ)OgM#rC>5mnZrpz;h5Gi$LkmoMO0MIR7)oX<2lpk-3w}CzKY#a;F2Yvk7&nicsecKzJj(s% z;eL2Fd-h+?{OqL8^*6j1(dj`pj_hYRTKye#Km z5!r9pA-4}6+YY#xEq3U})f%s88RjClgOIT}RJ!NOlG5YRYxB%AnBjWl`@0B+8XlGk z5^cG={JpnuhVk77{zNZvqf#0`Vtrj@v;7A`@%hPLb9*i6_@)qMJd7>CWn+)AYoH5w zK^r~eGwGtkJd2IUKJV7?e3Qxdbif%)q%08bHHwkpH}Jz=8n(TIjw ziw+auzA<6A|NbAadVF8(7r#ioHO6oEzQKHY73i|NT%XS3I|Ey*PQ2LJ@b!b}ITXME z>pv7=gWQYFhuA=i`@SnUm&OZi%mF^Bvf>-P4cm1cN(O1GanW|tkhv4Zk5C3uN2aaC zwrG=j0P%FxNB?fd=5SokZsN@D5ojoOow`30nbc}ioBxz46Z$W~0z?#myq8swM)kSg zIA!)IjX(UsNTb!cz6lv@DHPM6fzQPE;6}4~s2^Hz$7Cb?2{-#mVzQks0!Hp0;ok98 zrI&TK)n`F2Vc;$=r1woVI(zXdJ5XIT-sBKix@Vpl3PA|VexyoQIt8DjQ^(n(o2ne= zQWM5{{=tWiDIS#Jo)P~<0ZEV5_*TqBnFJru*AfcL5e+&m2elj)6-mi+hirzOBiB&q zT*lnN_6+A^vl4M4VS>FMDq)A%mzDwyRbO)>vtce1RaBg1!~wajJc~ z4)MGTEMmxj;6U|N5bJ&1F>86}6v?B>vN7W4TU&M8xI*E2=+Ln5SGZ>d)s(-uE1BO?r;uAIYoyNEG@}IG>C^rwLAJv*8GX0+iJP zl{|^Fmd`vd;Jx3=pw9ol=9P6nq66e9Zxlah2l}V{x*?i$NI~^ zeBbLpzp%PZpzlWmK<0U}j?Y0LEBE3josFySxZ56kpC5=PeOCpi?GM^C8(7pHM-XPm z`z|~3zDfnFhL2o<~518$aAUn}%cepkdHy<8EVS zzk&t0jr98z4V#8j*0~!m;wJCR5^v2wvh~50eUO*?Gz_<(gXr9iDF0R1Aa4+JyFums zArrAc)7+g9@7p+d*gK;1TUZEsn;|xSoChkCa{&&6*lbO2Daqx<2s?- zbO<-LA97X*FlR|ubNHtoJkcL-$HxplYj}aB_oEm)faphUh|6N-Vgq$ zI&=3w;sQCrFwMOOPK>v53V)n>FdPkxQVfB7cm66x%F6Vmfx(?Pe5wFZK(4cC4r_;DXLR*`qiBXYNmYh1x8GwY@i*f}`g-nv$;DzfOo(Uv5;T8`=3QOZ_4 z--tYXyl6Uqu7jpdtNg%5cRSb!=F~*o`CEwIAd&YzS<&OU#vDiXt{QRS@l+}!&vxS6 zK|xH{<_1R@(qwdFQ^N#CufXby8eNL>Q^`+6kq1T??jJT2`p|;@y}G!@84{f`4p|p3 z&?}{c9P(xL-9AN*ju!A(Cgj0xJ(&eqB1evp(()hk2VF6Zc_bc58_PbuBC;QEwd~{c zBYsMt^{-hdS+T?ZzC(FXR#b-|4sGuv+cvcA5RN18N1aQ)zqlky`-ii((J@kV8ZcCT zjoPT`hkksxeizq4&hMK9aC6$!c7s-&LxB^<@z{eNmZOv4-I3MS=x7uW5`%`($)83a`|+7h6u42e#LbE_8ceoewVB4 z{_boGmE)IqjyWf2aeY5{?NRnmclD@0?c%XtwFdzCzsL-GkM|Zo1XJC(w-Ah=QOoPI z6xDWBqU7aXFWJE^l_B=P?O8rq(Re|__wOj#6sSyLL^3>e965(Kl6`$djvxVLdB2!q z!LoWilL8MU3m$@4AB@Otd_mTt=SItNUxT*nh?LI)kE6lVgcyNp?r*Nqz>ou?V(R+* zvAeaIW$T!h^>xwhF8?5jiv2?SJKSY4=QP93_+it`f40%0MxnZOPq$)p=j4O-qfGU! zeBur96u^1I>qN7a`wZbE+he;BHuXXIm=kh%C(%-}JL)Tr171G&(y6UWv48y)onBis z3t8nyeF0v@9c^e3_I7pbM!8`c)c4NO@1q_4=O4YaKLR8KRUY~RIiKHyjj{f@on%-D zsZIn4(_ah(fB%>gP06SD!OGtd)yBETly~&^Cg+R=+a`xPKdw$3cIR9;>yxIrI@b>Y z#VUbwjgartxODffAaZpaLgLq4oh{zvKD;<3uQ@xHLgBzmWZbO0z>AOdM9xm<`gx%# z;M|=^CSMb@@5=!dvjpR|;u|g!11_cY$F~RU z?RC%%JfQz^CUi(Vg~`pvn)%>dyob>NAH8$yk!1elQc1?kAnfBrjaw;`xpg3?e6`8T z#;tJB0*Lo74Q}9 zxLSGXTxPs-X-LG_?k2}Pht}Zk?jaYKP^+vA?)oAUFuQT%dYD`EzrBw+b=7FMxfj+0 z_y41nm+v*hWZm{Pe=&Nfh+P(_FQ~^CpVeeO2M;%@w?dxPYhobs zdaSnkHV0KPzm0v>XJW>d)olxQ>8jpv1mQ2ldesKDp2w-o>0lx(ahDIg%y91l3R!xu z#wYKH{%aAa^^gk+rE$Yh2dNf}1|fUSbTDB`!+?-z4oWvvN|YK_;MBc8F;OLTgd1M! zcoW#(>OEPf2<*-?@vPQ)nPJ)pjjByaPc~v}RxKel#S>DGHd4rumg$#*qqW_z@Qf_l z!W$5f7=_{hZ6LyM9aYSJHoLVqwfso>4t6#M46+C;L4PgAnS_c!f@K|L&yHk5JKj)i zC(t$|EtQKmsnm%VPY-Jk*oW(WH27jVw0k&s*irE8akqEj2;LbP=mTzL_${lntA>z=1b`$`xxryC=f3qN3rPx!5FHybrr$puf8ai>9zJ6c_yR ztpc&W#5HWB=w1XH1zLcyAe5Ykqq3U5J*vLS<;w>R!7KnS0^iM-aP!3ErXcdwqeL#E zPTjB1lVTgY;=~G;#1GEqlONv@uZX}{#O==s95X+A^GrI?j2E3p)^%{q6R4X(BO~mL zmhQ8~{QWZ~6Q|w?AH?5mGX`Nbx}VbwX1IG5PH(>%z%4a~%Z}kR5z|{8Gg1P2AK$-J z_txCTuGfk+^&Sf(xNeK`00_dx1wOQH9!VG!RV5L(eeDVM$tO4vHZTy^((n;6dLgnO zPS^O)EqvLV^?AN~h8R1TDOIQ2PrXv*y<#;2%= zpr+fIR*kqB9g%_9S~%VBQ0MME6i?)T#Z0TjdYMIxY?OP+N288|@P#*fSeV9+6QO-w z>pDg5sY6`YMU|L*w`f);NRxMI01gVxhrHTn79b~+F;-8SIX>IeUZg<@6hqVy##ylw z_c6C9%q-l2CU)rF2Hon9aWW$s@fEL#x2!rcdpUABi<{N|>{m^wE5K^0 zjy>KOK{eZIPNPtz(?>1-(ci{W6h#ME8s9a35}1TV7#w@&ZGk zMT|HhjoB$%@;8X6<^K240z3%5pjD{S&pN7{H19PqBn1Jn`;G%^$sunB>TfSQ zK3OOS^lF=VK6sy>b$jN+cwItmfPGF1^;=?vM#LdlQEU*!6cyj4SY~pmy6qsa0xv8C zr&NLU{dWJ9{d%XpoB9Xq-?dh(Elh>x1d7k2RMI6aMJc0rOYUY5|3T5*Y2hXQtz>WX zcc4$Dm4`Rp*PLQt-P7@!Pro>i%T`cp0o^2^(o(E$?z-oLAx6cith#Y8nOnoPf@ zUGcGN5WsF=#+m-APC`ksIeg+5#CThw2evk=Z9M}M-YbQ8JzU^f<`i(ZEEbY-1`KY$ zha;#9JHik&b*90;P%QS+cLv0eH>AI@y8!3H(cjlvH0}BD_Fwte38eW`}!n;79-e(SCX2C6wjKvD7kVd(7(KI_4LCXB|I`2{HeQ;Zgbx@?Br)VqtXXJ-3XEE6W5V z{`NUs?5CgtZU+2sKZ2LmQX4HQq2)UT!jRDP7=Xwya>qEnP zrcH%kk}Z}&8ypd*ddu`7%`AYSe8dwrc*QT0^ANx$Nu@P#XkXnXd}de71c3X?_g@L8 zvq$W!7+oSs2Drw-Y8+`nLw?a3S)uukke)4Hahp4cwkU67SNjYBx7p7b;*3jchFsl(~u;( zl`A1BrRB8m)|7cW1UN5v{@hK?()?gKoetuWmfTH`%LefER0wuTUs*sLsZ^4T^XLh6 zVM>>}fSqcCgC`R&`R2?KJv|FZNT2|k=kSe-X#fl3An&6rmyyxM0DRo3Uct0Z7s#cq zu3R)Jjt+Giz;(72^L4twNvcv<-69Q*E)1jD;@W*HGpS9l>gi__ITgtsAK3kI${i=Od1WP6OuR1u?=Yb>^53nDO3X3~w|N23S7vpj}2T~-qT3|j= z5_D;PBtG6%SN<g-Nxh%?LES;JpSQ z!KPS6gX5|xoQZ(qL;x@E-Vb$tp* zz|vj$=?H8VkEN(UqB9-O9^W>E_mROX ze00a#2+zfp#$-nbo1}TaiO+tQXfKXO%j^-m4>O*7)^&(g=DNln#~?zy_Fg#&=)PDu z*E-@5=2nETaD;-mH5dXtCrF?2{%qUim@qz2yjMC~BFP6+L!5muXAxUg)EACLV=haW zBqbz-$UeU}VZ5;u50AZR+Dzl_;p;pp-u{10# zHkdh^>Q&ydO8A9hlsZTvsBB)UtEzj;UCLh%iFz$6Rw-IG&Csx7F~Bi(m!^y=WuFZs zTslgJd*Ot8MJH{so##(7S6C*auu~|h1z5H46{=>Z{9U&Hn7j zl;c!A{?6wq;`%Pr)QK z?+m+z7<%FI+7`Hr$X&A!OdiRmIweQ}g?SbiN5N1NK}Y}+JivB6#c@Z~fnfl+9vb>0 z$?`TAMVhqI_V)mU@*6RWVZSK5Y;LkH(=PXF1h9rs0z+|)!Ln9nAdvP>*#eRm zu#WPp{=fJ~s*|f(9!37!#T8bcl~OJv3vZ;Q%Q>l1*&vujY=n7TOPH?!3M1Ci<-=oC zhuEzpdq3dXuRk|_>SH5K-p!P#d3K@Atp#P}>4HO8^52Y&@C1%-dt!d>3$O?!p{W-Jxmyf%7V+gde`JD4nb*o)IYnbi0Dyl-& zaL?YFchYWC8MmhMUZn56+(2o38(aReL>)6z<`JMv1j&xiD| zd5uk2mCPZb)$9Vfb{01h2P&A%lG0zU^I$Y>3N%OMek2&N#Opa9!h$r19vT*l@iCgD z`uvUBudgIT=7Cp*^P z0W4DSf`)|?V{GEGk8eD#3rGggcR(x;*~!h`yrRDxiHBg~CJ&&Dn-As;9@V98!6j zMneVy)yrK@Z_j}6k5c2-fn-H`c~*Je46)EA>HjKh?IEMBc9XZ)i4fPw&kmo@B^@aF zVGx}e1fTLa!RQg8H)N!Wc7lSDu!ag?P(RSV*Phhj0r_F?-GX$juK1U1IYAH$WafsK zsx>-o7jWoYV-}*-JGDxe}h&$q{{Tj-s@Ltoktb9Ywh! zrma;DrtAn4>R_Vih;+YRr_f@YW0=U8bS9`v>^r_iFK}0Q5jCQl;cbu{-o2_+=ZN$m zK9G}B?CSU+oi@Ega!dob&B9d0CL_Ln&`pSdM!leKTT>aVI1=}y|G5iaK}O1AxBxk9@$!a{NHxM z0ynWJFp-gIf7M=oS^O@6xx3E#cqFkQBsV0VX)bUMjct~nHGfn*j)q2 zEjM-;8yb?#ssoo%{zLpLQBwpE1h0oSog&*GPGR!KV}IYNRzC4D;V+|5mD6TjF%&;j z-*GNWtci=Nn|$kq4{k+X&%$7-yxR?F0ybq<>#jhu@^n>ViNt%VM1aZK%U7S3e+KZK z3z%E@tV0+Bol!_MgsSR)Ql@$(q`tUbZ3WBbwydtVW15QMB|N zj}>f&*gfm8TT^4N7745dU;Ne~ECteg4aCFdF=dB%{k4OQET@VKD}i!+)G7TtaJTg6 zqbT*Bx-o%{ezFZTgbjD{B1S)~8u}zBQNT`-JU#gqnz<$tpu7rIYEVYJ(2N>mj)xtM&>s)Nb1l-PX}am@n)#`cB; zI=c`)!h?1woMN_%s7!nfOVl^N5dh(G7vWS(y}N#6Qf3DN$EtooNry-fY&l-Gz`J;M zEKU|xxFYw9@4`nw^0xz=xFNv+$+esrX4jr#-;&7c30}sKt5xr7NO0g(h+r$5Kb*O7 z8-qURzOxFAH0}>V45f`NL-2(=P#~)0Z-!!wfUqD)C3pVue`%07UGTj$ctqU98ecFM z6Rba#(nFKB_LBDr)TzH#BoiB~zr4Ha3?2_L>O7(`!*U~9Ca@zLss#jnJ}nau z=L~iv@&eD5zqpC9{~SRVsc6bX#Nly| zh!mSvaJk`i-7eVrLhVj0yV5-%Do-&m$`0XO18h0IJcDCz8nq8|V~pEBt_+!SiBnG4 za)ZwC2HbOccQ`jOt6n`t)i=J@BSWz1@Y7W;ht=YcEWVa~2;*^S!*@2s)rdR3t>N>a zfb;W6G*MvkiX8wCFbo7a_q7TWD+6Tg&uL4Oc}Sb_KC(7EKpvcn1@w!j4dh9eykCSA zyWRO>y?=*J7#j%ffCKD}S+S0ENLCW}C*03((TcENkK(dkg{lfu}@VF2@*dQLYiTMWvq0)Z6O67(^hA$rAHl#j(RU4T`CsFcMmz~b& zZd?Pw40cPe-0jgNaNYJfhdV188#Vy7+n7E(JQY+29ij?fzrxnThazvNX-!3vMb>-)v4t|%TwEC0-?`Y%9VEA2chd_ap+eH+)r*8k zqcP+2%baa8MRA_&*wzw;irYVvYk4vc@8Rqs?2vi|rfCL`oG|iy{=p&Jat+!~z=OYP z0&qYxFH8-eS|CT*W@Lh70rm35<}0b&tQ(6k_Izs(jQVHbW;k#Eoc-(llzP6gX_#M| z*>k2ZI*-W^E@+M$n`@D{pM!{`$5U#kA5MmuFD~>y@+`_`L|sew%YPvqYSpr`;Y@s?=_$Wo(?MIm~Dve4feQ{c`4W|hVlPH$kH@?1uf5Ae5BnWMr z{0Fv+GmF*c3xyNfMCxjUYCkn$mT>Ip)=>%hTom(Gb&2@Lo^(moSZ}4_Z`cqrst;}0 z#N`Z@tCS=Ecql*AZy!@Gn_Xbe?dBbn-G8?M)yM$U3MJi1bIiL4xzNNhiYiPoR+m81 z5T_wnICNW+BCV#?(<W%T&hITj(G+^F>W>QLEqc=GV2T{!x=4a^sL)_B5E{ zYO}~$y?XCthK{q$bp{YL5z(lq)F)20588EaR||PII0mP?nj+xdqn~_uTc<`TLtuXp z+4^yvVmu9$vw_73!+ptpoI(EYc{#*rPsogax866zRoR@rmSNPGjvYNA+Fx8F|KbUv z^ohzt#Y!i9-6_3>2CZq26|FWDCDkoAXc5q;S#XT@LdU3bKtLI~fTldWJdU8FE_h{e z)eg(cJW=iWidZgJA>vJ@F`0Hi4-wPHsxoev2F^)r&O*MuG}8@5#M9o=((KC?)N!|< zM{Y?SQuG!P=nQ5?7TJB$ObnJflSlmE^K@NQq#P(Uud4Mwpr`gDFR z!+nSUpi3KK^p{zN@$Vl86b)~1scENARZ)4#zGA{L;n(aLj7<+0xN1LdV5i$zrEseDKe799xuyEI z&$yv@5dC@-DivKhPe22>H;s;OcLDH$SG4$o4#gTnreR@pdybV;jKWe*QC*>O zj)aMbFruB}fo8A4ctZzqwj~skU_)5Mb%8K`+LOrfa+y`~a3Wa(q{%GTP@wdJI$Q?= zyJgr2Q_t6A=fnM>jY1k?G3EYHly`639D(4&j)>5K+ObPWxgeMW?-#Kd1XL3zN=z|m z0Hl4I2BD*B0a^8K2SzieV(H&>{fT){rHv;zULO@aZBsRXu0~$-t#8gDoXpQg8jj*g zK>RX11I{G}1AH)hVa%1E6g|pN&C=Q1_eeH~QrVOPriykz54$0<_;r0H7+3+ND^Nd} zy9L#AQX^bVn_MrM1LgzA*RUUBI8W}rrsZRK(E-_6bA_@i(BW3ou2FH!e{?bj*@v~- zi^n+@1wuHdfrnBk!2Zc9^UR6pf1SB5`jM+d-CTQULg2RvDg}w!S@z>5{lwtu(M2{o zOA}%brlVLoStH`a-o+C_UNNaEK%SM5uqT#6FFj3;kll)66Jjp4ofNiem*O1x5U zx?xZlY+>d!moCssFrl~c{wXP4?;{Y5q=w^arDpBH1t_zV0ufQEg!oT-K_FZkEJ|`Y z=KrlEJ@>ZId8CiX3IFdECYbP{^5o_?al0V6B}95CLM~V`rsaO7Q2uF$wB}SKp{xZj!8aJ={`#!dMmHbkT1Da8h0Nz0aKh zSah^l@o7hXcM2Atr0KZ+l4Be?7(0v20fqh?TW017)&qAUz5ic<}cj`2Kh0I z{?v}r)Sv!ClvpbXd0(}1+0Q((6@JW#D;I_gJC$8MJ$6c*KiY`JmK0&ZmW`HW_nh&= z@=!v5-BKo{!sL4f_;P5+d<`^!V(7IyX7F-GSvpmKX#6YZ0 zU7yD~snMHs)uw=bP=H-w%^nJd(+D7oy_5C$GP!#GM-T8CB#>6Z?>d?B5C9tUCun}W z+817F^TqqLzOCOV_lxZ5fqT{#2)FkbkidspKFRMZVUyxOaR)5SM13BQzO)QY)CG$7 zKf8r)X^?B+e5&2jw)^Y+{qts!-DPvxhY@wx=4M(-C|skYo>Qf((*c_#Lnf zyXR1HSaRB`-L$Yz>Xf<=O*rAZB0!dMCl{|BDTS~E<^FpSGWj>+6R78=ObM_62-JE- zZ6&T43@OB^%8bDBriL7k7#Ua8(WakYsw?L>?FiliaK8qOkr$-L&k5#yQQXx9MvJ9KM2h29M;8ypRKUFPie%l&uh zey|>EyFyp6Q7r{cDG~G(mOq!+BfYvj(|dpNbdzTX4mi2~p^cy6wW0)%EChs1y~K!B zP9;hCrc!U+>DSS%byR4Q5Teb^3`luTJY3F?gP-Oek6}xQqG+Q&YDnLVx5|5;P~g5@ z^}wp{Vzm%Aw`4~Tmo4SQZ_3deo;q>LJd=Pdhsb~(?lIAV78dV{v}j=2bzBSq0dDdp zbWeM4r#<{w4$QXo2E%>Y_5#Cc5Gj3zPq>)dboM|~fTlz7-=aQt9QBgkTk(@Tu(Ex? zLr*3pXAiH9@hAl0<1$Y+dkWDwrKYwDr=qxXcB*j8qdNwn3-J-RP(JxpL&QVjCHe9L zKaS{t&*5sF?`;q<91nkh-+4POp~v$;l&y^P>_`+PXnPWkXy9W1q@BXNhTQL$GQG=G zFg=qfU)eb5ZPzz_)@+(zk?uF+0rdwaVkJT5p-U@l-;-7^RSNfW8(K=D0tx$8a*KO~ z?JVJf;g}*N>^>DB7{$)ip>SDLP4A;N=|>))!jsU#0{{ndgRVi}sYPm_MEqwCzW?j^ zpf(7KcQ#Bq_iVuTkE+~&|r>n%SMNeOevPG;$ezg-7Ntv{)SxnjZoBqIYN z*K3yFqZ;AjG66@aaij%ivB7WyBs6FS|0L)hbK_yfSP>O~1f~hJg=;`-m*xI8-2ra8 z)RxI7gTcqZ3-(z98e6!|OCrfEnqJuET4hBbRnNzGqsZ85r}O064^=f>f1`A3a^Dwt zyhJVMRPT)>DTHn#qFF1OnpVwrZ#5X13#V4*R<@ruv2e+LjuADsy;F9V(E)j9RVow; zu1E)wK#K6M1aIWKIGU6brI&Wfnk~sdl))B+OzV_WMR@N~RNI&@T>!#R1a7wv*)<`R z1d35!Qyx$9Y{~|jH*)P~L}1pNU__v;l=kGmG>v!YY;uH(92EqDpx>+gBINNl4CD?O zlv)GREx;DmzzgIHaR^+f+lw6hh1~CTSFG&J;%7xg35=@wU+JZ(KOi5w2OAeCG5g}^ z4}%iFv^A9L~|j0An@pKmq3`8=$t53k*! ze6agW{*z#5ZH5lD4&4#=(LG_)2e*KFU|VP&y{Xb}JY*_fYc*cl?9=CMUO$4--+`Jy z2l(t9>>f<_``>)!9}C*5Zm-#^&Y#A$wsrz8? zA6P^8>(bLhbkYS+Gi~+$2BCsP%*pdy|2XU{p~~!~temmrI!HM?TUNTJvG7F7!+?A{ zJqVX&P{$3h_X@5NN3y2b70lc!J773l?GrJlUOqG=qZ5V}2{d!P^@UW}M;+mMl| z1Irzov_W-;Ju|s{?2(W915#dQar{>BMkQ5&id< zS$pgLW|exa0;TZ*Vn!(#I4T<>ql_h{N<33qQF!Q`175>-7!JBzivG&ec7HQ+-}nqx z;y}BfAkTQ&v}n*c#x`VA0FfYI%z|tweNUMBKOagwMawdhJUi*&`eh)E*3ocXK99B6 za-CWwk`CWTaaAgF=W}ZTBg(*ehN4l%2|Zhh=#62NzTCw;wA*zvi+X1 zWPhE)MiUW#P4>-OnOP*I>ox6*h899b+85)N1D(}0+A%0xgGW9U>74qWFuU0E1oh`W ztHa?y`q?CJ89lB^2XDlKq)0qN)vFuVKctd8&>VRlg$TZJC6nf_YId_Wo>a{yF6|P7 z@NbHljfx>UylIBy!4ihbn4;jWViRe}4fY*k+>Z|()u)<7gy3j&j7HKTz>gKHRiJno8mDzP-j5f2251@;L@QsITwlxj@~ zOU9qy?*BS5^L0&jL@p{5nKoGb!xQu{+U;F3%pIbvXh>5TZt^1pjs04wo7|j%m#Y-n zshF?0^k7Ik0+hYOis%Ukq79-7?E0`3OIuTr5)XxXF3EESGlvs%_l+l{_AXpsQ^IIJ z6HLH#zeELrATRk-x@dUgbk*H7i*v^MQAYny4{(q|HN8X2bZFk2%F1WWB3{uJ97|mr z6pj1u&~KZs;d0AG10cofj#}yr1=IAvbZS6{22jS>pPYPZI2mem8L_}kGAQG5&{b@N ztBsyMojKrx6#k1OqRI8Q0K!_D<-Vr+aoN1$QlPF|x8}Ir z<4y1CnR>q%nSX$&@->r4aC`)@q0MS+$AeDTqd+;yE9D?6FT-&g*ZP&<9`JqyE^Lfn z!mT2ULI2L}*iKSdP?2*C!3tg!dX)|G5F%th)YyP0>J0h7wuH{17Iw4NxDUUgskZp& z0h*C6Gj!nhzf4(<6CHVNds9sG{lYH~PF)U@r*58b5eb@8$J&#dGH#4ncGL#;-!c8B z47_=TO#?5jlu7L{t@fEy!z)&~sgnb6^R$2@j|58I^~ zf1c5YPgD}1!U58|RaUwTA{4~{_wHhoxLY7`Z{eoXBdVDB8BmAK0bDA^;lC6AGaTk# zcLKDeH;DTti!IfkbkL~*c5c?K0B3_v7)aqP68GYl?J711B-bam$%Jj>?K3nfeB-a1 z)`>YD1XFtCi>20tE}hcYykX)mx2)8-+;$RDCsO=__8b+oe3S>^r1rz@W|$R>7I)86 zLw{{uv9aB%=;s89V?l52(>Cf}MgzLPHb7pEf%M+m+2UX}1_rVM;>9|QygyqiW>zfH z!~?VBmXco5zycCxg-Q2D<2AiK3)*>f2lOPeXyomUUv~KEcK}YI#>}y0j`Swq1$8L)4OnI(6|!as!v25PFAm00ze3@|1;;kr9Q@ zTZ^Kc)d!NT|-sv4twL{A2B;-j&Zj4)^5`1aJ3tOm=nkhEaHDQfg zmiF6ujFLKkz+fg?)eSedrtNF&FnlyMA}i`;rWA9DKFaBn zYF=`lwKz>7f)rQgIHEduN|@Ce@PGTGqOVPik#`C-#-qkm6tAGoq7t-p@2e+fV*4N5 zeLzj?F0He+rE#YQlMspPYo<={yNx?7{AGie=ZIQhM(+R&2hI{>7)b+y;L(X(%_-=| z@(8h@Axw)-kQH3zHa-^OEduzZC#0HJ4T7O3(_Z1=Y9wEaG5I%E*zCyS(Mz<(x>9QT zt)D&Eu zt7{&GigR|Kfb6xCDW55ll`Z0F%dGQt#$+!nL4~KvX#4rpsf*Vf`TM?2+l--*g{dmu zfs*zEL-sgbVbaSF6^<0YM@w?#4j!~dH&cb*!sJ`K_Ful_Ky#zl)%m3M8wvvxvY8N= z-M>Dq^vqA3vW^JZ-|p@N2IUTELsa%ICgQN<5$m;b*#pM+1fd%mOo2CJ(_R~4jNrAY z(;cJdT?w0-l)-vn9&lAe%2kWSFZ13qZi>J`ZpxB30OmLUa*I!>6Nd+vbr=9k)R3vr z7azGI48Y$+Kuz-qk;QlCE^Kk(0+!B7t5Rc?!)Js>EF>P?Yq$r!Z|x|Ka~>y3nAOlp zU!C?DG3UQ(SWv3F9}wSp;rouwd#H7|T~oMw&qDI`7O@`7jDUS)+{smCdC9tm$LIP) z_9_#+_H$x$~C^|)cBs;MR}$|W0TY3Wg;`4K`}0}RzYc1J`+Xr zZ-`xrBs1(vG4VU7QBs+V%b|5Uz=Y`}Q#tK~boN=_qi2z~P8gV#%sH>RJD6pvLi(t2 zJ*%cAx%yu<#wIm`H3^a9bZU}9{<2Of&PZUbAooLH6g?V#xsz6)df(m>A(N0^XT&VSLr z-&C5x&g_tj%Kcv8s+Vm6#QbIr*l|lct?AuyK)WINU^b{vHoTY4e%eHn+CH!j#0uTm zqav0Xe#`mxP4x=oudTL}-gFU-1;hz$b94Fkh+oChlAR2m0~t~edh#vCUHmL6jGX|W z(ZV$pn^&*aYnqEo>yXMZDtZ4h(@~IP8d9`ZS{>9)H>)=JLcwZtW9scSCaBSQ0lCfk z>ob3z(l2?-5F%&rEpD{;?-OP1O{F`)6j_XFA6c+$mz-|`OvExcqk${R9fD(gOXc?O z41V1o_FI^B_d`8Ou^hFO`uKgDLV+hc$K(I;pt~1SQ=h$ z)NWy<3}H~WXY4G%3aQy_7*!lJhiV?N3Za+)iu1O6B}42|LKnrsBWyaw;Ej( zGF0ul2Gzcfo6M z3$%w~>!9Z(>#EGdd|CDOc|d7D%_MI0>72zDFrKF*qSoFo#sV*Md2?$4$@*ShKkJZd zrJEH;FQWg)>8?2PV+ON7vvkN(a-xh7+c2- z+mMM(Ty}y8J&v_ImNkCToC`X@9BS^n9hXzE{rlZ%b@mowg(b3YD^?Ry8fM z_RDVrlGm29q-!faZ(HQnwV9jVZ=B@x7t!CJJoE5o*mHZ&e)D;}-ezw%o6knGKMdFS zU%!6qTFqytd7GT%p9TCIB*9y32+jeEKbK~FbtHDO3GFhf8vfa}OV9#Bp%JO*b;$CS zjon-0U_?hck@IoxPkw2ZuF-R)DNP1DR2sGUL&yZZUnGP`uG0GSZ*Sw~+v!hg=Hi2{ z!$$1x`q@p(YXuiiaoNDwNXH3`WjFOnTd^Vm+SoeLUY(fwV-+Qr)#tRGyNw!SZ!0#x zHai*!-$rvZ#l;I@No`JV;n`)vmO*!>M7CQ!Ko@O8O^_;294%xOQSa2}0-KiyB?fR0 zsn)eP<@Y&oJ8~Ci$j9;SnSGyuVNKwk2F*?CAs0mv7dho-qz9i=LUh>fcbU>q2`>JG zf3G@LD5n_RfWKlxq`@ZqB3uSUZawTA3f4&p?N>niwsieq81i@H-sjnB3Nk_E{W`;m zrY2fWBWbXiA}}mRebB6V%k(k>|EK6suWa>GMH|LO^^NdnDi@;#GySYxF>c*}nPP}k z9iJ`#WfiH5`uDR2sL(NdTVp&K&qUk-H@Ah~<0pIU=@r=)p~nA04P;-_^r=nz+E}-x zFETaR(4&pEXUGvgdcBklYZo6P_E5aZu}|cRWccU+NZesuw~L+kk`wRvfX41YU*Yz( zOzBfK^9#1v_0EuyETTa;*_6J_8h zP9nT&k5E8nj))pOlIVX!;1YV+be-Q*J{13AKW_*#kdbUeW4|&KCi-? zT_EbySLh)}(sn($8@_Yr8Yn_3!#^LcJB7LEb2AHRau6tjH3sQjDJ&3?$Hx=OGIHO1 z{;QhRAUnoUDq38p!kY^VE3+vwL|H*3_j0F-k` zQgnSKREE+}^#m@=50E@(4RXVR?2zm$@H&S(5!o&Nx=7{K|C!!u){>Y|C~x&THLY3S zr0ps7S~k6t-Z_+BispE8k?axq|a7n4^E>{L^wUTlpX@K&_KtQ|{Q7A}54#C15`Pj?< z`Xm?s-L(sk#b%G4rj-Eo1C@28aVdigm~)@9bW+XMj~RN2ag+2@b7;K$<6TPLieXSW zhLjULL#;!Z{XU#5Q3qo9CVx^$O$Nsud{-96HdlQ?Fn&X5ef7IA-D3XfWznLO!IguP zq8?jmuT;#b5aZFF<4G+7IUD|v($f;$8({HUjvb`Os<;{+}G>2|~k+Tuaz zMpA3L>5qw&R(OM_>A9`uA_pf=`J~yv@F|;ZXc9t@B!i)A}d`B`Gn1UzyXd z-4tuF5NVv3P>wecre5bt+iJLqm$#GVO(qy7K7dtjrO}U;3V6(g?@u-zL1V%#2qOYXyA2Y zY~OSN3PL)3s0Z}rLI9jL^*>{Hqoo>^+j}SLM6-Fxf?Gv>IKRP3hIk5fU#e)o2`2M9 zFr1+*-GI#&wa3{6-NzsSh8LFLcI{Va?j-wAG?Lrysb~rxc{aQ#Thi))t#uN@n(?7B zN&ry-ka2#iqV4nE>ddM;plf~+-fdg!yK45Lo`md8PL3KSj5lPFX}^KXc6tU!O5`4` zFr9MvNn=-X)u!%PbHJh__)k?ZQkf6qhV~6)(#$S>K5L|w7UaT@;n7A|eUmoWfpQQ# z&@YMx+%ZKzK4^@m5O3TW<@pi3=zyz`{z3-(<=gsDw7e>hcii@RF4tI@wSJC~cTtde zz0~}Hxee_2U(hPIDKf`%F}U_~W~K%R8rIV``ZMdd7x6Q#bE=L)?R$QHORJEeDW0yW zGOrCIXdxC?$UpW1Ywxzz39se)w+GetLff7=09rt$zvJy4o^gG z6p;M4Yyx|`d~a3ld}57mB8@HC}i|G;&&^x zFc+K&^XS>ec7Jq6LGK&p^xlqOy9G1W3&6P@y1ubL-Z}5GKINdp`N5P@e)IyRN zkO`})du@p|X4wMx72q3YILW#79LPRvvmutEnBOh46U#7gy4klT^o2&4^VSkQMJsYC z2ouG>Ai|TiuI!RRCsP;5Xv*$4j13rQN%0PPq)JnB2W13w>~sM#%t{0qQgfqQgtt@` zQTQ#rNGYgq;LVFWc}>;)-XUN-X^|`kjD;CPd${iz`suZ7!AOZpO?FbIg_Le}>q*za$An63$^8+8CVgpr_F;UBz z`G-S>g+<8*@J@`TE10S6zzT2z_wH7H=nY6%^xUo{`Wc5x+KJEr(Zp>`HSWV5_)JA3 zln4p3trcj#n7JceGWTW1k~fXQLqinM%f)XSl-G6IVKsNbH^AenTqr5V(|a6t??GVq zFsS+ihacW3c>%_#3}Qd*9zq@uFMdxzTfEf5J_95+y=;g{^i+Nmq3Aw9ljOZyUXAM- zgFrr`ly7#4iZ+C30jLC{3;;YW05`^mZa}Ox1r%pL zg4mXJQWC__`$0V{T3Wei-56-WSBk+oRQtd`=oUV7Noftdk5>1Qi8?ok;_6&v)KLTc zj))9Ev80>CGXka|QIxDm?j~Xe*nwDq744%1H?o6)l%Wg*G+aGL*!()CP)zJRJpWI-yv0|7jDB*OS@hskaQLh@Q{nM;XxJI z*u%oZB?&TF+jm~@Grb@_yRz>Yi`Fj)1=t_l%DfA`V1NI+0BVvweLlfI(12t+5NY5a z9gj_hhs;i#2ls?Uo%kGaz^$qEjgOtwXp$T9@V5F><3 z%K^-Es~Y|4$f@>A>%3`XYqGcLzZ}oxqrcjPF0f7c7xN zzHujFcqNd_vKe+mF34pz&0P2w8gD14cWZLzmll&GC|$ZD|H_L$+6OXz&IHxFS~`2^ z_}=Ozc|Ym2^E}$eMqW1c_%w^-M>MEGSXt%vEqk?^@_E|XU7yyl06*oUR~3yahv}nQ zAI;EZ0HYh|_O#ij;41to{n+=Dp=i4ygreE(rH+UMYkN6{;bij1P*$0ETI~T5R+iw8 z{42X%@jCcP-gUDGnp<}oAZ_QSDR^~HGEXR)gtmAVIYa>Rw%DCV|~;~fEA zcswZ0KW2GFe@^I+$#4ooP`UB~WS8A5I3aISvx;GOe-2@;1=ZW1pnuI?(w8y(qSlWY z(P#o{t6&z}jKgIGh|Qs1zUZsFKXe)e`+^^TB-dcgGrS!chRN5pp8f%Yo8+xhn~BOs zkIK5*GTU+kF!D58@gJu3|D3@HLZi)0Bqr&r@P6471%(>8q1U4`f)#Z5^f~1Z?t0?Y zeLFz}d#bR7d2*vjXJ@1@Z(A`jhe_&4*xg?%BHw0+RdO{ouOdI1uXuf+Nl}d<1R*_< z8x-mmcSUCuY6ku@dRd8Zy$UPbJC2gqAHB6t4b+aiw!U#1ekIkmIus%H*tpT9 z4?JY9#AhiPF`aEv<5+p2)krhwg2}cikoH!;(Eh1Vi%vDfj1180;^=ClD$#}XC0sD} zJBhg!+gxYo5sE-z(NIRVfd>N5$9^~98VpW6bXu}0Ux_XhOPAQq+g;8ZPd2Y=G0l20 z@`pxGBNcujrJRGbX$ zemWgpdU__>)xFUMMoH9cL4+S2xnCw?yI6~IyL2OOQ|`LDz(YbOJR0dT0R4$7Y3*LZx)zyEoWWNlzK776k^Cn^ zV^U|&swqM`lRZ8Y$aqbvO#GM+X|^;+DqJYmG_-oMRemmvCA}wPl*c!R zYE;uVttAbWraXtAA^zsM)#geXI|%~n?l_hPemx4Jdh zx0{l20QWOk?D0N7e-}Y^lRq%3imA9hdi^TS1c&eSg={}d*GzUgK^)By1HUiZ0{;I7 zKBF8aILv-FA+Yd>X$aX|ZCi#QTRWD0{G!vgKJ|A7E{nRRPbs0?FC0cpnjt3^R{)~1 zNQBTI00y;08BjgKt7V*KQh9y$L@B>;MW2jR6S@T16oN#0b^vB9up5jtVvtq?X|)Qk z#Cie}V99aHci48JCTFA{RS91w`;Xek3)!GQ%pYt=26MGf_qC;C`2d`z2JL`+mIR-c z@_GZQVwTbtNVHw^$BJ6+hnZM=Hs7?k!InNOl5iK<>jwT`v{uBh&^h3fl#v0->YL}v zMi5%TyOf1TP9W!;im`*p2*?SJf{~MQ!_dLTr?u-R>?cmR#hNY~zh9Wi@|eg4NEZ6E z1mEByleVlw?|k=hhDqR(1|l0DqC?c4d(1^Y?O8n^pDN(sSQ#ca8g#6*ovToUhP_k! z?>mfO9y8JY{2;nq5$-E1-LjdBA4Max`O+R85=dc~&MqZnf4t|z9s4&Yg0ZN3{_Fz;F z=TCXtA-<2Z@AF*W(sjPV<~jRwIx4`vE}rY&1CyM- zU)8bjL>0INUI)g1s*FRFoB*2HY7N%Go#%EcH;#yVK|`f;7rocp1eJgMT5zW9F1yo# z>Hm;Zb_ZpxxRSLa2eTDp9iA8t$Q7^(FkDa+fVluWKwOX-1}kZ`6;c}6F~Q8-kqE0~ z$S$qvYdhU9aoXsJ8k%n7x2r}VrygdZ%E83#*5Bcl-z|_W<~q@Stxx}Pb3onJuBbm= z_>H!8Nji2ezx~W8m{zz{`oSUaNRK{W+U7T`WlAHitC`#hUgaZ&31~I2t2ABftbmLt zP0*cFPzQ-T)k9)VbT>OCdqjE;wnbtZa%|Tt5LY)+eWL!1s=iI5F&vQO+B6sYw_Lq9 zZnkYOVQmkBXiqj2j?JbaB0|x~4l^dvsh!F6X&qjr%PaXBprG+!>+Tox=^c{?*7@GQ z1H7sW;!XD$rYuhT@>~A?s}J$Ty8FPYXU@QiZ2O^foxpv%4*IA+uGhV)3+;>fnYv_h z*u7zy+Oioky<;r=1m9W>ek(UQK^3==L!#S@%YMk@u+Nt*k$am4tk(&jyu%yjB;9%# zUtwQU`PS=4lc=d}mKfo&dMs6!B$~4~M}cx>9HQbx%sdbK)Vk6w#+PILOCx(;-@+c$ z2gIsp6|+kAn`Dj=8S?8~NiYaVx+hJ75(*^Dm5Mr!8^w#(a62%Su{= zS1IGKfuGtk4XDubM7Rp}vJCXu^S#A=S7vO7`EjH^iyUUB5}OY0j~r(6E9nEPr3~{L z68Yke4pDq8>n9@PKuL;@wlOnw&OVMyfk@#RR0~zLUGB+dx>JY+xntwm_&{ykbr=gVJnOv#$=WebE60nSoV^ z=!|?t<^SyF&g=69Mz9#Za@LGo@b`9s*P+KhJo%*#oe*{C!uFm9)$ut|l{TpLAQATs zLZxE}`8cjJzv1#Cy*OwhqKN33_QxcRxhX_bB%D9*YbXCn`d$0E&K6U7GFLyc;h zvpmhH*YzNdCV|5$X-=H1nU+BMF|A|e}e8}*GxEUPCEcXA4B z8hj1dBe+nafwK~P3?%#%+-@1W+CpaJ?n0zA*vhjTgehCNu6_;5h}K)QTr?9S%&lpU z^i-?N(uLvi#qH3(*++}m2*-6Jun)VZpz(~bX8MTu94 zq*QlNI~E6{jZyD#(bH;(BVz^Qz+a&l2P=|u!S0bL22>QPJHGDb6MWZM?X>jWSFLJa zsBf}0_4&NTt8V_D?)#eZKB6LxWo!Ej-}Q?+;8E?Akvs4E;0lfrz^&M zR~}6@(hSVT6y^`-lGa_Ga=#?7$y~OtBLZ4)|6To1QutH^Y-&WUr7)1H6oxSJ#qerc zX^X?%zov(q5uREwl>yW8+>Nxdzhl3u#Of0A-!uVx8xbeitE9}m92L;KIW|M`3cnEzyX z*bd*Sx$`e}S#vSAJuY1y8xQ9uC`C?;BX{spey3>K>rp|a0R27y3Y)c$&g20CQd0^9 zEx%9A!W}XE_Q$!qpkdGU_U&OmR?rx&CSY0#=tEw+dwyp?JPgD7t@a?#v{(0xpSHrT z>R`Q+vKxg_y6u-jx8KN?xc@qp`Qi0cHT2+Yx6pjd_~%i#%XnK)9!!4x3vjM&Eh`?R zqKZYHmLVW>xJ_zCZxJJ#e;le$Hr9GsvDJzXIcy)xvUYYABi4)L`luN_Rcc*--OMLZ z)Rgq>JN-dmQG-*|r!Mup(BJooCu1#a+wXYTfC&fVHd z2%O1>la`9U8|#A!9-D^%XirDx>d=;tIZtC=K7Qp^NxL94)K%xc^mj!=FQN>R2;&Qu zGAItNV8d9(+FT1tgDwSc>jAr%F&)?6qQ?TqkR70HPxy?sN9aa&nx|ulKY7+P-t(yu zoc_)r`}pPSv-FD*W!?6E=DW8oy!+21L$>z3jTcjmnxojE-o~0)KzMR=yu*q!opi6< zQC*s*3}bX-9-0nYLaCNTE9-Xm&*t_l-98wqpdsyZhZ7Gz7u)WW`wQfKZ{3A%-#Wfa zrH0aDtWzw>lg>BgLdtCZX5FE_#mO&kx{OF=j0o~>nX5ty|4sNZc9(TNq)%z}LeQPA zjM170i*&J%+5Lb9>yK|3VfFuA$zJ>tLTod55{6@c5K}OBNJYg|s@sC9R`qDT1;dv~ zj6WxhtW{TeiWlaU3oRCK6rTS{bY5QqO0&q1?zj$_^J4X(8vw^*5nRR@NYSHRXimAK z{xE*DCtw>kAvMe?8T?D-J_}&FK zptWQ#i+{#Hj(fFpUmB>rlvV{Q00g=)OLE0d{JXSwGsfcmGuuBv7?vYy71wz%>*^Ss z9#RO#vjrp=Y+_iNgZwoj}PfBt#WY@lb+GblmK zw;d1?^{f1iDE8acuP}9H=Gw|0cjw=djJ*X7`B`lHbae+HZ7be_R2%)5 z+wFkZhydiwILWDc0@4R1&@jL7=e*uq0`Ukr#vzsxt zzi^VS$i6wU1N=V*Gb9SV(T(gjH1CW0ptdR)?f~};Xh3L8YeMAEB(Fc>5);ZfH14;95jgGReFP_KK2C=*nADQV7aMZtb z->844p)p_r#fv63tZmqJ%q{jr@8A+$Ya+>uW-KAH+y+M?DA;;{)y$3i1zOg>*dp}t zMT-!*BvU`wqSS}$KMO52_^`+AirTy}Ef5;J3{Cq4X~i4%I80i_99Axie_eLVUNS2^ zc&&U}bbq)SbJ-zs{@k%XNk4wbz+!*%veXQU7AY9fF?>aL#AD4x95y$9q>j6SNbyC_ zAR9y~53M0O*rLUaceF@-kpq(yGAx+nv3AAbBsffs5hQyiAbQ2W6j2e!V8}H82)}pV zjcHJib}REjk8A^hN{nsT61zLEGvs3Y)8)2RLvS!|-^8kChc_2peQ^)j7xY=)mfJnt zk|ncr)G&P!ezQ80gQeGj&uM z&;0gUo9Bb-|HBQgi~0BXgHizDF&8PV*i&n}2jQ3P2hfVu04u)$<{YiR0+efMtlH=3tHXx_#YYnQ-;f{n zEWcQMl;mH4U)79Qu^0QeWO=hWfU1`oSLI^shp?~@{2$V`w?*g>`G07b*m@XyHGE+G zjn^0{nglkC+j6+~HUY=RLyx?A+T5-29{0@Bg94})z`tvY`-A%l8?q<=X(zTpE_3TKWwTdtQgj_fr;Cat%DZ4Gb>`}#H zDc2ERwkV2r9^gL;7-7j32Za<(5^vu!I1Eh^Yn)^f%ibr7ClVANEf-N6>pb-E3XuNDe z_O=1}E1n~aed&J1|4PN}SatA4Q0+_l@rb*f5@TlS65nLh7w*8nx9mmrP!bzwR|Jf9 zdbck@_m4tqb^)D;aHR4On+K6l_4n z5q(^UqIOEHoqKW@W!7BgM*GMP6qZTjKgJKi=4AtA&Q`2Fdfc^GeD@?_zRRV5{`CRwUPjj5BY0TY3&^GU(V}@VcRxen8 zogubCJZJLD^^>mXnQjzO6xQbf_+`JviXxk=Fv*;o2Z+dI@A^P(?@Lw+#&WDR>$+fU z2%(+Y?wpSPsw-g6Md3t9UXm!+F&B2jIOTwMFPJL-4`T%SGxRZavWw>SiuFnH(0B|UXmdL(ihu9JC*n=V5o~vLW z&N8zb-zYdx?NGk;mO;@)*$0F!%rs2s0q8UV?5@xQ@C)|uK+p0@l3SK9>J}pYwhn+g zDElCKOfh6Crud3*3;LOg))c<;Dm1Wp~HFu9e|40bVnUC zAY$!u9C4;&=ae~r^x0hV0@Gyf4;|_G>C{aNZCJF=37HUrWO_@Ddj9Ne z=>14OGwVAaQS~m+}n5LBRjV{{kOYeDF%=JH5Gp^-m~yTLs>7j_N+2Kgg20A zevpFDx5-Dc^_D-AaF{JHC~?t!8>BTL8Mj1sxZKP_1Gtl)ck**p&<3R1J7-RqD_P+4 z3awv~gKce1E9P64KH3Xb{6rCER11=!{n54l&81D+sTWvnazTYCQRbN9)8X5d#|5z` zh(CrclxdbJU4kPskZ2uYrDfEmk28CDSaiuo`ez8?$&;p83$x_^Nwl|oH{!4iqR@89 z5{$D$)!w}9bcEu~A@=8p@mT-j+~q3G6MH@!8vAHE&MGOWEwCZqNa;>{Ko2+a~CfDTXjAtt#i5y6bh3AZoe z=9wZ{8Y@dXUKtt!;tJWN32DgWdd)o-Nhf*B1OT`{2G@ zQI?0~k&_R`QiMGWWSifsGG}oZUTHvFra?2Oi6F!2+DRf|;D07=aIKf4RL%#bTO3Ei z0q(4+R>_c=b1U2BcEfE`qxl&1@IT7WkonuKmFaAc|B3l|i6I$M`GOMk z5)BGYKy()xXWO|!qc!uJ;w77N4z@MY`S=(E zW!hPDLb`c*?$Rg5wxdbNLX*%htmd;QW zV*EGG1QJbc8SJuWyCpmGq-mg-UQ8?D1Hx6_Q{rk){J~*h{#yZqck!*oPE6>#>-U6Z zlPKuEolTyw#F2%xv?C>ZU6_k_P;`>85E3(m7nEYU52m!;iSlVj;IQ{21bsTJ?~n|4 ziL4^9pL<3M;sc>QbVZkzx7yfF8&kAfpcW&y^vpn0G4C=wT***U5 zfRin09xRD3ymCVkm+^76R>m&jV~Vm(~6J_mX40QK#E~s z=^@h=bw|{Fc2McnVjg)Q1&|GlyJ8(_4Nt_)pnO2@m?21q;i_3&?(S57`YD{Xd*H44 zNHzIpf-qK4OzywnAN{H*ma$uOo0GO40!#|U>P)H$l#ME%M&!3%nmv%CMU>c`>YpI@ zZXz#Z`4GY{F$M*Bd_H350Cx7)-b36iLMoe&8pV0fKvhY$CDZ|hB&wG`y{{6`<_5Ej zEt4WJ5Q)2XYfR`ErkT8Pp7y&af962VlthIGJ`_(IYxhB{^F^_@16KJsOx$a|35KWz z449zffV^~!#;Orxt3d|38OxPR<#`{RL`tcL4|bA|6K9^dRlG@rfR=910OEH3eLn80 zI|LQ7@369nhncV<5ah&OgeWc(_XhHoc8Jsm(~5FB|JEcQ-9@=;Xq2LMV&+p{)^IlRK1no#tT05i^?HWkwTg@z@m|o zdPapuLo*V{egDc9|0X;1+55B`<2R<(L=V_0y^59IlrRLE)FQ98Kyqzhf#pGcx+~B; z3kW?iXDaz-%6bo?P?Cr_nttZ3Gl?to|Hm=AgXN8$diPqRZUxP40(-WiIpP2lPreSE z>?3g+u~CC|x@29gETYyR8r1A{<#wqauuzXHX~Yyw=&6*ZDB-*T0WS8k7S_Pq*(+hi z*h2?FG|3Q_%iJG1Wwp4>-;Zm=YsJ2j^cwh< zW1kl|ilPE^5n{HnE41Uh8-ed(mw}Nip7(y_G52-s4so0NE`=re8FCtj3ZKhbALF(? zhYp%G;i!a?1o0n@9t#WztTcbA#dkt$nR|>T5AF(VNk#Yk=O~f;Nr&4C^P%{m1`ea9 zbtWbtV8hO=nV>d6kLJ2Y!^5!8S7AcPA$;O4!5V06e#qx zq9tKpc;zb7+E?8o&mrUCt;hewwDG3TdZrZ|6X!<^yf>WMSaEt*M5CgtV@lmPOD#!z?Arjm@H`n`;#pzcGy@cq5wOd=7MG zs2VZZN6vY2yV|8&J=-SUJ%}pyur%~^tyTqefFehHJizRKeuZqV-W;v#T$Yg+Tq)^z zIpyHb3`}L1lGf>HUscykCV+fS``u_!2G6hkJ8e+cbAZO?sOcJNoNE!C5BP3575Mk7 zOK{Vl?aXngR*uzLdbci}0{hOGCOy+D_MAd<*Z(@DwCDJncLxDlXVJEGhEs#F6c?nY zfH?sdqsew46ZO(Dx^&j26wc~k!CBMv*GF7W^8{GV%Vsr4mQt~;GAFc%t4nyGQvQqo zfIT*hm10WoDl&96+OJKnqp4&WFx|>K!Xx5QaxS zl3pkTYJhq{pW9yA!Hg{qeq92#e$DxfO?gmsjW2&tH+fbOl8k=?W(=`Vh2;DuNGm_U zb*3sy^#P&fzy^0{r|ccnoLZ{2g%i?82k;JihQYP}`ar}+r}RZ#66-!Qr;Kkw6-lUV zx|0-5q#j-9i60ASxhmSD(wKC&PS&X1GvTztejpZ%UEdM1-j(EnP3YWxs8ldO2=gET z9z*C)UBY`;kT)sNq5Xm{i-nq5*A)<3M|e#q=S;-w>u%55BcX_75zV2jbOM!qQI zg%!I7<8H73fjgbi(BwrjZ!tzU#VHx-r5rMv`| zmo#H-tFBnUm%xld;;LeF%W2}VXG{@Au-6w`OHDjTTmC^Xjufb^di`R2CZm7jOEC*F zN&QSM&-jZhM^p|R{St6U>g0fqRKg!38LxpbIJ;dmkbGFKq{lTdLA7a)(jUY9|n_|RkrI_VF`jiBKKU@Ub6ET|cLW8;b&~TcO znO47EX#X6eqadL*Souj(G_-He2$cuQeOKjEF>Otuj)kV*+19%|>YTb#-h=En(<{q% zd^-(^2sp^ahuszWO3})~ed6Yi4Zx?<-sO&GNuT%1z-R4}X>}F%$!b9-f0&C!JFBY{ zWsc)schi=KR-gmpy5TG2ro6?uxnVDhf!V7|8OiiLZ#r zYQdyJRn*cJ)fhbtIfb_=79miYHAA4v{ZZ|;)2hhjva9purvCI!LsR}2HGVQUoloiG zk2%I{1K8~l^Jj1~(=6$rbdVJt+hnnAaZy?7@ zET-gF*Inajr)(k+;8@g@%tj^9Q(1AEY@KXnp|U z+h2sO=K2SFX8Ij#^aF7c8eUP^Xf;A=KDiu;2CJFr7tvgfdw=|!Lk?abexKI^fEV~5 zP$5^?{p~omvAr0JUXV;ORcYUZR813?+tPDJh$sM2yspU;hPXUadO0w$>rJI(lZXZ0 zC+^(>c<>+h7wF!Yg%3puc3otRc^kzM*>tu*i|puHYW&+NK4w#x zG)zyiOd~`-(Csh^1}WH~Bri6bYtCB#-fIlLX!jqAl-v(Yi59v)4jvSY_4f4Rmgqwh zJ_WSVM?7qHeHN-nn#tQ?IW-5?+H+oGN#poxF@*L*l#KiRcGK)Go8z;$*JU&1G-&!S zY)4^upVIJsjR>#YvOb9&BS2ol!;%C4_UOl2IOm_&+Gv0dPsNXYGQ+Yo@utVg+un5; zzLO$ZCOM%$;ra2_A7?&zRq281nLfJOS!~D`gR(IMKnX zf2M;b(ke8+G^C_91E|pm^Wl9FSb%AcaY;^gD5n`L$>9-V$)-v6L<3HYih=5C7o63| zH2^4BtYB*Hy*1}OZ9}VOBT&sIHioG&L^dQH3K0G%ha!|B2wkVeHR;9>?qo0$%`=2O zs|ePGS0Nf7*92CDjQtcrZ(7P^>;g6{jauv~t(IpaEZKvZ|6CDZ7nu`W4rm6%7S?cO zCXzU7yyt6h6L6kxnO&_OSiVQ%b6Ek)3)^69g!Ei@8ar2BxjI5EVurJk>}c1AR^Zvj z5q~|K1;jBwXlL}2xm~wFyLFUi#%x_78yR`z>|J|Iw~h_hf$GeK)Y!?lP0uFJG3HmF zRAZja@2QlGWP9MkGl)m~PHWYO5)L4l3$%%g@dFsk7ucdzQSnLq%E%WRi?wYaYw0|H zJ%zZ}HO93F0&(2rdY}#G8$1A>+l1KHABQn5=Y4S;CC$62afzB zF6=RVro~zjay`#2VIZ+djGGwwf$MOC6-Fy;fZ9T}`2GGmZ=xS}9B<>Jb2=T48zvZB zGlm{0%@mt+-(p;@8XU-I&64{b2!UW5xj&CgvYqAAr}jK&kkgq@=1}mYT*vZ+Yxx>58>!Z4<4xc z&4~P2L|nbi!gU?Z4K-AQk+VHwmpWp(Yo+GQH~OEgKtgGCeJgdlIP_a=d*s{_dL1Vjp|s%dRP1o>^fr^ zbBl8mS5dY{yXXE?M9?-lbGQE8(0mcyPrUl)dM{>6x(=V!+=kWqsJ#S{F#ET!6xL>1 zG0yy*HZ1O8$o3z)PMA1J*hh11vC~cDLXjm?U}+Qz`D@8 zI1ToG6@31C(LXQiaF`KRZVf7+NcluxgMLs#{Nr7e+mvSjswgV~cJUMe1qzOn074+Z z9nDat0$?zyKd>wMIQ=dzB@<4etc}%vY(P5idbBi8Tj&N^APvbKs=U@7=~kdizfZyT zjsUiv@$+IE5ry_6wBmPqfbr4V&pfJC3f+Q?VJI{D7zu)HB*GJNk^t40(1|78emx;s z9lnkkLHm?LH`?(JT;?1t5ccoRyH4c1y;|5sk24)^WTSOsz5FF2SwDoqxKx_ap7{D*q zP5@=qy9^=)*ZNZKKC`Z;1e(ZbZZAlgB95KnhEl_rnU*VoOoaDo+dM)S!2>3k5CF3F zP8DbBIA^Hy ztR%la00a!LE$`fzJD1+j+`kPtTbrwgRA}<^S(FG>@_2ew98`YEE7#Ku%|$8k5xFQ8 z6@FNBB=@pSL5jLfd!*f)&vV9@Mv_v=Jsg1XbMQbny;3AGmR~LM`n~lI{^{ zT%o8^=5~pSG~rhgw=8+Uf^##XExB^waER;j%b!G|}CTS`^7@fz9sr zL<`#iCq0^+j3sJd4r@ke(K6v>C<73p4*RIAEM7|%MhAnAZd31#DW~YtBxc6=%l%0P zTzPJqI9D%d)laG_9er`pX;1x+-W7cq;Yp}*jbzr|ajYj6Sq0OI(S0McREvbayTvd} zbwho+jR{;JF8S!4`idJz&g`h3SLFzvB+E^UwoEtFx@!JgcR$0uZOkL>w7=XPWr{fQ zd9ZN;li?i^?MBEbN-B0yt>WmH8j^**p1IHd{~}4~F@6lW+yE5sdh}%;(J2CoJ2ax&?rRaWl&wVI8f-6Kz3sO|>^d zP=tF?Qirz0)*jN@Omg1b+ZG}ryQ-?R+CJ?zkQrB6{}vCjpb(u^7!`!YjO3Dda#Rgi zVD$z7z;?t|$f1B*Ly4svFS-xDlaT``H7NiibrI7$ghj9>e-IRFPECu63DJxT2_q)d zEBbN*xoHk!HffYb1s5|M4-H$6-JpV~W6nSwEIbzqof=rCTUjS_!ojSEQ%frjqpA4A zU#53%-ox!wKvNH0{9&)tZcIq8;q{CY6C|C|zK7CcC(DF3+31UQ^A2GPBe!l#Ema5H zwDHa#_Nk{-G6~7$Y!a?FMYOXmEYzqCrxuOJEqqm@Iv=_ml|h=~f-EI~msd~kL_$F~ zvBi@m)?}`BJD8f7@wDTU9lhK#FEJZSXb2^~j{Wp}y3EPZsyc)PCngfD7w8tRsx?5niG(Q4luU+h&D2Z+7fp9U|jVv=N^0vZBEfS($- zdV_dACxAAsI_88vu{K3opBLnrBbSf}g)O){Go;gc<<#Lj-p6KkZ}wG;tpNcFd5T5d97U)-bbMOvwvRSUi$Szj&Tc7 zatG?g@MX%*R?A{V34oS>WJ77tn@!j5EV!b~(sG9!FUSaLHU_nK7SWELlCD7n)dOKG zQ5HknvE(j4{08XTar=IeIcikIsjxt4J8Jlf z>GwR`7Wy$o)xSTPga~rjJq4U4OA!wQ{C}D0AM#ZriS!~RM#gq1nc&V-3WmsU3LqkoaUUl!2j9;G* z*{Y2ApIsvF9yaA?VYbE+=Nmc=U7OnbRrz?qm0VT=Ud8Pv$8A9t#vC^M&o9JkL_{BDVcYXKw2fDAzkHA#X#^g#Mt&B&ol2YIozdjE9zT?h8H z|FSYQNqHCqvXa*bmFUa~kPm!%{k!OD(E~$#p1F~w8sh(wapGDh3 zCX|nyAy>30z>nJ-0~jg9AzWPqS3I=d5XhixfjNnLw6@3-hPX#IBH350L~+mg`N)r-?QQWZ&_kzzqS#ZOx+GN^c^QjN8I7j<&hC^8_&Ifep|c?l;qs25 zINLU)5(vvq=2xdg`*X>!Z`8x=V>$65@^-V&M4zv#^TGZU87K#}C_l9TbfP8EDn)Hc zPJkwa9jO)4joo~f6s8uHSNI*s94(BRI9Jh6E9T3UI6rk4Zrrt8uQBwUGLD1qwycHq zfe+I*w$XM@E870CU>Lm;QaBS*$L7dv2Frj+9v+zv7;vD_f)d;xUGJ(fn-vxa(s^B- zPBCZs$qAPz5UL4>ywxKb_ffd;T5jytt+$9J21AWD0s~itF zO-UXfH}x$f)!1u*_p4wjMqYs|+rE7N>j@RRM3_#V?CLZAudA`nP)@bFWyGB{a`?KK z7Va$t^!GTqAbXxkB#inXA~4`iFZTl4AJ&(AjdtuAZXbXJT3s^jfWOvoVLI>D8A=!G z&|v*jQa;+CE!FdFKyb4lvY}<@9*sH$_GL~M-m^wI;>z@h5nQ_j|6?+Yg4*5dOel!4 z*ES0_6w0iGn(4`|(-a6FeJ{*6mx0q_!OXY;$sJG+s@aI*RIpMVHEw1&dS4SVWrHb* zyNFUl0h{B7;ZpWub6BUM_MUy!(xXgPihMhVgfL@3F-k_*&m(sgH>@4cK4DT%z_i7E z0B#s=REVP7nYW%4o%yrg>8k2|rZ0n-5pAWr&8NRBV*I688S8;wzs;l@9d3H=D?a|` zy)>_-^UnSGgyK;jedLealdx>`G}SPr{~|eW$a~cTgSh->*-`12^WXadHJQ&8mR8!2 z8=b4jlRwGvalA%X$Ce7CM5Yw@4~&q=%F*^21WL(J`hpr-R!Pk_DkNIVs0eq4`KkWq zyE91VA$#`I++v0H!f|O(e-e~1S)#sp4QOIX1U4zkGfJ&1BY>!i!G8^5{~OqTcikCtz&ypYWX z?H#BA52kcV+#s^#c@3IVfu)8V;IJ0pIk}+Y)d1~=SWx^QVysa$MDMZ3*kVF%25?=Cb=`!ZLAagXo zu0UngfA+GW^J`G{*)7DHcJ;spzj2yHpw7k1J9o7%hKyoa*Hp4mRrj~U#e11&c%7^} z1)6L}xTApG!V%{zubeWjr8nNMBePE44aemtc%y3lc|$ca%>K*!kt}WPAwNX0Wqu7b z)Uv;lNparBZXGIix}A*Z`Z9q+QY2+mKxSJk&O^uq&$xZVJZPxU?xT`>5M zICRSe%R!9)z`P}^ZEnlqx`JvMwE!?bax?!C@^Q{<-L>5d^}*Gg=z`sAQ)8pphVSMb zDpY9QGy|(e96=aMVRwCbn(UL8Hmzfn76sy0+y_<8{t`vn_}g%nac> zN@^%RipdyTrPy@ZJ6G+=u#cNFrLeBS3mxV_?=wxiO+PhHLT= zbfays!K$4aFNyX&Jh}2?RNN#)fnO`-*GGF!8JOaKT^f`s>NK=UJx+WWBf$Zbb68jK z7wGQB*(!Q7wk{3=v;NOD5iv!sdKA)7owrlhHgz|nUGS33zm(u~{v6#7sHT3M`Ukma zHSdC((A#zf69{1sab6o!c?gzc=I{vzI7MRU#PtoH;wtC??!h6Y{6eGVltVDy9|$~y*e}H#Y470E+`bu=>0UIn`>em7AS~;X+nD74 z0HpW1V@0HEu73pjU9I7833kT65!d#Qio?o!d>X4tKPuDYOBhDDUF9yKztJz1O2Py5 zA2*lSaD9E?=i({fjb@5c7jJ;AKNUl)qA(5PV_AMkypV@v6h{da-9&N=p$7S3W{J9* zLPES%&Z1-?_o6g#ikA5OR_(Z=!c@Py_FEKsjz@Nw|l7gjSAL7i|R| zrhV)|(XZYjZ+L>gZkTU{63lb#QjJojOTD|L+6|e5bdh5B1M!y|v|%a9QRa11qVq}x z3vUaMhG5NkuUzkt3K?+nB~RPP+wPn~f9}xW+TCttSp>rC)$}JdP{^442|X^j?h=;$ zbK`w61_U}#m*ZO(CXP8uoyLo91QY*TjSJ+uzr+Bg-x*hwa0=-&lRtr7Jl{dc(4o?0 z$XJWjH&!G7L|Y|fkQ3qN6%({rQCd=_Y64_&r{v|_RqxQpyyh+8uL;o`eF4XJnaTa< zbt+#S;Z6O^7EDagCi{TGJ^-`6@<*rhNDoubJv0WOMujY_YE`0?V zh^i@GrOmLV`Dm!njBBewq;-uuNdrHCRFY&;*6G)OfjR_q5t>rCLN0$@xF!r9&AIqo zLPxD5Gca3o`e0I+l05!FR?KT5;7OXU|K`_+3%iiJG8D$jOQbuv?1Gzr3k9~?6)Gat z9wk*$3PV69gWOh+|X~$uz{$2H1j2@T1r?Tt#`P#%w4?+&(d< zyJ>4+{0E?M`qNbXh75G6JI2&E0NYCv+N{&P3!b5s*samk@3=q8HVa(`)Hl2`0%EmD zz`U`wNFBgO-vT*J!k!IDyNmi}%wdov;85N*E~#pjCcfBjQ}-8?ZEkA7bw=& zWMpjO5C3a3)5rW=en zilUqt+7osG(+@(h>T%K#GRwflogJzWi+32gzFQ!gdHHUX`H>G~?{t+@N$B~=R}>5# zD@@1A*LC34-N}D!%j2>Hh2EZiPd$0=X<9^=7EBJRG}X(tuOP5VzxG{PUY>^UJ)bY9XX zT_Sq(`wOft5AK*l%Xz{tn`slbW5_)M^FjoKX>S6--8TQ)T^&hrihQ6NBj>#y>8}FV z)4B6TK9cS9vZ4d( zMX z;@Y@Ct3`5EdVdIuPvGI-Wp}|RPE1w!$WmY-n<_ssAQvqFx3bpU;bugv5!_ij* zePH&jep=8JFg3cOtUg<-JO>>A=Oqe9U%aqbXT%aX1XNc&9M#LNMsogO`Xe#Z3zuT5 z2ZuyT1ov?AHJ6lKigT}nC&-Yo)#LW*-!8=ct+06C3)*%TR|~gO_IxMXV(~Rd+t!5* zY@F9U9ZrQViXXQb`e{7oa`%BvU0biY{@GI^O=|+uWGEFdV|n5_BegD)h9Z zhDz^16GDVbGJtvkV;C^pu5ld36{RKIQH)i&RnvMU6C7bUwI*2iIXr1On*X4Sh$m7X z=d|z4l6>klXt7=yGpnu!D4>$zi%c<$X?+Pt8j;$Cn*C# zv8#_FXg$ja8Q9^aSsOvj--xspw5bV>nhDOl3;V!sR2eYwLwFphR~ZsxTwPqHH;KPN z3NN#j8s21&fpz%h!`P;adMu73z?*W0k32LGYY!vf6{ht*&OpyRcF;=A^4B1(izg!@ z>M|IsK}u-Cb}GaZvnQTY!(Vf^t#7tXYbv{-dJLdsW67DlEjkOV$_3PKf~dHbu0=du z)z<#pD!iVk(L7loWZb>Ex#}0D06N$HirccV?wwcZ8r>@k<6?b7M){K>>K8vqnI4H8 zm@OJD zW0UC|r2&|9FHca>^oVx?63A*SM_kZl&F%D`$h_qGbuw=25UxvAQw-VOcY3Yw(;F*u zU~Ru-Z%eZt^a`ZmZ#4XOv0c7(S?!Y=%P2MP$>~oyfKCylru)zm=Nz@zfQPXdbkSM~ z>n4309CKSjsJM4S5)gp>!PynPcQgiJrGWW!UxVunAU#mv`}J;N-Y^&Pf<+xn^v{TL zI7_$8m6%@Dy6S@o5ECh0`_zE|DXh2h>O6{}GV2}*WvUH(Ptmh=?)TN%im`~dt=sh; zzpME?&@NSCZZ@w(bX6YC-<4Gm3Bbx1lgQY9xra;SpA#-WoB-zRCvDI})Ns84Zl_sp zA`rE2>F=)lHEds}=LpPCF-13PV~2>EIE4;l^pjGonR zm*>~Yx5i1{q@rHm~;hJ3w6DeiW{nU(Ld{jgty#YUIn2 ziaAH~(_N2cZbrX^+Z0cbXv~ZWYV=*-j7=3;y;kM088~X@sv_y6TG@)q(p|jpvTsNqrh(N&*h--b8rKks*Aj`sJzc2AlxQX&*T3zGn`dz{%z- z^egmX2W6_*D4I#7705=TCMp1wDUe8NE08ba{PIjaoSE(6bh1%83bCN^lztvR`i1C>2gq%B11)}rG0G&ue3?ubigHRhE~^^u z&Y+6llWB22!_Q12?(L^fhhw;9+@=awD2kofd5@>Z(x;IY#25Rf?UNXo=z>_o)TtbJnf|PDCZX?CKjohT1snWgCWe>)q8TNOJu&Dr4HFMtP4w{Ub))3{0^aY3N)HseRSmA6`*T?=AOO z`>D?xTgKbZzKk^N-%d8|2XbvZlwMqJa>Y3=E}VBGE&)BbDY0Q4Ge_shxR3+AA#bQN zQX=!Pn}ugy+gqm{wc4*&J43t4vki~FY^b?f)Mpb&rIkBPWL!N<<|0>!WqI@6Slx7b zZL!K>+|Nh~xMO~*sDIj_nX@kDRe0lTPR@E|4AHv`3sxJwl=8m5(^UB`reXY5kc-PV zt~VT^;lI;ZTqtnm*hw8>kv+03%8HG26y#Pqng|`Ky$@;hUE-}*TLzABmTf;Pkga=T zIQ_m!U0y2@yvn8>UQo=MImVzlW64eW+oj1heM}#6KxmZBQu9mRHp^48PVniD8!q!Q z+!-Gwe-D@Uso5NVV_2K>KkS<2aIq5l3y@NBZHcz>ecenhM98VT+q0r-6*AHd zegKT_fke;#U7l_4 z{?om8pVmb3ei_Ca*KG1|grsJL3$=|WKRQRxTXW0{p97%H0oL^4k_H*$80bCA*1z>9 zL!$OMf764TAuMqhvFZhYj4!-QcY4!fHrKT-s^GwdWY&&TWn*%gH&({TW+g4;4>-7& zLN5?qNRo`2x2qI7eSh*n8{h(D8()E)T`+aVz>u8GX;qzo$R;#V^&B-}qw|3?rXzw` zzwYYM44908Jsoo`f6Me9rmRi?6Ti|Nmp{#Ru%6`kv_#!+L)fPwYD&5J8l787akoIvGT`oC9i zr{_WZYP%AhWcz@RIhcBIC3ixOB=-VK8j0|0y3+99uL(b=_ea@b#uLuDb>MgZ0Gx75zX^=7eH(>q9hf!vGu-PQqe$iLhd+Rw zM^F!8F+r^^pl)TXfFa4D4F0;nn$0d=rPMb>D*wQf)MP&IA<+d*O!+JP zWbLQ@K35VHOZSEQd5aj?H~^fB zGxRPRe($|E8UNzneRUSt$4(?6_K%TrXh7WaJX*0u(w{3;g*o&$on2e2QvUy@IIMCQ z{48BD?J@b7!lr$!x58`j8&rT%{z}D&sK_eqccYPX%q@pThwV!%2k#R8zb-Td(u)`_ zCX6poV>dP!&B1H`gOGL>C-YOxb_B{aqCJMvXRtIaI_8zL9x8g6#NAzT#Bz)ROIGlwk;y{HESiFnjyA z0!7>9DQN`F^#RDl=`<-Yv)+p>2U#nX`<>hSNw3K3{$RQj2PDA~|4Pj*>QkY=tG4%S zGCqgxc&XA@B6`V{PHeSVUaWvKMV1yN*?_2M= zS7uKjqv~ct(f4gK?U=_#F=fVEgT{em71K6;6%b#emyySnPa*fQbv2ae>Tn=DNG1Ew zvdwgwAruJM5{3`ceuDkXifZZoprI}~kpN+Rd;-aOafb#$7KPZzj=3C1BWkQQ;e&3a}2A2eT zhH#7ZE8>{iU(6js>+QN^Q`E=wM%EgptD$Ktd6^wX>;Z;SqWQK z;8pU4p>iwUnb@~kT}&%3ogHLFs*PZ~(oDjK6W5&wi1yj-+%;3st7XLxiHG~x9cIM^ zo>9;R7J1UP+UDWE7N?UwO`)B|WAV47p8S!Uoe5KY+V&r3OtXHSPceq3Xjw;yO3!k| z1EW6NtVNi&r!P)nKFP?j7Cv{84U|-*6T6O;wVg#d_pjJFZF?Oaqy}Q^{oU2^^nABy zwF(&f_C5BQHe4<*ADPKNAL=1ER}Xr;nqj7T*#m|RbbdeNLhFY@9EHNLm@NQ(vNo+n z*|3V6sJC(>dwdIi7TR$n;J7z<0KCD3%c%am+FK?LrMw%R(|4fUA+bmoAI^B$`}<>4 zGVjXPR6zbe^JsbCbUY4F`+`?TLF&ep!Da#;t1$CE5^lpCcneYJ-1DBHLWB<|yT`Wl z!_wKNp5i4D5(mUl2_wt$CSyz!-h=MQ>G}iGW&Tfu?cK2Pvw5T2X$nkC%aZzY{vyIC z!@a`8Mj+fxgn3BC1+L9AnO<=ybq-hy;9RY2aiCs-_flC)1#puOw$~X zukE+oaz3rv&Gn~2Rz9UPbZPm@MoEQbK5yNzg4h8Fl;V~PA&nUnLfWuA2ifcu)J%rF z1_Sa}K}wrq#NvGSk!0u{|4@^JWh7-=TE#n!O)q2THL6%ZUQlXwyu1v@ zsw|)TU4nXRjPO%!yySQ8#Q|Q2p8M<+!oKVZ74U-Q4?U$-dy#?!s`yp3U8TC)DyRY=nrBf1PC zv#re*W#wCiol#}Yz)FmPxCI#88mjkOM7n;=CBceF@T~Nbu>4`sa$crAuMp1d=qm8X z7BR0upB-j-A4Za0gfxaPir`FBJSod*%(BKz7)FPx0nU1ghUY%S%m7pYjQAQrr65VL z)~yh_nm{TI{oJ5A^Zk%&MELP^=H3xy<9XwHBHHN*$~DmxSM4~p(MWQv>-O09D*{08 z{#h_B^s~WY`NG303=#zh2%1KdkbPsCg{gsM(IROH(XmKG2FEE8G=wxjj&VFpq6N^o z=4fpO{lOP;Lt@~1C#9*DAmYaAd}~ksH$+}3J7?CbTd9VURw91L zVJ&1M&bu!5l5@3{r@Ok0d_)kG{ZY6S5eZ_UzRR>9Q5}~=#@)|bmK=@5R&L7ByTHkY zzD(-!uAA*s!S)f>amtM45LQv@+WSJRHc-kET3x}EJ_vdP-?|U6{`W!8b95ZJvWQ%HLH{LIT%7l+67W4j zL7o?xB3!X)%?p)~#FL6idK40Il;q8&#EfZM?eeiy^4S;X1LCRk_DO<~r+16S@& z%5{1kzrX5-SJL%EmpVxq;ZMuE(vPeztCr}f8K??)`>$j0JO}BY0Q-huNsk6J=LtKz^p-7H z(?*o7LHG=C*z*#GtQ%Sir^c)9!}%+2L-w*aA^wND@DsrPNngSru_X)texP?g59bi0 zC1o}5S-4w4rfpY*t8A26Py>pS0Uz+6~^8W%` zMG`gJYQM`2+^lmZ@F{v3w$B-pI2u*xL4ETLu&O|;kplblmK{5hEV+v^Fah5ucLgOQ zR)s9nPJ*YvtrwJm3IC57=mWnqie?;xu|NCZ;7F%fLZ&4(c6ZC+l)aFj!l(0`$~L9B zh_u|gdSZ1Z?vBnV5D-1(nUb;2=izSZfT2iKVI4LI$GaI4x9RqUTEVt#aZ=T%`vUJX0}8#krP)h; z=+xFFJwRa;O78zNi#p>^tZaLgHk&)wFgJ8N*Q;sibZCgEx$&mr^_YT!`!b98>WE71 zX_=Bg81>+22y9dnpkSU5(bcfg9WRPymXF7lQW3qgk&~<99~7h`Q_4$PeOVHEqB9mT z+w(7*a9ftlibaf_&@I@B!OaUmZ%HOu5e|5FIEnFgRzTavHmq+@MB+RFXi^RVk>a{6 zdQrX!--!oe5+zaWZjN4QW?=LgDGXI(4}HT)8pJSY#Xw%1&A$L3J5}L zBj=i^CLCl_gAwd6m;}-s=t;;l*3K6!ouJjAlWds=yNVEmbEa&I*8;Lkhi|nAw4HK; zlKO~JTD=z5VY&h@_>d~y1n>Y?>%6h`G?-id@JPO11#??GKNXFwfLq35#3rN2VzSAI z9#BQEnU`_^Qs0J0^}jQ9{9!V-omrqKdoPs=yXDL!6ph`y^xImeOnpNzQiv=9)(luN zV8w$L3|KK>!R(Tc(rRkmIRCeiyZcZC<;Z^i_5HsthJH-Ez806nMw-U?p!rC_Lq=A_ zgQcB6a4goQLH(ALpPx%(14o)xYFDUS9!X{PFg-JSalto?w9V~VDXCo0mFYyEWQy-I zeDt`~C;{9P$LR3%S#!zhzr~d>r|Bd>CnMVT4Z@Kl09avz6F=@)&kYDZboJw@jPZ%& zmVFWJn^X?l_xp;r{hG@_I}1^ce26WWeU_1rBCwIzSGZx>0LN06PNg~9td2TG#a#9^yt?ww5ARhCS8?V#(b%6fL}H^eHiog}$v zV2%)98g~K;k9}bt$-dX}%j%9%+QnjGL#U`q#}%++cs}bjB&P?se+u_Unp@d~?Au7V zQe1_-sxNdy47Z2w!omsUWx(%0p*-pSdOH&!M74i@w0q-^0EK)4N1PJ*;$nB`w~ zg}Ek^RzstNv*vf=YteUAWFE;GoOxiahw}$0?hOD6mZLjkX5iJP47nrKk-laQm%*+g zSM{wVVVE}C>@rG*Y&FHSiE`yN9uLYgK1nL)Ti}Wm#B^*hCw3@OEz|14IP&0WQI(={ zM{>ZHL$t&)v|kDsha|3{>d(kidKBQ5N_gU@TU&(ZVRc@Gc2MWN=hW3r9_O^`Ve z-B%hCgS3QThG)bxUSKee;a>R$$_-*SU#Df46JZSEA$*#)k}#He!0th^-2x5q_M&rL zqSh?bD-C-_dr%4ryHhFk0Fnbw+O9IsKRFkgnDJ>|Qm++WQW-5UGn|8+c1E$(=1Q?&UIUJ!*mUqHD@JD=qPL9yKdCVx2ud_g!hMyjU*E$WFIMlO>~wM? z2s3Wl%EyjLw+i`j^Zj_e0-%?EPI6i><9ivTimyWbmer9L11VS*eCICx{NbR;(<(_> zc~T68P6Ed*7=z^74{)9bcUHC34dk@M(Q_z=?O1F6q}7hzw^rq8`-0z`#_TyiftajV z7JGTgc&!xd3--XjqMg)H!HOdJZ!+RPLPlJI(MI?=n!vtWHCV>gbvoa$2eUia6{F$zn7-rF<$Kx2wO*=2z11}t1n#_A8NbD zp4-mYdHQoO>fJLZza9M+=%qfsH-gMzoHBp1%)#y0MToats7~@MVVpCfFY0C~*xlYN zHy2ejQBK4LDi}{IBj5rd(@VBe z?Nh~JxwcxesQ59$osAwJ?1H(37Z&>1)UV%#AC}(mzqt=_8{ic1=Xb&u0pO1P|J|!T zN%Ft*SBlVh9uL~XZ|vYWz1V%quvA`<{?-@tUsm7Hs}HAl=hcRLaZz@4ZAkNH-Mu8o zGv^Nm<^8K8uD6JZl_+jt2V_MuBWG}T2jraLCjj6`1PK(1!D67nENLr5gKS9vf&y_q znZZFuqEgy6ma~d00F{8UP7>KrYBd&xOKECf7^!OzD`J8Ig;=CkUo5I$J2x zbL#18>+N^(i^M9=gYLu&BV$ar-(D|_RBxBBi?|%VSn7Ln{bs|#-Q4pgy^a$Q*w+#R zuw>hs4y`E@^RvVU54A@>z!ZQ z$&!W zO?S2ru=d!uv%6xN?Av=3 zh~!4L5>`1a-cB@_mo{BVS!6D`9WkQHgk3MYN&oF(C1U@jzzlo5-ENY>1;6%-`jn2Z z7h3`kE*aJK>~^q9L%sQy0Au*biypi3INlZ6dq?#J0iyqBU%&>sG{w#+4WC5Y_Tuc> z2E6O5`LuXCZDHJI2aUamv2XcYth)}2yuH-huDGi@!12t8P0Yp#Het3SnpiY-&pN^8 zJ554*p%#$zH^RCqXwzpt))HMQb)8`d$F&Q{f#@AzuN`gr!D&%N;tOH*&1KU)G`(j_ zFvND{_R*V15aRDNUFQHd*P#!GG+S!>Am}%Lr>yF%engWT-GNz~6%Ww{xR}f>Ni zwIQx4)RH%%W(m+a&&(Qh*PJBAUZ9N|5Y}+8ihslp)!fdV-CH4a$$mTNuZ=mncCeEo zdeYe1kIoun8NV{WbCgb@)C6-)?ZZjcu#*|K;@rP3Y4R}3Pt+r3A-b8N3NSh-)2HV1 zDH2e|x(ReV1#DP9&Ll?t#vAnB%#0kSyT{JvI5(qRPc`8tG<@*l$8$TdMLkm(^`uC< zP(2N`#Fp!$QvCZ^NsShSW3OVoH7a*!wCitrNRppc96v#iq8{`CIRSN)uq0Vw8jL#5 zY{E>A$cHceo%@?jkt7}?96;A5OH*Chsy}uKFDM)oVaJtYtqfg#cP;htdT_T3>;Rc9 zJa;pvHU8tEf&L91s`12cyZ+L+cmea;^RNT&oGpid7M{A-SwYG@H@DjEa=QlB5xM?C zWJ~tE@c!I$>~H|uF>u4uO7l#e!EHMxO~V>eI_z01_7aI%sVP#Mk)I?DmAT*^WzdtLktxzTIz?f+c6 zIF@mQx2qj#v4sviFmZp`+o@V+EI_FibD?tX{m%c@!dv^phR+Aemk*T4bAOX=dh0ux zrhI0D-w+tQ+jwEnx@Xs-4mq|uFyZL~OU<{Jy(>Q0kj`EUo=NY!sLeZ`y(E!xcq;XB3;Dsp)Q7*%4lHn5jE;S?8(`O}=6FlfIPm75 z4lIKmTOUK3T#P=5aL@-ISR6SPC_~ZS%Lg7^jKE>f z+m6mnypVn{$<^@W8b9Yq51n}QbKau*tp2cOWB`C`O}2LmU%NMvX-4%OC)7cYQzSs1npP&*s&vu)tp+Uh~1{b#uTl<_pR+ksi zidLih#e*kRIyGcGz|Z@7sS(bfV^r+4@?v^$6;x>R_*8W0ua(%xBAFOf26#hyM|BxI zMn^=}p(vn&_kScJ|Ixh?E+90LPB!Wt-k3PDVl9pn#jSdn;NRL*)}Xg5LPbZ_m3=Ns z1At*g5OiSBUoNh#YIy%fmQNq-GzVYywYBw{Ru+Qlb#s?CaLLGgQnc$CTYqPJJbT$yhC$i zgh-#&NYkDM&b_=qrPiYsv@qOH-e>9XqD8zNih13dk2ClUXQ@kks(|t&tyIKE$~gOuWDZVDDp#R zyVlZj`u3x^40ZlPv!rfn75Oz|fex`P-b=b1(qE+8CCvH8wQU`|WqU~R;*&d$-c5uV>Sf9o4ZK1z)4P(C9tWM$(TcGf)j&^O@*bncpz=V?vbFSxUmO{H zMOqwq5o8Lcx5Gncv{2S9#DG_!{hzDCM2QUwNecW^*gn1Vq0O0hP6Yl8nbAuey7| z!slV@yV6c1LWF`jCTdteqIMz|U{Ce;RMJOSkaeV>4XUc~HOXG9C3JsX>j?_pvva#J zti3Kp!U!6}K$68`!5e<3wMs+woTMj#<)0I-n0-tdF{-g+f`ij8RHA{MofFFF>4_em zi>G0UproIemuyigqPRFo{`h(~ooevTNs+V+owYM;V5PExmHH$e*(;^f-n2p_=4(3} zt^V-ss!3tjRQ2fR21S_e^cqZaIDpI8(MHwb@Ugz$o?FUlBkv@Z_%-rWOh=nMZUN+! zx5UD9k;LUL9v1tLW}4CZk}M_RQMd0h2IeA@GUz)C99&Y6$|hTGv~;a)_G&DZS^L&DthzU=)$$% zcU0cTz0cp$=smH%pleIq#QKAw7NpBR#nzzCma$GB2$%J7i0fCbBx+39mQAT7H#N1> zOq07WcfuKwGh()VHH*p4MK+fy8puZs6=fbJvsC_o0oDY+PjeDl7g+SF{VHeVF1Fln z4(<_ND^GKJ9Woku+8oRu5yQg=YKkNK+yhhn#~#xaUKX^7QMt4bHM#qS=%@_ab*Jis z6r!a&I>xnCHe^UHf@a;fMz+?Vzxw<=TARam&s7?$iH#BVy8gaT8x(naWmWceeS5Z< z*Bj*QGF)96Oqr04EzcW|5#S1p zMn`tu>vs$(r|YdMl}?uTr(mc(^LDBvX#KxPx#z;aRThBQFWQp_2s_05y^b=zXc9M> zAMaz8a}x7M7U7)Xy3qkqUVPWZM&aWA+F8Aw)uErob3h_0-uZ>5dabJ@Zjth@52BQQ zT1qA0)-`709LZMVatc}zjhanUpB*+S9~DW$^GT8S?`QM2`l%s zQhpoZhTB%a>aITvISs#*aSLlhONd7AU6LuoasNKCasv@k?r=(7(3rCl6XJPljt}RT z`4gv-Rkj0?HT#bx`C{HAk{l!i@SN{~VWD^^*&+r~Cw+a)r3XO9aEz zg+mON5I$ssE3#g+-tDU>jn)$)iZ`<-T7SoE$9x(u5g|yd+a!0f(z|Hc3H_;cXjHpw zz~^4wgwNT^eZs#rg4!N(WKtz0Nz0B^&?Mkwy4iXu3uvtGvI}Z@2=V}1ajRA0tty() zsU~$Igb>=s7jD)$g|l|Gueq9S`$}L*5m-^N;Y_#WGkBv<-;teZ`V%(Tw%Wkzhbqlg z3F2IywpcQ<-fRyO1*WtOJMnUUmPVN^A>MRWh3${_-X<{wXSQcOv7!LymG_LlG$gj! z`Ojd8AypY(R&&-8oW;nHlNf%jUU!adc%qKh%RwCodv5_>FJZU_2C9&pJgUjgqpQ9- zN3lOA!fT!ne$#za$xO|^^$YJv(#g2p5?Jrl<%(@*{BzbSkS2Y49vF|GlxSQHUGzPH zbKJ8j>0206HQ%gTpF*gakyKMUZq^syJi$Pvy3{o^7gG~`Y7UkT<9r8ezfU+BWY++Cn*6NU zYHoccrV9e2t^*Y{{W+4lk&p7K62%P;1LECJhBk>I3y$a5iQRK!fd)7m8l+NuzURuQ z!Wz6drBpVGz@1VwgqYHj4jecLlIl%mYBO-?IzCz+HG=WrE|x$NCI(Q0t%^=j=>R~c zs${uEw6v%5$jS`_-Bdr(zF8jagwakj$eurPKLTi4tVb3p_4s;(&QffiP54pvx@$5wwZR z=*_Z`QnMBCaC*#1hPb8k8~q~%tQdndt^>lorOwwMUfX>)&hBp61EC6BPDt_lccMnt zGb*|gzW`5Cld9seZ<%#RECo&FN#IPifv!Ejw&6q{pyfZt-h0+2w zsc9irjKZ&#hV}IG#hl_n0NfvKuTo6{YI8$zLOho4W1WXHxdW+HI}1|wbCXRyl#ZUWfCrTB6jSvXVrgg5 zf4j;Q>a*5)Jj@^3jPhwsoU?encWTp2L4p9cpF>Z&x0mJ5(=as zmpNHFRiysjFO05zXH3GGirI9As8ZDm8T>Rh{w{RopI=>CT6dD@Vy%$v1k3MnJbvR7 z9o`295T9#r27e=Tt5N{Q!h)Y{MN2*-@veP8i^c}Ean?1U{Q%dWu#Vk(96q0p(oY$l zH@a;oq$1W85nT-B$PhIV>{?6aL0OU;2cCV%c2%f$zrwjQB`|k8*wRO)op3&EfuuXI z%S4h8v3hu|q`$A@gIxw|cHrq?m2m@g*SSe|(S8<^k%eRUcJz}-<`@CbwBU)>h2+uD z<3{Iadwa(x1>%}vyC%1FlDKId!v+z=IgK9N1H8&*nzMWVru;XT3M(%p8L7z2Y)F~0 zKb^FO?m!lrM^=v8edASFCyCJLa`*A5@KQ-Gz_eLxiE7~ZCW!Fk3PY!L=`Z;E9SmTp zZ)5&V0y3%F{{by2H@8IMUDMP@JN`Z}Z9~X@}RB znen;&C9|XmKA|g`e?1-3DMqxW!G%8NkAN|wKc|D>da82YCB4JgYueoi=xxE8+%0y_ z^0Xei^MhyB_}=Z<8R+A%sy!t4E%rKbykt15YHf-}B)gDga{XPzY}!|qU4#EhD)}N) zU=I}sG7bsr0*oHY*EDK_qHFa^dk+fwulHRP!Z&$?5jtus-bMv%umSq#c)abCOiDS zWZ^OGSxeww##!RL>j9Z=S4`a;VXDToWsz2!`zL$x)0-=I+>^J9jm|2+rD{o zOsCwQsUZg+Js_t+HExPGSArW|!I1_`QQJk4;BVpAee^PkKMGFq);&m8My0tntz2k#+bZ4Mg|NBRj!?^;Igg>mqsM{ z8aPb$>AH3ul5^TKA&82MEX;#|p&jDVY;W%O0zso1Tz<_1j~o$%N*=K*0;LHP?l+Cs*#mv1K|eAbAAHx$?ko~HZOZF ziy1)Cj&y0N=t)KU_WJ+q^)j)9B7~>>a_W<%#Z@CMKcI#ox!zl}(J55;|GrK#)VL~? zWpH33`kK<+v4xcn2%|m_HV?;(RTJh)rn5YMb4k%;CdWe;H^=seH~ox?7x2fJ3y=(uSb z8By;G!SY`W^RgtHOX+AV=J+6(-T9)D@DjqtDByI&6)cIR(e`qOstkEzPurb8`yuK3 zA(3I|bGjpxM7mmPuQeK%no59l?A=B1Nlwuw&3Tl=qwMg?*Ek}|4KZugN7fLZ9X4JS zLbo!T1Zs7gB5|ZQ3+;2@11V2lC_t83{ls0uNF_cE(sSrM&J32BdZ@ObnYW3~ zj-o7==i1n1&?C4P;!#L8@|($M1mLxHCF%Dlb<@6;Vr?uxP^+|>d?VR%AvLhcgUPXf zGy;`mBBJlU7DTdvCJ4+sC8`CGg~iYWPzJ;0HAI#}UXcwxU9AM~o{T1pHi)q`>1&~} z{)(e38*Hn3NIhyk?(pO5+RIls1&cWkk^0hQ7cgtWkT40wIDXc@-p2)!B<65LFc57qpwK+0$5r{RI)WVsJu(T*@V%X*e$ zjwxH?S<2rOBEWQuPRhMxjG`M9VX<;FxH`P=^%n>KEsb*u`;H1(&1b+mAM56 z7^BpYp*eJ-&4NhBL-L|g`Pn-WS58~W9pVj!g!J1rc9H0kZm$*YHQ)hrj+6fjDEm3l zcGAbx9=S`^Rn!lU+0dg#uL^>j7(EqUy!6UuL`oY3@3oH2VaV31SW(L|>@a#P;$_%) z-LlbEoW73-a)>!~Dq560=XWlf^m%5{Dwqly(dU+5c{m!5)N=1Nv)-(SqYy!~)uQhu z+!%)XsB3QdNQ8**1&M|U zqa&3x>|FMsgw7Ff$_*V(d0nbD#932*XgL0z2E*{6MU&dt>5Pxp1}oI(dLHBF?Zz0& zw!StG1=~w3`a#8YiuTQgydO+gv{YHcbExk(BqsxPdH8+zPkaqsU2SXwMCpbm_oxPn znQB6}0PmYHb}N2>;9>fY)bSX(LT>rznumQJ0VonIf`k$BR_du93?Gh-zj4?@>zo$r zW0dMcNgm*nb?2Z_C40XO!M~PDs=hid1=iB1aY!`UV?Nt<%RnwsH6!)rPqUpL!SyfS zogbr%{v6&QM);_Z1tGK7ZWP3TmD_|9Tf*p`6B+Uw9E9I~MMk3G6_GUUqruX%bel@j zFVYUPEbR3xa{^k^QX@sh=LTu}xpVFg<=v*Bg_<#881|Jq51NpHIJLlB)8P+=*%8CU z^a1W)x(Fe*Gu>6)SLJY#LcrG+odsv&j3MG0Ww zIH)51XMdMa76)n8&M8Z9(`opzQp;h|O?>vsGmzTL@3h+qJuwDVdWLxwD?hZgKGA*k zHDl~*YZKdo*!n&z*G(7>oxG+6fHXi!wBH@IMc9YqwH;8HO)nOkKv~qnMLEc((`5^h zlTI5ajeu7$i!fG^O#j)F{6_%&AlZ}q8UyyWQ%yzAiK?$Vr@&am#qf^|)z(U=c5BhG zROiA1^)L`6GpG)q0Bfd&zbY_wDaqqo7gAKW;XY6WSy43SWr_ogosMo}0Pzb7mf5Ii z{+udX^mr6_1QD$rLQBxMyfOg2>CnWvG1?+3Ct4(LUSyBAevb-mq5q@0W}~2j4;>BD zRza{$AdY`SZ7JbcM8d`zQ8sRd(g&K4dvM#t4ff&lxec(vk$1#Dnoc`_+iD$S;8Lfc z{B(ftys^yA!>|111b6p4y81^I%ol*so^%wik`HDbG~qeGT2PB{=~5G@1-A%$=Y^K= zz2!lR;mZuPB%A*Xm-WvA@P80*-c*_{{ywKeunl%Mej|E zw@kz;)9IzBS4Z_4(JS0_?bhTMKS<-i)e(PLH)uMm-M98^+r1NRaTmVMs0nusA0}Ko zZb`e2@lbWImuh7zHnEzD7~`ksPnjN=a|KMuj6%JZuFZLM5RaL7MBCZJFE=0HkzB zfx0(K2bny?AJW(gM(iV!vbVy(BuWs3Sr@C=F6xesol~QLGjwVUK8mb@dfpGpl5N67 z=Jc}9bZ|`un{`MN!!mP2jX5IJ5oR~pXx+Tx_rG=;u@{lhitN&f=K1MGIOi;?rA9CL zG`OO64m@o0iKJ-qul5JivMn>y~h+<2nZ8F5sN>>yDUvhlU@`6&q3oRSShMXxkW94G>R)C>4p*3-joWSHr*N~j`g&R zPRx=*VlbeP4u!>AeQjv4J*@xkYvP{_9T4RgdU03v!>)iHd=wN?8iJy{_fDD6Ip5Q@ zyJ+4s1&M9~c64`)r6&d46#1`>x@;2s48hHx8JULo8-vz!J~L*#(C(Pr1`sIh`guO5 zoT|s-pv?8Jq8Mq=NnzEMB6>89_fk;?Nbr?N@J^LFN&1WHj&<#JAprz*;_vtoi zN=oGJV0({4QQg<)1&1QNw&=XO)4IT0w>F!5W}1^P(srkE8eAKCN?KfOvj3LC{6M+D zv0Zf_b_v^7fGM41lnbrI=9p0y44hej6%}YnX@`ZAuykuBMmEX$?Ud72IrE5zQ++%QaE)K<>hH2i0 z=z7;)Px3W*BKD&(gWhMpLie)6GENi!93Ag0*6Cf(&vP;%V& z{~!^imiLZXc6(jO|q6Z~Y=yF&KT#%wj-#jnM`G51v<=xS9&G zJPlGB*}b%gEwqcLOl^YP##W-~xD3EU z{9W8*tIVxQpPsfjYo?|tT|yybarzl^Kk+V6!l^>MGb=&*#+~MV8~@OT8%?@-j@fft z>K|`2Vd^ml>r?KH)N&8fL#Zr+y$EHy+%Vv3TOp;uf}Qdsd;7{SxlW?tj})Itvjwdi z>ra0VTVV&RPkuy3ak?(EG;^GqB7o1=H7( zH`z&7QJ{W6d<0ArwjZ{WmP~o1a?DD1fcxP~o`k;#j=)ETi*Dffr|)G)lIc)gQifVLy;d$Z`6*}loLU6r#r_F-~TDXpu?c z%_JgFKa7uIio9fZl}6Wxb-DreTFRWbVy9nK(oYn@_bhLy(d|eubyXcfA`nKC5sn)a zlmL#|jX$JE=&e6C3H)ZF(-&P&?WByMdFKOD4XKLEJVH$}WE`I^R6A>`&faI$8leaK z?y7axuK;(j%V1n!254zLcLKF2E&|hhx>ZbUu4ySRFEcw~k^n#n^XK2a5ID0Jjc{6g z*3Q0j)(X=4!1VsGeS05RJN$}Z%%D4eJo6cNn3=mr6ls5~c|cp7ecuTkv@E}TDa$c# zSssA6r!gC+t%n-g|9rs3m0^UY0w~rJ79dj|bp1D)f6qZTnt+zXKU~h-vis&{(mM5+ z+8AD1PK1>AX{h6kLZ^S|Bx<4&+HDH`G<{TH(j|cz|-lzoyAFSPQ^ zfys5yc#ymcCq2TkI4gG2?7LW!zl%D(rl52<-ZHjg2J=lx)T~*C5evFB!MMBN6l!k9 zz>NtBI%$HTXs&+GRfHDK(uCR4{L)CX%R=F-kWS?gr#VmPVkA-It0YfsDe*iY{)UGg zabArP|J3I($bsb6UB*RWeQ@|=ISzv7@eJ2bhFsYIG1^HDv#oz^9Jvizu#>#JFx`wIJhF!xhcl93< z-1?!1t6P^O;Hp{BD!C2q2G+MB9uj~dPzL3%6=YuIS?d{ggjDE12!UY8b*r%f$>FZ# zMq#@&teDrcOb{7vHeBw_@684?i0B75COW=@{ZpM-Eyp}!uJ|b0|@3OI)5WO z2NifNe&FM=>tI8*mY8&QR;+%N>y6ITdHYn)&woE@q{Mb#1mbuF=)Ik5B+tv>uKME0 zZ1xgi0{c`NQ9WJIfM0QZwMs0Ei+svZh>sc8FyPnBfkA1}fHcbfgO;lhk8`Fj)ry@3maCx*l3 zosn{CT`}O|9>x(DB96dQc=?MNm_ETz<}Sv)5vmEe$Hw!@K8}6Ata%pep~O^fjWZJ} zhQs2Su0J&KOp&PL{c`DIi8RqArba8%`EX$0q;CrfYw>D~snh!s!AA#amzMB<*G@n- z(JrZeX<>B;Ax~*#D!dCb@bC`^F`=wIj=%74eox@quTH_(BwrhQ@_EG`Uen8ctK|SU zO)Ij2jf3x|p4#W%qJ_eTPDtd>2N3OVeA2nui;O<~!jM74jrGI~rd)q!Xr1-cP^l;# z=bFB_luhRp$H!y5jKTwBZDt)nYd?~mgU%ih8#W2SL0zAMUmL3&*>iK?7yrO1mfgEk zOHs>LVBALM7aq!&}t}-b>m!o7zoT zp7+q*JD6^cO9Q7280trhzCHm?{?X{@O#;LN>MwvN{|PSWYh5gclbAGAP>o)pG0W1r zbJ?%U{`8AfH~&u8s6?Ib*{g6%U3kfIoS}-uuGuP9j39=yLC1!2L+vfje7PNTYu^vZ zrR$Z&Hc1#k5C^3Vn4N{MWuY?&E1&QgSX3}VbJpT%U_=5$#__ek1ukHZe5g$VFoFh| zXg@X=rjXi{pCCSgD&}%|Pdc?7ecnR(B1ppc)3sW{2!1VtF6Rg%g(tN#x#l4kRT_hu zfAIm!2qMJE8M+X){Yl#D?2@Z~wK2~MwHtHUg79n(BlLvBgi8_Vhel|^00$_r`ggzI zlGj1YPAFs1L){?E`Ns=bz}6hVvEx4u4h_K}>ZiiLv{z$Q1=w5Y-Bcvu8?@Tu&buJU`^xW)=0_l%L6-Kar`M3*h9c)Tid0rb5JUTUP2MLc_?diLxv$Q^_t^<1=<8X z?ZGB9DYfP(6D2Cb2G%C`?8{u@1QG~l8PlXt`?jb=PTg+dDDXrJ(Ic=r!d!Z$*%&COTAXzT`$*@O>!wJ_u>z3Y9T3}{d zm|+1CY zBxVpHKTLCeMV+~)rpLvyH)&YjD-^+k1FjX!Hjd>{vC)D6LaSKivzF=uK{yjzN66 z`yVNu3w@zvLwqrmA1LP0qRwrnGrY&VGAnfZnuUMXCc9+EYmhN7-a#o=NzQ@l{i#&l zeu~mm#1R)@sNrv$k9~R>Sjc3Es9Vu1NNwAWvFc?ElMwp26~yQwi52TZBb3VG_=2#w znvrK4gp)i05)(QXf4D9zKK*h#^b^aql1m?O^KA-rQ3%2Sg0!dH=@2aXR)rQvvn0rf zEhJ+tca6dNRCM-^PpcP8G>S&YLw>0uUsq6C(t4UFYyuShKc_~bX7jO?yoYw9yy|V? zpKdsmGhV67!$uT0j$}>L-;No`dyWH(k+rP4KfZ*Y8ObG5H_yucWphFB*0Fo&I zIWEdcij#^_J!Z@xvti2nW!#(-K3p^?)uPWo_kAZolUW8sgm9}}FUjX2O$us`TDAIWys zpNqCxNLrtG`<0ZBQuTEv&HpwWp?Q=i!srEQ4-d@AdAB+xHnl;d8tgTm=xdIe@$X?TuBZajA7rDI|_uJ{+#P4N>A5kz>V ziCTy`#VGA&BlByBvfus;OL^v)v4Z3idi>KKwcCjjslg;8R89ELD*G1RB;^yZVZ5~q z)H@2d7AcVTFpxkb9JIs5uN&VJK?8^FWjTp{K4g5qZ{ow`pG+R}3U;>Ok$V7a;qR)b zsXp9oDmY#z$>37wnQjXOB;7VfWUVDc9*|^4-U z%)A{BL%+Zdr6fDgCdlWB+uqv=v#?v3(cTe|#J8)^@o}qQuLyzkXplMOM-Xz~XCV<* zEL#87=U*aJ!7b4vN=)Gig|c|f;~N)p+(EDG0l9#=yuXYDjxIA$mAC^9x7HP07( znN-TNdeDoRQTCAhLKdMH!oad?y%9dJDmf$6XvEx!d3lS5;(&;KEW6S_E8&$RBXndw z58l{g^CvjeJ@y;cTs%p1#SfJFk9@v8s;4%&5$%1;=e}IjE63MVN6ph{QEqeukH~9C z_P;tv05h+WEOUxFOa~4y4d*19H_>uV4hLK(4qM1Xy%@R3krP+eaczNHrlq$^IND&W z{MJ^Yc{$e5Y~tyl^uLnq!DRMF@n1Z-l^~0GKG!=m#H_VI}0>Cab5Naeu z`GUQS1Nh(J1q#Z~HrdHc1cUUHcfYcega(F{&%kg!<`kT>ufbE z#bxu?)W`C;gN6{0*JIPV1eTa<^VV!=6|Ht0X5c(=SrrutA$(ZHRK+P^UYogotkzh(+l5z=29pQB7C9O27`iee zSU~$ORL>zH2O=#3dIuZRZHX!o37K(m2Oln*2j_#f_#reqZS&I=_q8hp^HJ6epk5aA z&VuD(XE-1{65?H(NzBENR8E+M%mz_imc4 z`H@aJBt%|J)!|nqdY_X5KVu69;G(QUI3`ryJLqC%TolEwAW1ZK0woIXR0XLw?L(Ns zm#V1SNcjX-bDrqxL)vrRBwFVdyk5Ix1jqk7rKsd7(#5L$d5wSt^OScj@?1rK4-5Tn z0pp9J-KXMRqMKiTozIia~N<&m&+dppig(}F|!%5=oDYRs9aH9BT^XAI2CiAa7|gLuPFPrvlbO0tj`Ncf=3J#11YbVx%*r zuztQLEB3UQxSXoxZnSU9o3C%`gEr8AIDp+6GY;Ie8{p1lw}_`5cdt2^-?Nb*$#2wG z!2!Ix&86h?Pi1ochUp!9ELjU6oo>TlT zV#)hS&kYH#k|-xkf%mq^)!HSc2cEcF=PU4>cLdk&1s88*+=HreUb=iLv}l$H3$_I= znTQ*X5a=u>xiRwu6knw-j?u|6#RZPz0U#AQqYQja9#4AmAW#25O1ZR1P%<;i)8Ivz z)A~>amad*EAKfGLhQN!m z($-4KE@#36tG50=&+-9%c79|W@%Ei5Z-k4Fw*ri-dLU-#M*djsLQ$eMGZxL>0RKY@19 zJnH%VKvs}UooamM^GyxLumSRJks81EiH%>~0*pzDnC!!WLqO56=mQjBkc9P(legjw zq^^RGnbaJtXC)5`FrxguuI_EX!|QXZ-o7UA&Ct7GYTGB{tyqAN>aU=zIVcO+{gz#z zsr!0wvaI1z9(+f0D*k~Zt?pe(j;KZRcR(UhnAULHO`BHQ3qPuYUeh@l1{{DHy291$MuM-VF{RZ!-?1;L%`cs?wJzuVa(R<_1?F=f}4d)=& zhm~mp+rs4LXYvC*cNjwXpF4mTBRq9wHtoCpHT0B;^f4!OInVAe=j$*gXQ59 z&LBYX)y|ea|4examE@?kgp7c1T)!h|J*uAD8O#5smOpt|^PF0UOWN{F91;THiLn3N z3O(;=x8j@$n(g%q=>Z^>9GQ6zXcP|pyi?Las6M3@H`EuV3ywlY*W$&JUU}l2o(d?4ku+2El})lFlwOupA?j@ z^HS-I-%((c0#{Jh=;KBTJHqdC?Rsowt{x3t3+kMk;r`$l7?~Vht4LNT^hbvX zDe_{kHs?-ik zLR0+QQc}tc107sjKN5U z1Cyf)tuy;z&c|9G2*_l8{n(!e8)qYR31HGlk0^qANg&)I!C+R%F#P+d+NcxxDd750 zvd`!0OX=ah)_W+RE*y_yLwH(9M3Js`ud80tMxBD0KVmqcWSKGU&TfILkxz#4Q30~@ z{cXd|I}T+Dwnq8IJ+0H+|5Q;mNOv`CIQDG`wAQiGw+`3vro*@hd@Ho5r1Vo}<&A5N z*I-}!qr}fZHUi7+dTG|!X+9GCJj$QfxTegb>+9tPQyDw+Rz8BWzb4@C+mw$&@PMfV zO57Nn@Rx4G!C+YXwOtP*w4)w<{IS@w-qYBAb;pz^J5v%hf4#(-Ixse8@d+86!E~dD zN|L_zcDmF}o(7F=6!78L)XTbzTu(v}a2*lB$36s*%tAeF|B{4Nk62fofA($88WwoEY?(Hi}Pxs^LYr%gL5JY_Tb{#mgX`dM6 z=}+ij4R;3pifnvR^sf-387@M08B-i7^F+gOzUumVCY+J=SK6oSzFib+#^0$5A7{Fe zrfvndRY;i2%@#d)fL?LFZ{s~*;bjzy6!{U+7ldq`)vR^y`2df1H`RQYw$Gxae8{~S zg=hJPLkq_ztSgWLU3c=7uXD=}rp~TyX!($OiDAW&bLg*?xHts#qaI277(EFwk9?=( zNsTDll=K&>g#r6t5f5*(K!ImQE=HKEhBXnLQv@{x?|HF?sv84*HH1Nh%l0Yg-16kj z`0-COPG#4hS(I_Ei_h0p-AfKhu4B@+Ua7r5dNc(25$=DeW~2qlM=}tEXv`DH zn0uPb{Icm#J>Vik2vugfJIHVA`^Fib-4IM}29Q#{srceu(#r++@Uvo<<-Ee|#HNHW zsM_w)(#}-Q3s+M5&Ije|V9-oPM*%jDBq1Z3rxd)LtS=H}zQT9sN8>eH&!xa!MSR#5b8Zf!{SDc4hue93n9 zQXc??y10FeD0S)na669m9J)G4$uIX9!c6V-m5)f`B&Du3O!YwAOfX$bt06t1!Ft>T-?o5&oE^7SJz7RQMqVd(m9)V62(izEImh{Uc$T_ z8juYc2O%)YFLn8s&W>w)WosMLq`>evU5(KHi3?OMpDnLfPGfht*Up0G^Zy+w(Zk?S z?n7ca8k`uHaA!SZM;qvNx9NhNy^-ri;MP!y4-6e9>a2xu6ycO_8e%Hqi*VY}L7F&_ zh_uof`<=(*J8!abvKr4)3P=^Z5&r)d-dA=L>{fquf5&8FPaq8g(InQamT-H zd|WpSD*at0BphhG%D#Mv`yn$I#Y~^ErNz~2&opdK;PUT>(bP(qlKa6bJ^gaootT_H zYj5|mT(d{zTvTq5xA)C_SE!iyUP+m&AtO@Pn&SO6b*yv6oQ-`3_&615QPo|k^lW2} z37&cJ(kZn=EPl-(Hxx5G0%fwSN<-#eI!@0nhy;g5>!2<$VebXl7-5g7B zwtq>dh`HdQ_&o&wj&*77FN@qSFS*)l1YoS~5vx^`^!3XI+{qkRXOV^m8Avx+h4sFc>>WDpbQ;%}IolnJ}gJ9XY6i!E0? zvW=s%hOg^FWWZ+DGG|C!wX4agHF56gW9NEM(?H7L#u1u0a;loH_B}YUiSILAgnZhH zf5q)g*Ze}fU?{tA8E)Ec$Ws#|ec777;k1Vi%2Hvgu<rF7Z_{A zgjWSFC|-Mb11IsH6z8Xu+sAJk*qr756^Gz3*1|g)#<*j~~GohoJ2?0j)Y*g|_kWlZ~2S?ivb) zyQWfS)NxU|H@1He+y!wM>?ax=ySDdc;{b>p*twrP7>jzU&`2Y3g4x!A`dQ5^GI0Q< zi$L2NVCp>%1Gc_gvu`)rv2!QY6Nj>03hWKn0}I^?hLCi^Uidm9#{^k#j|7yb9Bw|? z1cMOvleWv@j90nELWw7ojl2^2(|HI*u^C!i{;@p}K?1k=op@+?{O*`+yE<E30?$UjpG9O#n?XP6Aw|48KI zUE`AVsc5QElvOylmMhuD)OrV1?v9xYqC%!YMOkzzE77~r^aPMVt>Cp2k^ie{E-mwf z$%D{W`wnJWs+#J<&=8#hjDy|L8vCGa=j3jN?@|RuAxw*6rn}{ zgwP^~SC)U2sr2%7{cok2`<<6*`7i64Uk@4E0@nFcvn=~H^!&g!3{C%s5d!LGAYNz< z7b06X<%_H$yml@DL{N7zERwYL+?;fv(HYd^CBi)`nT+NAi@PJeXig64Y%D91+i`K- zJBX4)Agk3RqwIUE2MMFWZJVOjxmI!|Z4Y z;xp4-miLzUcM|gLMT@o~mZxD>H9dC*hUEESaipRNOM3g#9UXA0Q~R@DjdQyOMgueT z)>T^Ezeuusah})x*%2Jq`4>aE=0Nkeo#r)SVP64#pTdsqzjO~YM0)#);WOIfV^x0= zFu8%o-)n5v&~&lQmd*^nnj%j=mnbHDJB@;e`oS|rOQIv5QS$63n+aa6KWDVhd%PT_ zbVqs{|MtN6!P2*h8i(WvFFd8%2 zisLYD7ZHMVn3{2%X6&&3z!AZu`k!mJL!^$P22`P~=9V#b5-El1HbuQ6ETCAxgCnB3V!iaA>3E)JVr>0#V*f+q3qHN3d zk;F+P5q%`eZdDBQlL)^FfeKE~N1+$S%@I;{I=KD_PwoOh`?*?oDM5qj>*rodc-GKoL0fPnVf*4J(oW) zoYiD1U;ADekg^D0O9RWN)YFf@4p>~v(&u$t)NVDfrVxccBkM3ne^My^U%}{OE>dX z9pw+rjhKd7dC>tsZy%=-dEW!L;wUl0m7!oeXqiHDiKR1P? z#Z-^;n5fKvY1ZQdw{bERS~V^9jNAT*QFnoUU?1|gFTlOF?@|_XMA>tUVPe&8x#?r5z34lQM?3I zR=xK7DVJ)4@q4EzUW66y!kdwEt?0ocx6gZG_V%Kn<#5S|ONqAFg&G^b;>Bww`OC`y z{qVD%JJ?iSF<5CoLz#o{!uLnS;Pk~U8JjmmS-LhN_Zh+e48^c+3qbHsS6acYhf}aP z&@}*F{S#xO7tkKas-_)*RoT9wsN_lzmLrJ7fNpBX#QGsIA9X1PPl*&mbB8Ki0Y;4< zj&t|KTbGOTLTW$022iMuw-#^0ebftdg8idnor?A>nAtII!{XI(ESe@XOm}Q}EO{(% zSRX6HOuf7Xwzn7qr-rz%UumvbuH+|13gc-k-N?wsVvH5O(u4X1TZH1lTWvOXAy&aM zprP$HzYtU~KQFEF5cx+ei(RD8!WC-PuV%{PZ8TpPR}d$53e#y~w$HQ)*|MzmmT=%FrBT55j*S3gcS-Q z#|t6UDLUGbFMR9Kz4{#Z3fn0xRi2Y{Vz1_gEB|cpZN!A{vXgQJKKC6Pnd-9=iI~w? zwEL%t6^lZXOJ$OPa%kLIF~dx-P?+VnHw8@&RBF`OFlk`2f}iu0ZJP@z;Kxmd<}8dj z#llx<^Zb@w^aN-+Ms&EjfG>G_=r?)8%A3D+FdYSm98a>Q`4pSX>Q(qkx)}d4bdFzj zJunf;D~?kwkI`pQCD+fGKEn;bvON8=9>S&k!+I4K6EEBv$Bw9PiSRsV;mAlDzMfJqv{GF46N#c`4e#al4Nsecyj;*sY3`d-MbBGR+vRi7ga@h#3V2l}eur z3Qa{t%4_P$!NMGC(K9!@Wa@6xe1pX-p<@2pwhG6BjuJt*vPub$nhCcv118@3MmXWL-ybx5vlS3*jQV|n-^iB*Jj)SO}1S)c-b5e0kiJ)+j#M}8V zsgU6@C+P(};mo!U2u6Azj+oSP&5tmQzv{r8g!YOPi(82u_@MV3ads!o*qwHKAGqXI z05MiF&0`zL->}En(&HQ$r=%}VNl>g(u0zPn$yDcOjmJp(1t$jK3f2%<5-aK=ZGh@Y zzmI;?IqoBck~rH_%5CkM)f#z>Tqv9-^;gLgOXR$Hj=!r3APhBKIDJ2x)lw%?&CB+M z%}FtP1JAtXJpQ&r)4YtsaDiJ~&%@sO4bIJU0@`TVtrv(#)C?o(zmou6|JL4wGlwJ2 zJ+7yyyK}tCx2)5>FuXLFDwYKD6o1)D7s8mryGU7jNk_)%t+Z;6kXD^vmx)H|iI5<`5)wbKz|2%v_>?^1HIzWEwOo%$D4rGPGTr z%Y~u$(im-0QBv*k5KOyCIjR9jM?F$&7I8Su126pepm5Abj!=uIwAK ztgJn*q!9C}3vR*1F`!lljD&+fJ6d~e30t$H@@DNC%4zIIm;%uZ%&~$T8idpgVqGZ_$l!`+g zy#jV&x9?M*pf4aH5w8Q`zXK@Qjr9_1SoEDdTsnwz1G>rlmAoE#V!5C=64n%k23p1I z4MsO_&nbE_OBWLug0C;zTUjpaN@;x*3lGd8cB3d%?Qd!h2)HJG^>dM5Y#x%Ue^tP$ z_C7!MAL!$~54CnnOsVOk%WlbM%;aDPFTvJ85A)bhOb4=zO!r(8EoY_r`wl2yqR8Er ze1Ch`VYxz(XqD<98A~-r(hTFu19=p$RV(qF|7A zIvq_qD=*108+KGJ!80sG6&4BUyfV3EKt>yrvbgAguDO5^-t3ATxXTW+5$b-XK!GWJUXKUkbJ(R z+qAvF{3qi|h^`B~#i}{F3(=ZPcv>)@AASCTCn*YelF=mSK;gl4wXsFxA3Gm?5}I3d zJLAy6Zituia%*(*!m#C*q%)>~-*@w*fZ;WbDgot`t`U<*l~lCNEg6c>R>Y0aBP-L) zMqw4-n+M}Xq73kxb8IQ2Lrr-P)XP9QTk!3+4pmpqY4MW^!eT#A5=PNQ16RW>qEBQH z8GauwLZ7^tBzNV!h3M}m-{RokNBK1c=a%jyndV6OawJZhDHh0hiZb&t7CD>w^2(9b6ykn&n(B#ICBg0|mCm$P!Ir59BxSkLv@4m)I?z73QX~r(2S|b(ScEa( zuugee`pR?yEA9syr?;@lx5XNaF}R>zvpilbf&CA1@=;58E^K}(83n}ZW)&!UcIs3y z6m`WSwX*k0CYgnDRAzd^9ju=@HFA4RA64=Fmq|<3wNpD!qf$C!@#WCop?nBtL`w05 zz&b$4eyO)xqZPibCb)mK7MvT+M^1-%OYq94oMiP$4JkCO3g8L~fnKBG$ zHl}I_btWE-cQkMPNW)&kH!b_5DY;-eZl(AUt-Ytlu(`rW^Udmt8#ZN z_qI+@2hs$eo97yT?=qp~>&&vmMhO7)R)1$O5gAGFZQ}8Wm|`LHgi{U=cDZ&wK}|2$gEgy-Bu8)NThs z7}$k3%6X>!Ki^j>x|YvKLvjFE@=|-}S`!xeVsp0#u-yko#AIZDQ6-AZ*s6FV>Ap~X zNJgoRTN)-iMn01rs~R>tWo6Pa^w`p|^%(lBeP%SwcI)6dPn`1b}b&T^A zj6h>P$6&`|#(}BfN6BTIRJ$f|mm-bl7tD+AvsOU1q)yL~m-A>NhSN!;Z6hV$}zGwcAu;ALs}vNE0zqpbER za4N>2bhR@wJmfL;q~H$W)~d=pewNm0y1DpOKgZ2=%{<^IXz!l=7DYUD6@oW-?X?FK zeN>_+lJEyM4jgep7)IQk{FRz11u$hWdS5}m{qBW& z>a(ERK3ftpzN)v18gPCy)hyejKAlHbXsS{Eza9U>+W#Rz-a(P=5BN&w=iu8N>fCL} zfzxKy(%Mtg(KjjJcyAp8dBlNogjtr%kME`ip^w7G>5p-bjfqF#CjjLb?O4^Z;<4v3 z!(-uM|JQ)&K+v(-vEH%avF5Ssu@Q+p&<=ZV-`=!K(Yt&(F6vJ0S+{S4W!(^Wlq{RK>ay-imo4PF#;y09v1qT& z1;TFMVvZ9t;ey~5zD^J^MA?&pcRlDW>vs19Z&{wq6@zy6&{#7xAh&JX+G)FHdQesE z+u3nm%-_Lo8@I6|aLoKN0M*Ug*cn{R@WE}{x2}_J%=y5!&D++|wq|@#TUPDrpxU!K zuv<3m>JZtpJ*X{{cJ$(GnVg_4i+1#^Y+0GWTL$gukk~UafU8@#paQj-_}v3*o41}5 zT+I7`s#~|5Ql**Q0@gQgHpa1;{2-~@x0$k?nWzR3+!?iRF`2o$sKXORKry0f-cqe@ zp>phz2H`cUc_wwVw|D6bHxNp=4B#~Y3LtE741OntPttpA0z-19T`H#wTX>jcX`~tg zqH}I5Fo?1!_=;X4$fEe#3lW>!@Ie1ds?Iju=Gqqduy)Ci&B3QqUqP{t(BR#kpy(@^ z4?ZoZno-K!;rd5>3*ZK*r_=TL*KDpvt9&p$2?n2c2@3f1T0Ye~tG+%gwIkMZf)XiE ziC}X39SP>wh=uWtQFGdlxr;DG-dODWY+|H~>sQv%ex3In1Jr$ka!*le`dvNQqZcKQBaEe0O%vm?iv5O!MCE3nx7ZhBBS~$L1_^yl|=#D+9=rk z8KFh>o3EkLer|tnm#F%Gquk7N-+!-PSer&NE8VXbSJiO4Uch;If#r!VqfS3^r0U;j@6H*$JS%LV^+mO9s?d59xES(k2Q~RhkryL z<^*{d^&@s;4?d#%xagIqKgy29hj{>d_(MpaGNYb;?Wm^STC5edo3SbH@nWYpqXWVp z`vsqX>!2^#rX(1?vE{%4=YjNC^%(XT{mg$BIIMh3e`Y*ESgz5N`Iz$9^VsxQ^%(XT z{mg$BIIMh3e`X{LSH7}vOmmE47{xKvG1W2FF_mMlV?M`d$JAr&vE8xu*s5di9^Yi` z82ro<`=eJC)RId;xA)FL&0^rK$V<&x#48Q2U^+aKA#48Pb`E-l_hqLw%!0H>9~sA; z_Pn-g_Bksngama(4-e0ADv}n>1RZFV3r89C#P@b>1WZt_H{aDBCBC*s#v}pAuo$;eZ*lBqq*(2PkaI^}88=76*vUHpi*PLO)*S|o176I6B5)!tjLHYzN2)j(A!Mm@p#k$kwk z6i_$a_Rw5u{}2r^ezaoMjCYVoy_3CT7x=(G0|AZ07VJIzfG7a!7|;?^(Xzyq^^BdH z7K~`NMXUJ4cio*oj#}F$w2_{{lX5EWixnf$-JO#dX#WJ&q_BBA*sxY+K)@Dp!_94{ zWaWZ+Ud}U4+>7Oy+VV48+wG(5i8JiF+}o_biS3&9wqzV!;U!FhSv~x~E0;6KoqMm=GGIW=Ft7QP?ag^)hEM6|h{wJB zt4JoQZhImon(Wj>VwPWJ-#J#TqtQ84y6(|!JvnFn_D=)-eFSFnpPC2$`D4w#@AN

cn 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%0DD&{G<$ZCIR$rWSlxe+`;! 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

  • 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Ðkua{ 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Ð-u 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∨8H&Xyt1cIJQ(kZryTbO7+z(Ue z<{cg|4V3rDdJ0T3shi{%{V-CMlQ$Ju%HlMK>=f)eb8VaGBB__d3W?YcNX-0#n9ZZKCVilHZ++mszq}rbxk%MdhP$77{!EPa zkR7{}jiCUcHPl2wsB9ADT}}Mxg(n+!-4W-(r6OC#equZM=A_nXc+T~SxK({F&F>nL z(Fz|Qbj`(7qH2Tjo6S;FxZeGZSvwSNy6$tracS4Qg~!|TDkV6IiOYf#(l_zj(mI7w zY0VvwTBAo-5XbqS8BGI+0ZGcnCW3w2e{HSt_qh{QINB81boYnBA)z zs4 z-&tlrhgAbh>TQ~!1Z5u;h!8S^x?LV1P^LfZFDD=;iJ&TmZSsCeiLq1w_4UeEv}KZj zW>U(PZ~Jbp5vvQ_MMkd*C^F;&GDk}DJ@y@*a~dFXkb?2YUXtwrJx>IMJVTI<3_Su? z#+l7o`@3N0U!?K|ElJu6S*LZAv`mx`$M{1PdwFETM#4*7q^E9Mhk!7AlBpk>|%#xcYk1x%2RrfW6>_jMTll@{CVQ+olrU~(%1QoJ^a{$db&uf7y4}wlwL$}vY37)wD<voiOb3^em5_pkm~Fs^Y{ze5nbs7PyAk zwciz@EPlzMmFo$|Mps9J8$_?srs`sfrB1B2{W1frR}Z;Mqw3`1s(z7kg=rygOD%6Q z0Vl;QPJMq;D)j(>;qLwER_-NLgn-?Rwl1iNGpuPql%Ru;U2iI0{vx3%+i(7_g^lhX zA-PN8>mncfP|K9Q6_3Ks_i9#t$;G->I=Eq2Wy)Rr_EBel6suk+AuoqAzVHz~kSC-I zA3}-cu>nQR)Fb*=DS15zct5$S``I(+9_d)OJYB}K%&T6&t{mrj7)`+%z9vg%Y2@Ja z;K%)KY&`19L%4g#v9IS2IQd9RiF2P_2yAX%wUX^N8jm3vRghLx63M~yxjn|e?Far} zE_+V)gEt65Z*o7_4?g)VgzAEQY2_C)g&N*Yv1nha+eZItLm;5grG(5D?fv6dlgIq>bPz;b->coLoMw|r_xDs+X4W#P(4DjyZNY~dL7W5Nr> zgrNSrxLcIb(RV=!Qu(HJa+=m%dCGTeb&Z^Xq)_&iNjMJ+a4deW%g02=qKtOwh)b#G z1zSt$q^6Y~K_Cj^&J!BuJIk@Di6JxtC0veKZy%q|!wD{X_KmltD;7=i2@VU~Rl(BP z0d?PZXLp)&>tPiM0lKYjD=bN+JNjVX$u&w@({U$-zemr)gDARExe(haZoKPjJ{9$6 zkkKCCp(l+XQ8UWn3uIFm39k71~`-U6aY50idqFS!~s{|sZSnVD4{QM}J)L1iaU5ZD` zOlYH}akknKGNUpmBE+|iP3@zccV8PYvYw*%zkK)i3NlH%Ib;yo$X|>^ zqf{+?sS$agN(vPqqbR4T08kN}Lto#jEr8QdX9}rUBfAl!eowhiN4KBdgyV~ldX8o= zrgZx`JA#lT*t6YlDznxtmijP+TE^+8!N?XccOm00or28UlKMt5&4okOW7tl&tg_f5 zQMp3oeS@ufD!ahH(i5%&U>z(0%1qHF_3^#S#PL#7kC7g=&c9CeTKF~r8P$-NuY1l5 z-xSeCo7h^QXhAiccxfVx7%i5&p+~L9@~vQBX7L4^jfxAvp5v|o?mF;0@?&KX=vAhv z#o0_3+2-D2H674RQ!x0$@{~=D`H1^?%E-_2NO&mlqx6f&1(;%Ex@QpgFxHEuFSNcCkcb7WeuemQC+!E6He;P#-CNcCwfGTx|33h*92 zATER*@ECxCWU~-yw$qJD%q0?vI z{F0vePXdfra8A5SLZtFhk+;qx<%a5~q9zax?Rhdj!->5UpG2NQm2Z#0NjkPU4F0{d zPRR$%&w$|TfFJmPvcM1*e}Xu*01_8}*(_e^*oDmckL0h|43HztO z<7PHvMwG8MPGe!@n{fVZo!4fJ6)WC9aSqq6nZKbR3nO3Op45g)=@^?(~Lp^ybh|Jr`Lq_DY z{m8>M2>(;hRGBH~kKUz?5XNc=xBFw|z#cr8fUK{y)KbYPl$jKX;uS@*K1qn350|*O zbH|eIQSKve6$!v!_*NMvD&+l>C6De=WF%Q6+a+@0vYP}Hl6dD^sS7BFCXkEAp>poC z(O!*uBbs;Z8M$m3&u-{1p}_)O0X|)7W|0Dg$a{*mXWgmHQzYPy2I|W(yEBQN{W~%! zQx<2@xqlBF&hDtXrd3+2H=?_vnHi}V?Ga8uoi;6YXs8b*;3JYY+r?6ad8TsT*&<`N z>iZ-kgfJ~K6Q0kES;;)vqQ*sGjA{1_1n5CdA! zit9YfBnY@}E@<)w;}WEb*l0_l3*&3~LamkzGxPCZc zn^xilG%d{cXXW@tk;pswBw)=c)|d{ zd6tjEUIX+>De+5=ay(u4prj`*3?`2R{V<2$5va93YNT&$!S z@G3KQLZ;y^@6uu$MH!)bm0t_by}P}=8@ooYu=WhZXpnpo{O=&+NSpeV{l2dmoP16m zmE!C{mWz`Z?5879x(2#dfI7vNMPLnvf|w5V3OXxWuwpp8ViokDNk%w~jqklSc5`h=~2yHgYn1%*Y(W zKv|g*nqB~b3t(Q`6ByLTN1y+vA~skJ9z=;5U?a-tc%a>MiNwrkw`GNH*v7uVV1;x& z+v+dlN#(wECVRl};s$~g_?Fj`dZ5^Vb}IZN*vmHV!B^Mn50WlS01xY%`u%mEV3=c+ z3)0N$tt2JCG@3q0LiE1b&6M@-am^njrTu=x(^i+g^SZRXs0?`*Ei7;|NV|pxnMk z3gof)mmrC1B#q5U*RO@$o(vj&i9BN}sD}IQo)CoIy0d{*hW6nXD9snoyN6Xrku`p6F)Vk8don`k z@Nr6KfWbF6X!>*3?o9!g(eIDr7!m4ZX9_NH(WBEWbOr&3o!y!ODl|!E_z0-oj8I^* zsugBsKOKfDm5pFZNn0jjV(SSJeDxlzjw}+G6*L9b8hT(lu&bn-?M={KFdMa3mxEF4 zrVVnKuzR4NOQ&((u1y~q&z-B`}N(}qJod82WFT=TL zyr@1bei1Av2Fdw(gb_siS%J|)>8fl$^XWr3fi0P;5io;~2nHtNFt&Ah!$WBrk z$vSNth>1ehKt%_$7;WXY)I?a6PaC-?uapRWoV1Qal@=3iNTP&syBNS4u#(qi&YuRJ zh5wXHq(tLm;&P?&YOfiZ&d7KEVm%|2Y$gt;%O$4^I@prnF|ozYE3E}>_V}Z*UxPZ< zg^U5^+385o9kAG}K2bqv3;cEY1q4%yg9FFTKjQx+(xsn{w%55>qC z$+Lk!RF$Y^_0l1NjS=>;hyq``bDFZSs148;f#BKsv126hBGO!cPx15~O?7aFHC3HL zkZZ*!Qa)G?#Gy@JO(9DOy{9~Pe1u@;>z;Aw^`TlzYwf?bOj5V=@uoW%iY|DPxxvn& z#vx>W`^3uiZU@`^zqP$#`S}2GCP!sjzr&MbjYC&Szs4SgGlAViYxyVTIX}q$Pfq4F z1D@EXsWLsQIB4sse7`G77rg;TDNoed@`e@gW6C5aOkB!QIX0d`S|)2PU1PR|xuPqD z1n~MxB*2LNcg!-DpP@4C>~%QAP>!>3NbG8p1=!$^P4a{HUA&$FW0}^u3!s(dsaJJJ z*6;9x`jYRFSH6OdMuKV3_tOXJAlu3$zKF8HS{LwNVHSY!2nJP~sp1&b8|&uafWc~_ z(o9@ILOwD$J99b658TO%G%4@UPv1C%!POSU4RV+iCh`JPbAID z4INi3HGBLf4xSsh|Ky#=z1bXRAMPGFaqc;B{QEfMi}_c=cmL~pemCVFd4iNU4J6a? zta-LKMd8x){7!zKkYgFd$;QD&B-1r@hSr=)Y$^Hy_9C7@7E(qJOC<-UD@E-LM{lK~ zFH4T);G~6Uy|af{p?D}xMY2Nu0Yv1QwS5H3s@ zpk44P4h+kJb0-pMtT1ur+QTO*alpGLHR$WwWMrvWq)R4Vx9U4YWq0E(2^2i=en` z4Rzm0FmfZ?JG`hQgJPVpB#2)w2_zSef>ewK-O^&QEcaUNcS#r%8zoBCkU9%1@{Mx5 z2&_`IQORT7h+XarOCaB3U+D;8ru*FhA&)(;tderg{SPwhA3_4T?gQu|UVo&e4d|b; zE^8%9@v7d;Qip!msigz4A{$y+<-|^qh4eniH2+jT-O+wnO9MXsgk$|8!@DBPh10TMpnbeBd&Y%B=kkHWhYlb!5A+MK90?Df+L`byK7T4qNOj}x#Ribu2!iG( z^2y`wj|{`-^IFC>|9cSsK|VOp;^iI!L+A3TkPdECHsj>n=D);uk7fX~Z=n^%HRWM4 z9+Wd7{U#h9ky)@mt~6g3=unbMfOCp-o2~Oz&hw3=+}Aot52I|4!nOteUHz`)fiex<%Fnr?UiJoW<4G zor_EE41eyfi@TVkqK`%-SU8W;$Rido0NIHf7M3Wn#z1{Y?2<=M2y@o$_Wti1@&F=Qdgx-n2ZlgD2#kM$cLX)tD+xIEa%94g9Alcbwq`I!t-0&&(#Neeo`&M_lMsrFDg>k$%yXkC}xHjoT(Irm{H zK3ry%k}?Ho7!XNWLhmO=&Q7JHiD0cnSR!bhA1vo?D58)Ids#cH^2V)#l*W&(cXd=W zG}p!_uF2%J&WiEtQWXss&IE=A0X8fibekmq&y{N`a+^0JcglXE#U_d=os?UBVUlJe}kymrC*|31x?< z`dW-pTyuyDKSb^^OEwTFdW_MrP=$6?^iq{(52MaWJD@6fhX6IpFG?&Fo5ImM+}a6k)5S( zlFyEWv9Su#@O^l96!KF&O2s2Q?pfuj2;$BGvzhDJe5=WF8N~!K*M#HVToA?`#&NjU zmt-d#+Wd}^(N&&)l?rf``>0!kJ_t+vXyV>X_8`%zUwQaE>;@MYElPr*?@M+>W(#cX9b2>m6J#4!FcqfFC;^F zw=6HHX08hvrYQ?tUj~bX#k6rRA9j?j(pX>;%?!H(Gnjd_EO`iK zawsP&XH>@U$+TTEwfG0~OV4Hok+%r)DAD7q<@KC)lK#RkvHI|M56z~WwVC4F6eXM zl&-qc2M3i0%UdgxrBowB#NLzSLH{JvO+7A_naF?6 z>l3q|4PH~8;&sxC-IiusnvX#@BG#gtR_8c}Up>ZAvU12p-Cxc6RvS4;qjfy^@>$p( zE^7TU%{HZ{~ID8N1={!#_sI5{iyfSgxyon}E>xH6`3 z9db2shTF?HEA_X!GoK+8B&s(E^>jtifs4A3Y+!4KZMgfahbW4^Z8oWrt#!g86A5Uo z;JbF!Z!O2jke;2U0ugZ=UJ94tJ98M@97&IPW_;lgP z`{<=_EIqh5Gd__GVQKF0QcSog{t`cEmDoj3=U__L504atZZrGMpL$?&>++=LhWP)h zf~MD{$d*iqocRf1=7RM(C5)YEo^~QmgP%-hPiuknZToJ5Ikx7KZj-VAUZR?hh>3AS zBa+#e;HgelDGp%dLeB9p*>BUoqqECV@aVb+M?BF0qbdL=`#SD7s;566r+E!78WA~) zfwkvmA2zo>b+yD4(6zxzFpifLYd`iOL%L?DtzuMoW8}-QGWqK(+WT%MELV}jTjV^6 zLA@RCO}3p_CRXQto3O=4&YV z0UHu2U|Ka;LJEB{uJJ>jW70BSQCRHUM`~ zhJ7+-es(gn=7vsDi+08uGe{YrxMZ4*lqm5P?Ar4-}CifDR9Ch{FEbu<>albe+O zDYuLR5lQfavH0>>wTZ5bWGBm+OzZZMP0H=4WO5{-XTTpZla^$S0{R6!pOnp3#4+Qu zdfryHCC)ihjz6TyWmJAC0wud1$rV^3@;oe|zoT+KEZJ$2K@Oo4D{J=drnv+hmxfug zqe)53^Y?kpms3nRxHTUvaH5Bm&W;8FGPvG>j~4r8c{Cr3>9emsQUC36H;;0phgE;g zVb=rkfad1zC3WKi$n!r!Nv-;R)`l&o zBADe|BM|#PPL+ai=F`mKte6CB|N3k@T;j0H@RpP0oMiocd(?S2Sxw2mP4!7lMc>Sb zBa=ChHW7+ygr&+qn1<%JFddcPTuw_2K5dH%@$-kRzoZ?Uq8|Lo`*-zcC5~C4r^!du zf8kEy$b$-B{ZZlD1F`Zyb4SJ-!Q9j}BIy!8IJtqY;dl75r%!nPnYNc|5v^i^YcDD6 zY8#lPZPe5_w8vM)gAA+jz^;722PW;?Rj&2>pPx8oCr{sDG zkLKb@rQ)@$o<%e%xd_D1HVJ=LUKelDj7qYsT7*zp`gZ~otyyBWk;9vtJfWt?E^F#X zC_j~qLh{?OL%&z2%_z=tm5ZbdS9LJM6%{)|?KdwR>h)ZehDI_OCS4#d8a$eN>yZ;{ z36mT~N-DWnNXQu>F+4TCs$s$F*u}50P0=+Td-`U|M0lD0=36&KDB(=%N&#)bCNE)j>^!KcMn zIRq5H%*l#7Ih>0(^DRyTDueQedwN7Qw!-+JeCXy0e$L!xmp2F6>cjVYZP*RpRu8y| z3i&@PVw;#h+!0iDFFDpS>oC50`4vY|PZ7Lo_pommEbapT%Smz;_l}oAe<&l!rmFN3 zC@tej7}dlAJ`0NkwQR`d*g`w-xjW=l9ao-lq_7K(fAZzJ7xtW!t|huq}{o$X)-M%NhlYm1eOc#fhEG|K_)`` zuu34kKqS~-cnLTcsRW%1irzt_gQ{SYt8%#pqg)pqe3b!jfi@v{kWH9gC=*H-iv*zy zj|9|(#e!)9@qm;8ae$NIazC03l9r+_qqkX@5L+sLTAAhtx5|Hpo3^pZ~PTb&Tzt^pB-nN2|cQTH8)#^ALu^SB0 zgQR_UNdv%seFiG?>E&J*Y1HmsqD4%U#>09pNAm0s#06Z3WKdPmS@vTPk@trE~~0 z;cbyc#C-)E4d1rkO+)c!*x_vZ&z8g}`3IS=ITog3#t1jEUkakgPf45<_Sij^X9kD7 z**5#=BfdlLy~2#aNz!V^tv`*_(DazwEXev!OmJh}=)q^{^FY@=#8?ww zSIVO%$O=lkC7G5$wm}(W;k0u@P8PuH;m0S!JC)#A2iVr7zP_is<~$yFSe@I9RdIwH z3p%YH6Pt}QR#anOrD89JQ6)$G>U@MBuM8h^qy^vkx}a*$TP6ls+EEpT#TinCrFNBw zz^3*_lY^v068+6~m+^Nl8xUtTzj+WH#0e*ADy>7V2$ct?0wLMr$)wp>RvN8@4i|Qn z!B+Cks`*S8PF|n5$!de52~mP8DK?2s|I@|#u(%pMV<^HC8igDI8Hv`;_65K)Tn^6qdtoT|0KsF(i^$(KJq1?p{&zauD^Dd?1$c8nTr9woD)?(Vjr674xdi)6p~ z=Wav2r}icYnW(6zz}xzN;~&n?bMj0y@A}rYo6!@_0cZNXhO|mf8DO<%eh)bBz zSKovaq;XWLsTp>j(OIkT6I{Fff)L*50Rq%%*fxzz5_M@T(4-7V1r#~8%EckcW}Zi0 zh^_pRv-ug|qNcx8fa3%axC*`RbIZ-j^GyE_W>~~~w%oetD{X!p^E$%Q_fA(o9*9s+ zlIFS2`XfHfHm*4cuFRKHCqjvnuZX5DkE!6PB=G$-9P#B8yD&7e=~>bX1f;<@`$& z=dlx8E7;PeJ&%ZKZbezTdUh2z$CFN;x*@fJPc!756X;@TY<6fX`2u^5a6@Y4 zR~H={l;l6(f?-&`w_?ir=zahvV7A7CktR#4Rvcg~x>tt1o9G%H{9C4FiD`w(09Ybi z#N|VBJu>5-(ghsy8w-T_0^$0Sn$ zklS=)+=qt*J^1d{_<+{vJSDUN?9;Wp%h4@TVn?Zh36K?8$kOfSF->)kO0af*k z;y5LjZ!Q~sn;G2n8W!}G-Z7iMVxUfe#-j1U@=17Ssu0Nr?K=3F0`}FW{Y#nYG%%Vn zzi0FdI!J|kNR|%NdUHo!tRihQ-rGXDeG{EP6gk_Ajr%&Gma&S(MIXLDC=KIeG}|o# zEket==9?ZK=x$(dcjSf#x;xyfO0f=)K?ZP64st-do~ewEtTOZPxEqRcWzaP4lM}ts zGoJR#-wGL}1IEqA1g_PjtE3;=@8pUe!m^kD?C+vO} zgy35U4W52ivuAT_|Eq?bvCfzSZAbhDiW-lwCLa^L4^id&U7RMA_z|B24MH1b9Andk zZP~O-cdo&Yxjt3*7L@2dU0#-6@R~66F9d?v;Mh^;+AzoTw+gAtM^lzl#pXax6u z0`1et?6Y@@-TwIJyiYI-J#y^9>_YRQX005}Qf}Fs}`y7PVyoL5LVZ3 z(4%VV6nW@IAz1lOP!58=6I1<$8~)yqDQ4!F^K~YrwD^<5oZObvZ`6|9oDweC@kh7J z9AeHjv#q??BOPfYx6(o|-=g<}1x;HmCv!YjIt4H$ee^~ylzCo>=acH5bawqKn3#xq zr#hDje+nwxR<4QXK9j+HyO+!DUl3LA^iD<+Xqyfm95)aWGf!2^MI7+ph%V8L{C=!O zroyPG62@i0CjiyDF4w-xITif!&Ue_c+EAuiER#rtMZJt9=wU~4%c9m%w7p3_xFBr7 zCc}RZbQd@q$-7{q54L0@+Q6djVw&lp{B4wS!M^2#i!K}Z3=}gVY*HeO=a;|AG5nT< z8awq`IVj7ydYeTM;tupGa65~+kFTnzYSh2EAB+l?zls`f#uLXd;tY6H%pEaF37L`} z@+JhQThIb#x2{IObTn9hfk>A6QAfv6JJS#3bYmhWe^lfXj1H?dnJsTyr+3ZY4jt-Hsg?$grG#=^KkSJ~$ z3;^ilwDKBYLBtxZVPw&vzQM!dTx-k`KEB)A;@I)%)tt(mcwIk24)?z3$;QMofzqt- z6yXQW-d61hleZ+Efv(ag%2Rfe>}h-0>4O@sDs=U+q9>FgBa|x-v-D%M z+>qWARo(W*LK4|HCPf|{0T>y6@{&`ybI8Kox|96)nN2HW~BT z6t?6JO{DQNXGF$plP1a=VshQ`n%n2PR&@>_KdFh;s1PG_51mNiZxE7=!7NRQy)cf- zH<;?q$vV)tt!ec@QD4m2UZzUt;_LvemLrCr921rR)dK+Tr|0O~1UKOy8zQWKS#z2=XB8E> zHUX>_GCk8f9=@lyV+l3f{(rgDcN$XsF3|yDs&D)=hj{8JS7f8zEeIl=q{xBhoB>;whaCjA3>1Mhr)(Jp#K$ zl_!A9an3;HsA*k6x}TrzSh#tV{q{Z^9Oyr<-O}2Tq03MB)hItHBLhJ%nGe@C7bCDVZQORt)b{(~ZBKX4Z zrV{YE72ha5a7}gjHgm?*k;}OJV?(9_5rmKI=WFbWZ`UiIvBT!g^I~lM)lH>%Zqayi zu%(H!>)4w~LBE9a-bYbO3+JW!1!yhNG{d+`pwbZ){vH766Ro5?D;4Uow+$k0bUv?B z&5aLg)TjTQKqU(txj%QP2kW?YAt%8brmQ;Dw|L&9tq2*!YB)-Epxbjh#}s2B)w!&k zB3eM3!9~k^NZgZwkJrpWaMUyeNUYZv>IAQ7+sxfe5Q_Q6_nE>b1(=>M4A8vRU$37z zEX=%ldwY9)NMElR1SL74%TJ76u(;A0c}38;_q3sJR{zfLAnI93eg}9D({O@?A8J9< z4Eg^fIXw_z=A<9x_5mn^9VVm_kTEI-#1@bZUZ$1jBL8g~9GC{E7fDK=OI2gYLy(hb z)&{%4OmiRP+Ws@>h`MYch>wW>|9gNLbUo@&oXHw(aZpl^{EYu9KWTb+d}y?isb;*WQD36Ar=52V#g zC@iCAa?@yg;Ple`)Wen7w5nspp<#fS_F?tORfA(foLut9a#UCWmnuW@4RFbQW}A!S zG}oI(P?|1W=_`z)`~OB}OS!ns6whoc|SpvJEZj z2GL%Dm+_YfaiSVtj>T9p=x!X&A_I%QV@IuqsEsL>r_+F!$3Fg)DCxau94cM;|1CGY z6RO4ahx@~bQ|74ua6|gS(e!2XJ1a!P?2pe7TpARe_$`bL|Mbcm`q&Xy?_mnR!k#@@ zRTU!gYr5TVCD={BVtF1Ff_GLGbz4>mbQREKa8!Ki$$02DHM>wtkd^2o?tA)IU6pn9 z_%<%)*xT!v*CUx{4t5FCF)Li8pJu!TCYyYdz)}m_ps*z5ME5fbtMsLB6ESaKyCW4|zrciUt^A&-Id+drmW*-psik{I z(02-vXgn*Jk@X@Tvqa%iczQR~bCG*_?9W?A`_z0{4@%bKC{&3k4@;3|Zh)aGd^MJl zLN+we5p3t6ZFKom{5`l^jSzeM?vk784al;)>PFMv>1dq;BW5>8kQ|aO==wPlwo13l|oq@RD@9-@(Y3Y-ywL0zo7njv3KXY z0Q5(lE8y0tdrNr#lv6t{M-LS`PgjClK`}E_NEbxM^o=~o8b~I~TLV)=5Gc&$kpc;jQUn^->CYbLaHyknDYVZkA6W2X>>i-RpNmzVveGRsgVD#zGF;h(+xiu(y4-6ZTl2nQ9Gtv119ec4VCxayykX^*Om^2zkN3!wHPlg24OX z7NOjEq5bxsf*vkrCopSUeq!4#W~3W$i$E}1lPD<|gQdz}J18i-7_==dqXqUJhVP6g zuhs(ULTtmkfCE+sfEq~xF*C|jSRXNIQ9xKT1@myyE4_G8cTI%9bCno1zifwG6;&@V z#dG`A=EyH6=vDPzp zvXDszZo=G3=fSLtT|UhmuQ4gua%q=6Fe0^<#WsOU(x-Q=2f(Fn$h}3DB0C8X2CY9!C#4Qtk zGqVF|vUJ#VznSn%1%*O0;+O#hbkCCuEj;hvQO<%qdJ&B9g2(GGQ^5ONkjqq8+YR?L z;lMn$okam)|J%-ZWHB(ZuGaiuIc)8J!_XZSkXF(h#;sUSnCT^JlE%fLcUge5`{4F% zc(FL!d^%2nAzuo#DN6lz6z}vkHDB)6OTWw!U>()Q3pj%`TPrz=?m~K4nfU3- zpYPlhg^S43-rpx}zWr)s>zxJ`79&!_a%K~T7E!Od#=o5Z%has@u*ZM1P7dl}K6Ga= z>A1y~H`6%ji-JqGIXRmk8*o@_9Bbcp(;w_BZJ%A?d=yxG2#oXifGK)(mSktg) z!v1-!nGV*;gkwx|3mc{s>rq9V9Vmrn?4DJKJ`H(u;A)43+Np0l$l|x6aC)!lX1;_dqBqnst- ztaa0EiZqrkv@}$N$y5dWrU}NefGtMK{nGm_QrE{HZOzvN+sL!A#O24E|I;$-A5+Ly zf$w?2lK)?hJos|e+pVJBCkt5{RpFn_W3Dn zi_=lVvQEFvO;g>(cruUiuk(|CSqzqlGdp&EX}n3$#Q0UcAmwvm+cp?!8VyCfvExml zcFpAX-6vqryB#$h!Kq1w0_B9}Yk5Q#s~II&M5>q+Ec7V7P-=))woD>Odt=(yWSL@y z@LmRv_D^5tRZ_h5OY+(ewFc@9>>MllSBaVZ#^0r05Xz@DslnUx0a14G@M10SkYf(& zVsC?7-Q36LT4c2zCHnK%&2s@YKr{=1oyV_44YOMqtEg0j5(K zf`kfS-}UoVu?{h&*kNOTC+>VKgPPvA@YP*nkzJve%Bf-`&34YOGR>; zwQ*#{r@7*VR^E89)>71~-#OF@EMkv?TfIP-V=ABP8n0Y4fm9RjY@F%|?Gvz5avGwr z-$@ZS7sb_KzG(Wkt%=Go8r^TzTXvPIX9uM-zTeNP1z8PjnHDDptJtQ*@*!V3WxY&m z@-=Oz^RZtvY{-bGw#6iC|BF|4_R!0o5=Mrz)~*zP{??33ZxkN<=X4IEZ{>{h2S%l! zFCcKuyV0&m%hD_Qhy{a(OMt~8ag{tD8WE%!!#RAI##df?rg%0Lo3EQlj3Tgeu$mIl zfjSh0RFmYUT0OJ^Uy)>)xi(P}Yh8PAnYm!psrLO8AwC2R-(_T&q$d6WY!*2~Sn=oP zY`iUAcwR6#mtF6jV}4Fn8DDM9?}c1#LhsGT{}P8P56RC$*O`3SMS@7;jmzPgkqi7J zi*6FLpBgw$uLH*mm=egL?U=k2?KdpYB-HLVAaN525tMh{Ae(+YF2K0W zxKHWTC7VP}Gl~iBKzg z6^?w{cE}9oo+BuVQ06M zcWI&f6ro3ECeS=;Z`M1OBcHHESug^nD>y31duZT11v3?ScgdtwAt zG2OsDT{FL8X?BdeD=w2uJNE!pcPm1{ghP}B)y*9dQOcHm9-Wvp$hL=uV96h{uGY>t z9)~3@j?}la%&nPfkF^hEhJg@s_suwt?9fAl(RAJuV_1ie))oQF2Z4F<`ykdwmEIXU z4IHc=y4o=9KJoXB^2bJMFpZ)~tyjFMK7lGy0TwRJg=Ik(@%Wlpx-MJoH)+fb5G|T2J;O2_ zQ^1~6AYU$k(=uL)Mi6Y7)6QvrJv?L6scY<5*uJ z@Y*9!$#|OLHpg-7pJq^O;SiC_%+E_5`6i0t0QAOCa%+cbiVQMM9}H~DSH51kR^))b zLL5c0D4Y~%V?!Q&0to11(C}vh=U}0ae0yYu&8T9SmQrV0=9QztkK*a5+qPTtdoO>H8+{)QlillKZbr z{5e~GSVX)T4oJ)xiYRLRx1m~Epil4s(B`+8`O5z{K%1cNUZ%E(ZV$R)#Rj(&!&hHz z_y6X_a-O@4V}={;9LB3Gcq2Ukg~+1n9(M0Jw900zyox1yjn}v>Sn+oFC>C@L@n}{= zJ|Qa*XD`y~udZax{jXn`az0LECZdqfe9!zfd{iI*0a)X#Z+G|k z8^8a_27DhHZ^R9XM+DAJ?6UcLjaBJ9o9{{jACcsfABVkZw#E5%<{Q3mk7wbm=rYv% z+J_?%%pD&xEdXigBZDoB^Q6zcKtPWHkv1`E@WOxpUvJFz{YrSwV(=mV<@i;YPa)b1 znz?hgmv9+GBtk3^N#wy3aBv;H$YxNmMeRHrE+>d_Bze$qf;+J@It1fw5V$nA8{eix z*akg^w{l}b6WS>|^s&+?{Wl3;XQYJb$(ax$esq`m)`%OB{x84yTiSVTq9+r$u`ZPI zTTl*LBF*+8TU%XklobtGk%A~0<}cy8sd;>kCXby{jLF*RiAjmXgUmS9EryY0*;L1E z9403e5N#PpkX}y1mWCjXpMSs?RI^mz zK+$ZtSE33FPKPkkR#4IZM!Ba<964#6`GW?WFu?Ik>O?BfJcIa=i$i>NVg%^qyY{+b5FjGYE9n#klW{ZP~7zT zov=Z-p+nps*|=k7N~RT033v zmv?;ouSyfjAa@$yV)h!d34vY8#%Cs&)?t)Q1)n(IC?HaYR=sMj5*9MiwXtcLM zcR`++v{58mb~izHP;Q{z0^J3ulJG4!F50MWgBL+JA>DKu-3AMg9wO{%s|dLm?TnWm zq05yyjk}>X?Y&?&ZxH<&(AC_Y-X+fsTCk9UIK!%-Md_))rGDQ~&aAE3|s-Ta^6`>d9S|+%RxoL~|Y>v!$rGNx7;Z zAH)|h;4=vBTqtkVRmVq%C=O#raS%jSR+x7@p75gw%^vJydJh%>spBXG>n33x; z(~=R}Qim2a36t~Ph>)O9`8K@!*>zzM{p`~idEE0YVjQdd=!FvYX=qj zF!kF?gIBX?rt^2utzuDOF<}vEXhl2;2u6hHu-g`=2+YvW2L#JnWLRn~TRw+<>|U1G zY*=(L!9lid5pZI~!ZoMPP(O=dp*b~lZQvXWcDB6)N*D`^1c+Q(-VXUo;ln6#4v&+9 z52Z(1#x1q;HsR}w3X6hR6QNV>OjuHgx5jiT`Z-8et!S|M#fFh#-C@25bt}`JqsD3> z`NNzRuc@nV0%~l*!L%KqFg_XVzFn78hH;C%H+ zCb%EIl7Ebk7T3+Zzp0&G|8MVr5JkqM@5=aPm6TkR^BI!m^sZi!YSf3YUCx^|)#gk0 z)=p-i<@0lc7L^{~MkIdcQCB19(wD1;@ypJJ@2f^AWzU zF`G?*f7cfQF3f&)t{MvvY$!nbWrw;fo)*5&`v~YzyoGuQeJDN26WZM@5z}%apK<|z z=NN5QolImV3{`!r6=lD6)Zt>jIh6Dn z^e#gB5JEl-gc%>0)KGJW%u12TzywTf^N0A`5UQz&&Z9FJK}KIAhlGQKL_zTfVOb5oe;Z*?9wk~t(fe?s(s zIwC3hK27=G>6ch)px@OEplUBsxf&mnNU%F zdj&>i0ni)uhHNn&gDC)I^n%w}L(h>Bo;a20Siw z41iqt84#k?XuL+x3V>@DI+4XG;}A$6DHi$va8?i*6S?vrB3Ono7SIA{DwDzMqN#1T zfzl?hCWw0*Ij9#n6`4~2U3fmuJx9@%)tA|wsErQKH^}lsP^rMY7pF@P^gY?~eOndz zrvnq-Gud{i1Lv+c*7RS9;(xVK~h?j za3d;Qc)?2ttv^W7gxvC@vNrPb&?!9ORO^18c`C0LO-a!dOC@hBj9-`rp+*KZk_SQ! z7kwu+_*6{fsRU9J9g}57UNnFJ5hBU6;w}XFWhoF6Ow^yY#IuUXWy|Mt2Av>g)h~Hl zwX~&3KthgYFzbq~BBbH6G$ztTYwvZ1bFRrpeVUATT5jn5lHI9mImKky;L>{YY^{EKEe5UM{yV8u|9aFMS?t3+cZ9Hy4l8HyAY)59EPzPB5yL(nEwZm zeWF=+(CMxH(b}TtS|P(67$1S0?c#zdu>X>#x2s|M2h`m|F8T)Az?MkJlz3V(q+Crg zy5egNp_&?PCe^9@(BYC1rhfT9!K*XY*`WVBkrM;;!4&(#+U^m3}0MS2E>7`IS~d9PO>r(kI&+I;k4GM?@3uRtl8PxT{50E69f-({z+ zyd2UnqrtBH8Duz+A7nh?ng)L1b^Da#@&bPGvgiT4)R2Fn@$V{VpWbEWsO|c$J6uul zN%|~2Br(qG;1MQ85aoEc`lrJM?_HK#qbd&@ z20S|I!ev6PfIER{cGR&xlG(DCtSO^lGn{dWhL6KJ%HP42KD4PPo)0eFkCbiAk>*r7 z@#QV3@y*7#q08^^J2W!^+s_ArCR@@iCY&@Do^&Gt?KR}|4lnCT!$FumFM&&j7>v*f zS6vO+UMioWS&%1D_r61A6|_+%=g$QzfK1;gJbCFOPOd@xZ`!ho@ryk%TG;V*erTL5 zi6k)pEqDMHc+pZQ9pBs(o;_K*H{-u!$mO9%++&DY6LPV;E8t%zP*d8YahJXhynAXN z2ISRx0~Ugas>k^q*zE5{zy0X@?SvD;&bWe${cMiD^oU6a9jsMTiL?(VMtMd)aB#}L zw@`sb3#K?g_0!ZFuU)p^I)mymbXfh3{c6$w>$LrEePepno=o<=%t*7$yZ<1&5PU6V zFbE9AKn5z*%Mb6WZMkn^$4CR|Z9yu-63EH?@LI5|^bX<=^)^*?Nuc%?!v44 z5xGc=EOCaa`x{zSa{8A1m;BC51})IC%+dbLpZ%C(@C-mM&B8b6e}E>?F)923{T}oa zXa{0K>;G<9!)mKYPBZ4$eAoRC5ORIlep5ka@0kxZb=3jF&h_Y`qasM&KiFW~k@g{n zAEqHZ3^e_JAN)nVT)zjT!MJ;j_|<=7*L4(MTxUti;?(YKzsy_6BZHQV3h=(=jp#>^ z7ylqE$Ni!stK1jodk3q7oq}kNBY*xr=fVAXXWH+4g9yZRq%NwqcW*dDi}k&ZK-V5a z{C;QCsz7B$M4?D7yNPX(!w^$SIxfZS58(8(_=`+Wo6)?I{Fsdgh29XlUQ?~j z+pVq3bM_B;9*!8XfzDVD}sxIs(U$=KjydQ}E{^ zk0~$AYo7uG=u7WJU)%x{qU3{IFed+)H24jh{j8Xa@p*zX`Y_J&qlYB`BJI%mu7EcT z3Wx)Z08V^tHF1A5(&eYkmqLH@%oFowuUBMf#s#pErXu!!Jm7Nr<#{{to+`~1`)1+S zlict;Nk&$fZ!;Ddh)-s`N>tr3R*J8SEuU_^e5$!!j@&>7MocmvHSYevkTX3QOM=LW zlLT}7t8fvv;h5mK?fcJkGUbRH@Ru)h?uC~E{PS+{pHr%tJB%uu@G6$;}T%r$}+{@zI)xer=vlE1%qeg83*~*E`Te( zWsn$CdtdLe{w{u6I-2OoE*p`>(+V_wHcXSYZPAi;{TOw>5DQCOt^d)r42J~T+XG#z z%U>qXj@Rc+C9@#a;&e|eHx<9F%uh^joNe`HEL zdDlp~WFBlQiwcJfNQFBLWWt^Ud*O2qXN_n@uVXfSvRFuR6maWocF7L90CM4^9rH3Y zzn6D>bZ)$(>=jARtDY#bB=m4ebj5zE+bPN& zdKiZdqyrAaX&}SE+Ds);zF25wRhbZ-d@QY32a(I46?RvdMVxUB!Os4^Lrecm$+rmM z$jBw7LdZ?WE8^8~WG+tw;$5!OmwT}7a%pudb*i9L_>(rzPgq4dm43G7Mnbt-dqe)V z!fi;*_jVT^L5rbS>0VF?eEWe9bAUg((&*naDhfA{RM~e5+)rmx?iHAxy%`gD7k0=U z-2ZR!A((c&e5<5pZanpRA6qJJ6r#8F-w;bGsZxTas}k0G@)_;1(t%ImMI}XYs}T-y z+-KbR;8{hc*M9I_MZVtF58>qHGKRP-+U7MwzF#q?D@e|Mh$YqkyxXc@77Hf=)okdx zGaqOrT0a@bp!gQ5%0W3v+8RXUZNMp}w$f6sdM}vc)@cBvpN3oA{5w;(Dj9s~Hi!F9 zbis^>xRW-qsMf9MJzJ~BuwB#(25Q}FboZP?* z3%{%+>CXz`V2L1)`2I$clMv>;W{j38zple$qa*bni@LN_9B7@t5vU*y4QT04%WJCj zVeHN(++kdC-QNCA5o#!+#i|;-kxd9=CO*CdrrchBD2AkI+?j))aOu@#3J1#L+L378 z8WSjra&!Wh@EgR@1B*>+CbdQIR>Cb zU!3O=-no(0FqP^22ze%cT(A5mv=5&!VGo4Ek=*(na{p z3JgPtfr^jYv8~WD(40{8J3$s>-`wTIAG!bUWlqHxEUOzFnIM^u$x9ax}j#So(OLt7tEAtv=%8D%FHG z0=yUqAk*p5MDoEA$`eBf|L?Vns)9W~pUytD}(B4H~PSAE+bjr=*EMbof2a& zD2oJ#Wc~mq4QwJUgbDU@u{uUh3B?ya!k*STCO11PRQcH_UN!PX2 zwIe|Y>$Lro^Rv;j$Xq)*J!_z>^(_9ITC`gl1hGY<)-586hGbd`&FL8i6&sy`#9cfS zfOadJ(lT{3<2S4CauQH-jKyy-*TA41?y1wJIve@T+;8VHq1X=8sJ6c>tCQh*wtdWs zsF6V5Gy}%CX%Hk1%2@3+i!0`?mCU4}O>A{TX&fTUew#La6mkEn4L=)_SFF-X*nt_3jDI8~1Iq4USg>otA*RE;rnBAOPV zkIOfsqNQxXU252KK_*D-*`tP05W&>6y`8ISI4zmYKC!tovDRw=S&MjNO9w{15ib}0 z92<+`Qhg33CqS~0GARq6Q34ZVQQv$-r5`Dp^M|-W<=@U|;S!%*2L#<}hCnFAB=xb_ zj}<47esm@<2*{vJIt8)&T{RF}!yhn}c=Kc+sNSD8^M~<9%!>OB3?H3rwz7B>rAFCI zGv_h^Q9svQPajx!fJ*^ba|JgZ<4^98nxtf*)BEl3D!lEbVzBLoPO98{mi_*@S=!R zrC@U&k!1OURR{D@M6A{NCCsd*3SmkM%rgrRjHOyv8tpcfvPG9|R_gGjFWA00N?tba}`Gc z>J=9+R2Z!LnYSWUondsaIP|N>5V3~U9Ht?gXN=Mmri7s!2Km{p->9h~>{y!8(Jfcx z7HW`u<1MsoO%7X=^jf8d&mD<)1ZZn5(Jew$&V3V0Ye2OfB?Xw2nN-RkyQYRj(Pl|x*=2NV`T5OxZP zO@_HUWrZ$M=P690FBe-2NcdwoS4Pvw7CD7R!-Dy?YF$aSK7>%#MSy!6G3Dt+vF8DB z3UtFpvKT&1yX>^hdC}-E5pjgYHP@iJp2)GWtM8kSrbYmex)06~LHj_c+lsx)t1)r1 z`in{@>9ng5O=#L;Mg^Y0(yp(A9F6@Y9*tB*CNN4DJjHFh1EE=mnsQ=|N0Q~i%kbzx zFWa`!t83iuQLA6hc`3Ufmq;C<%B>q@aEC6fH~3CkDA-o19^NGaiw??!Gg`(jl?#&F zuuBG~%(CKpRjg+wrc*5SB>G+7*J3WHa^qOsMt;pBMO3#jq+mv$nPOU${AA$XkzSf-zfjcj?p0fx7!`!tIy2N_)0o+gUg?wWZWX~P*Wz7qGVLOcjS@m? zX;o0vN=2Cy9#pR~e6oWPn=r*zIZLX}X%c77bcAKc*t16|@hyaD1=AZ@&#!w?D^2_LTu5FZ2c24&@3`2=7ebRm>f-BrA1~)vh+H12(;_tPGv>0#HXawt&-#h z)lfiU4swELG$^>fA~K|bIPBI!^fr-2;1^e_T>Lh!7spGUjcaEk0zE?27u5;JNg1OS zi&nJ=N(P{-n-3WiNqn++(+$yo?Ui+#@F@G;GE{!Zn7eEgt*n5F(-lFKsnrTQ-6G1q zX!Y#bEUt$PPLaa6V40-Yu}HcsG!TnW86tGlro48H`Qgl*9QBmU`PRjp)rreU&$-89 zb;;|W6#1m4YDg-g*$sB5z{s&@kC8D26fOBACq8%_PKC?vwrAy#0=2tyMtD|2_R&{ejv^bS*oFZdQ zts_4J8of(bg*_8s&10a^O{r*r%pH|Bv9p>P?)bQZ)0ut3=Yz)|C|3=U4Ni?}NaVTN zVRFXaN7)7wg?Fb~ND34utSss1IwW=xM`xi3^>iY2W-dh_tF6^#)O{fHW41DD{+ zfNxaQ2*?wQX)=`Va5cKIl1Y)s`aZn~a>E)M9{^}byIyskBA8X(#2bf!%XderS;0n| zz1C^8)Qd8sNlUA3LQr5<*G{{`!MjBv6)J>dqewZdokdsrJ!YR)NFoEptIp*>>_+_~ zBIwd^hjh(2ynxf|nhzbSxjd%P!Rbk|D!b<9rEffgjPnueXu)POCYSSvSSoP4062>c z*!~q+*k|#d*T4;MBtgOCeA#vu!Z;3yhA;2<$N9oF>bf3yNf>$2e@hlFQI{@tmBJTd z$#X@NB<%GV_QJ!wmks{*l&wDHWN>`MZHCYN*N~q$aLKK%5}p!vMTDz8U0s!S4*yfi z?sYg);X%3O8}ZYTNq5ani?H^_;en%q1_ODQM&`0LpGW}Gh&v*zPIZjYjm7R)oB%n% zJeFHxRx86x2DT+a0ztKZnsy}`kY{<_v=FZfS3ni=x-OY}F7QGqYe(l^@>hvXi8#!i zSajBRr$JR65mIF+{R5xsmu9x6poD}ZUiM?@qC9mdftxqmb4r8yy`hLIQ(4>Kas6dj zDp8Mp{+p0U^Ae&_NSAq{KH6xkm(GXjnwR{!)3QMFBREigR*m5ll@%_hH?+W7v{-0zd}TtKlba}R&n9w1L1KMPZ#}rLRPH6y+?X9+nL{9z`Z|YLQ6(zR@M+i z-iAyM6S1HUkmnaaxm(CYe%`#e##g~>5bci6k@-x!#C8kK^5xfrlI3oyCr_0#E(b9v zkHbnp7e<0nyddiCyJX8_@|4JS4xjQ$ZV7~4;+w{hnZmXy`zBLTZrts}@uONp9Ya@T zt8y81${xH3E3(tSzR6ltadufBryyILBC(2|k83RY^CJMSvZ*HJ0>@NT=8TazIfdUx zk{=vr{v%BXMPB88k`=MB&QYK8OjrqCA(}$T;%~_U@N$A7{}^R3Dh{-KGb#o7@XO`* zo64h8J#*a91y#1Mtz2LlcQ*(nOSolRFvPz5SFAV6706rb|dyfAF zmdoo9cJf&$rss^VQ2^w*iXn=18OgDfx4g#iPuDBa-ZUgNAnPU}?`SHAuls^Qf`_^5 z;D$* zMMP|R6Ovv@gSvA^LK@ns0oIKrtf9(oT&`Zzc7XQ0x95l?n+*}7LfvR*(APwEuv}R> ziJNKvVq&HSrVN~-v0*^&77#X7S5}cJVD}j&_)NnEXTJBt8IArfzrFT@;A7))(4}8i^vBjyI2C19CTpZ0S`+X!hxq#OOkWqwAtv ze&`?LT%MJ-*pdCd4|e(xvTuSCYZ}ZaD*7)bu*{vD$woPl?qkwWCKg)G^(5uyZqb)VpDrvJpn8=&`YzL2BqfQy2U2Bmzf5`LOphU;@p-iq6Qgm4Dx zlr)gVaCYtk6~VmXWP=%BFr(_^*f?Doje^TCfcZ#@Vd|EU7FiN;H|G@@+y<9Ak~*tz z#)qp=cYL7V)v{r?W8Jr7k;WV*zZk?bn1t3O0u8$yGdYb7ws!qTZLpFY$NyQk5$<&E zodd^!MLc$ap+6sbnjV)3_MtbN$tVX#xm0xMsGy33;scD)+OCW(DsUmiWyRZ-n`idL z-Ap@Oi2)IV7?_XTG~}4aw!q02WVLRBVRJ!j#~B+n_Ty@Xr7kSxp`n$sP3{XcTt}jU z3yS`Q!lhGmYq`YRbzvrw8gh%vE-n49=~%RW!VBG@x#JCz4QO=AB`s0;0zI0E_X;CP z9u$4B|8TNJ$l3b8Ri4^M)1cRanyTQ%RdV_IYk~N~>~W~%ltrtq1k^{VuIcNwn3~dV z)5n2dxi7vxJl)zacHykzzdYi;mslVy59&0k3CV2w1#7(g3yfMW1J-Pd6CIsIEMk z1X!<&2Qp+>$8NOrX)eg8u(U5Klu*>T<%zc!xm4_@v+jR}ZU5Q~H&nbvQX&BF`+tGc+*cp`eiIuS?@H3J%yqoT1k zjIqCOi)p2_CiS4H%A{*cYJd_0Nnyj^7Xv;SSN#Izd#&_cXARnJ3}p$C)o#pJ&Mv68 z2m~7C9gEB&aL4@=D+vu(^VQRDj3dxZxpQ^`kalk8#F7+P63~A=@61>Fhj<`z@Qvic7gWjfSdQ47F5fEMJ{Ek@w%t}rs<_yp>iVsP zd^X2YLKSn>;$Dmkm;*dN@c{Ih*Qvpa1r%=|Sw)f^N+d~sDDj5I(_yEO`#*r?)hS^R z!vau%Gtm_U-}W9Grstg)_Xy4~)GAC^GE;B)T@S=HMi~h}ib%*(;3RqaSbLtX{6Em) zx5!BUJZuGBAGsdXEL4Gih$W3ev2eh@iDAF01{@Z!6BSL~t&oVYx&iZAeJ-W7XCORP zC^)m5V}!Ae#x%$wSMA&q-frJ-aHfi5;h>l?U6TTP<2`+zFQyt9e#cR|uh=3$nRVr0 zd^O__D&ApM;a@os6Q*-m))~3lai6z__GUvJ}nX_yJ z)7;t2*A8vn%lRx|Ug=5^bCOdhiawyAz5*gE#3xSaZQ$~rCJ>%*x8tyaYjj{$ zTC*j2U^pFOysnXvD?L*>q6KD5UJ}=zTwL|E`ZMi84bm5B)>upPG~sSP7|L+I0Az+3 z7|Sre03Hjjp{Ov&YvHk3LKBk%_UYK~+~dKgb4r8QiN52jXyQ4Mm{Nm7o1M;P(_r@N zxau$XIUAB69F6(96|U{UqkhBqwqWT}awkzyq-sm>q`g#4_1YT1QgsR>+BS)rrlh%e zT1qkfWgRJ3{t{{%*CCIRXirtf4!ZJ}qqtojs zndBhIrjH6cV2B9ejxncAGNYL-3@45lKt}~!JND&{f(*fqq%bhdOZiQC#YA687XC$! zR@a{ly-&JPJg099jhDJ-Q3I}*A9~RUqvoOnt=r0oC+S)Ks45X)YjiyvH1naDfqjFH zy{f#$Y_T-5HBYc~y3y*^o|Js+H_6$-dv#vlbpnA0Y%iM{>#@qvQX85u&f<{v914LY|7PvyQ>$f(oz|OKe?mIbRqNl5mqwQeviSO%Ps_0xxx>5`AZ<>7^4T7?Z&tt4@_|I6sBD1&#-6Wt$fk`#$M3~*rHN0c1=9&aVJG)c+%q)KmhR4{pi*ka_f^?^Rt?)XVBd=*hY?e zv~d94_^=-1!@1r(H~$ggv5sZBxHX)E=iQdTEm1xEm0g{UK^&*MZZGczwUNrN{-a8E zX-RU7;2A#$Df)<9D+s37myc+X_>872LJXfYxe3dYiad#T7{F%IShziaPn42o9#_$^ z&6XiT-I|;ZHq<5XM&uOt2k!B469Jo@b z-j|MS^eG*pp{3M_o}^}#KeA{}DOdmXO@Q3wgb{#i{!y%F7OyoV z!9g#a*?CQ2ZCypow@a#Y4CErRd(1S(v0kqNFF_u*ugXFaA$oSauN zQCT$OF){2b5hA#W&Mkg{7jM*MppgOyMS@0uEF0#+P*gGFiJk+BhQv&S4t%RAOng_)l$?L)V85(d0c z#H2{?DBl`16xD5Xfmtl=lCVdzJ88NV`BjJf5aW2UX6L#XCngDmG%Ye?|GOwt#~T2- z<|jmh^Bs=DVDj&E?koZ@6TEp-unLp zkb0c6asqr~6P64*3caesJ$T~Gb?Z8aodn#TJuLd@3TYqk^7UtbtkKblZ%9AktL>7{ z(j8mnvgcqdzcz<)ljv!-lmO!O#?g+wX$GyAYu3dpV<`orUemLk5x%c3$&=Nj-!1k> zk=Ow4sS=h}!i^eSgHYv{;FWEE0*t2v5|1j(p2ks4CLUkbH(5rrgABUNn)9BXFv<=x z4m&x$M0+L?=QPcmjtexjh`3g;b=I|;h|My|*rI~x=OE^1HhH#5zTphBTqYSVz8=Q4 z!GpKMElW(sJY3X^7z>$=gVfj+lv=S0?i%0g>sd~FPe!AstMtd)EHZCd;pbN=AGS&2 z+UK4e3cz@B3|=@CwQ4S$TSM4e5q_6X794b8mlx9*5VEkS5V^*@esW&Tu)AqNiY!*M zNY6~tVQ1E^??j(I5WA-fu7Y!lhFn07g-)PS6@Oyz;L2ks==Ip5bv}agt5{PTS=}t^ zl=z>TK2c{=);Ti8Ek%k}lNU{<+FsOS4|BZR8k17s-)_Z5i`JhCLa%<@qQR{RH&d1p z(u+FYy9m8yxXH;tL|6}K9tI35*Adkf6?T6&eIpUX9aLXD^luMMT6W@9alR1Q;X*#Q z%*rCC@IovM&FF~SfF~Q2h7a??j4IhqLz~Lbp+C%^LG^o~URcCB2{aMlglq#!j|tow z37ru!L0n)Kvp{&kz-ABy<~J?>>kbG(E)eHHxlj`cl8o-H0LF~ z)##bVNZ!<758SQ=!f#++K(ayKwzp!qa>a$e6~WjSa=~bl!vO2ox9c1rckN|phUz6> zh!bj-2yzubNP8%N*#~T7#89x}rLJNIF(#d~Q1`S-h<7Wo5~}l@uE!h2sL$p0*~__6 z8m8*yL{6KktMsD$zRE@;i&+)6tJl5TWc*hG6_p++`x!mr?s_XZe4I0Z$_^yQi-Qzx zEIslH{F#B=vzw7Uab;dM4%$g&VfCdzqQ4f^WLrBtF`h3)% zh-_9!xCYe~pI_Yy!g6f3^h1pnIXO_&xTPtMtG3&rNmdA>^azL-fzQ^A#@$qS6Geq9 zor3%B>`w{~>fQC8kb1MnO&tiHBdon~46 zTq_9IKTth>F>N*PgRTp6bO3^}x*^u1nHLs?P2fqyA7Tuky?q_lZ5RlWG~IR&-PEyo zs&BNC%Z)t^GGQ$Ww~=b$#Q*tfGn9X{k2ZFwE<*^}(l7Gsm&{8Vfy8GDMcoYfu22yk z=@ZdBA2q=iGhNH2M%QPH5t|v#zMWGkn~pY!6_*E^L886%)@RL8(8wcjV220Y29@El zlof!Teg|436w0G~>}(57UiJ)2BF`y$LFAz$8_B;q|78-);iAH(BSF|xhDY?qCcsa1 ztx~aR5)f*@PNnQ2`rvy|kY3Zzt`h;;K3+eHN3k*bA3Qyb#4E-ubZGl2?MoggB0K}o zF@Xhk69^m0!Ku9Y+japc?Lc!#W9nlu`5kjV&|N8L*-I&uDt>r{RwhpF0jzft$xw3j zw?ASzf3U0$qj^?4*<|PMFh?55F9-(ED)%Te9Of_~AR#^_mt^L<2WG}f9@APoBP&az zqQ?z@cL_ubyhl&9an!oC_8SdJ(Y`uXh^h#wf+ky&796J^cP`dc2rn5u46k5>rmT_0 zeqAaKN%}0mu`ltJH!$?QUCg1T{|hb>g&VcYhIsjR_jz~j^8wT4Wy2lT2ob_ivWz){ z1tk?L0C`wk7^!E7)EyiCXiA7jea-b5hA3v^du2xPbTuS0Z(Vt3+8mJ}Qb;Re(2VJWR86E#S~5;* z{f3M!1I4imc@ABR>7QmnH+`BCL1QANTc_38LRMR<8X^%m(av$0eoYR!_|ls)`(qD0 zJmyuiGWfvOr%hsu)yk>YqG-jrQaJkB8q^ke?HPPgHee!vBstcJ}WfD13&n zRkeypMdm~pW}<5_%^Mt36pa8}kg$$7Y2iRK;QS_Df$W$&;Cm)?srU>5>kYvvD-FO% zapxfg(t%iP=2F~aDp#$U1HcSzVp@N5Kt9GRHUo}g@#)m#DLR#&M@U3nq|&h^U^Yr( zbc~Tn+XVe1!2U#+v2pw^7US+D)3l&cx?^S=3J`S7s3TyY*knVo^@ zv$P7^GNzWk9KTNcj%qh*#o7p?*ZD9ujHwHRK)TpXF}L8F18BCRiJ*4bi)^+Ka49MO zE#>KBK0RaqrtX7VN)urnnWtwu@PW^TqdD}3WG*>*%8gC!S&1sz)tVH%%`*dGu4ggE z%(Ce?-o;Lb;sHS%W*u1KDe**uPwt^Q+KEopt{4{)YN==`bMW7>* zuXd~=wPNIeW^5`&{D^W@rH#S5ZsW?z069R$zb5X6oP6ul_bh=FEn04e#4I<{Y^>~K zFh>}*Jy2GYN$EizlVqwMIvUb=UJ(Gai^@lR21#tczhV?zpoTMTmquolp4%P(Zr-L@ zF}dI+j^8XQhc>OD8}D;Wp&I!#a`ek{67U{P{)9YxV}sX2S2H(>0NVW)wj@&1a{%&w z9?cucRlC|^@|$-|`a93m!T!U&}iV0I#r>fK8DU75w zZB7bXw0hnXaT5+2w+u^uC4cyxlG)mZu4Yx(K<}E-VDca~bC+$V4UId1t{26cT)!>$ ze~&WFhAC|~uj!hnM*v4BM2axefBBY)kw5@Xdq3z0?-?VfeT)@6#gU4Q!@Z+v5|A51 z(VUi2gt1(C#7LpMa0g=*^&PwJKVZ50L)igN;oSRIyf6red#~DPjpKl7@x?5MB)W4Z zr?D2PvYx!yH93kW4fPj{N5Lm)c?3li4nc8f(qW?!BQ@F>MgTQkmGL#VEFovU&UKXc zf2>Y_Ito6i4{dXiT31FsMctAAFs`*kv_<0ht9ThAgK|p4-JD= zipbv>nlDu)4|S`b>%-p45$&fz$wUtj)Vppprc}!s?UMTcFe7;Sy8h+8&eOUH8mQ&; z8NR9&BZ{7HF^?D@f!`>9gqP0m$3qVur0hM?Ps;Jo!0?lG-B?e;TcTGceZOtuOBGNF zr0;!9S}a4ttZa<|6Wtp^JfJUw5nZTd2L3uAlk(8h55YU8j!CHc`7HTyf(B-8O(W|tWyH~ID2~5%g8>uOc2}L^R3L;52-i)mKJcI!c2;}j|wYoGkh@+-($EFkfQjX zpY`U1TVFjNh8dbnt2&nhZ_kDFl=9Y1Z2B zx=H(73A_m}07OzTeqXB)bukU9`w@P)`wr^82?neqtjUeSSKZL>0o(gx!eJ=UIQBLM zdJ`Ik!E%;YL5mP0(_CYf&mfSwVFf{vF&DS=Uf!>eR|%5=dFS%`jz_HmjhD@t)@(>Sk z-cgJo){zvuS%3OrcrOSs2RWaELNeWsb28O~21HO6U<9+oD+;hTOwUeb`!zrgu`9p` zD*@>SM(f&w(J_C*W=}W{V<=0Xt=4!cF9!8`_}p&3D>6XtLXy>X)k1`9L^r`&!oZ1p zX_c=k9TU(ei=L+p8{$9Cg2UizU|#4t-vIET?Am_H{5jw+pLpWn6{nMY|INc*6D3Lj z>q}A=JLqBk)d!@!$tSbYk${SwZ*{q1VQp4%>Oq>s+wGsD=gn zlc63jEHRz=L4V3nTeaf8`AqRYrP&gG;oB_WVwhAt?a7PF|SR-6sh!hPq z7|>!9-{4rCGr)1$6y^IwG(qnMtWbh~&4`6m+&e-~AEWF@Idla~<*6_I#i0% zBIg9GDfdlwi5zApd%=%2wupN|Up$NtR2nFFUTu_X*f;Xz}N8!7EcwVQMNov;*GT0gV5d@#rFA;!}bTy!f7}OI#Vy%cB3BIa^^Y4somyoZ6|GFm#M1oG?V z{G2eTEs+>HCmX@p5S#~K24?WTq}TlwYq?aef}uBr088tyg&W@Gw#s%mT*YaF#qIX# zuoSnuYHaxHv(n#`IvZLa;+%QSxMJ9nbU>%MHIcokx-N_y4^M45H&?EY5PFT-UhN*y zTy=0qY4E5HBDhpJt_gyc6oWGzP3bfse)WA`B0l?xQ6_m|V)&Alnns+pnr?#=`*ZWi z>9knJcB9GIL0BI?tUP@C&V2MZM=4HnELi8lv~3f};aY(nkN`=2QPi!y+a(1n-Y_`zq%~K?#^%KiReAXqNW|+H0^x~#Q6p}NvrW6)P()3GF$XS&6VhCTowS#Azx=<;E5rFZM5Y94JBS`_; zn|&QTIK9h!#UCO$mQKx@&}>8J?2Lbi3`t&EY_TGNrlIHytUBfR{N#T= zaeG`=4d0K#3+cdbpY3Lh!tmw3px|IgxF|(JvTt&wa}kGacDoc08%q;GRoT2pUw!{P zLJ`3o;z2RZH{Wpg=4F{s^Tbf^TRgViIzcm)HOI8f5Ba9ne3cVp51yJ+ zZ|0nNHl9M=p*FtlMx;1lc8d^_g*Lsg=-O;nbseUMMT7{~x@}ZgMzbaH#)yNw#j29r z`3+niS^WHER|YR_ALtfOuL`8PZma?$BR3RRX^5nFougGrgTc0%Sy?~+*lsoZ2Hr8o zqeXqEs<+jdZsel;J+_^^Pt0h(b#CiHve5M1Aq3MQ+9^5#rHj4eh7@^(;)eKlO@;jCds zZHSv@Gdr)Lm^|^Al^?&(Dq||>eZ@dcBLwuMGAgKoGJX$^7PJWAa5$r!187>mJI>t6 zUxV1$jPEWGQ%STbp+A_16&3)a2Vd>j__F3IR%BQ(Q;Skw8o(L&`8$4J6zZ{0^&lso zSB^&Ax%q=HdPVoiep63|i)n?T(ff~l{}laN-PNa&sKVA~1e0SBGk2wvvjd!{eE+v3 ztTi~~Z1B)#=eQGa6hf2U`NOO6^%yZVJ;(n;pvUfX(TI|u`a~Pu0(1a|<0_@-X=&XB zTMmgC8j*>?BdT&7D5|{n<{j0UTt)B${=u0ai7kbObfGxLNs`g2CdR1sn<~KNw#I!P z(S%tAj)Fjv>~IZ{yDkR(5<_HPCqXl;__$^WwA(EhF(SWsoL4D!Ga4eY#i2SfYUod% z4v5xX)={yqkVlOY)?jB{ z7aIxFbeJHJ86~IQ-XHsgw3pt@_z_C;yg^D(8@u>GuqnF6>)ZW8Zr5T@%c#IsX9Q-( z8I~O_I3JG(g?GwmF@-}?8DgH+DcFQd$u2Qj|B*+XV*x-ABL#t>f9GKz_iz7h2T>SQ z*Vqa5f-N+r9JU8kkp5`dk#>_+ParrMU>MxQf!%0`bl!dBNc%&H1d-avB%hVErRVX! zgtjxLM91fM0C0DrM?G|)Nu&N757{+53D=V;b(CO&bnB#_rvQ&Wi3Y&Hqt}}!ZqWlW zScpa9n{Yq9Gi!DhD>GgxBc6u}7mYts7-LH>ob?1-2+smC^74#pY_3_!vm9R z2loSEg2$cTD1}~=qX~5W3VqDGz=AR?(r;OVcY$b2QAKGi{~{-#LC>M#`$_5O19ebj zyl6#`O^`*9HZ`&~wMpA*4dF18FTa+SQ7j+o9ti92_r!V4irfNWw9owXklKf0IlvO$ zG97dE_D{$tauI$fw&~MY<6%Dd&Qs#)j43i(v!M!Pl6|w2C!KW&7)IQK;~Rp}Lm_vq z5=Xj#Kd`+akxfd^lc`la9jl2lMm z>=r0F{R#UNo9>`C!5$uCiL6Y#n7Qr^b1DxAt#jdui&C zcd$P@GRoehNS#1$Ew(9{nr9{o?7d_}lI^&_fKUE8CQXc0MCUVO^S3iQY7HP8&I3_{ z&Vy2f(S!X^y1}6_Nn?s@Nw~|IFH^&u>Zk;+V{`)#fUv*7M0gHRL~ssU@xjp!1_S5= zJ`IBh&;wyX^dQ)91WuxV&~qY$0L!jor(GaDv_I8WIw5#r#S}hb;l`o5`HFZAhXjlU z#{vpB*G9uq;HW$n9;Mc!6e*nu;>XHevG)n#tltP4crg2ttq<*}J7%)&jp3Z-*|%d9 z&Ur!gHZCAgzOg7ulS1m?Xsvw?d2W=xqTLn)(@6zS_c+mM<3kX(C?8Q2D7=Fb$6&>& zuO11^%o&AQWyPwovW`+L2@q+uXJqUZo!cmk?TCx&6A`vW!ok>F|FL9zGp-lo@G?YA+ z2pquJtt=5JJgc-k{arIsnPh~^Mjlr|6;T#H5xXI%oPxpe&TQT8SnqUYmd$~1>`hj~ zd|YcBrwf~bOv6B*c!$ZWJ&r_m89M{grbEiE)2dPYF%LIbW-ye0A_C_QD?rGm<|aiL z2w>VjJLG8#W8d_IyE!xu+~w467`kW~tCj{tD9IASQmXw}@Fu~-5_-VO7QFmUbff{^ zGP2M~a{yVmm<~{7r_>B9~fquJ{&`DELvTM*| zMBfrQGJ}T*t|;oAv*3C@KDo8p@qs~CoZXE{^u607f?C`OXBGrdA-iT25mfQ&^FPBDV5=Z9|CA#ns zZC9r-7Sq`Rs>LYQUFkL!GJqGc!>sM>#5~7lygYZ}(|H1pq2LL%E|zH+1NWN%JNjYG zAET{C9=xa`;DcB%&DlGeWmG858AN7tcy1y zUk!xiQ>MoINFI!(T=wK$3Q$$ei{=&#zK1gVGSYLfbp`TqVi@lnp8Y$RUcBgFSMTCdqg zgvg%zt1{Zs4or31JF!0SBqUuzlNK)FVy`BO!bTJQj=%!6ry*Wm!crA7l1#QkS!X}F zacgg#*95h=#5}lUkv1Aggh+*x%|fP*d>feq%C!1VPJ0wDFAeh<-2vtI;fqyr8FboM zwbcVm@lL_L@e^bz+cKtd&moF1>MwJgQ3SOgD_4w*+wBF@6cKVT39A^oJ+(LyE5f%` zo*JJ|?mdYClQ%wnx5S?YVvszcz=&;!NAyppj;IL2%ngM6z~elPz(3CmfXTuSq0$?- zt?eHm-zb%bgll@0XLqynmw7onM_|I_Vc$`UQhmBdq67lMCBVpr z+~Zn0rNZNBg-h?KFGOHr|K8C5Y%xg2o5PI6WAiuB0z)vlEd2B0dHK2M;1Nf{`r_s= zkoq(UeaAnI9dRJ}7U)D};*wM7AsXT-qgZG0fn5Xb$aJV>jvWAL&;&yU@z*^lL~ss$ z`0_|`BJO~&o|oKmM{y=W$MDH)xZ7C7VLKhejV%se(FhyEjyU!{|DKZY{Aa}iFF6u; zxd3ahd;pR#BHg^O*iD^FV8|kk9Cn+2F#;HLe2Scyw?U}O3(`N-#%@iplxE_(2NzA& z==t{{k89NquUPQdwRBPB&$i&v|0ECkckH+Nm1wK9RA+$F!uvup+Jo_{Dy|I}tGeP% z6qzZ=n63>Cvp>^xh>OJ)SlkN){sZ`(`r6?=AF7PU*F`^7^TMBn?b?Hz0FiN3^15p8 zZ0c0p)Sb{+?3qxD)nzFcwEFE;?LWlpso9wJN%QZI^b^}R_w_hy%Z}lyXxOX6oqerv zdQ$+!3x`QW17aZLn^pPz|6OzxI=+w83rBHSU404;m;5Xy8-!O1h2&~A+)A)g;zPHJ z<&z24$rG;qO-mu=r89<+80hI}HnvYXyfn`hz^cu6Ti%<<3SuGgeEW!m+$tyvn&u-H zI*4tdj|llEiqy3^`ota=DG^j)+pXHwN+9)vryE3Hh@ z50`w^^714&qF1EY2Tq&5W8Eu8y^I1%r)j&kqz z{LfFW{BfjIMJ+p0+QFpom#Cu?@WhyH3!qy7ivgJ0Az^R4liTkDXyJoPCb7#PvRF8a zBs^u8T)_*ozwLVOYU*HiG&Mmvfj}=9GV~j0sm7Pr;8@!ivGpiFT+#5w(QClcf_UG& zCw+xNKHmdZHcJ1TBlClFO@*t%1=}VajDAp$$_>wkH$fYqZ!Q=Y$q4d6xB+E)3yW;+ zxWp(+MJRUg;LPH~&;R&A(-gFXGP1eE$4lWX}P4l;TEZJ6@+`r2t=} zcE;$_V2u`|W?P!p#xriXjsy-&Fz^n5G1URthCZkpAjF6sP-7YfTCfnNy7qlx+Dafv zJ0ZWBaG&*+g<$PVZld}qtR1VedbHfrf^X#?}r*GERg9!gzPQk>7RUA`BG(JkWg6o%e9^NLO$p= zh%LK}h`qS=(lY&Vm|Jz-4hho>Mpj!{VuH5Q9+EEVLP&r3IC+jTE1ka^;mq|8-@Vp9z>6Yzey8wMy31fyr$FDolpNc&`l7l!+GGgKfZaoe4{l5x0mO6cSG7Nb+2?^|fj2$g+KV;et1Amq895o&!3-S49s6 zk!bN9cLDSQdbiXuhE&n4FI8nAJhYfHCnZBfJn(x&y|WA2PIA|6oAe!?L0l!<^y7~u zH}J*?0W>LGd-tk&C>$tTMmW|OvL42Z;;rMomsTKAtebTd_VFAMQubI-9|jzIU*A?c zpdyl=YHAB%4K?O~#N9VuaO|QT3v`ngXAm&##`N$^QbudBl`nx8Aoa}p2l$f0>I$fE z1hJloaDNFWj3ubTJdun!eaoe9s)WZMYLT#`2u~R=mc<7tG@PwB8(}iKj>&^Whm

    Iz`o3;_UTSw)RvSAp;r0mvBw3=RWGE`z`;1BfvM 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

    $<5J=esju=e@ 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


    oB~o->1|ob;LW6>atv%P0o;` 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 literal 0 HcmV?d00001 diff --git a/打卷检验管理/U.dfm b/打卷检验管理/U.dfm new file mode 100644 index 0000000..d5244f9 --- /dev/null +++ b/打卷检验管理/U.dfm @@ -0,0 +1,202 @@ +object Form1: TForm1 + Left = 204 + Top = 180 + Width = 870 + Height = 500 + Caption = 'Form1' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + PixelsPerInch = 96 + TextHeight = 13 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 862 + Height = 30 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_RCInspection.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object ToolButton2: TToolButton + Left = 0 + Top = 0 + Caption = #20445#23384 + ImageIndex = 58 + end + object TBClose: TToolButton + Left = 59 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + end + end + object Panel1: TPanel + Left = 0 + Top = 30 + Width = 862 + Height = 41 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 25 + Top = 16 + Width = 52 + Height = 12 + Caption = #24067#21305#26465#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object APID: TEdit + Left = 80 + Top = 10 + Width = 138 + Height = 24 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 0 + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 71 + Width = 862 + Height = 392 + Align = alClient + TabOrder = 2 + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column1 + end + item + Kind = skSum + Column = Tv2CDQty + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = DataLink_RCInspection.TextSHuangSe + object tv2CDType: TcxGridDBColumn + Caption = #30133#28857#21517#31216 + DataBinding.FieldName = 'CDName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = DataLink_RCInspection.Default + Width = 144 + end + object tv2CDWZ: TcxGridDBColumn + Caption = #20301#32622#36215 + DataBinding.FieldName = 'CDBeg' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = DataLink_RCInspection.Default + Width = 96 + end + object v2Column2: TcxGridDBColumn + Caption = #20301#32622#27490 + DataBinding.FieldName = 'CDend' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Styles.Content = DataLink_RCInspection.Default + Width = 93 + end + object Tv2CDQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'CDQty' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = DataLink_RCInspection.Default + Width = 93 + end + object Tv2CDReason: TcxGridDBColumn + Caption = #21407#22240 + DataBinding.FieldName = 'CDReason' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 131 + end + object v2Column1: TcxGridDBColumn + DataBinding.FieldName = 'CDQty' + Visible = False + Width = 55 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object ADOTmp: TADOQuery + Connection = DataLink_RCInspection.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 336 + Top = 40 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_RCInspection.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 312 + Top = 200 + end + object ADOCmd: TADOQuery + Connection = DataLink_RCInspection.ADOLink + Parameters = <> + Left = 288 + Top = 40 + end + object DataSource1: TDataSource + DataSet = Order_MJ + Left = 528 + Top = 200 + end + object Order_MJ: TClientDataSet + Aggregates = <> + Params = <> + Left = 344 + Top = 200 + end +end diff --git a/打卷检验管理/U.pas b/打卷检验管理/U.pas new file mode 100644 index 0000000..8a7ec6b --- /dev/null +++ b/打卷检验管理/U.pas @@ -0,0 +1,48 @@ +unit U; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxTextEdit, DBClient, ADODB, + cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, + cxClasses, cxControls, cxGridCustomView, cxGrid, StdCtrls, ExtCtrls, + ComCtrls, ToolWin; + +type + TForm1 = class(TForm) + ToolBar1: TToolBar; + ToolButton2: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + Label1: TLabel; + APID: TEdit; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + tv2CDType: TcxGridDBColumn; + tv2CDWZ: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + Tv2CDQty: TcxGridDBColumn; + Tv2CDReason: TcxGridDBColumn; + v2Column1: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + ADOTmp: TADOQuery; + ADOQueryMain: TADOQuery; + ADOCmd: TADOQuery; + DataSource1: TDataSource; + Order_MJ: TClientDataSet; + private + { Private declarations } + public + { Public declarations } + end; + +var + Form1: TForm1; + +implementation + +{$R *.dfm} + +end. diff --git a/打卷检验管理/U_BanCpCkSaoM.dfm b/打卷检验管理/U_BanCpCkSaoM.dfm new file mode 100644 index 0000000..8ad197f --- /dev/null +++ b/打卷检验管理/U_BanCpCkSaoM.dfm @@ -0,0 +1,201 @@ +object frmBanCpCkSaoM: TfrmBanCpCkSaoM + Left = 241 + Top = 177 + Width = 870 + Height = 500 + Caption = #21322#25104#21697#20986#24211#25195#25551 + Color = clBtnFace + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 16 + object cxGrid2: TcxGrid + Left = 0 + Top = 81 + Width = 862 + Height = 382 + Align = alClient + TabOrder = 0 + object Tv1: TcxGridDBTableView + OnDblClick = Tv1DblClick + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column5 + end + item + Kind = skSum + Column = v2Column6 + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = DataLink_TradeManage.Default + object v1Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Width = 97 + end + object v2Column1: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 101 + end + object v2Column3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 78 + end + object v1Column3: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'GangNo' + HeaderAlignmentHorz = taCenter + Width = 58 + end + object v1Column5: TcxGridDBColumn + Caption = #26465#30721 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Width = 112 + end + object v1Column2: TcxGridDBColumn + Caption = #20986#24211#26102#38388 + DataBinding.FieldName = 'CRTime' + HeaderAlignmentHorz = taCenter + Width = 88 + end + object v2Column5: TcxGridDBColumn + Caption = #20986#24211#20844#26020#25968 + DataBinding.FieldName = 'KGQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 89 + end + object v2Column6: TcxGridDBColumn + Caption = #20986#24211#38271#24230 + DataBinding.FieldName = 'Qty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 99 + end + object v1Column6: TcxGridDBColumn + Caption = #38271#24230#21333#20301 + DataBinding.FieldName = 'QtyUnit' + HeaderAlignmentHorz = taCenter + Width = 60 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel1: TPanel + Left = 0 + Top = 0 + Width = 862 + Height = 81 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 1 + object Label1: TLabel + Left = 56 + Top = 40 + Width = 68 + Height = 16 + Caption = #25195#25551#20837#21475 + end + object XJID: TEdit + Left = 124 + Top = 37 + Width = 167 + Height = 24 + TabOrder = 0 + OnKeyPress = XJIDKeyPress + end + object Button1: TButton + Left = 309 + Top = 38 + Width = 75 + Height = 23 + Caption = #20986#24211 + TabOrder = 1 + OnClick = Button1Click + end + object Button2: TButton + Left = 413 + Top = 38 + Width = 75 + Height = 23 + Caption = #20851#38381 + TabOrder = 2 + OnClick = Button2Click + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 728 + Top = 136 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 760 + Top = 136 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 792 + Top = 136 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 944 + Top = 32 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 968 + Top = 40 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 984 + Top = 40 + end +end diff --git a/打卷检验管理/U_BanCpCkSaoM.pas b/打卷检验管理/U_BanCpCkSaoM.pas new file mode 100644 index 0000000..5605058 --- /dev/null +++ b/打卷检验管理/U_BanCpCkSaoM.pas @@ -0,0 +1,253 @@ +unit U_BanCpCkSaoM; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ExtCtrls, ADODB, DBClient, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid; + +type + TfrmBanCpCkSaoM = class(TForm) + cxGrid2: TcxGrid; + Tv1: TcxGridDBTableView; + v1Column1: TcxGridDBColumn; + v2Column1: TcxGridDBColumn; + v2Column3: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v2Column5: TcxGridDBColumn; + v2Column6: TcxGridDBColumn; + cxGrid2Level1: TcxGridLevel; + cxGridPopupMenu1: TcxGridPopupMenu; + CDS_Main: TClientDataSet; + DataSource1: TDataSource; + ADOQueryTemp: TADOQuery; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + Panel1: TPanel; + XJID: TEdit; + Label1: TLabel; + Button1: TButton; + v1Column5: TcxGridDBColumn; + Button2: TButton; + v1Column6: TcxGridDBColumn; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure XJIDKeyPress(Sender: TObject; var Key: Char); + procedure Button1Click(Sender: TObject); + procedure Tv1DblClick(Sender: TObject); + procedure Button2Click(Sender: TObject); + private + { Private declarations } + procedure InitGrid(); + public + { Public declarations } + end; + +var + frmBanCpCkSaoM: TfrmBanCpCkSaoM; + +implementation +uses +U_DataLink,U_Fun ; + +{$R *.dfm} + +procedure TfrmBanCpCkSaoM.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmBanCpCkSaoM.FormDestroy(Sender: TObject); +begin + frmBanCpCkSaoM:=nil; +end; +procedure TfrmBanCpCkSaoM.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('select A.*,B.OrderNo,B.MPRTCodeName,C.PRTColor,F.KCQty,F.KCKgQty,F.KCQtyUnit,KK.GangNo '); + sql.add('from CK_BanCP_CR A '); + Sql.add(' inner join JYOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); + Sql.add(' inner join WFB_MJJY D on A.MJId=D.MJId'); + sql.Add(' inner join JYOrder_Sub_AnPai KK on D.APID=KK.APID'); + sql.Add(' inner join CK_BanCP_KC F on A.CRID=F.CRID'); + sql.add('where 1<>1'); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmBanCpCkSaoM.FormShow(Sender: TObject); +begin + ReadCxGrid('Ʒ',Tv1,'Ʒֿ'); + InitGrid(); +end; + +procedure TfrmBanCpCkSaoM.XJIDKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.* '); + sql.add('from CK_BanCP_CR A '); + sql.add('where A.MJID='''+Trim(XJID.Text)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + Application.MessageBox('','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,B.OrderNo,B.MPRTCodeName,C.PRTColor,F.KCQty,F.KCKgQty,F.KCQtyUnit,KK.GangNo '); + sql.add('from CK_BanCP_CR A '); + Sql.add(' inner join JYOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); + Sql.add(' inner join WFB_MJJY D on A.MJId=D.MJId'); + sql.Add(' inner join JYOrder_Sub_AnPai KK on D.APID=KK.APID'); + sql.Add(' inner join CK_BanCP_KC F on A.CRID=F.CRID'); + sql.add('where A.MJID='''+Trim(XJID.Text)+''''); + sql.Add(' and KCQty>0 and A.CRType='''' '); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + if CDS_Main.Locate('MJID',Trim(ADOQueryTemp.fieldbyname('MJID').AsString),[])=True then + begin + Application.MessageBox('Ѿɨٴɨ裡','ʾ',0); + Exit; + end; + with CDS_Main do + begin + Append; + FieldByName('OrderNo').Value:=ADOQueryTemp.fieldbyname('OrderNo').Value; + FieldByName('MPRTCodeName').Value:=ADOQueryTemp.fieldbyname('MPRTCodeName').Value; + FieldByName('PRTColor').Value:=ADOQueryTemp.fieldbyname('PRTColor').Value; + FieldByName('GangNo').Value:=ADOQueryTemp.fieldbyname('GangNo').Value; + FieldByName('CRID').Value:=ADOQueryTemp.fieldbyname('CRID').Value; + FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryCmd); + FieldByName('KGQty').Value:=ADOQueryTemp.fieldbyname('kCKGQty').Value; + FieldByName('Qty').Value:=ADOQueryTemp.fieldbyname('KCQty').Value; + FieldByName('QtyUnit').Value:=ADOQueryTemp.fieldbyname('KCQtyUnit').Value; + FieldByName('MJID').Value:=ADOQueryTemp.fieldbyname('MJID').Value; + FieldByName('APID').Value:=ADOQueryTemp.fieldbyname('APID').Value; + Post; + end; + end else + begin + Application.MessageBox('˾Ѿ⣬ٴγ⣡','ʾ',0); + Exit; + end; + XJID.Text:=''; + end; +end; + +procedure TfrmBanCpCkSaoM.Button1Click(Sender: TObject); +var + maxno:string; +begin + if CDS_Main.IsEmpty then Exit; + XJID.SetFocus; + if Application.MessageBox('ȷҪִд˲','ʾ',32+4)<>IDYES then Exit; + try + ADOQueryCmd.Connection.BeginTrans; + with CDS_Main do + begin + First; + while not Eof do + begin + if GetLSNo(ADOQueryCmd,maxno,'ZC','CK_BanCp_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update CK_BanCp_CR Set NowOutFlag=1 where MJID='''+Trim(CDS_Main.fieldbyname('MJID').AsString)+''''); + SQL.Add(' and CRType='''' '); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCp_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('BCID').Value:=Trim(maxno); + FieldByName('CRID').Value:=CDS_Main.fieldbyname('CRID').Value; + FieldByName('CRTime').Value:=CDS_Main.fieldbyname('CRTime').Value; + FieldByName('KGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('MJID').Value:=CDS_Main.fieldbyname('MJID').Value; + FieldByName('APID').Value:=CDS_Main.fieldbyname('APID').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update CK_BanCp_KC set KCKgQty=0,KCQty=0 where CRID='+CDS_Main.fieldbyname('CRID').AsString); + ExecSQL; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + InitGrid(); + Application.MessageBox('ɹ','ʾ',0); + Exit; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmBanCpCkSaoM.Tv1DblClick(Sender: TObject); +begin + if CDS_Main.IsEmpty then Exit; + CDS_Main.Delete; +end; + +procedure TfrmBanCpCkSaoM.Button2Click(Sender: TObject); +begin + Close; + WriteCxGrid('Ʒ',Tv1,'Ʒֿ'); +end; + +end. diff --git a/打卷检验管理/U_BanCpHCSaoM.dfm b/打卷检验管理/U_BanCpHCSaoM.dfm new file mode 100644 index 0000000..2f75146 --- /dev/null +++ b/打卷检验管理/U_BanCpHCSaoM.dfm @@ -0,0 +1,212 @@ +object frmBanCpHCSaoM: TfrmBanCpHCSaoM + Left = 241 + Top = 177 + Width = 905 + Height = 504 + Caption = #21322#25104#21697#22238#20179#25195#25551 + Color = clBtnFace + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 16 + object cxGrid2: TcxGrid + Left = 0 + Top = 81 + Width = 897 + Height = 386 + Align = alClient + TabOrder = 0 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column5 + end + item + Kind = skSum + Column = v2Column6 + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = cxStyle1 + object v1Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 77 + end + object v2Column1: TcxGridDBColumn + Caption = #20135#21697#20195#21495 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 112 + end + object v2Column3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 77 + end + object v1Column3: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'MPRTMF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 58 + end + object v1Column4: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'MPRTKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 57 + end + object v1Column5: TcxGridDBColumn + Caption = #26465#30721 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 123 + end + object v1Column2: TcxGridDBColumn + Caption = #22238#20179#26102#38388 + DataBinding.FieldName = 'CRTime' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 88 + end + object v2Column5: TcxGridDBColumn + Caption = #22238#20179#20844#26020#25968 + DataBinding.FieldName = 'KGQty' + HeaderAlignmentHorz = taCenter + Width = 100 + end + object v2Column6: TcxGridDBColumn + Caption = #22238#20179#38271#24230 + DataBinding.FieldName = 'Qty' + HeaderAlignmentHorz = taCenter + Width = 85 + end + object v1Column6: TcxGridDBColumn + Caption = #38271#24230#21333#20301 + DataBinding.FieldName = 'QtyUnit' + Options.Focusing = False + Width = 74 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel1: TPanel + Left = 0 + Top = 0 + Width = 897 + Height = 81 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 1 + object Label1: TLabel + Left = 56 + Top = 40 + Width = 68 + Height = 16 + Caption = #25195#25551#20837#21475 + end + object XJID: TEdit + Left = 124 + Top = 37 + Width = 167 + Height = 24 + TabOrder = 0 + OnKeyPress = XJIDKeyPress + end + object Button1: TButton + Left = 309 + Top = 38 + Width = 75 + Height = 23 + Caption = #22238#20179 + TabOrder = 1 + OnClick = Button1Click + end + object Button2: TButton + Left = 421 + Top = 38 + Width = 75 + Height = 23 + Caption = #20851#38381 + TabOrder = 2 + OnClick = Button2Click + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 728 + Top = 136 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 760 + Top = 136 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 792 + Top = 136 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 944 + Top = 32 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 968 + Top = 40 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 984 + Top = 40 + end + object cxStyleRepository1: TcxStyleRepository + object cxStyle1: TcxStyle + end + end +end diff --git a/打卷检验管理/U_BanCpHCSaoM.pas b/打卷检验管理/U_BanCpHCSaoM.pas new file mode 100644 index 0000000..a45dcc6 --- /dev/null +++ b/打卷检验管理/U_BanCpHCSaoM.pas @@ -0,0 +1,264 @@ +unit U_BanCpHCSaoM; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ExtCtrls, ADODB, DBClient, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid; + +type + TfrmBanCpHCSaoM = class(TForm) + cxGrid2: TcxGrid; + Tv1: TcxGridDBTableView; + v1Column1: TcxGridDBColumn; + v2Column1: TcxGridDBColumn; + v2Column3: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v2Column5: TcxGridDBColumn; + v2Column6: TcxGridDBColumn; + cxGrid2Level1: TcxGridLevel; + cxGridPopupMenu1: TcxGridPopupMenu; + CDS_Main: TClientDataSet; + DataSource1: TDataSource; + ADOQueryTemp: TADOQuery; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + Panel1: TPanel; + XJID: TEdit; + Label1: TLabel; + Button1: TButton; + v1Column5: TcxGridDBColumn; + Button2: TButton; + v1Column6: TcxGridDBColumn; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure XJIDKeyPress(Sender: TObject; var Key: Char); + procedure Button1Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + private + { Private declarations } + procedure InitGrid(); + public + { Public declarations } + end; + +var + frmBanCpHCSaoM: TfrmBanCpHCSaoM; + +implementation +uses +U_DataLink,U_Fun ; + +{$R *.dfm} + +procedure TfrmBanCpHCSaoM.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmBanCpHCSaoM.FormDestroy(Sender: TObject); +begin + frmBanCpHCSaoM:=nil; +end; +procedure TfrmBanCpHCSaoM.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('select A.*,B.OrderNo,B.MPRTCodeName,C.PRTColor,B.MPRTMF,B.MPRTKZ '); + sql.add('from CK_BanCP_CR A '); + Sql.add(' inner join JYOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); + sql.add('where 1<>1'); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmBanCpHCSaoM.FormShow(Sender: TObject); +begin + ReadCxGrid('Ʒز',Tv1,'Ʒֿ'); + InitGrid(); +end; + +procedure TfrmBanCpHCSaoM.XJIDKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.* '); + sql.add('from CK_BanCP_CR A '); + sql.add('where A.MJID='''+Trim(XJID.Text)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + Application.MessageBox('','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,B.OrderNo,B.MPRTCodeName,C.PRTColor,B.MPRTMF,B.MPRTKZ,F.KCQty,F.KCKgQty '); + sql.add('from CK_BanCP_CR A '); + Sql.add(' inner join JYOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); + sql.Add(' inner join CK_BanCP_KC F on A.CRID=F.CRID'); + sql.add('where A.MJID='''+Trim(XJID.Text)+''''); + sql.Add(' and KCQty=0 and A.CRType='''' '); + Open; + end; + if ADOQueryTemp.IsEmpty=false then + begin + if CDS_Main.Locate('MJID',Trim(ADOQueryTemp.fieldbyname('MJID').AsString),[])=True then + begin + Application.MessageBox('Ѿɨٴɨ裡','ʾ',0); + Exit; + end; + with CDS_Main do + begin + Append; + FieldByName('OrderNo').Value:=ADOQueryTemp.fieldbyname('OrderNo').Value; + FieldByName('MPRTCodeName').Value:=ADOQueryTemp.fieldbyname('MPRTCodeName').Value; + FieldByName('PRTColor').Value:=ADOQueryTemp.fieldbyname('PRTColor').Value; + FieldByName('MPRTMF').Value:=ADOQueryTemp.fieldbyname('MPRTMF').Value; + FieldByName('MPRTKZ').Value:=ADOQueryTemp.fieldbyname('MPRTKZ').Value; + FieldByName('CRID').Value:=ADOQueryTemp.fieldbyname('CRID').Value; + FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryCmd); + FieldByName('KGQty').Value:=ADOQueryTemp.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=ADOQueryTemp.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=ADOQueryTemp.fieldbyname('QtyUnit').Value; + FieldByName('MainID').Value:=ADOQueryTemp.fieldbyname('MainID').Value; + FieldByName('SubID').Value:=ADOQueryTemp.fieldbyname('SubID').Value; + FieldByName('APID').Value:=ADOQueryTemp.fieldbyname('APID').Value; + FieldByName('CPType').Value:=ADOQueryTemp.fieldbyname('CPType').Value; + FieldByName('MJID').Value:=ADOQueryTemp.fieldbyname('MJID').Value; + Post; + end; + end else + begin + Application.MessageBox('˾ڲֿУز֣','ʾ',0); + Exit; + end; + XJID.Text:=''; + end; +end; + +procedure TfrmBanCpHCSaoM.Button1Click(Sender: TObject); +var + maxno:string; +begin + if CDS_Main.IsEmpty then Exit; + if CDS_Main.Locate('KgQty',0,[]) then + begin + Application.MessageBox('زֹΪ0','ʾ',0); + Exit; + end; + if CDS_Main.Locate('Qty',0,[]) then + begin + Application.MessageBox('زֳȲΪ0','ʾ',0); + Exit; + end; + if CDS_Main.Locate('KgQty',null,[]) then + begin + Application.MessageBox('زֹΪգ','ʾ',0); + Exit; + end; + if CDS_Main.Locate('Qty',null,[]) then + begin + Application.MessageBox('زֳȲΪգ','ʾ',0); + Exit; + end; + XJID.SetFocus; + if Application.MessageBox('ȷҪִд˲','ʾ',32+4)<>IDYES then Exit; + try + ADOQueryCmd.Connection.BeginTrans; + with CDS_Main do + begin + First; + while not Eof do + begin + if GetLSNo(ADOQueryCmd,maxno,'HC','CK_BanCp_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCp_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('BCID').Value:=Trim(maxno); + FieldByName('CRID').Value:=CDS_Main.fieldbyname('CRID').Value; + FieldByName('CRTime').Value:=CDS_Main.fieldbyname('CRTime').Value; + FieldByName('KGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('MainID').Value:=CDS_Main.fieldbyname('MainID').Value; + FieldByName('SubID').Value:=CDS_Main.fieldbyname('SubID').Value; + FieldByName('APID').Value:=CDS_Main.fieldbyname('APID').Value; + FieldByName('MJID').Value:=CDS_Main.fieldbyname('MJID').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:='ز'; + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update CK_BanCp_KC set KCKgQty='+cds_main.fieldbyname('KgQty').AsString); + SQL.Add(',KCQty='+cds_main.fieldbyname('Qty').AsString); + sql.Add(' where CRID='+CDS_Main.fieldbyname('CRID').AsString); + ExecSQL; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + InitGrid(); + Application.MessageBox('زֳɹ','ʾ',0); + Exit; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ز쳣','ʾ',0); + end; +end; + +procedure TfrmBanCpHCSaoM.Button2Click(Sender: TObject); +begin + Close; + WriteCxGrid('Ʒز',Tv1,'Ʒֿ'); +end; + +end. diff --git a/打卷检验管理/U_BangAdd.dfm b/打卷检验管理/U_BangAdd.dfm new file mode 100644 index 0000000..02e9c95 --- /dev/null +++ b/打卷检验管理/U_BangAdd.dfm @@ -0,0 +1,255 @@ +object frmBangAdd: TfrmBangAdd + Left = 232 + Top = 185 + Width = 703 + Height = 396 + Caption = #26816#39564#31216#37325 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object Label1: TLabel + Left = 193 + Top = 79 + Width = 52 + Height = 12 + Caption = #25195#25551#20837#21475 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 392 + Top = 77 + Width = 9 + Height = 16 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label3: TLabel + Left = 193 + Top = 115 + Width = 54 + Height = 12 + Caption = #31216' '#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 387 + Top = 115 + Width = 15 + Height = 14 + Caption = #30917 + Font.Charset = GB2312_CHARSET + Font.Color = clBlack + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 193 + Top = 147 + Width = 54 + Height = 12 + Caption = #32440' '#31649 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 387 + Top = 147 + Width = 15 + Height = 14 + Caption = #30917 + Font.Charset = GB2312_CHARSET + Font.Color = clBlack + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 193 + Top = 179 + Width = 54 + Height = 12 + Caption = #33014' '#24102 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 387 + Top = 179 + Width = 15 + Height = 14 + Caption = #30917 + Font.Charset = GB2312_CHARSET + Font.Color = clBlack + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object MJID: TEdit + Left = 248 + Top = 73 + Width = 138 + Height = 24 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 0 + OnKeyPress = MJIDKeyPress + end + object Button1: TButton + Left = 193 + Top = 232 + Width = 57 + Height = 25 + Caption = #30830#23450 + TabOrder = 1 + OnClick = Button1Click + OnKeyPress = Button1KeyPress + end + object Button2: TButton + Left = 343 + Top = 232 + Width = 60 + Height = 25 + Caption = #36864#20986 + TabOrder = 2 + OnClick = Button2Click + end + object Edit1: TEdit + Left = 248 + Top = 109 + Width = 136 + Height = 24 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 3 + OnKeyPress = MJIDKeyPress + end + object CheckBox1: TCheckBox + Left = 248 + Top = 44 + Width = 97 + Height = 17 + Caption = #33258#21160#35835#21462 + Checked = True + State = cbChecked + TabOrder = 4 + OnClick = CheckBox1Click + end + object Edit2: TEdit + Left = 248 + Top = 141 + Width = 136 + Height = 24 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 5 + OnKeyPress = MJIDKeyPress + end + object Edit3: TEdit + Left = 248 + Top = 173 + Width = 136 + Height = 24 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 6 + OnKeyPress = MJIDKeyPress + end + object ADOCmd: TADOQuery + Connection = DataLink_RCInspection.ADOLink + Parameters = <> + Left = 608 + Top = 144 + end + object ADOTmp: TADOQuery + Connection = DataLink_RCInspection.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 608 + Top = 200 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 560 + Top = 200 + ReportData = {} + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 536 + Top = 144 + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_RCInspection.ADOLink + Parameters = <> + Left = 512 + Top = 184 + end +end diff --git a/打卷检验管理/U_BangAdd.pas b/打卷检验管理/U_BangAdd.pas new file mode 100644 index 0000000..d6c043b --- /dev/null +++ b/打卷检验管理/U_BangAdd.pas @@ -0,0 +1,308 @@ +unit U_BangAdd; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, DB, ADODB,OleCtrls, RM_Dataset, RM_System, RM_Common, + RM_Class, RM_GridReport; + function CommOpen(fhandle:hwnd;sCommName:PAnsiChar; + IntTime:integer;IsMessage:integer):integer;stdcall;external 'ELERS323C.DLL'; + function CommClose(sCommName:PAnsiChar):integer;stdcall;external 'ELERS323C.DLL'; + +type + TfrmBangAdd = class(TForm) + Label1: TLabel; + MJID: TEdit; + Label2: TLabel; + Button1: TButton; + Button2: TButton; + Edit1: TEdit; + ADOCmd: TADOQuery; + ADOTmp: TADOQuery; + Label3: TLabel; + Label4: TLabel; + CheckBox1: TCheckBox; + RM2: TRMGridReport; + RMDB_Main: TRMDBDataSet; + ADOQueryPrint: TADOQuery; + Label5: TLabel; + Label6: TLabel; + Edit2: TEdit; + Label7: TLabel; + Label8: TLabel; + Edit3: TEdit; + procedure MJIDKeyPress(Sender: TObject; var Key: Char); + procedure FormDestroy(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormShow(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure Button1KeyPress(Sender: TObject; var Key: Char); + private + { Private declarations } + procedure On1201(Var Message:Tmessage);Message 1201; + procedure PrintData(); + public + { Public declarations } + end; + +var + frmBangAdd: TfrmBangAdd; + +implementation + +{$R *.dfm} +procedure TfrmBangAdd.On1201(Var Message:Tmessage); +var + i1,i2:integer; + unitname:string; + fdata:double; +begin + i1:=message.WParam; + i2:=message.LParam; + + Edit1.Text:= floattostr(i1 *i2 /100000 ); +end; + +procedure TfrmBangAdd.MJIDKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_MJJY where MJID='''+Trim(MJID.Text)+''''); + Open; + end; + if ADOTmp.IsEmpty=False then + begin + Label2.Visible:=True; + Label2.Caption:=Trim(ADOTmp.fieldbyname('MJID').AsString); + end else + begin + MJID.Text:=''; + Label2.Visible:=False; + Label2.Caption:=''; + Application.MessageBox('!','ʾ',0); + Exit; + end; + MJID.Text:=''; + Button1.SetFocus; + end; +end; + +procedure TfrmBangAdd.FormDestroy(Sender: TObject); +begin + frmBangAdd:=nil; +end; + +procedure TfrmBangAdd.Button1Click(Sender: TObject); +var + FZG,FJD:string; + FFreal,FMJMaoZ:Double; +begin + if Label2.Caption='' then + begin + Application.MessageBox('δɨ!','ʾ',0); + Exit; + end; + if Trim(Edit1.Text)='' then + begin + Application.MessageBox('Ϊ!','ʾ',0); + Exit; + end; + with ADOTmp do + begin + Close; + sql.Clear; + SQL.Add('select * from WFB_MJJY where MJID='''+Trim(Label2.Caption)+''''); + Open; + end; + if ADOTmp.FieldByName('MJMaoZ').AsFloat>0 then + begin + if Application.MessageBox('ѳأȷҪ³','ʾ',32+4)<>IDYES then Exit; + end; + if Trim(Edit2.Text)<>'' then + begin + if TryStrToFloat(Edit2.Text,FFreal)=False then + begin + Application.MessageBox('Ƿ!','ʾ',0); + Exit; + end else + begin + FZG:=Edit2.Text; + end; + end else + begin + FZG:='0'; + end; + if Trim(Edit3.Text)<>'' then + begin + if TryStrToFloat(Edit3.Text,FFreal)=False then + begin + Application.MessageBox('Ƿ!','ʾ',0); + Exit; + end else + begin + FJD:=Edit3.Text; + end; + end else + begin + FJD:='0'; + end; + FMJMaoZ:=StrToFloat(Edit1.Text)-StrToFloat(FZG); + try + ADOCmd.Connection.BeginTrans; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set MJMaoZ='+Trim(Floattostr(FMJMaoZ))); + sql.add(',MJQty1='+Trim(Edit1.Text)); + sql.add(',MJQty2='+Trim(FZG)); + sql.add(',MJQty3='+Trim(FJD)); + SQL.Add(' where MJID='''+Trim(Label2.Caption)+''''); + ExecSQL; + end; + ADOCmd.Connection.CommitTrans; + PrintData(); + Label2.Caption:=''; + Label2.Visible:=False; + MJID.SetFocus; + //Application.MessageBox('ɹ!','ʾ',0); + except + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧ!','ʾ',0); + end; +end; +procedure TfrmBangAdd.PrintData(); +var + fPrintFile,LabInt,LabName:String; +begin + with ADOTmp do + begin + Close; + SQL.Clear; + sql.Add(' select C.SLbInt,C.SLbName from WFB_MJJY A'); + sql.Add(' inner join JYOrder_Sub_AnPai B on A.APID=B.APID'); + sql.Add(' inner join JYOrder_Sub C on B.SubId=C.SubId'); + sql.Add(' where A.MJID='''+Trim(Label2.Caption)+''''); + Open; + end; + if ADOTmp.IsEmpty=False then + begin + LabInt:=ADOTmp.fieldbyname('SLbInt').AsString; + LabName:=ADOTmp.fieldbyname('SLbName').AsString; + end ; + if Trim(LabName)='' then + begin + Application.MessageBox('ǩδã','ʾ',0); + Exit; + end; + { try + frmLabelPrint:=TfrmLabelPrint.Create(Application); + with frmLabelPrint do + begin + fLabelId:=LabInt; + FFCDFlag:=Trim(CDFlag); + fKeyNo:=Trim(FXJID); + fIsPreviewPrint:=True; + frmLabelPrint.Button1.Click; + // if ShowModal=1 then + //begin + + // end; + end; + finally + frmLabelPrint.Free; + end; } + with ADOQueryPrint do + begin + Close; + sql.Clear; + SQL.Add('select D.OrderNo,C.PRTColor,C.PRTKZ,C.PRTType,D.OrdDefStr2,D.OrdDefStr3,D.OrdDefStr7,B.AOrdDefNote30,A.MJXH,B.GangNo'); + SQL.Add(',C.PRTMF,C.SOrddefstr3,C.SOrddefstr5,D.DlyDate,D.DLyPlace,A.MJMaoZ,B.AOrdDefNote31,C.SOrddefstr4,'); + SQL.Add('ColorEngName=(select top 1 Note from KH_Zdy E where E.ZdyName=C.PRTColor and E.Type=''OrdColor'' ),'); + {SQL.Add('MJBang=Cast((A.MJMaoZ*2.2046) as decimal(18,2)),'); + SQL.Add('MJMaoZBang=Cast(((A.MJQty1+A.MJQty3)*2.2046) as decimal(18,2)),'); + SQL.Add('MAQty=Cast((A.MJMaoZ*100*1000/(A.MJSJKZ*(A.MJFK*2.54))*0.9144) as decimal(18,2) ),'); + SQL.Add('MQty=Cast((A.MJMaoZ*100*1000/(A.MJSJKZ*(A.MJFK*2.54))) as decimal(18,2) ),'); + SQL.Add('MaoZ=A.MJQty1+A.MJQty3,'); + SQL.Add('JingZ=A.MJQty1-A.MJQty2'); } + SQL.Add('MJBang=A.MJMaoZ,'); + SQL.Add('MJMaoZBang=A.MJQty1+A.MJQty3,'); + SQL.Add('MAQty=Cast((A.MJMaoZ*0.4536*100*1000/(A.MJSJKZ*(A.MJFK*2.54))*0.9144) as decimal(18,2) ),'); + SQL.Add('MQty=Cast((A.MJMaoZ*0.4536*100*1000/(A.MJSJKZ*(A.MJFK*2.54))) as decimal(18,2) ),'); + SQL.Add('MaoZ=Cast((A.MJQty1+A.MJQty3)*0.4536 as decimal(18,2)),'); + SQL.Add('JingZ=Cast((A.MJQty1-A.MJQty2)*0.4536 as decimal(18,2))'); + SQL.Add('from WFB_MJJY A inner join JYOrder_Sub_AnPai B on A.APID=B.APID'); + SQL.Add('inner join JYOrder_Sub C on B.SubId=C.SubId'); + SQL.Add('inner join JYOrder_Main D on C.MainId=D.Mainid'); + SQL.Add('where A.MJID='''+Trim(Label2.Caption)+''''); + Open; + end; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\'+Trim(LabName)+'.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + //RM2.ShowReport; + Rm2.PrintReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\'+Trim(LabName)+'.rmf'),'ʾ',0); + end; + +end; + +procedure TfrmBangAdd.Button2Click(Sender: TObject); +begin + Close; +end; + +procedure TfrmBangAdd.FormClose(Sender: TObject; var Action: TCloseAction); +begin + Action:=caFree; + if CheckBox1.Checked=False then + CommClose(pchar('com1')); +end; + +procedure TfrmBangAdd.FormShow(Sender: TObject); +begin + if CommOpen(frmBangAdd.Handle,pchar('com1'),500,1)<1 then + begin + showmessage('ڴʧ!'); + end + else + begin + end; +end; + +procedure TfrmBangAdd.CheckBox1Click(Sender: TObject); +begin + if CheckBox1.Checked=True then + begin + if CommOpen(frmBangAdd.Handle,pchar('com1'),500,1)<1 then + begin + showmessage('ڴʧ!'); + end + else + begin + end; + end else + begin + CommClose(pchar('com1')); + end; +end; + +procedure TfrmBangAdd.Button1KeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + Button1.Click; + end; +end; + +end. diff --git a/打卷检验管理/U_BefChkHX.dfm b/打卷检验管理/U_BefChkHX.dfm new file mode 100644 index 0000000..5c8dd00 --- /dev/null +++ b/打卷检验管理/U_BefChkHX.dfm @@ -0,0 +1,335 @@ +object frmBefChkHX: TfrmBefChkHX + Left = 213 + Top = 134 + Width = 870 + Height = 534 + Caption = #26816#21069#22238#20462 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 854 + Height = 73 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 0 + object orderno: TLabel + Left = 48 + Top = 24 + Width = 63 + Height = 16 + Caption = 'orderno' + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object PRTColor: TLabel + Left = 168 + Top = 24 + Width = 72 + Height = 16 + Caption = 'PRTColor' + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object FirstName: TLabel + Left = 296 + Top = 24 + Width = 81 + Height = 16 + Caption = 'FirstName' + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object PBFactory: TLabel + Left = 464 + Top = 24 + Width = 81 + Height = 16 + Caption = 'PBFactory' + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 0 + Width = 854 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 1 + object ToolButton2: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton3Click + end + object ToolButton4: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 111 + OnClick = ToolButton4Click + end + object ToolButton5: TToolButton + Left = 189 + Top = 0 + Caption = #25171#21360 + ImageIndex = 12 + OnClick = ToolButton5Click + end + object ToolButton1: TToolButton + Left = 248 + Top = 0 + Caption = #20851#38381 + ImageIndex = 55 + OnClick = ToolButton1Click + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 105 + Width = 854 + Height = 390 + Align = alClient + TabOrder = 2 + object TV2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + Column = V2Column1 + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = V2Column1 + end + item + Kind = skSum + Column = V2Column7 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object V2Column2: TcxGridDBColumn + Tag = 2 + Caption = #22238#20462#26102#38388 + DataBinding.FieldName = 'HXDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 96 + end + object V2Column8: TcxGridDBColumn + Tag = 2 + Caption = #26579#21378 + DataBinding.FieldName = 'HXFactory' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 84 + end + object V2Column7: TcxGridDBColumn + Tag = 2 + Caption = #21305#25968#37327 + DataBinding.FieldName = 'HXPS' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Width = 50 + end + object V2Column1: TcxGridDBColumn + Tag = 2 + Caption = #25968#37327 + DataBinding.FieldName = 'HXQty' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.FonePurple + Width = 69 + end + object V2Column9: TcxGridDBColumn + Tag = 2 + Caption = #32568#21495 + DataBinding.FieldName = 'GangNo' + HeaderAlignmentHorz = taCenter + Width = 71 + end + object V2Column5: TcxGridDBColumn + Tag = 2 + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'HXUnit' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.DropDownListStyle = lsFixedList + Properties.Items.Strings = ( + 'M' + 'Kg') + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 74 + end + object V2Column6: TcxGridDBColumn + Tag = 2 + Caption = #22791#27880 + DataBinding.FieldName = 'HXNote' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Width = 123 + end + object V2Column4: TcxGridDBColumn + Tag = 2 + Caption = #31867#22411 + DataBinding.FieldName = 'HXType' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 71 + end + end + object cxGridLevel1: TcxGridLevel + GridView = TV2 + end + end + object ADOQuery1: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 352 + Top = 8 + end + object ADOQuery2: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 512 + Top = 8 + end + object ADOQuery3: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 440 + Top = 8 + end + object ClientDataSet1: TClientDataSet + Aggregates = <> + Params = <> + Left = 448 + Top = 216 + end + object DataSource1: TDataSource + DataSet = ClientDataSet1 + Left = 480 + Top = 224 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 312 + Top = 256 + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = CDS_PRT + Left = 416 + Top = 160 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 464 + Top = 168 + ReportData = {} + end + object CDS_PRT: TClientDataSet + Aggregates = <> + Params = <> + Left = 392 + Top = 288 + end +end diff --git a/打卷检验管理/U_BefChkHX.pas b/打卷检验管理/U_BefChkHX.pas new file mode 100644 index 0000000..9c10c5b --- /dev/null +++ b/打卷检验管理/U_BefChkHX.pas @@ -0,0 +1,256 @@ +unit U_BefChkHX; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxButtonEdit, + cxTextEdit, StdCtrls, cxGridLevel, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxClasses, cxControls, + cxGridCustomView, cxGrid, ComCtrls, ToolWin, ExtCtrls, cxDropDownEdit, + DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, RM_Common, + RM_Class, RM_GridReport, RM_System, RM_Dataset; + +type + TfrmBefChkHX = class(TForm) + Panel1: TPanel; + ToolBar2: TToolBar; + ToolButton2: TToolButton; + ToolButton3: TToolButton; + ToolButton4: TToolButton; + cxGrid2: TcxGrid; + TV2: TcxGridDBTableView; + V2Column2: TcxGridDBColumn; + V2Column8: TcxGridDBColumn; + V2Column7: TcxGridDBColumn; + V2Column1: TcxGridDBColumn; + V2Column5: TcxGridDBColumn; + V2Column6: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + orderno: TLabel; + PRTColor: TLabel; + FirstName: TLabel; + PBFactory: TLabel; + ADOQuery1: TADOQuery; + ADOQuery2: TADOQuery; + ADOQuery3: TADOQuery; + ClientDataSet1: TClientDataSet; + DataSource1: TDataSource; + ToolButton1: TToolButton; + cxGridPopupMenu1: TcxGridPopupMenu; + V2Column4: TcxGridDBColumn; + V2Column9: TcxGridDBColumn; + ToolButton5: TToolButton; + RMDBMain: TRMDBDataSet; + RM1: TRMGridReport; + CDS_PRT: TClientDataSet; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure ToolButton2Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure ToolButton4Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure ToolButton5Click(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + FLLID,HXUnit:String; + end; + +var + frmBefChkHX: TfrmBefChkHX; + +implementation +uses +U_DataLink,U_Fun; + +{$R *.dfm} + +procedure TfrmBefChkHX.FormDestroy(Sender: TObject); +begin + frmBefChkHX:=nil; +end; + +procedure TfrmBefChkHX.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmBefChkHX.ToolButton2Click(Sender: TObject); +begin + with ClientDataSet1 do + begin + Append; + FieldByName('HXFactory').Value:=Trim(FirstName.Caption); + FieldByName('HXDate').Value:=SGetServerDate(ADOQuery2); + FieldByName('HXType').Value:='ǰ'; + FieldByName('HXUnit').Value:=Trim(HXUnit); + Post; + end; +end; + +procedure TfrmBefChkHX.ToolButton3Click(Sender: TObject); +begin + if ClientDataSet1.IsEmpty then Exit; + if Trim(ClientDataSet1.fieldbyname('HXType').AsString)<>'ǰ' then Exit; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOQuery3 do + begin + Close; + SQL.Clear; + SQL.Add('delete Contract_Cloth_BefChkHX where HXID='''+Trim(ClientDataSet1.fieldbyname('HXID').AsString)+''''); + sql.Add('Update Contract_Cloth_LL Set HXPS=(select isnull(sum(HXPS),0) from Contract_Cloth_BefChkHX A where A.LLID='''+Trim(FLLID)+''')'); + sql.Add(',HXQty=(select isnull(sum(HXQty),0) from Contract_Cloth_BefChkHX A where A.LLID='''+Trim(FLLID)+''')'); + sql.Add(',HXMQty=(select isnull(sum(HXMQty),0) from Contract_Cloth_BefChkHX A where A.LLID='''+Trim(FLLID)+''')'); + sql.Add(',HXUnit=(select Top 1 HXUnit from Contract_Cloth_BefChkHX A where A.LLID='''+Trim(FLLID)+''')'); + sql.Add(' where LLID='''+Trim(FLLID)+''''); + ExecSQL; + end; + ClientDataSet1.Delete; + +end; + +procedure TfrmBefChkHX.ToolButton4Click(Sender: TObject); +var + maxno:string; + FSubId:String; +begin + try + ADOQuery3.Connection.BeginTrans; + with ClientDataSet1 do + begin + First; + while not Eof do + begin + if Trim(ClientDataSet1.fieldbyname('HXType').AsString)='ǰ' then + begin + if Trim(ClientDataSet1.fieldbyname('HXID').AsString)='' then + begin + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL where LLID='''+Trim(FLLID)+''''); + Open; + end; + FSubId:=Trim(ADOQuery1.fieldbyname('OrdSubId').AsString); + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Sub_AnPai where Subid='''+Trim(FSubId)+''''); + // sql.Add(' and GangNo='''+Trim(ClientDataSet1.fieldbyname('GangNo').AsString)+''''); + Open; + end; + if ADOQuery1.IsEmpty then + begin + ADOQuery3.Connection.RollbackTrans; + Application.MessageBox('δزֲܱ!','ʾ',0); + Exit; + end; + end; + + if Trim(ClientDataSet1.fieldbyname('HXID').AsString)='' then + begin + if GetLSNo(ADOQuery3,maxno,'HX','Contract_Cloth_BefChkHX',2,1)=False then + begin + ADOQuery3.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(ClientDataSet1.fieldbyname('HXID').AsString); + end; + with ADOQuery3 do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_BefChkHX where HXID='''+Trim(ClientDataSet1.fieldbyname('HXID').AsString)+''''); + Open; + end; + with ADOQuery3 do + begin + if Trim(ClientDataSet1.fieldbyname('HXID').AsString)='' then + Append + else + Edit; + FieldByName('LLID').Value:=Trim(FLLID); + FieldByName('HXID').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOQuery3,TV2,ClientDataSet1,'Contract_Cloth_BefChkHX',2); + Post; + end; + end; + Next; + end; + end; + with ADOQuery3 do + begin + Close; + SQL.Clear; + SQL.Add('Update Contract_Cloth_BefChkHX Set HXMQty=HXQty*ZSXS where LLID='''+Trim(FLLID)+''''); + sql.Add('Update Contract_Cloth_LL Set HXPS=(select sum(HXPS) from Contract_Cloth_BefChkHX A where A.LLID=Contract_Cloth_LL.LLID)'); + sql.Add(',HXQty=(select sum(HXQty) from Contract_Cloth_BefChkHX A where A.LLID=Contract_Cloth_LL.LLID)'); + sql.Add(',HXMQty=(select sum(HXMQty) from Contract_Cloth_BefChkHX A where A.LLID=Contract_Cloth_LL.LLID)'); + sql.Add(',HXUnit=(select Top 1 HXUnit from Contract_Cloth_BefChkHX A where A.LLID=Contract_Cloth_LL.LLID)'); + sql.Add(' where LLID='''+Trim(FLLID)+''''); + ExecSQL; + end; + ADOQuery3.Connection.CommitTrans; + Application.MessageBox('ɹ!','ʾ',0); + Exit; + except + ADOQuery3.Connection.RollbackTrans; + Application.MessageBox('쳣!','ʾ',0); + end; +end; + +procedure TfrmBefChkHX.ToolButton1Click(Sender: TObject); +begin + Close; + WriteCxGrid('ǰ',TV2,'زֹ'); +end; + +procedure TfrmBefChkHX.FormShow(Sender: TObject); +begin + ReadCxGrid('ǰ',TV2,'زֹ'); +end; + +procedure TfrmBefChkHX.ToolButton5Click(Sender: TObject); +var + fPrintFile:string; +begin + if ClientDataSet1.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\޵.rmf' ; + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select A.*,C.PRTColor,D.MPRTCodeName,D.MPRTSpec,D.OrderNo from Contract_Cloth_BefChkHX A'); + sql.Add(' inner join Contract_Cloth_LL B on A.LLID=B.LLID'); + sql.Add(' inner join JYOrder_Sub C on B.OrdSubId=C.SubID'); + sql.Add(' inner join JYOrder_Main D on C.MainId=D.MainId'); + sql.Add(' where A.HXID='''+Trim(ClientDataSet1.fieldbyname('HXID').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQuery1,CDS_PRT); + SInitCDSData20(ADOQuery1,CDS_PRT); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + RMVariables['DYFiller']:=Trim(DName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\޵.rmf'),'ʾ',0); + end; +end; + +end. diff --git a/打卷检验管理/U_CKJYList.dfm b/打卷检验管理/U_CKJYList.dfm new file mode 100644 index 0000000..e9b9224 --- /dev/null +++ b/打卷检验管理/U_CKJYList.dfm @@ -0,0 +1,652 @@ +object frmCKJYList: TfrmCKJYList + Left = 240 + Top = 101 + Width = 943 + Height = 598 + Caption = #25104#21697#20986#24211#27719#24635#20449#24687 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object Label17: TLabel + Left = 840 + Top = 144 + Width = 42 + Height = 12 + Caption = 'Label17' + end + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 927 + Height = 33 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBExport: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + Visible = False + end + object TBClose: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 33 + Width = 927 + Height = 48 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 24 + Top = 12 + Width = 48 + Height = 12 + Caption = #26597#35810#26102#38388 + end + object Label2: TLabel + Left = 168 + Top = 12 + Width = 6 + Height = 12 + Caption = '-' + end + object Label8: TLabel + Left = 211 + Top = 100 + Width = 48 + Height = 12 + Caption = #20811' '#37325 + end + object Label9: TLabel + Left = 380 + Top = 108 + Width = 24 + Height = 12 + Caption = #38376#24133 + end + object Label7: TLabel + Left = 624 + Top = 84 + Width = 48 + Height = 12 + Caption = #31867' '#22411 + end + object Label10: TLabel + Left = 496 + Top = 40 + Width = 6 + Height = 12 + end + object Label11: TLabel + Left = 488 + Top = 80 + Width = 36 + Height = 12 + Caption = #19994#21153#21592 + end + object Label12: TLabel + Left = 488 + Top = 104 + Width = 36 + Height = 12 + Caption = #36319#21333#21592 + end + object Label5: TLabel + Left = 292 + Top = 12 + Width = 48 + Height = 12 + Caption = #35746' '#21333' '#21495 + end + object Label6: TLabel + Left = 600 + Top = 12 + Width = 24 + Height = 12 + Caption = #39068#33394 + end + object Label13: TLabel + Left = 448 + Top = 12 + Width = 48 + Height = 12 + Caption = #21592#24037#21517#31216 + end + object Label4: TLabel + Left = 724 + Top = 12 + Width = 36 + Height = 12 + Caption = #21512#21516#21495 + end + object Label15: TLabel + Left = 1028 + Top = 12 + Width = 18 + Height = 12 + Caption = 'PO#' + Visible = False + end + object Label16: TLabel + Left = 364 + Top = 76 + Width = 24 + Height = 12 + Caption = #32593#21495 + Visible = False + end + object Label3: TLabel + Left = 756 + Top = 84 + Width = 24 + Height = 12 + Caption = #33457#21517 + end + object BegDate: TDateTimePicker + Left = 73 + Top = 9 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 181 + Top = 9 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + TabOrder = 1 + end + object MPRTKZ: TEdit + Tag = 2 + Left = 260 + Top = 96 + Width = 100 + Height = 20 + TabOrder = 2 + OnChange = MPRTCodeNameChange + end + object MPRTMF: TEdit + Tag = 2 + Left = 404 + Top = 104 + Width = 65 + Height = 20 + TabOrder = 3 + OnChange = MPRTCodeNameChange + end + object CPType: TComboBox + Tag = 2 + Left = 675 + Top = 80 + Width = 68 + Height = 20 + Style = csDropDownList + ItemHeight = 12 + TabOrder = 4 + OnChange = TBFindClick + Items.Strings = ( + #27491#21697 + #27425#21697 + #22810#25340 + '') + end + object YWY: TEdit + Tag = 2 + Left = 526 + Top = 76 + Width = 65 + Height = 20 + TabOrder = 5 + OnChange = MPRTCodeNameChange + end + object OrdPerson1: TEdit + Tag = 2 + Left = 526 + Top = 100 + Width = 65 + Height = 20 + TabOrder = 6 + OnChange = MPRTCodeNameChange + end + object orderNo: TEdit + Tag = 2 + Left = 342 + Top = 8 + Width = 80 + Height = 20 + TabOrder = 7 + OnChange = MPRTCodeNameChange + end + object PRTColor: TEdit + Tag = 2 + Left = 626 + Top = 8 + Width = 80 + Height = 20 + TabOrder = 8 + OnChange = MPRTCodeNameChange + end + object filler: TEdit + Tag = 2 + Left = 498 + Top = 8 + Width = 80 + Height = 20 + TabOrder = 9 + OnChange = MPRTCodeNameChange + end + object conNo: TEdit + Tag = 2 + Left = 766 + Top = 8 + Width = 80 + Height = 20 + TabOrder = 10 + OnChange = MPRTCodeNameChange + end + object KHCONNO: TEdit + Tag = 2 + Left = 1050 + Top = 8 + Width = 80 + Height = 20 + TabOrder = 11 + Visible = False + OnChange = MPRTCodeNameChange + end + object wangno: TEdit + Tag = 2 + Left = 398 + Top = 72 + Width = 80 + Height = 20 + TabOrder = 12 + Visible = False + OnChange = MPRTCodeNameChange + end + object huaname: TEdit + Tag = 2 + Left = 790 + Top = 80 + Width = 80 + Height = 20 + TabOrder = 13 + OnChange = MPRTCodeNameChange + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 101 + Width = 927 + Height = 459 + Align = alClient + TabOrder = 3 + object Tv1: TcxGridDBTableView + OnMouseUp = Tv1MouseUp + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1Column6 + end + item + Kind = skSum + Column = v2Column5 + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column12 + end + item + Kind = skSum + Column = v1Column9 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1Column3: TcxGridDBColumn + Caption = #26816#39564#26085#26399 + DataBinding.FieldName = 'CRTime' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 142 + end + object v1Column2: TcxGridDBColumn + Caption = #21592#24037#21517#31216 + DataBinding.FieldName = 'Filler' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column8: TcxGridDBColumn + Caption = 'PO#' + DataBinding.FieldName = 'KHCONNO' + HeaderAlignmentHorz = taCenter + Width = 94 + end + object v1Column5: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'conNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object v1Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 110 + end + object v1Column13: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Width = 100 + end + object v1Column4: TcxGridDBColumn + Caption = #35746#21333#24635#25968 + DataBinding.FieldName = 'ZQTY' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v1Column6: TcxGridDBColumn + Caption = #21367#25968 + DataBinding.FieldName = 'JQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v2Column5: TcxGridDBColumn + Caption = #27611#37325 + DataBinding.FieldName = 'KGQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object v1Column12: TcxGridDBColumn + Caption = #38271#24230 + DataBinding.FieldName = 'Qty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object v1Column7: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'MjTypeOther' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 69 + end + object v2Column1: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'PRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 125 + end + object v1Column9: TcxGridDBColumn + Caption = #38271#24230'(M)' + DataBinding.FieldName = 'Qty_M' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 90 + end + object v1Column10: TcxGridDBColumn + Caption = #27599#21367#24179#22343#38271#24230'(M)' + DataBinding.FieldName = 'Roll_M' + Visible = False + HeaderAlignmentHorz = taCenter + Width = 120 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel4: TPanel + Left = 62 + Top = 139 + Width = 294 + Height = 213 + TabOrder = 4 + Visible = False + object Label14: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 292 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #20107#20214#35828#26126 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + object Image2: TImage + Left = 269 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object RichEdit1: TRichEdit + Left = 1 + Top = 24 + Width = 292 + Height = 188 + Align = alClient + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + end + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 81 + Width = 927 + Height = 20 + Align = alTop + Style = 9 + TabIndex = 0 + TabOrder = 5 + Tabs.Strings = ( + #20840#37096) + OnChange = cxTabControl1Change + ClientRectBottom = 20 + ClientRectRight = 927 + ClientRectTop = 19 + end + object MovePanel2: TMovePanel + Left = 408 + Top = 192 + Width = 289 + Height = 49 + BevelInner = bvLowered + Caption = #27491#22312#26597#35810#25968#25454#65292#35831#31245#21518#12290#12290#12290 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 968 + Top = 40 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + CommandTimeout = 60 + Parameters = <> + Left = 984 + Top = 40 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 980 + Top = 4 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 920 + Top = 152 + end + object cxGridPopupMenu1: TcxGridPopupMenu + PopupMenus = <> + Left = 888 + Top = 144 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 896 + Top = 128 + end +end diff --git a/打卷检验管理/U_CKJYList.pas b/打卷检验管理/U_CKJYList.pas new file mode 100644 index 0000000..72753de --- /dev/null +++ b/打卷检验管理/U_CKJYList.pas @@ -0,0 +1,301 @@ +unit U_CKJYList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, + cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, + cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, + cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, + cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, MovePanel, cxButtonEdit, + cxCalendar, cxPC; + +type + TfrmCKJYList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBExport: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + cxGridPopupMenu1: TcxGridPopupMenu; + Label1: TLabel; + Label2: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + CDS_Main: TClientDataSet; + Label8: TLabel; + MPRTKZ: TEdit; + Label9: TLabel; + MPRTMF: TEdit; + Label7: TLabel; + CPType: TComboBox; + MovePanel2: TMovePanel; + Label10: TLabel; + Label11: TLabel; + Label12: TLabel; + YWY: TEdit; + OrdPerson1: TEdit; + cxGrid2: TcxGrid; + Tv1: TcxGridDBTableView; + v1Column3: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v2Column1: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v2Column5: TcxGridDBColumn; + cxGrid2Level1: TcxGridLevel; + orderNo: TEdit; + Label5: TLabel; + Label6: TLabel; + PRTColor: TEdit; + Label13: TLabel; + filler: TEdit; + v1Column2: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + conNo: TEdit; + Label4: TLabel; + Panel4: TPanel; + Label14: TLabel; + Panel10: TPanel; + Image2: TImage; + RichEdit1: TRichEdit; + v1Column8: TcxGridDBColumn; + KHCONNO: TEdit; + Label15: TLabel; + cxTabControl1: TcxTabControl; + v1Column9: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column13: TcxGridDBColumn; + Label16: TLabel; + wangno: TEdit; + v1Column4: TcxGridDBColumn; + huaname: TEdit; + Label3: TLabel; + Label17: TLabel; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoMChange(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure MPRTCodeNameChange(Sender: TObject); + procedure v1Column5PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure PRTColorChange(Sender: TObject); + procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Image2Click(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + private + FLeft,FTop:Integer; + procedure InitGrid(); + { Private declarations } + public + { Public declarations } + end; + +var + frmCKJYList: TfrmCKJYList; + +implementation +uses + U_DataLink,U_Fun,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmCKJYList.FormDestroy(Sender: TObject); +begin + frmCKJYList:=nil; +end; + +procedure TfrmCKJYList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmCKJYList.FormCreate(Sender: TObject); +begin + //cxGrid1.Align:=alClient; + BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp) +end; + +procedure TfrmCKJYList.InitGrid(); +begin +try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + sql.Clear; + Filtered:=False; + sql.Add('select convert(char(10),A.FillTime,120) as CRTime,A.Filler,A.mainID,A.MjTypeOther,C.OrderNo,D.PRTCodeName,C.conNo,C.CustomerNoName,D.PrtColor,'); + sql.Add('count(A.MainId) as JQty,SUM(A.MJlen) as Qty,SUM(A.MJmaoZ) as KGQty,SUM(A.MJQty4) as MJQty4,SUM(A.MJQty5) as MJQty5,'); + sql.Add('khconNO=(select top 1 khconNo from JYOrderCon_Main X where X.conNO=C.conNO)'); + sql.Add(',Qty_M=sum(case when MjTypeOther=''Y'' then cast(MJlen*0.9144 as decimal(18,2)) else MJLen end)'); + sql.Add(',Roll_M= cast(sum(case when MjTypeOther=''Y'' then cast(MJlen*0.9144 as decimal(18,2)) else MJLen end)/count(A.MainId) as decimal(18,2))'); + SQL.Add(',CJQTY=(select count(X.Mainid) from WFB_MJJY X where X.Mainid=A.Mainid and X.Filler=A.Filler and convert(char(10),X.FillTime,120)=convert(char(10),A.FillTime,120) and baoID<>'''' and X.MJTypeOther=A.MJTypeOther)'); + SQL.Add(',CQTY=(select SUM(MJlen) from WFB_MJJY X where X.Mainid=A.Mainid and X.Filler=A.Filler and convert(char(10),X.FillTime,120)=convert(char(10),A.FillTime,120) and baoID<>'''' and X.MJTypeOther=A.MJTypeOther)'); + SQL.Add(',CKGQTY=(select SUM(MJmaoZ) from WFB_MJJY X where X.Mainid=A.Mainid and X.Filler=A.Filler and convert(char(10),X.FillTime,120)=convert(char(10),A.FillTime,120) and baoID<>'''' and X.MJTypeOther=A.MJTypeOther)'); + SQL.Add(',CMJQty4=(select SUM(MJQty4) from WFB_MJJY X where X.Mainid=A.Mainid and X.Filler=A.Filler and convert(char(10),X.FillTime,120)=convert(char(10),A.FillTime,120) and baoID<>'''' and X.MJTypeOther=A.MJTypeOther)'); + sql.Add(',ZQTY=(select sum(PRTOrderQty) from JYOrder_sub X where X.mainid=A.mainid)'); + sql.Add('from WFB_MJJY A '); + sql.Add('inner join JYOrder_Main C on C.MainId=A.MainId '); + sql.Add('inner join JYOrder_sub D on D.subID=A.subID '); + Sql.add('where A.FillTime>='''+formatdateTime('yyyy-MM-dd',begdate.Date)+''' '); + Sql.add('and A.FillTime<'''+formatdateTime('yyyy-MM-dd',enddate.Date+1)+''' '); + IF cxTabControl1.TabIndex=0 then + Sql.add('and not exists(select MJID from CK_BanCP_KC X where X.MJID=A.MJID) ') + else + IF cxTabControl1.TabIndex=1 then + Sql.add('and exists(select MJID from CK_BanCP_KC X where X.MJID=A.MJID) '); + Sql.add('group by convert(char(10),A.FillTime,120),A.Filler,A.mainID,A.MjTypeOther,C.OrderNo,D.PRTCodeName,C.conNo,C.CustomerNoName,D.PrtColor'); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmCKJYList.TBRafreshClick(Sender: TObject); +begin + //BegDate.SetFocus; + MovePanel2.Visible:=True; + MovePanel2.Refresh; + InitGrid(); + MovePanel2.Visible:=False; +end; + +procedure TfrmCKJYList.ConNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + end; +end; + +procedure TfrmCKJYList.TBCloseClick(Sender: TObject); +begin + WriteCxGrid(self.Caption+tv1.Name,Tv1,'Ʒֿ1'); + Close; +end; + +procedure TfrmCKJYList.FormShow(Sender: TObject); +begin + + ReadCxGrid(self.Caption+tv1.Name,Tv1,'Ʒֿ1'); + if Trim(DParameters2)='' then + begin + //v1Column5.Options.Focusing:=True; + end else + begin + //v1Column5.Options.Focusing:=False; + end; + //InitGrid(); +end; + +procedure TfrmCKJYList.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then exit; + TcxGridToExcel('б',cxGrid2); +end; + +procedure TfrmCKJYList.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + end; +end; + +procedure TfrmCKJYList.MPRTCodeNameChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmCKJYList.v1Column5PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='SOrdDefStr10'; + flagname:='ŵص'; + if ShowModal=1 then + begin + with CDS_Main do + begin + Edit; + FieldByName('SOrdDefStr10').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYOrder_Sub Set SOrdDefStr10='''+Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)+''''); + sql.Add(' where SubId='''+Trim(Self.CDS_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmCKJYList.PRTColorChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmCKJYList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); +begin + FLeft:=X; + FTop:=Y; +end; + +procedure TfrmCKJYList.Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + Panel4.Left:=FLeft; + Panel4.Top:=FTop+110; + Panel4.Visible:=True; + Panel10.Caption:=Trim(TV1.Controller.FocusedColumn.Caption); + RichEdit1.Text:=CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString; + application.ProcessMessages; +end; + +procedure TfrmCKJYList.Image2Click(Sender: TObject); +begin + Panel4.Visible:=False; +end; + +procedure TfrmCKJYList.cxTabControl1Change(Sender: TObject); +begin + TBRafresh.Click; +end; + +end. diff --git a/打卷检验管理/U_CKProductBCPHCList.dfm b/打卷检验管理/U_CKProductBCPHCList.dfm new file mode 100644 index 0000000..94ffdf8 --- /dev/null +++ b/打卷检验管理/U_CKProductBCPHCList.dfm @@ -0,0 +1,390 @@ +object frmCKProductBCPHCList: TfrmCKProductBCPHCList + Left = 128 + Top = 152 + Width = 1027 + Height = 511 + Caption = #25104#21697#22238#20179#21015#34920 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1019 + Height = 33 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBExport: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + Visible = False + end + object TBClose: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 33 + Width = 1019 + Height = 72 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label3: TLabel + Left = 357 + Top = 12 + Width = 48 + Height = 12 + Caption = #20013#25991#21517#31216 + end + object Label4: TLabel + Left = 526 + Top = 12 + Width = 24 + Height = 12 + Caption = #39068#33394 + end + object Label1: TLabel + Left = 28 + Top = 12 + Width = 48 + Height = 12 + Caption = #26597#35810#26102#38388 + end + object Label2: TLabel + Left = 64 + Top = 36 + Width = 12 + Height = 12 + Caption = #33267 + end + object Label5: TLabel + Left = 178 + Top = 12 + Width = 48 + Height = 12 + Caption = #35746' '#21333' '#21495 + end + object Label6: TLabel + Left = 178 + Top = 36 + Width = 48 + Height = 12 + Caption = #26465' '#30721 + end + object Label8: TLabel + Left = 357 + Top = 36 + Width = 48 + Height = 12 + Caption = #20811' '#37325 + end + object Label9: TLabel + Left = 526 + Top = 36 + Width = 24 + Height = 12 + Caption = #38376#24133 + end + object Label7: TLabel + Left = 648 + Top = 36 + Width = 24 + Height = 12 + Caption = #31867#22411 + end + object MPRTCodeName: TEdit + Tag = 2 + Left = 406 + Top = 9 + Width = 100 + Height = 20 + TabOrder = 0 + OnChange = MPRTCodeNameChange + end + object PRTColor: TEdit + Tag = 2 + Left = 550 + Top = 9 + Width = 65 + Height = 20 + TabOrder = 1 + OnChange = MPRTCodeNameChange + end + object BegDate: TDateTimePicker + Left = 77 + Top = 9 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + TabOrder = 2 + end + object EndDate: TDateTimePicker + Left = 77 + Top = 33 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + TabOrder = 3 + end + object orderNo: TEdit + Tag = 2 + Left = 228 + Top = 9 + Width = 109 + Height = 20 + TabOrder = 4 + OnChange = MPRTCodeNameChange + end + object MJID: TEdit + Tag = 2 + Left = 228 + Top = 33 + Width = 109 + Height = 20 + TabOrder = 5 + OnChange = MPRTCodeNameChange + end + object MPRTKZ: TEdit + Tag = 2 + Left = 406 + Top = 33 + Width = 100 + Height = 20 + TabOrder = 6 + OnChange = MPRTCodeNameChange + end + object MPRTMF: TEdit + Tag = 2 + Left = 550 + Top = 32 + Width = 65 + Height = 20 + TabOrder = 7 + OnChange = MPRTCodeNameChange + end + object CPType: TComboBox + Tag = 2 + Left = 674 + Top = 32 + Width = 68 + Height = 20 + Style = csDropDownList + ItemHeight = 12 + TabOrder = 8 + OnChange = TBFindClick + Items.Strings = ( + #27491#21697 + #27425#21697 + '') + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 105 + Width = 1019 + Height = 369 + Align = alClient + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skCount + Column = v1Column6 + end + item + Kind = skSum + Column = v2Column5 + end + item + Kind = skSum + Column = v2Column6 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Width = 74 + end + object v2Column1: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 92 + end + object v2Column3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 77 + end + object v1Column8: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'MPRTMF' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column9: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'MPRTKZ' + HeaderAlignmentHorz = taCenter + Width = 59 + end + object v1Column6: TcxGridDBColumn + Caption = #26465#30721 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 92 + end + object v1Column3: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'CPType' + HeaderAlignmentHorz = taCenter + Width = 63 + end + object v1Column2: TcxGridDBColumn + Caption = #22238#20179#26102#38388 + DataBinding.FieldName = 'CRTime' + HeaderAlignmentHorz = taCenter + Width = 107 + end + object v2Column5: TcxGridDBColumn + Caption = #22238#20179#20844#26020#25968 + DataBinding.FieldName = 'KGQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 83 + end + object v2Column6: TcxGridDBColumn + Caption = #22238#20179#38271#24230 + DataBinding.FieldName = 'Qty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 85 + end + object v1Column7: TcxGridDBColumn + Caption = #38271#24230#21333#20301 + DataBinding.FieldName = 'QtyUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 83 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 968 + Top = 40 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 984 + Top = 40 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 944 + Top = 32 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 920 + Top = 152 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 888 + Top = 144 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 896 + Top = 128 + end +end diff --git a/打卷检验管理/U_CKProductBCPHCList.pas b/打卷检验管理/U_CKProductBCPHCList.pas new file mode 100644 index 0000000..35db25e --- /dev/null +++ b/打卷检验管理/U_CKProductBCPHCList.pas @@ -0,0 +1,182 @@ +unit U_CKProductBCPHCList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, + cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, + cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, + cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, + cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit; + +type + TfrmCKProductBCPHCList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBExport: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + cxGridPopupMenu1: TcxGridPopupMenu; + Label3: TLabel; + Label4: TLabel; + MPRTCodeName: TEdit; + PRTColor: TEdit; + Label1: TLabel; + Label2: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + CDS_Main: TClientDataSet; + Tv1: TcxGridDBTableView; + cxGrid2Level1: TcxGridLevel; + cxGrid2: TcxGrid; + v2Column1: TcxGridDBColumn; + v2Column3: TcxGridDBColumn; + v2Column5: TcxGridDBColumn; + v2Column6: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + Label5: TLabel; + orderNo: TEdit; + Label6: TLabel; + MJID: TEdit; + v1Column7: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + Label8: TLabel; + MPRTKZ: TEdit; + Label9: TLabel; + MPRTMF: TEdit; + Label7: TLabel; + CPType: TComboBox; + v1Column3: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoMChange(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure MPRTCodeNameChange(Sender: TObject); + private + procedure InitGrid(); + { Private declarations } + public + { Public declarations } + end; + +var + frmCKProductBCPHCList: TfrmCKProductBCPHCList; + +implementation +uses + U_DataLink,U_Fun; + +{$R *.dfm} + +procedure TfrmCKProductBCPHCList.FormDestroy(Sender: TObject); +begin + frmCKProductBCPHCList:=nil; +end; + +procedure TfrmCKProductBCPHCList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmCKProductBCPHCList.FormCreate(Sender: TObject); +begin + //cxGrid1.Align:=alClient; + BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp) +end; + +procedure TfrmCKProductBCPHCList.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('select A.*,B.OrderNo,B.MPRTCodeName,C.PRTColor,B.MPRTMF,B.MPRTKZ'); + sql.add('from CK_BanCP_CR A '); + Sql.add(' inner join JYOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); + Sql.add(' inner join WFB_MJJY D on A.MJId=D.MJId'); + sql.add('where A.CRTime>=:begdate and A.CRTime<:enddate'); + SQL.Add(' and CRType=''ز'' '); + Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime)); + Parameters.ParamByName('enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)); + Open; + //ShowMessage(SQL.Text); + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmCKProductBCPHCList.TBRafreshClick(Sender: TObject); +begin + BegDate.SetFocus; + InitGrid(); +end; + +procedure TfrmCKProductBCPHCList.ConNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + end; +end; + +procedure TfrmCKProductBCPHCList.TBCloseClick(Sender: TObject); +begin + WriteCxGrid('ֿزб',Tv1,'Ʒֿ'); + Close; +end; + +procedure TfrmCKProductBCPHCList.FormShow(Sender: TObject); +begin + + ReadCxGrid('ֿزб',Tv1,'Ʒֿ'); + + InitGrid(); +end; + +procedure TfrmCKProductBCPHCList.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then exit; + TcxGridToExcel('زб',cxGrid2); +end; + +procedure TfrmCKProductBCPHCList.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + end; +end; + +procedure TfrmCKProductBCPHCList.MPRTCodeNameChange(Sender: TObject); +begin + TBFind.Click; +end; + +end. diff --git a/打卷检验管理/U_CKProductBCPInList.dfm b/打卷检验管理/U_CKProductBCPInList.dfm new file mode 100644 index 0000000..a46a011 --- /dev/null +++ b/打卷检验管理/U_CKProductBCPInList.dfm @@ -0,0 +1,811 @@ +object frmCKProductBCPInList: TfrmCKProductBCPInList + Left = 122 + Top = 53 + Width = 1083 + Height = 680 + Caption = #25104#21697#20837#24211#21015#34920 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1067 + Height = 33 + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object ToolButton1: TToolButton + Left = 126 + Top = 0 + Caption = #26174#31034#24211#23384 + ImageIndex = 59 + OnClick = ToolButton1Click + end + object TBExport: TToolButton + Left = 209 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBRKCX: TToolButton + Left = 272 + Top = 0 + AutoSize = True + Caption = #25764#38144#20837#24211 + ImageIndex = 105 + Visible = False + OnClick = TBRKCXClick + end + object TBPrint: TToolButton + Left = 359 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + OnClick = TBPrintClick + end + object ComboBox1: TComboBox + Left = 422 + Top = 3 + Width = 140 + Height = 24 + Style = csDropDownList + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ItemHeight = 16 + ItemIndex = 0 + ParentFont = False + TabOrder = 0 + Text = #38144#21806#30721#21333 + Items.Strings = ( + #38144#21806#30721#21333 + #38144#21806#30721#21333'-'#23433#24247 + #38144#21806#30721#21333'-QLO' + #21333#33394#21253#35013 + #21333#33394#21253#35013'-'#38271#24230 + #28151#33394#21253#35013'-10'#33394 + #28151#33394#21253#35013'-'#37325#37327) + end + object TBClose: TToolButton + Left = 562 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 33 + Width = 1067 + Height = 76 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label3: TLabel + Left = 337 + Top = 12 + Width = 48 + Height = 12 + Caption = #20013#25991#21517#31216 + end + object Label4: TLabel + Left = 490 + Top = 12 + Width = 24 + Height = 12 + Caption = #39068#33394 + end + object Label1: TLabel + Left = 28 + Top = 12 + Width = 48 + Height = 12 + Caption = #26597#35810#26102#38388 + end + object Label2: TLabel + Left = 64 + Top = 36 + Width = 12 + Height = 12 + Caption = #33267 + end + object Label5: TLabel + Left = 178 + Top = 12 + Width = 48 + Height = 12 + Caption = #35746' '#21333' '#21495 + end + object Label6: TLabel + Left = 178 + Top = 36 + Width = 48 + Height = 12 + Caption = #26465' '#30721 + end + object Label8: TLabel + Left = 337 + Top = 36 + Width = 48 + Height = 12 + Caption = #20811' '#37325 + end + object Label9: TLabel + Left = 490 + Top = 36 + Width = 24 + Height = 12 + Caption = #38376#24133 + end + object Label7: TLabel + Left = 624 + Top = 36 + Width = 24 + Height = 12 + Caption = #31867#22411 + end + object Label10: TLabel + Left = 624 + Top = 12 + Width = 24 + Height = 12 + Caption = #21253#21495 + end + object Label12: TLabel + Left = 1116 + Top = 12 + Width = 46 + Height = 12 + Caption = #21253#25968#65306'0' + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 761 + Top = 12 + Width = 48 + Height = 12 + Caption = #33457#22411#33457#21495 + end + object Label14: TLabel + Left = 761 + Top = 36 + Width = 48 + Height = 12 + Caption = #33394' '#21495 + end + object Label15: TLabel + Left = 905 + Top = 12 + Width = 48 + Height = 12 + Caption = #20837#24211#21333#21495 + end + object Label16: TLabel + Left = 905 + Top = 36 + Width = 48 + Height = 12 + Caption = #32568' '#21495 + end + object PRTCodeName: TEdit + Tag = 2 + Left = 386 + Top = 9 + Width = 90 + Height = 20 + TabOrder = 0 + OnChange = PRTCodeNameChange + end + object BegDate: TDateTimePicker + Left = 77 + Top = 9 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object EndDate: TDateTimePicker + Left = 77 + Top = 33 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + end + object orderNo: TEdit + Tag = 2 + Left = 228 + Top = 9 + Width = 90 + Height = 20 + TabOrder = 3 + OnChange = orderNoChange + OnKeyPress = orderNoKeyPress + end + object MJID: TEdit + Tag = 2 + Left = 228 + Top = 33 + Width = 90 + Height = 20 + TabOrder = 4 + OnChange = PRTCodeNameChange + end + object PRTKZ: TEdit + Tag = 1 + Left = 386 + Top = 33 + Width = 90 + Height = 20 + TabOrder = 5 + OnChange = PRTCodeNameChange + end + object PRTMF: TEdit + Tag = 1 + Left = 516 + Top = 33 + Width = 90 + Height = 20 + TabOrder = 6 + OnChange = PRTCodeNameChange + end + object CPType: TComboBox + Tag = 2 + Left = 650 + Top = 33 + Width = 90 + Height = 20 + Style = csDropDownList + ItemHeight = 12 + TabOrder = 7 + OnChange = TBFindClick + Items.Strings = ( + #27491#21697 + #27425#21697 + #22810#25340 + '' + '') + end + object PRTColor: TComboBox + Tag = 1 + Left = 516 + Top = 9 + Width = 90 + Height = 20 + ItemHeight = 12 + TabOrder = 8 + OnChange = PRTColorChange + end + object BaoNo: TEdit + Tag = 2 + Left = 650 + Top = 9 + Width = 90 + Height = 20 + TabOrder = 9 + OnChange = PRTCodeNameChange + end + object PRTHX: TEdit + Tag = 2 + Left = 810 + Top = 9 + Width = 90 + Height = 20 + TabOrder = 10 + OnChange = PRTCodeNameChange + end + object SOrddefstr1: TEdit + Tag = 2 + Left = 810 + Top = 33 + Width = 90 + Height = 20 + TabOrder = 11 + OnChange = PRTCodeNameChange + end + object RKOrdID: TEdit + Tag = 2 + Left = 954 + Top = 9 + Width = 90 + Height = 20 + TabOrder = 12 + OnChange = PRTCodeNameChange + end + object MJstr4: TEdit + Tag = 2 + Left = 954 + Top = 33 + Width = 90 + Height = 20 + TabOrder = 13 + OnChange = PRTCodeNameChange + end + object CheckBox1: TCheckBox + Left = 28 + Top = 52 + Width = 97 + Height = 17 + Caption = #20840#36873 + TabOrder = 14 + OnClick = CheckBox1Click + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 109 + Width = 1067 + Height = 533 + Align = alClient + PopupMenu = PopupMenu1 + TabOrder = 2 + object Tv1: TcxGridDBTableView + OnMouseUp = Tv1MouseUp + Navigator.Buttons.CustomButtons = <> + OnCellClick = Tv1CellClick + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skCount + Column = v1Column5 + end + item + Kind = skSum + Column = v2Column5 + end + item + Kind = skSum + Column = v2Column6 + end + item + Kind = skSum + Column = v1Column15 + end + item + Kind = skSum + Column = v1Column16 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1Column4: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 40 + end + object v1Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 74 + end + object v2Column1: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'PRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 92 + end + object v2Column3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 77 + end + object v1Column11: TcxGridDBColumn + Caption = #33457#22411#33457#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object v1Column8: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'PRTMF' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 70 + end + object v1Column9: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'PRTKZ' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 59 + end + object v1Column13: TcxGridDBColumn + Caption = #20837#24211#21333#21495 + DataBinding.FieldName = 'RKOrdID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 69 + end + object v1Column14: TcxGridDBColumn + Caption = #24211#20301 + DataBinding.FieldName = 'RKPlace' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 54 + end + object v1Column5: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'MJXH' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column6: TcxGridDBColumn + Caption = #21367#26465#30721 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 92 + end + object v1Column12: TcxGridDBColumn + Caption = #21253#21495 + DataBinding.FieldName = 'BaoNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 52 + end + object v1BAOid: TcxGridDBColumn + Caption = #21253#26465#30721 + DataBinding.FieldName = 'BAOid' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 90 + end + object v1Column3: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'CPType' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 65 + end + object v1Column2: TcxGridDBColumn + Caption = #20837#24211#26102#38388 + DataBinding.FieldName = 'CRTime' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 107 + end + object v1Column15: TcxGridDBColumn + Caption = #30382#37325 + DataBinding.FieldName = 'MJqty3' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 59 + end + object v1Column16: TcxGridDBColumn + Caption = #20928#37325 + DataBinding.FieldName = 'MJqty4' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 56 + end + object v2Column5: TcxGridDBColumn + Caption = #27611#37325 + DataBinding.FieldName = 'KGQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 62 + end + object v2Column6: TcxGridDBColumn + Caption = #20837#24211#38271#24230 + DataBinding.FieldName = 'Qty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 85 + end + object v1Column7: TcxGridDBColumn + Caption = #38271#24230#21333#20301 + DataBinding.FieldName = 'QtyUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 83 + end + object v1Column10: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column17: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'MJstr4' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column18: TcxGridDBColumn + Caption = #26579#21378#32568#21495 + DataBinding.FieldName = 'MJstr5' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel4: TPanel + Left = 62 + Top = 148 + Width = 294 + Height = 212 + TabOrder = 3 + Visible = False + object Label11: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 292 + Height = 24 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #20107#20214#35828#26126 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + object Image2: TImage + Left = 269 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object RichEdit1: TRichEdit + Left = 1 + Top = 25 + Width = 292 + Height = 186 + Align = alClient + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + TabOrder = 1 + end + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 888 + Top = 8 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 936 + Top = 8 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 844 + Top = 8 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 932 + Top = 260 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 888 + Top = 144 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 836 + Top = 260 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 368 + Top = 168 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = CDS_PRT + Left = 520 + Top = 260 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 100 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 432 + Top = 224 + end + object PopupMenu1: TPopupMenu + Left = 564 + Top = 284 + object N1: TMenuItem + Caption = #20840#36873 + OnClick = N1Click + end + object N2: TMenuItem + Caption = #20840#24323 + OnClick = N2Click + end + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 1076 + Top = 17 + end + object RMDBHZ: TRMDBDataSet + Visible = True + DataSet = CDS_HZ + Left = 572 + Top = 168 + end + object CDS_HZ: TClientDataSet + Aggregates = <> + Params = <> + Left = 568 + Top = 224 + end + object CDS_PRT: TClientDataSet + Aggregates = <> + Params = <> + Left = 512 + Top = 224 + end +end diff --git a/打卷检验管理/U_CKProductBCPInList.pas b/打卷检验管理/U_CKProductBCPInList.pas new file mode 100644 index 0000000..4195b0f --- /dev/null +++ b/打卷检验管理/U_CKProductBCPInList.pas @@ -0,0 +1,771 @@ +unit U_CKProductBCPInList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, + cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, + cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, + cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, + cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, cxCheckBox, RM_Common, + RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, Menus, + cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; + +type + TfrmCKProductBCPInList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBExport: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + cxGridPopupMenu1: TcxGridPopupMenu; + Label3: TLabel; + Label4: TLabel; + PRTCodeName: TEdit; + Label1: TLabel; + Label2: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + CDS_Main: TClientDataSet; + Label5: TLabel; + orderNo: TEdit; + Label6: TLabel; + MJID: TEdit; + Label8: TLabel; + PRTKZ: TEdit; + Label9: TLabel; + PRTMF: TEdit; + Label7: TLabel; + CPType: TComboBox; + cxGrid2: TcxGrid; + Tv1: TcxGridDBTableView; + v1Column1: TcxGridDBColumn; + v2Column1: TcxGridDBColumn; + v2Column3: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v2Column5: TcxGridDBColumn; + v2Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + cxGrid2Level1: TcxGridLevel; + Label10: TLabel; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + TBRKCX: TToolButton; + v1Column4: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N1: TMenuItem; + N2: TMenuItem; + v1Column11: TcxGridDBColumn; + PRTColor: TComboBox; + v1Column12: TcxGridDBColumn; + v1Column13: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + v1Column15: TcxGridDBColumn; + v1Column16: TcxGridDBColumn; + ComboBox1: TComboBox; + BaoNo: TEdit; + v1BAOid: TcxGridDBColumn; + Panel4: TPanel; + Label11: TLabel; + Panel10: TPanel; + Image2: TImage; + RichEdit1: TRichEdit; + v1Column10: TcxGridDBColumn; + Label12: TLabel; + PRTHX: TEdit; + Label13: TLabel; + SOrddefstr1: TEdit; + Label14: TLabel; + ADOQueryPrint: TADOQuery; + RKOrdID: TEdit; + Label15: TLabel; + v1Column17: TcxGridDBColumn; + v1Column18: TcxGridDBColumn; + MJstr4: TEdit; + Label16: TLabel; + CheckBox1: TCheckBox; + RMDBHZ: TRMDBDataSet; + CDS_HZ: TClientDataSet; + CDS_PRT: TClientDataSet; + ToolButton1: TToolButton; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoMChange(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure PRTCodeNameChange(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure orderNoChange(Sender: TObject); + procedure orderNoKeyPress(Sender: TObject; var Key: Char); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure TBRKCXClick(Sender: TObject); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure PRTColorChange(Sender: TObject); + procedure BaoNoChange(Sender: TObject); + procedure Image2Click(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure CheckBox1Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + + private + FLeft,FTop:Integer; + procedure InitGrid(); + + Procedure JSbaoNum(); + { Private declarations } + public + { Public declarations } + end; + +var + frmCKProductBCPInList: TfrmCKProductBCPInList; + +implementation +uses + U_DataLink,U_Fun; + +{$R *.dfm} +Procedure TfrmCKProductBCPInList.JSbaoNum(); +var + i:integer; + baoID:string; + strlist:Tstringlist; +begin + i:=0; + baoID:=''; + IF CDS_Main.IsEmpty then + begin + Label12.Caption:='0'; + exit; + end; + strlist:=Tstringlist.Create; + try + with CDS_Main do + begin + DisableControls; + first; + while not eof do + begin + IF (trim(fieldbyname('BaoNO').AsString)<>'') then + begin + IF strlist.IndexOf(trim(fieldbyname('subID').AsString)+trim(fieldbyname('BaoNO').AsString))<0 then + begin + strlist.Add(trim(fieldbyname('subID').AsString)+trim(fieldbyname('BaoNO').AsString)); + end; + end; + { IF (trim(fieldbyname('BaoID').AsString)<>trim(baoID)) and (trim(fieldbyname('BaoID').AsString)<>'') then + begin + i:=i+1; + baoID:=trim(fieldbyname('BaoID').AsString); + end; } + Next; + end; + EnableControls; + end; + Label12.Caption:=''+inttostr(strlist.Count); + finally + strlist.Free; + end; +end; + + +procedure TfrmCKProductBCPInList.FormDestroy(Sender: TObject); +begin + frmCKProductBCPInList:=nil; +end; + +procedure TfrmCKProductBCPInList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmCKProductBCPInList.FormCreate(Sender: TObject); +begin + BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp) +end; + +procedure TfrmCKProductBCPInList.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('select A.*,B.OrderNo,C.PRTCodeName,C.PRTSpec,C.PRTColor,C.SOrddefstr1,C.PRTMF,C.PRTKZ,D.MJXH,C.PRTHX,D.MJQty3,D.MJQty4 '); + sql.Add(',isnull(customerNoName,B.OrderNo) KHName'); + sql.Add(',PONO=(select Top 1 KHConNo from JYOrderCon_Main JCM where JCM.ConNo=B.OrderNo)'); + sql.Add(',MPRTECodeName=(select Top 1 MPRTCodeName from JYOrderCon_Main JCM where JCM.ConNo=B.OrderNo)'); + sql.Add(',cast(D.mjstr4 as varchar(20)) as mjstr4,D.Mjstr5'); + sql.add('from CK_BanCP_CR A '); + Sql.add(' inner join JYOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); + Sql.add(' inner join WFB_MJJY D on A.MJId=D.MJId'); + sql.add('where A.CRTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''''); + sql.Add(' and A.CRTime<'''+Trim(FormatDateTime('yyyy-MM-dd',enddate.DateTime+1))+''''); + SQL.Add(' and A.CRType='''' '); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; + TBFind.Click; +end; + +procedure TfrmCKProductBCPInList.TBRafreshClick(Sender: TObject); +begin + BegDate.SetFocus; + InitGrid(); + +end; + +procedure TfrmCKProductBCPInList.ConNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + end; +end; + +procedure TfrmCKProductBCPInList.TBCloseClick(Sender: TObject); +begin + WriteCxGrid('Ʒֿ',Tv1,'Ʒֿ'); + Close; +end; + +procedure TfrmCKProductBCPInList.FormShow(Sender: TObject); +begin + ReadCxGrid('Ʒֿ',Tv1,'Ʒֿ'); + if Trim(DParameters2)='' then + begin + v1Column4.Visible:=True; + TBRKCX.Visible:=True; + + end else + begin + v1Column4.Visible:=False; + TBRKCX.Visible:=False; + + end; + InitGrid(); +end; + +procedure TfrmCKProductBCPInList.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then exit; + TcxGridToExcel('б',cxGrid2); +end; + +procedure TfrmCKProductBCPInList.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + end; + JSbaoNum(); +end; + + +procedure TfrmCKProductBCPInList.PRTCodeNameChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmCKProductBCPInList.TBPrintClick(Sender: TObject); +var + fPrintFile,fPrintFile10,FMainID:String; +begin + if CDS_Main.IsEmpty then Exit; + if trim(ComboBox1.Text)='' then exit; + if CDS_Main.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡ','ʾ',0); + Exit; + end; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\'+trim(ComboBox1.Text)+'.rmf' ; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete TBSubID where DName='''+Trim(DCode)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('SELECT * FROM TBSubID where 1=2 '); + open; + end; + FMainID:=''; + CDS_Main.DisableControls; + try + ADOQueryCmd.Connection.BeginTrans; + with CDS_Main do + begin + First; + while not Eof do + begin + If Fieldbyname('Ssel').AsBoolean then + begin + IF FMainID='' then + begin + FMainID:=Trim(CDS_Main.fieldbyname('mainID').AsString); + end + else + begin + IF Trim(CDS_Main.fieldbyname('mainID').AsString)<>FMainID then + begin + application.MessageBox('ѡIJͬһָʾһӡ','ʾϢ',0); + ADOQueryCmd.Connection.RollbackTrans; + EnableControls; + exit; + end; + end; + ADOQueryCmd.append; + ADOQueryCmd.fieldbyname('SubId').Value:=Trim(CDS_Main.fieldbyname('MJID').AsString); + ADOQueryCmd.fieldbyname('Dname').Value:=Trim(DCode); + ADOQueryCmd.post; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + except + ADOQueryCmd.Connection.RollbackTrans; + end; + CDS_Main.EnableControls; + + IF (trim(ComboBox1.Text)='뵥') or (trim(ComboBox1.Text)='뵥-') then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Print_CKMD '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); +// sql.add(',@flag=''0'' '); +// sql.add(',@CNum=''10'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_HZ); + SInitCDSData20(ADOQueryTemp,CDS_HZ); + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''2'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + end; + + IF trim(ComboBox1.Text)='뵥-QLO' then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add(' SELECT A.mainID,A.subID,A.MJStr4,A.MJLen,A.MJTypeOther,A.baoID,A.baoNo,A.MJQty2,A.MJQty3,A.MJQty4,A.MJMaoZ,A.MJXH,A.MJID, '); + sql.add('B.SOrddefstr1,B.PRTCodeName,B.prtSpec,B.PRTColor,B.SOrddefstr4,B.PRTHX,B.Sorddefstr6,B.PRTKuanNO, '); + sql.add('C.Filler as zl,C.OrdPerson1,C.OrderNo,'); + sql.add('CRTime=(select MAX(CRTime) from CK_BanCP_CR X where X.MJID=A.MJID),'); + sql.add('CKOrdNo=(select MAX(CKOrdNo) from CK_BanCP_CR X where X.MJID=A.MJID ) '); +// sql.add(',a=count(distinct A.MJStr4)'); + sql.add('FROM WFB_MJJY A'); + sql.add('inner join JYOrder_Sub B on B.MainId=A.MainId and B.SubId=A.subID '); + sql.add('inner join JYOrder_Main C on C.MainId=A.MainId '); + sql.add('WHERE EXISTS(select SubId from TBSubID X where X.SubId=A.MJID and X.DName='''+DCode+''') '); + sql.add('ORDER BY A.MainID,A.subID,A.MJStr4,A.MJXH '); +// showmessage(sql.Text); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_HZ); + SInitCDSData20(ADOQueryTemp,CDS_HZ); + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''2'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + end; + + IF (trim(ComboBox1.Text)='ɫװ') OR (trim(ComboBox1.Text)='ɫװ-') OR (trim(ComboBox1.Text)='װ') then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd20 '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''0'' '); + sql.add(',@CNum=''10'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_HZ); + SInitCDSData20(ADOQueryTemp,CDS_HZ); + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''0'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + end; + +// IF (trim(ComboBox1.Text)='װ') then +// begin +// with ADOQueryTemp do +// begin +// Close; +// sql.Clear; +// sql.add('select A.OrderNo,B.* from WFB_MJJY B left join JYOrder_Main A on A.MainId=B.MainId '); +// sql.add('where A.OrderNo ='+Trim(CDS_Main.fieldbyname('orderNo').AsString)); +// sql.add('order by b.MJXH'); +// Open; +// end; +// SCreateCDS20(ADOQueryTemp,CDS_HZ); +// SInitCDSData20(ADOQueryTemp,CDS_HZ); +// +// with ADOQueryTemp do +// begin +// Close; +// sql.Clear; +// sql.add('exec P_Do_PrintMd_HZ '); +// sql.add('@mainID='+quotedstr(Trim(''))); +// sql.add(',@DName='+quotedstr(Trim(DCode))); +// sql.add(',@flag=''0'' '); +// Open; +// end; +// SCreateCDS20(ADOQueryTemp,CDS_PRT); +// SInitCDSData20(ADOQueryTemp,CDS_PRT); +// end; + + IF trim(ComboBox1.Text)='ɫװ-10ɫ' then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd30 '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''0'' '); + sql.add(',@CNum=''10'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_HZ); + SInitCDSData20(ADOQueryTemp,CDS_HZ); + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''1'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + end; + IF trim(ComboBox1.Text)='ɫװ-' then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd30 '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''0'' '); + sql.add(',@CNum=''10'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_HZ); + SInitCDSData20(ADOQueryTemp,CDS_HZ); + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''1'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + + end; + + + + if FileExists(fPrintFile) then + begin + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end + else + begin + Application.MessageBox(PChar('û'+fPrintFile),'ʾ',0); + end; +end; + + + + +procedure TfrmCKProductBCPInList.orderNoChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmCKProductBCPInList.orderNoKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Length(Trim(orderNo.Text))<4 then Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('select A.*,B.OrderNo,C.PRTCodeName,C.PRTSpec,C.PRTColor,C.SOrddefstr1,C.PRTMF,C.PRTKZ,D.MJXH,C.PRTHX,D.MJQty3,D.MJQty4'); + sql.Add(',isnull(customerNoName,B.OrderNo) KHName'); + sql.Add(',PONO=(select Top 1 KHConNo from JYOrderCon_Main JCM where JCM.ConNo=B.OrderNo)'); + sql.Add(',MPRTECodeName=(select Top 1 MPRTCodeName from JYOrderCon_Main JCM where JCM.ConNo=B.OrderNo)'); + sql.Add(',D.mjstr4,D.MJstr5'); + sql.add('from CK_BanCP_CR A '); + Sql.add(' inner join JYOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); + Sql.add(' inner join WFB_MJJY D on A.MJId=D.MJId'); + sql.add('where B.OrderNo like :OrderNo'); + SQL.Add(' and CRType='''' '); + Parameters.ParamByName('orderNo').Value:='%'+Trim(orderNo.Text)+'%'; + + Open; + //ShowMessage(SQL.Text); + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + if CDS_Main.IsEmpty=False then + begin + InitOrderColor(Trim(CDS_Main.fieldbyname('MainId').AsString),PRTColor,ADOQueryTemp); + //InitBCGangNo(Trim(CDS_Main.fieldbyname('SubId').AsString),AOrdDefStr1,ADOQueryTemp); + end; + finally + ADOQueryMain.EnableControls; + end; + JSbaoNum(); + end; +end; + +procedure TfrmCKProductBCPInList.N1Click(Sender: TObject); +begin + SelOKNo(CDS_Main,True); +end; + +procedure TfrmCKProductBCPInList.N2Click(Sender: TObject); +begin + SelOKNo(CDS_Main,False); +end; + +procedure TfrmCKProductBCPInList.TBRKCXClick(Sender: TObject); +begin + if CDS_Main.IsEmpty then Exit; + if CDS_Main.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪִв','ʾ',32+4)<>IDYES then Exit; + BegDate.SetFocus; + try + ADOQueryCmd.Connection.BeginTrans; + with CDS_Main do + begin + while Locate('SSel',True,[]) do + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_CR where CRID='+Trim(CDS_Main.fieldbyname('CRID').AsString)); + Open; + end; + if ADOQueryTemp.RecordCount>1 then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ѳⲻܳ!','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete CK_BanCP_CR where BCID='''+Trim(CDS_Main.fieldbyname('BCID').AsString)+''''); + sql.Add('delete CK_BanCP_KC where CRID='+Trim(CDS_Main.fieldbyname('CRID').AsString)); + sql.Add('Update WFB_MJJY Set MJStr2=''δ'' where MJID='''+Trim(CDS_Main.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + CDS_Main.Delete; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ʧ!','ʾ',0); + end; +end; + +procedure TfrmCKProductBCPInList.Tv1CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if CDS_Main.IsEmpty=False then + begin + InitOrderColor(Trim(CDS_Main.fieldbyname('MainId').AsString),PRTColor,ADOQueryTemp); + // InitBCGangNo(Trim(CDS_Main.fieldbyname('SubId').AsString),AOrdDefStr1,ADOQueryTemp); + end; +end; + +procedure TfrmCKProductBCPInList.PRTColorChange(Sender: TObject); +begin + TBFind.Click; + if CDS_Main.IsEmpty=False then + begin + //InitOrderColor(Trim(CDS_Main.fieldbyname('MainId').AsString),PRTColor,ADOQueryTemp); + //InitBCGangNo(Trim(CDS_Main.fieldbyname('SubId').AsString),AOrdDefStr1,ADOQueryTemp); + end; +end; + +procedure TfrmCKProductBCPInList.BaoNoChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmCKProductBCPInList.Image2Click(Sender: TObject); +begin + Panel4.Visible:=False; +end; + +procedure TfrmCKProductBCPInList.Tv1CellDblClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + Panel4.Left:=FLeft; + Panel4.Top:=FTop+110; + Panel4.Visible:=True; + Panel4.Refresh; + Panel10.Caption:=Trim(TV1.Controller.FocusedColumn.Caption); + RichEdit1.Text:=CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString; +end; + +procedure TfrmCKProductBCPInList.Tv1MouseUp(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FLeft:=X; + FTop:=Y; +end; + +procedure TfrmCKProductBCPInList.CheckBox1Click(Sender: TObject); +begin + SelOKNo(CDS_Main,CheckBox1.Checked); +end; + + +procedure TfrmCKProductBCPInList.ToolButton1Click(Sender: TObject); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('select A.*,B.OrderNo,C.PRTCodeName,C.PRTSpec,C.PRTColor,C.SOrddefstr1,C.PRTMF,C.PRTKZ,D.MJXH,C.PRTHX,D.MJQty3,D.MJQty4'); + sql.Add(',isnull(customerNoName,B.OrderNo) KHName'); + sql.Add(',PONO=(select Top 1 KHConNo from JYOrderCon_Main JCM where JCM.ConNo=B.OrderNo)'); + sql.Add(',MPRTECodeName=(select Top 1 MPRTCodeName from JYOrderCon_Main JCM where JCM.ConNo=B.OrderNo)'); + sql.Add(',D.mjstr4,D.Mjstr5'); + sql.add('from CK_BanCP_CR A '); + Sql.add(' inner join JYOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); + Sql.add(' inner join WFB_MJJY D on A.MJId=D.MJId'); + Sql.add('inner join CK_BanCP_KC E on A.BCID=E.BCID'); + sql.add('where A.CRTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''''); + sql.Add(' and A.CRTime<'''+Trim(FormatDateTime('yyyy-MM-dd',enddate.DateTime+1))+''''); + SQL.Add(' and A.CRType='''' '); + SQL.Add('and (E.KCQty>0 or E.KCKGQty>0) '); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; + TBFind.Click; +end; + +end. diff --git a/打卷检验管理/U_CKProductBCPKC.dfm b/打卷检验管理/U_CKProductBCPKC.dfm new file mode 100644 index 0000000..15b89ba --- /dev/null +++ b/打卷检验管理/U_CKProductBCPKC.dfm @@ -0,0 +1,330 @@ +object frmCKProductBCPKC: TfrmCKProductBCPKC + Left = 128 + Top = 152 + Width = 1027 + Height = 511 + Caption = #21322#25104#21697#20986#20837#23384 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1019 + Height = 33 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBProducttion.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBExport: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + Visible = False + end + object TBClose: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 33 + Width = 1019 + Height = 42 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label3: TLabel + Left = 302 + Top = 12 + Width = 48 + Height = 12 + Caption = #20135#21697#20195#21495 + end + object Label4: TLabel + Left = 478 + Top = 12 + Width = 24 + Height = 12 + Caption = #39068#33394 + end + object Label7: TLabel + Left = 638 + Top = 12 + Width = 24 + Height = 12 + Caption = #33457#22411 + end + object Label1: TLabel + Left = 28 + Top = 12 + Width = 48 + Height = 12 + Caption = #26597#35810#26102#38388 + end + object Label2: TLabel + Left = 168 + Top = 12 + Width = 12 + Height = 12 + Caption = #33267 + end + object YCLName: TEdit + Tag = 2 + Left = 351 + Top = 9 + Width = 100 + Height = 20 + TabOrder = 0 + OnChange = YCLNameChange + end + object SWFBColor: TEdit + Tag = 2 + Left = 502 + Top = 9 + Width = 100 + Height = 20 + TabOrder = 1 + OnChange = YCLNameChange + end + object SWFBHW: TEdit + Tag = 2 + Left = 663 + Top = 9 + Width = 100 + Height = 20 + TabOrder = 2 + OnChange = YCLNameChange + end + object BegDate: TDateTimePicker + Left = 77 + Top = 9 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + TabOrder = 3 + end + object EndDate: TDateTimePicker + Left = 181 + Top = 9 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + TabOrder = 4 + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 75 + Width = 1019 + Height = 399 + Align = alClient + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column5 + end + item + Kind = skSum + Column = v2Column6 + end + item + Kind = skSum + Column = v1Column1 + end + item + Kind = skSum + end + item + Kind = skSum + Column = v2Column7 + end + item + Kind = skSum + Column = v2Column8 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = DataLink_WFBProducttion.Default + object v2Column1: TcxGridDBColumn + Caption = #20135#21697#20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 92 + end + object v2Column2: TcxGridDBColumn + Caption = #24133#23485 + DataBinding.FieldName = 'XJFK' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 77 + end + object v2Column3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 77 + end + object v2Column4: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'SWFBKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 82 + end + object v1Column3: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Width = 58 + end + object v1Column4: TcxGridDBColumn + Caption = #32593#23380#30446#25968 + DataBinding.FieldName = 'WKMS' + Width = 57 + end + object v2Column5: TcxGridDBColumn + Caption = #19978#26399#25968#37327 + DataBinding.FieldName = 'SQJCS' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 73 + end + object v2Column6: TcxGridDBColumn + Caption = #26412#26399#20837#24211#25968#37327 + DataBinding.FieldName = 'RKS' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 101 + end + object v1Column1: TcxGridDBColumn + Caption = #26412#26399#22238#20179#25968#37327 + DataBinding.FieldName = 'HCS' + Options.Focusing = False + Width = 87 + end + object v2Column7: TcxGridDBColumn + Caption = #26412#26399#20986#24211#25968#37327 + DataBinding.FieldName = 'CKS' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 93 + end + object v2Column8: TcxGridDBColumn + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'KCQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 56 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 904 + Top = 40 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 840 + Top = 40 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 872 + Top = 40 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 624 + Top = 184 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 544 + Top = 176 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 416 + Top = 192 + end +end diff --git a/打卷检验管理/U_CKProductBCPKC.pas b/打卷检验管理/U_CKProductBCPKC.pas new file mode 100644 index 0000000..b141d79 --- /dev/null +++ b/打卷检验管理/U_CKProductBCPKC.pas @@ -0,0 +1,207 @@ +unit U_CKProductBCPKC; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, + cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, + cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, + cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, + cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit; + +type + TfrmCKProductBCPKC = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBExport: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + cxGridPopupMenu1: TcxGridPopupMenu; + Label3: TLabel; + Label4: TLabel; + Label7: TLabel; + YCLName: TEdit; + SWFBColor: TEdit; + SWFBHW: TEdit; + Label1: TLabel; + Label2: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + CDS_Main: TClientDataSet; + Tv1: TcxGridDBTableView; + cxGrid2Level1: TcxGridLevel; + cxGrid2: TcxGrid; + v2Column1: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + v2Column3: TcxGridDBColumn; + v2Column4: TcxGridDBColumn; + v2Column5: TcxGridDBColumn; + v2Column6: TcxGridDBColumn; + v2Column7: TcxGridDBColumn; + v2Column8: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoMChange(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure YCLNameChange(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + private + procedure InitGrid(); + { Private declarations } + public + { Public declarations } + end; + +var + frmCKProductBCPKC: TfrmCKProductBCPKC; + +implementation +uses + U_DataLink,U_Fun,U_CRMX; + +{$R *.dfm} + +procedure TfrmCKProductBCPKC.FormDestroy(Sender: TObject); +begin + frmCKProductBCPKC:=nil; +end; + +procedure TfrmCKProductBCPKC.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmCKProductBCPKC.FormCreate(Sender: TObject); +begin + //cxGrid1.Align:=alClient; + BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-30; + EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp) +end; + +procedure TfrmCKProductBCPKC.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('exec CK_YCL_CRCHZ :begdate,:enddate,:CKName'); + Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime)); + Parameters.ParamByName('enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)); + Parameters.ParamByName('CKName').Value:=Trim(DParameters1); + Open; + //ShowMessage(SQL.Text); + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmCKProductBCPKC.TBRafreshClick(Sender: TObject); +begin + BegDate.SetFocus; + InitGrid(); +end; + +procedure TfrmCKProductBCPKC.ConNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + end; +end; + +procedure TfrmCKProductBCPKC.TBCloseClick(Sender: TObject); +begin + WriteCxGrid('ԭϿ2',Tv1,'ԭϲֿ'); + Close; +end; + +procedure TfrmCKProductBCPKC.FormShow(Sender: TObject); +begin + + ReadCxGrid('ԭϿ2',Tv1,'ԭϲֿ'); + if Trim(DParameters2)='ԭ' then + begin + ToolButton1.Visible:=True; + v2Column9.Options.Focusing:=True; + v2Column9.Visible:=True; + end else + begin + ToolButton1.Visible:=False; + v2Column9.Options.Focusing:=False; + v2Column9.Visible:=False; + end; + InitGrid(); +end; + +procedure TfrmCKProductBCPKC.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then exit; + TcxGridToExcel(Trim(DParameters1)+'',cxGrid2); +end; + +procedure TfrmCKProductBCPKC.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + end; +end; + +procedure TfrmCKProductBCPKC.YCLNameChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmCKProductBCPKC.Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + try + frmCRMX:=TfrmCRMX.Create(Application); + with frmCRMX do + begin + Fbegdate:=FormatDateTime('yyyy-MM-dd',Self.BegDate.DateTime); + Fenddate:=FormatDateTime('yyyy-MM-dd',Self.enddate.DateTime+1); + {FGYS:=Trim(Self.CDS_Main.fieldbyname('GYS').AsString); + FYCLCode:=Trim(Self.CDS_Main.fieldbyname('YCLCode').AsString); + FYCLSpec:=Trim(Self.CDS_Main.fieldbyname('YCLSpec').AsString); + FCRUnit:=Trim(Self.CDS_Main.fieldbyname('KCUint').AsString); } + CRID:=Trim(Self.CDS_Main.fieldbyname('CRID').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmCRMX.Free; + end; +end; + +end. diff --git a/打卷检验管理/U_CKProductBCPKCHZList.dfm b/打卷检验管理/U_CKProductBCPKCHZList.dfm new file mode 100644 index 0000000..dc51541 --- /dev/null +++ b/打卷检验管理/U_CKProductBCPKCHZList.dfm @@ -0,0 +1,576 @@ +object frmCKProductBCPKCHZList: TfrmCKProductBCPKCHZList + Left = 176 + Top = 156 + Width = 1027 + Height = 511 + Caption = #25104#21697#24211#23384#27719#24635#21015#34920 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1011 + Height = 33 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBExport: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + Visible = False + end + object TBClose: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 33 + Width = 1011 + Height = 61 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label3: TLabel + Left = 215 + Top = 12 + Width = 48 + Height = 12 + Caption = #20013#25991#21517#31216 + end + object Label4: TLabel + Left = 384 + Top = 12 + Width = 24 + Height = 12 + Caption = #39068#33394 + end + object Label1: TLabel + Left = 780 + Top = 12 + Width = 48 + Height = 12 + Caption = #26597#35810#26102#38388 + Visible = False + end + object Label2: TLabel + Left = 816 + Top = 36 + Width = 12 + Height = 12 + Caption = #33267 + Visible = False + end + object Label5: TLabel + Left = 45 + Top = 12 + Width = 36 + Height = 12 + Caption = #35746#21333#21495 + end + object Label6: TLabel + Left = 45 + Top = 36 + Width = 36 + Height = 12 + Caption = #33394' '#21495 + end + object Label8: TLabel + Left = 215 + Top = 36 + Width = 48 + Height = 12 + Caption = #20811' '#37325 + end + object Label9: TLabel + Left = 384 + Top = 36 + Width = 24 + Height = 12 + Caption = #38376#24133 + end + object Label7: TLabel + Left = 616 + Top = 36 + Width = 48 + Height = 12 + Caption = #31867' '#22411 + end + object Label10: TLabel + Left = 508 + Top = 36 + Width = 6 + Height = 12 + end + object Label11: TLabel + Left = 492 + Top = 12 + Width = 36 + Height = 12 + Caption = #19994#21153#21592 + end + object Label12: TLabel + Left = 492 + Top = 36 + Width = 36 + Height = 12 + Caption = #36319#21333#21592 + end + object PRTCodeName: TEdit + Tag = 2 + Left = 264 + Top = 8 + Width = 100 + Height = 20 + TabOrder = 0 + OnChange = PRTCodeNameChange + end + object BegDate: TDateTimePicker + Left = 829 + Top = 9 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + Visible = False + end + object EndDate: TDateTimePicker + Left = 829 + Top = 33 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + Visible = False + end + object orderNo: TEdit + Tag = 2 + Left = 86 + Top = 8 + Width = 103 + Height = 20 + TabOrder = 3 + OnChange = PRTCodeNameChange + end + object SOrddefstr1: TEdit + Tag = 2 + Left = 86 + Top = 32 + Width = 103 + Height = 20 + TabOrder = 4 + OnChange = PRTCodeNameChange + end + object PRTKZ: TEdit + Tag = 1 + Left = 264 + Top = 32 + Width = 100 + Height = 20 + TabOrder = 5 + OnChange = PRTCodeNameChange + end + object PRTMF: TEdit + Tag = 1 + Left = 408 + Top = 32 + Width = 65 + Height = 20 + TabOrder = 6 + OnChange = PRTCodeNameChange + end + object CPType: TComboBox + Tag = 2 + Left = 667 + Top = 32 + Width = 68 + Height = 20 + Style = csDropDownList + ItemHeight = 12 + TabOrder = 7 + OnChange = TBFindClick + Items.Strings = ( + #27491#21697 + #27425#21697 + #22810#25340 + '') + end + object YWY: TEdit + Tag = 2 + Left = 530 + Top = 8 + Width = 65 + Height = 20 + TabOrder = 8 + OnChange = PRTCodeNameChange + end + object OrdPerson1: TEdit + Tag = 2 + Left = 530 + Top = 32 + Width = 65 + Height = 20 + TabOrder = 9 + OnChange = PRTCodeNameChange + end + object PRTColor: TComboBox + Tag = 1 + Left = 408 + Top = 8 + Width = 66 + Height = 20 + ItemHeight = 12 + TabOrder = 10 + OnChange = PRTColorChange + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 94 + Width = 1011 + Height = 379 + Align = alClient + TabOrder = 2 + object Tv1: TcxGridDBTableView + OnMouseUp = Tv1MouseUp + Navigator.Buttons.CustomButtons = <> + OnCellClick = Tv1CellClick + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1Column6 + end + item + Kind = skSum + Column = v2Column5 + end + item + Kind = skSum + Column = v2Column6 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 74 + end + object v2Column1: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'PRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 92 + end + object v2Column3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 77 + end + object v1Column5: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 71 + end + object v1Column10: TcxGridDBColumn + Caption = #33457#22411#33457#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 65 + end + object v1Column2: TcxGridDBColumn + Caption = #19994#21153#21592 + DataBinding.FieldName = 'YWY' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 52 + end + object v1Column4: TcxGridDBColumn + Caption = #36319#21333#21592 + DataBinding.FieldName = 'OrdPerson1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 59 + end + object v1Column8: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'PRTMF' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 70 + end + object v1Column9: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'PRTKZ' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 59 + end + object v1Column3: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'CPType' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 63 + end + object v1Column6: TcxGridDBColumn + Caption = #21367#25968#37327 + DataBinding.FieldName = 'JQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 74 + end + object v2Column5: TcxGridDBColumn + Caption = #24211#23384#20844#26020#25968 + DataBinding.FieldName = 'KCKGQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 83 + end + object v2Column6: TcxGridDBColumn + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'KCQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 85 + end + object v1Column7: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'KCQtyUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 83 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object MovePanel2: TMovePanel + Left = 408 + Top = 192 + Width = 289 + Height = 49 + BevelInner = bvLowered + Caption = #27491#22312#26597#35810#25968#25454#65292#35831#31245#21518#12290#12290#12290 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + end + object Panel4: TPanel + Left = 62 + Top = 148 + Width = 294 + Height = 212 + TabOrder = 4 + Visible = False + object Label13: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 292 + Height = 24 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #20107#20214#35828#26126 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + object Image2: TImage + Left = 269 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object RichEdit1: TRichEdit + Left = 1 + Top = 25 + Width = 292 + Height = 186 + Align = alClient + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + TabOrder = 1 + end + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 968 + Top = 40 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 984 + Top = 40 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 944 + Top = 32 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 920 + Top = 152 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 888 + Top = 144 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 896 + Top = 128 + end +end diff --git a/打卷检验管理/U_CKProductBCPKCHZList.pas b/打卷检验管理/U_CKProductBCPKCHZList.pas new file mode 100644 index 0000000..83f9ebf --- /dev/null +++ b/打卷检验管理/U_CKProductBCPKCHZList.pas @@ -0,0 +1,294 @@ +unit U_CKProductBCPKCHZList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, + cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, + cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, + cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, + cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, MovePanel, cxButtonEdit, + cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; + +type + TfrmCKProductBCPKCHZList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBExport: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + cxGridPopupMenu1: TcxGridPopupMenu; + Label3: TLabel; + Label4: TLabel; + PRTCodeName: TEdit; + Label1: TLabel; + Label2: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + CDS_Main: TClientDataSet; + Tv1: TcxGridDBTableView; + cxGrid2Level1: TcxGridLevel; + cxGrid2: TcxGrid; + v2Column1: TcxGridDBColumn; + v2Column3: TcxGridDBColumn; + v2Column5: TcxGridDBColumn; + v2Column6: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + Label5: TLabel; + orderNo: TEdit; + Label6: TLabel; + SOrddefstr1: TEdit; + v1Column7: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + Label8: TLabel; + PRTKZ: TEdit; + Label9: TLabel; + PRTMF: TEdit; + Label7: TLabel; + CPType: TComboBox; + v1Column3: TcxGridDBColumn; + MovePanel2: TMovePanel; + v1Column2: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + Label10: TLabel; + Label11: TLabel; + Label12: TLabel; + YWY: TEdit; + OrdPerson1: TEdit; + v1Column5: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + PRTColor: TComboBox; + Panel4: TPanel; + Label13: TLabel; + Panel10: TPanel; + Image2: TImage; + RichEdit1: TRichEdit; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoMChange(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure PRTCodeNameChange(Sender: TObject); + procedure v1Column5PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure PRTColorChange(Sender: TObject); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Image2Click(Sender: TObject); + private + FLeft,FTop:Integer; + procedure InitGrid(); + { Private declarations } + public + { Public declarations } + end; + +var + frmCKProductBCPKCHZList: TfrmCKProductBCPKCHZList; + +implementation +uses + U_DataLink,U_Fun,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmCKProductBCPKCHZList.FormDestroy(Sender: TObject); +begin + frmCKProductBCPKCHZList:=nil; +end; + +procedure TfrmCKProductBCPKCHZList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmCKProductBCPKCHZList.FormCreate(Sender: TObject); +begin + //cxGrid1.Align:=alClient; + BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp) +end; + +procedure TfrmCKProductBCPKCHZList.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select YWY=B.OrdPerson2,B.OrdPerson1,C.SOrdDefStr10,C.SubId,A.* ,B.OrdDefStr1,B.OrderNo,C.PRTCodeName,C.PRTColor,C.PRTMF,C.PRTKZ '); + sql.Add(',C.SOrddefstr1,C.PRTHX'); + sql.Add(' from(select sum(KCQty) KCQty,Sum(KCKgQty) KCKgQty,count(*) JQty,AA.MainId,AA.SubId,AA.CPType,KC.KCQtyUnit '); + sql.Add(' from CK_BanCP_KC KC inner join CK_BanCP_CR AA on KC.CRID=AA.CRID and AA.CRType='''''); + sql.Add(' where (KC.KCQty>0 or KC.KCKgQty>0) group by AA.MainId,AA.SubId,AA.CPType,KC.KCQtyUnit ) A'); + Sql.add(' inner join JYOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); + { if Trim(DParameters1)<>'Ȩ' then + begin + sql.Add(' where B.Filler='''+Trim(DName)+''''); + end else + begin + end; } + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmCKProductBCPKCHZList.TBRafreshClick(Sender: TObject); +begin + MovePanel2.Visible:=True; + MovePanel2.Refresh; + InitGrid(); + MovePanel2.Visible:=False; +end; + +procedure TfrmCKProductBCPKCHZList.ConNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + end; +end; + +procedure TfrmCKProductBCPKCHZList.TBCloseClick(Sender: TObject); +begin + WriteCxGrid('ֿб',Tv1,'Ʒֿ'); + Close; +end; + +procedure TfrmCKProductBCPKCHZList.FormShow(Sender: TObject); +begin + + ReadCxGrid('ֿб',Tv1,'Ʒֿ'); + if Trim(DParameters2)='' then + begin + v1Column5.Options.Focusing:=True; + end else + begin + v1Column5.Options.Focusing:=False; + end; + //InitGrid(); +end; + +procedure TfrmCKProductBCPKCHZList.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then exit; + TcxGridToExcel('б',cxGrid2); +end; + +procedure TfrmCKProductBCPKCHZList.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + end; +end; + +procedure TfrmCKProductBCPKCHZList.PRTCodeNameChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmCKProductBCPKCHZList.v1Column5PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='SOrdDefStr10'; + flagname:='ŵص'; + if ShowModal=1 then + begin + with CDS_Main do + begin + Edit; + FieldByName('SOrdDefStr10').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYOrder_Sub Set SOrdDefStr10='''+Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)+''''); + sql.Add(' where SubId='''+Trim(Self.CDS_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmCKProductBCPKCHZList.PRTColorChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmCKProductBCPKCHZList.Tv1CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if CDS_Main.IsEmpty=False then + begin + InitOrderColor(Trim(CDS_Main.fieldbyname('MainId').AsString),PRTColor,ADOQueryTemp); + //InitBCGangNo(Trim(CDS_Main.fieldbyname('SubId').AsString),AOrdDefStr1,ADOQueryTemp); + end; +end; + +procedure TfrmCKProductBCPKCHZList.Tv1CellDblClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + Panel4.Left:=FLeft; + Panel4.Top:=FTop+110; + Panel4.Visible:=True; + Panel4.Refresh; + Panel10.Caption:=Trim(TV1.Controller.FocusedColumn.Caption); + RichEdit1.Text:=CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString; +end; + +procedure TfrmCKProductBCPKCHZList.Tv1MouseUp(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FLeft:=X; + FTop:=Y; +end; + +procedure TfrmCKProductBCPKCHZList.Image2Click(Sender: TObject); +begin + Panel4.Visible:=False; +end; + +end. diff --git a/打卷检验管理/U_CKProductBCPKCList.dfm b/打卷检验管理/U_CKProductBCPKCList.dfm new file mode 100644 index 0000000..0a62748 --- /dev/null +++ b/打卷检验管理/U_CKProductBCPKCList.dfm @@ -0,0 +1,822 @@ +object frmCKProductBCPKCList: TfrmCKProductBCPKCList + Left = 210 + Top = 140 + Width = 1184 + Height = 587 + Caption = #25104#21697#24211#23384#21015#34920 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1168 + Height = 33 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBExport: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBZD: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #36716#21333 + ImageIndex = 102 + OnClick = TBZDClick + end + object ToolButton1: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 57 + Visible = False + OnClick = ToolButton1Click + end + object TBPrint: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + Visible = False + OnClick = TBPrintClick + end + object ComboBox1: TComboBox + Left = 378 + Top = 3 + Width = 140 + Height = 24 + Style = csDropDownList + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ItemHeight = 16 + ParentFont = False + TabOrder = 0 + Visible = False + Items.Strings = ( + #38144#21806#30721#21333 + #21333#33394#21253#35013 + #21333#33394#21253#35013'-'#38271#24230 + #28151#33394#21253#35013'-10'#33394 + #28151#33394#21253#35013'-'#37325#37327) + end + object TBClose: TToolButton + Left = 518 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 33 + Width = 1168 + Height = 64 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label3: TLabel + Left = 213 + Top = 12 + Width = 48 + Height = 12 + Caption = #20013#25991#21517#31216 + end + object Label1: TLabel + Left = 1020 + Top = 12 + Width = 48 + Height = 12 + Caption = #26597#35810#26102#38388 + Visible = False + end + object Label2: TLabel + Left = 1048 + Top = 40 + Width = 12 + Height = 12 + Caption = #33267 + Visible = False + end + object Label5: TLabel + Left = 45 + Top = 12 + Width = 36 + Height = 12 + Caption = #35746#21333#21495 + end + object Label6: TLabel + Left = 45 + Top = 36 + Width = 36 + Height = 12 + Caption = #21367#26465#30721 + end + object Label8: TLabel + Left = 213 + Top = 36 + Width = 48 + Height = 12 + Caption = #20811' '#37325 + end + object Label9: TLabel + Left = 402 + Top = 36 + Width = 24 + Height = 12 + Caption = #38376#24133 + end + object Label7: TLabel + Left = 580 + Top = 36 + Width = 24 + Height = 12 + Caption = #31867#22411 + end + object Label4: TLabel + Left = 402 + Top = 12 + Width = 24 + Height = 12 + Caption = #39068#33394 + end + object Label10: TLabel + Left = 984 + Top = 28 + Width = 24 + Height = 12 + Caption = #32568#21495 + Visible = False + end + object Label12: TLabel + Left = 580 + Top = 12 + Width = 24 + Height = 12 + Caption = #21253#21495 + end + object PRTCodeName: TEdit + Tag = 2 + Left = 263 + Top = 8 + Width = 100 + Height = 20 + TabOrder = 0 + OnChange = PRTCodeNameChange + end + object BegDate: TDateTimePicker + Left = 1069 + Top = 9 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + Visible = False + end + object EndDate: TDateTimePicker + Left = 1069 + Top = 33 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + Visible = False + end + object orderNo: TEdit + Tag = 2 + Left = 84 + Top = 8 + Width = 100 + Height = 20 + TabOrder = 3 + OnChange = PRTCodeNameChange + end + object MJID: TEdit + Tag = 2 + Left = 84 + Top = 33 + Width = 100 + Height = 20 + TabOrder = 4 + OnChange = PRTCodeNameChange + end + object PRTKZ: TEdit + Tag = 1 + Left = 263 + Top = 33 + Width = 100 + Height = 20 + TabOrder = 5 + OnChange = PRTCodeNameChange + end + object PRTMF: TEdit + Tag = 1 + Left = 428 + Top = 32 + Width = 100 + Height = 20 + TabOrder = 6 + OnChange = PRTCodeNameChange + end + object CPType: TComboBox + Tag = 2 + Left = 606 + Top = 32 + Width = 100 + Height = 20 + Style = csDropDownList + ItemHeight = 12 + TabOrder = 7 + OnChange = TBFindClick + Items.Strings = ( + #27491#21697 + #27425#21697 + #22810#25340 + '' + '' + '') + end + object PRTColor: TComboBox + Tag = 1 + Left = 428 + Top = 8 + Width = 100 + Height = 20 + ItemHeight = 12 + TabOrder = 8 + OnChange = PRTColorChange + end + object AOrdDefStr1: TComboBox + Tag = 1 + Left = 1011 + Top = 24 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ItemHeight = 12 + TabOrder = 9 + Visible = False + OnChange = AOrdDefStr1Change + end + object baoNo: TEdit + Tag = 1 + Left = 606 + Top = 8 + Width = 100 + Height = 20 + TabOrder = 10 + OnChange = PRTCodeNameChange + end + object CheckBox1: TCheckBox + Left = 764 + Top = 36 + Width = 97 + Height = 17 + Caption = #20840#36873 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + OnClick = CheckBox1Click + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 97 + Width = 1168 + Height = 452 + Align = alClient + PopupMenu = PopupMenu1 + TabOrder = 2 + object Tv1: TcxGridDBTableView + OnMouseUp = Tv1MouseUp + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv1CellClick + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skCount + Column = v1Column6 + end + item + Kind = skSum + Column = v2Column5 + end + item + Kind = skSum + Column = v2Column6 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Deleting = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1Column12: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 53 + end + object v1Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 74 + end + object v2Column1: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'PRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 92 + end + object v1Column10: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 59 + end + object v1Column13: TcxGridDBColumn + Caption = #33457#22411#33457#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 58 + end + object v2Column3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 77 + end + object v1Column8: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'PRTMF' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 70 + end + object v1Column9: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'PRTKZ' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 59 + end + object v1Column6: TcxGridDBColumn + Caption = #21367#26465#30721 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 92 + end + object v1Column14: TcxGridDBColumn + Caption = #21253#21495 + DataBinding.FieldName = 'baoNO' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = FontBlue + Styles.Footer = FontBlue + Styles.Header = FontBlue + Width = 83 + end + object v1Column4: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'MJXH' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 59 + end + object v1Column3: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'CPType' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 63 + end + object v2Column5: TcxGridDBColumn + Caption = #24211#23384#20844#26020#25968 + DataBinding.FieldName = 'KCKGQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 83 + end + object v2Column6: TcxGridDBColumn + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'KCQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 85 + end + object v1Column7: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'QtyUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 83 + end + object v1Column5: TcxGridDBColumn + Caption = #30133#28857#24773#20917 + DataBinding.FieldName = 'CDQK' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 96 + end + object v1Column11: TcxGridDBColumn + Caption = #20837#24211#26102#38388 + DataBinding.FieldName = 'CRTime' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + Options.Editing = False + Width = 61 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel4: TPanel + Left = 62 + Top = 139 + Width = 294 + Height = 213 + TabOrder = 3 + Visible = False + object Label11: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 292 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #20107#20214#35828#26126 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnMouseMove = Panel10MouseMove + object Image2: TImage + Left = 269 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object RichEdit1: TRichEdit + Left = 1 + Top = 24 + Width = 292 + Height = 188 + Align = alClient + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + TabOrder = 1 + end + end + object MovePanel2: TMovePanel + Left = 408 + Top = 192 + Width = 289 + Height = 49 + BevelInner = bvLowered + Caption = #27491#22312#25805#20316#25968#25454#65292#35831#31245#21518#12290#12290#12290 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 928 + Top = 48 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 984 + Top = 40 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 856 + Top = 48 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 920 + Top = 152 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 888 + Top = 144 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 608 + Top = 160 + end + object PopupMenu1: TPopupMenu + Left = 392 + Top = 152 + object N1: TMenuItem + Caption = #20840#36873 + OnClick = N1Click + end + object N2: TMenuItem + Caption = #20840#24323 + OnClick = N2Click + end + end + object ThreeColorBase: TcxStyleRepository + Left = 539 + Top = 316 + object SHuangSe: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = 4707838 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + TextColor = clBtnText + end + object SkyBlue: TcxStyle + AssignedValues = [svColor, svFont] + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + end + object Default: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object QHuangSe: TcxStyle + AssignedValues = [svColor, svFont] + Color = 8454143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + end + object Red: TcxStyle + AssignedValues = [svColor, svFont] + Color = clRed + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + end + object FontBlue: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlue + end + object TextSHuangSe: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlack + end + object FonePurple: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindow + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlack + end + object FoneClMaroon: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clMaroon + end + object FoneRed: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clRed + end + object RowColor: TcxStyle + AssignedValues = [svColor] + Color = 16311512 + end + object handBlack: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxBlue: TcxStyle + AssignedValues = [svColor, svFont] + Color = 16711731 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + end + end + object CDS_HZ: TClientDataSet + Aggregates = <> + Params = <> + Left = 568 + Top = 224 + end + object CDS_PRT: TClientDataSet + Aggregates = <> + Params = <> + Left = 512 + Top = 224 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 368 + Top = 168 + ReportData = {} + end +end diff --git a/打卷检验管理/U_CKProductBCPKCList.pas b/打卷检验管理/U_CKProductBCPKCList.pas new file mode 100644 index 0000000..e40e302 --- /dev/null +++ b/打卷检验管理/U_CKProductBCPKCList.pas @@ -0,0 +1,717 @@ +unit U_CKProductBCPKCList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, + cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, + cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, + cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, + cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, MovePanel, cxCheckBox, + Menus, cxCalendar, RM_System, RM_Common, RM_Class, RM_GridReport; + +type + TfrmCKProductBCPKCList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBExport: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + cxGridPopupMenu1: TcxGridPopupMenu; + Label3: TLabel; + PRTCodeName: TEdit; + Label1: TLabel; + Label2: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + CDS_Main: TClientDataSet; + Tv1: TcxGridDBTableView; + cxGrid2Level1: TcxGridLevel; + cxGrid2: TcxGrid; + v2Column1: TcxGridDBColumn; + v2Column3: TcxGridDBColumn; + v2Column5: TcxGridDBColumn; + v2Column6: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + Label5: TLabel; + orderNo: TEdit; + Label6: TLabel; + MJID: TEdit; + v1Column7: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + Label8: TLabel; + PRTKZ: TEdit; + Label9: TLabel; + PRTMF: TEdit; + Label7: TLabel; + CPType: TComboBox; + v1Column3: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + Panel4: TPanel; + Label11: TLabel; + Panel10: TPanel; + Image2: TImage; + RichEdit1: TRichEdit; + MovePanel2: TMovePanel; + v1Column11: TcxGridDBColumn; + TBZD: TToolButton; + v1Column12: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N1: TMenuItem; + N2: TMenuItem; + v1Column10: TcxGridDBColumn; + v1Column13: TcxGridDBColumn; + Label4: TLabel; + Label10: TLabel; + PRTColor: TComboBox; + AOrdDefStr1: TComboBox; + v1Column14: TcxGridDBColumn; + ThreeColorBase: TcxStyleRepository; + SHuangSe: TcxStyle; + SkyBlue: TcxStyle; + Default: TcxStyle; + QHuangSe: TcxStyle; + Red: TcxStyle; + FontBlue: TcxStyle; + TextSHuangSe: TcxStyle; + FonePurple: TcxStyle; + FoneClMaroon: TcxStyle; + FoneRed: TcxStyle; + RowColor: TcxStyle; + handBlack: TcxStyle; + cxBlue: TcxStyle; + ToolButton1: TToolButton; + Label12: TLabel; + baoNo: TEdit; + CheckBox1: TCheckBox; + ComboBox1: TComboBox; + CDS_HZ: TClientDataSet; + CDS_PRT: TClientDataSet; + RM1: TRMGridReport; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoMChange(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure PRTCodeNameChange(Sender: TObject); + procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, + Y: Integer); + procedure Image2Click(Sender: TObject); + procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TBZDClick(Sender: TObject); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure PRTColorChange(Sender: TObject); + procedure AOrdDefStr1Change(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + private + FLeft,FTop:Integer; + procedure InitGrid(); + { Private declarations } + public + { Public declarations } + end; + +var + frmCKProductBCPKCList: TfrmCKProductBCPKCList; + +implementation +uses + U_DataLink,U_Fun,U_ProductOrderListSel; + +{$R *.dfm} + +procedure TfrmCKProductBCPKCList.FormDestroy(Sender: TObject); +begin + frmCKProductBCPKCList:=nil; +end; + +procedure TfrmCKProductBCPKCList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmCKProductBCPKCList.FormCreate(Sender: TObject); +begin + BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp) +end; + +procedure TfrmCKProductBCPKCList.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('exec P_View_CPKCMX :WSQl'); + if Trim(DParameters2)<>'' then + begin + Parameters.ParamByName('WSQl').Value:=' and B.Filler='''+Trim(DName)+''''; + end else + begin + Parameters.ParamByName('WSQl').Value:=''; + end; + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmCKProductBCPKCList.TBRafreshClick(Sender: TObject); +begin + // BegDate.SetFocus; + MovePanel2.Visible:=True; + MovePanel2.Refresh; + InitGrid(); + MovePanel2.Visible:=False; +end; + +procedure TfrmCKProductBCPKCList.ConNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + end; +end; + +procedure TfrmCKProductBCPKCList.TBCloseClick(Sender: TObject); +begin + WriteCxGrid('ֿб',Tv1,'Ʒֿ'); + Close; +end; + +procedure TfrmCKProductBCPKCList.FormShow(Sender: TObject); +begin + ReadCxGrid('ֿб',Tv1,'Ʒֿ'); + if Trim(DParameters2)='' then + begin + // TBZD.Visible:=True; + ToolButton1.Visible:=true; + TBZD.Visible:=False; + v1Column12.Visible:=true; + // v1Column14.Options.Editing:=true; + end else + begin + TBZD.Visible:=False; + ToolButton1.Visible:=false; + v1Column12.Visible:=true; + v1Column14.Options.Editing:=False; + end; + //InitGrid(); +end; + +procedure TfrmCKProductBCPKCList.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then exit; + TcxGridToExcel('б',cxGrid2); +end; + +procedure TfrmCKProductBCPKCList.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + end; +end; + +procedure TfrmCKProductBCPKCList.PRTCodeNameChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmCKProductBCPKCList.Panel10MouseMove(Sender: TObject; + Shift: TShiftState; X, Y: Integer); +begin + ReleaseCapture; + TWinControl(Panel4).Perform(WM_SYSCOMMAND,$F012,0); +end; + +procedure TfrmCKProductBCPKCList.Image2Click(Sender: TObject); +begin + Panel4.Visible:=False; +end; + +procedure TfrmCKProductBCPKCList.Tv1MouseUp(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FLeft:=X; + FTop:=Y; +end; + +procedure TfrmCKProductBCPKCList.Tv1CellDblClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + {if Trim(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName)<>'CDQK' then Exit; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select CDQK=dbo.F_Get_Order_SubStr(:MJID,''MJCDHZSL'')'); + Parameters.ParamByName('MJID').Value:=Trim(CDS_Main.fieldbyname('MJID').AsString); + Open; + end; + with CDS_Main do + begin + Edit; + FieldByName('CDQK').Value:=Trim(ADOQueryTemp.fieldbyname('CDQK').AsString); + Post; + end; } + Panel4.Left:=FLeft; + Panel4.Top:=FTop+110; + Panel4.Visible:=True; + Panel4.Refresh; + Panel10.Caption:=Trim(TV1.Controller.FocusedColumn.Caption); + + RichEdit1.Text:=CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString; +end; + +procedure TfrmCKProductBCPKCList.TBZDClick(Sender: TObject); +var + FMainid,FSubId,FOrderNo,FColor,FSH,FHX,FCodeName,FMPRTMF,FMPRTKZ:String; +begin + if CDS_Main.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡ!','ʾ',0); + Exit; + end; + FMainid:=''; + try + frmProductOrderListSel:=TfrmProductOrderListSel.Create(Application); + with frmProductOrderListSel do + begin + FFInt:=1; + if ShowModal=1 then + begin + FMainid:=frmProductOrderListSel.Order_Main.fieldbyname('Mainid').AsString; + FSubId:=frmProductOrderListSel.Order_Main.fieldbyname('SubId').AsString; + FOrderNo:=frmProductOrderListSel.Order_Main.fieldbyname('OrderNo').Value; + FCodeName:=frmProductOrderListSel.Order_Main.fieldbyname('PRTCodeName').Value; + FColor:=frmProductOrderListSel.Order_Main.fieldbyname('PRTColor').Value; + if Trim(frmProductOrderListSel.Order_Main.fieldbyname('SOrddefstr1').AsString)<>'' then + FSH:=frmProductOrderListSel.Order_Main.fieldbyname('SOrddefstr1').AsString; + if Trim(frmProductOrderListSel.Order_Main.fieldbyname('PRTHX').AsString)<>'' then + FHX:=frmProductOrderListSel.Order_Main.fieldbyname('PRTHX').Value; + FMPRTMF:=frmProductOrderListSel.Order_Main.fieldbyname('PRTMF').AsString; + FMPRTKZ:=frmProductOrderListSel.Order_Main.fieldbyname('PRTKZ').AsString; + end; + end; + finally + frmProductOrderListSel.Free; + end; + if Trim(FMainid)<>'' then + begin + if Application.MessageBox('ȷҪִд˲','ʾ',32+4)<>IDYES then Exit; + MovePanel2.Visible:=True; + MovePanel2.Refresh; + try + Self.ADOQueryCmd.Connection.BeginTrans; + Self.CDS_Main.DisableControls; + with Self.CDS_Main do + begin + while not Eof do + begin + if Self.CDS_Main.FieldByName('SSEl').AsBoolean=True then + begin + with Self.ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate CK_BanCP_CR Set MainId='''+Trim(FMainid)+''''); + sql.Add(',SubId='''+Trim(FSubId)+''''); + sql.Add(',ZDPerson='''+Trim(DName)+''',ZDTime=getdate() '); + sql.Add(' where CRID='+self.CDS_Main.fieldbyname('CRID').AsString); + SQL.Add(' and CRType='''' '); + sql.Add('UPdate WFB_MJJY Set MainId='''+Trim(FMainid)+''''); + sql.Add(',SubId='''+Trim(FSubId)+''''); + //sql.Add(',ZDPerson='''+Trim(DName)+''',ZDTime=getdate() '); + sql.Add(' where MJID='+self.CDS_Main.fieldbyname('MJID').AsString); + ExecSQL; + end; + Edit; + FieldByName('OrderNo').Value:=FOrderNo; + FieldByName('PRTCodeName').Value:=FCodeName; + FieldByName('PRTColor').Value:=FColor; + FieldByName('SOrddefstr1').Value:=FSH; + FieldByName('PRTHX').Value:=FHX; + FieldByName('PRTMF').Value:=FMPRTMF; + FieldByName('PRTKZ').Value:=FMPRTKZ; + Post; + end; + Next; + end; + end; + Self.CDS_Main.EnableControls; + Self.ADOQueryCmd.Connection.CommitTrans; + MovePanel2.Visible:=False; + except + Self.ADOQueryCmd.Connection.RollbackTrans; + MovePanel2.Visible:=False; + Application.MessageBox('תʧ!','ʾ',0) ; + end; + end; +end; + +procedure TfrmCKProductBCPKCList.N1Click(Sender: TObject); +begin + SelOKNo(CDS_Main,True); +end; + +procedure TfrmCKProductBCPKCList.N2Click(Sender: TObject); +begin + SelOKNo(CDS_Main,False); +end; + +procedure TfrmCKProductBCPKCList.Tv1CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if CDS_Main.IsEmpty=False then + begin + InitOrderColor(Trim(CDS_Main.fieldbyname('MainId').AsString),PRTColor,ADOQueryTemp); + InitBCGangNo(Trim(CDS_Main.fieldbyname('SubId').AsString),AOrdDefStr1,ADOQueryTemp); + end; +end; + +procedure TfrmCKProductBCPKCList.PRTColorChange(Sender: TObject); +begin + TBFind.Click; + if CDS_Main.IsEmpty=False then + begin + //InitOrderColor(Trim(CDS_Main.fieldbyname('MainId').AsString),PRTColor,ADOQueryTemp); + InitBCGangNo(Trim(CDS_Main.fieldbyname('SubId').AsString),AOrdDefStr1,ADOQueryTemp); + end; +end; + +procedure TfrmCKProductBCPKCList.AOrdDefStr1Change(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmCKProductBCPKCList.ToolButton1Click(Sender: TObject); +begin + IF CDS_main.IsEmpty then exit; + orderNo.SetFocus; + if CDS_Main.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡ!','ʾ',0); + Exit; + end; + + ADOQueryCmd.Connection.BeginTrans; + try + with CDS_Main do + begin + DisableControls; + first; + while not eof do + begin + IF fieldbyname('ssel').AsBoolean then + begin + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update CK_BanCP_CR '); + sql.Add('SET baoNO='+quotedstr(CDS_Main.fieldbyname('baoNO').AsString)); + sql.Add('where BCID='+quotedstr(CDS_Main.fieldbyname('BCID').AsString)); + sql.Add('and MJID='+quotedstr(CDS_Main.fieldbyname('MJID').AsString)); + execsql; + end; + end; + next; + end; + first; + EnableControls; + end; + ADOQueryCmd.Connection.CommitTrans; + application.MessageBox('ݱɹ','ʾϢ'); + exit; + except + ADOQueryCmd.Connection.RollbackTrans; + application.MessageBox('ݱʧܣ','ʾϢ',MB_ICONERROR); + exit; + end; +end; + +procedure TfrmCKProductBCPKCList.CheckBox1Click(Sender: TObject); +begin + with CDS_Main do + begin + DisableControls; + first; + while not eof do + begin + edit; + fieldbyname('ssel').Value:=checkbox1.Checked; + post; + next; + end; + first; + EnableControls; + end; +end; + +procedure TfrmCKProductBCPKCList.TBPrintClick(Sender: TObject); +var + fPrintFile,fPrintFile10,FMainID:String; +begin + if CDS_Main.IsEmpty then Exit; + if trim(ComboBox1.Text)='' then exit; + if CDS_Main.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡ','ʾ',0); + Exit; + end; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\'+trim(ComboBox1.Text)+'.rmf' ; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete TBSubID where DName='''+Trim(DCode)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('SELECT * FROM TBSubID where 1=2 '); + open; + end; + FMainID:=''; + CDS_Main.DisableControls; + try + ADOQueryCmd.Connection.BeginTrans; + with CDS_Main do + begin + First; + while not Eof do + begin + If Fieldbyname('Ssel').AsBoolean then + begin + IF FMainID='' then + begin + FMainID:=Trim(CDS_Main.fieldbyname('mainID').AsString); + end + else + begin + IF Trim(CDS_Main.fieldbyname('mainID').AsString)<>FMainID then + begin + application.MessageBox('ѡIJͬһָʾһӡ','ʾϢ',0); + ADOQueryCmd.Connection.RollbackTrans; + EnableControls; + exit; + end; + end; + ADOQueryCmd.append; + ADOQueryCmd.fieldbyname('SubId').Value:=Trim(CDS_Main.fieldbyname('MJID').AsString); + ADOQueryCmd.fieldbyname('Dname').Value:=Trim(DCode); + ADOQueryCmd.post; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + except + ADOQueryCmd.Connection.RollbackTrans; + end; + CDS_Main.EnableControls; + + IF (trim(ComboBox1.Text)='뵥') then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Print_CKMD '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); +// sql.add(',@flag=''0'' '); +// sql.add(',@CNum=''10'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_HZ); + SInitCDSData20(ADOQueryTemp,CDS_HZ); + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''2'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + end; + + IF (trim(ComboBox1.Text)='ɫװ') OR (trim(ComboBox1.Text)='ɫװ-') OR (trim(ComboBox1.Text)='װ') then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd20 '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''0'' '); + sql.add(',@CNum=''10'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_HZ); + SInitCDSData20(ADOQueryTemp,CDS_HZ); + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''0'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + end; + +// IF (trim(ComboBox1.Text)='װ') then +// begin +// with ADOQueryTemp do +// begin +// Close; +// sql.Clear; +// sql.add('select A.OrderNo,B.* from WFB_MJJY B left join JYOrder_Main A on A.MainId=B.MainId '); +// sql.add('where A.OrderNo ='+Trim(CDS_Main.fieldbyname('orderNo').AsString)); +// sql.add('order by b.MJXH'); +// Open; +// end; +// SCreateCDS20(ADOQueryTemp,CDS_HZ); +// SInitCDSData20(ADOQueryTemp,CDS_HZ); +// +// with ADOQueryTemp do +// begin +// Close; +// sql.Clear; +// sql.add('exec P_Do_PrintMd_HZ '); +// sql.add('@mainID='+quotedstr(Trim(''))); +// sql.add(',@DName='+quotedstr(Trim(DCode))); +// sql.add(',@flag=''0'' '); +// Open; +// end; +// SCreateCDS20(ADOQueryTemp,CDS_PRT); +// SInitCDSData20(ADOQueryTemp,CDS_PRT); +// end; + + IF trim(ComboBox1.Text)='ɫװ-10ɫ' then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd30 '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''0'' '); + sql.add(',@CNum=''10'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_HZ); + SInitCDSData20(ADOQueryTemp,CDS_HZ); + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''1'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + end; + IF trim(ComboBox1.Text)='ɫװ-' then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd30 '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''0'' '); + sql.add(',@CNum=''10'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_HZ); + SInitCDSData20(ADOQueryTemp,CDS_HZ); + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''1'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + + end; + + + + if FileExists(fPrintFile) then + begin + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end + else + begin + Application.MessageBox(PChar('û'+fPrintFile),'ʾ',0); + end; +end; + +end. diff --git a/打卷检验管理/U_CKProductBCPOutList.dfm b/打卷检验管理/U_CKProductBCPOutList.dfm new file mode 100644 index 0000000..a34858c --- /dev/null +++ b/打卷检验管理/U_CKProductBCPOutList.dfm @@ -0,0 +1,815 @@ +object frmCKProductBCPOutList: TfrmCKProductBCPOutList + Left = 14 + Top = 144 + Width = 1378 + Height = 754 + Caption = #25104#21697#20986#24211#21015#34920 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1362 + Height = 33 + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBCKCX: TToolButton + Left = 126 + Top = 0 + Caption = #25764#38144#20986#24211 + ImageIndex = 129 + Visible = False + OnClick = TBCKCXClick + end + object TBExport: TToolButton + Left = 209 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 272 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + OnClick = TBPrintClick + end + object ComboBox1: TComboBox + Left = 335 + Top = 3 + Width = 140 + Height = 24 + Style = csDropDownList + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ItemHeight = 16 + ItemIndex = 0 + ParentFont = False + TabOrder = 0 + Text = #38144#21806#30721#21333 + Items.Strings = ( + #38144#21806#30721#21333 + #38144#21806#30721#21333'-'#23433#24247 + #38144#21806#30721#21333'-QLO' + #21333#33394#21253#35013 + #21333#33394#21253#35013'-'#38271#24230 + #28151#33394#21253#35013'-10'#33394 + #28151#33394#21253#35013'-'#37325#37327) + end + object TBClose: TToolButton + Left = 475 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 33 + Width = 1362 + Height = 80 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label3: TLabel + Left = 337 + Top = 12 + Width = 48 + Height = 12 + Caption = #20013#25991#21517#31216 + end + object Label4: TLabel + Left = 499 + Top = 12 + Width = 24 + Height = 12 + Caption = #39068#33394 + end + object Label1: TLabel + Left = 28 + Top = 12 + Width = 48 + Height = 12 + Caption = #26597#35810#26102#38388 + end + object Label2: TLabel + Left = 64 + Top = 36 + Width = 12 + Height = 12 + Caption = #33267 + end + object Label5: TLabel + Left = 178 + Top = 12 + Width = 48 + Height = 12 + Caption = #35746' '#21333' '#21495 + end + object Label6: TLabel + Left = 178 + Top = 36 + Width = 48 + Height = 12 + Caption = #26465' '#30721 + end + object Label8: TLabel + Left = 337 + Top = 36 + Width = 48 + Height = 12 + Caption = #20811' '#37325 + end + object Label9: TLabel + Left = 499 + Top = 36 + Width = 24 + Height = 12 + Caption = #38376#24133 + end + object Label7: TLabel + Left = 628 + Top = 36 + Width = 48 + Height = 12 + Caption = #31867' '#22411 + end + object Label10: TLabel + Left = 628 + Top = 12 + Width = 48 + Height = 12 + Caption = #20986#24211#21333#21495 + end + object Label12: TLabel + Left = 1084 + Top = 8 + Width = 46 + Height = 12 + Caption = #21253#25968#65306'0' + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 789 + Top = 12 + Width = 48 + Height = 12 + Caption = #33457#22411#33457#21495 + end + object Label14: TLabel + Left = 789 + Top = 36 + Width = 48 + Height = 12 + Caption = #33394' '#21495 + end + object Label15: TLabel + Left = 941 + Top = 12 + Width = 48 + Height = 12 + Caption = #32568' '#21495 + end + object PRTCodeName: TEdit + Tag = 2 + Left = 386 + Top = 9 + Width = 90 + Height = 20 + TabOrder = 0 + OnChange = PRTCodeNameChange + end + object BegDate: TDateTimePicker + Left = 77 + Top = 9 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + TabOrder = 1 + end + object EndDate: TDateTimePicker + Left = 77 + Top = 33 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + TabOrder = 2 + end + object orderNo: TEdit + Tag = 2 + Left = 228 + Top = 9 + Width = 90 + Height = 20 + TabOrder = 3 + OnChange = orderNoChange + OnKeyPress = orderNoKeyPress + end + object MJID: TEdit + Tag = 2 + Left = 228 + Top = 33 + Width = 90 + Height = 20 + TabOrder = 4 + OnChange = PRTCodeNameChange + end + object PRTKZ: TEdit + Tag = 1 + Left = 386 + Top = 33 + Width = 90 + Height = 20 + TabOrder = 5 + OnChange = PRTCodeNameChange + end + object PRTMF: TEdit + Tag = 1 + Left = 524 + Top = 33 + Width = 90 + Height = 20 + TabOrder = 6 + OnChange = PRTCodeNameChange + end + object CPType: TComboBox + Tag = 2 + Left = 681 + Top = 33 + Width = 90 + Height = 20 + Style = csDropDownList + ItemHeight = 12 + TabOrder = 7 + OnChange = TBFindClick + Items.Strings = ( + #27491#21697 + #27425#21697 + #22810#25340 + '') + end + object CkOrdNo: TEdit + Tag = 2 + Left = 681 + Top = 9 + Width = 90 + Height = 20 + TabOrder = 8 + OnChange = PRTCodeNameChange + end + object PRTColor: TEdit + Tag = 2 + Left = 524 + Top = 9 + Width = 90 + Height = 20 + TabOrder = 9 + OnChange = PRTCodeNameChange + end + object PRTHX: TEdit + Tag = 2 + Left = 838 + Top = 9 + Width = 90 + Height = 20 + TabOrder = 10 + OnChange = PRTCodeNameChange + end + object SOrddefstr1: TEdit + Tag = 2 + Left = 838 + Top = 33 + Width = 90 + Height = 20 + TabOrder = 11 + OnChange = PRTCodeNameChange + end + object MJstr4: TEdit + Tag = 2 + Left = 990 + Top = 9 + Width = 90 + Height = 20 + TabOrder = 12 + OnChange = PRTCodeNameChange + end + object CheckBox1: TCheckBox + Left = 28 + Top = 52 + Width = 97 + Height = 17 + Caption = #20840#36873 + TabOrder = 13 + OnClick = CheckBox1Click + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 113 + Width = 1362 + Height = 603 + Align = alClient + PopupMenu = PopupMenu1 + TabOrder = 2 + object Tv1: TcxGridDBTableView + OnMouseUp = Tv1MouseUp + Navigator.Buttons.CustomButtons = <> + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skCount + Column = v1Column5 + end + item + Kind = skSum + Column = v2Column5 + end + item + Kind = skSum + Column = v2Column6 + end + item + Kind = skSum + Column = v1Column14 + end + item + Kind = skSum + Column = v1Column15 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1Column11: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 44 + end + object v1Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 74 + end + object v2Column1: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'PRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 92 + end + object v2Column3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 77 + end + object v1Column12: TcxGridDBColumn + Caption = #33457#22411#33457#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 74 + end + object v1Column8: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'PRTMF' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 70 + end + object v1Column9: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'PRTKZ' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 59 + end + object v1Column5: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'MJXH' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column6: TcxGridDBColumn + Caption = #21367#26465#30721 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 92 + end + object v1Column13: TcxGridDBColumn + Caption = #21253#21495 + DataBinding.FieldName = 'BaoNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1BAOID: TcxGridDBColumn + Caption = #21253#26465#30721 + DataBinding.FieldName = 'BAOID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 65 + end + object v1Column3: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'CPType' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 63 + end + object v1Column2: TcxGridDBColumn + Caption = #20986#24211#26102#38388 + DataBinding.FieldName = 'CRTime' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 107 + end + object v1Column14: TcxGridDBColumn + Caption = #30382#37325 + DataBinding.FieldName = 'MJQty3' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 59 + end + object v1Column15: TcxGridDBColumn + Caption = #20928#37325 + DataBinding.FieldName = 'MJQty4' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 55 + end + object v2Column5: TcxGridDBColumn + Caption = #27611#37325 + DataBinding.FieldName = 'KGQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 65 + end + object v2Column6: TcxGridDBColumn + Caption = #20986#24211#38271#24230 + DataBinding.FieldName = 'Qty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 85 + end + object v1Column7: TcxGridDBColumn + Caption = #38271#24230#21333#20301 + DataBinding.FieldName = 'QtyUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 83 + end + object v1Column4: TcxGridDBColumn + Caption = #20986#24211#21333#21495 + DataBinding.FieldName = 'CKOrdNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 73 + end + object v1Column16: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'CRNote' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 88 + end + object v1Column10: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 75 + end + object v1Column17: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'MJstr4' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column18: TcxGridDBColumn + Caption = #26579#21378#32568#21495 + DataBinding.FieldName = 'MJstr5' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object MovePanel2: TMovePanel + Left = 344 + Top = 192 + Width = 289 + Height = 49 + BevelInner = bvLowered + Caption = #27491#22312#25191#34892#25968#25454#25805#20316#65292#35831#31245#21518#12290#12290#12290 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + end + object Panel4: TPanel + Left = 62 + Top = 148 + Width = 294 + Height = 212 + TabOrder = 4 + Visible = False + object Label11: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 292 + Height = 24 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #20107#20214#35828#26126 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + object Image2: TImage + Left = 269 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object RichEdit1: TRichEdit + Left = 1 + Top = 25 + Width = 292 + Height = 186 + Align = alClient + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + TabOrder = 1 + end + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 1188 + Top = 48 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1132 + Top = 40 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1112 + Top = 40 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 784 + Top = 248 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 840 + Top = 192 + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = CDS_PRT + Left = 360 + Top = 248 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 100 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 416 + Top = 248 + end + object PopupMenu1: TPopupMenu + Left = 256 + Top = 152 + object N1: TMenuItem + Caption = #20840#36873 + OnClick = N1Click + end + object N2: TMenuItem + Caption = #20840#24323 + OnClick = N2Click + end + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 216 + Top = 216 + end + object cxGridPopupMenu3: TcxGridPopupMenu + PopupMenus = <> + Left = 600 + Top = 376 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbSaveToXLS, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 553 + Top = 152 + ReportData = {} + end + object cxGridPopupMenu4: TcxGridPopupMenu + PopupMenus = <> + Left = 716 + Top = 484 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 920 + Top = 152 + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 1172 + Top = 57 + end + object RMDBHZ: TRMDBDataSet + Visible = True + DataSet = CDS_HZ + Left = 572 + Top = 168 + end + object CDS_HZ: TClientDataSet + Aggregates = <> + Params = <> + Left = 568 + Top = 224 + end + object CDS_PRT: TClientDataSet + Aggregates = <> + Params = <> + Left = 512 + Top = 224 + end +end diff --git a/打卷检验管理/U_CKProductBCPOutList.pas b/打卷检验管理/U_CKProductBCPOutList.pas new file mode 100644 index 0000000..3fa6421 --- /dev/null +++ b/打卷检验管理/U_CKProductBCPOutList.pas @@ -0,0 +1,1539 @@ +unit U_CKProductBCPOutList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, + cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, + cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, + cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, + cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, RM_Common, RM_Class, + RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxCheckBox, Menus, + MovePanel, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; + +type + TfrmCKProductBCPOutList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBExport: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + cxGridPopupMenu1: TcxGridPopupMenu; + Label3: TLabel; + Label4: TLabel; + PRTCodeName: TEdit; + Label1: TLabel; + Label2: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + CDS_Main: TClientDataSet; + Tv1: TcxGridDBTableView; + cxGrid2Level1: TcxGridLevel; + cxGrid2: TcxGrid; + v2Column1: TcxGridDBColumn; + v2Column3: TcxGridDBColumn; + v2Column5: TcxGridDBColumn; + v2Column6: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + Label5: TLabel; + orderNo: TEdit; + Label6: TLabel; + MJID: TEdit; + v1Column7: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + Label8: TLabel; + PRTKZ: TEdit; + Label9: TLabel; + PRTMF: TEdit; + Label7: TLabel; + CPType: TComboBox; + v1Column3: TcxGridDBColumn; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + v1Column4: TcxGridDBColumn; + Label10: TLabel; + CkOrdNo: TEdit; + v1Column5: TcxGridDBColumn; + TBCKCX: TToolButton; + v1Column11: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N1: TMenuItem; + N2: TMenuItem; + MovePanel2: TMovePanel; + v1Column12: TcxGridDBColumn; + cxGridPopupMenu2: TcxGridPopupMenu; + cxGridPopupMenu3: TcxGridPopupMenu; + ComboBox1: TComboBox; + RM1: TRMGridReport; + v1Column13: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + v1Column15: TcxGridDBColumn; + v1Column16: TcxGridDBColumn; + cxGridPopupMenu4: TcxGridPopupMenu; + PRTColor: TEdit; + v1BAOID: TcxGridDBColumn; + Panel4: TPanel; + Label11: TLabel; + Panel10: TPanel; + Image2: TImage; + RichEdit1: TRichEdit; + v1Column10: TcxGridDBColumn; + Label12: TLabel; + PRTHX: TEdit; + Label13: TLabel; + SOrddefstr1: TEdit; + Label14: TLabel; + DataSource1: TDataSource; + ADOQueryPrint: TADOQuery; + v1Column17: TcxGridDBColumn; + v1Column18: TcxGridDBColumn; + MJstr4: TEdit; + Label15: TLabel; + CheckBox1: TCheckBox; + RMDBHZ: TRMDBDataSet; + CDS_HZ: TClientDataSet; + CDS_PRT: TClientDataSet; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoMChange(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure PRTCodeNameChange(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure orderNoChange(Sender: TObject); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure TBCKCXClick(Sender: TObject); + procedure orderNoKeyPress(Sender: TObject; var Key: Char); + procedure AOrdDefStr1Change(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Image2Click(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + private + FLeft,FTop:Integer; + procedure InitGrid(); + function YSData(Order_Main10:TClientDataSet):Boolean; + + Procedure JSbaoNum(); + { Private declarations } + public + { Public declarations } + end; + +var + frmCKProductBCPOutList: TfrmCKProductBCPOutList; + +implementation +uses + U_DataLink,U_Fun; + +{$R *.dfm} +Procedure TfrmCKProductBCPOutList.JSbaoNum(); +var + i:integer; + baoID:string; + strlist:Tstringlist; +begin + i:=0; + baoID:=''; + IF CDS_Main.IsEmpty then + begin + Label12.Caption:='0'; + exit; + end; + strlist:=Tstringlist.Create; + try + with CDS_Main do + begin + DisableControls; + first; + while not eof do + begin + + IF (trim(fieldbyname('BaoNO').AsString)<>'') then + begin + IF strlist.IndexOf(trim(fieldbyname('subID').AsString)+trim(fieldbyname('BaoNO').AsString))<0 then + begin + strlist.Add(trim(fieldbyname('subID').AsString)+trim(fieldbyname('BaoNO').AsString)); + end; + end; + { IF (trim(fieldbyname('BaoID').AsString)<>trim(baoID)) and (trim(fieldbyname('BaoID').AsString)<>'') then + begin + i:=i+1; + baoID:=trim(fieldbyname('BaoID').AsString); + end; } + Next; + end; + EnableControls; + end; + Label12.Caption:=''+inttostr(strlist.Count); + finally + strlist.Free; + end; +end; + + + +procedure TfrmCKProductBCPOutList.FormDestroy(Sender: TObject); +begin + frmCKProductBCPOutList:=nil; +end; + + +procedure TfrmCKProductBCPOutList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmCKProductBCPOutList.FormCreate(Sender: TObject); +begin + BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp) +end; + +procedure TfrmCKProductBCPOutList.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('select A.*,B.OrderNo,C.PRTCodeName,C.PRTSpec,C.PRTColor,C.SOrddefstr1,C.PRTMF,C.PRTKZ,D.MJXH,C.PRTPrice,C.PRTHX '); + sql.Add(',C.SOrddefstr4,D.MJQty3,D.MJQty4'); + sql.Add(',PONO=(select Top 1 KHConNo from JYOrderCon_Main JCM where JCM.ConNo=B.OrderNo)'); + sql.Add(',MPRTECodeName=(select Top 1 MPRTCodeName from JYOrderCon_Main JCM where JCM.ConNo=B.OrderNo)'); + sql.Add(',isnull(customerNoName,B.OrderNo) KHName'); + sql.Add(',cast(D.mjstr4 as varchar(20)) as mjstr4,D.MJstr5 '); + sql.add('from CK_BanCP_CR A '); + Sql.add(' inner join JYOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); + Sql.add(' inner join WFB_MJJY D on A.MJId=D.MJId'); + sql.add('where A.CRTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''''); + sql.add(' and A.CRTime<'''+Trim(FormatDateTime('yyyy-MM-dd',enddate.DateTime+1))+''''); + SQL.Add(' and CRType='''' '); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; + TBFind.Click; +end; + +procedure TfrmCKProductBCPOutList.TBRafreshClick(Sender: TObject); +begin + BegDate.SetFocus; + InitGrid(); +end; + +procedure TfrmCKProductBCPOutList.ConNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + end; +end; + +procedure TfrmCKProductBCPOutList.TBCloseClick(Sender: TObject); +begin + WriteCxGrid('ֿб',Tv1,'Ʒֿ'); + + Close; +end; + +procedure TfrmCKProductBCPOutList.FormShow(Sender: TObject); +begin + ReadCxGrid('ֿб',Tv1,'Ʒֿ'); + + + InitGrid(); + if Trim(DParameters2)='' then + begin + v1Column11.Visible:=True; + TBCKCX.Visible:=True; + end; +end; + +procedure TfrmCKProductBCPOutList.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then exit; + SelExportData(Tv1,ADOQueryMain,''); +end; + +procedure TfrmCKProductBCPOutList.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + end; + JSbaoNum(); +end; + +procedure TfrmCKProductBCPOutList.PRTCodeNameChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmCKProductBCPOutList.TBPrintClick(Sender: TObject); +var + fPrintFile,fPrintFile10,FMainID:String; +begin + if CDS_Main.IsEmpty then Exit; + if trim(ComboBox1.Text)='' then exit; + if CDS_Main.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡ','ʾ',0); + Exit; + end; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\'+trim(ComboBox1.Text)+'.rmf' ; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete TBSubID where DName='''+Trim(DCode)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('SELECT * FROM TBSubID where 1=2 '); + open; + end; + FMainID:=''; + CDS_Main.DisableControls; + try + ADOQueryCmd.Connection.BeginTrans; + with CDS_Main do + begin + First; + while not Eof do + begin + If Fieldbyname('Ssel').AsBoolean then + begin + IF FMainID='' then + begin + FMainID:=Trim(CDS_Main.fieldbyname('mainID').AsString); + end + else + begin + IF Trim(CDS_Main.fieldbyname('mainID').AsString)<>FMainID then + begin + application.MessageBox('ѡIJͬһָʾһӡ','ʾϢ',0); + ADOQueryCmd.Connection.RollbackTrans; + EnableControls; + exit; + end; + end; + ADOQueryCmd.append; + ADOQueryCmd.fieldbyname('SubId').Value:=Trim(CDS_Main.fieldbyname('MJID').AsString); + ADOQueryCmd.fieldbyname('Dname').Value:=Trim(DCode); + ADOQueryCmd.post; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + except + ADOQueryCmd.Connection.RollbackTrans; + end; + CDS_Main.EnableControls; + + IF (trim(ComboBox1.Text)='뵥') or (trim(combobox1.Text)='뵥-') then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Print_CKMD '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_HZ); + SInitCDSData20(ADOQueryTemp,CDS_HZ); + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''2'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + end; + + IF trim(ComboBox1.Text)='뵥-QLO' then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add(' SELECT A.mainID,A.subID,A.MJStr4,A.MJLen,A.MJTypeOther,A.baoID,A.baoNo,A.MJQty2,A.MJQty3,A.MJQty4,A.MJMaoZ,A.MJXH,A.MJID, '); + sql.add('B.SOrddefstr1,B.PRTCodeName,B.prtSpec,B.PRTColor,B.SOrddefstr4,B.PRTHX,B.Sorddefstr6,B.PRTKuanNO, '); + sql.add('C.Filler as zl,C.OrdPerson1,C.OrderNo,'); + sql.add('CRTime=(select MAX(CRTime) from CK_BanCP_CR X where X.MJID=A.MJID),'); + sql.add('CKOrdNo=(select MAX(CKOrdNo) from CK_BanCP_CR X where X.MJID=A.MJID ) '); +// sql.add(',a=count(distinct A.MJStr4)'); + sql.add('FROM WFB_MJJY A'); + sql.add('inner join JYOrder_Sub B on B.MainId=A.MainId and B.SubId=A.subID '); + sql.add('inner join JYOrder_Main C on C.MainId=A.MainId '); + sql.add('WHERE EXISTS(select SubId from TBSubID X where X.SubId=A.MJID and X.DName='''+DCode+''') '); + sql.add('ORDER BY A.MainID,A.subID,A.MJStr4,A.MJXH '); +// showmessage(sql.Text); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_HZ); + SInitCDSData20(ADOQueryTemp,CDS_HZ); + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''2'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + end; + + IF (trim(ComboBox1.Text)='ɫװ') OR (trim(ComboBox1.Text)='ɫװ-') then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd20 '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''0'' '); + sql.add(',@CNum=''10'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_HZ); + SInitCDSData20(ADOQueryTemp,CDS_HZ); + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''0'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + end; + + IF trim(ComboBox1.Text)='ɫװ-10ɫ' then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd30 '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''0'' '); + sql.add(',@CNum=''10'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_HZ); + SInitCDSData20(ADOQueryTemp,CDS_HZ); + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''1'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + end; + IF trim(ComboBox1.Text)='ɫװ-' then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd30 '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''0'' '); + sql.add(',@CNum=''10'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_HZ); + SInitCDSData20(ADOQueryTemp,CDS_HZ); + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID='+quotedstr(Trim(''))); + sql.add(',@DName='+quotedstr(Trim(DCode))); + sql.add(',@flag=''1'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + end; + + + + if FileExists(fPrintFile) then + begin + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+fPrintFile),'ʾ',0); + end; +end; + +{procedure TfrmCKProductBCPOutList.GetLotData(); +var + i,j,z,h,q:Integer; + FGangNo,FHZ:String; +begin + if CDS_Main.IsEmpty then Exit; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select GangNo=AP.AOrdDefStr1,A.BaoNo,MJ.MJXH,MJ.MJMaoZ,MJ.MJLen,A.SubId,A.MainId,MJ.MJQty4,'); + sql.Add('DD.OrderNo,JS.PRTColor,PRTEColor=JS.SOrddefstr4,PRTColorNo=JS.SOrddefstr1,JS.PRTHX'); + sql.Add(' from CK_BanCP_CR A'); + sql.Add(' inner join WFB_MJJY MJ on A.MJID=MJ.MJID'); + sql.Add(' inner join JYOrder_Main DD on A.MainId=DD.MainId'); + sql.Add(' inner join JYOrder_Sub JS on A.SubId=JS.SubId'); + sql.Add(' inner join JYOrder_Sub_AnPai AP on A.APID=AP.APID'); + sql.Add(' where A.MainId='''+Trim(CDS_Main.fieldbyname('MainId').AsString)+''''); + //sql.Add(' and A.SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); + if Trim(CDS_Main.FieldByName('CKOrdNo').AsString)<>'' then + begin + sql.Add(' and A.CKOrdNo='''+Trim(CDS_Main.FieldByName('CKOrdNo').AsString)+''''); + end; + if Trim(CPType.Text)<>'' then + begin + sql.Add(' and A.CPType='''+Trim(CPType.Text)+''''); + end; + sql.Add(' and A.CRType='''' '); + sql.Add(' order by A.SubId,Cast(AP.AOrdDefStr1 as int),MJ.MJXH'); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_Juan); + SInitCDSData20(ADOQueryTemp,CDS_Juan); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select MainId=Cast('''' as varchar(20)),SubId=Cast('''' as varchar(20)),'); + sql.Add(' PRTEColor=Cast('''' as varchar(20)),PRTHX=Cast('''' as varchar(20)),PRTColorNo=Cast('''' as varchar(20)),'); + sql.Add(' GangNo=Cast('''' as varchar(20)),BaoNo=Cast('''' as varchar(20)),XH=Cast(0 as int),'); + sql.Add(' LenQty0=Cast(1.00 as decimal(18,2)),LenQty1=Cast(1.00 as decimal(18,2)),'); + sql.Add(' LenQty2=Cast(1.00 as decimal(18,2)),LenQty3=Cast(1.00 as decimal(18,2)),'); + sql.Add(' LenQty4=Cast(1.00 as decimal(18,2)),LenQty5=Cast(1.00 as decimal(18,2)),'); + sql.Add(' LenQty6=Cast(1.00 as decimal(18,2)),LenQty7=Cast(1.00 as decimal(18,2)),'); + sql.Add(' LenQty8=Cast(1.00 as decimal(18,2)),LenQty9=Cast(1.00 as decimal(18,2)),'); + sql.Add(' MZ0=Cast(1.00 as decimal(18,2)),MZ1=Cast(1.00 as decimal(18,2)),'); + sql.Add(' MZ2=Cast(1.00 as decimal(18,2)),MZ3=Cast(1.00 as decimal(18,2)),'); + sql.Add(' MZ4=Cast(1.00 as decimal(18,2)),MZ5=Cast(1.00 as decimal(18,2)),'); + sql.Add(' MZ6=Cast(1.00 as decimal(18,2)),MZ7=Cast(1.00 as decimal(18,2)),'); + sql.Add(' MZ8=Cast(1.00 as decimal(18,2)),MZ9=Cast(1.00 as decimal(18,2)),'); + sql.Add(' JZ0=Cast(1.00 as decimal(18,2)),JZ1=Cast(1.00 as decimal(18,2)),'); + sql.Add(' JZ2=Cast(1.00 as decimal(18,2)),JZ3=Cast(1.00 as decimal(18,2)),'); + sql.Add(' JZ4=Cast(1.00 as decimal(18,2)),JZ5=Cast(1.00 as decimal(18,2)),'); + sql.Add(' JZ6=Cast(1.00 as decimal(18,2)),JZ7=Cast(1.00 as decimal(18,2)),'); + sql.Add(' JZ8=Cast(1.00 as decimal(18,2)),JZ9=Cast(1.00 as decimal(18,2)),'); + sql.Add(' MJPS0=Cast(1 as int),MJPS1=Cast(1 as int),'); + sql.Add(' MJPS2=Cast(1 as int),MJPS3=Cast(1 as int),'); + sql.Add(' MJPS4=Cast(1 as int),MJPS5=Cast(1 as int),'); + sql.Add(' MJPS6=Cast(1 as int),MJPS7=Cast(1 as int),'); + sql.Add(' MJPS8=Cast(1 as int),MJPS9=Cast(1 as int),'); + sql.Add(' XH=Cast(0 as int)'); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_JuanPRT); + SInitCDSData20(ADOQueryTemp,CDS_JuanPRT); + if CDS_JuanPRT.IsEmpty=False then + begin + CDS_JuanPRT.Delete; + end; + i:=0;j:=0;z:=0;FGangNo:='';h:=0; + CDS_Juan.DisableControls; + with CDS_Juan do + begin + First; + while not Eof do + begin + //FHZ:=Trim(CDS_Juan.fieldbyname('SubId').AsString)+Trim(CDS_Juan.fieldbyname('BaoNO').AsString) + //+Trim(CDS_Juan.fieldbyname('GangNo').AsString); + with CDS_JuanPRT do + begin + if CDS_JuanPRT.IsEmpty then + begin + CDS_JuanPRT.Append; + CDS_JuanPRT.FieldByName('GangNo').Value:=CDS_Juan.fieldbyname('GangNo').Value; + // CDS_JuanPRT.FieldByName('BaoNO').Value:=CDS_Juan.fieldbyname('BaoNO').Value; + CDS_JuanPRT.FieldByName('PRTEColor').Value:=CDS_Juan.fieldbyname('PRTEColor').Value; + CDS_JuanPRT.FieldByName('PRTColorNo').Value:=CDS_Juan.fieldbyname('PRTColorNo').Value; + CDS_JuanPRT.FieldByName('PRTHX').Value:=CDS_Juan.fieldbyname('PRTHX').Value; + CDS_JuanPRT.FieldByName('MJPS0').Value:=1; + CDS_JuanPRT.FieldByName('XH').Value:=0; + CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; + CDS_JuanPRT.FieldByName('MZ0').Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; + CDS_JuanPRT.FieldByName('JZ0').Value:=CDS_Juan.fieldbyname('MJQty4').Value; + CDS_JuanPRT.FieldByName('SubId').Value:=CDS_Juan.fieldbyname('SubId').Value; + CDS_JuanPRT.FieldByName('MainId').Value:=CDS_Juan.fieldbyname('MainId').Value; + CDS_JuanPRT.Post; + FHZ:=Trim(CDS_Juan.fieldbyname('SubId').AsString) + +Trim(CDS_Juan.fieldbyname('GangNo').AsString); + //FGangNo:=Trim(CDS_Juan.fieldbyname('GangNo').AsString); + Z:=0;//gang ׺ + j:=0;//к + for i:=1 to 9 do + begin + CDS_JuanPRT.Edit; + CDS_JuanPRT.FieldByName('MJPS'+Trim(IntToStr(i))).Value:=0; + CDS_JuanPRT.Post; + end; + end else + begin + if (Trim(CDS_Juan.fieldbyname('SubId').AsString) + +Trim(CDS_Juan.fieldbyname('GangNo').AsString))<>FHZ then + begin + CDS_JuanPRT.Append; + CDS_JuanPRT.FieldByName('GangNo').Value:=CDS_Juan.fieldbyname('GangNo').Value; + //CDS_JuanPRT.FieldByName('BaoNO').Value:=CDS_Juan.fieldbyname('BaoNO').Value; + CDS_JuanPRT.FieldByName('PRTEColor').Value:=CDS_Juan.fieldbyname('PRTEColor').Value; + CDS_JuanPRT.FieldByName('PRTColorNo').Value:=CDS_Juan.fieldbyname('PRTColorNo').Value; + CDS_JuanPRT.FieldByName('PRTHX').Value:=CDS_Juan.fieldbyname('PRTHX').Value; + CDS_JuanPRT.FieldByName('MJPS0').Value:=1; + CDS_JuanPRT.FieldByName('XH').Value:=J+1; + CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; + CDS_JuanPRT.FieldByName('MZ0').Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; + CDS_JuanPRT.FieldByName('JZ0').Value:=CDS_Juan.fieldbyname('MJQty4').Value; + CDS_JuanPRT.FieldByName('SubId').Value:=CDS_Juan.fieldbyname('SubId').Value; + CDS_JuanPRT.FieldByName('MainId').Value:=CDS_Juan.fieldbyname('MainId').Value; + CDS_JuanPRT.Post; + FHZ:=Trim(CDS_Juan.fieldbyname('SubId').AsString) + +Trim(CDS_Juan.fieldbyname('GangNo').AsString); + Z:=0;//gang ׺ + j:=j+1;//к + for i:=1 to 9 do + begin + CDS_JuanPRT.Edit; + CDS_JuanPRT.FieldByName('MJPS'+Trim(IntToStr(i))).Value:=0; + CDS_JuanPRT.Post; + end; + end else + begin + if Z<10 then + begin + CDS_JuanPRT.Locate('XH',j,[]); + with CDS_JuanPRT do + begin + Edit; + FieldByName('GangNo').Value:=CDS_Juan.fieldbyname('GangNo').Value; + //FieldByName('BaoNO').Value:=CDS_Juan.fieldbyname('BaoNO').Value; + CDS_JuanPRT.FieldByName('PRTEColor').Value:=CDS_Juan.fieldbyname('PRTEColor').Value; + CDS_JuanPRT.FieldByName('PRTColorNo').Value:=CDS_Juan.fieldbyname('PRTColorNo').Value; + CDS_JuanPRT.FieldByName('PRTHX').Value:=CDS_Juan.fieldbyname('PRTHX').Value; + FieldByName('MJPS'+Trim(IntToStr(Z))).Value:=1; + FieldByName('LenQty'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJLen').Value; + CDS_JuanPRT.FieldByName('MZ'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; + CDS_JuanPRT.FieldByName('JZ'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJQty4').Value; + FieldByName('SubId').Value:=CDS_Juan.fieldbyname('SubId').Value; + FieldByName('MainId').Value:=CDS_Juan.fieldbyname('MainId').Value; + Post; + end; + end else + begin + CDS_JuanPRT.Append; + CDS_JuanPRT.FieldByName('GangNo').Value:=CDS_Juan.fieldbyname('GangNo').Value; + CDS_JuanPRT.FieldByName('BaoNO').Value:=CDS_Juan.fieldbyname('BaoNO').Value; + CDS_JuanPRT.FieldByName('PRTEColor').Value:=CDS_Juan.fieldbyname('PRTEColor').Value; + CDS_JuanPRT.FieldByName('PRTColorNo').Value:=CDS_Juan.fieldbyname('PRTColorNo').Value; + CDS_JuanPRT.FieldByName('PRTHX').Value:=CDS_Juan.fieldbyname('PRTHX').Value; + CDS_JuanPRT.FieldByName('MJPS0').Value:=1; + CDS_JuanPRT.FieldByName('XH').Value:=J+1; + CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; + CDS_JuanPRT.FieldByName('MZ0').Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; + CDS_JuanPRT.FieldByName('JZ0').Value:=CDS_Juan.fieldbyname('MJQty4').Value; + CDS_JuanPRT.FieldByName('SubId').Value:=CDS_Juan.fieldbyname('SubId').Value; + CDS_JuanPRT.FieldByName('MainId').Value:=CDS_Juan.fieldbyname('MainId').Value; + CDS_JuanPRT.Post; + Z:=0;//gang ׺ + j:=j+1;//к + for i:=1 to 9 do + begin + CDS_JuanPRT.Edit; + CDS_JuanPRT.FieldByName('MJPS'+Trim(IntToStr(i))).Value:=0; + CDS_JuanPRT.Post; + end; + end; + end; + end + end; + Z:=Z+1; + Next; + end; + end; + CDS_Juan.EnableControls; +end;} + +{procedure TfrmCKProductBCPOutList.GetBaoData(); +var + i,j,z,h:Integer; + FGangNo:String; +begin + if CDS_Main.IsEmpty then Exit; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select GangNo=AP.AOrdDefStr1,A.BaoNo,MJ.MJXH,MJ.MJMaoZ,MJ.MJLen'); + sql.Add(' from CK_BanCP_CR A'); + sql.Add(' inner join WFB_MJJY MJ on A.MJID=MJ.MJID'); + sql.Add(' inner join JYOrder_Main DD on A.MainId=DD.MainId'); + sql.Add(' inner join JYOrder_Sub_AnPai AP on A.APID=AP.APID'); + sql.Add(' where A.MainId='''+Trim(CDS_Main.fieldbyname('MainId').AsString)+''''); + sql.Add(' and A.SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); + if Trim(CDS_Main.FieldByName('CKOrdNo').AsString)<>'' then + begin + sql.Add(' and A.CKOrdNo='''+Trim(CDS_Main.FieldByName('CKOrdNo').AsString)+''''); + end; + if Trim(CPType.Text)<>'' then + begin + sql.Add(' and A.CPType='''+Trim(CPType.Text)+''''); + end; + sql.Add(' and A.CRType='''' '); + sql.Add(' order by Cast(AP.AOrdDefStr1 as int),Cast(A.BaoNo as int),MJ.MJXH'); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_BaoNo); + SInitCDSData20(ADOQueryTemp,CDS_BaoNo); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select GangNo0=Cast('''' as varchar(20)),GangNo1=Cast('''' as varchar(20)),GangNo2=Cast('''' as varchar(20)),'); + sql.Add(' GangNo3=Cast('''' as varchar(20)),GangNo4=Cast('''' as varchar(20)),XH=Cast('''' as varchar(20))'); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_BaoPRT); + SInitCDSData20(ADOQueryTemp,CDS_BaoPRT); + if CDS_BaoPRT.IsEmpty=False then + begin + CDS_BaoPRT.Delete; + end; + i:=0;j:=0;z:=0;FGangNo:='';h:=0; + CDS_BaoNo.DisableControls; + with CDS_BaoNo do + begin + First; + while not Eof do + begin + with CDS_BaoPRT do + begin + if CDS_BaoPRT.IsEmpty then + begin + if J=0 then + begin + CDS_BaoPRT.Append; + CDS_BaoPRT.FieldByName('GangNo0').Value:=CDS_BaoNo.fieldbyname('GangNo').Value; + CDS_BaoPRT.FieldByName('XH').Value:='0'; + CDS_BaoPRT.Post; + FGangNo:=Trim(CDS_BaoNo.fieldbyname('GangNo').AsString); + J:=0;//XH к + Z:=0;//gang ׺ + h:=0;//ÿеļ¼ + end; + end else + begin + if i>9 then + begin + Z:=Z+1; + if Z>4 then + begin + Z:=0; + J:=J+1; + CDS_BaoPRT.Append; + CDS_BaoPRT.FieldByName('GangNo0').Value:=CDS_BaoNo.fieldbyname('GangNo').Value; + CDS_BaoPRT.FieldByName('XH').Value:=Trim(IntToStr(J)); + CDS_BaoPRT.Post; + FGangNo:=Trim(CDS_BaoNo.fieldbyname('GangNo').AsString); + end else + begin + CDS_BaoPRT.Locate('XH',Trim(IntToStr(J)),[]); + CDS_BaoPRT.Edit; + CDS_BaoPRT.FieldByName('GangNo'+Trim(IntToStr(Z))).Value:=CDS_BaoNo.fieldbyname('GangNo').Value; + CDS_BaoPRT.Post; + FGangNo:=Trim(CDS_BaoNo.fieldbyname('GangNo').AsString); + end; + i:=0; + end else + begin + if FGangNo<>Trim(CDS_BaoNo.fieldbyname('GangNo').AsString) then + begin + Z:=Z+1; + if Z>4 then + begin + Z:=0; + J:=J+1; + CDS_BaoPRT.Append; + CDS_BaoPRT.FieldByName('GangNo0').Value:=CDS_BaoNo.fieldbyname('GangNo').Value; + CDS_BaoPRT.FieldByName('XH').Value:=Trim(IntToStr(J)); + CDS_BaoPRT.Post; + FGangNo:=Trim(CDS_BaoNo.fieldbyname('GangNo').AsString); + end else + begin + CDS_BaoPRT.Locate('XH',Trim(IntToStr(J)),[]); + CDS_BaoPRT.Edit; + CDS_BaoPRT.FieldByName('GangNo'+Trim(IntToStr(Z))).Value:=CDS_BaoNo.fieldbyname('GangNo').Value; + CDS_BaoPRT.Post; + FGangNo:=Trim(CDS_BaoNo.fieldbyname('GangNo').AsString); + end; + i:=0; + end; + end; + end; + end; + i:=i+1; + Next; + end; + end; + CDS_BaoNo.EnableControls; + +end;} + +{procedure TfrmCKProductBCPOutList.GetBaleData(); +var + i,j,z,h,q:Integer; + FGangNo,FHZ:String; +begin + if CDS_Main.IsEmpty then Exit; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select GangNo=AP.AOrdDefStr1,A.BaoNo,MJ.MJXH,MJ.MJMaoZ,MJ.MJLen,A.SubId,A.MainId,'); + sql.Add('DD.OrderNo,JS.PRTColor,PRTEColor=JS.SOrddefstr4,JS.PRTHX'); + sql.Add(' from CK_BanCP_CR A'); + sql.Add(' inner join WFB_MJJY MJ on A.MJID=MJ.MJID'); + sql.Add(' inner join JYOrder_Main DD on A.MainId=DD.MainId'); + sql.Add(' inner join JYOrder_Sub JS on A.SubId=JS.SubId'); + sql.Add(' inner join JYOrder_Sub_AnPai AP on A.APID=AP.APID'); + sql.Add(' where A.MainId='''+Trim(CDS_Main.fieldbyname('MainId').AsString)+''''); + //sql.Add(' and A.SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); + if Trim(CDS_Main.FieldByName('CKOrdNo').AsString)<>'' then + begin + sql.Add(' and A.CKOrdNo='''+Trim(CDS_Main.FieldByName('CKOrdNo').AsString)+''''); + end; + if Trim(CPType.Text)<>'' then + begin + sql.Add(' and A.CPType='''+Trim(CPType.Text)+''''); + end; + sql.Add(' and A.CRType='''' '); + sql.Add(' order by Cast(AP.AOrdDefStr1 as int),Cast(A.BaoNo as int),MJ.MJXH'); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_Juan); + SInitCDSData20(ADOQueryTemp,CDS_Juan); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select MainId=Cast('''' as varchar(20)),SubId=Cast('''' as varchar(20)),'); + sql.Add(' PRTEColor=Cast('''' as varchar(20)),PRTHX=Cast('''' as varchar(20)),'); + sql.Add(' GangNo=Cast('''' as varchar(20)),BaoNo=Cast('''' as varchar(20)),MJPS=Cast(0 as int),XH=Cast(0 as int),'); + sql.Add(' LenQty0=Cast(1.00 as decimal(18,2)),LenQty1=Cast(1.00 as decimal(18,2)),'); + sql.Add(' LenQty2=Cast(1.00 as decimal(18,2)),LenQty3=Cast(1.00 as decimal(18,2)),'); + sql.Add(' LenQty4=Cast(1.00 as decimal(18,2)),LenQty5=Cast(1.00 as decimal(18,2)),'); + sql.Add(' LenQty6=Cast(1.00 as decimal(18,2)),LenQty7=Cast(1.00 as decimal(18,2)),'); + sql.Add(' LenQty8=Cast(1.00 as decimal(18,2)),LenQty9=Cast(1.00 as decimal(18,2)),'); + sql.Add(' LenQty10=Cast(1.00 as decimal(18,2)),LenQty11=Cast(1.00 as decimal(18,2)),'); + sql.Add(' MJPS0=Cast(0 as int),MJPS1=Cast(0 as int),'); + sql.Add(' MJPS2=Cast(0 as int),MJPS3=Cast(0 as int),'); + sql.Add(' MJPS4=Cast(0 as int),MJPS5=Cast(0 as int),'); + sql.Add(' MJPS6=Cast(0 as int),MJPS7=Cast(0 as int),'); + sql.Add(' MJPS8=Cast(0 as int),MJPS9=Cast(0 as int),'); + sql.Add(' MJPS10=Cast(0 as int),MJPS11=Cast(1 as int),XH=Cast(0 as int)'); + //sql.Add(' KgQty0=Cast(1.00 as decimal(18,2)),KgQty1=Cast(1.00 as decimal(18,2)),'); + //sql.Add(' LenQty2=Cast(1.00 as decimal(18,2)),LenQty3=Cast(1.00 as decimal(18,2)),'); + //sql.Add(' LenQty4=Cast(1.00 as decimal(18,2)),LenQty5=Cast(1.00 as decimal(18,2)),'); + //sql.Add(' LenQty5=Cast(1.00 as decimal(18,2)),LenQty7=Cast(1.00 as decimal(18,2)),'); + //sql.Add(' LenQty6=Cast(1.00 as decimal(18,2)),LenQty9=Cast(1.00 as decimal(18,2)),'); + //sql.Add(' LenQty10=Cast(1.00 as decimal(18,2)),LenQty11=Cast(1.00 as decimal(18,2)),'); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_JuanPRT); + SInitCDSData20(ADOQueryTemp,CDS_JuanPRT); + if CDS_JuanPRT.IsEmpty=False then + begin + CDS_JuanPRT.Delete; + end; + i:=0;j:=0;z:=0;FGangNo:='';h:=0; + CDS_Juan.DisableControls; + with CDS_Juan do + begin + First; + while not Eof do + begin + //FHZ:=Trim(CDS_Juan.fieldbyname('SubId').AsString)+Trim(CDS_Juan.fieldbyname('BaoNO').AsString) + //+Trim(CDS_Juan.fieldbyname('GangNo').AsString); + with CDS_JuanPRT do + begin + if CDS_JuanPRT.IsEmpty then + begin + CDS_JuanPRT.Append; + CDS_JuanPRT.FieldByName('GangNo').Value:=CDS_Juan.fieldbyname('GangNo').Value; + CDS_JuanPRT.FieldByName('BaoNO').Value:=CDS_Juan.fieldbyname('BaoNO').Value; + CDS_JuanPRT.FieldByName('PRTEColor').Value:=CDS_Juan.fieldbyname('PRTEColor').Value; + CDS_JuanPRT.FieldByName('PRTHX').Value:=CDS_Juan.fieldbyname('PRTHX').Value; + CDS_JuanPRT.FieldByName('MJPS0').Value:=1; + CDS_JuanPRT.FieldByName('XH').Value:=0; + CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; + CDS_JuanPRT.FieldByName('SubId').Value:=CDS_Juan.fieldbyname('SubId').Value; + CDS_JuanPRT.FieldByName('MainId').Value:=CDS_Juan.fieldbyname('MainId').Value; + CDS_JuanPRT.Post; + FHZ:=Trim(CDS_Juan.fieldbyname('SubId').AsString)+Trim(CDS_Juan.fieldbyname('BaoNO').AsString) + +Trim(CDS_Juan.fieldbyname('GangNo').AsString); + //FGangNo:=Trim(CDS_Juan.fieldbyname('GangNo').AsString); + Z:=0;//gang ׺ + j:=0;//к + end else + begin + if (Trim(CDS_Juan.fieldbyname('SubId').AsString)+Trim(CDS_Juan.fieldbyname('BaoNO').AsString) + +Trim(CDS_Juan.fieldbyname('GangNo').AsString))<>FHZ then + begin + CDS_JuanPRT.Append; + CDS_JuanPRT.FieldByName('GangNo').Value:=CDS_Juan.fieldbyname('GangNo').Value; + CDS_JuanPRT.FieldByName('BaoNO').Value:=CDS_Juan.fieldbyname('BaoNO').Value; + CDS_JuanPRT.FieldByName('PRTEColor').Value:=CDS_Juan.fieldbyname('PRTEColor').Value; + CDS_JuanPRT.FieldByName('PRTHX').Value:=CDS_Juan.fieldbyname('PRTHX').Value; + CDS_JuanPRT.FieldByName('MJPS0').Value:=1; + CDS_JuanPRT.FieldByName('XH').Value:=J+1; + CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; + CDS_JuanPRT.FieldByName('SubId').Value:=CDS_Juan.fieldbyname('SubId').Value; + CDS_JuanPRT.FieldByName('MainId').Value:=CDS_Juan.fieldbyname('MainId').Value; + CDS_JuanPRT.Post; + FHZ:=Trim(CDS_Juan.fieldbyname('SubId').AsString)+Trim(CDS_Juan.fieldbyname('BaoNO').AsString) + +Trim(CDS_Juan.fieldbyname('GangNo').AsString); + Z:=0;//gang ׺ + j:=j+1;//к + end else + begin + if Z<12 then + begin + CDS_JuanPRT.Locate('XH',j,[]); + with CDS_JuanPRT do + begin + Edit; + FieldByName('GangNo').Value:=CDS_Juan.fieldbyname('GangNo').Value; + FieldByName('BaoNO').Value:=CDS_Juan.fieldbyname('BaoNO').Value; + CDS_JuanPRT.FieldByName('PRTEColor').Value:=CDS_Juan.fieldbyname('PRTEColor').Value; + CDS_JuanPRT.FieldByName('PRTHX').Value:=CDS_Juan.fieldbyname('PRTHX').Value; + FieldByName('MJPS'+Trim(IntToStr(Z))).Value:=1; + FieldByName('LenQty'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJLen').Value; + FieldByName('SubId').Value:=CDS_Juan.fieldbyname('SubId').Value; + FieldByName('MainId').Value:=CDS_Juan.fieldbyname('MainId').Value; + Post; + end; + end else + begin + CDS_JuanPRT.Append; + CDS_JuanPRT.FieldByName('GangNo').Value:=CDS_Juan.fieldbyname('GangNo').Value; + CDS_JuanPRT.FieldByName('BaoNO').Value:=CDS_Juan.fieldbyname('BaoNO').Value; + CDS_JuanPRT.FieldByName('PRTEColor').Value:=CDS_Juan.fieldbyname('PRTEColor').Value; + CDS_JuanPRT.FieldByName('PRTHX').Value:=CDS_Juan.fieldbyname('PRTHX').Value; + CDS_JuanPRT.FieldByName('MJPS0').Value:=1; + CDS_JuanPRT.FieldByName('XH').Value:=J+1; + CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; + CDS_JuanPRT.FieldByName('SubId').Value:=CDS_Juan.fieldbyname('SubId').Value; + CDS_JuanPRT.FieldByName('MainId').Value:=CDS_Juan.fieldbyname('MainId').Value; + CDS_JuanPRT.Post; + Z:=0;//gang ׺ + j:=j+1;//к + end; + end; + end + end; + Z:=Z+1; + Next; + end; + end; + CDS_Juan.EnableControls; +end; } +{procedure TfrmCKProductBCPOutList.GetJuanData(); +var + i,j,z,h,q:Integer; + FGangNo:String; +begin + if CDS_Main.IsEmpty then Exit; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select GangNo=AP.AOrdDefStr1,A.BaoNo,MJ.MJXH,MJ.MJMaoZ,MJ.MJLen,A.SubId,A.MainId'); + sql.Add(' from CK_BanCP_CR A'); + sql.Add(' inner join WFB_MJJY MJ on A.MJID=MJ.MJID'); + sql.Add(' inner join JYOrder_Main DD on A.MainId=DD.MainId'); + sql.Add(' inner join JYOrder_Sub JS on A.SubId=JS.SubId'); + sql.Add(' inner join JYOrder_Sub_AnPai AP on A.APID=AP.APID'); + sql.Add(' where A.MainId='''+Trim(CDS_Main.fieldbyname('MainId').AsString)+''''); + sql.Add(' and A.SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); + if Trim(CDS_Main.FieldByName('CKOrdNo').AsString)<>'' then + begin + sql.Add(' and A.CKOrdNo='''+Trim(CDS_Main.FieldByName('CKOrdNo').AsString)+''''); + end; + if Trim(CPType.Text)<>'' then + begin + sql.Add(' and A.CPType='''+Trim(CPType.Text)+''''); + end; + sql.Add(' and A.CRType='''' '); + sql.Add(' order by Cast(AP.AOrdDefStr1 as int),Cast(A.BaoNo as int),MJ.MJXH'); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_Juan); + SInitCDSData20(ADOQueryTemp,CDS_Juan); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select BaoNo0=Cast('''' as varchar(20)),MJXH0=Cast(0 as int),MJPS0=Cast(1 as int),'); + sql.Add('MJPS1=Cast(1 as int),MJPS2=Cast(1 as int),MJPS3=Cast(1 as int),MJPS4=Cast(1 as int),'); + sql.Add(' KGQty0=Cast(1.00 as decimal(18,2)),LenQty0=Cast(1.00 as decimal(18,2)),'); + sql.Add(' BaoNo1=Cast('''' as varchar(20)),MJXH1=Cast(0 as int),'); + sql.Add(' KGQty1=Cast(1.00 as decimal(18,2)),LenQty1=Cast(1.00 as decimal(18,2)),'); + sql.Add(' BaoNo2=Cast('''' as varchar(20)),MJXH2=Cast(0 as int),'); + sql.Add(' KGQty2=Cast(1.00 as decimal(18,2)),LenQty2=Cast(1.00 as decimal(18,2)),'); + sql.Add(' BaoNo3=Cast('''' as varchar(20)),MJXH3=Cast(0 as int),'); + sql.Add(' KGQty3=Cast(1.00 as decimal(18,2)),LenQty3=Cast(1.00 as decimal(18,2)),'); + sql.Add(' BaoNo4=Cast('''' as varchar(20)),MJXH4=Cast(0 as int),'); + sql.Add(' KGQty4=Cast(1.00 as decimal(18,2)),LenQty4=Cast(1.00 as decimal(18,2)),'); + sql.Add(' BaoNo5=Cast('''' as varchar(20)),MJXH5=Cast(0 as int),'); + sql.Add(' KGQty5=Cast(1.00 as decimal(18,2)),LenQty5=Cast(1.00 as decimal(18,2)),'); + sql.Add(' GangNo0=Cast('''' as varchar(20)),XH=Cast('''' as varchar(20)),'); + sql.Add(' GangNo1=Cast('''' as varchar(20)),GangNo2=Cast('''' as varchar(20)),'); + sql.Add(' GangNo3=Cast('''' as varchar(20)),GangNo4=Cast('''' as varchar(20))'); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_JuanPRT); + SInitCDSData20(ADOQueryTemp,CDS_JuanPRT); + if CDS_JuanPRT.IsEmpty=False then + begin + CDS_JuanPRT.Delete; + end; + i:=0;j:=0;z:=0;FGangNo:='';h:=0; + CDS_Juan.DisableControls; + with CDS_Juan do + begin + First; + while not Eof do + begin + with CDS_JuanPRT do + begin + if CDS_JuanPRT.IsEmpty then + begin + begin + CDS_JuanPRT.Append; + CDS_JuanPRT.FieldByName('GangNo0').Value:=CDS_Juan.fieldbyname('GangNo').Value; + CDS_JuanPRT.FieldByName('BaoNO0').Value:=CDS_Juan.fieldbyname('BaoNO').Value; + CDS_JuanPRT.FieldByName('MJXH0').Value:=CDS_Juan.fieldbyname('MJXH').Value; + CDS_JuanPRT.FieldByName('MJPS0').Value:=1; + CDS_JuanPRT.FieldByName('KGQty0').Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; + CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; + CDS_JuanPRT.FieldByName('XH').Value:='0'; + CDS_JuanPRT.Post; + FGangNo:=Trim(CDS_Juan.fieldbyname('GangNo').AsString); + for h:=1 to 9 do + begin + CDS_JuanPRT.Append; + CDS_JuanPRT.FieldByName('XH').Value:=Trim(IntToStr(h)); + CDS_JuanPRT.Post; + end; + J:=0;//XH к + Z:=0;//gang ׺ + //h:=9;// + q:=0; //ҳ + end; + end else + begin + if i>9 then + begin + Z:=Z+1; + + if Z>4 then + begin + Z:=0; + q:=q+1; + J:=q*10; + CDS_JuanPRT.Append; + CDS_JuanPRT.FieldByName('GangNo0').Value:=CDS_Juan.fieldbyname('GangNo').Value; + CDS_JuanPRT.FieldByName('BaoNO0').Value:=CDS_Juan.fieldbyname('BaoNO').Value; + CDS_JuanPRT.FieldByName('MJXH0').Value:=CDS_Juan.fieldbyname('MJXH').Value; + CDS_JuanPRT.FieldByName('KGQty0').Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; + CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; + CDS_JuanPRT.FieldByName('MJPS0').Value:=1; + CDS_JuanPRT.FieldByName('XH').Value:=Trim(IntToStr(J)); + CDS_JuanPRT.Post; + for h:=J+1 to J+9 do + begin + CDS_JuanPRT.Append; + CDS_JuanPRT.FieldByName('XH').Value:=Trim(IntToStr(h)); + CDS_JuanPRT.Post; + end; + FGangNo:=Trim(CDS_Juan.fieldbyname('GangNo').AsString); + end else + begin + J:=q*10; + CDS_JuanPRT.Locate('XH',Trim(IntToStr(10*q)),[]); + CDS_JuanPRT.Edit; + CDS_JuanPRT.FieldByName('GangNo'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('GangNo').Value; + CDS_JuanPRT.FieldByName('BaoNO'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('BaoNO').Value; + CDS_JuanPRT.FieldByName('MJXH'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJXH').Value; + CDS_JuanPRT.FieldByName('MJPS'+Trim(IntToStr(Z))).Value:=1; + CDS_JuanPRT.FieldByName('KGQty'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; + CDS_JuanPRT.FieldByName('LenQty'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJLen').Value; + CDS_JuanPRT.Post; + FGangNo:=Trim(CDS_Juan.fieldbyname('GangNo').AsString); + end; + i:=0; + end else + begin + if FGangNo<>Trim(CDS_Juan.fieldbyname('GangNo').AsString) then + begin + Z:=Z+1; + + if Z>4 then + begin + Z:=0; + q:=q+1; + J:=q*10; + CDS_JuanPRT.Append; + CDS_JuanPRT.FieldByName('GangNo0').Value:=CDS_Juan.fieldbyname('GangNo').Value; + CDS_JuanPRT.FieldByName('BaoNO0').Value:=CDS_Juan.fieldbyname('BaoNO').Value; + CDS_JuanPRT.FieldByName('MJXH0').Value:=CDS_Juan.fieldbyname('MJXH').Value; + CDS_JuanPRT.FieldByName('KGQty0').Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; + CDS_JuanPRT.FieldByName('LenQty0').Value:=CDS_Juan.fieldbyname('MJLen').Value; + CDS_JuanPRT.FieldByName('MJPS0').Value:=1; + CDS_JuanPRT.FieldByName('XH').Value:=Trim(IntToStr(J)); + CDS_JuanPRT.Post; + FGangNo:=Trim(CDS_Juan.fieldbyname('GangNo').AsString); + for h:=J+1 to J+9 do + begin + CDS_JuanPRT.Append; + CDS_JuanPRT.FieldByName('XH').Value:=Trim(IntToStr(h)); + CDS_JuanPRT.Post; + end; + end else + begin + J:=q*10; + CDS_JuanPRT.Locate('XH',Trim(IntToStr(10*q)),[]); + CDS_JuanPRT.Edit; + CDS_JuanPRT.FieldByName('GangNo'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('GangNo').Value; + CDS_JuanPRT.FieldByName('BaoNO'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('BaoNO').Value; + CDS_JuanPRT.FieldByName('MJXH'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJXH').Value; + CDS_JuanPRT.FieldByName('KGQty'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; + CDS_JuanPRT.FieldByName('LenQty'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJLen').Value; + CDS_JuanPRT.FieldByName('MJPS'+Trim(IntToStr(Z))).Value:=1; + CDS_JuanPRT.Post; + FGangNo:=Trim(CDS_Juan.fieldbyname('GangNo').AsString); + end; + i:=0; + end else + begin + j:=j+1; + CDS_JuanPRT.Locate('XH',Trim(IntToStr(J)),[]); + CDS_JuanPRT.Edit; + CDS_JuanPRT.FieldByName('GangNo'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('GangNo').Value; + CDS_JuanPRT.FieldByName('BaoNO'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('BaoNO').Value; + CDS_JuanPRT.FieldByName('MJXH'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJXH').Value; + CDS_JuanPRT.FieldByName('KGQty'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJMaoZ').Value; + CDS_JuanPRT.FieldByName('LenQty'+Trim(IntToStr(Z))).Value:=CDS_Juan.fieldbyname('MJLen').Value; + CDS_JuanPRT.FieldByName('MJPS'+Trim(IntToStr(Z))).Value:=1; + CDS_JuanPRT.Post; + FGangNo:=Trim(CDS_Juan.fieldbyname('GangNo').AsString); + end; + end; + end; + end; + i:=i+1; + Next; + end; + end; + CDS_Juan.EnableControls; +end; } + +procedure TfrmCKProductBCPOutList.orderNoChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmCKProductBCPOutList.N1Click(Sender: TObject); +begin + SelOKNo(CDS_Main,True); +end; + +procedure TfrmCKProductBCPOutList.N2Click(Sender: TObject); +begin + SelOKNo(CDS_Main,False); +end; + +procedure TfrmCKProductBCPOutList.TBCKCXClick(Sender: TObject); +var + FFMainId,FPrice:String; +begin + if CDS_Main.IsEmpty then Exit; + if CDS_Main.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡ','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪ','ʾ',32+4)<>IDYES then Exit; + MovePanel2.Visible:=True; + MovePanel2.Refresh; + try + ADOQueryCmd.Connection.BeginTrans; + CDS_Main.DisableControls; + with CDS_Main do + begin + //First; + while CDS_Main.Locate('SSel',True,[])=True do + begin + //if CDS_Main.FieldByName('SSel').AsBoolean=True then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete CK_BanCP_CR where BCID='''+Trim(CDS_Main.fieldbyname('BCID').AsString)+''''); + sql.Add('UPdate CK_BanCP_KC Set KCKgQty=(select KgQty from CK_BanCP_CR A where A.CRID=CK_BanCP_KC.CRID and A.CRType='''') '); + sql.Add(',KCQty=(select Qty from CK_BanCP_CR A where A.CRID=CK_BanCP_KC.CRID and A.CRType='''') '); + SQL.Add(' where CRID='+CDS_Main.fieldbyname('CRID').AsString); + sql.Add('Update WFB_MJJY Set MJStr2='''' where MJID='''+Trim(CDS_Main.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + {if YSData(CDS_Main)=False then + begin + CDS_Main.EnableControls; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ʧ!','ʾ',0); + Exit; + end; } + CDS_Main.Delete; + end; + end; + end; + CDS_Main.EnableControls; + ADOQueryCmd.Connection.CommitTrans; + MovePanel2.Visible:=False; + Exit; + except + MovePanel2.Visible:=False; + CDS_Main.EnableControls; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; + +end; +function TfrmCKProductBCPOutList.YSData(Order_Main10:TClientDataSet):Boolean; +var + CRID,YFID,Price,PriceUnit,OrderUnit:String; +begin + Result:=False; + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1 * from JYOrder_Sub Where Mainid='''+Trim(Order_Main10.fieldbyname('MainId').AsString)+''''); + //sql.Add(' and PRTPrice>0'); + Open; + end; + {Price:=ADOQueryTemp.fieldbyname('PRTPrice').AsString; + if Trim(Price)='' then + begin + Price:='0'; + end; } + PriceUnit:=Trim(ADOQueryTemp.fieldbyname('PriceUnit').AsString); + OrderUnit:=Trim(ADOQueryTemp.fieldbyname('OrderUnit').AsString); + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main10.fieldbyname('KHName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CRID set CRID=CRID+1'); + sql.Add('select * from YF_Money_CRID '); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('FactoryName').Value:=Trim(Order_Main10.fieldbyname('KHName').AsString); + FieldByName('ZdyStr1').Value:='Ӧ'; + Post; + end; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(Order_Main10.fieldbyname('KHName').AsString)+''''); + sql.Add(' and YFTypeId='''+Trim(Order_Main10.fieldbyname('Mainid').AsString)+''''); + //sql.Add(' and Price='''+Trim(Order_Main10.fieldbyname('PRTPrice').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + if GetLSNo(ADOQueryCmd,YFID,'CS','YF_Money_CR',3,1)=False then + begin + Application.MessageBox('ȡӦʧ!','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('YFID').Value:=Trim(YFID); + FieldByName('YFTypeId').Value:=Trim(Order_Main10.fieldbyname('MainId').AsString); + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRType').Value:='ӦտǼ'; + FieldByName('CRFlag').Value:='Ӧ'; + FieldByName('QtyFlag').Value:=1; + FieldByName('FactoryName').Value:=Trim(Order_Main10.fieldbyname('KHName').AsString); + FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('YFType').Value:='Զ'; + FieldByName('Price').Value:=Price; + //FieldByName('HuiLv').Value:=1; + FieldByName('BZType').Value:=Trim(PriceUnit); + FieldByName('QtyUnit').Value:=Trim(OrderUnit); + FieldByName('YFName').Value:='۽'; + FieldByName('MainId').Value:=Trim(Order_Main10.fieldbyname('Mainid').AsString); + Post; + end; + end else + begin + YFID:=Trim(ADOQueryTemp.fieldbyname('YFID').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + if Trim(OrderUnit)<>'Kg' then + begin + sql.Add('update YF_Money_CR Set Qty=(select isnull(Sum(A.Qty),0) from CK_BanCP_CR A '); + end else + begin + sql.Add('update YF_Money_CR Set Qty=(select isnull(Sum(A.KgQty),0) from CK_BanCP_CR A '); + end; + sql.Add(' inner join JYOrder_Sub B on A.SubId=B.SubId where'); + SQL.Add(' A.MainId=YF_Money_CR.YFTypeId and A.CRType='''' and CPType=''Ʒ'' '); + SQL.Add(' )'); //and B.PRTPrice=YF_Money_CR.Price + sql.Add(',PS=(select isnull(count(*),0) from CK_BanCP_CR A '); + sql.Add(' inner join JYOrder_Sub B on A.SubId=B.SubId where'); + SQL.Add(' A.MainId=YF_Money_CR.YFTypeId and A.CRType='''' and CPType=''Ʒ'' '); + SQL.Add(' )'); //and B.PRTPrice=YF_Money_CR.Price + sql.Add(' where YFTypeId='''+Trim(Order_Main10.fieldbyname('Mainid').AsString)+''''); + //sql.Add(' and Price='+Order_Main10.fieldbyname('PRTPrice').AsString); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CR Set Money=Price*Qty,BBMoney=Price*Qty*HuiLv'); + sql.Add(' where YFID='''+Trim(YFID)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where YFId='''+Trim(YFID)+''''); + Open; + end; + if ADOQueryTemp.FieldByName('Qty').Value=0 then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete from YF_Money_CR where YFID='''+Trim(YFID)+''''); + ExecSQL; + end; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where CRId='+CRID); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete from YF_Money_KC where CRId='+CRID); + ExecSQL; + end; + end; + + + Result:=True; +end; + +procedure TfrmCKProductBCPOutList.orderNoKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Length(Trim(orderNo.Text))<4 then Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('select A.*,B.OrderNo,C.PRTCodeName,C.PRTSpec,C.PRTColor,C.SOrddefstr1,C.PRTMF,C.PRTKZ,D.MJXH,C.PRTPrice,C.PRTHX '); + sql.Add(',C.SOrddefstr4,D.MJQty3,D.MJQty4'); + sql.Add(',PONO=(select Top 1 KHConNo from JYOrderCon_Main JCM where JCM.ConNo=B.OrderNo)'); + sql.Add(',MPRTECodeName=(select Top 1 MPRTCodeName from JYOrderCon_Main JCM where JCM.ConNo=B.OrderNo)'); + sql.Add(',isnull(customerNoName,B.OrderNo) KHName'); + sql.Add(',D.mjstr4,D.MJstr5 '); + sql.add('from CK_BanCP_CR A '); + Sql.add(' inner join JYOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); + Sql.add(' inner join WFB_MJJY D on A.MJId=D.MJId'); + sql.add('where B.OrderNo like '''+'%'+Trim(orderNo.Text)+'%'+''''); + SQL.Add(' and CRType='''' '); + // Parameters.ParamByName('orderNo').Value:='%'+Trim(orderNo.Text)+'%'; + + Open; + //ShowMessage(SQL.Text); + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; + JSbaoNum(); + end; + +end; + +procedure TfrmCKProductBCPOutList.AOrdDefStr1Change(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmCKProductBCPOutList.Tv1CellDblClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + Panel4.Left:=FLeft; + Panel4.Top:=FTop+110; + Panel4.Visible:=True; + Panel4.Refresh; + Panel10.Caption:=Trim(TV1.Controller.FocusedColumn.Caption); + RichEdit1.Text:=CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString; +end; + +procedure TfrmCKProductBCPOutList.Tv1MouseUp(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FLeft:=X; + FTop:=Y; +end; + +procedure TfrmCKProductBCPOutList.Image2Click(Sender: TObject); +begin + Panel4.Visible:=False; +end; + +procedure TfrmCKProductBCPOutList.CheckBox1Click(Sender: TObject); +begin + SelOKNo(CDS_Main,CheckBox1.Checked); +end; + +end. diff --git a/打卷检验管理/U_CKProductJYHZList.dfm b/打卷检验管理/U_CKProductJYHZList.dfm new file mode 100644 index 0000000..cd03ff0 --- /dev/null +++ b/打卷检验管理/U_CKProductJYHZList.dfm @@ -0,0 +1,652 @@ +object frmCKProductJYHZList: TfrmCKProductJYHZList + Left = 239 + Top = 140 + Width = 1517 + Height = 511 + Caption = #25104#21697#26816#39564#27719#24635#20449#24687 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1501 + Height = 33 + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object ToolButton1: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #26597#30475#26126#32454 + ImageIndex = 3 + OnClick = ToolButton1Click + end + object TBExport: TToolButton + Left = 213 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 276 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + Visible = False + OnClick = TBPrintClick + end + object TBClose: TToolButton + Left = 339 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 33 + Width = 1501 + Height = 68 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label3: TLabel + Left = 212 + Top = 36 + Width = 48 + Height = 12 + Caption = #20013#25991#21517#31216 + end + object Label1: TLabel + Left = 24 + Top = 12 + Width = 48 + Height = 12 + Caption = #26597#35810#26102#38388 + end + object Label2: TLabel + Left = 60 + Top = 36 + Width = 12 + Height = 12 + Caption = #33267 + end + object Label5: TLabel + Left = 212 + Top = 12 + Width = 48 + Height = 12 + Caption = #35746' '#21333' '#21495 + end + object Label6: TLabel + Left = 420 + Top = 12 + Width = 24 + Height = 12 + Caption = #39068#33394 + end + object Label8: TLabel + Left = 211 + Top = 100 + Width = 48 + Height = 12 + Caption = #20811' '#37325 + end + object Label9: TLabel + Left = 380 + Top = 108 + Width = 24 + Height = 12 + Caption = #38376#24133 + end + object Label7: TLabel + Left = 780 + Top = 16 + Width = 48 + Height = 12 + Caption = #31867' '#22411 + end + object Label10: TLabel + Left = 504 + Top = 36 + Width = 6 + Height = 12 + end + object Label11: TLabel + Left = 488 + Top = 80 + Width = 36 + Height = 12 + Caption = #19994#21153#21592 + end + object Label12: TLabel + Left = 488 + Top = 104 + Width = 36 + Height = 12 + Caption = #36319#21333#21592 + end + object Label4: TLabel + Left = 420 + Top = 36 + Width = 24 + Height = 12 + Caption = #32568#21495 + end + object Label14: TLabel + Left = 600 + Top = 16 + Width = 36 + Height = 12 + Caption = #21512#21516#21495 + end + object Label15: TLabel + Left = 616 + Top = 40 + Width = 18 + Height = 12 + Caption = 'PO#' + end + object MPRTCodeName: TEdit + Tag = 2 + Left = 266 + Top = 32 + Width = 80 + Height = 20 + TabOrder = 0 + OnChange = MPRTCodeNameChange + end + object BegDate: TDateTimePicker + Left = 73 + Top = 9 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + TabOrder = 1 + end + object EndDate: TDateTimePicker + Left = 73 + Top = 33 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + TabOrder = 2 + end + object orderNo: TEdit + Tag = 2 + Left = 266 + Top = 8 + Width = 80 + Height = 20 + TabOrder = 3 + OnChange = MPRTCodeNameChange + end + object PRTColor: TEdit + Tag = 2 + Left = 446 + Top = 8 + Width = 80 + Height = 20 + TabOrder = 4 + OnChange = MPRTCodeNameChange + end + object MPRTKZ: TEdit + Tag = 2 + Left = 260 + Top = 96 + Width = 100 + Height = 20 + TabOrder = 5 + OnChange = MPRTCodeNameChange + end + object MPRTMF: TEdit + Tag = 2 + Left = 404 + Top = 104 + Width = 65 + Height = 20 + TabOrder = 6 + OnChange = MPRTCodeNameChange + end + object CPType: TComboBox + Tag = 2 + Left = 831 + Top = 12 + Width = 68 + Height = 20 + Style = csDropDownList + ItemHeight = 12 + TabOrder = 7 + OnChange = TBFindClick + Items.Strings = ( + #27491#21697 + #27425#21697 + #22810#25340 + '') + end + object YWY: TEdit + Tag = 2 + Left = 526 + Top = 76 + Width = 65 + Height = 20 + TabOrder = 8 + OnChange = MPRTCodeNameChange + end + object OrdPerson1: TEdit + Tag = 2 + Left = 526 + Top = 100 + Width = 65 + Height = 20 + TabOrder = 9 + OnChange = MPRTCodeNameChange + end + object MJstr4: TEdit + Tag = 1 + Left = 446 + Top = 32 + Width = 80 + Height = 20 + TabOrder = 10 + OnChange = MPRTCodeNameChange + end + object conNo: TEdit + Tag = 2 + Left = 638 + Top = 12 + Width = 80 + Height = 20 + TabOrder = 11 + OnChange = MPRTCodeNameChange + end + object KHCONNO: TEdit + Tag = 2 + Left = 638 + Top = 36 + Width = 80 + Height = 20 + TabOrder = 12 + OnChange = MPRTCodeNameChange + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 101 + Width = 1501 + Height = 371 + Align = alClient + TabOrder = 2 + object Tv1: TcxGridDBTableView + OnMouseUp = Tv1MouseUp + Navigator.Buttons.CustomButtons = <> + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1Column6 + end + item + Kind = skSum + Column = v2Column5 + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column11 + end + item + Kind = skSum + Column = v1Column12 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1Column3: TcxGridDBColumn + Caption = #20837#24211#26085#26399 + DataBinding.FieldName = 'CRTime' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 89 + end + object v1Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Width = 72 + end + object v1Column9: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'conNo' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v1Column10: TcxGridDBColumn + Caption = 'PO#' + DataBinding.FieldName = 'khconNO' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v2Column1: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'PRTCodeName' + HeaderAlignmentHorz = taCenter + Width = 125 + end + object v1Column4: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column2: TcxGridDBColumn + Caption = #39068#33394'('#33521#25991')' + DataBinding.FieldName = 'SOrddefstr4' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column8: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column5: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'MJStr4' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column6: TcxGridDBColumn + Caption = #26816#39564#21367#25968 + DataBinding.FieldName = 'JQty' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column12: TcxGridDBColumn + Caption = #26816#39564#38271#24230 + DataBinding.FieldName = 'Qty' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v1Column7: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'QtyUnit' + HeaderAlignmentHorz = taCenter + Width = 83 + end + object v2Column5: TcxGridDBColumn + Caption = #27611#37325 + DataBinding.FieldName = 'KGQty' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v1Column11: TcxGridDBColumn + Caption = #20928#37325 + DataBinding.FieldName = 'MJQty4' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v1Column13: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'CPType' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object Tv1Column1: TcxGridDBColumn + Caption = #20986#24211#21305#25968 + DataBinding.FieldName = 'CKROLL' + HeaderAlignmentHorz = taCenter + end + object Tv1Column3: TcxGridDBColumn + Caption = #20986#24211#25968#37327 + DataBinding.FieldName = 'sckroll' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object Tv1Column2: TcxGridDBColumn + Caption = #24211#23384#21305#25968 + DataBinding.FieldName = 'KCROLL' + HeaderAlignmentHorz = taCenter + end + object Tv1Column4: TcxGridDBColumn + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'skcroll' + HeaderAlignmentHorz = taCenter + Width = 60 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object MovePanel2: TMovePanel + Left = 408 + Top = 192 + Width = 289 + Height = 49 + BevelInner = bvLowered + Caption = #27491#22312#26597#35810#25968#25454#65292#35831#31245#21518#12290#12290#12290 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + end + object Panel4: TPanel + Left = 62 + Top = 139 + Width = 294 + Height = 213 + TabOrder = 4 + Visible = False + object Label13: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 292 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #20107#20214#35828#26126 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + object Image2: TImage + Left = 269 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object RichEdit1: TRichEdit + Left = 1 + Top = 24 + Width = 292 + Height = 188 + Align = alClient + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + end + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 980 + Top = 144 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 996 + Top = 144 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 956 + Top = 136 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 920 + Top = 152 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 888 + Top = 144 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 776 + Top = 224 + end + object RMGridReport1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 720 + Top = 136 + ReportData = {} + end +end diff --git a/打卷检验管理/U_CKProductJYHZList.pas b/打卷检验管理/U_CKProductJYHZList.pas new file mode 100644 index 0000000..1a48f91 --- /dev/null +++ b/打卷检验管理/U_CKProductJYHZList.pas @@ -0,0 +1,318 @@ +unit U_CKProductJYHZList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, + cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, + cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, + cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, + cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, MovePanel, cxButtonEdit, + cxCalendar, RM_System, RM_Common, RM_Class, RM_GridReport, + cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; + +type + TfrmCKProductJYHZList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBExport: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + cxGridPopupMenu1: TcxGridPopupMenu; + Label3: TLabel; + MPRTCodeName: TEdit; + Label1: TLabel; + Label2: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + CDS_Main: TClientDataSet; + Tv1: TcxGridDBTableView; + cxGrid2Level1: TcxGridLevel; + cxGrid2: TcxGrid; + v2Column1: TcxGridDBColumn; + v2Column5: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + Label5: TLabel; + orderNo: TEdit; + Label6: TLabel; + PRTColor: TEdit; + v1Column7: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + Label8: TLabel; + MPRTKZ: TEdit; + Label9: TLabel; + MPRTMF: TEdit; + Label7: TLabel; + CPType: TComboBox; + MovePanel2: TMovePanel; + Label10: TLabel; + Label11: TLabel; + Label12: TLabel; + YWY: TEdit; + OrdPerson1: TEdit; + v1Column11: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + MJstr4: TEdit; + Label4: TLabel; + Panel4: TPanel; + Label13: TLabel; + Panel10: TPanel; + Image2: TImage; + RichEdit1: TRichEdit; + v1Column2: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + conNo: TEdit; + Label14: TLabel; + KHCONNO: TEdit; + Label15: TLabel; + v1Column13: TcxGridDBColumn; + RMGridReport1: TRMGridReport; + ToolButton1: TToolButton; + Tv1Column1: TcxGridDBColumn; + Tv1Column2: TcxGridDBColumn; + Tv1Column3: TcxGridDBColumn; + Tv1Column4: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoMChange(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure MPRTCodeNameChange(Sender: TObject); + procedure v1Column5PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure PRTColorChange(Sender: TObject); + procedure Image2Click(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure TBPrintClick(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + private + FLeft,FTop:Integer; + procedure InitGrid(); + { Private declarations } + public + { Public declarations } + end; + +var + frmCKProductJYHZList: TfrmCKProductJYHZList; + +implementation +uses + U_DataLink,U_Fun,U_ZDYHelp,U_JYOrderCDOne; + +{$R *.dfm} + +procedure TfrmCKProductJYHZList.FormDestroy(Sender: TObject); +begin + frmCKProductJYHZList:=nil; +end; + +procedure TfrmCKProductJYHZList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmCKProductJYHZList.FormCreate(Sender: TObject); +begin + //cxGrid1.Align:=alClient; + BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp) +end; + +procedure TfrmCKProductJYHZList.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + sql.Clear; + Filtered:=False; + sql.Add('select convert(char(10),A.fillTime,120) as CRTime,A.MJType as CPType,A.MainId,A.MJTypeother as QtyUnit,A.Mjstr4,C.OrderNo,C.ConNO,D.PRTCodeName,D.PrtColor,D.PrtHX,D.SOrddefstr4, '); + sql.Add('count(A.MainId) as JQty,SUM(A.MJLen) as Qty,SUM(A.MJMaoZ) as KGQty,SUM(A.MJQty4) as MJQty4,'); + sql.Add('JQty=(select count(*) from WFB_MJJY X where X.SubId=A.SubId),'); + sql.Add('SCKROLL=(select sum(mjlen) from WFB_MJJY X where X.SubId=A.SubId and X.ckflag=''ѳ''),'); + sql.Add('SkcROLL=(select sum(mjlen) from WFB_MJJY X where X.SubId=A.SubId and X.ckflag=''δ''),'); + sql.Add('CKROLL=(select count(*) from WFB_MJJY X where X.SubId=A.SubId and X.ckflag=''ѳ''),'); + sql.Add('KCROLL=(select count(*) from WFB_MJJY X where X.SubId=A.SubId and X.ckflag=''δ''),'); + sql.Add('khconNO=(select top 1 khconNo from JYOrderCon_Main X where X.conNO=C.conNO)'); + sql.Add('from WFB_MJJY A '); + sql.Add('inner join JYOrder_Main C on C.MainId=A.MainId '); + sql.Add('inner join JYOrder_sub D on D.subID=A.subID '); + Sql.add('where A.fillTime>='''+formatdateTime('yyyy-MM-dd',begdate.Date)+''' '); + Sql.add('and A.fillTime<'''+formatdateTime('yyyy-MM-dd',enddate.Date+1)+''' '); + Sql.add('group by convert(char(10),A.fillTime,120),A.SubId,A.MJType,A.MainId,A.MJTypeother,A.Mjstr4,C.OrderNo,C.ConNO,D.PRTCodeName,D.PrtColor,D.PrtHX,D.SOrddefstr4'); + Open; + //ShowMessage(SQL.Text); + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmCKProductJYHZList.TBRafreshClick(Sender: TObject); +begin + //BegDate.SetFocus; + MovePanel2.Visible:=True; + MovePanel2.Refresh; + InitGrid(); + MovePanel2.Visible:=False; +end; + +procedure TfrmCKProductJYHZList.ConNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + end; +end; + +procedure TfrmCKProductJYHZList.TBCloseClick(Sender: TObject); +begin + WriteCxGrid(self.Caption+tv1.Name,Tv1,'Ʒֿ'); + Close; +end; + +procedure TfrmCKProductJYHZList.FormShow(Sender: TObject); +begin + + ReadCxGrid(self.Caption+tv1.Name,Tv1,'Ʒֿ'); + if Trim(DParameters2)='' then + begin + //v1Column5.Options.Focusing:=True; + end else + begin + //v1Column5.Options.Focusing:=False; + end; + //InitGrid(); +end; + +procedure TfrmCKProductJYHZList.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then exit; + TcxGridToExcel('б',cxGrid2); +end; + +procedure TfrmCKProductJYHZList.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + end; +end; + +procedure TfrmCKProductJYHZList.MPRTCodeNameChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmCKProductJYHZList.v1Column5PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='SOrdDefStr10'; + flagname:='ŵص'; + if ShowModal=1 then + begin + with CDS_Main do + begin + Edit; + FieldByName('SOrdDefStr10').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYOrder_Sub Set SOrdDefStr10='''+Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)+''''); + sql.Add(' where SubId='''+Trim(Self.CDS_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmCKProductJYHZList.PRTColorChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmCKProductJYHZList.Image2Click(Sender: TObject); +begin + Panel4.Visible:=False; +end; + +procedure TfrmCKProductJYHZList.Tv1CellDblClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + Panel4.Left:=FLeft; + Panel4.Top:=FTop+110; + Panel4.Visible:=True; + Panel10.Caption:=Trim(TV1.Controller.FocusedColumn.Caption); + RichEdit1.Text:=CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString; + application.ProcessMessages; +end; + +procedure TfrmCKProductJYHZList.Tv1MouseUp(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FLeft:=X; + FTop:=Y; +end; + +procedure TfrmCKProductJYHZList.TBPrintClick(Sender: TObject); +begin + RMGridReport1.PreviewButtons:=[pbZoom,pbLoad,pbSave,pbPrint,pbFind,pbPageSetup,pbExit,pbExport,pbNavigator]; +end; + +procedure TfrmCKProductJYHZList.ToolButton1Click(Sender: TObject); +begin + if cds_main.IsEmpty then Exit; + frmJYOrderCDOne:=TfrmJYOrderCDOne.Create(Application); + with frmJYOrderCDOne do + begin + orderno.Text:=trim(self.CDS_Main.fieldbyname('orderno').asstring); + gangno.Text:=trim(self.CDS_Main.fieldbyname('MJStr4').asstring); + PRTColor.Text:=trim(self.CDS_Main.fieldbyname('PRTColor').asstring); + if ShowModal=1 then + begin + // InitGrid(); + end; + free; + end; +end; + +end. diff --git a/打卷检验管理/U_CKYCLKC.dfm b/打卷检验管理/U_CKYCLKC.dfm new file mode 100644 index 0000000..0b2966e --- /dev/null +++ b/打卷检验管理/U_CKYCLKC.dfm @@ -0,0 +1,345 @@ +object frmCKYCLKC: TfrmCKYCLKC + Left = 128 + Top = 152 + Width = 1027 + Height = 511 + Caption = #21407#26448#26009#20986#20837#23384 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1019 + Height = 33 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_JWLCK.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBExport: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + Visible = False + end + object ToolButton1: TToolButton + Left = 252 + Top = 0 + Caption = #20445#23384 + ImageIndex = 14 + OnClick = ToolButton1Click + end + object TBClose: TToolButton + Left = 311 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 33 + Width = 1019 + Height = 42 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label3: TLabel + Left = 302 + Top = 12 + Width = 48 + Height = 12 + Caption = #29289#26009#21517#31216 + end + object Label4: TLabel + Left = 478 + Top = 12 + Width = 36 + Height = 12 + Caption = #35268' '#26684 + end + object Label7: TLabel + Left = 638 + Top = 12 + Width = 48 + Height = 12 + Caption = #20379' '#24212' '#21830 + end + object Label1: TLabel + Left = 28 + Top = 12 + Width = 48 + Height = 12 + Caption = #26597#35810#26102#38388 + end + object Label2: TLabel + Left = 168 + Top = 12 + Width = 12 + Height = 12 + Caption = #33267 + end + object YCLName: TEdit + Tag = 2 + Left = 351 + Top = 9 + Width = 100 + Height = 20 + TabOrder = 0 + OnChange = YCLNameChange + end + object YCLSpec: TEdit + Tag = 2 + Left = 516 + Top = 9 + Width = 100 + Height = 20 + TabOrder = 1 + OnChange = YCLNameChange + end + object GYSName: TEdit + Tag = 2 + Left = 687 + Top = 9 + Width = 100 + Height = 20 + TabOrder = 2 + OnChange = YCLNameChange + end + object BegDate: TDateTimePicker + Left = 77 + Top = 9 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + TabOrder = 3 + end + object EndDate: TDateTimePicker + Left = 181 + Top = 9 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Time = 40768.458268587970000000 + TabOrder = 4 + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 75 + Width = 1019 + Height = 399 + Align = alClient + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column5 + end + item + Kind = skSum + Column = v2Column6 + end + item + Kind = skSum + Column = v1Column1 + end + item + Kind = skSum + Column = v1Column2 + end + item + Kind = skSum + Column = v2Column7 + end + item + Kind = skSum + Column = v2Column8 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = DataLink_JWLCK.Default + object v2Column1: TcxGridDBColumn + Caption = #29289#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 92 + end + object v2Column2: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 77 + end + object v2Column3: TcxGridDBColumn + Caption = #20379#24212#21830 + DataBinding.FieldName = 'GYSName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 77 + end + object v2Column4: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'KCUint' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 82 + end + object v2Column5: TcxGridDBColumn + Caption = #19978#26399#25968#37327 + DataBinding.FieldName = 'SQJCS' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 73 + end + object v2Column6: TcxGridDBColumn + Caption = #26412#26399#20837#24211#25968#37327 + DataBinding.FieldName = 'RKS' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 101 + end + object v1Column1: TcxGridDBColumn + Caption = #26412#26399#22238#20179#25968#37327 + DataBinding.FieldName = 'HCS' + Options.Focusing = False + Width = 87 + end + object v1Column2: TcxGridDBColumn + Caption = #26412#26399#36864#36135#25968#37327 + DataBinding.FieldName = 'THS' + Options.Focusing = False + Width = 88 + end + object v2Column7: TcxGridDBColumn + Caption = #26412#26399#20986#24211#25968#37327 + DataBinding.FieldName = 'CKS' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 93 + end + object v2Column8: TcxGridDBColumn + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'KCQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 78 + end + object v2Column9: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'KCType' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.DropDownListStyle = lsFixedList + Properties.Items.Strings = ( + #20027#35201 + #36741#21161 + #20854#23427 + '') + HeaderAlignmentHorz = taCenter + Width = 81 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_JWLCK.ADOLink + Parameters = <> + Left = 904 + Top = 40 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_JWLCK.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 840 + Top = 40 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_JWLCK.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 872 + Top = 40 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 624 + Top = 184 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 544 + Top = 176 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 416 + Top = 192 + end +end diff --git a/打卷检验管理/U_CKYCLKC.pas b/打卷检验管理/U_CKYCLKC.pas new file mode 100644 index 0000000..a388bcb --- /dev/null +++ b/打卷检验管理/U_CKYCLKC.pas @@ -0,0 +1,241 @@ +unit U_CKYCLKC; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, + cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, + cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, + cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, + cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit; + +type + TfrmCKYCLKC = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBExport: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + cxGridPopupMenu1: TcxGridPopupMenu; + Label3: TLabel; + Label4: TLabel; + Label7: TLabel; + YCLName: TEdit; + YCLSpec: TEdit; + GYSName: TEdit; + Label1: TLabel; + Label2: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + CDS_Main: TClientDataSet; + Tv1: TcxGridDBTableView; + cxGrid2Level1: TcxGridLevel; + cxGrid2: TcxGrid; + v2Column1: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + v2Column3: TcxGridDBColumn; + v2Column4: TcxGridDBColumn; + v2Column5: TcxGridDBColumn; + v2Column6: TcxGridDBColumn; + v2Column7: TcxGridDBColumn; + v2Column8: TcxGridDBColumn; + v2Column9: TcxGridDBColumn; + ToolButton1: TToolButton; + v1Column1: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoMChange(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure YCLNameChange(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure ToolButton1Click(Sender: TObject); + private + procedure InitGrid(); + { Private declarations } + public + { Public declarations } + end; + +var + frmCKYCLKC: TfrmCKYCLKC; + +implementation +uses + U_DataLink,U_Fun,U_CRMX; + +{$R *.dfm} + +procedure TfrmCKYCLKC.FormDestroy(Sender: TObject); +begin + frmCKYCLKC:=nil; +end; + +procedure TfrmCKYCLKC.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmCKYCLKC.FormCreate(Sender: TObject); +begin + //cxGrid1.Align:=alClient; + BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-30; + EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp) +end; + +procedure TfrmCKYCLKC.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('exec CK_YCL_CRCHZ :begdate,:enddate,:CKName'); + Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime)); + Parameters.ParamByName('enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)); + Parameters.ParamByName('CKName').Value:=Trim(DParameters1); + Open; + //ShowMessage(SQL.Text); + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmCKYCLKC.TBRafreshClick(Sender: TObject); +begin + BegDate.SetFocus; + InitGrid(); +end; + +procedure TfrmCKYCLKC.ConNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + end; +end; + +procedure TfrmCKYCLKC.TBCloseClick(Sender: TObject); +begin + WriteCxGrid('ԭϿ2',Tv1,'ԭϲֿ'); + Close; +end; + +procedure TfrmCKYCLKC.FormShow(Sender: TObject); +begin + + ReadCxGrid('ԭϿ2',Tv1,'ԭϲֿ'); + if Trim(DParameters2)='ԭ' then + begin + ToolButton1.Visible:=True; + v2Column9.Options.Focusing:=True; + v2Column9.Visible:=True; + end else + begin + ToolButton1.Visible:=False; + v2Column9.Options.Focusing:=False; + v2Column9.Visible:=False; + end; + InitGrid(); +end; + +procedure TfrmCKYCLKC.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then exit; + TcxGridToExcel(Trim(DParameters1)+'',cxGrid2); +end; + +procedure TfrmCKYCLKC.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + end; +end; + +procedure TfrmCKYCLKC.YCLNameChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmCKYCLKC.Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + try + frmCRMX:=TfrmCRMX.Create(Application); + with frmCRMX do + begin + Fbegdate:=FormatDateTime('yyyy-MM-dd',Self.BegDate.DateTime); + Fenddate:=FormatDateTime('yyyy-MM-dd',Self.enddate.DateTime+1); + {FGYS:=Trim(Self.CDS_Main.fieldbyname('GYS').AsString); + FYCLCode:=Trim(Self.CDS_Main.fieldbyname('YCLCode').AsString); + FYCLSpec:=Trim(Self.CDS_Main.fieldbyname('YCLSpec').AsString); + FCRUnit:=Trim(Self.CDS_Main.fieldbyname('KCUint').AsString); } + CRID:=Trim(Self.CDS_Main.fieldbyname('CRID').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmCRMX.Free; + end; +end; + +procedure TfrmCKYCLKC.ToolButton1Click(Sender: TObject); +begin + try + ADOQueryCmd.Connection.BeginTrans; + BegDate.SetFocus; + CDS_Main.DisableControls; + with CDS_Main do + begin + First; + while not Eof do + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update CK_YCL_KC Set KCType='''+Trim(CDS_Main.fieldbyname('KCType').AsString)+''''); + SQL.Add(' where CRID='+CDS_Main.fieldbyname('CRID').AsString); + ExecSQL; + end; + Next; + end; + end; + CDS_Main.EnableControls; + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; + +end; + +end. diff --git a/打卷检验管理/U_CPDBAO.dfm b/打卷检验管理/U_CPDBAO.dfm new file mode 100644 index 0000000..6057d96 --- /dev/null +++ b/打卷检验管理/U_CPDBAO.dfm @@ -0,0 +1,1694 @@ +object frmCPDBao: TfrmCPDBao + Left = 324 + Top = 149 + Width = 1551 + Height = 742 + Caption = #25171#21253#31383#21475 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + WindowState = wsMaximized + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1535 + Height = 33 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + Visible = False + object TBClose: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 33 + Width = 1535 + Height = 76 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label16: TLabel + Left = 420 + Top = 88 + Width = 48 + Height = 12 + Caption = #36135#36816#31867#22411 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object Label15: TLabel + Left = 40 + Top = 84 + Width = 48 + Height = 12 + Caption = #37197#36135#20154#21592 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object Label14: TLabel + Left = 234 + Top = 80 + Width = 24 + Height = 12 + Caption = #21253#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object Label1: TLabel + Left = 32 + Top = 14 + Width = 100 + Height = 24 + Caption = #26465#30721#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 1168 + Top = 85 + Width = 50 + Height = 24 + Caption = #24211#20301 + Font.Charset = GB2312_CHARSET + Font.Color = clBlack + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label3: TLabel + Left = 327 + Top = 14 + Width = 50 + Height = 24 + Caption = #21253#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 473 + Top = 14 + Width = 75 + Height = 24 + Caption = #21253#26465#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object PHYG: TBtnEditA + Left = 92 + Top = 84 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + Visible = False + end + object defstr2: TComboBox + Left = 472 + Top = 84 + Width = 101 + Height = 20 + Style = csDropDownList + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Pitch = fpFixed + Font.Style = [] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ItemHeight = 12 + ItemIndex = 0 + ParentFont = False + TabOrder = 2 + Visible = False + Items.Strings = ( + '' + #24555#20214 + #24930#20214) + end + object packNo: TcxCurrencyEdit + Left = 262 + Top = 76 + Properties.DecimalPlaces = 0 + Properties.DisplayFormat = '0' + TabOrder = 3 + Visible = False + Width = 100 + end + object SmNO: TEdit + Left = 136 + Top = 10 + Width = 165 + Height = 32 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + TabOrder = 0 + OnKeyPress = SmNOKeyPress + end + object kcKw: TBtnEditA + Left = 1228 + Top = 81 + Width = 89 + Height = 33 + Font.Charset = GB2312_CHARSET + Font.Color = clBlack + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + TabOrder = 4 + Visible = False + OnBtnClick = kcKwBtnClick + end + object baoNo: TEdit + Left = 383 + Top = 10 + Width = 66 + Height = 32 + Hint = 'baoNo' + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + TabOrder = 5 + OnClick = baoNoClick + OnExit = baoNoExit + OnKeyPress = baoNoKeyPress + end + object BaoID: TEdit + Left = 550 + Top = 10 + Width = 170 + Height = 32 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + TabOrder = 6 + OnClick = baoNoClick + end + object FileName: TcxButton + Left = 984 + Top = 8 + Width = 77 + Height = 33 + Hint = 'Filesother' + Caption = #25171#21360#21253#26631#31614 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + OnClick = FileNameClick + LookAndFeel.Kind = lfOffice11 + end + object cxButton1: TcxButton + Left = 1068 + Top = 8 + Width = 77 + Height = 33 + Hint = 'Filesother' + Caption = #20851#38381 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + OnClick = cxButton1Click + LookAndFeel.Kind = lfOffice11 + end + object ComboBox1: TComboBox + Left = 920 + Top = 12 + Width = 49 + Height = 23 + Style = csDropDownList + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Times New Roman' + Font.Style = [] + ItemHeight = 15 + ItemIndex = 0 + ParentFont = False + TabOrder = 9 + Text = '1' + Items.Strings = ( + '1' + '2' + '3' + '4') + end + object cxButton3: TcxButton + Left = 728 + Top = 8 + Width = 77 + Height = 33 + Hint = 'Filesother' + Caption = #21024#38500 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + OnClick = cxButton3Click + LookAndFeel.Kind = lfOffice11 + end + object cxButton2: TcxButton + Left = 704 + Top = 80 + Width = 77 + Height = 33 + Hint = 'Filesother' + Caption = #20445#23384 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + OnClick = cxButton2Click + LookAndFeel.Kind = lfOffice11 + end + object cxButton4: TcxButton + Left = 728 + Top = 40 + Width = 77 + Height = 33 + Hint = 'Filesother' + Caption = #25764#38144#25171#21253 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 12 + OnClick = cxButton4Click + LookAndFeel.Kind = lfOffice11 + end + object check_Fbz: TCheckBox + Left = 864 + Top = 80 + Width = 105 + Height = 17 + Caption = #21253#21103#26631#31614 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 13 + end + object Fbq: TBtnEditA + Left = 960 + Top = 80 + Width = 121 + Height = 20 + TabOrder = 14 + OnBtnClick = FbqBtnClick + end + object ComboBox2: TComboBox + Left = 1077 + Top = 80 + Width = 49 + Height = 20 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ItemHeight = 12 + ItemIndex = 0 + ParentFont = False + TabOrder = 15 + Text = '1' + Items.Strings = ( + '1' + '2' + '3' + '4') + end + object check_bz: TCheckBox + Left = 828 + Top = 16 + Width = 89 + Height = 17 + Caption = #21253#26631#31614 + Checked = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + State = cbChecked + TabOrder = 16 + end + object BaoBq: TBtnEditA + Left = 1144 + Top = 72 + Width = 141 + Height = 20 + TabOrder = 17 + Visible = False + OnBtnClick = BaoBqBtnClick + end + object CheckBox1: TCheckBox + Left = 828 + Top = 48 + Width = 133 + Height = 17 + Caption = #33258#21160#25171#21253 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 18 + end + object ComboBox3: TComboBox + Left = 920 + Top = 44 + Width = 49 + Height = 20 + Style = csDropDownList + ItemHeight = 12 + TabOrder = 19 + Items.Strings = ( + '1' + '2' + '3' + '4' + '5' + '6' + '7' + '8' + '9' + '10' + '11' + '12' + '13' + '14' + '15' + '16' + '17' + '18' + '19' + '20' + '21' + '22' + '23' + '24' + '25') + end + end + object Panel2: TPanel + Left = 400 + Top = 141 + Width = 1133 + Height = 560 + Caption = 'Panel2' + TabOrder = 2 + object cxGrid2: TcxGrid + Left = 1 + Top = 1 + Width = 1131 + Height = 266 + Align = alTop + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 0 + object TV2: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + OnCustomDrawCell = TV2CustomDrawCell + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'C_Code' + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = cxGridDBColumn5 + end + item + Kind = skSum + Column = cxGridDBColumn6 + end + item + Kind = skSum + end + item + Kind = skSum + Column = V2Column2 + end + item + Kind = skSum + Column = V2Column3 + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Header = DataLink_TradeManage.Default + object cxGridDBColumn1: TcxGridDBColumn + Caption = #25195#25551#20449#24687 + DataBinding.FieldName = 'SDefNote' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = DataLink_TradeManage.FoneRed + Styles.Footer = DataLink_TradeManage.FoneRed + Styles.Header = DataLink_TradeManage.FoneRed + Width = 154 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #26465#30721#21495 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 113 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #21697#21517 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 116 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Width = 94 + end + object V2Column5: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object V2Column4: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'MJStr4' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object V2Column1: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'BCGangNO' + Visible = False + HeaderAlignmentHorz = taCenter + Width = 120 + end + object cxGridDBColumn7: TcxGridDBColumn + Caption = #31561#32423 + DataBinding.FieldName = 'MJType' + HeaderAlignmentHorz = taCenter + Width = 46 + end + object V2BaoID: TcxGridDBColumn + Caption = #21253#26465#30721 + DataBinding.FieldName = 'BaoID' + HeaderAlignmentHorz = taCenter + Width = 94 + end + object V2BaoNO: TcxGridDBColumn + Caption = #21253#21495 + DataBinding.FieldName = 'BaoNO' + HeaderAlignmentHorz = taCenter + Width = 51 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'SOrdQty1' + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FontBlue + Styles.Footer = DataLink_TradeManage.FontBlue + Styles.Header = DataLink_TradeManage.FontBlue + Width = 60 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'MJLen' + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FontBlue + Styles.Footer = DataLink_TradeManage.FontBlue + Styles.Header = DataLink_TradeManage.FontBlue + Width = 60 + end + object V2Column2: TcxGridDBColumn + Caption = #27611#37325 + DataBinding.FieldName = 'MJMaoZ' + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FontBlue + Styles.Footer = DataLink_TradeManage.FontBlue + Styles.Header = DataLink_TradeManage.FontBlue + Width = 60 + end + object V2Column3: TcxGridDBColumn + Caption = #20928#37325 + DataBinding.FieldName = 'MJQty4' + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FontBlue + Styles.Footer = DataLink_TradeManage.FontBlue + Styles.Header = DataLink_TradeManage.FontBlue + Width = 60 + end + object TV2Column1: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'MJXH' + HeaderAlignmentHorz = taCenter + Width = 44 + end + object TV2Column2: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Width = 60 + end + end + object cxGridLevel1: TcxGridLevel + GridView = TV2 + end + end + object cxGrid1: TcxGrid + Left = 1 + Top = 267 + Width = 1131 + Height = 292 + Align = alClient + PopupMenu = PopupMenu1 + TabOrder = 1 + object TV4: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DSSEL + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'C_Code' + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = cxGridDBColumn16 + end + item + Kind = skSum + Column = cxGridDBColumn17 + end + item + Kind = skSum + end + item + Kind = skSum + Column = cxGridDBColumn18 + end + item + Kind = skSum + Column = cxGridDBColumn19 + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Header = DataLink_TradeManage.Default + object cxGridDBColumn8: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'Ssel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FoneRed + Styles.Footer = DataLink_TradeManage.FoneRed + Styles.Header = DataLink_TradeManage.FoneRed + Width = 53 + end + object cxGridDBColumn9: TcxGridDBColumn + Caption = #26465#30721#21495 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 113 + end + object cxGridDBColumn10: TcxGridDBColumn + Caption = #21697#21517 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 116 + end + object cxGridDBColumn11: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 94 + end + object cxGridDBColumn12: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'BCGangNO' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 120 + end + object V4Column1: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object V4Column2: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'MJstr4' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object cxGridDBColumn13: TcxGridDBColumn + Caption = #31561#32423 + DataBinding.FieldName = 'MJType' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object cxGridDBColumn14: TcxGridDBColumn + Caption = #21253#26465#30721 + DataBinding.FieldName = 'BaoID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 94 + end + object cxGridDBColumn15: TcxGridDBColumn + Caption = #21253#21495 + DataBinding.FieldName = 'BaoNO' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 51 + end + object cxGridDBColumn16: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'SOrdQty1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = DataLink_TradeManage.FontBlue + Styles.Footer = DataLink_TradeManage.FontBlue + Styles.Header = DataLink_TradeManage.FontBlue + Width = 60 + end + object cxGridDBColumn17: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'MJLen' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = DataLink_TradeManage.FontBlue + Styles.Footer = DataLink_TradeManage.FontBlue + Styles.Header = DataLink_TradeManage.FontBlue + Width = 60 + end + object cxGridDBColumn18: TcxGridDBColumn + Caption = #27611#37325 + DataBinding.FieldName = 'MJMaoZ' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = DataLink_TradeManage.FontBlue + Styles.Footer = DataLink_TradeManage.FontBlue + Styles.Header = DataLink_TradeManage.FontBlue + Width = 60 + end + object cxGridDBColumn19: TcxGridDBColumn + Caption = #20928#37325 + DataBinding.FieldName = 'MJQty4' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = DataLink_TradeManage.FontBlue + Styles.Footer = DataLink_TradeManage.FontBlue + Styles.Header = DataLink_TradeManage.FontBlue + Width = 60 + end + object TV4Column1: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'mjxh' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object TV4Column2: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Width = 60 + end + end + object cxGridLevel3: TcxGridLevel + GridView = TV4 + end + end + end + object Panel3: TPanel + Left = 999 + Top = 227 + Width = 290 + Height = 286 + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 4 + Visible = False + object SpeedButton1: TSpeedButton + Left = 4 + Top = 211 + Width = 140 + Height = 70 + Caption = '0' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton2: TSpeedButton + Left = 4 + Top = 143 + Width = 70 + Height = 70 + Caption = '1' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton3: TSpeedButton + Left = 74 + Top = 143 + Width = 70 + Height = 70 + Caption = '2' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton4: TSpeedButton + Left = 144 + Top = 143 + Width = 70 + Height = 70 + Caption = '3' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton5: TSpeedButton + Left = 4 + Top = 73 + Width = 70 + Height = 70 + Caption = '4' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton6: TSpeedButton + Left = 74 + Top = 73 + Width = 70 + Height = 70 + Caption = '5' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton7: TSpeedButton + Left = 144 + Top = 73 + Width = 70 + Height = 70 + Caption = '6' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton8: TSpeedButton + Left = 4 + Top = 3 + Width = 70 + Height = 70 + Caption = '7' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton9: TSpeedButton + Left = 74 + Top = 2 + Width = 70 + Height = 70 + Caption = '8' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton10: TSpeedButton + Left = 144 + Top = 2 + Width = 70 + Height = 70 + Caption = '9' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton11: TSpeedButton + Tag = 9 + Left = 144 + Top = 213 + Width = 70 + Height = 68 + Caption = '.' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton12: TSpeedButton + Left = 214 + Top = 2 + Width = 70 + Height = 70 + Caption = #8592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton12Click + end + object SpeedButton49: TSpeedButton + Tag = 9 + Left = 214 + Top = 73 + Width = 70 + Height = 208 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton49Click + end + end + object Panel4: TPanel + Left = 0 + Top = 109 + Width = 553 + Height = 594 + Align = alLeft + BevelInner = bvRaised + BevelOuter = bvLowered + Caption = 'Panel4' + TabOrder = 5 + object cxGrid3: TcxGrid + Left = 2 + Top = 89 + Width = 549 + Height = 503 + Align = alClient + TabOrder = 0 + object Tv3: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DSTm + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Header = DataLink_TradeManage.Default + object v3Column5: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'Ssel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 42 + end + object Tv3Column1: TcxGridDBColumn + Caption = #26465#30721 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = DataLink_TradeManage.FontBlue + Styles.Footer = DataLink_TradeManage.FontBlue + Width = 88 + end + object v3Column1: TcxGridDBColumn + Caption = #21697#21517 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 72 + end + object v3Column2: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 44 + end + object v3Column4: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 43 + end + object v3Column3: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'MJlen' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 47 + end + object v3Column8: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v3Column6: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'MJXH' + HeaderAlignmentHorz = taCenter + Width = 50 + end + object v3Column7: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'MJStr4' + HeaderAlignmentHorz = taCenter + Width = 50 + end + object Tv3Column2: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Width = 60 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv3 + end + end + object Panel5: TPanel + Left = 2 + Top = 2 + Width = 549 + Height = 87 + Align = alTop + BevelOuter = bvNone + TabOrder = 1 + object Label6: TLabel + Left = 8 + Top = 13 + Width = 45 + Height = 14 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 8 + Top = 56 + Width = 24 + Height = 12 + Caption = #39068#33394 + end + object Label8: TLabel + Left = 96 + Top = 56 + Width = 24 + Height = 12 + Caption = #33394#21495 + end + object Label9: TLabel + Left = 180 + Top = 56 + Width = 24 + Height = 12 + Caption = #33457#22411 + end + object Label10: TLabel + Left = 268 + Top = 56 + Width = 24 + Height = 12 + Caption = #32568#21495 + end + object Label11: TLabel + Left = 356 + Top = 56 + Width = 24 + Height = 12 + Caption = #21367#21495 + end + object Label12: TLabel + Left = 272 + Top = 13 + Width = 60 + Height = 14 + Caption = #25171#21253#26041#24335 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BtnEditA1: TBtnEditA + Left = 56 + Top = 9 + Width = 153 + Height = 22 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnBtnClick = BtnEditA1BtnClick + end + object cxButton5: TcxButton + Left = 212 + Top = 8 + Width = 49 + Height = 25 + Hint = 'Filesother' + Caption = #21047#26032 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = cxButton5Click + LookAndFeel.Kind = lfOffice11 + end + object cxButton6: TcxButton + Left = 468 + Top = 8 + Width = 61 + Height = 25 + Hint = 'Filesother' + Caption = #30830#23450#36873#25321 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = cxButton6Click + LookAndFeel.Kind = lfOffice11 + end + object cxButton7: TcxButton + Left = 468 + Top = 48 + Width = 57 + Height = 25 + Hint = 'Filesother' + Caption = #36807#28388 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = cxButton7Click + LookAndFeel.Kind = lfOffice11 + end + object PRTColor: TEdit + Tag = 2 + Left = 32 + Top = 52 + Width = 60 + Height = 20 + TabOrder = 4 + end + object SOrddefstr1: TEdit + Tag = 1 + Left = 120 + Top = 52 + Width = 60 + Height = 20 + TabOrder = 5 + end + object PRTHX: TEdit + Tag = 2 + Left = 204 + Top = 52 + Width = 60 + Height = 20 + TabOrder = 6 + end + object mjstr4: TEdit + Tag = 1 + Left = 292 + Top = 52 + Width = 60 + Height = 20 + TabOrder = 7 + end + object MJXH: TEdit + Tag = 1 + Left = 380 + Top = 52 + Width = 60 + Height = 20 + TabOrder = 8 + end + object ComboBox4: TComboBox + Left = 336 + Top = 8 + Width = 81 + Height = 24 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ItemHeight = 16 + ItemIndex = 0 + ParentFont = False + TabOrder = 9 + Text = #25353#35746#21333 + Items.Strings = ( + #25353#35746#21333 + #25353#39068#33394) + end + end + end + object MovePanel1: TMovePanel + Left = 198 + Top = 248 + Width = 715 + Height = 327 + BevelInner = bvLowered + Color = clSkyBlue + TabOrder = 3 + Visible = False + object Label2: TLabel + Left = 184 + Top = 160 + Width = 198 + Height = 64 + Caption = 'Label2' + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -64 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Edit2: TEdit + Left = 177 + Top = 43 + Width = 412 + Height = 72 + Enabled = False + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -64 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + ReadOnly = True + TabOrder = 0 + Text = '91209120001' + end + object Button4: TButton + Left = 300 + Top = 272 + Width = 75 + Height = 41 + Caption = #20851#38381 + TabOrder = 1 + OnClick = Button4Click + end + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 552 + Top = 136 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 500 + Top = 232 + end + object CDSMJID: TClientDataSet + Aggregates = <> + Params = <> + Left = 732 + Top = 212 + end + object DataSource2: TDataSource + DataSet = CDSMJID + Left = 836 + Top = 248 + end + object ADOQueryTmp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 388 + Top = 324 + end + object cxStyleRepository1: TcxStyleRepository + Left = 317 + Top = 306 + PixelsPerInch = 96 + object cxStyle1: TcxStyle + AssignedValues = [svColor, svFont] + Color = clInactiveCaption + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle2: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = 4707838 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBtnText + end + object cxStyle_gridRow: TcxStyle + AssignedValues = [svColor, svFont] + Color = 16311512 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_gridFoot: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_gridHead: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_gridGroupBox: TcxStyle + AssignedValues = [svColor, svFont] + Color = clMoneyGreen + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_yellow: TcxStyle + AssignedValues = [svColor, svFont] + Color = 8454143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_Red: TcxStyle + AssignedValues = [svColor, svFont] + Color = clRed + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_fontBlack: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_fontclFuchsia: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clFuchsia + end + object cxStyle_fontclPurple: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clPurple + end + object cxStyle_fontclGreen: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clGreen + end + object cxStyle_fontclBlue: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlue + end + object cxStyle_fontclTeal: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clTeal + end + object cxStyle_fontclOlive: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clOlive + end + end + object ADOQuery1: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 252 + Top = 428 + end + object DataSource1: TDataSource + DataSet = ADOQuery1 + Left = 312 + Top = 464 + end + object ADOQueryTm: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 144 + Top = 240 + end + object DSTm: TDataSource + DataSet = CDSTM + Left = 88 + Top = 216 + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 576 + Top = 256 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 424 + Top = 256 + ReportData = {} + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 652 + Top = 232 + end + object CDSTM: TClientDataSet + Aggregates = <> + Params = <> + Left = 212 + Top = 221 + end + object CDSSEL: TClientDataSet + Aggregates = <> + Params = <> + Left = 957 + Top = 497 + end + object DSSEL: TDataSource + DataSet = CDSSEL + Left = 849 + Top = 501 + end + object ADOQuery2: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 332 + Top = 420 + end + object PopupMenu1: TPopupMenu + Left = 948 + Top = 568 + object N1: TMenuItem + Caption = #20840#36873 + OnClick = N1Click + end + object N2: TMenuItem + Caption = #20840#24323 + OnClick = N2Click + end + end +end diff --git a/打卷检验管理/U_CPDBAO.pas b/打卷检验管理/U_CPDBAO.pas new file mode 100644 index 0000000..fe5df89 --- /dev/null +++ b/打卷检验管理/U_CPDBAO.pas @@ -0,0 +1,1498 @@ +unit U_CPDBAO; + +interface + +uses + Windows, Messages, strutils, SysUtils, Variants, Classes, Graphics, Controls, + Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, + cxGrid, StdCtrls, cxContainer, cxTextEdit, cxCurrencyEdit, BtnEdit, ExtCtrls, + ComCtrls, ToolWin, DBClient, ADODB, MovePanel, Buttons, Menus, + cxLookAndFeelPainters, cxButtons, RM_Common, RM_Class, RM_GridReport, + RM_System, RM_Dataset, cxCheckBox, MMSystem, cxLookAndFeels, cxNavigator, + dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, + dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle, + dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, + dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, + dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins, + dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, + dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, + dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, + dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, + dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, + dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, + dxSkinsDefaultPainters, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, + dxSkinXmas2008Blue, dxSkinscxPCPainter; + +type + TfrmCPDBao = class(TForm) + ToolBar1: TToolBar; + TBClose: TToolButton; + Panel1: TPanel; + PHYG: TBtnEditA; + defstr2: TComboBox; + Label16: TLabel; + Label15: TLabel; + packNo: TcxCurrencyEdit; + Label14: TLabel; + Label1: TLabel; + Panel2: TPanel; + cxGrid2: TcxGrid; + TV2: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + cxGridDBColumn7: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + ADOQueryMain: TADOQuery; + ADOQueryCmd: TADOQuery; + CDSMJID: TClientDataSet; + DataSource2: TDataSource; + SmNO: TEdit; + ADOQueryTmp: TADOQuery; + V2Column1: TcxGridDBColumn; + kcKw: TBtnEditA; + Label5: TLabel; + MovePanel1: TMovePanel; + Edit2: TEdit; + Button4: TButton; + Label2: TLabel; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxStyle2: TcxStyle; + cxStyle_gridRow: TcxStyle; + cxStyle_gridFoot: TcxStyle; + cxStyle_gridHead: TcxStyle; + cxStyle_gridGroupBox: TcxStyle; + cxStyle_yellow: TcxStyle; + cxStyle_Red: TcxStyle; + cxStyle_fontBlack: TcxStyle; + cxStyle_fontclFuchsia: TcxStyle; + cxStyle_fontclPurple: TcxStyle; + cxStyle_fontclGreen: TcxStyle; + cxStyle_fontclBlue: TcxStyle; + cxStyle_fontclTeal: TcxStyle; + cxStyle_fontclOlive: TcxStyle; + ADOQuery1: TADOQuery; + DataSource1: TDataSource; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridLevel2: TcxGridLevel; + Tv3Column1: TcxGridDBColumn; + ADOQueryTm: TADOQuery; + DSTm: TDataSource; + baoNo: TEdit; + BaoID: TEdit; + Label3: TLabel; + Label4: TLabel; + V2BaoNO: TcxGridDBColumn; + V2BaoID: TcxGridDBColumn; + Panel3: TPanel; + SpeedButton1: TSpeedButton; + SpeedButton2: TSpeedButton; + SpeedButton3: TSpeedButton; + SpeedButton4: TSpeedButton; + SpeedButton5: TSpeedButton; + SpeedButton6: TSpeedButton; + SpeedButton7: TSpeedButton; + SpeedButton8: TSpeedButton; + SpeedButton9: TSpeedButton; + SpeedButton10: TSpeedButton; + SpeedButton11: TSpeedButton; + SpeedButton12: TSpeedButton; + SpeedButton49: TSpeedButton; + FileName: TcxButton; + RMDB_Main: TRMDBDataSet; + RM2: TRMGridReport; + cxButton1: TcxButton; + ComboBox1: TComboBox; + V2Column2: TcxGridDBColumn; + V2Column3: TcxGridDBColumn; + Panel4: TPanel; + ADOQueryPrint: TADOQuery; + Label6: TLabel; + BtnEditA1: TBtnEditA; + v3Column1: TcxGridDBColumn; + v3Column2: TcxGridDBColumn; + v3Column3: TcxGridDBColumn; + CDSTM: TClientDataSet; + Panel5: TPanel; + cxButton3: TcxButton; + cxButton2: TcxButton; + CDSSEL: TClientDataSet; + cxGrid1: TcxGrid; + TV4: TcxGridDBTableView; + cxGridDBColumn8: TcxGridDBColumn; + cxGridDBColumn9: TcxGridDBColumn; + cxGridDBColumn10: TcxGridDBColumn; + cxGridDBColumn11: TcxGridDBColumn; + cxGridDBColumn12: TcxGridDBColumn; + cxGridDBColumn13: TcxGridDBColumn; + cxGridDBColumn14: TcxGridDBColumn; + cxGridDBColumn15: TcxGridDBColumn; + cxGridDBColumn16: TcxGridDBColumn; + cxGridDBColumn17: TcxGridDBColumn; + cxGridDBColumn18: TcxGridDBColumn; + cxGridDBColumn19: TcxGridDBColumn; + cxGridLevel3: TcxGridLevel; + DSSEL: TDataSource; + cxButton4: TcxButton; + V2Column5: TcxGridDBColumn; + V2Column4: TcxGridDBColumn; + V4Column1: TcxGridDBColumn; + V4Column2: TcxGridDBColumn; + v3Column4: TcxGridDBColumn; + check_Fbz: TCheckBox; + Fbq: TBtnEditA; + ComboBox2: TComboBox; + check_bz: TCheckBox; + BaoBq: TBtnEditA; + cxButton5: TcxButton; + cxButton6: TcxButton; + v3Column5: TcxGridDBColumn; + CheckBox1: TCheckBox; + ComboBox3: TComboBox; + v3Column6: TcxGridDBColumn; + v3Column7: TcxGridDBColumn; + cxButton7: TcxButton; + v3Column8: TcxGridDBColumn; + Label7: TLabel; + PRTColor: TEdit; + SOrddefstr1: TEdit; + Label8: TLabel; + PRTHX: TEdit; + Label9: TLabel; + mjstr4: TEdit; + Label10: TLabel; + MJXH: TEdit; + Label11: TLabel; + ComboBox4: TComboBox; + Label12: TLabel; + ADOQuery2: TADOQuery; + PopupMenu1: TPopupMenu; + N1: TMenuItem; + N2: TMenuItem; + TV4Column1: TcxGridDBColumn; + TV4Column2: TcxGridDBColumn; + TV2Column1: TcxGridDBColumn; + TV2Column2: TcxGridDBColumn; + Tv3Column2: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure SmNOKeyPress(Sender: TObject; var Key: Char); + procedure FormShow(Sender: TObject); + procedure TV2CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); + procedure kcKwBtnClick(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure baoNoKeyPress(Sender: TObject; var Key: Char); + procedure baoNoClick(Sender: TObject); + procedure SpeedButton1Click(Sender: TObject); + procedure SpeedButton12Click(Sender: TObject); + procedure SpeedButton49Click(Sender: TObject); + procedure FileNameClick(Sender: TObject); + procedure cxButton1Click(Sender: TObject); + procedure baoNoExit(Sender: TObject); + procedure BtnEditA1BtnClick(Sender: TObject); + procedure cxButton3Click(Sender: TObject); + procedure cxButton2Click(Sender: TObject); + procedure cxButton4Click(Sender: TObject); + procedure FbqBtnClick(Sender: TObject); + procedure BaoBqBtnClick(Sender: TObject); + procedure cxButton5Click(Sender: TObject); + procedure cxButton6Click(Sender: TObject); + procedure cxButton7Click(Sender: TObject); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + private + Rolls: integer; + procedure InitGrid(); + procedure InitMJID(); + function SaveRK(): Boolean; + procedure QueryRk(); + procedure QueryTM(); + { Private declarations } + public + { Public declarations } + end; + +var + frmCPDBao: TfrmCPDBao; + newh: hwnd; + +implementation + +uses + U_DataLink, U_Fun, U_ZDYHelp, U_OrderSelRK; +{$R *.dfm} + +procedure TfrmCPDBao.QueryTm(); +var + FBaoID: string; +begin + + with ADOQueryTM do + begin + close; + sql.Clear; + sql.Add('select A.*,B.*,C.MPrtCodeName,C.orderNo as OrderNoM'); + sql.Add('from WFB_MJJY A '); + sql.Add('inner join JYOrder_sub B on B.subID=A.subID '); + sql.Add('inner join JYOrder_main C on C.mainID=A.MainID '); + sql.Add('and isnull(A.BAOID,'''')='''' and A.mjstr2=''δ'' and C.orderNo=' + quotedstr(trim(BtnEditA1.Text))); + open; + end; + SCreateCDS20(ADOQueryTM, CDSTM); + SInitCDSData20(ADOQueryTM, CDSTM); + +//if CDSMJID.IsEmpty then +// exit; +// if CDSMJID.fieldByName('SDefNote').AsString <> '' then +// begin +// application.MessageBox('Ѵɾ', 'ʾϢ', 0); +// exit; +// end + + if not CDSMJID.IsEmpty then + begin + Rolls := 0; + with CDSMJID do + begin + DisableControls; + first; + while not eof do + begin + Rolls := Rolls + 1; + next; + end; + EnableControls; + end; + end + else + SCreateCDS20(ADOQueryTM, CDSMJID); +// SInitCDSData20(ADOQueryMain, CDSMJID); + + with ADOQueryMain do + begin + close; + sql.Clear; + sql.Add('select A.*,B.* ,MPrtCodeName,C.orderNo as OrderNoM'); + sql.Add('from WFB_MJJY A '); + sql.Add('inner join JYOrder_sub B on B.subID=A.subID '); + sql.Add('inner join JYOrder_main C on C.mainID=A.MainID '); + sql.Add('and isnull(A.BAOID,'''')<>'''' and A.mjstr2=''δ'' and C.orderNo=' + quotedstr(trim(BtnEditA1.Text))); + SQL.Add('order by [dbo].[Get_ShuZi](BaoNo)'); + open; + end; + SCreateCDS20(ADOQueryMain, CDSSEL); + SInitCDSData20(ADOQueryMain, CDSSEL); + + if not CDSTM.IsEmpty then + begin + with ADOQuery1 do + begin + close; + sql.clear; + sql.add('select isnull(max(cast(baoNo as int)),0)+1 as MaxBaoNo from WFB_MJJY '); + sql.Add('where mainID=' + quotedstr(trim(CDSTM.fieldbyname('MainID').AsString))); + open; + end; +// baoNo.text := ADOQuery1.fieldbyname('MaxBaoNo').AsString; + if GetLSNo(ADOQueryTmp, FBaoID, 'BI', 'WFB_MJJY', 4, 1) = False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ', 'ʾ', 0); + Exit; + end; + BaoID.Text := trim(FBaoID); + end; + + SMNO.SetFocus; +// with ADOQueryTM do +// begin +// close; +// sql.Clear; +// sql.Add('select A.*,B.*,C.MPrtCodeName,C.orderNo as OrderNoM'); +// sql.Add('from WFB_MJJY A '); +// sql.Add('inner join JYOrder_sub B on B.subID=A.subID '); +// sql.Add('inner join JYOrder_main C on C.mainID=A.MainID '); +// sql.Add('and A.mjstr2=''δ'' and C.orderNo=' + quotedstr(trim(BtnEditA1.Text))); +// open; +// end; +// SCreateCDS20(ADOQueryTM, CDSTM); +// SInitCDSData20(ADOQueryTM, CDSTM); +// +// SCreateCDS20(ADOQueryTM, CDSMJID); +//// SInitCDSData20(ADOQueryMain,CDSMJID); +// SCreateCDS20(ADOQueryTM, CDSSEL); +//// SInitCDSData20(ADOQueryMain,CDSSEL); +// +// if not CDSTM.IsEmpty then +// begin +// with ADOQuery1 do +// begin +// close; +// sql.clear; +// sql.add('select isnull(max(cast(baoNo as int)),0)+1 as MaxBaoNo from WFB_MJJY '); +// sql.Add('where mainID=' + quotedstr(trim(CDSTM.fieldbyname('MainID').AsString))); +// open; +// end; +// baoNo.text := ADOQuery1.fieldbyname('MaxBaoNo').AsString; +// if GetLSNo(ADOQueryTmp, FBaoID, 'BI', 'WFB_MJJY', 4, 1) = False then +// begin +// ADOQueryCmd.Connection.RollbackTrans; +// Application.MessageBox('ȡʧܣ', 'ʾ', 0); +// Exit; +// end; +// BaoID.Text := trim(FBaoID); +// end; +// +// SMNO.SetFocus; +end; + +procedure TfrmCPDBao.QueryRk(); +begin + with ADOQuery1 do + begin + close; + sql.Clear; + sql.Add('select A.*,hC_ps=A.AordQty2,JY_ps=(select count(MainID) from WFB_MJJY X where X.APID=A.APID),'); + sql.Add('JY_Qty=(select sum(MJLen) from WFB_MJJY X where X.APID=A.APID), '); + sql.Add('RK_RollNum=(select sum(SOrdQty1) from CK_BanCP_CR X where X.APID=A.APID and X.CRType=''''),'); + sql.Add('RK_Qty=(select sum(MJLen) from CK_BanCP_CR X where X.APID=A.APID and X.CRType='''') '); + sql.Add('from JYOrder_sub_anPai A '); + SQL.Add('WHERE exists(select MJID from WFB_MJJY X where X.APID=A.APID and X.MJID=' + quotedstr(trim(smNO.Text))); + sql.Add(')'); + open; + end; +end; + +function TfrmCPDBao.SaveRK(): Boolean; +var + maxno: string; + CRID: Integer; + MaxCkNo, MaxCkSubNo: string; + MhcTime: TdateTime; +begin + Result := false; + ADOQueryCmd.Connection.BeginTrans; + + try + {with ADOQueryTmp do + begin + Close; + sql.Clear; + SQL.add('Update CK_BanCP_CRID Set CRID=CRID+1'); + sql.Add('select * from CK_BanCP_CRID'); + Open; + end; + CRID:=ADOQueryTmp.fieldbyname('CRID').AsInteger; + if GetLSNo(ADOQueryTmp,MaxCkNo,'JR','CK_BanCP_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡƷֿʧܣ','ʾ',0); + Exit; + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_CR where 1<>1'); + Open; + end; + mhcTime:=SGetServerDateTime(ADOQueryTmp); + + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(ADOQueryMain.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(ADOQueryMain.fieldbyname('SubId').AsString); + FieldByName('C_Code').Value:=Trim(ADOQueryMain.fieldbyname('PRTCode').AsString); + FieldByName('C_CodeName').Value:=Trim(ADOQueryMain.fieldbyname('PRTCodeName').AsString); + //FieldByName('C_SPec').Value:=Trim(ADOQueryMain.fieldbyname('C_SPec').AsString); + FieldByName('C_Color').Value:=Trim(ADOQueryMain.fieldbyname('PRTColor').AsString); + FieldByName('APID').Value:=Trim(ADOQueryMain.fieldbyname('APID').AsString); + FieldByName('MJID').Value:=Trim(ADOQueryMain.fieldbyname('MJId').AsString); + FieldByName('mjxh').Value:=Trim(ADOQueryMain.fieldbyname('mjxh').AsString); + FieldByName('BaoNo').Value:=Trim(BaoNo.Text); + FieldByName('BaoID').Value:=Trim(BaoID.Text); + + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('CRTime').Value:=FormatDateTime('yyyy-MM-dd',mhcTime); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + FieldByName('CRID').Value:=CRID; + FieldByName('KGQty').Value:=0; + FieldByName('Qty').Value:=ADOQueryMain.fieldbyname('MJLen').Value; + FieldByName('RollNum').Value:=1; + FieldByName('QtyUnit').Value:=ADOQueryMain.fieldbyname('MJTypeOther').Value; + FieldByName('CPType').Value:=ADOQueryMain.fieldbyname('MJType').Value; + //FieldByName('Note').Value:=ADOQueryMain.fieldbyname('Note').Value; + FieldByName('Filler').Value:=Trim(DName); + FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTmp); + //fieldbyname('kcKw').Value:=GetKw(ADOQueryTmp,ADOQueryMain.fieldbyname('PRTCodeName').AsString,ADOQueryMain.fieldbyname('PRTColor').AsString); + Post; + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=CRID; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('CRTime').Value:=FormatDateTime('yyyy-MM-dd',mhcTime); + FieldByName('CRType').Value:=''; + FieldByName('CPType').Value:=ADOQueryMain.fieldbyname('MJType').Value; + FieldByName('C_Code').Value:=Trim(ADOQueryMain.fieldbyname('PRTCode').AsString); + FieldByName('C_CodeName').Value:=Trim(ADOQueryMain.fieldbyname('PRTCodeName').AsString); + //FieldByName('C_SPec').Value:=Trim(ADOQueryMain.fieldbyname('C_SPec').AsString); + FieldByName('C_Color').Value:=Trim(ADOQueryMain.fieldbyname('PRTColor').AsString); + FieldByName('BaoNo').Value:=Trim(BaoNo.Text); + FieldByName('BaoID').Value:=Trim(BaoID.Text); + FieldByName('MJID').Value:=Trim(ADOQueryMain.fieldbyname('MJID').AsString); + FieldByName('KCKGQty').Value:=0; + FieldByName('KCQty').Value:=ADOQueryMain.fieldbyname('MJlen').Value; + FieldByName('RollNum').Value:=1; + FieldByName('KCQtyUnit').Value:=ADOQueryMain.fieldbyname('MJTypeOther').Value; + FieldByName('mjxh').Value:=Trim(ADOQueryMain.fieldbyname('mjxh').AsString); + //FieldByName('KCNote').Value:=ADOQueryMain.fieldbyname('Note').Value; + //fieldbyname('kcKw').Value:=GetKw(ADOQueryTmp,ADOQueryMain.fieldbyname('PRTCodeName').AsString,ADOQueryMain.fieldbyname('PRTColor').AsString); + Post; + end; } + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set BaoNo=''' + trim(BaoNo.Text) + ''',BaoID=''' + trim(Baoid.text) + ''' where MJID=''' + Trim(ADOQueryMain.fieldbyname('MJID').AsString) + ''''); + ExecSQL; + end; + ADOQueryCmd.Connection.CommitTrans; + Result := true; + except + ADOQueryCmd.Connection.RollbackTrans; + end; +end; + +procedure TfrmCPDBao.InitGrid(); +begin + with ADOQueryMain do + begin + Close; + sql.Clear; + SQL.Add('select A.*,B.*,C.MprtCodeName,C.orderNo as OrderNoM from WFB_MJJY A '); + sql.add('inner join JYOrder_Sub B on B.SubId=A.SubId'); + sql.add('inner join JYOrder_Main C on C.maiNID=A.mainID'); + SQL.Add('where 1=2 '); + Open; + end; + SCreateCDS20(ADOQueryMain, CDSMJID); + SInitCDSData20(ADOQueryMain, CDSMJID); + SCreateCDS20(ADOQueryMain, CDSSEL); + SInitCDSData20(ADOQueryMain, CDSSEL); +end; + +procedure TfrmCPDBao.InitMJID(); +begin + MovePanel1.Visible := false; + + with ADOQueryMain do + begin + Close; + sql.Clear; + SQL.Add('select A.*,B.*,C.MprtCodeName,C.orderNo as OrderNoM from WFB_MJJY A '); + sql.add('inner join JYOrder_Sub B on B.SubId=A.SubId'); + sql.add('inner join JYOrder_Main C on C.maiNID=A.mainID'); + sql.Add('where MJID=' + quotedstr(trim(SmNO.Text))); + Open; + if not IsEmpty then + begin + if trim(Fieldbyname('MJstr2').AsString) = '' then + begin + CDSMJID.Append; + CDSMJID.FieldByName('SDefNote').Value := ''; + CDSMJID.FieldByName('MJID').Value := trim(SmNO.Text); + CDSMJID.Post; + end + else + begin + CDSMJID.Append; + CDSMJID.FieldByName('SDefNote').Value := 'ɹ'; + CDSMJID.FieldByName('MJID').Value := trim(ADOQueryMain.Fieldbyname('MJID').AsString); +// CDSMJID.FieldByName('CRID').Value:=trim(ADOQueryMain.Fieldbyname('CRID').AsString); + CDSMJID.FieldByName('PRTCodeName').Value := trim(ADOQueryMain.Fieldbyname('PRTCodeName').AsString); + CDSMJID.FieldByName('MPRTCodeName').Value := trim(ADOQueryMain.Fieldbyname('MPRTCodeName').AsString); + CDSMJID.FieldByName('PRTColor').Value := trim(ADOQueryMain.Fieldbyname('PRTColor').AsString); + CDSMJID.FieldByName('PRTHX').Value := trim(ADOQueryMain.Fieldbyname('PRTHX').AsString); + CDSMJID.FieldByName('MJStr4').Value := trim(ADOQueryMain.Fieldbyname('MJStr4').AsString); + CDSMJID.FieldByName('MJType').Value := trim(ADOQueryMain.Fieldbyname('MJType').AsString); + CDSMJID.FieldByName('BaoNo').Value := trim(BaoNo.Text); + CDSMJID.FieldByName('BaoID').Value := trim(BaoID.Text); + CDSMJID.FieldByName('SOrdQty1').Value := 1; + CDSMJID.FieldByName('MJLen').Value := ADOQueryMain.Fieldbyname('MJLen').AsFloat; + CDSMJID.FieldByName('MJMaoZ').Value := ADOQueryMain.Fieldbyname('MJMaoZ').AsFloat; + CDSMJID.FieldByName('MJQty3').Value := ADOQueryMain.Fieldbyname('MJQty3').AsFloat; + CDSMJID.FieldByName('MJQty4').Value := ADOQueryMain.Fieldbyname('MJQty4').AsFloat; + CDSMJID.FieldByName('MJTypeOther').Value := trim(ADOQueryMain.Fieldbyname('MJTypeOther').AsString); + CDSMJID.FieldByName('mainID').Value := trim(ADOQueryMain.Fieldbyname('mainID').AsString); + CDSMJID.FieldByName('subID').Value := trim(ADOQueryMain.Fieldbyname('subID').AsString); + CDSMJID.Post; + Rolls := Rolls + 1; + end; + end + else + begin + CDSMJID.Append; + CDSMJID.FieldByName('SDefNote').Value := '벻'; + CDSMJID.FieldByName('MJID').Value := trim(SmNO.Text); + CDSMJID.Post; + end; + end; + if trim(CDSMJID.FieldByName('SDefNote').AsString) <> 'ɹ' then + begin + MovePanel1.Visible := true; + Edit2.Text := SmNO.Text; + Label2.Caption := trim(CDSMJID.FieldByName('SDefNote').AsString); + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\.wav'), 0, SND_ASYNC); + CDSMJID.delete; + end; + if CDSTM.Locate('MJID', trim(smno.Text), []) then + begin + // application.MessageBox('AAAA','AAAAAAAA',0); + CDSTM.Delete; + tv2.Controller.EditingController.ShowEdit(); + tv3.Controller.EditingController.ShowEdit(); + end; + if CheckBox1.Checked = true then + begin + if (Rolls = strtointdef(trim(ComboBox3.Text), 0)) and (strtointdef(trim(ComboBox3.Text), 0) > 0) then + begin + FileName.Click; + end; + end; +end; + +procedure TfrmCPDBao.FormDestroy(Sender: TObject); +begin + frmCPDBao := nil; +end; + +procedure TfrmCPDBao.FormClose(Sender: TObject; var Action: TCloseAction); +begin + //writeCxGrid(self.Caption+tv1.Name,Tv1,'Ʒֿ'); + writeCxGrid(self.Caption + Tv2.Name, Tv2, 'Ʒֿ'); + writeCxGrid(self.Caption + Tv3.Name + '1', Tv3, 'Ʒֿ'); + writeCxGrid(self.Caption + Tv4.Name, Tv4, 'Ʒֿ'); + Action := cafree; +end; + +procedure TfrmCPDBao.TBCloseClick(Sender: TObject); +begin + close; +end; + +procedure TfrmCPDBao.FormCreate(Sender: TObject); +begin + Panel2.Align := alClient; + //readCxGrid(self.Caption+tv1.Name,Tv1,'Ʒֿ'); + readCxGrid(self.Caption + Tv2.Name, Tv2, 'Ʒֿ'); + readCxGrid(self.Caption + Tv3.Name + '1', Tv3, 'Ʒֿ'); + readCxGrid(self.Caption + Tv4.Name, Tv4, 'Ʒֿ'); + Rolls := 0; +end; + +procedure TfrmCPDBao.SmNOKeyPress(Sender: TObject; var Key: Char); +begin + if Key = #13 then + begin + if combobox4.Text = 'ɫ' then + begin + with ADOQuery2 do + begin + close; + sql.clear; + sql.add('select B.PRTCOLOR,MaxBaoNo=isnull(max(cast(baoNo as int)),0)+1 '); + sql.add('from WFB_MJJY A '); + sql.add('inner join JYOrder_Sub B on A.SubId=B.SubId '); + sql.add('where A.MainId=' + quotedstr(trim(CDSTM.fieldbyname('MainID').AsString))); + sql.add('and B.PRTColor=(select PRTColor from WFB_MJJY WM inner join JYOrder_Sub JS on WM.SubId=JS.SubId where WM.MJID=''' + trim(smno.Text) + ''')'); + open; + end; + if cdsmjid.IsEmpty = false then + begin + if self.ADOQuery2.FieldByName('prtcolor').asstring <> cdsmjid.FieldByName('prtcolor').AsString then + begin + MovePanel1.Visible := true; + Edit2.Text := SmNO.Text; + Label2.Caption := 'ɫܴͬ'; + smno.Text := ''; + smno.SetFocus; + exit; + end; + end; + + baoNo.text := ADOQuery2.fieldbyname('MaxBaoNo').AsString; + end; + + if trim(BaoNo.Text) = '' then + begin + application.MessageBox('ŲΪ', 'ʾ'); + exit; + end; + if trim(BaoID.Text) = '' then + begin + application.MessageBox('벻Ϊ', 'ʾ'); + exit; + end; + if CDSTM.IsEmpty then + exit; + if trim(smno.Text) = '' then + exit; + if CDSMJID.Locate('MJID', trim(smno.Text), []) then + begin + MovePanel1.Visible := true; + Edit2.Text := SmNO.Text; + Label2.Caption := '˾ظɨ裡'; + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\ظɨ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\ظɨ.wav'), 0, SND_ASYNC); + smno.Text := ''; + smno.SetFocus; + exit; + end; + if not CDSTM.Locate('MJID', trim(smno.Text), []) then + begin + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select A.*,B.*,C.MprtCodeName,C.OrderNO as orderNoM from WFB_MJJY A '); + sql.add('inner join JYOrder_Sub B on B.SubId=A.SubId'); + sql.add('inner join JYOrder_Main C on C.maiNID=A.mainID'); + sql.Add('where MJID=' + quotedstr(trim(SmNO.Text))); + Open; + if isempty then + begin + MovePanel1.Visible := true; + Edit2.Text := SmNO.Text; + Label2.Caption := '˾Ŵ'; + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\ɨ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\ɨ.wav'), 0, SND_ASYNC); + end + else + begin + if not CDSTM.Locate('orderNoM', trim(fieldbyname('OrderNoM').AsString), []) then + begin + MovePanel1.Visible := true; + Edit2.Text := SmNO.Text; + Label2.Caption := '˾ڵǰ'; + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\ɨ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\ɨ.wav'), 0, SND_ASYNC); + end + else + begin + if Fieldbyname('MJstr2').AsString <> 'δ' then + begin + MovePanel1.Visible := true; + Edit2.Text := SmNO.Text; + Label2.Caption := fieldbyname('Mjstr2').AsString; + end + else + begin + if self.ADOQuery1.FieldByName('baoid').AsString <> '' then + begin + MovePanel1.Visible := true; + Edit2.Text := SmNO.Text; + Label2.Caption := '˾Ѵ'; + end + else + begin + initMJID(); + end; + + end; + end; + end; + end; + smno.Text := ''; + smno.SetFocus; + exit; + end + else + begin + initMJID(); + end; + smno.Text := ''; + smno.SetFocus; + end; +end; + +procedure TfrmCPDBao.FormShow(Sender: TObject); +begin + MovePanel1.Left := (Width - MovePanel1.Width) div 2; + MovePanel1.top := (Height - MovePanel1.Height - 200) div 2; + // InitGrid(); +end; + +procedure TfrmCPDBao.TV2CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +var + i: integer; +begin + i := tv2.GetColumnByFieldName('SDefNote').Index; + if (AViewInfo.GridRecord.Values[i] <> 'ɹ') then + ACanvas.Brush.Color := clred; +end; + +procedure TfrmCPDBao.kcKwBtnClick(Sender: TObject); +begin + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := 'CPKWFlag'; + flagname := 'λϢ'; + V1Name.Caption := 'λ'; + V1Note.Caption := 'Ӣ'; +// MainType:=Trim(DName); + fnote := FALSE; + if ShowModal = 1 then + begin + kcKw.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmCPDBao.Button4Click(Sender: TObject); +begin + MovePanel1.Visible := False; + SmNO.SetFocus; +end; + +procedure TfrmCPDBao.baoNoKeyPress(Sender: TObject; var Key: Char); +var + FBaoID: string; +begin + +end; + +procedure TfrmCPDBao.baoNoClick(Sender: TObject); +var + i: Integer; +begin +// Panel3.Visible:=True; + { with Panel3 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=Trim(TEdit(Sender).Name); + end; + end; + end; } +end; + +procedure TfrmCPDBao.SpeedButton1Click(Sender: TObject); +var + fsj: string; +begin + fsj := Trim(TSpeedButton(Sender).Hint); + if Trim(fsj) = '' then + Exit; + fsj := Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text := fsj + Trim(TSpeedButton(Sender).Caption); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TfrmCPDBao.SpeedButton12Click(Sender: TObject); +var + fsj: string; +begin + fsj := Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); + if Trim(fsj) = '' then + Exit; + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text := Copy(fsj, 1, Length(fsj) - 1); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TfrmCPDBao.SpeedButton49Click(Sender: TObject); +var + FBaoID: string; +begin + if trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Hint) <> '' then + begin + if GetLSNo(ADOQueryTmp, FBaoID, 'BI', 'WFB_MJJY', 4, 1) = False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ', 'ʾ', 0); + Exit; + end; + BaoID.Text := trim(FBaoID); + end; + Panel3.Visible := False; +end; + +procedure TfrmCPDBao.FileNameClick(Sender: TObject); +var + fPrintFile: string; + Txt, fImagePath: string; + Moudle: THandle; + Makebar: TMakebar; + Mixtext: TMixtext; + FBaoID: string; + i: Integer; +begin + if trim(BaoID.Text) = '' then + begin + application.MessageBox('벻δ', 'ʾ'); + exit; + end; + if CDSMJID.IsEmpty then + exit; + + with ADOQueryPrint do + begin + Close; + SQL.Clear; + sql.Add(' SELECT D.LBName,D.NLBName'); + sql.Add(' from WFB_MJJY A'); + sql.Add(' inner join JYOrder_Main D on D.MainID=A.MainID'); + SQL.Add('where MJID=''' + Trim(CDSMJID.fieldbyname('MJID').AsString) + ''''); + Open; + if not ADOQueryPrint.IsEmpty then + begin + if Trim(ADOQueryPrint.fieldbyname('NLBName').AsString) = '' then + begin + application.MessageBox('ûðǩܴ', 'ʾϢ', 0); + exit; + end; + end; + end; + ADOQueryCmd.Connection.BeginTrans; + try + with CDSMJID do + begin + DisableControls; + first; + while not eof do + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set BaoNo=''' + trim(BaoNo.Text) + ''',BaoID=''' + trim(Baoid.text) + ''' where MJID=''' + Trim(CDSMJID.fieldbyname('MJID').AsString) + ''''); + ExecSQL; + end; + edit; + fieldByName('Sflag').AsString := '2'; + fieldbyname('BaoNo').Value := trim(BaoNo.Text); + fieldbyname('BaoID').Value := trim(BaoID.Text); + post; + next; + end; + EnableControls; + end; + ADOQueryCmd.Connection.CommitTrans; + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\ȷ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\ȷ.wav'), 0, SND_ASYNC); + except + ADOQueryCmd.Connection.RollbackTrans; + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\.wav'), 0, SND_ASYNC); + application.MessageBox('޸ʧܣ', 'ʾϢ', 0); + exit; + end; + + +{ if trim(BaoID.Text)='' then + begin + application.MessageBox('벻δ','ʾ'); + exit; + end; } + with ADOQueryPrint do + begin + Close; + SQL.Clear; + sql.Add('select A.Baoid,A.BaoNo,A.MJTypeOther as QtyUnit,D.OrderNo,D.conNo,D.customerNoName,D.MprtCodeName,D.Mprtspec,D.OrdPerson1,D.MPRTKuanNO,D.LBName,D.NLBName,'); + sql.Add('PRTCodeName=DBO.F_Get_Order_SubStr(BaoID,''BNCodeName''),'); + sql.Add('PRTColor=DBO.F_Get_Order_SubStr(BaoID,''BNColor''),SOrddefstr1=DBO.F_Get_Order_SubStr(BaoID,''BNSOrddefstr1''),'); + sql.Add('SOrddefstr4=DBO.F_Get_Order_SubStr(BaoID,''BNSOrddefstr4''),PRtHX=DBO.F_Get_Order_SubStr(BaoID,''BNPRtHX''), '); + sql.Add('Mjstr4=DBO.F_Get_Order_SubStr(BaoID,''BNGangNo''), '); + sql.Add('BNMJLENLIST=DBO.F_Get_Order_SubStr(BaoID,''BNMJLENLIST''), '); + sql.Add('PRTkuanNo=DBO.F_Get_Order_SubStr(BaoID,''BNPrtkuanno''),'); + sql.Add('khConNo=(select top 1 khConNo from JYOrderCon_Main X where X.ConNO=D.conNO), '); + sql.Add('MprtCodeNameEng=(select top 1 Note from KH_Zdy X where X.zdyName=D.MprtCodeName), '); + SQL.ADD('count(A.MJID) as JSl,sum(A.MJMaoZ) MJMAOZ,sum(MJQty3) as MJQty3,sum(MJQty4) as MJQty4,SUM(A.MJLen)as MJLen'); + sql.Add('from WFB_MJJY A'); + sql.Add(' inner join JYOrder_Sub C on C.SubID=A.SubID'); + sql.Add(' inner join JYOrder_Main D on D.MainID=A.MainID'); + SQL.Add('where A.BaoID=''' + Trim(BaoID.Text) + ''''); + SQL.ADD('group by A.Baoid,A.BaoNo,A.MJTypeOther,D.OrderNo,D.conNo,D.customerNoName,D.MprtCodeName,D.Mprtspec,D.OrdPerson1,D.MPRTKuanNO,D.LBName,D.NLBName'); + Open; + end; + + if ADOQueryPrint.RecordCount > 1 then + begin + Application.MessageBox('´!', 'ʾ', 0); + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\.wav'), 0, SND_ASYNC); + Exit; + end; + if ADOQueryPrint.RecordCount < 1 then + begin + Application.MessageBox('˰Żδ棬뱣ݣڴӡ룡', 'ʾ', 0); + if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\.wav'), 0, SND_ASYNC); + Exit; + end; + + try + Moudle := LoadLibrary('MakeQRBarcode.dll'); + @Makebar := GetProcAddress(Moudle, 'Make'); + @Mixtext := GetProcAddress(Moudle, 'MixText'); + Txt := trim(BaoID.Text); + fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp'; + if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then + CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); + if FileExists(fImagePath) then + DeleteFile(fImagePath); + Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); + except + application.MessageBox('ʧܣ', 'ʾϢ', MB_ICONERROR); + exit; + end; + + baoNo.Text := inttostr(strtointdef(trim(baoNo.Text), 0) + 1); + if GetLSNo(ADOQueryTmp, FBaoID, 'BI', 'WFB_MJJY', 4, 1) = False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ', 'ʾ', 0); + Exit; + end; + BaoID.Text := trim(FBaoID); + CDSsel.Last; + with CDSMJID do + begin + DisableControls; + first; + while not eof do + begin + CDSsel.Append; + for i := 0 to FieldCount - 1 do + begin + CDSsel.fields[i].value := Fields[i].Value; + end; + CDSsel.Post; + next; + end; + EnableControls; + end; + CDSMJID.EmptyDataSet; + + if check_bz.Checked then + begin + if Trim(ADOQueryPrint.fieldbyname('NLBName').AsString) <> '' then +// fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('NLBName').AsString) + '.rmf' + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('NLBName').AsString) + else +// fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ǩ.rmf'; + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ǩ'; + if not FileExists(fPrintFile) then + begin + Application.MessageBox(PChar('û' + fPrintFile), 'ʾ', 0); + Exit; + end; + + if FileExists(fPrintFile) then + begin + RMVariables['QRBARCODE'] := fImagePath; + RM2.LoadFromFile(fPrintFile); + RM2.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1); + //RM2.ShowReport; + RM2.printReport; + end; + end; + + Rolls := 0; + SmNO.SetFocus; +{ + IF check_Fbz.Checked then + begin + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\'+Trim(Fbq.Text)+'.rmf' ; + IF Not FileExists(fPrintFile) then + begin + Application.MessageBox(PChar('û'+fPrintFile),'ʾ',0); + Exit; + end; + + if FileExists(fPrintFile) then + begin + RMVariables['QRBARCODE']:=fImagePath; + RM2.LoadFromFile(fPrintFile); + RM2.DefaultCopies:=strtointdef(trim(ComboBox2.Text),1); + //RM2.ShowReport; + RM2.printReport; + end; + end; + } +end; + +procedure TfrmCPDBao.cxButton1Click(Sender: TObject); +begin + TBClose.Click; +end; + +procedure TfrmCPDBao.baoNoExit(Sender: TObject); +var + FBaoID: string; +begin + if baoNo.Text <> '' then + begin + if GetLSNo(ADOQueryTmp, FBaoID, 'BI', 'WFB_MJJY', 4, 1) = False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ', 'ʾ', 0); + Exit; + end; + BaoID.Text := trim(FBaoID); + end + else + BaoID.Text := ''; +end; + +procedure TfrmCPDBao.BtnEditA1BtnClick(Sender: TObject); +begin + frmOrderSelRK := TfrmOrderSelRK.Create(Application); + with frmOrderSelRK do + begin + if ShowModal = 1 then + begin + CDS_OrderSel.DisableControls; + with CDS_OrderSel do + begin + First; + while not Eof do + begin + if FieldByName('SSel').Value = True then + begin + BtnEditA1.Text := trim(CDS_OrderSel.fieldbyname('OrderNo').asstring); + end; + Next; + end; + end; + CDS_OrderSel.EnableControls; + end; + end; + QueryTm(); +end; + +procedure TfrmCPDBao.cxButton3Click(Sender: TObject); +var + i: integer; +begin + if CDSMJID.IsEmpty then + exit; + if CDSMJID.fieldByName('Sflag').AsString = '2' then + begin + application.MessageBox('Ѵɾ', 'ʾϢ', 0); + exit; + end + else + begin + with CDSMJID do + begin + CDSTM.Last; + + CDSTM.Append; + for i := 0 to FieldCount - 1 do + begin + CDSTM.fields[i].value := Fields[i].Value; + end; + CDSTM.Post; + end; + CDSMJID.Delete; + Rolls := Rolls - 1; + end; +end; + +procedure TfrmCPDBao.cxButton2Click(Sender: TObject); +begin + if CDSMJID.IsEmpty then + exit; + ADOQueryCmd.Connection.BeginTrans; + try + with CDSMJID do + begin + DisableControls; + first; + while not eof do + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set BaoNo=''' + trim(BaoNo.Text) + ''',BaoID=''' + trim(Baoid.text) + ''' where MJID=''' + Trim(CDSMJID.fieldbyname('MJID').AsString) + ''''); + ExecSQL; + end; + edit; + fieldByName('Sflag').AsString := '2'; + fieldbyname('BaoNo').Value := trim(BaoNo.Text); + fieldbyname('BaoID').Value := trim(BaoID.Text); + post; + next; + end; + EnableControls; + end; + ADOQueryCmd.Connection.CommitTrans; + // application.MessageBox('޸ijɹ','ʾϢ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + application.MessageBox('޸ʧܣ', 'ʾϢ', 0); + end; +end; + +procedure TfrmCPDBao.cxButton4Click(Sender: TObject); +var + FBaoid: string; +begin + + if CDSSEL.IsEmpty then + Exit; + if CDSSEL.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡ!', 'ʾ', 0); + Exit; + end; + try + CDSSEL.DisableControls; + // ADOQueryCmd.Connection.BeginTrans; + with CDSSEL do + begin + // First; + while CDSSEL.Locate('SSel', True, []) do + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set baoID='''',baoNo='''' '); + sql.Add('where MJID=''' + Trim(CDSSEL.fieldbyname('MJID').AsString) + ''''); + ExecSQL; + end; + delete; + + end; + + end; + // ADOQueryCmd.Connection.CommitTrans; + CDSSEL.EnableControls; + application.MessageBox('ݳɹ', 'ʾϢ'); + + with ADOQueryTM do + begin + close; + sql.Clear; + sql.Add('select A.*,B.*,C.MPrtCodeName,C.orderNo as OrderNoM'); + sql.Add('from WFB_MJJY A '); + sql.Add('inner join JYOrder_sub B on B.subID=A.subID '); + sql.Add('inner join JYOrder_main C on C.mainID=A.MainID '); + sql.Add(' and A.mjstr2=''δ'' and C.orderNo=' + quotedstr(trim(BtnEditA1.Text))); + open; + end; + SCreateCDS20(ADOQueryTM, CDSTM); + SInitCDSData20(ADOQueryTM, CDSTM); + + if not CDSTM.IsEmpty then + begin + with ADOQuery1 do + begin + close; + sql.clear; + sql.add('select isnull(max(cast(baoNo as int)),0)+1 as MaxBaoNo from WFB_MJJY '); + sql.Add('where mainID=' + quotedstr(trim(CDSTM.fieldbyname('MainID').AsString))); + open; + end; + baoNo.text := ADOQuery1.fieldbyname('MaxBaoNo').AsString; + if GetLSNo(ADOQueryTmp, FBaoid, 'BI', 'WFB_MJJY', 4, 1) = False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ', 'ʾ', 0); + Exit; + end; + BaoID.Text := trim(FBaoid); + end; + + SMNO.SetFocus; + cxButton5.Click; + exit; + except + // ADOQueryCmd.Connection.RollbackTrans; + CDSSEL.EnableControls; + application.MessageBox('ݳʧܣ', 'ʾϢ', 0); + end; +// if CDSSEL.IsEmpty then +// Exit; +// if CDSSEL.Locate('SSel', True, []) = False then +// begin +// Application.MessageBox('ûѡ!', 'ʾ', 0); +// Exit; +// end; +// try +// CDSSEL.DisableControls; +// // ADOQueryCmd.Connection.BeginTrans; +// with CDSSEL do +// begin +// First; +// while FieldByName('SSel').AsBoolean do +// begin +// with ADOQueryCmd do +// begin +// Close; +// sql.Clear; +// sql.Add('Update WFB_MJJY Set baoID='''',baoNo='''' '); +// sql.Add('where MJID=''' + Trim(CDSSEL.fieldbyname('MJID').AsString) + ''''); +// ExecSQL; +// end; +// delete; +// end; +// end; +// // ADOQueryCmd.Connection.CommitTrans; +// CDSSEL.EnableControls; +// application.MessageBox('ݳɹ', 'ʾϢ'); +// +// with ADOQueryTM do +// begin +// close; +// sql.Clear; +// sql.Add('select A.*,B.*,C.MPrtCodeName,C.orderNo as OrderNoM'); +// sql.Add('from WFB_MJJY A '); +// sql.Add('inner join JYOrder_sub B on B.subID=A.subID '); +// sql.Add('inner join JYOrder_main C on C.mainID=A.MainID '); +// sql.Add('and A.mjstr2=''δ'' and C.orderNo=' + quotedstr(trim(BtnEditA1.Text))); +// open; +// end; +// SCreateCDS20(ADOQueryTM, CDSTM); +// SInitCDSData20(ADOQueryTM, CDSTM); +// +// if not CDSTM.IsEmpty then +// begin +// with ADOQuery1 do +// begin +// close; +// sql.clear; +// sql.add('select isnull(max(cast(baoNo as int)),0)+1 as MaxBaoNo from WFB_MJJY '); +// sql.Add('where mainID=' + quotedstr(trim(CDSTM.fieldbyname('MainID').AsString))); +// open; +// end; +// baoNo.text := ADOQuery1.fieldbyname('MaxBaoNo').AsString; +// if GetLSNo(ADOQueryTmp, FBaoid, 'BI', 'WFB_MJJY', 4, 1) = False then +// begin +// ADOQueryCmd.Connection.RollbackTrans; +// Application.MessageBox('ȡʧܣ', 'ʾ', 0); +// Exit; +// end; +// BaoID.Text := trim(FBaoid); +// end; +// +// SMNO.SetFocus; +// exit; +// except +// // ADOQueryCmd.Connection.RollbackTrans; +// CDSSEL.EnableControls; +// application.MessageBox('ݳʧܣ', 'ʾϢ', 0); +// end; +end; + +procedure TfrmCPDBao.FbqBtnClick(Sender: TObject); +begin + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := 'BAOFFLAG'; + flagname := 'ǩ'; + if ShowModal = 1 then + begin + Fbq.Text := trim(ClientDataSet1.fieldbyname('zdyName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmCPDBao.BaoBqBtnClick(Sender: TObject); +type + TMyFunc = function(App: Tapplication; FormH: hwnd; FormID: integer; Language: integer; WinStyle: integer; GCode: Pchar; GName: Pchar; DataBase: Pchar; Title: PChar; Parameters1: PChar; Parameters2: PChar; Parameters3: PChar; Parameters4: PChar; Parameters5: PChar; Parameters6: PChar; Parameters7: PChar; Parameters8: PChar; Parameters9: PChar; Parameters10: PChar; DataBaseStr: PChar): hwnd; stdcall; +var + Tf: TMyFunc; + Tp: TFarProc; + Th: Thandle; + LabInt, labname: string; +begin + //if PPInt=2 then Exit; + Ddatabase := StringOfChar(' ', 32); + Th := LoadLibrary('LabelSet.dll'); + if Th > 0 then + begin + try + Tp := GetProcAddress(Th, 'GetDllForm'); + if Tp <> nil then + begin + Tf := TMyFunc(Tp); + newh := Tf(Application, 0, 2, 0, 0, PChar(DCode), PChar(DName), PChar(Ddatabase), PChar('ǩģ'), PChar(''), PChar(''), '', '', '', '', '', '', '', '', PChar(DConString)); + if Trim(PChar(Ddatabase)) <> '' then + begin + Ddatabase := Trim(PChar(Ddatabase)); + // LabInt:=Trim( LeftBStr(Ddatabase,Pos('|',Ddatabase)-1) ) ; + BaoBq.Text := Trim(RightBStr(Ddatabase, Length(Ddatabase) - Pos('|', Ddatabase))); + end; + end + else + begin + ShowMessage('ӡִд'); + end; + finally + // FreeLibrary(); + end; + end + else + begin + ShowMessage('Ҳ' + Trim('LabelSet.dll')); + end; + +end; + +procedure TfrmCPDBao.cxButton5Click(Sender: TObject); +begin + QueryTm(); +end; + +procedure TfrmCPDBao.cxButton6Click(Sender: TObject); +begin + if CDSTM.IsEmpty then + exit; + if trim(BaoNo.Text) = '' then + begin + application.MessageBox('ŲΪ', 'ʾ'); + exit; + end; + if trim(BaoID.Text) = '' then + begin + application.MessageBox('벻Ϊ', 'ʾ'); + exit; + end; + + with CDSTM do + begin + DisableControls; + // first; + while Locate('ssel', true, []) do + begin + if combobox4.Text = 'ɫ' then + begin + if cdsmjid.IsEmpty = false then + begin + if cdstm.FieldByName('PRTCOLOR').AsString <> cdsmjid.FieldByName('prtcolor').AsString then + begin + MovePanel1.Visible := true; + Edit2.Text := SmNO.Text; + Label2.Caption := 'ɫܴͬ'; + label2.Font.Size := 36; + smno.Text := ''; + smno.SetFocus; + EnableControls; + exit; + end; + end; + with ADOQuery2 do + begin + close; + sql.clear; + sql.add('select MaxBaoNo=isnull(max(cast(baoNo as int)),0)+1 '); + sql.add('from WFB_MJJY A '); + sql.add('inner join JYOrder_Sub B on A.SubId=B.SubId '); + sql.add('where A.MainId=' + quotedstr(trim(CDSTM.fieldbyname('MainID').AsString))); + sql.add('and B.PRTColor=(select PRTColor from WFB_MJJY WM inner join JYOrder_Sub JS on WM.SubId=JS.SubId where WM.MJID=''' + trim(self.CDSTM.fieldbyname('mjid').AsString) + ''')'); +// showmessage(sql.Text); + open; + end; + baoNo.text := ADOQuery2.fieldbyname('MaxBaoNo').AsString; + end; + + if CDSMJID.Locate('MJID', trim(CDSTM.fieldbyname('MJID').AsString), []) then + begin + MovePanel1.Visible := true; + Edit2.Text := SmNO.Text; + Label2.Caption := '˾ظɨ裡'; + smno.Text := ''; + smno.SetFocus; + EnableControls; + exit; + end; + CDSMJID.Append; + CDSMJID.FieldByName('SDefNote').Value := 'ɹ'; + CDSMJID.FieldByName('MJID').Value := trim(Fieldbyname('MJID').AsString); +// CDSMJID.FieldByName('CRID').Value:=trim(ADOQueryMain.Fieldbyname('CRID').AsString); + CDSMJID.FieldByName('PRTCodeName').Value := trim(Fieldbyname('PRTCodeName').AsString); + CDSMJID.FieldByName('MPRTCodeName').Value := trim(Fieldbyname('MPRTCodeName').AsString); + CDSMJID.FieldByName('PRTColor').Value := trim(Fieldbyname('PRTColor').AsString); + CDSMJID.FieldByName('PRTHX').Value := trim(Fieldbyname('PRTHX').AsString); + CDSMJID.FieldByName('MJStr4').Value := trim(Fieldbyname('MJStr4').AsString); + CDSMJID.FieldByName('MJType').Value := trim(Fieldbyname('MJType').AsString); + CDSMJID.FieldByName('mjxh').Value := trim(Fieldbyname('mjxh').AsString); + CDSMJID.FieldByName('SOrddefstr1').Value := trim(Fieldbyname('SOrddefstr1').AsString); + CDSMJID.FieldByName('BaoNo').Value := trim(BaoNo.Text); + CDSMJID.FieldByName('BaoID').Value := trim(BaoID.Text); + CDSMJID.FieldByName('SOrdQty1').Value := 1; + CDSMJID.FieldByName('MJLen').Value := Fieldbyname('MJLen').AsFloat; + CDSMJID.FieldByName('MJMaoZ').Value := Fieldbyname('MJMaoZ').AsFloat; + CDSMJID.FieldByName('MJQty3').Value := Fieldbyname('MJQty3').AsFloat; + CDSMJID.FieldByName('MJQty4').Value := Fieldbyname('MJQty4').AsFloat; + CDSMJID.FieldByName('MJTypeOther').Value := trim(Fieldbyname('MJTypeOther').AsString); + CDSMJID.FieldByName('mainID').Value := trim(Fieldbyname('mainID').AsString); + CDSMJID.FieldByName('subID').Value := trim(Fieldbyname('subID').AsString); + CDSMJID.Post; + + CDSTM.Delete; + tv2.Controller.EditingController.ShowEdit(); + tv3.Controller.EditingController.ShowEdit(); + end; + first; + EnableControls; + end; +end; + +procedure TfrmCPDBao.cxButton7Click(Sender: TObject); +begin + SDofilter(ADOQueryTM, SGetFilters(Panel5, 1, 2)); + SCreateCDS20(ADOQueryTM, CDSTM); + SInitCDSData20(ADOQueryTM, CDSTM); +end; + +procedure TfrmCPDBao.N1Click(Sender: TObject); +begin + SelOKNoFiler(Tv4, True); +end; + +procedure TfrmCPDBao.N2Click(Sender: TObject); +begin + SelOKNoFiler(Tv4, False); +end; + +end. + diff --git a/打卷检验管理/U_ClothContractInPut.dfm b/打卷检验管理/U_ClothContractInPut.dfm new file mode 100644 index 0000000..a8301e8 --- /dev/null +++ b/打卷检验管理/U_ClothContractInPut.dfm @@ -0,0 +1,653 @@ +object frmClothContractInPut: TfrmClothContractInPut + Left = 132 + Top = 120 + Width = 864 + Height = 625 + Caption = #22383#24067#35746#36141#21512#21516#24405#20837 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 856 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = TBSaveClick + end + object TBClose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object ScrollBox1: TScrollBox + Left = 0 + Top = 29 + Width = 856 + Height = 241 + Align = alTop + BevelInner = bvNone + BevelOuter = bvNone + Ctl3D = False + ParentCtl3D = False + TabOrder = 1 + object Label1: TLabel + Left = 24 + Top = 14 + Width = 65 + Height = 12 + Caption = #21512#21516#32534#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 295 + Top = 14 + Width = 67 + Height = 12 + Caption = #20379' '#26041#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 546 + Top = 14 + Width = 67 + Height = 12 + Caption = #38656' '#26041#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 546 + Top = 45 + Width = 65 + Height = 12 + Caption = #20132#36135#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 24 + Top = 45 + Width = 65 + Height = 12 + Caption = #31614#35746#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 295 + Top = 45 + Width = 65 + Height = 12 + Caption = #31614#35746#22320#28857#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 298 + Top = 89 + Width = 65 + Height = 12 + Caption = #20132#36135#22320#28857#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 24 + Top = 77 + Width = 65 + Height = 36 + Caption = #20379#36135#36136#37327#13#10' '#21450#13#10#25216#26415#26631#20934#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 544 + Top = 77 + Width = 65 + Height = 36 + Caption = #36816#36755#26041#24335#13#10' '#21450#13#10#36153#29992#25215#25285#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 24 + Top = 137 + Width = 65 + Height = 12 + Caption = #21253#35013#35201#27714#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 298 + Top = 137 + Width = 65 + Height = 12 + Caption = #32467#31639#26041#24335#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 24 + Top = 177 + Width = 195 + Height = 12 + Caption = #39564#25910#26631#20934#12289#26041#27861#21450#25552#20986#24322#35758#26399#38480#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 24 + Top = 209 + Width = 91 + Height = 12 + Caption = #20854#23427#32422#23450#20107#39033#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object ConNo: TEdit + Left = 86 + Top = 11 + Width = 181 + Height = 18 + TabOrder = 0 + OnKeyPress = ConNoKeyPress + end + object FactoryNoName: TcxButtonEdit + Left = 359 + Top = 10 + Hint = 'FactoryNo' + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = FactoryNoNamePropertiesButtonClick + Properties.OnChange = FactoryNoNamePropertiesChange + TabOrder = 1 + OnKeyDown = PRTCodeNameKeyDown + Width = 162 + end + object PanZDY: TPanel + Left = 841 + Top = 128 + Width = 202 + Height = 153 + TabOrder = 2 + Visible = False + object CXGridZDY: TcxGrid + Left = 3 + Top = 4 + Width = 197 + Height = 113 + TabOrder = 0 + object TVZDY: TcxGridDBTableView + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TVZDYCellDblClick + DataController.DataSource = DataSource2 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + object VHelpZDYName: TcxGridDBColumn + DataBinding.FieldName = 'ZDYName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.handBlack + Width = 163 + IsCaptionAssigned = True + end + end + object CXGridZDYLevel1: TcxGridLevel + GridView = TVZDY + end + end + object Button1: TButton + Left = 64 + Top = 120 + Width = 65 + Height = 25 + Caption = #20851#38381 + TabOrder = 1 + OnClick = Button1Click + end + end + object CompanyName: TcxButtonEdit + Left = 609 + Top = 10 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = CompanyNamePropertiesButtonClick + TabOrder = 3 + OnKeyDown = PRTCodeNameKeyDown + Width = 175 + end + object DeliveryDate: TDateTimePicker + Left = 609 + Top = 41 + Width = 177 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + TabOrder = 4 + end + object QDTime: TDateTimePicker + Left = 86 + Top = 41 + Width = 183 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + TabOrder = 5 + end + object QDPalce: TEdit + Left = 359 + Top = 42 + Width = 161 + Height = 18 + TabOrder = 6 + end + object JHPlace: TcxButtonEdit + Left = 361 + Top = 85 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = JHPlacePropertiesButtonClick + TabOrder = 7 + Width = 162 + end + object ConTK1: TcxButtonEdit + Left = 86 + Top = 85 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + TabOrder = 8 + Width = 183 + end + object ConTk2: TcxButtonEdit + Left = 609 + Top = 85 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + TabOrder = 9 + Width = 179 + end + object ConTK3: TcxButtonEdit + Left = 86 + Top = 133 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + TabOrder = 10 + Width = 184 + end + object ConTK4: TcxButtonEdit + Left = 361 + Top = 133 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + TabOrder = 11 + Width = 162 + end + object ConTK5: TcxButtonEdit + Left = 216 + Top = 173 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + TabOrder = 12 + Width = 576 + end + object ConTk6: TcxButtonEdit + Left = 110 + Top = 205 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + TabOrder = 13 + Width = 683 + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 270 + Width = 856 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentFont = False + ShowCaptions = True + TabOrder = 2 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton2Click + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 299 + Width = 856 + Height = 289 + Align = alClient + TabOrder = 3 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'C_Code' + Column = v1Column1 + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + object v1Column1: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 100 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684#22411#21495 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 103 + end + object v1PRTColor: TcxGridDBColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'KZQty' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 78 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'MFQty' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 80 + end + object v1Price: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'Price' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.handBlack + Width = 58 + end + object v1ClothQty: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v1ClothQtyPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 69 + end + object v1Column5: TcxGridDBColumn + Caption = #21305#25968#37327 + DataBinding.FieldName = 'Qty1' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 54 + end + object v1ClothUnit: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'C_Qty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.handBlack + Width = 69 + end + object v1Column2: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'C_Unit' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.DropDownListStyle = lsFixedList + Properties.Items.Strings = ( + 'M' + 'Kg') + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 64 + end + object v1Column3: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 46 + end + object v1Column4: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 85 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object ADOTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 816 + Top = 85 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 800 + Top = 109 + end + object DataSource1: TDataSource + DataSet = Order_Sub + Left = 344 + Top = 376 + end + object Order_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 384 + Top = 376 + end + object DataSource2: TDataSource + DataSet = ADOZDY + Left = 240 + Top = 8 + end + object ADOZDY: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 280 + Top = 5 + end + object CDS_ZDY: TClientDataSet + Aggregates = <> + Params = <> + Left = 208 + Top = 16 + end + object ADOQuery1: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 792 + Top = 125 + end +end diff --git a/打卷检验管理/U_ClothContractInPut.pas b/打卷检验管理/U_ClothContractInPut.pas new file mode 100644 index 0000000..5faca51 --- /dev/null +++ b/打卷检验管理/U_ClothContractInPut.pas @@ -0,0 +1,760 @@ +unit U_ClothContractInPut; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxClasses, cxControls, + cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, + cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, + ExtCtrls, BtnEdit, cxDropDownEdit; + +type + TfrmClothContractInPut = class(TForm) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ScrollBox1: TScrollBox; + Label1: TLabel; + ConNo: TEdit; + Label5: TLabel; + ToolBar2: TToolBar; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1PRTSpec: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1PRTKZ: TcxGridDBColumn; + v1ClothQty: TcxGridDBColumn; + v1Price: TcxGridDBColumn; + v1ClothUnit: TcxGridDBColumn; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + DataSource1: TDataSource; + Order_Sub: TClientDataSet; + DataSource2: TDataSource; + ADOZDY: TADOQuery; + CDS_ZDY: TClientDataSet; + FactoryNoName: TcxButtonEdit; + ADOQuery1: TADOQuery; + v1Column1: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + PanZDY: TPanel; + CXGridZDY: TcxGrid; + TVZDY: TcxGridDBTableView; + VHelpZDYName: TcxGridDBColumn; + CXGridZDYLevel1: TcxGridLevel; + Button1: TButton; + v1Column4: TcxGridDBColumn; + Label3: TLabel; + CompanyName: TcxButtonEdit; + v1Column5: TcxGridDBColumn; + Label4: TLabel; + Label2: TLabel; + Label6: TLabel; + Label8: TLabel; + DeliveryDate: TDateTimePicker; + QDTime: TDateTimePicker; + QDPalce: TEdit; + JHPlace: TcxButtonEdit; + Label7: TLabel; + ConTK1: TcxButtonEdit; + Label9: TLabel; + ConTk2: TcxButtonEdit; + Label10: TLabel; + ConTK3: TcxButtonEdit; + Label11: TLabel; + ConTK4: TcxButtonEdit; + Label12: TLabel; + ConTK5: TcxButtonEdit; + Label13: TLabel; + ConTk6: TcxButtonEdit; + procedure TBCloseClick(Sender: TObject); + procedure TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button1Click(Sender: TObject); + procedure PRTCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); + procedure TVZDYKeyPress(Sender: TObject; var Key: Char); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PRTUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure FactoryNoNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PRTMFPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1OrderQtyPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1ClothQtyPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column2PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure FactoryNoNamePropertiesChange(Sender: TObject); + procedure CompanyNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure JHPlacePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConNoKeyPress(Sender: TObject; var Key: Char); + private + FXS:Integer; + procedure InitData(); + procedure ZDYHelp(FButn:TcxButtonEdit;LType:string); + function SaveData():Boolean; + { Private declarations } + public + PState:Integer; + FMainId,FConNo:String; + { Public declarations } + end; + +var + frmClothContractInPut: TfrmClothContractInPut; + +implementation +uses + U_DataLink,U_ZDYHelp,U_Fun; + +{$R *.dfm} + +procedure TfrmClothContractInPut.TBCloseClick(Sender: TObject); +begin + Close; +end; + +procedure TfrmClothContractInPut.InitData(); +begin + with ADOQuery1 do + begin + Close; + SQL.Clear; + sql.Add(' exec ClothContract_QryList :MainId,:WSql'); + if PState=1 then + begin + ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(FMainId); + ADOQuery1.Parameters.ParamByName('WSQl').Value:=''; + end; + if PState=0 then + begin + ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(FMainId); + ADOQuery1.Parameters.ParamByName('WSql').Value:=' and 1<>1 '; + end; + Open; + end; + SCreateCDS20(ADOQuery1,Order_Sub); + SInitCDSData20(ADOQuery1,Order_Sub); + SCSHData(ADOQuery1,ScrollBox1,0); + if PState=0 then + begin + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1* from Contract_Main order by FillTime desc '); + Open; + end; + QDTime.DateTime:=SGetServerDate(ADOTemp); + DeliveryDate.DateTime:=SGetServerDate(ADOTemp); + QDTime.Checked:=True; + DeliveryDate.Checked:=False; + end; + PanZDY.Visible:=False; +end; + +procedure TfrmClothContractInPut.ZDYHelp(FButn:TcxButtonEdit;LType:string); +var + FType,ZDYName,FText:String; +begin + PanZDY.Visible:=True; + PanZDY.Left:=FButn.Left; + PanZDY.Top:=FButn.Top+FButn.Height; + with ADOZDY do + begin + Filtered:=False; + Close; + SQL.Clear; + SQL.Add('select RTrim(ZDYNo) ZDYNo,RTrim(ZDYName) ZDYName from KH_ZDY where Type='''+Trim(LType)+''''); + Open; + end; + FText:=Trim(FButn.Text); + if FText<>'' then + SDofilter(ADOZDY,' ZDYName like '+QuotedStr('%'+Trim(FText)+'%')) + else + SDofilter(ADOZDY,''); + VHelpZDYName.Summary.GroupFormat:=Trim(FButn.Name); +end; + +procedure TfrmClothContractInPut.TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + FName:string; +begin + if ADOZDY.IsEmpty then Exit; + FName:=Trim(VHelpZDYName.Summary.GroupFormat); + TcxButtonEdit(FindComponent(FName)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(FName)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; +end; + +procedure TfrmClothContractInPut.Button1Click(Sender: TObject); +begin + PanZDY.Visible:=False; +end; + +procedure TfrmClothContractInPut.PRTCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); +begin + {if (key=vk_return) or (Key=vk_Down) then + begin + if ADOZDY.Active then + CXGridZDY.SetFocus; + end; } +end; + +procedure TfrmClothContractInPut.TVZDYKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + if ADOZDY.IsEmpty then Exit; + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; + ADOZDY.Active:=False; + end; +end; + +procedure TfrmClothContractInPut.FormShow(Sender: TObject); +begin + {if Trim(DParameters1)='1' then + begin + v1Price.Visible:=False; + v1ClothQty.Visible:=False; + v1PRTQty.Visible:=False; + end else + begin + v1Price.Visible:=True; + v1ClothQty.Visible:=True; + v1PRTQty.Visible:=True; + end; } + InitData(); +end; + +function TfrmClothContractInPut.SaveData():Boolean; +var + maxno:String; +begin + try + ADOCmd.Connection.BeginTrans; + /// + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from Contract_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMainId)='' then + begin + Append; + if GetLSNo(ADOTemp,maxno,'CM','Contract_Main',2,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ˮ쳣','ʾ',0); + exit; + end; + end + else begin + maxno:=Trim(FMainId); + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + SSetsaveSql(ADOCmd,'Contract_Main',ScrollBox1,0); + + if Trim(FMainId)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + Post; + end; + FMainId:=Trim(maxno); + ///ӱ + with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('C_Unit').AsString)='Kg' then + begin + if Trim(Order_Sub.fieldbyname('KZqty').AsString)='' then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('زΪ!','ʾ',0); + Exit; + end; + if Trim(Order_Sub.fieldbyname('MFqty').AsString)='' then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ŷΪ!','ʾ',0); + Exit; + end; + end; + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'CS','Contract_Sub',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from Contract_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add(' and SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,Tv1,Order_Sub,'Contract_Sub',0); + if Trim(Order_Sub.fieldbyname('C_Qty').AsString)='' then + begin + FieldByName('C_Qty').Value:=0; + end; + if Trim(Order_Sub.fieldbyname('Qty1').AsString)='' then + begin + FieldByName('Qty1').Value:=0; + end; + if Trim(Order_Sub.fieldbyname('Price').AsString)='' then + begin + FieldByName('Price').Value:=0; + end; + if Trim(Order_Sub.fieldbyname('C_Unit').AsString)='Kg' then + begin + FieldByName('MQty').Value:=Order_Sub.fieldbyname('C_Qty').Value*1.00*1000 + /(Order_Sub.fieldbyname('MFQty').Value*1.00/100*Order_Sub.fieldbyname('KZQty').Value); + end else + begin + FieldByName('MQty').Value:=Order_Sub.fieldbyname('C_Qty').Value; + end; + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + +procedure TfrmClothContractInPut.TBSaveClick(Sender: TObject); +begin + DeliveryDate.SetFocus; + if Trim(ConNo.Text)='' then + begin + Application.MessageBox('ͬŲΪգ','ʾ',0); + Exit; + end; + if Trim(FactoryNoName.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if Order_Sub.IsEmpty then + begin + Application.MessageBox('ϸΪգ','ʾ',0); + exit; + end; + if Order_Sub.Locate('C_Qty',null,[]) then + begin + Application.MessageBox('Ϊ!','ʾ',0); + Exit; + end; + if Order_Sub.Locate('C_Unit',null,[]) then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; + if Order_Sub.Locate('KZQty',null,[]) then + begin + Application.MessageBox('زΪ!','ʾ',0); + Exit; + end; + if Order_Sub.Locate('MFQty',null,[]) then + begin + Application.MessageBox('ŷΪ!','ʾ',0); + Exit; + end; + if PState=1 then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_DH where MainId='''+Trim(FMainId)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + if Trim(FConNo)<>Trim(ConNo.Text) then + begin + Application.MessageBox('Ѿ޸ĺͬ!','ʾ',0); + Exit; + end; + end; + end; + if SaveData() then + begin + Application.MessageBox('ɹ','ʾ',0); + end; +end; + +procedure TfrmClothContractInPut.v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('OrderUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPut.v1PRTUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PRTUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPut.v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdColor'; + flagname:='ɫ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PRTColor').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPut.ToolButton1Click(Sender: TObject); +begin + with Order_Sub do + begin + Append; + Post; + end; +end; + +procedure TfrmClothContractInPut.ToolButton2Click(Sender: TObject); +begin + if Order_Sub.IsEmpty then Exit; + if Trim(Order_Sub.fieldbyname('SubId').AsString)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub_MX where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + Application.MessageBox('ѵɾ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Sub where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; + Order_Sub.Delete; +end; + +procedure TfrmClothContractInPut.FactoryNoNamePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + if Trim(FMainId)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR A where exists('); + sql.Add('select * from Contract_Sub_MX B inner join Contract_Sub C on B.SubId=C.SubId '); + sql.Add(' where C.Mainid='''+Trim(FMainId)+''''); + sql.Add(' and B.MXID=A.YFTypeId)'); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + Application.MessageBox('ѾӦ޸ĹӦ!','ʾ',0); + Exit; + end; + end; + + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Factory'; + flagname:=''; + MainType:='PBFactory'; + if ShowModal=1 then + begin + FXS:=99; + FactoryNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + FactoryNoName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPut.v1Column1PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Cloth'; + flagname:=''; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('C_CodeName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + Self.Order_Sub.FieldByName('C_Code').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPut.v1PRTMFPropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='KZ'; + flagname:='صλ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('KZUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPut.v1OrderQtyPropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='MF'; + flagname:='ŷλ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('MFUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPut.v1ClothQtyPropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='PriceUnit'; + flagname:='Ƽ۵λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PriceUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPut.v1Column2PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrderUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('C_Unit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPut.FactoryNoNamePropertiesChange( + Sender: TObject); +begin + {if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(FactoryNoName,'FactoryNo1Name'); } +end; + +procedure TfrmClothContractInPut.CompanyNamePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdDefStr2'; + flagname:='跽'; + if ShowModal=1 then + begin + FXS:=99; + CompanyName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPut.JHPlacePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='JHPlace'; + flagname:='ص'; + if ShowModal=1 then + begin + JHPlace.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPut.ConNoKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Trim(ConNo.Text)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from JYOrder_Main where OrderNo='''+Trim(ConNo.Text)+''''); + Open; + end; + FactoryNoName.Text:=Trim(ADOTemp.fieldbyname('YCLFactory').AsString); + end; + end; +end; + +end. diff --git a/打卷检验管理/U_ClothContractInPutHZ.dfm b/打卷检验管理/U_ClothContractInPutHZ.dfm new file mode 100644 index 0000000..cc858b8 --- /dev/null +++ b/打卷检验管理/U_ClothContractInPutHZ.dfm @@ -0,0 +1,645 @@ +object frmClothContractInPutHZ: TfrmClothContractInPutHZ + Left = 198 + Top = 90 + Width = 831 + Height = 622 + Caption = #32433#32447#21152#24037#21512#21516#24405#20837 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 815 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = TBSaveClick + end + object TBClose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object ScrollBox1: TScrollBox + Left = 0 + Top = 29 + Width = 815 + Height = 220 + Align = alTop + BevelInner = bvNone + BevelOuter = bvNone + Ctl3D = False + ParentCtl3D = False + TabOrder = 1 + object Label1: TLabel + Left = 24 + Top = 14 + Width = 65 + Height = 12 + Caption = #21512#21516#32534#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 290 + Top = 46 + Width = 65 + Height = 12 + Caption = #20132#36135#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 511 + Top = 222 + Width = 67 + Height = 12 + Caption = #20379' '#26041#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label2: TLabel + Left = 552 + Top = 14 + Width = 65 + Height = 12 + Caption = #31614#35746#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 290 + Top = 14 + Width = 67 + Height = 12 + Caption = #38656' '#26041#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 24 + Top = 46 + Width = 65 + Height = 12 + Caption = #31614#35746#22320#28857#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 552 + Top = 42 + Width = 65 + Height = 12 + Caption = #20132#36135#22320#28857#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 24 + Top = 68 + Width = 65 + Height = 36 + Caption = #20379#36135#36136#37327#13#10' '#21450#13#10#25216#26415#26631#20934#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 552 + Top = 68 + Width = 65 + Height = 36 + Caption = #36816#36755#26041#24335#13#10' '#21450#13#10#36153#29992#25215#25285#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 24 + Top = 118 + Width = 65 + Height = 12 + Caption = #21253#35013#35201#27714#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 290 + Top = 80 + Width = 65 + Height = 12 + Caption = #32467#31639#26041#24335#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 24 + Top = 154 + Width = 195 + Height = 12 + Caption = #39564#25910#26631#20934#12289#26041#27861#21450#25552#20986#24322#35758#26399#38480#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 24 + Top = 190 + Width = 91 + Height = 12 + Caption = #20854#23427#32422#23450#20107#39033#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object ConNo: TEdit + Left = 86 + Top = 11 + Width = 180 + Height = 18 + TabOrder = 0 + OnKeyPress = ConNoKeyPress + end + object DeliveryDate: TDateTimePicker + Left = 353 + Top = 42 + Width = 177 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + TabOrder = 1 + end + object FactoryNoName: TcxButtonEdit + Tag = 77 + Left = 575 + Top = 218 + Hint = 'FactoryNo' + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = FactoryNoNamePropertiesButtonClick + Properties.OnChange = FactoryNoNamePropertiesChange + TabOrder = 2 + Visible = False + OnKeyDown = PRTCodeNameKeyDown + Width = 162 + end + object PanZDY: TPanel + Left = 841 + Top = 128 + Width = 202 + Height = 153 + TabOrder = 3 + Visible = False + object CXGridZDY: TcxGrid + Left = 3 + Top = 4 + Width = 197 + Height = 113 + TabOrder = 0 + object TVZDY: TcxGridDBTableView + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TVZDYCellDblClick + DataController.DataSource = DataSource2 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + object VHelpZDYName: TcxGridDBColumn + DataBinding.FieldName = 'ZDYName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.handBlack + Width = 163 + IsCaptionAssigned = True + end + end + object CXGridZDYLevel1: TcxGridLevel + GridView = TVZDY + end + end + object Button1: TButton + Left = 64 + Top = 120 + Width = 65 + Height = 25 + Caption = #20851#38381 + TabOrder = 1 + OnClick = Button1Click + end + end + object QDTime: TDateTimePicker + Left = 614 + Top = 10 + Width = 162 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + TabOrder = 4 + end + object CompanyName: TcxButtonEdit + Left = 353 + Top = 10 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = CompanyNamePropertiesButtonClick + TabOrder = 5 + OnKeyDown = PRTCodeNameKeyDown + Width = 177 + end + object QDPalce: TEdit + Left = 86 + Top = 43 + Width = 179 + Height = 18 + TabOrder = 6 + end + object JHPlace: TcxButtonEdit + Left = 614 + Top = 38 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = JHPlacePropertiesButtonClick + TabOrder = 7 + Width = 162 + end + object ConTK1: TcxButtonEdit + Left = 86 + Top = 76 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTK1PropertiesButtonClick + TabOrder = 8 + Width = 183 + end + object ConTk2: TcxButtonEdit + Left = 614 + Top = 76 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTk2PropertiesButtonClick + TabOrder = 9 + Width = 162 + end + object ConTK3: TcxButtonEdit + Left = 86 + Top = 114 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTK3PropertiesButtonClick + TabOrder = 10 + Width = 691 + end + object ConTK4: TcxButtonEdit + Left = 353 + Top = 76 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTK4PropertiesButtonClick + TabOrder = 11 + Width = 177 + end + object ConTK5: TcxButtonEdit + Left = 216 + Top = 150 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTK5PropertiesButtonClick + TabOrder = 12 + Width = 563 + end + object ConTk6: TcxButtonEdit + Left = 110 + Top = 186 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTk6PropertiesButtonClick + TabOrder = 13 + Width = 669 + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 249 + Width = 815 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentFont = False + ShowCaptions = True + TabOrder = 2 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton2Click + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 278 + Width = 815 + Height = 305 + Align = alClient + TabOrder = 3 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'C_Code' + Column = v1Column1 + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + object v1Column3: TcxGridDBColumn + Tag = 1 + Caption = #21152#24037#21378 + DataBinding.FieldName = 'FactoryNoName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v1Column3PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 117 + end + object v1Column1: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 100 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684#22411#21495 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 103 + end + object v1Price: TcxGridDBColumn + Caption = #21152#24037#21333#20215 + DataBinding.FieldName = 'Price' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.handBlack + Width = 58 + end + object v1ClothQty: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v1ClothQtyPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 69 + end + object v1ClothUnit: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'C_Qty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.handBlack + Width = 69 + end + object v1Column2: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'C_Unit' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.DropDownListStyle = lsFixedList + Properties.Items.Strings = ( + 'M' + 'Kg') + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 64 + end + object v1Column4: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 85 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object ADOTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 384 + Top = 65533 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 520 + Top = 5 + end + object DataSource1: TDataSource + DataSet = Order_Sub + Left = 344 + Top = 376 + end + object Order_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 384 + Top = 376 + end + object DataSource2: TDataSource + DataSet = ADOZDY + Left = 240 + end + object ADOZDY: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 280 + Top = 65533 + end + object CDS_ZDY: TClientDataSet + Aggregates = <> + Params = <> + Left = 208 + end + object ADOQuery1: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 456 + Top = 5 + end +end diff --git a/打卷检验管理/U_ClothContractInPutHZ.pas b/打卷检验管理/U_ClothContractInPutHZ.pas new file mode 100644 index 0000000..62bd29b --- /dev/null +++ b/打卷检验管理/U_ClothContractInPutHZ.pas @@ -0,0 +1,878 @@ +unit U_ClothContractInPutHZ; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxClasses, cxControls, + cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, + cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, + ExtCtrls, BtnEdit, cxDropDownEdit; + +type + TfrmClothContractInPutHZ = class(TForm) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ScrollBox1: TScrollBox; + Label1: TLabel; + ConNo: TEdit; + Label4: TLabel; + DeliveryDate: TDateTimePicker; + Label5: TLabel; + ToolBar2: TToolBar; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1PRTSpec: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1ClothQty: TcxGridDBColumn; + v1Price: TcxGridDBColumn; + v1ClothUnit: TcxGridDBColumn; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + DataSource1: TDataSource; + Order_Sub: TClientDataSet; + DataSource2: TDataSource; + ADOZDY: TADOQuery; + CDS_ZDY: TClientDataSet; + FactoryNoName: TcxButtonEdit; + ADOQuery1: TADOQuery; + v1Column1: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + PanZDY: TPanel; + CXGridZDY: TcxGrid; + TVZDY: TcxGridDBTableView; + VHelpZDYName: TcxGridDBColumn; + CXGridZDYLevel1: TcxGridLevel; + Button1: TButton; + v1Column4: TcxGridDBColumn; + Label2: TLabel; + QDTime: TDateTimePicker; + Label3: TLabel; + CompanyName: TcxButtonEdit; + Label6: TLabel; + QDPalce: TEdit; + Label8: TLabel; + JHPlace: TcxButtonEdit; + Label7: TLabel; + ConTK1: TcxButtonEdit; + Label9: TLabel; + ConTk2: TcxButtonEdit; + Label10: TLabel; + ConTK3: TcxButtonEdit; + Label11: TLabel; + ConTK4: TcxButtonEdit; + Label12: TLabel; + ConTK5: TcxButtonEdit; + Label13: TLabel; + ConTk6: TcxButtonEdit; + v1Column3: TcxGridDBColumn; + procedure TBCloseClick(Sender: TObject); + procedure TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button1Click(Sender: TObject); + procedure PRTCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); + procedure TVZDYKeyPress(Sender: TObject; var Key: Char); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PRTUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure FactoryNoNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PRTMFPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1OrderQtyPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1ClothQtyPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column2PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure FactoryNoNamePropertiesChange(Sender: TObject); + procedure CompanyNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure JHPlacePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTK1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTK3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTK4PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTK5PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTk6PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTk2PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConNoKeyPress(Sender: TObject; var Key: Char); + procedure v1Column3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + private + FXS:Integer; + procedure InitData(); + procedure ZDYHelp(FButn:TcxButtonEdit;LType:string); + function SaveData():Boolean; + { Private declarations } + public + PState,PCopyInt:Integer; + FMainId,FConNo,CPFlag,CPFlagName,FactoryFlag,FConType:String; + { Public declarations } + end; + +var + frmClothContractInPutHZ: TfrmClothContractInPutHZ; + +implementation +uses + U_DataLink,U_ZDYHelp,U_Fun; + +{$R *.dfm} + +procedure TfrmClothContractInPutHZ.TBCloseClick(Sender: TObject); +begin + Close; +end; + +procedure TfrmClothContractInPutHZ.InitData(); +begin + with ADOQuery1 do + begin + Close; + SQL.Clear; + sql.Add('select * from ContractHZ_Main A inner join ContractHZ_Sub B on A.MainId=B.MainId'); + sql.Add(' where A.MainId='''+Trim(FMainId)+''''); + Open; + end; + SCreateCDS20(ADOQuery1,Order_Sub); + SInitCDSData20(ADOQuery1,Order_Sub); + SCSHData(ADOQuery1,ScrollBox1,0); + if PState=0 then + begin + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1* from ContractHZ_Main where ConType='''+Trim(FConType)+'''order by FillTime desc '); + Open; + end; + ConTK1.Text:=Trim(ADOTemp.fieldbyname('ConTK1').AsString); + ConTK2.Text:=Trim(ADOTemp.fieldbyname('ConTK2').AsString); + ConTK3.Text:=Trim(ADOTemp.fieldbyname('ConTK3').AsString); + ConTK4.Text:=Trim(ADOTemp.fieldbyname('ConTK4').AsString); + ConTK5.Text:=Trim(ADOTemp.fieldbyname('ConTK5').AsString); + ConTK6.Text:=Trim(ADOTemp.fieldbyname('ConTK6').AsString); + QDTime.DateTime:=SGetServerDate(ADOTemp); + DeliveryDate.DateTime:=SGetServerDate(ADOTemp); + QDTime.Checked:=True; + DeliveryDate.Checked:=False; + + QDPalce.Text:=''; + end; + PanZDY.Visible:=False; +end; + +procedure TfrmClothContractInPutHZ.ZDYHelp(FButn:TcxButtonEdit;LType:string); +var + FType,ZDYName,FText:String; +begin + PanZDY.Visible:=True; + PanZDY.Left:=FButn.Left; + PanZDY.Top:=FButn.Top+FButn.Height; + with ADOZDY do + begin + Filtered:=False; + Close; + SQL.Clear; + SQL.Add('select RTrim(ZDYNo) ZDYNo,RTrim(ZDYName) ZDYName from KH_ZDY where Type='''+Trim(LType)+''''); + Open; + end; + FText:=Trim(FButn.Text); + if FText<>'' then + SDofilter(ADOZDY,' ZDYName like '+QuotedStr('%'+Trim(FText)+'%')) + else + SDofilter(ADOZDY,''); + VHelpZDYName.Summary.GroupFormat:=Trim(FButn.Name); +end; + +procedure TfrmClothContractInPutHZ.TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + FName:string; +begin + if ADOZDY.IsEmpty then Exit; + FName:=Trim(VHelpZDYName.Summary.GroupFormat); + TcxButtonEdit(FindComponent(FName)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(FName)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; +end; + +procedure TfrmClothContractInPutHZ.Button1Click(Sender: TObject); +begin + PanZDY.Visible:=False; +end; + +procedure TfrmClothContractInPutHZ.PRTCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); +begin + {if (key=vk_return) or (Key=vk_Down) then + begin + if ADOZDY.Active then + CXGridZDY.SetFocus; + end; } +end; + +procedure TfrmClothContractInPutHZ.TVZDYKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + if ADOZDY.IsEmpty then Exit; + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; + ADOZDY.Active:=False; + end; +end; + +procedure TfrmClothContractInPutHZ.FormShow(Sender: TObject); +begin + {if Trim(DParameters1)='1' then + begin + v1Price.Visible:=False; + v1ClothQty.Visible:=False; + v1PRTQty.Visible:=False; + end else + begin + v1Price.Visible:=True; + v1ClothQty.Visible:=True; + v1PRTQty.Visible:=True; + end; } + InitData(); + if PCopyInt=1 then + begin + FMainId:=''; + FConNo:=''; + ConNo.Text:=''; + with Order_Sub do + begin + First; + while not Eof do + begin + Edit; + FieldByName('SubId').Value:=''; + Post; + Next; + end; + end; + end; +end; + +function TfrmClothContractInPutHZ.SaveData():Boolean; +var + maxno,maxSubNo:String; +begin + try + ADOCmd.Connection.BeginTrans; + ///ӱ + with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'HM','ContractHZ_Main',2,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ˮ쳣','ʾ',0); + exit; + end; + end else + begin + maxno:=Trim(FMainId); + end; + + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from ContractHZ_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + Append; + end + else begin + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + SSetsaveSql(ADOCmd,'ContractSX_Main',ScrollBox1,0); + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + FieldByName('FactoryNoName').Value:=Trim(Order_Sub.fieldbyname('FactoryNoName').AsString); + FieldByName('ConType').Value:=Trim(FConType); + Post; + end; + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOCmd,maxSubNo,'HS','ContractHZ_Sub',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxSubNo:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from ContractHZ_Sub where MainId='''+Trim(maxno)+''''); + sql.Add(' and SubId='''+Trim(maxSubNo)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(maxno); + FieldByName('SubId').Value:=Trim(maxSubNo); + SSetSaveDataCDSNew(ADOCmd,Tv1,Order_Sub,'ContractHZ_Sub',0); + if Trim(Order_Sub.fieldbyname('C_Qty').AsString)='' then + begin + FieldByName('C_Qty').Value:=0; + end; + if Trim(Order_Sub.fieldbyname('Price').AsString)='' then + begin + FieldByName('Price').Value:=0; + end; + FieldByName('C_Unit').Value:=Trim(Order_Sub.fieldbyname('C_Unit').AsString); + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxSubNo); + //Order_Sub.Post; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + +procedure TfrmClothContractInPutHZ.TBSaveClick(Sender: TObject); +begin + DeliveryDate.SetFocus; + if Trim(ConNo.Text)='' then + begin + Application.MessageBox('ͬŲΪգ','ʾ',0); + Exit; + end; + if Order_Sub.IsEmpty then + begin + Application.MessageBox('ϸΪգ','ʾ',0); + exit; + end; + if Order_Sub.Locate('C_Qty',null,[]) then + begin + Application.MessageBox('Ϊ!','ʾ',0); + Exit; + end; + if Order_Sub.Locate('C_Unit',null,[]) then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; + if Order_Sub.Locate('FactoryNoName',null,[]) then + begin + Application.MessageBox('ӹΪ!','ʾ',0); + Exit; + end; + if SaveData() then + begin + Application.MessageBox('ɹ','ʾ',0); + ModalResult:=1; + end; + +end; + +procedure TfrmClothContractInPutHZ.v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('OrderUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutHZ.v1PRTUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PRTUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutHZ.v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdColor'; + flagname:='ɫ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PRTColor').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutHZ.ToolButton1Click(Sender: TObject); +begin + with Order_Sub do + begin + Append; + Post; + end; +end; + +procedure TfrmClothContractInPutHZ.ToolButton2Click(Sender: TObject); +begin + if Order_Sub.IsEmpty then Exit; + if Trim(Order_Sub.fieldbyname('SubId').AsString)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub_MX where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + Application.MessageBox('ѵɾ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Sub where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; + Order_Sub.Delete; +end; + +procedure TfrmClothContractInPutHZ.FactoryNoNamePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + if Trim(FMainId)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR A where exists('); + sql.Add('select * from ContractSX_Sub_MX B inner join Contract_Sub C on B.SubId=C.SubId '); + sql.Add(' where C.Mainid='''+Trim(FMainId)+''''); + sql.Add(' and B.MXID=A.YFTypeId)'); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + Application.MessageBox('ѾӦ޸ĹӦ!','ʾ',0); + Exit; + end; + end; + + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Factory'; + flagname:=''; + MainType:='YCLFactory'; + if ShowModal=1 then + begin + FXS:=99; + FactoryNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + FactoryNoName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutHZ.v1Column1PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim(CPFlag); + flagname:=Trim(CPFlagName); + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('C_CodeName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + Self.Order_Sub.FieldByName('C_Code').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutHZ.v1PRTMFPropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='KZ'; + flagname:='صλ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('KZUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutHZ.v1OrderQtyPropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='MF'; + flagname:='ŷλ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('MFUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutHZ.v1ClothQtyPropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='PriceUnit'; + flagname:='Ƽ۵λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PriceUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutHZ.v1Column2PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrderUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('C_Unit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutHZ.FactoryNoNamePropertiesChange( + Sender: TObject); +begin + {if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(FactoryNoName,'FactoryNo1Name'); } +end; + +procedure TfrmClothContractInPutHZ.CompanyNamePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdDefStr2'; + flagname:='跽'; + if ShowModal=1 then + begin + FXS:=99; + CompanyName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutHZ.JHPlacePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='JHPlace'; + flagname:='ص'; + if ShowModal=1 then + begin + JHPlace.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutHZ.ConTK1PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK1'; + flagname:='׼'; + if ShowModal=1 then + begin + ConTK1.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutHZ.ConTK3PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK3'; + flagname:='װҪ'; + if ShowModal=1 then + begin + ConTK3.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutHZ.ConTK4PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK4'; + flagname:='㷽ʽ'; + if ShowModal=1 then + begin + ConTK4.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutHZ.ConTK5PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK5'; + flagname:='ձ׼'; + if ShowModal=1 then + begin + ConTK5.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutHZ.ConTk6PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK6'; + flagname:='Լ'; + if ShowModal=1 then + begin + ConTK6.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutHZ.ConTk2PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK2'; + flagname:='䷽óе'; + if ShowModal=1 then + begin + ConTK2.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutHZ.ConNoKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Trim(ConNo.Text)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from JYOrder_Main where OrderNo='''+Trim(ConNo.Text)+''''); + Open; + end; + FactoryNoName.Text:=Trim(ADOTemp.fieldbyname('YCLFactory').AsString); + end; + end; +end; + +procedure TfrmClothContractInPutHZ.v1Column3PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Factory'; + flagname:=''; + MainType:=Trim(FactoryFlag); + if ShowModal=1 then + begin + with Order_Sub do + begin + Edit; + FieldByName('FactoryNoName').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +end. diff --git a/打卷检验管理/U_ClothContractInPutPB.dfm b/打卷检验管理/U_ClothContractInPutPB.dfm new file mode 100644 index 0000000..be1c8b5 --- /dev/null +++ b/打卷检验管理/U_ClothContractInPutPB.dfm @@ -0,0 +1,722 @@ +object frmClothContractInPutPB: TfrmClothContractInPutPB + Left = 192 + Top = 67 + Width = 1089 + Height = 630 + Caption = #22383#24067#35746#36141#21512#21516#24405#20837 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + WindowState = wsMaximized + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1081 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = TBSaveClick + end + object TBClose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object ScrollBox1: TScrollBox + Left = 0 + Top = 29 + Width = 1081 + Height = 244 + Align = alTop + BevelInner = bvNone + BevelOuter = bvNone + Ctl3D = False + ParentCtl3D = False + TabOrder = 1 + object Label1: TLabel + Left = 24 + Top = 14 + Width = 65 + Height = 12 + Caption = #21512#21516#32534#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 546 + Top = 46 + Width = 65 + Height = 12 + Caption = #20132#36135#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 431 + Top = 246 + Width = 67 + Height = 12 + Caption = #20379' '#26041#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label2: TLabel + Left = 24 + Top = 46 + Width = 65 + Height = 12 + Caption = #31614#35746#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 546 + Top = 14 + Width = 67 + Height = 12 + Caption = #38656' '#26041#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 295 + Top = 14 + Width = 65 + Height = 12 + Caption = #31614#35746#22320#28857#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 295 + Top = 46 + Width = 65 + Height = 12 + Caption = #20132#36135#22320#28857#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 24 + Top = 78 + Width = 65 + Height = 36 + Caption = #20379#36135#36136#37327#13#10' '#21450#13#10#25216#26415#26631#20934#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 546 + Top = 78 + Width = 65 + Height = 36 + Caption = #36816#36755#26041#24335#13#10' '#21450#13#10#36153#29992#25215#25285#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 24 + Top = 138 + Width = 65 + Height = 12 + Caption = #21253#35013#35201#27714#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 295 + Top = 90 + Width = 65 + Height = 12 + Caption = #32467#31639#26041#24335#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 24 + Top = 178 + Width = 195 + Height = 12 + Caption = #39564#25910#26631#20934#12289#26041#27861#21450#25552#20986#24322#35758#26399#38480#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 24 + Top = 210 + Width = 91 + Height = 12 + Caption = #20854#23427#32422#23450#20107#39033#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object ConNo: TEdit + Left = 86 + Top = 11 + Width = 180 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + OnKeyPress = ConNoKeyPress + end + object DeliveryDate: TDateTimePicker + Left = 609 + Top = 42 + Width = 177 + Height = 20 + BevelInner = bvNone + Date = 40916.000000000000000000 + Format = 'yyyy-MM-dd' + Time = 40916.000000000000000000 + ShowCheckbox = True + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object FactoryNoName: TcxButtonEdit + Tag = 45 + Left = 495 + Top = 242 + Hint = 'FactoryNo' + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = FactoryNoNamePropertiesButtonClick + Properties.OnChange = FactoryNoNamePropertiesChange + TabOrder = 2 + Visible = False + OnKeyDown = PRTCodeNameKeyDown + Width = 162 + end + object PanZDY: TPanel + Left = 841 + Top = 128 + Width = 202 + Height = 153 + TabOrder = 3 + Visible = False + object CXGridZDY: TcxGrid + Left = 3 + Top = 4 + Width = 197 + Height = 113 + TabOrder = 0 + object TVZDY: TcxGridDBTableView + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TVZDYCellDblClick + DataController.DataSource = DataSource2 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + object VHelpZDYName: TcxGridDBColumn + DataBinding.FieldName = 'ZDYName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.handBlack + Width = 163 + IsCaptionAssigned = True + end + end + object CXGridZDYLevel1: TcxGridLevel + GridView = TVZDY + end + end + object Button1: TButton + Left = 64 + Top = 120 + Width = 65 + Height = 25 + Caption = #20851#38381 + TabOrder = 1 + OnClick = Button1Click + end + end + object QDTime: TDateTimePicker + Left = 86 + Top = 42 + Width = 183 + Height = 20 + BevelInner = bvNone + Date = 40916.000000000000000000 + Format = 'yyyy-MM-dd' + Time = 40916.000000000000000000 + ShowCheckbox = True + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + end + object CompanyName: TcxButtonEdit + Left = 609 + Top = 10 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = CompanyNamePropertiesButtonClick + TabOrder = 5 + OnKeyDown = PRTCodeNameKeyDown + Width = 177 + end + object QDPalce: TEdit + Left = 359 + Top = 11 + Width = 161 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + end + object JHPlace: TcxButtonEdit + Left = 359 + Top = 42 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = JHPlacePropertiesButtonClick + TabOrder = 7 + Width = 162 + end + object ConTK1: TcxButtonEdit + Left = 86 + Top = 86 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTK1PropertiesButtonClick + TabOrder = 8 + Width = 183 + end + object ConTk2: TcxButtonEdit + Left = 609 + Top = 86 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTk2PropertiesButtonClick + TabOrder = 9 + Width = 178 + end + object ConTK3: TcxButtonEdit + Left = 86 + Top = 134 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTK3PropertiesButtonClick + TabOrder = 10 + Width = 702 + end + object ConTK4: TcxButtonEdit + Left = 359 + Top = 86 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTK4PropertiesButtonClick + TabOrder = 11 + Width = 162 + end + object ConTK5: TcxButtonEdit + Left = 216 + Top = 174 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTK5PropertiesButtonClick + TabOrder = 12 + Width = 572 + end + object ConTk6: TcxButtonEdit + Left = 110 + Top = 206 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTk6PropertiesButtonClick + TabOrder = 13 + Width = 679 + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 273 + Width = 1081 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentFont = False + ShowCaptions = True + TabOrder = 2 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton2Click + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 302 + Width = 1081 + Height = 294 + Align = alClient + TabOrder = 3 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'C_Code' + Column = v1Column1 + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Styles.Header = DataLink_TradeManage.Default + object v1Column7: TcxGridDBColumn + Tag = 99 + Caption = #20379#26041 + DataBinding.FieldName = 'FactoryNoName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column7PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 96 + end + object v1Column1: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 81 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684#22411#21495 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 67 + end + object v1Column3: TcxGridDBColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'MFQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 64 + end + object v1Column5: TcxGridDBColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'KZQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 74 + end + object v1Price: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'Price' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.handBlack + Width = 49 + end + object v1ClothQty: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v1ClothQtyPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 41 + end + object v1Column6: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'Qty1' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 50 + end + object v1ClothUnit: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'C_Qty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.handBlack + Width = 47 + end + object v1Column2: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'C_Unit' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.DropDownListStyle = lsFixedList + Properties.Items.Strings = ( + 'M' + 'Kg') + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 67 + end + object v1Column8: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'Sdefstr1' + HeaderAlignmentHorz = taCenter + Width = 67 + end + object v1Column9: TcxGridDBColumn + Caption = #35745#21010#32553#29575'(%)' + DataBinding.FieldName = 'Qty2' + HeaderAlignmentHorz = taCenter + Width = 85 + end + object v1Column10: TcxGridDBColumn + Caption = #26579#21378 + DataBinding.FieldName = 'Sdefstr2' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column10PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 81 + end + object v1Column11: TcxGridDBColumn + Caption = #26579#21378#24037#33402 + DataBinding.FieldName = 'Sdefstr3' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column12: TcxGridDBColumn + Caption = #26579#21378#20215#26684 + DataBinding.FieldName = 'Sdefstr4' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column13: TcxGridDBColumn + Caption = #25351#31034#21333#21495 + DataBinding.FieldName = 'Sdefstr5' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v1Column14: TcxGridDBColumn + Caption = #24037#21378#32534#21495 + DataBinding.FieldName = 'Sdefstr6' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v1Column4: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 118 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object ADOTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 384 + Top = 13 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 520 + Top = 5 + end + object DataSource1: TDataSource + DataSet = Order_Sub + Left = 344 + Top = 376 + end + object Order_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 384 + Top = 376 + end + object DataSource2: TDataSource + DataSet = ADOZDY + Left = 240 + Top = 8 + end + object ADOZDY: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 280 + Top = 5 + end + object CDS_ZDY: TClientDataSet + Aggregates = <> + Params = <> + Left = 208 + Top = 16 + end + object ADOQuery1: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 456 + Top = 13 + end +end diff --git a/打卷检验管理/U_ClothContractInPutPB.pas b/打卷检验管理/U_ClothContractInPutPB.pas new file mode 100644 index 0000000..62919c3 --- /dev/null +++ b/打卷检验管理/U_ClothContractInPutPB.pas @@ -0,0 +1,976 @@ +unit U_ClothContractInPutPB; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxClasses, cxControls, + cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, + cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, + ExtCtrls, BtnEdit, cxDropDownEdit; + +type + TfrmClothContractInPutPB = class(TForm) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ScrollBox1: TScrollBox; + Label1: TLabel; + ConNo: TEdit; + Label4: TLabel; + DeliveryDate: TDateTimePicker; + Label5: TLabel; + ToolBar2: TToolBar; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1PRTSpec: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1ClothQty: TcxGridDBColumn; + v1Price: TcxGridDBColumn; + v1ClothUnit: TcxGridDBColumn; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + DataSource1: TDataSource; + Order_Sub: TClientDataSet; + DataSource2: TDataSource; + ADOZDY: TADOQuery; + CDS_ZDY: TClientDataSet; + FactoryNoName: TcxButtonEdit; + ADOQuery1: TADOQuery; + v1Column1: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + PanZDY: TPanel; + CXGridZDY: TcxGrid; + TVZDY: TcxGridDBTableView; + VHelpZDYName: TcxGridDBColumn; + CXGridZDYLevel1: TcxGridLevel; + Button1: TButton; + v1Column4: TcxGridDBColumn; + Label2: TLabel; + QDTime: TDateTimePicker; + Label3: TLabel; + CompanyName: TcxButtonEdit; + Label6: TLabel; + QDPalce: TEdit; + Label8: TLabel; + JHPlace: TcxButtonEdit; + Label7: TLabel; + ConTK1: TcxButtonEdit; + Label9: TLabel; + ConTk2: TcxButtonEdit; + Label10: TLabel; + ConTK3: TcxButtonEdit; + Label11: TLabel; + ConTK4: TcxButtonEdit; + Label12: TLabel; + ConTK5: TcxButtonEdit; + Label13: TLabel; + ConTk6: TcxButtonEdit; + v1Column3: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column11: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + v1Column13: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + procedure TBCloseClick(Sender: TObject); + procedure TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button1Click(Sender: TObject); + procedure PRTCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); + procedure TVZDYKeyPress(Sender: TObject; var Key: Char); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PRTUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure FactoryNoNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PRTMFPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1OrderQtyPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1ClothQtyPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column2PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure FactoryNoNamePropertiesChange(Sender: TObject); + procedure CompanyNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure JHPlacePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTK1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTK3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTK4PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTK5PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTk6PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTk2PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConNoKeyPress(Sender: TObject; var Key: Char); + procedure v1Column7PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column10PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + private + FXS:Integer; + procedure InitData(); + procedure ZDYHelp(FButn:TcxButtonEdit;LType:string); + function SaveData():Boolean; + { Private declarations } + public + PState,PCopyInt:Integer; + FMainId,FConNo:String; + { Public declarations } + end; + +var + frmClothContractInPutPB: TfrmClothContractInPutPB; + +implementation +uses + U_DataLink,U_ZDYHelp,U_Fun; + +{$R *.dfm} + +procedure TfrmClothContractInPutPB.TBCloseClick(Sender: TObject); +begin + Close; +end; + +procedure TfrmClothContractInPutPB.InitData(); +begin + with ADOQuery1 do + begin + Close; + SQL.Clear; + sql.Add(' exec ClothContract_QryList :MainId,:WSql'); + if PState=1 then + begin + ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(FMainId); + ADOQuery1.Parameters.ParamByName('WSQl').Value:=''; + end; + if PState=0 then + begin + ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(FMainId); + ADOQuery1.Parameters.ParamByName('WSql').Value:=' and 1<>1 '; + end; + Open; + end; + SCreateCDS20(ADOQuery1,Order_Sub); + SInitCDSData20(ADOQuery1,Order_Sub); + SCSHData(ADOQuery1,ScrollBox1,0); + if PState=0 then + begin + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1* from Contract_Main order by FillTime desc '); + Open; + end; + QDTime.DateTime:=SGetServerDate(ADOTemp); + DeliveryDate.DateTime:=SGetServerDate(ADOTemp); + QDTime.Checked:=True; + DeliveryDate.Checked:=False; + end; + PanZDY.Visible:=False; +end; + +procedure TfrmClothContractInPutPB.ZDYHelp(FButn:TcxButtonEdit;LType:string); +var + FType,ZDYName,FText:String; +begin + PanZDY.Visible:=True; + PanZDY.Left:=FButn.Left; + PanZDY.Top:=FButn.Top+FButn.Height; + with ADOZDY do + begin + Filtered:=False; + Close; + SQL.Clear; + SQL.Add('select RTrim(ZDYNo) ZDYNo,RTrim(ZDYName) ZDYName from KH_ZDY where Type='''+Trim(LType)+''''); + Open; + end; + FText:=Trim(FButn.Text); + if FText<>'' then + SDofilter(ADOZDY,' ZDYName like '+QuotedStr('%'+Trim(FText)+'%')) + else + SDofilter(ADOZDY,''); + VHelpZDYName.Summary.GroupFormat:=Trim(FButn.Name); +end; + +procedure TfrmClothContractInPutPB.TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + FName:string; +begin + if ADOZDY.IsEmpty then Exit; + FName:=Trim(VHelpZDYName.Summary.GroupFormat); + TcxButtonEdit(FindComponent(FName)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(FName)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; +end; + +procedure TfrmClothContractInPutPB.Button1Click(Sender: TObject); +begin + PanZDY.Visible:=False; +end; + +procedure TfrmClothContractInPutPB.PRTCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); +begin + {if (key=vk_return) or (Key=vk_Down) then + begin + if ADOZDY.Active then + CXGridZDY.SetFocus; + end; } +end; + +procedure TfrmClothContractInPutPB.TVZDYKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + if ADOZDY.IsEmpty then Exit; + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; + ADOZDY.Active:=False; + end; +end; + +procedure TfrmClothContractInPutPB.FormShow(Sender: TObject); +begin + {if Trim(DParameters1)='1' then + begin + v1Price.Visible:=False; + v1ClothQty.Visible:=False; + v1PRTQty.Visible:=False; + end else + begin + v1Price.Visible:=True; + v1ClothQty.Visible:=True; + v1PRTQty.Visible:=True; + end; } + InitData(); + if PCopyInt=1 then + begin + FMainId:=''; + FConNo:=''; + ConNo.Text:=''; + with Order_Sub do + begin + First; + while not Eof do + begin + Edit; + FieldByName('SubId').Value:=''; + Post; + Next; + end; + end; + end; +end; + +function TfrmClothContractInPutPB.SaveData():Boolean; +var + maxno,maxSubNo:String; +begin + try + ADOCmd.Connection.BeginTrans; + /// + + //FMainId:=Trim(maxno); + ///ӱ + with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'PM','Contract_Main',2,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ˮ쳣','ʾ',0); + exit; + end; + end else + begin + maxno:=Trim(FMainId); + end; + + + + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from Contract_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + Append; + + end + else begin + + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + SSetsaveSql(ADOCmd,'Contract_Main',ScrollBox1,0); + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + FieldByName('FactoryNoName').Value:=Trim(Order_Sub.fieldbyname('FactoryNoName').AsString); + Post; + end; + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOCmd,maxSubNo,'PS','Contract_Sub',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxSubNo:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from Contract_Sub where MainId='''+Trim(maxno)+''''); + sql.Add(' and SubId='''+Trim(maxSubNo)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(maxno); + FieldByName('SubId').Value:=Trim(maxSubNo); + SSetSaveDataCDSNew(ADOCmd,Tv1,Order_Sub,'Contract_Sub',0); + FieldByName('C_Unit').Value:=Trim(Order_Sub.fieldbyname('C_Unit').AsString); + if Trim(Order_Sub.fieldbyname('C_Qty').AsString)='' then + begin + FieldByName('C_Qty').Value:=0; + end; + if Trim(Order_Sub.fieldbyname('Qty1').AsString)='' then + begin + FieldByName('Qty1').Value:=0; + end; + if Trim(Order_Sub.fieldbyname('Price').AsString)='' then + begin + FieldByName('Price').Value:=0; + end; + if Trim(Order_Sub.fieldbyname('C_Unit').AsString)='Kg' then + begin + FieldByName('MQty').Value:=Order_Sub.fieldbyname('C_Qty').Value*1.00*1000 + /(Order_Sub.fieldbyname('MFQty').Value*1.00/100*Order_Sub.fieldbyname('KZQty').Value); + end else + begin + FieldByName('MQty').Value:=Order_Sub.fieldbyname('C_Qty').Value; + end; + FieldByName('C_Note').Value:=trim(Order_Sub.fieldbyname('C_Note').AsString); + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxSubNo); + //Order_Sub.Post; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + +procedure TfrmClothContractInPutPB.TBSaveClick(Sender: TObject); +begin + DeliveryDate.SetFocus; + if Trim(ConNo.Text)='' then + begin + Application.MessageBox('ͬŲΪգ','ʾ',0); + Exit; + end; + {if Trim(FactoryNoName.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; } + if Order_Sub.IsEmpty then + begin + Application.MessageBox('ϸΪգ','ʾ',0); + exit; + end; + if Order_Sub.Locate('C_Qty',null,[]) then + begin + Application.MessageBox('Ϊ!','ʾ',0); + Exit; + end; + if Order_Sub.Locate('C_Unit',null,[]) then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; + if Order_Sub.Locate('FactoryNoName',null,[]) then + begin + Application.MessageBox('Ϊ!','ʾ',0); + Exit; + end; + if PState=1 then + begin + { with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_DH where MainId='''+Trim(FMainId)+''''); + sql.Add(' and Isnull(DHTYpe,'''')='''' '); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + if Trim(FConNo)<>Trim(ConNo.Text) then + begin + Application.MessageBox('Ѿ޸ĺͬ!','ʾ',0); + Exit; + end; + end; } + end; + if SaveData() then + begin + Application.MessageBox('ɹ','ʾ',0); + ModalResult:=1; + end; +end; + +procedure TfrmClothContractInPutPB.v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('OrderUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.v1PRTUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PRTUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdColor'; + flagname:='ɫ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PRTColor').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.ToolButton1Click(Sender: TObject); +begin + with Order_Sub do + begin + Append; + Post; + end; +end; + +procedure TfrmClothContractInPutPB.ToolButton2Click(Sender: TObject); +begin + if Order_Sub.IsEmpty then Exit; + if Trim(Order_Sub.fieldbyname('SubId').AsString)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub_MX where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + Application.MessageBox('ѵɾ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Sub where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; + Order_Sub.Delete; +end; + +procedure TfrmClothContractInPutPB.FactoryNoNamePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + if Trim(FMainId)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR A where exists('); + sql.Add('select * from Contract_Sub_MX B inner join Contract_Sub C on B.SubId=C.SubId '); + sql.Add(' where C.Mainid='''+Trim(FMainId)+''''); + sql.Add(' and B.MXID=A.YFTypeId)'); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + Application.MessageBox('ѾӦ޸ĹӦ!','ʾ',0); + Exit; + end; + end; + + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Factory'; + flagname:=''; + MainType:='PBFactory'; + if ShowModal=1 then + begin + FXS:=99; + FactoryNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + FactoryNoName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.v1Column1PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Cloth'; + flagname:=''; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('C_CodeName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + Self.Order_Sub.FieldByName('C_Code').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.v1PRTMFPropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='KZ'; + flagname:='صλ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('KZUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.v1OrderQtyPropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='MF'; + flagname:='ŷλ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('MFUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.v1ClothQtyPropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='PriceUnit'; + flagname:='Ƽ۵λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PriceUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.v1Column2PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrderUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('C_Unit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.FactoryNoNamePropertiesChange( + Sender: TObject); +begin + {if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(FactoryNoName,'FactoryNo1Name'); } +end; + +procedure TfrmClothContractInPutPB.CompanyNamePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdDefStr2'; + flagname:='跽'; + if ShowModal=1 then + begin + FXS:=99; + CompanyName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.JHPlacePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='JHPlace'; + flagname:='ص'; + if ShowModal=1 then + begin + JHPlace.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.ConTK1PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK1'; + flagname:='׼'; + if ShowModal=1 then + begin + ConTK1.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.ConTK3PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK3'; + flagname:='װҪ'; + if ShowModal=1 then + begin + ConTK3.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.ConTK4PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK4'; + flagname:='㷽ʽ'; + if ShowModal=1 then + begin + ConTK4.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.ConTK5PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK5'; + flagname:='ձ׼'; + if ShowModal=1 then + begin + ConTK5.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.ConTk6PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK6'; + flagname:='Լ'; + if ShowModal=1 then + begin + ConTK6.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.ConTk2PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK2'; + flagname:='䷽óе'; + if ShowModal=1 then + begin + ConTK2.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.ConNoKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Trim(ConNo.Text)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from JYOrder_Main where OrderNo='''+Trim(ConNo.Text)+''''); + Open; + end; + FactoryNoName.Text:=Trim(ADOTemp.fieldbyname('PBFactory').AsString); + end; + end; +end; + +procedure TfrmClothContractInPutPB.v1Column7PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + if Trim(FMainId)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR A where exists('); + sql.Add('select * from Contract_Sub_MX B inner join Contract_Sub C on B.SubId=C.SubId '); + sql.Add(' where C.Mainid='''+Trim(FMainId)+''''); + sql.Add(' and B.MXID=A.YFTypeId)'); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + Application.MessageBox('ѾӦ޸ĹӦ!','ʾ',0); + Exit; + end; + end; + + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Factory'; + flagname:=''; + MainType:='PBFactory'; + if ShowModal=1 then + begin + with Order_Sub do + begin + Edit; + FieldByName('FactoryNoName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutPB.v1Column10PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Factory'; + flagname:=''; + MainType:='PBFactory'; + if ShowModal=1 then + begin + with Order_Sub do + begin + Edit; + FieldByName('Sdefstr2').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +end. diff --git a/打卷检验管理/U_ClothContractInPutSX.dfm b/打卷检验管理/U_ClothContractInPutSX.dfm new file mode 100644 index 0000000..bbaee2c --- /dev/null +++ b/打卷检验管理/U_ClothContractInPutSX.dfm @@ -0,0 +1,633 @@ +object frmClothContractInPutSX: TfrmClothContractInPutSX + Left = 198 + Top = 112 + Width = 831 + Height = 622 + Caption = #32433#32447#35746#36141#21512#21516#24405#20837 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 823 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = TBSaveClick + end + object TBClose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object ScrollBox1: TScrollBox + Left = 0 + Top = 29 + Width = 823 + Height = 250 + Align = alTop + BevelInner = bvNone + BevelOuter = bvNone + Ctl3D = False + ParentCtl3D = False + TabOrder = 1 + object Label1: TLabel + Left = 24 + Top = 14 + Width = 65 + Height = 12 + Caption = #21512#21516#32534#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 546 + Top = 46 + Width = 65 + Height = 12 + Caption = #20132#36135#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 295 + Top = 14 + Width = 67 + Height = 12 + Caption = #20379' '#26041#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 24 + Top = 46 + Width = 65 + Height = 12 + Caption = #31614#35746#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 546 + Top = 14 + Width = 67 + Height = 12 + Caption = #38656' '#26041#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 295 + Top = 46 + Width = 65 + Height = 12 + Caption = #31614#35746#22320#28857#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 298 + Top = 90 + Width = 65 + Height = 12 + Caption = #20132#36135#22320#28857#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 24 + Top = 78 + Width = 65 + Height = 36 + Caption = #20379#36135#36136#37327#13#10' '#21450#13#10#25216#26415#26631#20934#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 544 + Top = 78 + Width = 65 + Height = 36 + Caption = #36816#36755#26041#24335#13#10' '#21450#13#10#36153#29992#25215#25285#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 24 + Top = 138 + Width = 65 + Height = 12 + Caption = #21253#35013#35201#27714#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 298 + Top = 138 + Width = 65 + Height = 12 + Caption = #32467#31639#26041#24335#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 24 + Top = 178 + Width = 195 + Height = 12 + Caption = #39564#25910#26631#20934#12289#26041#27861#21450#25552#20986#24322#35758#26399#38480#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 24 + Top = 210 + Width = 91 + Height = 12 + Caption = #20854#23427#32422#23450#20107#39033#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object ConNo: TEdit + Left = 86 + Top = 11 + Width = 180 + Height = 18 + TabOrder = 0 + OnKeyPress = ConNoKeyPress + end + object DeliveryDate: TDateTimePicker + Left = 609 + Top = 42 + Width = 177 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + TabOrder = 1 + end + object FactoryNoName: TcxButtonEdit + Left = 359 + Top = 10 + Hint = 'FactoryNo' + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = FactoryNoNamePropertiesButtonClick + Properties.OnChange = FactoryNoNamePropertiesChange + TabOrder = 2 + OnKeyDown = PRTCodeNameKeyDown + Width = 162 + end + object PanZDY: TPanel + Left = 841 + Top = 128 + Width = 202 + Height = 153 + TabOrder = 3 + Visible = False + object CXGridZDY: TcxGrid + Left = 3 + Top = 4 + Width = 197 + Height = 113 + TabOrder = 0 + object TVZDY: TcxGridDBTableView + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TVZDYCellDblClick + DataController.DataSource = DataSource2 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + object VHelpZDYName: TcxGridDBColumn + DataBinding.FieldName = 'ZDYName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.handBlack + Width = 163 + IsCaptionAssigned = True + end + end + object CXGridZDYLevel1: TcxGridLevel + GridView = TVZDY + end + end + object Button1: TButton + Left = 64 + Top = 120 + Width = 65 + Height = 25 + Caption = #20851#38381 + TabOrder = 1 + OnClick = Button1Click + end + end + object QDTime: TDateTimePicker + Left = 86 + Top = 42 + Width = 183 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + TabOrder = 4 + end + object CompanyName: TcxButtonEdit + Left = 609 + Top = 10 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = CompanyNamePropertiesButtonClick + TabOrder = 5 + OnKeyDown = PRTCodeNameKeyDown + Width = 177 + end + object QDPalce: TEdit + Left = 359 + Top = 43 + Width = 161 + Height = 18 + TabOrder = 6 + end + object JHPlace: TcxButtonEdit + Left = 361 + Top = 86 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = JHPlacePropertiesButtonClick + TabOrder = 7 + Width = 162 + end + object ConTK1: TcxButtonEdit + Left = 86 + Top = 86 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTK1PropertiesButtonClick + TabOrder = 8 + Width = 183 + end + object ConTk2: TcxButtonEdit + Left = 609 + Top = 86 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTk2PropertiesButtonClick + TabOrder = 9 + Width = 179 + end + object ConTK3: TcxButtonEdit + Left = 86 + Top = 134 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTK3PropertiesButtonClick + TabOrder = 10 + Width = 184 + end + object ConTK4: TcxButtonEdit + Left = 361 + Top = 134 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTK4PropertiesButtonClick + TabOrder = 11 + Width = 162 + end + object ConTK5: TcxButtonEdit + Left = 216 + Top = 174 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTK5PropertiesButtonClick + TabOrder = 12 + Width = 576 + end + object ConTk6: TcxButtonEdit + Left = 110 + Top = 206 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTk6PropertiesButtonClick + TabOrder = 13 + Width = 683 + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 279 + Width = 823 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentFont = False + ShowCaptions = True + TabOrder = 2 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton2Click + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 308 + Width = 823 + Height = 277 + Align = alClient + TabOrder = 3 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'C_Code' + Column = v1Column1 + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + object v1Column3: TcxGridDBColumn + Caption = #20379#26041 + DataBinding.FieldName = 'FactoryNoName' + Width = 112 + end + object v1Column1: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 100 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684#22411#21495 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 103 + end + object v1Price: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'Price' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.handBlack + Width = 58 + end + object v1ClothQty: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v1ClothQtyPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 69 + end + object v1ClothUnit: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'C_Qty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.handBlack + Width = 69 + end + object v1Column2: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'C_Unit' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.DropDownListStyle = lsFixedList + Properties.Items.Strings = ( + 'M' + 'Kg') + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 64 + end + object v1Column4: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 85 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object ADOTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 384 + Top = 13 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 520 + Top = 5 + end + object DataSource1: TDataSource + DataSet = Order_Sub + Left = 344 + Top = 376 + end + object Order_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 384 + Top = 376 + end + object DataSource2: TDataSource + DataSet = ADOZDY + Left = 240 + Top = 8 + end + object ADOZDY: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 280 + Top = 5 + end + object CDS_ZDY: TClientDataSet + Aggregates = <> + Params = <> + Left = 208 + Top = 16 + end + object ADOQuery1: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 456 + Top = 13 + end +end diff --git a/打卷检验管理/U_ClothContractInPutSX.pas b/打卷检验管理/U_ClothContractInPutSX.pas new file mode 100644 index 0000000..fbf393f --- /dev/null +++ b/打卷检验管理/U_ClothContractInPutSX.pas @@ -0,0 +1,854 @@ +unit U_ClothContractInPutSX; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxClasses, cxControls, + cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, + cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, + ExtCtrls, BtnEdit, cxDropDownEdit; + +type + TfrmClothContractInPutSX = class(TForm) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ScrollBox1: TScrollBox; + Label1: TLabel; + ConNo: TEdit; + Label4: TLabel; + DeliveryDate: TDateTimePicker; + Label5: TLabel; + ToolBar2: TToolBar; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1PRTSpec: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1ClothQty: TcxGridDBColumn; + v1Price: TcxGridDBColumn; + v1ClothUnit: TcxGridDBColumn; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + DataSource1: TDataSource; + Order_Sub: TClientDataSet; + DataSource2: TDataSource; + ADOZDY: TADOQuery; + CDS_ZDY: TClientDataSet; + FactoryNoName: TcxButtonEdit; + ADOQuery1: TADOQuery; + v1Column1: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + PanZDY: TPanel; + CXGridZDY: TcxGrid; + TVZDY: TcxGridDBTableView; + VHelpZDYName: TcxGridDBColumn; + CXGridZDYLevel1: TcxGridLevel; + Button1: TButton; + v1Column4: TcxGridDBColumn; + Label2: TLabel; + QDTime: TDateTimePicker; + Label3: TLabel; + CompanyName: TcxButtonEdit; + Label6: TLabel; + QDPalce: TEdit; + Label8: TLabel; + JHPlace: TcxButtonEdit; + Label7: TLabel; + ConTK1: TcxButtonEdit; + Label9: TLabel; + ConTk2: TcxButtonEdit; + Label10: TLabel; + ConTK3: TcxButtonEdit; + Label11: TLabel; + ConTK4: TcxButtonEdit; + Label12: TLabel; + ConTK5: TcxButtonEdit; + Label13: TLabel; + ConTk6: TcxButtonEdit; + v1Column3: TcxGridDBColumn; + procedure TBCloseClick(Sender: TObject); + procedure TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button1Click(Sender: TObject); + procedure PRTCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); + procedure TVZDYKeyPress(Sender: TObject; var Key: Char); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PRTUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure FactoryNoNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PRTMFPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1OrderQtyPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1ClothQtyPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column2PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure FactoryNoNamePropertiesChange(Sender: TObject); + procedure CompanyNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure JHPlacePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTK1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTK3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTK4PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTK5PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTk6PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTk2PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConNoKeyPress(Sender: TObject; var Key: Char); + private + FXS:Integer; + procedure InitData(); + procedure ZDYHelp(FButn:TcxButtonEdit;LType:string); + function SaveData():Boolean; + { Private declarations } + public + PState:Integer; + FMainId,FConNo:String; + { Public declarations } + end; + +var + frmClothContractInPutSX: TfrmClothContractInPutSX; + +implementation +uses + U_DataLink,U_ZDYHelp,U_Fun; + +{$R *.dfm} + +procedure TfrmClothContractInPutSX.TBCloseClick(Sender: TObject); +begin + Close; +end; + +procedure TfrmClothContractInPutSX.InitData(); +begin + with ADOQuery1 do + begin + Close; + SQL.Clear; + sql.Add(' exec ClothContractSX_QryList :MainId,:WSql'); + if PState=1 then + begin + ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(FMainId); + ADOQuery1.Parameters.ParamByName('WSQl').Value:=''; + end; + if PState=0 then + begin + ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(FMainId); + ADOQuery1.Parameters.ParamByName('WSql').Value:=' and 1<>1 '; + end; + Open; + end; + SCreateCDS20(ADOQuery1,Order_Sub); + SInitCDSData20(ADOQuery1,Order_Sub); + SCSHData(ADOQuery1,ScrollBox1,0); + if PState=0 then + begin + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1* from ContractSX_Main order by FillTime desc '); + Open; + end; + QDTime.DateTime:=SGetServerDate(ADOTemp); + DeliveryDate.DateTime:=SGetServerDate(ADOTemp); + QDTime.Checked:=True; + DeliveryDate.Checked:=False; + QDPalce.Text:=''; + end; + PanZDY.Visible:=False; +end; + +procedure TfrmClothContractInPutSX.ZDYHelp(FButn:TcxButtonEdit;LType:string); +var + FType,ZDYName,FText:String; +begin + PanZDY.Visible:=True; + PanZDY.Left:=FButn.Left; + PanZDY.Top:=FButn.Top+FButn.Height; + with ADOZDY do + begin + Filtered:=False; + Close; + SQL.Clear; + SQL.Add('select RTrim(ZDYNo) ZDYNo,RTrim(ZDYName) ZDYName from KH_ZDY where Type='''+Trim(LType)+''''); + Open; + end; + FText:=Trim(FButn.Text); + if FText<>'' then + SDofilter(ADOZDY,' ZDYName like '+QuotedStr('%'+Trim(FText)+'%')) + else + SDofilter(ADOZDY,''); + VHelpZDYName.Summary.GroupFormat:=Trim(FButn.Name); +end; + +procedure TfrmClothContractInPutSX.TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + FName:string; +begin + if ADOZDY.IsEmpty then Exit; + FName:=Trim(VHelpZDYName.Summary.GroupFormat); + TcxButtonEdit(FindComponent(FName)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(FName)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; +end; + +procedure TfrmClothContractInPutSX.Button1Click(Sender: TObject); +begin + PanZDY.Visible:=False; +end; + +procedure TfrmClothContractInPutSX.PRTCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); +begin + {if (key=vk_return) or (Key=vk_Down) then + begin + if ADOZDY.Active then + CXGridZDY.SetFocus; + end; } +end; + +procedure TfrmClothContractInPutSX.TVZDYKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + if ADOZDY.IsEmpty then Exit; + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; + ADOZDY.Active:=False; + end; +end; + +procedure TfrmClothContractInPutSX.FormShow(Sender: TObject); +begin + {if Trim(DParameters1)='1' then + begin + v1Price.Visible:=False; + v1ClothQty.Visible:=False; + v1PRTQty.Visible:=False; + end else + begin + v1Price.Visible:=True; + v1ClothQty.Visible:=True; + v1PRTQty.Visible:=True; + end; } + InitData(); +end; + +function TfrmClothContractInPutSX.SaveData():Boolean; +var + maxno:String; +begin + try + ADOCmd.Connection.BeginTrans; + /// + if Trim(FMainId)='' then + begin + if GetLSNo(ADOCmd,maxno,'SM','ContractSX_Main',2,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ˮ쳣','ʾ',0); + exit; + end; + end else + begin + maxno:=Trim(FMainId); + end; + + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from ContractSX_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMainId)='' then + begin + Append; + + end + else begin + + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + SSetsaveSql(ADOCmd,'ContractSX_Main',ScrollBox1,0); + if Trim(FMainId)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + Post; + end; + FMainId:=Trim(maxno); + ///ӱ + with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'SS','ContractSX_Sub',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from ContractSX_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add(' and SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,Tv1,Order_Sub,'ContractSX_Sub',0); + if Trim(Order_Sub.fieldbyname('C_Qty').AsString)='' then + begin + FieldByName('C_Qty').Value:=0; + end; + if Trim(Order_Sub.fieldbyname('Price').AsString)='' then + begin + FieldByName('Price').Value:=0; + end; + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + +procedure TfrmClothContractInPutSX.TBSaveClick(Sender: TObject); +begin + DeliveryDate.SetFocus; + if Trim(ConNo.Text)='' then + begin + Application.MessageBox('ͬŲΪգ','ʾ',0); + Exit; + end; + if Trim(FactoryNoName.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if Order_Sub.IsEmpty then + begin + Application.MessageBox('ϸΪգ','ʾ',0); + exit; + end; + if Order_Sub.Locate('C_Qty',null,[]) then + begin + Application.MessageBox('Ϊ!','ʾ',0); + Exit; + end; + if Order_Sub.Locate('C_Unit',null,[]) then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; + if PState=1 then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from ContractSX_Cloth_DH where MainId='''+Trim(FMainId)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + if Trim(FConNo)<>Trim(ConNo.Text) then + begin + Application.MessageBox('Ѿ޸ĺͬ!','ʾ',0); + Exit; + end; + end; + end; + if SaveData() then + begin + Application.MessageBox('ɹ','ʾ',0); + end; +end; + +procedure TfrmClothContractInPutSX.v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('OrderUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSX.v1PRTUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PRTUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSX.v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdColor'; + flagname:='ɫ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PRTColor').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSX.ToolButton1Click(Sender: TObject); +begin + with Order_Sub do + begin + Append; + Post; + end; +end; + +procedure TfrmClothContractInPutSX.ToolButton2Click(Sender: TObject); +begin + if Order_Sub.IsEmpty then Exit; + if Trim(Order_Sub.fieldbyname('SubId').AsString)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub_MX where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + Application.MessageBox('ѵɾ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Sub where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; + Order_Sub.Delete; +end; + +procedure TfrmClothContractInPutSX.FactoryNoNamePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + if Trim(FMainId)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR A where exists('); + sql.Add('select * from ContractSX_Sub_MX B inner join Contract_Sub C on B.SubId=C.SubId '); + sql.Add(' where C.Mainid='''+Trim(FMainId)+''''); + sql.Add(' and B.MXID=A.YFTypeId)'); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + Application.MessageBox('ѾӦ޸ĹӦ!','ʾ',0); + Exit; + end; + end; + + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Factory'; + flagname:=''; + MainType:='YCLFactory'; + if ShowModal=1 then + begin + FXS:=99; + FactoryNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + FactoryNoName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSX.v1Column1PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ClothSX'; + flagname:='ɴ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('C_CodeName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + Self.Order_Sub.FieldByName('C_Code').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSX.v1PRTMFPropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='KZ'; + flagname:='صλ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('KZUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSX.v1OrderQtyPropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='MF'; + flagname:='ŷλ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('MFUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSX.v1ClothQtyPropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='PriceUnit'; + flagname:='Ƽ۵λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PriceUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSX.v1Column2PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrderUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('C_Unit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSX.FactoryNoNamePropertiesChange( + Sender: TObject); +begin + {if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(FactoryNoName,'FactoryNo1Name'); } +end; + +procedure TfrmClothContractInPutSX.CompanyNamePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdDefStr2'; + flagname:='跽'; + if ShowModal=1 then + begin + FXS:=99; + CompanyName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSX.JHPlacePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='JHPlace'; + flagname:='ص'; + if ShowModal=1 then + begin + JHPlace.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSX.ConTK1PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK1'; + flagname:='׼'; + if ShowModal=1 then + begin + ConTK1.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSX.ConTK3PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK3'; + flagname:='װҪ'; + if ShowModal=1 then + begin + ConTK3.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSX.ConTK4PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK4'; + flagname:='㷽ʽ'; + if ShowModal=1 then + begin + ConTK4.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSX.ConTK5PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK5'; + flagname:='ձ׼'; + if ShowModal=1 then + begin + ConTK5.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSX.ConTk6PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK6'; + flagname:='Լ'; + if ShowModal=1 then + begin + ConTK6.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSX.ConTk2PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK2'; + flagname:='䷽óе'; + if ShowModal=1 then + begin + ConTK2.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSX.ConNoKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Trim(ConNo.Text)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from JYOrder_Main where OrderNo='''+Trim(ConNo.Text)+''''); + Open; + end; + FactoryNoName.Text:=Trim(ADOTemp.fieldbyname('YCLFactory').AsString); + end; + end; +end; + +end. diff --git a/打卷检验管理/U_ClothContractInPutSXMX.dfm b/打卷检验管理/U_ClothContractInPutSXMX.dfm new file mode 100644 index 0000000..74b5a62 --- /dev/null +++ b/打卷检验管理/U_ClothContractInPutSXMX.dfm @@ -0,0 +1,647 @@ +object frmClothContractInPutSXMX: TfrmClothContractInPutSXMX + Left = 198 + Top = 90 + Width = 831 + Height = 622 + Caption = #32433#32447#35746#36141#21512#21516#24405#20837 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 815 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = TBSaveClick + end + object TBClose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object ScrollBox1: TScrollBox + Left = 0 + Top = 29 + Width = 815 + Height = 220 + Align = alTop + BevelInner = bvNone + BevelOuter = bvNone + Ctl3D = False + ParentCtl3D = False + TabOrder = 1 + object Label1: TLabel + Left = 24 + Top = 14 + Width = 65 + Height = 12 + Caption = #21512#21516#32534#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 290 + Top = 46 + Width = 65 + Height = 12 + Caption = #20132#36135#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 511 + Top = 222 + Width = 67 + Height = 12 + Caption = #20379' '#26041#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label2: TLabel + Left = 552 + Top = 14 + Width = 65 + Height = 12 + Caption = #31614#35746#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 290 + Top = 14 + Width = 67 + Height = 12 + Caption = #38656' '#26041#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 24 + Top = 46 + Width = 65 + Height = 12 + Caption = #31614#35746#22320#28857#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 552 + Top = 42 + Width = 65 + Height = 12 + Caption = #20132#36135#22320#28857#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 24 + Top = 68 + Width = 65 + Height = 36 + Caption = #20379#36135#36136#37327#13#10' '#21450#13#10#25216#26415#26631#20934#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 552 + Top = 68 + Width = 65 + Height = 36 + Caption = #36816#36755#26041#24335#13#10' '#21450#13#10#36153#29992#25215#25285#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 24 + Top = 118 + Width = 65 + Height = 12 + Caption = #21253#35013#35201#27714#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 290 + Top = 80 + Width = 65 + Height = 12 + Caption = #32467#31639#26041#24335#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 24 + Top = 154 + Width = 195 + Height = 12 + Caption = #39564#25910#26631#20934#12289#26041#27861#21450#25552#20986#24322#35758#26399#38480#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 24 + Top = 190 + Width = 91 + Height = 12 + Caption = #20854#23427#32422#23450#20107#39033#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object ConNo: TEdit + Left = 86 + Top = 11 + Width = 180 + Height = 18 + TabOrder = 0 + OnKeyPress = ConNoKeyPress + end + object DeliveryDate: TDateTimePicker + Left = 353 + Top = 42 + Width = 177 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + TabOrder = 1 + end + object FactoryNoName: TcxButtonEdit + Tag = 77 + Left = 575 + Top = 218 + Hint = 'FactoryNo' + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = FactoryNoNamePropertiesButtonClick + Properties.OnChange = FactoryNoNamePropertiesChange + TabOrder = 2 + Visible = False + OnKeyDown = PRTCodeNameKeyDown + Width = 162 + end + object PanZDY: TPanel + Left = 841 + Top = 128 + Width = 202 + Height = 153 + TabOrder = 3 + Visible = False + object CXGridZDY: TcxGrid + Left = 3 + Top = 4 + Width = 197 + Height = 113 + TabOrder = 0 + object TVZDY: TcxGridDBTableView + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TVZDYCellDblClick + DataController.DataSource = DataSource2 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + object VHelpZDYName: TcxGridDBColumn + DataBinding.FieldName = 'ZDYName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.handBlack + Width = 163 + IsCaptionAssigned = True + end + end + object CXGridZDYLevel1: TcxGridLevel + GridView = TVZDY + end + end + object Button1: TButton + Left = 64 + Top = 120 + Width = 65 + Height = 25 + Caption = #20851#38381 + TabOrder = 1 + OnClick = Button1Click + end + end + object QDTime: TDateTimePicker + Left = 614 + Top = 10 + Width = 162 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + TabOrder = 4 + end + object CompanyName: TcxButtonEdit + Left = 353 + Top = 10 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = CompanyNamePropertiesButtonClick + TabOrder = 5 + OnKeyDown = PRTCodeNameKeyDown + Width = 177 + end + object QDPalce: TEdit + Left = 86 + Top = 43 + Width = 179 + Height = 18 + TabOrder = 6 + Text = #26607#26725 + end + object JHPlace: TcxButtonEdit + Left = 614 + Top = 38 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = JHPlacePropertiesButtonClick + TabOrder = 7 + Width = 162 + end + object ConTK1: TcxButtonEdit + Left = 86 + Top = 76 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTK1PropertiesButtonClick + TabOrder = 8 + Width = 183 + end + object ConTk2: TcxButtonEdit + Left = 614 + Top = 76 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTk2PropertiesButtonClick + TabOrder = 9 + Width = 162 + end + object ConTK3: TcxButtonEdit + Left = 86 + Top = 114 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTK3PropertiesButtonClick + TabOrder = 10 + Width = 691 + end + object ConTK4: TcxButtonEdit + Left = 353 + Top = 76 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTK4PropertiesButtonClick + TabOrder = 11 + Width = 177 + end + object ConTK5: TcxButtonEdit + Left = 216 + Top = 150 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTK5PropertiesButtonClick + TabOrder = 12 + Width = 563 + end + object ConTk6: TcxButtonEdit + Left = 110 + Top = 186 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = ConTk6PropertiesButtonClick + TabOrder = 13 + Width = 669 + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 249 + Width = 815 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentFont = False + ShowCaptions = True + TabOrder = 2 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton2Click + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 278 + Width = 815 + Height = 305 + Align = alClient + TabOrder = 3 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'C_Code' + Column = v1Column1 + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + object v1Column3: TcxGridDBColumn + Tag = 1 + Caption = #20379#26041 + DataBinding.FieldName = 'FactoryNoName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v1Column3PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 117 + end + object v1Column1: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 100 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684#22411#21495 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 103 + end + object v1Price: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'Price' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.handBlack + Width = 58 + end + object v1ClothQty: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v1ClothQtyPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 69 + end + object v1ClothUnit: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'C_Qty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.handBlack + Width = 69 + end + object v1Column2: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'C_Unit' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.DropDownListStyle = lsFixedList + Properties.ImmediatePost = True + Properties.Items.Strings = ( + 'M' + 'Kg') + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v1Column4: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 85 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object ADOTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 384 + Top = 65533 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 520 + Top = 5 + end + object DataSource1: TDataSource + DataSet = Order_Sub + Left = 344 + Top = 376 + end + object Order_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 384 + Top = 376 + end + object DataSource2: TDataSource + DataSet = ADOZDY + Left = 240 + end + object ADOZDY: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 280 + Top = 65533 + end + object CDS_ZDY: TClientDataSet + Aggregates = <> + Params = <> + Left = 208 + end + object ADOQuery1: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 456 + Top = 5 + end +end diff --git a/打卷检验管理/U_ClothContractInPutSXMX.pas b/打卷检验管理/U_ClothContractInPutSXMX.pas new file mode 100644 index 0000000..1d2366c --- /dev/null +++ b/打卷检验管理/U_ClothContractInPutSXMX.pas @@ -0,0 +1,931 @@ +unit U_ClothContractInPutSXMX; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxClasses, cxControls, + cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, + cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, + ExtCtrls, BtnEdit, cxDropDownEdit; + +type + TfrmClothContractInPutSXMX = class(TForm) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ScrollBox1: TScrollBox; + Label1: TLabel; + ConNo: TEdit; + Label4: TLabel; + DeliveryDate: TDateTimePicker; + Label5: TLabel; + ToolBar2: TToolBar; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1PRTSpec: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1ClothQty: TcxGridDBColumn; + v1Price: TcxGridDBColumn; + v1ClothUnit: TcxGridDBColumn; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + DataSource1: TDataSource; + Order_Sub: TClientDataSet; + DataSource2: TDataSource; + ADOZDY: TADOQuery; + CDS_ZDY: TClientDataSet; + FactoryNoName: TcxButtonEdit; + ADOQuery1: TADOQuery; + v1Column1: TcxGridDBColumn; + PanZDY: TPanel; + CXGridZDY: TcxGrid; + TVZDY: TcxGridDBTableView; + VHelpZDYName: TcxGridDBColumn; + CXGridZDYLevel1: TcxGridLevel; + Button1: TButton; + v1Column4: TcxGridDBColumn; + Label2: TLabel; + QDTime: TDateTimePicker; + Label3: TLabel; + CompanyName: TcxButtonEdit; + Label6: TLabel; + QDPalce: TEdit; + Label8: TLabel; + JHPlace: TcxButtonEdit; + Label7: TLabel; + ConTK1: TcxButtonEdit; + Label9: TLabel; + ConTk2: TcxButtonEdit; + Label10: TLabel; + ConTK3: TcxButtonEdit; + Label11: TLabel; + ConTK4: TcxButtonEdit; + Label12: TLabel; + ConTK5: TcxButtonEdit; + Label13: TLabel; + ConTk6: TcxButtonEdit; + v1Column3: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + procedure TBCloseClick(Sender: TObject); + procedure TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button1Click(Sender: TObject); + procedure PRTCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); + procedure TVZDYKeyPress(Sender: TObject; var Key: Char); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PRTUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure FactoryNoNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PRTMFPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1OrderQtyPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1ClothQtyPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column2PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure FactoryNoNamePropertiesChange(Sender: TObject); + procedure CompanyNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure JHPlacePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTK1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTK3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTK4PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTK5PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTk6PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConTk2PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConNoKeyPress(Sender: TObject; var Key: Char); + procedure v1Column3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + private + FXS:Integer; + procedure InitData(); + procedure ZDYHelp(FButn:TcxButtonEdit;LType:string); + function SaveData():Boolean; + { Private declarations } + public + PState,PCopyInt:Integer; + FMainId,FConNo:String; + + { Public declarations } + end; + +var + frmClothContractInPutSXMX: TfrmClothContractInPutSXMX; + +implementation +uses + U_DataLink,U_ZDYHelp,U_Fun; + +{$R *.dfm} + +procedure TfrmClothContractInPutSXMX.TBCloseClick(Sender: TObject); +begin + Close; +end; + +procedure TfrmClothContractInPutSXMX.InitData(); +begin + with ADOQuery1 do + begin + Close; + SQL.Clear; + sql.Add(' exec ClothContractSX_QryList :MainId,:WSql'); + if PState=1 then + begin + ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(FMainId); + ADOQuery1.Parameters.ParamByName('WSQl').Value:=''; + end; + if PState=0 then + begin + ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(FMainId); + ADOQuery1.Parameters.ParamByName('WSql').Value:=' and 1<>1 '; + end; + Open; + end; + SCreateCDS20(ADOQuery1,Order_Sub); + SInitCDSData20(ADOQuery1,Order_Sub); + SCSHData(ADOQuery1,ScrollBox1,0); + if PState=0 then + begin + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1* from ContractSX_Main order by FillTime desc '); + Open; + end; + QDTime.DateTime:=SGetServerDate(ADOTemp); + DeliveryDate.DateTime:=SGetServerDate(ADOTemp); + QDTime.Checked:=True; + DeliveryDate.Checked:=False; + QDPalce.Text:=''; + end; + PanZDY.Visible:=False; +end; + +procedure TfrmClothContractInPutSXMX.ZDYHelp(FButn:TcxButtonEdit;LType:string); +var + FType,ZDYName,FText:String; +begin + PanZDY.Visible:=True; + PanZDY.Left:=FButn.Left; + PanZDY.Top:=FButn.Top+FButn.Height; + with ADOZDY do + begin + Filtered:=False; + Close; + SQL.Clear; + SQL.Add('select RTrim(ZDYNo) ZDYNo,RTrim(ZDYName) ZDYName from KH_ZDY where Type='''+Trim(LType)+''''); + Open; + end; + FText:=Trim(FButn.Text); + if FText<>'' then + SDofilter(ADOZDY,' ZDYName like '+QuotedStr('%'+Trim(FText)+'%')) + else + SDofilter(ADOZDY,''); + VHelpZDYName.Summary.GroupFormat:=Trim(FButn.Name); +end; + +procedure TfrmClothContractInPutSXMX.TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + FName:string; +begin + if ADOZDY.IsEmpty then Exit; + FName:=Trim(VHelpZDYName.Summary.GroupFormat); + TcxButtonEdit(FindComponent(FName)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(FName)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; +end; + +procedure TfrmClothContractInPutSXMX.Button1Click(Sender: TObject); +begin + PanZDY.Visible:=False; +end; + +procedure TfrmClothContractInPutSXMX.PRTCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); +begin + {if (key=vk_return) or (Key=vk_Down) then + begin + if ADOZDY.Active then + CXGridZDY.SetFocus; + end; } +end; + +procedure TfrmClothContractInPutSXMX.TVZDYKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + if ADOZDY.IsEmpty then Exit; + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; + ADOZDY.Active:=False; + end; +end; + +procedure TfrmClothContractInPutSXMX.FormShow(Sender: TObject); +begin + {if Trim(DParameters1)='1' then + begin + v1Price.Visible:=False; + v1ClothQty.Visible:=False; + v1PRTQty.Visible:=False; + end else + begin + v1Price.Visible:=True; + v1ClothQty.Visible:=True; + v1PRTQty.Visible:=True; + end; } + InitData(); + if PCopyInt=1 then + begin + FMainId:=''; + FConNo:=''; + ConNo.Text:=''; + with Order_Sub do + begin + First; + while not Eof do + begin + Edit; + FieldByName('SubId').Value:=''; + Post; + Next; + end; + end; + end; +end; + +function TfrmClothContractInPutSXMX.SaveData():Boolean; +var + maxno,maxSubNo:String; +begin + try + ADOCmd.Connection.BeginTrans; + ///ӱ + with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'SM','ContractSX_Main',2,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ˮ쳣','ʾ',0); + exit; + end; + end else + begin + maxno:=Trim(FMainId); + end; + + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from ContractSX_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + Append; + end + else begin + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + SSetsaveSql(ADOCmd,'ContractSX_Main',ScrollBox1,0); + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + FieldByName('FactoryNoName').Value:=Trim(Order_Sub.fieldbyname('FactoryNoName').AsString); + Post; + end; + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOCmd,maxSubNo,'SS','ContractSX_Sub',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxSubNo:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from ContractSX_Sub where MainId='''+Trim(maxno)+''''); + sql.Add(' and SubId='''+Trim(maxSubNo)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + ADOCmd.Append + else + ADOCmd.Edit; + FieldByName('MainId').Value:=Trim(maxno); + FieldByName('SubId').Value:=Trim(maxSubNo); + FieldByName('C_Unit').Value:=Trim(Order_Sub.fieldbyname('C_Unit').AsString); + SSetSaveDataCDSNew(ADOCmd,Tv1,Order_Sub,'ContractSX_Sub',0); + if Trim(Order_Sub.fieldbyname('C_Qty').AsString)='' then + begin + FieldByName('C_Qty').Value:=0; + end; + if Trim(Order_Sub.fieldbyname('Price').AsString)='' then + begin + FieldByName('Price').Value:=0; + end; + ADOCmd.FieldByName('C_Unit').Value:=Trim(Order_Sub.fieldbyname('C_Unit').AsString); + ADOCmd.Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxSubNo); + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update ContractSX_Sub Set C_Unit='''+Trim(Order_Sub.fieldbyname('C_Unit').AsString)+''''); + sql.Add(' where Subid='''+Trim(Order_Sub.fieldbyname('Subid').AsString)+''''); + ExecSQL; + end; + //Order_Sub.Post; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + +procedure TfrmClothContractInPutSXMX.TBSaveClick(Sender: TObject); +begin + DeliveryDate.SetFocus; + if Trim(ConNo.Text)='' then + begin + Application.MessageBox('ͬŲΪգ','ʾ',0); + Exit; + end; + {if Trim(FactoryNoName.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; } + if Order_Sub.IsEmpty then + begin + Application.MessageBox('ϸΪգ','ʾ',0); + exit; + end; + if Order_Sub.Locate('C_Qty',null,[]) then + begin + Application.MessageBox('Ϊ!','ʾ',0); + Exit; + end; + if Order_Sub.Locate('C_Unit',null,[]) then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; + if Order_Sub.Locate('FactoryNoName',null,[]) then + begin + Application.MessageBox('Ϊ!','ʾ',0); + Exit; + end; + if PState=1 then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from ContractSX_Cloth_DH where MainId='''+Trim(FMainId)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + if Trim(FConNo)<>Trim(ConNo.Text) then + begin + Application.MessageBox('Ѿ޸ĺͬ!','ʾ',0); + Exit; + end; + end; + end; + if SaveData() then + begin + Application.MessageBox('ɹ','ʾ',0); + ModalResult:=1; + end; + +end; + +procedure TfrmClothContractInPutSXMX.v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('OrderUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSXMX.v1PRTUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PRTUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSXMX.v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdColor'; + flagname:='ɫ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PRTColor').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSXMX.ToolButton1Click(Sender: TObject); +begin + with Order_Sub do + begin + Append; + Post; + end; +end; + +procedure TfrmClothContractInPutSXMX.ToolButton2Click(Sender: TObject); +begin + if Order_Sub.IsEmpty then Exit; + if Trim(Order_Sub.fieldbyname('SubId').AsString)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub_MX where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + Application.MessageBox('ѵɾ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Sub where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; + Order_Sub.Delete; +end; + +procedure TfrmClothContractInPutSXMX.FactoryNoNamePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + if Trim(FMainId)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR A where exists('); + sql.Add('select * from ContractSX_Sub_MX B inner join Contract_Sub C on B.SubId=C.SubId '); + sql.Add(' where C.Mainid='''+Trim(FMainId)+''''); + sql.Add(' and B.MXID=A.YFTypeId)'); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + Application.MessageBox('ѾӦ޸ĹӦ!','ʾ',0); + Exit; + end; + end; + + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Factory'; + flagname:=''; + MainType:='YCLFactory'; + if ShowModal=1 then + begin + FXS:=99; + FactoryNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + FactoryNoName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSXMX.v1Column1PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ClothSX'; + flagname:='ɴ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('C_CodeName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + Self.Order_Sub.FieldByName('C_Code').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSXMX.v1PRTMFPropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='KZ'; + flagname:='صλ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('KZUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSXMX.v1OrderQtyPropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='MF'; + flagname:='ŷλ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('MFUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSXMX.v1ClothQtyPropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='PriceUnit'; + flagname:='Ƽ۵λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PriceUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSXMX.v1Column2PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrderUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('C_Unit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSXMX.FactoryNoNamePropertiesChange( + Sender: TObject); +begin + {if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(FactoryNoName,'FactoryNo1Name'); } +end; + +procedure TfrmClothContractInPutSXMX.CompanyNamePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdDefStr2'; + flagname:='跽'; + if ShowModal=1 then + begin + FXS:=99; + CompanyName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSXMX.JHPlacePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='JHPlace'; + flagname:='ص'; + if ShowModal=1 then + begin + JHPlace.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSXMX.ConTK1PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK1'; + flagname:='׼'; + if ShowModal=1 then + begin + ConTK1.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSXMX.ConTK3PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK3'; + flagname:='װҪ'; + if ShowModal=1 then + begin + ConTK3.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSXMX.ConTK4PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK4'; + flagname:='㷽ʽ'; + if ShowModal=1 then + begin + ConTK4.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSXMX.ConTK5PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK5'; + flagname:='ձ׼'; + if ShowModal=1 then + begin + ConTK5.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSXMX.ConTk6PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK6'; + flagname:='Լ'; + if ShowModal=1 then + begin + ConTK6.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSXMX.ConTk2PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='ConTK2'; + flagname:='䷽óе'; + if ShowModal=1 then + begin + ConTK2.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractInPutSXMX.ConNoKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Trim(ConNo.Text)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from JYOrder_Main where OrderNo='''+Trim(ConNo.Text)+''''); + Open; + end; + FactoryNoName.Text:=Trim(ADOTemp.fieldbyname('YCLFactory').AsString); + end; + end; +end; + +procedure TfrmClothContractInPutSXMX.v1Column3PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + if Trim(FMainId)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR A where exists('); + sql.Add('select * from ContractSX_Sub_MX B inner join Contract_Sub C on B.SubId=C.SubId '); + sql.Add(' where C.Mainid='''+Trim(FMainId)+''''); + sql.Add(' and B.MXID=A.YFTypeId)'); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + Application.MessageBox('ѾӦ޸ĹӦ!','ʾ',0); + Exit; + end; + end; + + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Factory'; + flagname:=''; + MainType:='YCLFactory'; + if ShowModal=1 then + begin + with Order_Sub do + begin + Edit; + FieldByName('FactoryNoName').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +end. diff --git a/打卷检验管理/U_ClothContractKCList.dfm b/打卷检验管理/U_ClothContractKCList.dfm new file mode 100644 index 0000000..b97e94f --- /dev/null +++ b/打卷检验管理/U_ClothContractKCList.dfm @@ -0,0 +1,635 @@ +object frmClothContractKCList: TfrmClothContractKCList + Left = 100 + Top = 35 + Width = 1238 + Height = 653 + Caption = #22383#24067#24211#23384#27719#24635#26597#35810 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1222 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBClose: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1222 + Height = 54 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 22 + Width = 52 + Height = 12 + Caption = #30331#35760#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 161 + Top = 22 + Width = 18 + Height = 12 + Caption = '---' + end + object Label3: TLabel + Left = 283 + Top = 22 + Width = 52 + Height = 12 + Caption = #21512#21516#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 444 + Top = 22 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 612 + Top = 22 + Width = 26 + Height = 12 + Caption = #35268#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 748 + Top = 22 + Width = 39 + Height = 12 + Caption = #22383#24067#21378 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 892 + Top = 22 + Width = 26 + Height = 12 + Caption = #26579#21378 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 18 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 179 + Top = 18 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + TabOrder = 1 + end + object ConNo: TEdit + Tag = 2 + Left = 337 + Top = 18 + Width = 81 + Height = 20 + TabOrder = 2 + OnChange = ConNoChange + end + object C_CodeName: TEdit + Tag = 2 + Left = 497 + Top = 18 + Width = 83 + Height = 20 + TabOrder = 3 + OnChange = ConNoChange + end + object C_Spec: TEdit + Tag = 2 + Left = 640 + Top = 18 + Width = 83 + Height = 20 + TabOrder = 4 + OnChange = ConNoChange + end + object FactoryNoName: TEdit + Tag = 2 + Left = 792 + Top = 18 + Width = 83 + Height = 20 + TabOrder = 5 + OnChange = ConNoChange + end + object FirstName: TEdit + Tag = 2 + Left = 920 + Top = 18 + Width = 83 + Height = 20 + TabOrder = 6 + OnChange = ConNoChange + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 86 + Width = 1222 + Height = 529 + Align = alClient + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column6 + end + item + Kind = skSum + Column = v1Column3 + end + item + Kind = skSum + Column = v1Column7 + end + item + Kind = skSum + Column = v1Column8 + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column4 + end + item + Kind = skSum + Column = v1Column14 + end + item + Kind = skAverage + end + item + Kind = skAverage + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1OrderNo: TcxGridDBColumn + Caption = #21512#21516#32534#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 103 + end + object v1FactoryNo1Name: TcxGridDBColumn + Caption = #22383#24067#21378 + DataBinding.FieldName = 'FactoryNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 171 + end + object v1Column2: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 134 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 93 + end + object v1Column5: TcxGridDBColumn + Caption = #26579#21378 + DataBinding.FieldName = 'FirstName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 104 + end + object v1Column1: TcxGridDBColumn + Caption = #37319#36141#21305#25968 + DataBinding.FieldName = 'Qty1' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column9: TcxGridDBColumn + Caption = #37319#36141#25968#37327 + DataBinding.FieldName = 'C_Qty' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column19: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'C_unit' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column6: TcxGridDBColumn + Caption = #21040#36135#21305#25968 + DataBinding.FieldName = 'DHPS' + HeaderAlignmentHorz = taCenter + Width = 59 + end + object v1Column3: TcxGridDBColumn + Caption = #21040#36135#25968#37327 + DataBinding.FieldName = 'DHQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 64 + end + object v1Column4: TcxGridDBColumn + Caption = #25237#24067#21305#25968 + DataBinding.FieldName = 'TPPS' + HeaderAlignmentHorz = taCenter + Styles.Content = FontBlue + Styles.Footer = FontBlue + Styles.Header = FontBlue + Width = 58 + end + object v1Column14: TcxGridDBColumn + Caption = #25237#24067#25968#37327 + DataBinding.FieldName = 'TPQty' + HeaderAlignmentHorz = taCenter + Styles.Content = FontBlue + Styles.Footer = FontBlue + Styles.Header = FontBlue + Width = 59 + end + object v1Column7: TcxGridDBColumn + Caption = #24211#23384#21305#25968 + DataBinding.FieldName = 'KCPS' + HeaderAlignmentHorz = taCenter + Styles.Content = FoneRed + Styles.Footer = FoneRed + Styles.Header = FoneRed + Width = 61 + end + object v1Column8: TcxGridDBColumn + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'KCQty' + HeaderAlignmentHorz = taCenter + Styles.Content = FoneRed + Styles.Footer = FoneRed + Styles.Header = FoneRed + Width = 58 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 448 + Top = 168 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 936 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1000 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1040 + Top = 8 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 1168 + Top = 8 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 1096 + Top = 8 + end + object ClientDataSet3: TClientDataSet + Aggregates = <> + Params = <> + Left = 576 + Top = 168 + end + object DataSource2: TDataSource + DataSet = ClientDataSet2 + Left = 512 + Top = 168 + end + object DataSource3: TDataSource + DataSet = ClientDataSet3 + Left = 544 + Top = 168 + end + object ClientDataSet2: TClientDataSet + Aggregates = <> + Params = <> + Left = 480 + Top = 168 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 320 + Top = 168 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = Order_Main + Left = 352 + Top = 168 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 384 + Top = 168 + end + object cxGridPopupMenu2: TcxGridPopupMenu + PopupMenus = <> + Left = 416 + Top = 168 + end + object ThreeColorBase: TcxStyleRepository + Left = 139 + Top = 80 + object SHuangSe: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = 4707838 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + TextColor = clBtnText + end + object SkyBlue: TcxStyle + AssignedValues = [svColor, svFont] + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + end + object Default: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object QHuangSe: TcxStyle + AssignedValues = [svColor, svFont] + Color = 8454143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + end + object Red: TcxStyle + AssignedValues = [svColor, svFont] + Color = clRed + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + end + object FontBlue: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlue + end + object TextSHuangSe: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlack + end + object FonePurple: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindow + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlack + end + object FoneClMaroon: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clMaroon + end + object FoneRed: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clRed + end + object RowColor: TcxStyle + AssignedValues = [svColor] + Color = 16311512 + end + object handBlack: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxBlue: TcxStyle + AssignedValues = [svColor, svFont] + Color = 16711731 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + end + end +end diff --git a/打卷检验管理/U_ClothContractKCList.pas b/打卷检验管理/U_ClothContractKCList.pas new file mode 100644 index 0000000..6b0a810 --- /dev/null +++ b/打卷检验管理/U_ClothContractKCList.pas @@ -0,0 +1,202 @@ +unit U_ClothContractKCList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, + RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, + cxTextEdit; + +type + TfrmClothContractKCList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Label2: TLabel; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + ConNo: TEdit; + Label5: TLabel; + C_CodeName: TEdit; + Order_Main: TClientDataSet; + Label4: TLabel; + C_Spec: TEdit; + ClientDataSet3: TClientDataSet; + DataSource2: TDataSource; + DataSource3: TDataSource; + ClientDataSet2: TClientDataSet; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1FactoryNo1Name: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1Column3: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + cxGridPopupMenu2: TcxGridPopupMenu; + Label6: TLabel; + FactoryNoName: TEdit; + Label7: TLabel; + FirstName: TEdit; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + v1Column19: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + ThreeColorBase: TcxStyleRepository; + SHuangSe: TcxStyle; + SkyBlue: TcxStyle; + Default: TcxStyle; + QHuangSe: TcxStyle; + Red: TcxStyle; + FontBlue: TcxStyle; + TextSHuangSe: TcxStyle; + FonePurple: TcxStyle; + FoneClMaroon: TcxStyle; + FoneRed: TcxStyle; + RowColor: TcxStyle; + handBlack: TcxStyle; + cxBlue: TcxStyle; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + private + FInt,PFInt:Integer; + procedure InitGrid(); + procedure InitForm(); + procedure InitGridWSQL(FWSQL:String); + { Private declarations } + public + { Public declarations } + end; + +var + frmClothContractKCList: TfrmClothContractKCList; + +implementation +uses + U_DataLink,U_ClothContractInPut,U_Fun,U_ProductOrderList,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmClothContractKCList.FormDestroy(Sender: TObject); +begin + frmClothContractKCList:=nil; +end; + +procedure TfrmClothContractKCList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmClothContractKCList.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid(self.Caption+tv1.Name,Tv1,'ָʾ'); +end; + +procedure TfrmClothContractKCList.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec P_Get_PBKC :begdate,:enddate'); + Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.Date); + Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',EndDate.Date+1); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; +procedure TfrmClothContractKCList.InitGridWSQL(FWSQL:String); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec P_View_ClothHZ :begdate,:enddate,:WSQL'); + Parameters.ParamByName('begdate').Value:='1900-01-01'; + Parameters.ParamByName('enddate').Value:='2050-01-01'; + Parameters.ParamByName('WSQL').Value:=FWSQL; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmClothContractKCList.InitForm(); +begin + ReadCxGrid(self.Caption+tv1.Name,Tv1,'ָʾ'); + EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + BegDate.DateTime:=EndDate.DateTime-15; + InitGrid(); +end; + +procedure TfrmClothContractKCList.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + + + +procedure TfrmClothContractKCList.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmClothContractKCList.ConNoChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothContractKCList.FormShow(Sender: TObject); +begin + InitForm(); +end; + +end. diff --git a/打卷检验管理/U_ClothContractList.dfm b/打卷检验管理/U_ClothContractList.dfm new file mode 100644 index 0000000..dc315af --- /dev/null +++ b/打卷检验管理/U_ClothContractList.dfm @@ -0,0 +1,929 @@ +object frmClothContractList: TfrmClothContractList + Left = 111 + Top = 38 + Width = 1192 + Height = 699 + Caption = #22383#24067#37319#36141#21512#21516 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1184 + Height = 62 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 107 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBAdd: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 3 + OnClick = TBAddClick + end + object TBEdit: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #20462#25913 + ImageIndex = 54 + OnClick = TBEditClick + end + object TBDel: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 17 + OnClick = TBDelClick + end + object Tchk: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #23436#25104 + ImageIndex = 41 + OnClick = TchkClick + end + object TNochk: TToolButton + Left = 378 + Top = 0 + AutoSize = True + Caption = #25764#38144#23436#25104 + ImageIndex = 86 + Wrap = True + OnClick = TNochkClick + end + object TBExport: TToolButton + Left = 0 + Top = 30 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 63 + Top = 30 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + OnClick = TBPrintClick + end + object ToolButton6: TToolButton + Left = 126 + Top = 30 + Width = 48 + Caption = 'ToolButton6' + ImageIndex = 115 + Style = tbsSeparator + Visible = False + end + object TBClose: TToolButton + Left = 174 + Top = 30 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + object ToolButton1: TToolButton + Left = 237 + Top = 30 + Width = 41 + Caption = 'ToolButton1' + ImageIndex = 60 + Style = tbsSeparator + Visible = False + end + object ToolButton2: TToolButton + Left = 278 + Top = 30 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + Visible = False + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 341 + Top = 30 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + Visible = False + OnClick = ToolButton3Click + end + object ToolButton4: TToolButton + Left = 404 + Top = 30 + AutoSize = True + Caption = #21040#22383#30830#23450 + ImageIndex = 113 + Visible = False + OnClick = ToolButton4Click + end + object ToolButton5: TToolButton + Left = 491 + Top = 30 + Caption = #22383#24067#39046#26009#30830#23450 + ImageIndex = 114 + Visible = False + OnClick = ToolButton5Click + end + end + object Panel1: TPanel + Left = 0 + Top = 62 + Width = 1184 + Height = 54 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 21 + Top = 22 + Width = 52 + Height = 12 + Caption = #31614#35746#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 161 + Top = 22 + Width = 18 + Height = 12 + Caption = '---' + end + object Label3: TLabel + Left = 283 + Top = 22 + Width = 52 + Height = 12 + Caption = #21512#21516#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 444 + Top = 22 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 612 + Top = 22 + Width = 26 + Height = 12 + Caption = #35268#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 18 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 179 + Top = 18 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object ConNoM: TEdit + Tag = 2 + Left = 337 + Top = 18 + Width = 81 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnChange = ConNoMChange + OnKeyPress = conPress + end + object C_CodeNameM: TEdit + Tag = 2 + Left = 497 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + OnChange = ConNoMChange + end + object C_Spec: TEdit + Tag = 2 + Left = 640 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnChange = ConNoMChange + end + object Button1: TButton + Left = 760 + Top = 15 + Width = 75 + Height = 25 + Caption = #22686#34892 + TabOrder = 5 + Visible = False + OnClick = Button1Click + end + object Button2: TButton + Left = 856 + Top = 15 + Width = 75 + Height = 25 + Caption = #21024#34892 + TabOrder = 6 + Visible = False + OnClick = Button2Click + end + object Button3: TButton + Left = 952 + Top = 15 + Width = 75 + Height = 25 + Caption = #21040#22383#30830#23450 + TabOrder = 7 + Visible = False + OnClick = Button3Click + end + object Button4: TButton + Left = 1048 + Top = 15 + Width = 86 + Height = 25 + Caption = #22383#24067#39046#26009#30830#23450 + TabOrder = 8 + Visible = False + OnClick = Button4Click + end + end + object ScrollBox1: TScrollBox + Left = -172 + Top = 112 + Width = 1351 + Height = 545 + BorderStyle = bsNone + TabOrder = 2 + object cxGrid1: TcxGrid + Left = 0 + Top = 0 + Width = 815 + Height = 545 + Align = alClient + TabOrder = 0 + object Tv1: TcxGridDBTableView + OnMouseDown = Tv1MouseDown + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv1CellDblClick + OnCustomDrawCell = Tv1CustomDrawCell + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1C_Qty + end + item + Kind = skSum + Column = v1Price + end + item + Kind = skSum + Column = v1Money + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Deleting = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1OrderNo: TcxGridDBColumn + Caption = #21512#21516#32534#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 80 + end + object v1Column2: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 100 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DeliveryDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 75 + end + object v1Column5: TcxGridDBColumn + Caption = #31614#35746#26085#26399 + DataBinding.FieldName = 'QDTime' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 75 + end + object v1FactoryNo1Name: TcxGridDBColumn + Caption = #20379#26041 + DataBinding.FieldName = 'FactoryNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 100 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 80 + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'MFQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'KZQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object v1Qty1: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'Qty1' + HeaderAlignmentHorz = taCenter + Hidden = True + Styles.Header = DataLink_TradeManage.Default + Width = 50 + end + object v1C_Qty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'C_Qty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 50 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'C_Unit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 50 + end + object v1Price: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'Price' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object v1PriceUnit: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object v1Money: TcxGridDBColumn + Caption = #24635#20215 + DataBinding.FieldName = 'Money' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object v1Column3: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'Sdefstr1' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column6: TcxGridDBColumn + Caption = #35745#21010#32553#29575'(%)' + DataBinding.FieldName = 'Qty2' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column7: TcxGridDBColumn + Caption = #26579#21378 + DataBinding.FieldName = 'Sdefstr2' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column8: TcxGridDBColumn + Caption = #26579#21378#24037#33402 + DataBinding.FieldName = 'Sdefstr3' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column9: TcxGridDBColumn + Caption = #26579#21378#20215#26684 + DataBinding.FieldName = 'Sdefstr4' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column10: TcxGridDBColumn + Caption = #25351#31034#21333#21495 + DataBinding.FieldName = 'sdefstr5' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column11: TcxGridDBColumn + Caption = #24037#21378#32534#21495 + DataBinding.FieldName = 'sdefstr6' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column4: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object v1DHQty: TcxGridDBColumn + Caption = #21040#36135#21305#25968 + DataBinding.FieldName = 'DHQty' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object v1MXQty: TcxGridDBColumn + Caption = #21040#36135#25968#37327 + DataBinding.FieldName = 'MXQty' + HeaderAlignmentHorz = taCenter + Width = 65 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel2: TPanel + Left = 823 + Top = 0 + Width = 528 + Height = 545 + Align = alRight + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 1 + Visible = False + object cxGrid3: TcxGrid + Left = 2 + Top = 195 + Width = 524 + Height = 348 + Align = alClient + TabOrder = 0 + object Tv3: TcxGridDBTableView + OnMouseDown = Tv3MouseDown + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v3Column2 + end + item + Kind = skSum + Column = v3Column3 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = DataLink_TradeManage.Default + object cxGridDBColumn1: TcxGridDBColumn + Caption = #35746#21333#32534#21495 + DataBinding.FieldName = 'OrderNo' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 62 + end + object cxGridDBPRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 42 + end + object v3Column6: TcxGridDBColumn + Caption = #25237#22383#26085#26399 + DataBinding.FieldName = 'TPDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 74 + end + object v3Column3: TcxGridDBColumn + Caption = #25237#22383#21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v3Column2: TcxGridDBColumn + Caption = #25968#37327'('#35745#21010')' + DataBinding.FieldName = 'TPQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v3Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 75 + end + object v3Column4: TcxGridDBColumn + Caption = #25968#37327#20844#24046 + DataBinding.FieldName = 'Qty2' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v3Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 63 + end + object v3Column5: TcxGridDBColumn + Caption = #35745#21010#32553#29575'(%)' + DataBinding.FieldName = 'Qty3' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Width = 78 + end + object v3Column7: TcxGridDBColumn + Caption = #25237#22383#20154 + DataBinding.FieldName = 'TPPerson' + HeaderAlignmentHorz = taCenter + Width = 48 + end + object v3Column8: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'TPNote' + Width = 73 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv3 + end + end + object cxGrid2: TcxGrid + Left = 2 + Top = 2 + Width = 524 + Height = 193 + Align = alTop + TabOrder = 1 + object Tv2: TcxGridDBTableView + OnMouseDown = Tv2MouseDown + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv2CellClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2MxQty + end + item + Kind = skSum + Column = v2Column1 + end + item + Kind = skSum + Column = v2Column2 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + object v2ComeDate: TcxGridDBColumn + Caption = #21040#36135#26085#26399 + DataBinding.FieldName = 'ComeDate' + PropertiesClassName = 'TcxDateEditProperties' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object v2Column3: TcxGridDBColumn + Caption = #23384#25918#22320#28857 + DataBinding.FieldName = 'RKPlace' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v2Column3PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 65 + end + object v2BatchNo: TcxGridDBColumn + Caption = #25209#21495 + DataBinding.FieldName = 'BatchNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 61 + end + object v2Qty1: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Hidden = True + Styles.Header = DataLink_TradeManage.Default + Width = 44 + end + object v2MxQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'MxQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 48 + end + object v2MxNote: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'MxNote' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v2Column1: TcxGridDBColumn + Tag = 2 + Caption = #24211#23384#21305#25968 + DataBinding.FieldName = 'KCPS' + Visible = False + HeaderAlignmentHorz = taCenter + Hidden = True + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 67 + end + object v2Column2: TcxGridDBColumn + Tag = 2 + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'KCSL' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv2 + end + end + end + object cxSplitter1: TcxSplitter + Left = 815 + Top = 0 + Width = 8 + Height = 545 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salRight + Control = Panel2 + Visible = False + end + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 116 + Width = 1184 + Height = 22 + Align = alTop + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + Style = 9 + TabIndex = 0 + TabOrder = 3 + Tabs.Strings = ( + #26410#23436#25104 + #23436#25104 + #20840#37096) + OnChange = cxTabControl1Change + ClientRectBottom = 22 + ClientRectRight = 1184 + ClientRectTop = 19 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 1140 + Top = 52 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 1092 + Top = 16 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1120 + Top = 20 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1032 + Top = 52 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 1080 + Top = 76 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 1104 + Top = 64 + end + object ClientDataSet3: TClientDataSet + Aggregates = <> + Params = <> + Left = 1112 + Top = 240 + end + object DataSource2: TDataSource + DataSet = ClientDataSet2 + Left = 880 + Top = 176 + end + object DataSource3: TDataSource + DataSet = ClientDataSet3 + Left = 1112 + Top = 216 + end + object ClientDataSet2: TClientDataSet + Aggregates = <> + Params = <> + Left = 920 + Top = 224 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 352 + Top = 192 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = CDS_PRT + Left = 400 + Top = 192 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 416 + Top = 248 + end + object CDS_PRT: TClientDataSet + Aggregates = <> + Params = <> + Left = 680 + Top = 32 + end +end diff --git a/打卷检验管理/U_ClothContractList.pas b/打卷检验管理/U_ClothContractList.pas new file mode 100644 index 0000000..3cb1c07 --- /dev/null +++ b/打卷检验管理/U_ClothContractList.pas @@ -0,0 +1,1014 @@ +unit U_ClothContractList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, + RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, + cxTextEdit, cxPC; + +type + TfrmClothContractList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBAdd: TToolButton; + TBEdit: TToolButton; + TBDel: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Label2: TLabel; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + ConNoM: TEdit; + Label5: TLabel; + C_CodeNameM: TEdit; + TBExport: TToolButton; + Order_Main: TClientDataSet; + Label4: TLabel; + C_Spec: TEdit; + ScrollBox1: TScrollBox; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1FactoryNo1Name: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + v1C_Qty: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + v1Price: TcxGridDBColumn; + v1PriceUnit: TcxGridDBColumn; + v1Money: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + ToolButton2: TToolButton; + ToolButton3: TToolButton; + ToolButton4: TToolButton; + ToolButton1: TToolButton; + ClientDataSet3: TClientDataSet; + DataSource2: TDataSource; + DataSource3: TDataSource; + ClientDataSet2: TClientDataSet; + ToolButton5: TToolButton; + ToolButton6: TToolButton; + v1Qty1: TcxGridDBColumn; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + Panel2: TPanel; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridDBPRTColor: TcxGridDBColumn; + v3Column3: TcxGridDBColumn; + v3Column2: TcxGridDBColumn; + v3Column4: TcxGridDBColumn; + v3Column5: TcxGridDBColumn; + v3Column6: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + v2ComeDate: TcxGridDBColumn; + v2Column3: TcxGridDBColumn; + v2BatchNo: TcxGridDBColumn; + v2Qty1: TcxGridDBColumn; + v2MxQty: TcxGridDBColumn; + v2MxNote: TcxGridDBColumn; + v2Column1: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + cxGrid2Level1: TcxGridLevel; + cxSplitter1: TcxSplitter; + v3Column7: TcxGridDBColumn; + v3Column8: TcxGridDBColumn; + Button1: TButton; + Button2: TButton; + Button3: TButton; + Button4: TButton; + CDS_PRT: TClientDataSet; + v1Column3: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column11: TcxGridDBColumn; + cxTabControl1: TcxTabControl; + Tchk: TToolButton; + TNochk: TToolButton; + v1DHQty: TcxGridDBColumn; + v1MXQty: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBEditClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure ConNoMChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; + APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); + procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv3MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure ToolButton4Click(Sender: TObject); + procedure Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure ToolButton5Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure v2Column3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure Button1Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure v3Column2PropertiesEditValueChanged(Sender: TObject); + procedure conPress(Sender: TObject; var Key: Char); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TchkClick(Sender: TObject); + procedure TNochkClick(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + private + FInt,PFInt:Integer; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + procedure SetStatus(); + { Private declarations } + public + FType:string; + { Public declarations } + end; + +var + frmClothContractList: TfrmClothContractList; + +implementation +uses + U_DataLink,U_ClothContractInPutPB,U_Fun,U_ProductOrderList,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmClothContractList.SetStatus(); +begin + TBAdd.Visible:=false; + tchk.Visible:=false; + tnochk.Visible:=false; + tbedit.Visible:=false; + tbdel.Visible:=false; + IF FType=''then + begin + case cxTabControl1.TabIndex of + 0:begin + tchk.Visible:=true; + tbedit.Visible:=true; + tbdel.Visible:=true; + TBAdd.Visible:=true; + end; + 1:begin + tnochk.Visible:=true; + end; + 2:begin + + end; + end; + end; + IF FType='ѯ' then + begin + Tbadd.Visible:=false; + TBPrint.Visible:=false; + v1Price.Visible:=false; + v1PriceUnit.Visible:=false; + v1Money.Visible:=false; + + v1Price.Hidden:=true; + v1PriceUnit.Hidden:=true; + v1Money.Hidden:=true; + cxTabControl1.TabIndex:=2; + cxTabControl1.Visible:=false; + end; +end; + +procedure TfrmClothContractList.FormDestroy(Sender: TObject); +begin + frmClothContractList:=nil; +end; + +procedure TfrmClothContractList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmClothContractList.FormCreate(Sender: TObject); +begin + ScrollBox1.Align:=alClient; +end; + +procedure TfrmClothContractList.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid(self.Caption+tv1.Name,Tv1,'ָʾ'); +end; + +procedure TfrmClothContractList.InitGrid(); +var + strwhere:string; +begin + strwhere:=' and QDTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and QDTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + + IF cxTabControl1.TabIndex=0 then + strwhere:=strwhere+' and isnull(C_status,'''')='''' '; + IF cxTabControl1.TabIndex=1 then + strwhere:=strwhere+' and isnull(C_status,''0'')=''1'' '; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContract_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=strwhere; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + TBFind.Click; + end; +end; + +procedure TfrmClothContractList.InitForm(); +begin + ReadCxGrid(self.Caption+tv1.Name,Tv1,'ָʾ'); + cxTabControl1.TabIndex:=0; + if Trim(DParameters1)='1' then + begin + TBPrint.Visible:=False; + end else + begin + TBPrint.Visible:=True; + end; + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + InitGrid(); +end; + +procedure TfrmClothContractList.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothContractList.TBEditClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmClothContractInPutPB:=TfrmClothContractInPutPB.Create(Application); + with frmClothContractInPutPB do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FConNo:=Trim(Self.Order_Main.fieldbyname('ConNoM').AsString); + if ShowModal=1 then + begin + InitGrid(); + end; + end; + finally + frmClothContractInPutPB.Free; + end; +end; + +procedure TfrmClothContractList.TBDelClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + if ClientDataSet2.IsEmpty=false then + begin + Application.MessageBox('ѵɾͬ','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + if DelData() then + begin + Order_Main.Delete; + end; +end; + +function TfrmClothContractList.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmClothContractList.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + TcxGridToExcel('ͬб',cxGrid1); +end; + +procedure TfrmClothContractList.TBPrintClick(Sender: TObject); +var + fPrintFile,FConNoM:string; + +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ͬ.rmf' ; + with ADOQueryTemp do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContract_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Parameters.ParamByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + Parameters.ParamByName('WSql').Value:=''; + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + FConNoM:=Trim(CDS_PRT.fieldbyname('ConNoM').AsString); + if FileExists(fPrintFile) then + begin + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ͬ.rmf'),'ʾ',0); + end; +end; + +procedure TfrmClothContractList.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmClothContractList.TBAddClick(Sender: TObject); +begin + try + frmClothContractInPutPB:=TfrmClothContractInPutPB.Create(Application); + with frmClothContractInPutPB do + begin + PState:=0; + FMainId:=''; + if ShowModal=1 then + begin + InitGrid(); + end; + end; + finally + frmClothContractInPutPB.Free; + end; +end; + +procedure TfrmClothContractList.ConNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothContractList.FormShow(Sender: TObject); +begin + InitForm(); + SetStatus(); +end; + +procedure TfrmClothContractList.ToolButton2Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + if FInt=2 then + begin + ClientDataSet2.Append; + ClientDataSet2.Post; + end else + if FInt=3 then + begin + try + frmProductOrderList:=TfrmProductOrderList.Create(Application); + with frmProductOrderList do + begin + FFInt:=2; + FCloth:=1; + frmProductOrderList.TBAdd.Visible:=False; + frmProductOrderList.TBEdit.Visible:=False; + frmProductOrderList.TBDel.Visible:=False; + frmProductOrderList.TBExport.Visible:=False; + frmProductOrderList.TBPrint.Visible:=False; + frmProductOrderList.ToolButton1.Visible:=False; + frmProductOrderList.ToolButton2.Visible:=False; + frmProductOrderList.ToolButton3.Visible:=True; + frmProductOrderList.v1Column4.Visible:=True; + if ShowModal=1 then + begin + with frmProductOrderList.Order_Main do + begin + frmProductOrderList.Order_Main.First; + while not frmProductOrderList.Order_Main.Eof do + begin + if frmProductOrderList.Order_Main.FieldByName('SSel').AsBoolean=True then + begin + with Self.ClientDataSet3 do + begin + Self.ClientDataSet3.Append; + Self.ClientDataSet3.FieldByName('OrdSubId').Value:=Trim(frmProductOrderList.Order_Main.fieldbyname('SubId').AsString); + Self.ClientDataSet3.FieldByName('OrderNo').Value:=Trim(frmProductOrderList.Order_Main.fieldbyname('OrderNo').AsString); + Self.ClientDataSet3.FieldByName('MPRTCodeName').Value:=Trim(frmProductOrderList.Order_Main.fieldbyname('MPRTCodeName').AsString); + Self.ClientDataSet3.FieldByName('MPRTSpec').Value:=Trim(frmProductOrderList.Order_Main.fieldbyname('MPRTSpec').AsString); + Self.ClientDataSet3.FieldByName('PRTColor').Value:=Trim(frmProductOrderList.Order_Main.fieldbyname('PRTColor').AsString); + end; + end; + frmProductOrderList.Order_Main.Next; + end; + end; + end; + end; + finally + frmProductOrderList.Free; + end; + end; +end; + +procedure TfrmClothContractList.Tv1FocusedRecordChanged( + Sender: TcxCustomGridTableView; APrevFocusedRecord, + AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,KCSL=A.MXQty-(select isnull(Sum(TPQty),0) from Contract_Sub_Mxto B where B.MXID=A.MXID),'); + sql.Add(' KCPS=A.Qty1-(select isnull(Sum(Qty1),0) from Contract_Sub_Mxto B where B.MXID=A.MXID)'); + sql.Add('from Contract_Sub_Mx A'); + sql.Add(' where A.SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet2); + SInitCDSData20(ADOQueryTemp,ClientDataSet2); + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,C.MPRTSpec,B.PRTColor,C.MPRTCodeName,C.OrderNo ,'); + sql.Add('C_Unit=(select Top 1 C_Unit from Contract_Sub AA,Contract_Sub_Mx BB where AA.SubId=BB.SubId and BB.MXid=A.Mxid)'); + SQL.Add('from Contract_Sub_MxTo A inner join JYOrder_Sub B on A.OrdSubId=B.SubId'); + SQL.Add(' inner join JYOrder_Main C on C.MainId=B.MainId '); + sql.Add('where A.MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3); +end; + +procedure TfrmClothContractList.Tv2MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=2; +end; + +procedure TfrmClothContractList.Tv1MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=1; +end; + +procedure TfrmClothContractList.Tv3MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=3; +end; + +procedure TfrmClothContractList.ToolButton4Click(Sender: TObject); +var + maxno:string; +begin + if ClientDataSet2.IsEmpty then Exit; + if ClientDataSet2.Locate('ComeDate',null,[]) then + begin + Application.MessageBox('ڲΪգ','ʾ',0); + Exit; + end; + if ClientDataSet2.Locate('MxQty',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + BegDate.SetFocus; + try + ADOQueryCmd.Connection.BeginTrans; + //ϸ + with ClientDataSet2 do + begin + First; + while not eof do + begin + if Trim(ClientDataSet2.fieldbyname('MXId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,maxno,'MX','Contract_Sub_Mx',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡϸˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(ClientDataSet2.fieldbyname('MXId').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub_Mx where MxId='''+Trim(ClientDataSet2.fieldbyname('MXId').AsString)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(ClientDataSet2.fieldbyname('MXId').AsString)='' then + Append + else + Edit; + FieldByName('MxId').Value:=Trim(maxno); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + SSetSaveDataCDSNew(ADOQueryCmd,Tv2,ClientDataSet2,'Contract_Sub_Mx',0); + if Trim(ClientDataSet2.fieldbyname('Qty1').AsString)='' then + begin + FieldByName('Qty1').Value:=0; + end; + if Trim(ClientDataSet2.fieldbyname('MxQty').AsString)='' then + begin + FieldByName('MxQty').Value:=0; + end; + Post; + end; + with ClientDataSet2 do + begin + Edit; + FieldByName('MxId').Value:=Trim(maxno); + Post; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmClothContractList.Tv2CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,C.MPRTSpec,B.PRTColor,C.MPRTCodeName,C.OrderNo ,'); + sql.Add('C_Unit=(select Top 1 C_Unit from Contract_Sub AA,Contract_Sub_Mx BB where AA.SubId=BB.SubId and BB.MXid=A.Mxid)'); + SQL.Add(' from Contract_Sub_MxTo A inner join JYOrder_Sub B on A.OrdSubId=B.SubId '); + SQL.Add(' inner join JYOrder_Main C on C.MainId=B.MainId '); + sql.Add('where A.MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3); +end; + +procedure TfrmClothContractList.ToolButton5Click(Sender: TObject); +var + maxno:string; +begin + if ClientDataSet3.IsEmpty then Exit; + if ClientDataSet2.IsEmpty then Exit; + if Trim(ClientDataSet2.fieldbyname('MXId').AsString)='' then + begin + Application.MessageBox('δȷ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('OrderNo',null,[]) then + begin + Application.MessageBox('ָŲΪգ','ʾ',0); + Exit; + end; + BegDate.SetFocus; + try + ADOQueryCmd.Connection.BeginTrans; + //ȥ + with ClientDataSet3 do + begin + First; + while not eof do + begin + if Trim(ClientDataSet3.fieldbyname('ToId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,maxno,'To','Contract_Sub_MxTo',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡȥˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(ClientDataSet3.fieldbyname('ToId').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub_MxTo where ToId='''+Trim(ClientDataSet3.fieldbyname('ToId').AsString)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(ClientDataSet3.fieldbyname('ToId').AsString)='' then + Append + else + Edit; + FieldByName('MxId').Value:=Trim(ClientDataSet2.fieldbyname('MxId').AsString); + FieldByName('ToId').Value:=Trim(maxno); + FieldByName('OrdSubId').Value:=Trim(ClientDataSet3.fieldbyname('OrdSubId').AsString); + FieldByName('TPDate').Value:=ClientDataSet3.fieldbyname('TPDate').Value; + FieldByName('TPPerson').Value:=ClientDataSet3.fieldbyname('TPPerson').Value; + FieldByName('TPNote').Value:=ClientDataSet3.fieldbyname('TPNote').Value; + if Trim(ClientDataSet3.fieldbyname('TPQty').AsString)<>'' then + FieldByName('TPQty').Value:=ClientDataSet3.fieldbyname('TPQty').Value + else + FieldByName('TPQty').Value:=0; + if Trim(ClientDataSet3.fieldbyname('Qty1').AsString)<>'' then + FieldByName('Qty1').Value:=ClientDataSet3.fieldbyname('Qty1').Value + else + FieldByName('Qty1').Value:=0; + if Trim(ClientDataSet3.fieldbyname('Qty2').AsString)<>'' then + FieldByName('Qty2').Value:=ClientDataSet3.fieldbyname('Qty2').Value + else + FieldByName('Qty2').Value:=0; + if Trim(ClientDataSet3.fieldbyname('Qty3').AsString)<>'' then + FieldByName('Qty3').Value:=ClientDataSet3.fieldbyname('Qty3').Value + else + FieldByName('Qty3').Value:=0; + Post; + end; + with ClientDataSet3 do + begin + Edit; + FieldByName('ToId').Value:=Trim(maxno); + Post; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmClothContractList.ToolButton3Click(Sender: TObject); +begin + if FInt=2 then + begin + if ClientDataSet2.IsEmpty then Exit; + if ClientDataSet3.IsEmpty=false then + begin + Application.MessageBox('Ѳݣɾ¼','ʾ',0); + Exit; + end; + if Trim(ClientDataSet2.fieldbyname('MxId').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Sub_Mx where MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+''''); + ExecSQL; + end; + ClientDataSet2.Delete; + end else + if FInt=3 then + begin + if ClientDataSet3.IsEmpty then Exit; + if Trim(ClientDataSet3.fieldbyname('ToId').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Sub_MxTo where ToId='''+Trim(ClientDataSet3.fieldbyname('ToId').AsString)+''''); + ExecSQL; + end; + ClientDataSet3.Delete; + with ClientDataSet2 do + begin + Edit; + if ClientDataSet3.IsEmpty=False then + FieldByName('KCSL').Value:=ClientDataSet2.fieldbyname('MxQty').Value-tv3.DataController.Summary.FooterSummaryValues[0] + else + FieldByName('KCSL').Value:=ClientDataSet2.fieldbyname('MxQty').Value; + Post; + end; + end; +end; + +procedure TfrmClothContractList.v2Column3PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='RKPlace'; + flagname:='ص'; + if ShowModal=1 then + begin + with ClientDataSet2 do + begin + Edit; + FieldByName('RKPlace').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractList.Button1Click(Sender: TObject); +begin + ToolButton2.Click; +end; + +procedure TfrmClothContractList.Button2Click(Sender: TObject); +begin + ToolButton3.Click; +end; + +procedure TfrmClothContractList.Button3Click(Sender: TObject); +begin + ToolButton4.Click; +end; + +procedure TfrmClothContractList.Button4Click(Sender: TObject); +begin + ToolButton5.Click; +end; + +procedure TfrmClothContractList.v3Column2PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,fieldname,qty1,qty2:String; + +begin + If Trim(TcxTextEdit(Sender).EditingText)<>'' then + begin + mvalue:=TcxTextEdit(Sender).EditingText; + end else + begin + mvalue:='0'; + end; + fieldname:=Tv3.Controller.FocusedColumn.DataBinding.FilterFieldName; + with ClientDataSet3 do + begin + Edit; + FieldByName(Trim(fieldname)).Value:=mvalue; + Post; + end; + with ClientDataSet2 do + begin + Edit; + FieldByName('KCSL').Value:=ClientDataSet2.fieldbyname('MxQty').Value-tv3.DataController.Summary.FooterSummaryValues[0]; + Post; + end; + if Trim(ClientDataSet3.fieldbyname('TPQty').AsString)<>'' then + begin + qty1:=ClientDataSet3.fieldbyname('TPQty').AsString; + end else + begin + qty1:='0'; + end; + if Trim(ClientDataSet3.fieldbyname('Qty2').AsString)<>'' then + begin + Qty2:=ClientDataSet3.fieldbyname('Qty2').AsString; + end else + begin + Qty2:='0'; + end; + if StrToFloat(qty1)*StrToFloat(qty2)=0 then Exit; + with ClientDataSet3 do + begin + Edit; + FieldByName('qty3').Value:=(StrToFloat(qty1)-StrToFloat(qty2))*1.00*100/StrToFloat(qty1); + Post; + end; +end; + +procedure TfrmClothContractList.conPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Length(Trim(ConNoM.Text))<4 then Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContract_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and OM.conNo like '''+'%'+Trim(ConNoM.Text)+'%'+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +procedure TfrmClothContractList.Tv1CellDblClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + If Order_Main.IsEmpty then Exit; + try + frmClothContractInPutPB:=TfrmClothContractInPutPB.Create(Application); + with frmClothContractInPutPB do + begin + PState:=1; + ToolBar1.Enabled:=false; + ToolBar2.Enabled:=false; + Tv1.OptionsData.Editing:=false; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FConNo:=Trim(Self.Order_Main.fieldbyname('ConNoM').AsString); + if ShowModal=1 then + begin + InitGrid(); + end; + end; + finally + frmClothContractInPutPB.Free; + end; +end; + +procedure TfrmClothContractList.TchkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update Contract_Sub SET C_status=''1'' '); + sql.Add('where subID='+quotedstr(trim(Order_Main.fieldbyname('subID').AsString))); + execsql; + end; + application.MessageBox('ɹɣ','ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ɹʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmClothContractList.TNochkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update Contract_Sub SET C_status='''' '); + sql.Add('where subID='+quotedstr(trim(Order_Main.fieldbyname('subID').AsString))); + execsql; + end; + application.MessageBox('ɹ','ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmClothContractList.cxTabControl1Change(Sender: TObject); +begin + SetStatus(); + TBRafresh.Click; +end; + +procedure TfrmClothContractList.Tv1CustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +begin + if cxTabControl1.TabIndex=0 then + begin + with Order_Main do + begin + if (AViewInfo.GridRecord.Values[v1MXQty.Index]< + AViewInfo.GridRecord.Values[v1C_Qty.Index]*0.97) or + (AViewInfo.GridRecord.Values[v1MXQty.Index]> + AViewInfo.GridRecord.Values[v1C_Qty.Index]*1.03) then + begin + ACanvas.Font.Color:=clRed; + end; + if AViewInfo.GridRecord.Values[v1DHQty.Index]< + AViewInfo.GridRecord.Values[v1Qty1.Index] then + begin + ACanvas.Font.Color:=clRed; + end; + end; + end; +end; + +end. diff --git a/打卷检验管理/U_ClothContractListDH.dfm b/打卷检验管理/U_ClothContractListDH.dfm new file mode 100644 index 0000000..4d3e9bd --- /dev/null +++ b/打卷检验管理/U_ClothContractListDH.dfm @@ -0,0 +1,700 @@ +object frmClothContractListDH: TfrmClothContractListDH + Left = 229 + Top = 110 + Width = 1100 + Height = 553 + Caption = #22383#24067#21040#36135 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1092 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 107 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TWC: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #23436#25104 + ImageIndex = 41 + Visible = False + OnClick = TWCClick + end + object TNOWC: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #25764#38144#23436#25104 + ImageIndex = 86 + Visible = False + OnClick = TNOWCClick + end + object TBClose: TToolButton + Left = 276 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + object ToolButton2: TToolButton + Left = 339 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + Visible = False + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 402 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + Visible = False + OnClick = ToolButton3Click + end + object ToolButton4: TToolButton + Left = 465 + Top = 0 + AutoSize = True + Caption = #21040#22383#30830#23450 + ImageIndex = 113 + Visible = False + OnClick = ToolButton4Click + end + object ToolButton5: TToolButton + Left = 552 + Top = 0 + Caption = #22383#24067#39046#26009#30830#23450 + ImageIndex = 114 + Visible = False + OnClick = ToolButton5Click + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1092 + Height = 54 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 22 + Width = 52 + Height = 12 + Caption = #30331#35760#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 161 + Top = 22 + Width = 18 + Height = 12 + Caption = '---' + end + object Label3: TLabel + Left = 283 + Top = 22 + Width = 52 + Height = 12 + Caption = #21512#21516#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 444 + Top = 22 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 612 + Top = 22 + Width = 26 + Height = 12 + Caption = #35268#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 752 + Top = 22 + Width = 65 + Height = 12 + Caption = #23458#25143#21512#21516#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 18 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 179 + Top = 18 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object ConNoM: TEdit + Tag = 2 + Left = 337 + Top = 18 + Width = 81 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnChange = ConNoMChange + OnKeyPress = ConNoMKeyPress + end + object C_CodeNameM: TEdit + Tag = 2 + Left = 497 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + OnChange = ConNoMChange + end + object C_Spec: TEdit + Tag = 2 + Left = 640 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnChange = ConNoMChange + end + object sdefstr6: TEdit + Tag = 2 + Left = 820 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 5 + OnChange = ConNoMChange + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 86 + Width = 1092 + Height = 194 + Align = alClient + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 2 + object Tv1: TcxGridDBTableView + OnMouseDown = Tv1MouseDown + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv1CellClick + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column1 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1OrderNo: TcxGridDBColumn + Caption = #21512#21516#32534#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 74 + end + object v1Column2: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 93 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DeliveryDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 85 + end + object v1Column5: TcxGridDBColumn + Caption = #31614#35746#26085#26399 + DataBinding.FieldName = 'QDTime' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 81 + end + object v1FactoryNo1Name: TcxGridDBColumn + Caption = #20379#26041 + DataBinding.FieldName = 'FactoryNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 85 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 71 + end + object v1Qty1: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Hidden = True + Styles.Header = DataLink_TradeManage.Default + Width = 46 + end + object v1Column1: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'Qty1' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 67 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'C_Qty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 67 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'C_Unit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object v1Column3: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'Sdefstr1' + HeaderAlignmentHorz = taCenter + Width = 67 + end + object v1DHQty: TcxGridDBColumn + Caption = #21040#36135#21305#25968 + DataBinding.FieldName = 'DHQty' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object v1MxQty: TcxGridDBColumn + Caption = #21040#36135#25968#37327 + DataBinding.FieldName = 'MxQty' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object v1Column6: TcxGridDBColumn + Caption = #35745#21010#32553#29575'(%)' + DataBinding.FieldName = 'Qty2' + HeaderAlignmentHorz = taCenter + Width = 91 + end + object v1Column4: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 80 + end + object v1Column7: TcxGridDBColumn + Caption = #25351#31034#21333#21495 + DataBinding.FieldName = 'sdefstr5' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v1Column8: TcxGridDBColumn + Caption = #23458#25143#21512#21516#21495 + DataBinding.FieldName = 'sdefstr6' + HeaderAlignmentHorz = taCenter + Width = 80 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxSplitter1: TcxSplitter + Left = 0 + Top = 511 + Width = 1092 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + end + object Panel2: TPanel + Left = 0 + Top = 280 + Width = 1092 + Height = 231 + Align = alBottom + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 4 + object cxGrid2: TcxGrid + Left = 2 + Top = 34 + Width = 1088 + Height = 195 + Align = alClient + TabOrder = 0 + object Tv2: TcxGridDBTableView + OnMouseDown = Tv2MouseDown + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv2CellClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2MxQty + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + object v2ComeDate: TcxGridDBColumn + Tag = 2 + Caption = #21040#36135#26085#26399 + DataBinding.FieldName = 'ComeDate' + PropertiesClassName = 'TcxDateEditProperties' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 117 + end + object v2Column3: TcxGridDBColumn + Tag = 2 + Caption = #23384#25918#22320#28857 + DataBinding.FieldName = 'RKPlace' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v2Column3PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 122 + end + object v2Column1: TcxGridDBColumn + Tag = 2 + Caption = #21305#25968#37327 + DataBinding.FieldName = 'Qty1' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v2MxQty: TcxGridDBColumn + Tag = 2 + Caption = #25968#37327 + DataBinding.FieldName = 'MxQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 90 + end + object v2Column2: TcxGridDBColumn + Tag = 2 + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'MXUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v2MxNote: TcxGridDBColumn + Tag = 2 + Caption = #22791#27880 + DataBinding.FieldName = 'MxNote' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 145 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv2 + end + end + object ToolBar2: TToolBar + Left = 2 + Top = 2 + Width = 1088 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 1 + object ToolButton8: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton2Click + end + object ToolButton9: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton3Click + end + object ToolButton10: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #21040#22383#30830#23450 + ImageIndex = 113 + OnClick = ToolButton4Click + end + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 664 + Top = 256 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 936 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1000 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1040 + Top = 8 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 1168 + Top = 8 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 1096 + Top = 8 + end + object ClientDataSet3: TClientDataSet + Aggregates = <> + Params = <> + Left = 988 + Top = 208 + end + object DataSource2: TDataSource + DataSet = ClientDataSet2 + Left = 880 + Top = 176 + end + object DataSource3: TDataSource + DataSet = ClientDataSet3 + Left = 1112 + Top = 216 + end + object ClientDataSet2: TClientDataSet + Aggregates = <> + Params = <> + Left = 920 + Top = 224 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 352 + Top = 192 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = Order_Main + Left = 400 + Top = 192 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 416 + Top = 248 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 440 + Top = 520 + end +end diff --git a/打卷检验管理/U_ClothContractListDH.pas b/打卷检验管理/U_ClothContractListDH.pas new file mode 100644 index 0000000..fe82d2d --- /dev/null +++ b/打卷检验管理/U_ClothContractListDH.pas @@ -0,0 +1,1085 @@ +unit U_ClothContractListDH; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, + RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, + cxTextEdit, cxPC; + +type + TfrmClothContractListDH = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Label2: TLabel; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + ConNoM: TEdit; + Label5: TLabel; + C_CodeNameM: TEdit; + Order_Main: TClientDataSet; + Label4: TLabel; + C_Spec: TEdit; + ToolButton2: TToolButton; + ToolButton3: TToolButton; + ToolButton4: TToolButton; + ClientDataSet3: TClientDataSet; + DataSource2: TDataSource; + DataSource3: TDataSource; + ClientDataSet2: TClientDataSet; + ToolButton5: TToolButton; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1FactoryNo1Name: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1Qty1: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + cxSplitter1: TcxSplitter; + Panel2: TPanel; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + v2ComeDate: TcxGridDBColumn; + v2Column3: TcxGridDBColumn; + v2MxQty: TcxGridDBColumn; + v2MxNote: TcxGridDBColumn; + cxGrid2Level1: TcxGridLevel; + ToolBar2: TToolBar; + ToolButton8: TToolButton; + ToolButton9: TToolButton; + ToolButton10: TToolButton; + cxGridPopupMenu2: TcxGridPopupMenu; + v2Column1: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + sdefstr6: TEdit; + Label6: TLabel; + v1DHQty: TcxGridDBColumn; + v1MxQty: TcxGridDBColumn; + TWC: TToolButton; + TNOWC: TToolButton; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoMChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; + APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); + procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv3MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure ToolButton4Click(Sender: TObject); + procedure Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure ToolButton5Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure v2Column3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure Button1Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure ConNoMKeyPress(Sender: TObject; var Key: Char); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TWCClick(Sender: TObject); + procedure TNOWCClick(Sender: TObject); + procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + private + FInt,PFInt:Integer; + procedure InitGrid(); + procedure InitForm(); + procedure SetStatus(); + function DelData():Boolean; + function YFData():Boolean; + function DelYFData():Boolean; + { Private declarations } + public + { Public declarations } + end; + +var + frmClothContractListDH: TfrmClothContractListDH; + +implementation +uses + U_DataLink,U_ClothContractInPut,U_Fun,U_ProductOrderList,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmClothContractListDH.FormDestroy(Sender: TObject); +begin + frmClothContractListDH:=nil; +end; + +procedure TfrmClothContractListDH.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmClothContractListDH.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ͬ1',Tv1,'ָʾ'); + WriteCxGrid('ͬ2',Tv2,'ָʾ'); +end; + +procedure TfrmClothContractListDH.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContract_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmClothContractListDH.InitForm(); +begin + ReadCxGrid('ͬ1',Tv1,'ָʾ'); + ReadCxGrid('ͬ2',Tv2,'ָʾ'); + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + InitGrid(); +end; + +procedure TfrmClothContractListDH.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +function TfrmClothContractListDH.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmClothContractListDH.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmClothContractListDH.ConNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothContractListDH.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmClothContractListDH.ToolButton2Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; +{ with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + Application.MessageBox('δ¼!','ʾ',0); + Exit; + end else + begin + if ADOQueryTemp.RecordCount>1 then + begin + Application.MessageBox('¼ظ!','ʾ',0); + Exit; + end; + end; } + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1 * from Contract_Main where ConNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + ClientDataSet2.Append; + ClientDataSet2.FieldByName('MXUnit').Value:=Trim(Order_Main.fieldbyname('C_Unit').AsString); + ClientDataSet2.FieldByName('RKPlace').Value:=Trim(ADOQueryTemp.fieldbyname('JHPlace').AsString); + ClientDataSet2.FieldByName('RKPLCode').Value:=Trim(ADOQueryTemp.fieldbyname('JHPlace').AsString); + ClientDataSet2.Post; +end; + +procedure TfrmClothContractListDH.Tv1FocusedRecordChanged( + Sender: TcxCustomGridTableView; APrevFocusedRecord, + AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*'); + sql.Add('from ContractSX_Sub_Mx A'); + sql.Add(' where A.SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet2); + SInitCDSData20(ADOQueryTemp,ClientDataSet2); +end; + +procedure TfrmClothContractListDH.Tv2MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=2; +end; + +procedure TfrmClothContractListDH.Tv1MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=1; +end; + +procedure TfrmClothContractListDH.Tv3MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=3; +end; + +procedure TfrmClothContractListDH.ToolButton4Click(Sender: TObject); +var + maxno:string; +begin + if ClientDataSet2.IsEmpty then Exit; + if ClientDataSet2.Locate('ComeDate',null,[]) then + begin + Application.MessageBox('ڲΪգ','ʾ',0); + Exit; + end; + if ClientDataSet2.Locate('RKPlace',null,[]) then + begin + Application.MessageBox('ŵص㲻Ϊգ','ʾ',0); + Exit; + end; + if ClientDataSet2.Locate('RKPlace','',[]) then + begin + Application.MessageBox('ŵص㲻Ϊգ','ʾ',0); + Exit; + end; + if ClientDataSet2.Locate('MxQty',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + BegDate.SetFocus; + try + ADOQueryCmd.Connection.BeginTrans; + //ϸ + with ClientDataSet2 do + begin + First; + while not eof do + begin + if Trim(ClientDataSet2.fieldbyname('MXId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,maxno,'MX','Contract_Sub_Mx',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡϸˮʧܣ','ʾ',0); + Exit; + end; + end + else + begin + maxno:=Trim(ClientDataSet2.fieldbyname('MXId').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub_Mx where MxId='''+Trim(ClientDataSet2.fieldbyname('MXId').AsString)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(ClientDataSet2.fieldbyname('MXId').AsString)='' then + Append + else + Edit; + FieldByName('MxId').Value:=Trim(maxno); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + SSetSaveDataCDSNew(ADOQueryCmd,Tv2,ClientDataSet2,'Contract_Sub_Mx',2); + FieldByName('MXUnit').Value:=Trim(Order_Main.fieldbyname('C_Unit').AsString); + FieldByName('RKPLCode').Value:=Trim(ClientDataSet2.fieldbyname('RKPLCode').AsString); + if Trim(ClientDataSet2.fieldbyname('Qty1').AsString)='' then + begin + FieldByName('Qty1').Value:=0; + end; + if Trim(ClientDataSet2.fieldbyname('MxQty').AsString)='' then + begin + FieldByName('MxQty').Value:=0; + end; + if Trim(Order_Main.fieldbyname('C_Unit').AsString)='Kg' then + begin + if (Order_Main.fieldbyname('MFQty').AsFloat<>0) and (Order_Main.fieldbyname('KZQty').AsFloat<>0) then + begin + FieldByName('MxMQty').Value:=ClientDataSet2.fieldbyname('MxQty').Value*1.00*1000 + /(Order_Main.fieldbyname('MFQty').Value*1.00/100*Order_Main.fieldbyname('KZQty').Value); + end; + end + else + begin + FieldByName('MxMQty').Value:=ClientDataSet2.fieldbyname('MxQty').Value; + end; + Post; + end; + with ClientDataSet2 do + begin + Edit; + FieldByName('MxId').Value:=Trim(maxno); + Post; + end; + if YFData()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_DH where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and FirstName='''+Trim(ClientDataSet2.fieldbyname('RKPLace').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + if GetLSNo(ADOQueryCmd,maxno,'DH','Contract_Cloth_DH',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡϸˮʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_DH where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('Mainid').AsString); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + FieldByName('DHId').Value:=Trim(maxno); + FieldByName('FirstNo').Value:=Trim(ClientDataSet2.fieldbyname('RKPLCode').AsString); + FieldByName('FirstName').Value:=Trim(ClientDataSet2.fieldbyname('RKPLace').AsString); + FieldByName('DHUnit').Value:=Trim(Order_Main.fieldbyname('C_Unit').AsString); + FieldByName('PBName').Value:=Trim(Order_Main.fieldbyname('C_CodeName').AsString); + FieldByName('PBSpec').Value:=Trim(Order_Main.fieldbyname('C_Spec').AsString); + FieldByName('PBMF').Value:=Order_Main.fieldbyname('MFQty').AsFloat; + FieldByName('PBKZ').Value:=Order_Main.fieldbyname('KZQty').AsFloat; + Post; + end; + + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update Contract_Cloth_DH Set DHUnit='''+Trim(Order_Main.fieldbyname('C_Unit').AsString)+''''); + sql.Add(',PBName='+quotedstr(Trim(Order_Main.fieldbyname('C_CodeName').AsString))); + sql.Add(',PBSpec='+quotedstr(Trim(Order_Main.fieldbyname('C_Spec').AsString))); + sql.Add(',PBMF='+floattostr(Order_Main.fieldbyname('MFQty').AsFloat)); + sql.Add(',PBKZ='+floattostr(Order_Main.fieldbyname('KZQty').AsFloat)); + sql.Add(' where DHID='''+Trim(ADOQueryTemp.fieldbyname('DHID').AsString)+''''); + ExecSQL; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update Contract_Cloth_DH Set DHQty=(select Sum(MxQty) from Contract_Sub_Mx A where A.SubId=Contract_Cloth_DH.SubId'); + sql.Add(' and A.RKPLCode=Contract_Cloth_DH.FirstNo)'); + sql.Add(',DHMQty=(select Sum(MxMQty) from Contract_Sub_Mx A where A.SubId=Contract_Cloth_DH.SubId'); + sql.Add(' and A.RKPLCode=Contract_Cloth_DH.FirstNo)'); + sql.Add(', DHPS=(select Sum(Qty1) from Contract_Sub_Mx A where A.SubId=Contract_Cloth_DH.SubId'); + sql.Add(' and A.RKPLCode=Contract_Cloth_DH.FirstNo)'); + sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('Subid').AsString)+''''); + sql.Add(' and FirstNo='''+Trim(ClientDataSet2.fieldbyname('RKPLCode').AsString)+''''); + ExecSQL; + end; + Next; + end; + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Cloth_DH '); + sql.Add('where not exists(select * from Contract_Sub_Mx A where A.SubId=Contract_Cloth_DH.SubId and A.RKPlace=Contract_Cloth_DH.firstName) '); + sql.Add(' and SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LLMX B where not exists(select * from '); + sql.Add(' Contract_Cloth_DH A where A.DHID=B.DHID '); + SQL.Add(' and A.SubId=B.SubId ) and B.SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOQueryCmd.IsEmpty=False then + begin + Application.MessageBox('ݽҲӦȾܱ!','ʾ',0); + //begin + ADOQueryCmd.Connection.RollbackTrans; + Exit; + //end; + end; + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; +function TfrmClothContractListDH.YFData():Boolean; +var + CRID,OrdMainId,YFID,FComTaiTou,FCRID,FFactoryName:String; +begin + Result:=False; + { with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + + Application.MessageBox('δ¼!','ʾ',0); + Exit; + end else + begin + if ADOQueryTemp.RecordCount>1 then + begin + + Application.MessageBox('¼ظ!','ʾ',0); + Exit; + end; + end; } + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + OrdMainId:=Trim(ADOQueryTemp.fieldbyname('MainId').AsString); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select OrdDefStr2 from JYOrder_Main where Mainid='''+Trim(OrdMainId)+''''); + Open; + end; + FComTaiTou:=Trim(ADOQueryTemp.fieldbyname('OrdDefStr2').AsString); + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FactoryNoName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CRID set CRID=CRID+1'); + sql.Add('select * from YF_Money_CRID '); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FactoryNoName').AsString); + FieldByName('ZdyStr1').Value:='Ӧ'; + Post; + end; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(Order_Main.fieldbyname('FactoryNoName').AsString)+''''); + sql.Add(' and YFTypeId='''+Trim(ClientDataSet2.fieldbyname('MXId').AsString)+''''); + Open; + end; + begin + if ADOQueryTemp.IsEmpty then + begin + if GetLSNo(ADOQueryCmd,YFID,'PF','YF_Money_CR',3,1)=False then + begin + Application.MessageBox('ȡӦʧ!','ʾ',0); + Exit; + end; + end + else + begin + YFID:=Trim(ADOQueryTemp.fieldbyname('YFID').AsString); + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where YFID='''+Trim(YFID)+''''); + Open; + end; + with ADOQueryCmd do + begin + if ADOQueryTemp.IsEmpty then + Append + else + Edit; + FieldByName('YFID').Value:=Trim(YFID); + FieldByName('YFTypeId').Value:=Trim(ClientDataSet2.fieldbyname('MXId').AsString); + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRType').Value:='ӦǼ'; + FieldByName('CRFlag').Value:='Ӧ'; + FieldByName('QtyFlag').Value:=1; + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FactoryNoName').AsString); + FieldByName('CRTime').Value:=ClientDataSet2.fieldbyname('ComeDate').Value; + FieldByName('Qty').Value:=ClientDataSet2.fieldbyname('MXQty').Value; + FieldByName('PS').Value:=ClientDataSet2.fieldbyname('Qty1').Value; + FieldByName('YFType').Value:='Զ'; + FieldByName('Price').Value:=Order_Main.fieldbyname('Price').Value; + FieldByName('HuiLv').Value:=1; + FieldByName('BZType').Value:=''; + FieldByName('ComTaiTou').Value:=''; + FieldByName('QtyUnit').Value:=Trim(Order_Main.fieldbyname('C_Unit').AsString); + FieldByName('YFName').Value:=''; + FieldByName('MainId').Value:=Trim(OrdMainId); + Post; + end; + end; + {with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('update YF_Money_CR Set Qty=(select isnull(Sum(MXQty),0) from Contract_Sub_MX A inner join'); + SQL.Add('Contract_Sub B on A.SubId=B.SubId where B.MainId=YF_Money_CR.YFTypeId)'); + sql.Add(',PS=(select isnull(Sum(A.Qty1),0) from Contract_Sub_MX A inner join'); + SQL.Add('Contract_Sub B on A.SubId=B.SubId where B.MainId=YF_Money_CR.YFTypeId)'); + sql.Add(' where YFTypeId='''+Trim(Order_Main.fieldbyname('Mainid').AsString)+''''); + ExecSQL; + end;} + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CR Set Money=Price*Qty,BBMoney=Price*Qty'); + sql.Add(' where YFID='''+Trim(YFID)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + Result:=True; +end; + +function TfrmClothContractListDH.DelYFData():Boolean; +var + CRID,OrdMainId,YFID:String; +begin + Result:=False; + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FactoryNoName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; + end else + begin + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete YF_Money_CR where FactoryName='''+Trim(Order_Main.fieldbyname('FactoryNoName').AsString)+''''); + sql.Add(' and YFTypeId='''+Trim(ClientDataSet2.fieldbyname('MXId').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + Result:=True; +end; +procedure TfrmClothContractListDH.Tv2CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,C.MPRTSpec,B.PRTColor,C.MPRTCodeName,C.OrderNo ,'); + sql.Add('C_Unit=(select Top 1 C_Unit from Contract_Sub AA,Contract_Sub_Mx BB where AA.SubId=BB.SubId and BB.MXid=A.Mxid)'); + SQL.Add(' from Contract_Sub_MxTo A inner join JYOrder_Sub B on A.OrdSubId=B.SubId '); + SQL.Add(' inner join JYOrder_Main C on C.MainId=B.MainId '); + sql.Add('where A.MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3); +end; + +procedure TfrmClothContractListDH.ToolButton5Click(Sender: TObject); +var + maxno:string; +begin + if ClientDataSet3.IsEmpty then Exit; + if ClientDataSet2.IsEmpty then Exit; + if Trim(ClientDataSet2.fieldbyname('MXId').AsString)='' then + begin + Application.MessageBox('δȷ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('OrderNo',null,[]) then + begin + Application.MessageBox('ָŲΪգ','ʾ',0); + Exit; + end; + BegDate.SetFocus; + try + ADOQueryCmd.Connection.BeginTrans; + //ȥ + with ClientDataSet3 do + begin + First; + while not eof do + begin + if Trim(ClientDataSet3.fieldbyname('ToId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,maxno,'To','Contract_Sub_MxTo',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡȥˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(ClientDataSet3.fieldbyname('ToId').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub_MxTo where ToId='''+Trim(ClientDataSet3.fieldbyname('ToId').AsString)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(ClientDataSet3.fieldbyname('ToId').AsString)='' then + Append + else + Edit; + FieldByName('MxId').Value:=Trim(ClientDataSet2.fieldbyname('MxId').AsString); + FieldByName('ToId').Value:=Trim(maxno); + FieldByName('OrdSubId').Value:=Trim(ClientDataSet3.fieldbyname('OrdSubId').AsString); + FieldByName('TPDate').Value:=ClientDataSet3.fieldbyname('TPDate').Value; + FieldByName('TPPerson').Value:=ClientDataSet3.fieldbyname('TPPerson').Value; + FieldByName('TPNote').Value:=ClientDataSet3.fieldbyname('TPNote').Value; + if Trim(ClientDataSet3.fieldbyname('TPQty').AsString)<>'' then + FieldByName('TPQty').Value:=ClientDataSet3.fieldbyname('TPQty').Value + else + FieldByName('TPQty').Value:=0; + if Trim(ClientDataSet3.fieldbyname('Qty1').AsString)<>'' then + FieldByName('Qty1').Value:=ClientDataSet3.fieldbyname('Qty1').Value + else + FieldByName('Qty1').Value:=0; + if Trim(ClientDataSet3.fieldbyname('Qty2').AsString)<>'' then + FieldByName('Qty2').Value:=ClientDataSet3.fieldbyname('Qty2').Value + else + FieldByName('Qty2').Value:=0; + if Trim(ClientDataSet3.fieldbyname('Qty3').AsString)<>'' then + FieldByName('Qty3').Value:=ClientDataSet3.fieldbyname('Qty3').Value + else + FieldByName('Qty3').Value:=0; + Post; + end; + with ClientDataSet3 do + begin + Edit; + FieldByName('ToId').Value:=Trim(maxno); + Post; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmClothContractListDH.ToolButton3Click(Sender: TObject); +begin + //if FInt=2 then + //begin + if ClientDataSet2.IsEmpty then Exit; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + try + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Sub_Mx where MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update Contract_Cloth_DH Set DHQty=(select isnull(Sum(MxQty),0) from Contract_Sub_Mx A where A.SubId=Contract_Cloth_DH.SubId'); + sql.Add(' and A.RKPLCode=Contract_Cloth_DH.FirstNo)'); + sql.Add(', DHMQty=(select isnull(Sum(MxMQty),0) from Contract_Sub_Mx A where A.SubId=Contract_Cloth_DH.SubId'); + sql.Add(' and A.RKPLCode=Contract_Cloth_DH.FirstNo)'); + sql.Add(', DHPS=(select isnull(Sum(Qty1),0) from Contract_Sub_Mx A where A.SubId=Contract_Cloth_DH.SubId'); + sql.Add(' and A.RKPLCode=Contract_Cloth_DH.FirstNo)'); + sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('Subid').AsString)+''''); + sql.Add(' and FirstNo='''+Trim(ClientDataSet2.fieldbyname('RKPLCode').AsString)+''''); + ExecSQL; + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Cloth_DH '); + sql.Add('where not exists(select * from Contract_Sub_Mx A where A.SubId=Contract_Cloth_DH.SubId and A.RKPlace=Contract_Cloth_DH.firstName) '); + sql.Add(' and SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LLMX B where not exists(select * from '); + sql.Add(' Contract_Cloth_DH A where A.DHID=B.DHID '); + SQL.Add(' and A.SubId=B.SubId ) and B.SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOQueryCmd.IsEmpty=False then + begin + Application.MessageBox('ݽҲӦȾɾ!','ʾ',0); + ADOQueryCmd.Connection.RollbackTrans; + Exit; + end; + DelYFData(); + ClientDataSet2.Delete; + ADOQueryCmd.Connection.CommitTrans; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ɾ쳣!','ʾ',0); + end; +end; + +procedure TfrmClothContractListDH.v2Column3PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + //flag:='RKPlace'; + flag:='Factory'; + flagname:='ص'; + MainType:='RanFactory'; + if ShowModal=1 then + begin + with ClientDataSet2 do + begin + Edit; + FieldByName('RKPlace').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + FieldByName('RKPlCode').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractListDH.Button1Click(Sender: TObject); +begin + ToolButton2.Click; +end; + +procedure TfrmClothContractListDH.Button2Click(Sender: TObject); +begin + ToolButton3.Click; +end; + +procedure TfrmClothContractListDH.Button3Click(Sender: TObject); +begin + ToolButton4.Click; +end; + +procedure TfrmClothContractListDH.ConNoMKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Length(Trim(ConNoM.Text))<4 then Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContract_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and OM.conNo like '''+'%'+Trim(ConNoM.Text)+'%'+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +procedure TfrmClothContractListDH.Tv1CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*'); + sql.Add('from Contract_Sub_Mx A'); + sql.Add(' where A.SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet2); + SInitCDSData20(ADOQueryTemp,ClientDataSet2); + {with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,C.MPRTSpec,B.PRTColor,C.MPRTCodeName,C.OrderNo ,'); + sql.Add('C_Unit=(select Top 1 C_Unit from Contract_Sub AA,Contract_Sub_Mx BB where AA.SubId=BB.SubId and BB.MXid=A.Mxid)'); + SQL.Add('from Contract_Sub_MxTo A inner join JYOrder_Sub B on A.OrdSubId=B.SubId'); + SQL.Add(' inner join JYOrder_Main C on C.MainId=B.MainId '); + sql.Add('where A.MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3);} +end; + +procedure TfrmClothContractListDH.TWCClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update Contract_Sub SET C_status=''2'' '); + sql.Add('where subID='+quotedstr(trim(Order_Main.fieldbyname('subID').AsString))); + execsql; + end; + application.MessageBox('ɣ','ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmClothContractListDH.TNOWCClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update Contract_Sub SET C_status=''1'' '); + sql.Add('where subID='+quotedstr(trim(Order_Main.fieldbyname('subID').AsString))); + execsql; + end; + application.MessageBox('ɹ','ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmClothContractListDH.SetStatus(); +begin + +end; + +procedure TfrmClothContractListDH.Tv1CustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +begin + {with Order_Main do + begin + if (AViewInfo.GridRecord.Values[v1MXQty.Index]< + AViewInfo.GridRecord.Values[v1PRTOrderQty.Index]*0.97) or + (AViewInfo.GridRecord.Values[v1MXQty.Index]> + AViewInfo.GridRecord.Values[v1PRTOrderQty.Index]*1.03) then + begin + ACanvas.Font.Color:=clRed; + end; + if AViewInfo.GridRecord.Values[v1DHQty.Index]< + AViewInfo.GridRecord.Values[v1Column1.Index] then + begin + ACanvas.Font.Color:=clRed; + end; + end;} +end; + +end. diff --git a/打卷检验管理/U_ClothContractListDHSX.dfm b/打卷检验管理/U_ClothContractListDHSX.dfm new file mode 100644 index 0000000..bccb7bc --- /dev/null +++ b/打卷检验管理/U_ClothContractListDHSX.dfm @@ -0,0 +1,598 @@ +object frmClothContractListDHSX: TfrmClothContractListDHSX + Left = 248 + Top = 60 + Width = 1068 + Height = 619 + Caption = #32433#32447#21040#36135 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1060 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 107 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBClose: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + object ToolButton2: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + Visible = False + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + Visible = False + OnClick = ToolButton3Click + end + object ToolButton4: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #21040#22383#30830#23450 + ImageIndex = 113 + Visible = False + OnClick = ToolButton4Click + end + object ToolButton5: TToolButton + Left = 402 + Top = 0 + Caption = #22383#24067#39046#26009#30830#23450 + ImageIndex = 114 + Visible = False + OnClick = ToolButton5Click + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1060 + Height = 54 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 22 + Width = 52 + Height = 12 + Caption = #30331#35760#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 161 + Top = 22 + Width = 18 + Height = 12 + Caption = '---' + end + object Label3: TLabel + Left = 283 + Top = 22 + Width = 52 + Height = 12 + Caption = #21512#21516#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 444 + Top = 22 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 612 + Top = 22 + Width = 26 + Height = 12 + Caption = #35268#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 18 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 179 + Top = 18 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object ConNoM: TEdit + Tag = 2 + Left = 337 + Top = 18 + Width = 81 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnChange = ConNoMChange + OnKeyPress = ConNoMKeyPress + end + object C_CodeNameM: TEdit + Tag = 2 + Left = 497 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + OnChange = ConNoMChange + end + object C_Spec: TEdit + Tag = 2 + Left = 640 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnChange = ConNoMChange + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 86 + Width = 1060 + Height = 204 + Align = alClient + TabOrder = 2 + object Tv1: TcxGridDBTableView + OnMouseDown = Tv1MouseDown + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv1CellClick + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + object v1OrderNo: TcxGridDBColumn + Caption = #21512#21516#32534#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 74 + end + object v1Column2: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 93 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DeliveryDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 85 + end + object v1Column5: TcxGridDBColumn + Caption = #31614#35746#26085#26399 + DataBinding.FieldName = 'QDTime' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 81 + end + object v1FactoryNo1Name: TcxGridDBColumn + Caption = #20379#26041 + DataBinding.FieldName = 'FactoryNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 85 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 71 + end + object v1Qty1: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Hidden = True + Styles.Header = DataLink_TradeManage.Default + Width = 46 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'C_Qty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 67 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'C_Unit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object v1Column4: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 80 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxSplitter1: TcxSplitter + Left = 0 + Top = 577 + Width = 1060 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + end + object Panel2: TPanel + Left = 0 + Top = 290 + Width = 1060 + Height = 287 + Align = alBottom + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 4 + object cxGrid2: TcxGrid + Left = 2 + Top = 34 + Width = 1056 + Height = 251 + Align = alClient + TabOrder = 0 + object Tv2: TcxGridDBTableView + OnMouseDown = Tv2MouseDown + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv2CellClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2MxQty + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + object v2ComeDate: TcxGridDBColumn + Tag = 2 + Caption = #21040#36135#26085#26399 + DataBinding.FieldName = 'ComeDate' + PropertiesClassName = 'TcxDateEditProperties' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 117 + end + object v2Column3: TcxGridDBColumn + Tag = 2 + Caption = #21152#24037#21378 + DataBinding.FieldName = 'RKPlace' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v2Column3PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 122 + end + object v2MxQty: TcxGridDBColumn + Tag = 2 + Caption = #25968#37327 + DataBinding.FieldName = 'MxQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 90 + end + object v2Column2: TcxGridDBColumn + Tag = 2 + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'MXUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v2MxNote: TcxGridDBColumn + Tag = 2 + Caption = #22791#27880 + DataBinding.FieldName = 'MxNote' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 145 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv2 + end + end + object ToolBar2: TToolBar + Left = 2 + Top = 2 + Width = 1056 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 1 + object ToolButton8: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton2Click + end + object ToolButton9: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton3Click + end + object ToolButton10: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #21040#36135#30830#23450 + ImageIndex = 113 + OnClick = ToolButton4Click + end + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 664 + Top = 256 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 936 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1000 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1040 + Top = 8 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 1168 + Top = 8 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 1096 + Top = 8 + end + object ClientDataSet3: TClientDataSet + Aggregates = <> + Params = <> + Left = 1112 + Top = 240 + end + object DataSource2: TDataSource + DataSet = ClientDataSet2 + Left = 880 + Top = 176 + end + object DataSource3: TDataSource + DataSet = ClientDataSet3 + Left = 1112 + Top = 216 + end + object ClientDataSet2: TClientDataSet + Aggregates = <> + Params = <> + Left = 920 + Top = 224 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 352 + Top = 192 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = Order_Main + Left = 400 + Top = 192 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 416 + Top = 248 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 440 + Top = 520 + end +end diff --git a/打卷检验管理/U_ClothContractListDHSX.pas b/打卷检验管理/U_ClothContractListDHSX.pas new file mode 100644 index 0000000..801fa95 --- /dev/null +++ b/打卷检验管理/U_ClothContractListDHSX.pas @@ -0,0 +1,1022 @@ +unit U_ClothContractListDHSX; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, + RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, + cxTextEdit; + +type + TfrmClothContractListDHSX = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Label2: TLabel; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + ConNoM: TEdit; + Label5: TLabel; + C_CodeNameM: TEdit; + Order_Main: TClientDataSet; + Label4: TLabel; + C_Spec: TEdit; + ToolButton2: TToolButton; + ToolButton3: TToolButton; + ToolButton4: TToolButton; + ClientDataSet3: TClientDataSet; + DataSource2: TDataSource; + DataSource3: TDataSource; + ClientDataSet2: TClientDataSet; + ToolButton5: TToolButton; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1FactoryNo1Name: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1Qty1: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + cxSplitter1: TcxSplitter; + Panel2: TPanel; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + v2ComeDate: TcxGridDBColumn; + v2Column3: TcxGridDBColumn; + v2MxQty: TcxGridDBColumn; + v2MxNote: TcxGridDBColumn; + cxGrid2Level1: TcxGridLevel; + ToolBar2: TToolBar; + ToolButton8: TToolButton; + ToolButton9: TToolButton; + ToolButton10: TToolButton; + cxGridPopupMenu2: TcxGridPopupMenu; + v2Column2: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoMChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; + APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); + procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv3MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure ToolButton4Click(Sender: TObject); + procedure Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure ToolButton5Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure v2Column3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure Button1Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure ConNoMKeyPress(Sender: TObject; var Key: Char); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + private + FInt,PFInt:Integer; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + function YFData():Boolean; + function DelYFData():Boolean; + { Private declarations } + public + { Public declarations } + end; + +var + frmClothContractListDHSX: TfrmClothContractListDHSX; + +implementation +uses + U_DataLink,U_ClothContractInPut,U_Fun,U_ProductOrderList,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmClothContractListDHSX.FormDestroy(Sender: TObject); +begin + frmClothContractListDHSX:=nil; +end; + +procedure TfrmClothContractListDHSX.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmClothContractListDHSX.FormCreate(Sender: TObject); +begin + //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; + //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); +end; + +procedure TfrmClothContractListDHSX.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ͬSXdh',Tv1,'ָʾ'); + WriteCxGrid('ͬSXdhr',Tv2,'ָʾ'); +end; + +procedure TfrmClothContractListDHSX.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContractSX_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + + IF Order_Main.IsEmpty then exit; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*'); + sql.Add('from ContractSX_Sub_Mx A'); + sql.Add(' where A.SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and DHTYpe=''ǰӹ'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet2); + SInitCDSData20(ADOQueryTemp,ClientDataSet2); + + + +end; + +procedure TfrmClothContractListDHSX.InitForm(); +begin + ReadCxGrid('ͬSXdh',Tv1,'ָʾ'); + ReadCxGrid('ͬSXdhr',Tv2,'ָʾ'); + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + InitGrid(); +end; + +procedure TfrmClothContractListDHSX.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +function TfrmClothContractListDHSX.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmClothContractListDHSX.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmClothContractListDHSX.ConNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothContractListDHSX.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmClothContractListDHSX.ToolButton2Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + {with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + Application.MessageBox('δ¼!','ʾ',0); + Exit; + end else + begin + if ADOQueryTemp.RecordCount>1 then + begin + Application.MessageBox('¼ظ!','ʾ',0); + Exit; + end; + end; } + with ADOQueryTemp do + begin + Close; + SQL.Clear; + //sql.Add('select Top 1 * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + sql.Add('select Top 1* from ContractHZ_Main '); + sql.Add(' where ConNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + SQL.Add(' and ConType like ''%ɴ%'' '); + Open; + end; + ClientDataSet2.Append; + ClientDataSet2.FieldByName('MXUnit').Value:=Trim(Order_Main.fieldbyname('C_Unit').AsString); + //ClientDataSet2.FieldByName('RKPlace').Value:=Trim(ADOQueryTemp.fieldbyname('PBFactory').AsString); + //ClientDataSet2.FieldByName('RKPLCode').Value:=Trim(ADOQueryTemp.fieldbyname('PBFactory').AsString); + ClientDataSet2.FieldByName('RKPlace').Value:=Trim(ADOQueryTemp.fieldbyname('FactoryNoName').AsString); + ClientDataSet2.FieldByName('RKPLCode').Value:=Trim(ADOQueryTemp.fieldbyname('FactoryNoName').AsString); + ClientDataSet2.Post; +end; + +procedure TfrmClothContractListDHSX.Tv1FocusedRecordChanged( + Sender: TcxCustomGridTableView; APrevFocusedRecord, + AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*'); + sql.Add('from ContractSX_Sub_Mx A'); + sql.Add(' where A.SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet2); + SInitCDSData20(ADOQueryTemp,ClientDataSet2); + {with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,C.MPRTSpec,B.PRTColor,C.MPRTCodeName,C.OrderNo ,'); + sql.Add('C_Unit=(select Top 1 C_Unit from Contract_Sub AA,Contract_Sub_Mx BB where AA.SubId=BB.SubId and BB.MXid=A.Mxid)'); + SQL.Add('from Contract_Sub_MxTo A inner join JYOrder_Sub B on A.OrdSubId=B.SubId'); + SQL.Add(' inner join JYOrder_Main C on C.MainId=B.MainId '); + sql.Add('where A.MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3); } +end; + +procedure TfrmClothContractListDHSX.Tv2MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=2; +end; + +procedure TfrmClothContractListDHSX.Tv1MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=1; +end; + +procedure TfrmClothContractListDHSX.Tv3MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=3; +end; + +procedure TfrmClothContractListDHSX.ToolButton4Click(Sender: TObject); +var + maxno:string; +begin + if ClientDataSet2.IsEmpty then Exit; + if ClientDataSet2.Locate('ComeDate',null,[]) then + begin + Application.MessageBox('ڲΪգ','ʾ',0); + Exit; + end; + if ClientDataSet2.Locate('RKPlace',null,[]) then + begin + Application.MessageBox('ŵص㲻Ϊգ','ʾ',0); + Exit; + end; + if ClientDataSet2.Locate('RKPlace','',[]) then + begin + Application.MessageBox('ŵص㲻Ϊգ','ʾ',0); + Exit; + end; + if ClientDataSet2.Locate('MxQty',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + BegDate.SetFocus; + try + ADOQueryCmd.Connection.BeginTrans; + //ϸ + with ClientDataSet2 do + begin + First; + while not eof do + begin + if Trim(ClientDataSet2.fieldbyname('MXId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,maxno,'QM','ContractSX_Sub_Mx',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡϸˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(ClientDataSet2.fieldbyname('MXId').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from ContractSX_Sub_Mx where MxId='''+Trim(ClientDataSet2.fieldbyname('MXId').AsString)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(ClientDataSet2.fieldbyname('MXId').AsString)='' then + Append + else + Edit; + FieldByName('MxId').Value:=Trim(maxno); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + SSetSaveDataCDSNew(ADOQueryCmd,Tv2,ClientDataSet2,'ContractSX_Sub_Mx',2); + FieldByName('MXUnit').Value:=Trim(Order_Main.fieldbyname('C_Unit').AsString); + FieldByName('RKPLCode').Value:=Trim(ClientDataSet2.fieldbyname('RKPlace').AsString); + FieldByName('DHType').Value:='ǰӹ'; + if Trim(ClientDataSet2.fieldbyname('MxQty').AsString)='' then + begin + FieldByName('MxQty').Value:=0; + end; + Post; + end; + with ClientDataSet2 do + begin + Edit; + FieldByName('MxId').Value:=Trim(maxno); + Post; + end; + + if YFData()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from ContractSX_Cloth_DH where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and FirstNo='''+Trim(ClientDataSet2.fieldbyname('RKPlace').AsString)+''''); + sql.Add(' and DHTYpe=''ǰӹ'' '); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + if GetLSNo(ADOQueryCmd,maxno,'QD','ContractSX_Cloth_DH',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡϸˮʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from ContractSX_Cloth_DH where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('Mainid').AsString); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + FieldByName('DHId').Value:=Trim(maxno); + FieldByName('FirstNo').Value:=Trim(ClientDataSet2.fieldbyname('RKPLace').AsString); + FieldByName('FirstName').Value:=Trim(ClientDataSet2.fieldbyname('RKPLace').AsString); + FieldByName('DHUnit').Value:=Trim(Order_Main.fieldbyname('C_Unit').AsString); + FieldByName('DHType').Value:='ǰӹ'; + Post; + end; + + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update ContractSX_Cloth_DH Set DHUnit='''+Trim(Order_Main.fieldbyname('C_Unit').AsString)+''''); + sql.Add(' where DHID='''+Trim(ADOQueryTemp.fieldbyname('DHID').AsString)+''''); + ExecSQL; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update ContractSX_Cloth_DH Set DHQty=(select Sum(MxQty) from ContractSX_Sub_Mx A where A.SubId=ContractSX_Cloth_DH.SubId'); + sql.Add(' and A.RKPLace=ContractSX_Cloth_DH.FirstName and A.DHType=''ǰӹ'' )'); + sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('Subid').AsString)+''''); + sql.Add(' and FirstName='''+Trim(ClientDataSet2.fieldbyname('RKPLace').AsString)+''''); + sql.Add(' and DHType=''ǰӹ'' '); + ExecSQL; + end; + Next; + end; + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractSX_Cloth_DH '); + sql.Add('where not exists(select * from ContractSX_Sub_Mx A where A.SubId=ContractSX_Cloth_DH.SubId '); + sql.Add(' and A.RKPlace=ContractSX_Cloth_DH.firstName and A.DHType=''ǰӹ'') '); + sql.Add(' and SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and FirstName='''+Trim(ClientDataSet2.fieldbyname('RKPLace').AsString)+''''); + sql.Add(' and DHType=''ǰӹ'' '); + ExecSQL; + end; + {with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LLMX B where not exists(select * from '); + sql.Add(' Contract_Cloth_DH A where A.DHID=B.DHID '); + SQL.Add(' and A.SubId=B.SubId ) and B.SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOQueryCmd.IsEmpty=False then + begin + Application.MessageBox('ݽҲӦȾܱ!','ʾ',0); + //begin + ADOQueryCmd.Connection.RollbackTrans; + Exit; + //end; + end; } + {with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete YFMoney'); + ExecSQL; + end;} + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; +function TfrmClothContractListDHSX.YFData():Boolean; +var + CRID,OrdMainId,YFID,FComTaiTou,FCRID,FFactoryName:String; +begin + Result:=False; +{ with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + + Application.MessageBox('δ¼!','ʾ',0); + Exit; + end else + begin + if ADOQueryTemp.RecordCount>1 then + begin + + Application.MessageBox('¼ظ!','ʾ',0); + Exit; + end; + end; } + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + OrdMainId:=Trim(ADOQueryTemp.fieldbyname('MainId').AsString); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select OrdDefStr2 from JYOrder_Main where Mainid='''+Trim(OrdMainId)+''''); + Open; + end; + FComTaiTou:=Trim(ADOQueryTemp.fieldbyname('OrdDefStr2').AsString); + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FactoryNoName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CRID set CRID=CRID+1'); + sql.Add('select * from YF_Money_CRID '); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FactoryNoName').AsString); + FieldByName('ZdyStr1').Value:='Ӧ'; + Post; + end; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(Order_Main.fieldbyname('FactoryNoName').AsString)+''''); + sql.Add(' and YFTypeId='''+Trim(ClientDataSet2.fieldbyname('MXId').AsString)+''''); + Open; + end; + //if ADOQueryTemp.IsEmpty then + begin + if ADOQueryTemp.IsEmpty then + begin + if GetLSNo(ADOQueryCmd,YFID,'PF','YF_Money_CR',3,1)=False then + begin + Application.MessageBox('ȡӦʧ!','ʾ',0); + Exit; + end; + end else + begin + YFID:=Trim(ADOQueryTemp.fieldbyname('YFID').AsString); + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where YFID='''+Trim(YFID)+''''); + Open; + end; + with ADOQueryCmd do + begin + if ADOQueryTemp.IsEmpty then + Append + else + Edit; + FieldByName('YFID').Value:=Trim(YFID); + FieldByName('YFTypeId').Value:=Trim(ClientDataSet2.fieldbyname('MXId').AsString); + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRType').Value:='ӦǼ'; + FieldByName('CRFlag').Value:='Ӧ'; + FieldByName('QtyFlag').Value:=1; + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FactoryNoName').AsString); + FieldByName('CRTime').Value:=ClientDataSet2.fieldbyname('ComeDate').Value; + FieldByName('Qty').Value:=ClientDataSet2.fieldbyname('MXQty').Value; + //FieldByName('PS').Value:=ClientDataSet2.fieldbyname('Qty1').Value; + FieldByName('YFType').Value:='Զ'; + FieldByName('Price').Value:=Order_Main.fieldbyname('Price').Value; + FieldByName('HuiLv').Value:=1; + FieldByName('BZType').Value:=''; + FieldByName('ComTaiTou').Value:=''; + FieldByName('QtyUnit').Value:=Trim(Order_Main.fieldbyname('C_Unit').AsString); + FieldByName('YFName').Value:='ɴ߷'; + FieldByName('MainId').Value:=Trim(OrdMainId); + Post; + end; + end; + {with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('update YF_Money_CR Set Qty=(select isnull(Sum(MXQty),0) from Contract_Sub_MX A inner join'); + SQL.Add('Contract_Sub B on A.SubId=B.SubId where B.MainId=YF_Money_CR.YFTypeId)'); + sql.Add(',PS=(select isnull(Sum(A.Qty1),0) from Contract_Sub_MX A inner join'); + SQL.Add('Contract_Sub B on A.SubId=B.SubId where B.MainId=YF_Money_CR.YFTypeId)'); + sql.Add(' where YFTypeId='''+Trim(Order_Main.fieldbyname('Mainid').AsString)+''''); + ExecSQL; + end;} + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CR Set Money=Price*Qty,BBMoney=Price*Qty'); + sql.Add(' where YFID='''+Trim(YFID)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + Result:=True; +end; +function TfrmClothContractListDHSX.DelYFData():Boolean; +var + CRID,OrdMainId,YFID:String; +begin + Result:=False; + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FactoryNoName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; + end else + begin + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete YF_Money_CR where FactoryName='''+Trim(Order_Main.fieldbyname('FactoryNoName').AsString)+''''); + sql.Add(' and YFTypeId='''+Trim(ClientDataSet2.fieldbyname('MXId').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + Result:=True; +end; +procedure TfrmClothContractListDHSX.Tv2CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,C.MPRTSpec,B.PRTColor,C.MPRTCodeName,C.OrderNo ,'); + sql.Add('C_Unit=(select Top 1 C_Unit from Contract_Sub AA,Contract_Sub_Mx BB where AA.SubId=BB.SubId and BB.MXid=A.Mxid)'); + SQL.Add(' from Contract_Sub_MxTo A inner join JYOrder_Sub B on A.OrdSubId=B.SubId '); + SQL.Add(' inner join JYOrder_Main C on C.MainId=B.MainId '); + sql.Add('where A.MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3); +end; + +procedure TfrmClothContractListDHSX.ToolButton5Click(Sender: TObject); +var + maxno:string; +begin + if ClientDataSet3.IsEmpty then Exit; + if ClientDataSet2.IsEmpty then Exit; + if Trim(ClientDataSet2.fieldbyname('MXId').AsString)='' then + begin + Application.MessageBox('δȷ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('OrderNo',null,[]) then + begin + Application.MessageBox('ָŲΪգ','ʾ',0); + Exit; + end; + BegDate.SetFocus; + try + ADOQueryCmd.Connection.BeginTrans; + //ȥ + with ClientDataSet3 do + begin + First; + while not eof do + begin + if Trim(ClientDataSet3.fieldbyname('ToId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,maxno,'To','Contract_Sub_MxTo',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡȥˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(ClientDataSet3.fieldbyname('ToId').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub_MxTo where ToId='''+Trim(ClientDataSet3.fieldbyname('ToId').AsString)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(ClientDataSet3.fieldbyname('ToId').AsString)='' then + Append + else + Edit; + FieldByName('MxId').Value:=Trim(ClientDataSet2.fieldbyname('MxId').AsString); + FieldByName('ToId').Value:=Trim(maxno); + FieldByName('OrdSubId').Value:=Trim(ClientDataSet3.fieldbyname('OrdSubId').AsString); + FieldByName('TPDate').Value:=ClientDataSet3.fieldbyname('TPDate').Value; + FieldByName('TPPerson').Value:=ClientDataSet3.fieldbyname('TPPerson').Value; + FieldByName('TPNote').Value:=ClientDataSet3.fieldbyname('TPNote').Value; + if Trim(ClientDataSet3.fieldbyname('TPQty').AsString)<>'' then + FieldByName('TPQty').Value:=ClientDataSet3.fieldbyname('TPQty').Value + else + FieldByName('TPQty').Value:=0; + if Trim(ClientDataSet3.fieldbyname('Qty1').AsString)<>'' then + FieldByName('Qty1').Value:=ClientDataSet3.fieldbyname('Qty1').Value + else + FieldByName('Qty1').Value:=0; + if Trim(ClientDataSet3.fieldbyname('Qty2').AsString)<>'' then + FieldByName('Qty2').Value:=ClientDataSet3.fieldbyname('Qty2').Value + else + FieldByName('Qty2').Value:=0; + if Trim(ClientDataSet3.fieldbyname('Qty3').AsString)<>'' then + FieldByName('Qty3').Value:=ClientDataSet3.fieldbyname('Qty3').Value + else + FieldByName('Qty3').Value:=0; + Post; + end; + with ClientDataSet3 do + begin + Edit; + FieldByName('ToId').Value:=Trim(maxno); + Post; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmClothContractListDHSX.ToolButton3Click(Sender: TObject); +begin + //if FInt=2 then + //begin + if ClientDataSet2.IsEmpty then Exit; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + try + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractSX_Sub_Mx where MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update ContractSX_Cloth_DH Set DHQty=(select isnull(Sum(MxQty),0) from ContractSX_Sub_Mx A where A.SubId=ContractSX_Cloth_DH.SubId'); + sql.Add(' and A.RKPLCode=ContractSX_Cloth_DH.FirstNo and A.DHTYpe=''ǰӹ'' )'); + sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('Subid').AsString)+''''); + sql.Add(' and FirstNo='''+Trim(ClientDataSet2.fieldbyname('RKPLCode').AsString)+''''); + SQL.Add(' and DHTYpe=''ǰӹ'''); + ExecSQL; + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractSX_Cloth_DH '); + sql.Add('where not exists(select * from ContractSX_Sub_Mx A where A.SubId=ContractSX_Cloth_DH.SubId '); + sql.Add(' and A.RKPlace=ContractSX_Cloth_DH.firstName and A.DHType=''ǰӹ'') '); + sql.Add(' and SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and FirstName='''+Trim(ClientDataSet2.fieldbyname('RKPLace').AsString)+''''); + sql.Add(' and DHType=''ǰӹ'' '); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from ContractSX_Sub_MX B where not exists(select * from '); + sql.Add(' ContractSX_Cloth_DH A where A.DHID=B.QJGDHID '); + SQL.Add(' and A.SubId=B.SubId ) and B.SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and isnull(QJGDHID,'''')<>'''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + Application.MessageBox('Ѳݣɾ!','ʾ',0); + //begin + ADOQueryCmd.Connection.RollbackTrans; + Exit; + //end; + end; + DelYFData(); + ClientDataSet2.Delete; + ADOQueryCmd.Connection.CommitTrans; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ɾ쳣!','ʾ',0); + end; + //end; +end; + +procedure TfrmClothContractListDHSX.v2Column3PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + //flag:='RKPlace'; + flag:='Factory'; + flagname:='ص'; + MainType:='PBFactory'; + if ShowModal=1 then + begin + with ClientDataSet2 do + begin + Edit; + FieldByName('RKPlace').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + FieldByName('RKPlCode').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractListDHSX.Button1Click(Sender: TObject); +begin + ToolButton2.Click; +end; + +procedure TfrmClothContractListDHSX.Button2Click(Sender: TObject); +begin + ToolButton3.Click; +end; + +procedure TfrmClothContractListDHSX.Button3Click(Sender: TObject); +begin + ToolButton4.Click; +end; + +procedure TfrmClothContractListDHSX.ConNoMKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Length(Trim(ConNoM.Text))<4 then Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContractSX_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and OM.conNo like '''+'%'+Trim(ConNoM.Text)+'%'+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +procedure TfrmClothContractListDHSX.Tv1CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*'); + sql.Add('from ContractSX_Sub_Mx A'); + sql.Add(' where A.SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and DHTYpe=''ǰӹ'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet2); + SInitCDSData20(ADOQueryTemp,ClientDataSet2); +end; + +end. diff --git a/打卷检验管理/U_ClothContractListDHSXQJG.dfm b/打卷检验管理/U_ClothContractListDHSXQJG.dfm new file mode 100644 index 0000000..ffb2425 --- /dev/null +++ b/打卷检验管理/U_ClothContractListDHSXQJG.dfm @@ -0,0 +1,599 @@ +object frmClothContractListDHSXQJG: TfrmClothContractListDHSXQJG + Left = 74 + Top = 0 + Width = 1155 + Height = 754 + Caption = #32433#32447#21069#21152#24037 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1147 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 107 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBClose: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + object ToolButton2: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + Visible = False + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + Visible = False + OnClick = ToolButton3Click + end + object ToolButton4: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #21040#22383#30830#23450 + ImageIndex = 113 + Visible = False + OnClick = ToolButton4Click + end + object ToolButton5: TToolButton + Left = 402 + Top = 0 + Caption = #22383#24067#39046#26009#30830#23450 + ImageIndex = 114 + Visible = False + OnClick = ToolButton5Click + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1147 + Height = 54 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 22 + Width = 52 + Height = 12 + Caption = #30331#35760#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 161 + Top = 22 + Width = 18 + Height = 12 + Caption = '---' + end + object Label3: TLabel + Left = 283 + Top = 22 + Width = 52 + Height = 12 + Caption = #21512#21516#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 444 + Top = 22 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 612 + Top = 22 + Width = 26 + Height = 12 + Caption = #35268#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 18 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 179 + Top = 18 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object ConNo: TEdit + Tag = 2 + Left = 337 + Top = 18 + Width = 81 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnChange = ConNoChange + OnKeyPress = ConNoKeyPress + end + object C_CodeNameM: TEdit + Tag = 2 + Left = 497 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + OnChange = ConNoChange + end + object C_Spec: TEdit + Tag = 2 + Left = 640 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnChange = ConNoChange + end + end + object cxSplitter1: TcxSplitter + Left = 0 + Top = 712 + Width = 1147 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + end + object Panel2: TPanel + Left = 0 + Top = 425 + Width = 1147 + Height = 287 + Align = alBottom + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 3 + object cxGrid2: TcxGrid + Left = 2 + Top = 34 + Width = 1143 + Height = 251 + Align = alClient + TabOrder = 0 + object Tv2: TcxGridDBTableView + OnMouseDown = Tv2MouseDown + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv2CellClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2MxQty + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + object v2ComeDate: TcxGridDBColumn + Tag = 2 + Caption = #20986#24211#26085#26399 + DataBinding.FieldName = 'ComeDate' + PropertiesClassName = 'TcxDateEditProperties' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 117 + end + object v2Column3: TcxGridDBColumn + Tag = 2 + Caption = #21518#21152#24037#21378 + DataBinding.FieldName = 'RKPlace' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v2Column3PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 115 + end + object v2MxQty: TcxGridDBColumn + Tag = 2 + Caption = #25968#37327 + DataBinding.FieldName = 'MxQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 90 + end + object v2Column2: TcxGridDBColumn + Tag = 2 + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'MXUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object v2Column1: TcxGridDBColumn + Caption = #26579#32433#21333#20215 + DataBinding.FieldName = 'MXPrice' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 76 + end + object v2MxNote: TcxGridDBColumn + Tag = 2 + Caption = #22791#27880 + DataBinding.FieldName = 'MxNote' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 145 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv2 + end + end + object ToolBar2: TToolBar + Left = 2 + Top = 2 + Width = 1143 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 1 + object ToolButton8: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton2Click + end + object ToolButton9: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton3Click + end + object ToolButton10: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 113 + OnClick = ToolButton4Click + end + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 86 + Width = 1147 + Height = 339 + Align = alClient + TabOrder = 4 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv1CellClick + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column3 + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column8 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1OrderNo: TcxGridDBColumn + Caption = #21512#21516#32534#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 114 + end + object v1Column2: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 112 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 106 + end + object v1FactoryNo1Name: TcxGridDBColumn + Caption = #21407#26448#26009#21378 + DataBinding.FieldName = 'FactoryNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 79 + end + object v1Column5: TcxGridDBColumn + Caption = #21069#21152#24037#21378 + DataBinding.FieldName = 'FirstName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 84 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'DHUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 64 + end + object v1Column3: TcxGridDBColumn + Caption = #21040#36135#25968#37327 + DataBinding.FieldName = 'DHQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1Column8: TcxGridDBColumn + Caption = #32433#32447#25968#37327 + DataBinding.FieldName = 'ClothQty' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column4: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + PopupMenus = <> + Left = 664 + Top = 256 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 936 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1000 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1040 + Top = 8 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 1168 + Top = 8 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 1096 + Top = 8 + end + object ClientDataSet3: TClientDataSet + Aggregates = <> + Params = <> + Left = 1112 + Top = 240 + end + object DataSource2: TDataSource + DataSet = ClientDataSet2 + Left = 880 + Top = 176 + end + object DataSource3: TDataSource + DataSet = ClientDataSet3 + Left = 1112 + Top = 216 + end + object ClientDataSet2: TClientDataSet + Aggregates = <> + Params = <> + Left = 920 + Top = 224 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 352 + Top = 192 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = Order_Main + Left = 400 + Top = 192 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 416 + Top = 248 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 440 + Top = 520 + end +end diff --git a/打卷检验管理/U_ClothContractListDHSXQJG.pas b/打卷检验管理/U_ClothContractListDHSXQJG.pas new file mode 100644 index 0000000..24e7a69 --- /dev/null +++ b/打卷检验管理/U_ClothContractListDHSXQJG.pas @@ -0,0 +1,1057 @@ +unit U_ClothContractListDHSXQJG; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, + RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, + cxTextEdit; + +type + TfrmClothContractListDHSXQJG = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Label2: TLabel; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + ConNo: TEdit; + Label5: TLabel; + C_CodeNameM: TEdit; + Order_Main: TClientDataSet; + Label4: TLabel; + C_Spec: TEdit; + ToolButton2: TToolButton; + ToolButton3: TToolButton; + ToolButton4: TToolButton; + ClientDataSet3: TClientDataSet; + DataSource2: TDataSource; + DataSource3: TDataSource; + ClientDataSet2: TClientDataSet; + ToolButton5: TToolButton; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + cxSplitter1: TcxSplitter; + Panel2: TPanel; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + v2ComeDate: TcxGridDBColumn; + v2Column3: TcxGridDBColumn; + v2MxQty: TcxGridDBColumn; + v2MxNote: TcxGridDBColumn; + cxGrid2Level1: TcxGridLevel; + ToolBar2: TToolBar; + ToolButton8: TToolButton; + ToolButton9: TToolButton; + ToolButton10: TToolButton; + cxGridPopupMenu2: TcxGridPopupMenu; + v2Column2: TcxGridDBColumn; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1FactoryNo1Name: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v2Column1: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; + APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); + procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv3MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure ToolButton4Click(Sender: TObject); + procedure Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure ToolButton5Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure v2Column3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure Button1Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure ConNoKeyPress(Sender: TObject; var Key: Char); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + private + FInt,PFInt:Integer; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + function YFData():Boolean; + function DelYFData():Boolean; + { Private declarations } + public + { Public declarations } + end; + +var + frmClothContractListDHSXQJG: TfrmClothContractListDHSXQJG; + +implementation +uses + U_DataLink,U_ClothContractInPut,U_Fun,U_ProductOrderList,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmClothContractListDHSXQJG.FormDestroy(Sender: TObject); +begin + frmClothContractListDHSXQJG:=nil; +end; + +procedure TfrmClothContractListDHSXQJG.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmClothContractListDHSXQJG.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ͬSXdhQJG',Tv1,'ָʾ'); + WriteCxGrid('ͬSXdhrQJG',Tv2,'ָʾ'); +end; + +procedure TfrmClothContractListDHSXQJG.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select ClothQty=DHQty-TPQtyHZ, '); + sql.Add(' A.*,B.ConNo,C.C_CodeName,C.C_Spec,C.MFQty,C.KZQty,B.FactoryNoName from ContractSX_Cloth_DH A '); + sql.add(' inner join ContractSX_Main B on A.Mainid=B.Mainid'); + sql.Add('inner join ContractSX_Sub C on A.Subid=C.Subid'); + sql.Add(' where B.FillTime>=:begdate and B.Filltime<:enddate and A.DHType=''ǰӹ'' '); + Parameters.ParamByName('begdate').Value:=BegDate.Date; + Parameters.ParamByName('enddate').Value:=EndDate.Date+1; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + IF Order_Main.IsEmpty then exit; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*'); + sql.Add('from ContractSX_Sub_Mx A'); + sql.Add(' where A.SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and A.DHType=''ǰ'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet2); + SInitCDSData20(ADOQueryTemp,ClientDataSet2); +end; + +procedure TfrmClothContractListDHSXQJG.InitForm(); +begin + ReadCxGrid('ͬSXdhQJG',Tv1,'ָʾ'); + ReadCxGrid('ͬSXdhrQJG',Tv2,'ָʾ'); + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + InitGrid(); +end; + +procedure TfrmClothContractListDHSXQJG.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +function TfrmClothContractListDHSXQJG.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmClothContractListDHSXQJG.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmClothContractListDHSXQJG.ConNoChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothContractListDHSXQJG.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmClothContractListDHSXQJG.ToolButton2Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + {with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + Application.MessageBox('δ¼!','ʾ',0); + Exit; + end else + begin + if ADOQueryTemp.RecordCount>1 then + begin + Application.MessageBox('¼ظ!','ʾ',0); + Exit; + end; + end; } + if ClientDataSet2.Active=False then + begin + Application.MessageBox('ûѡ!','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1 * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + ClientDataSet2.Append; + ClientDataSet2.FieldByName('MXUnit').Value:=Trim(Order_Main.fieldbyname('DHUnit').AsString); + ClientDataSet2.Post; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1 * from ContractHZ_Main A inner join ContractHZ_Sub B on A.MainId=B.MainId'); + sql.Add(' where A.ConNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + sql.Add(' and A.ConType=''ɴǰӹ'''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + with ClientDataSet2 do + begin + Edit; + FieldByName('RKPlace').Value:=ADOQueryTemp.fieldbyname('FactoryNoName').Value; + FieldByName('MXPrice').Value:=ADOQueryTemp.fieldbyname('Price').Value; + Post; + end; + end; +end; + +procedure TfrmClothContractListDHSXQJG.Tv1FocusedRecordChanged( + Sender: TcxCustomGridTableView; APrevFocusedRecord, + AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*'); + sql.Add('from ContractSX_Sub_Mx A'); + sql.Add(' where A.SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet2); + SInitCDSData20(ADOQueryTemp,ClientDataSet2); + {with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,C.MPRTSpec,B.PRTColor,C.MPRTCodeName,C.OrderNo ,'); + sql.Add('C_Unit=(select Top 1 C_Unit from Contract_Sub AA,Contract_Sub_Mx BB where AA.SubId=BB.SubId and BB.MXid=A.Mxid)'); + SQL.Add('from Contract_Sub_MxTo A inner join JYOrder_Sub B on A.OrdSubId=B.SubId'); + SQL.Add(' inner join JYOrder_Main C on C.MainId=B.MainId '); + sql.Add('where A.MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3); } +end; + +procedure TfrmClothContractListDHSXQJG.Tv2MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=2; +end; + +procedure TfrmClothContractListDHSXQJG.Tv1MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=1; +end; + +procedure TfrmClothContractListDHSXQJG.Tv3MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=3; +end; + +procedure TfrmClothContractListDHSXQJG.ToolButton4Click(Sender: TObject); +var + maxno:string; +begin + if ClientDataSet2.IsEmpty then Exit; + if ClientDataSet2.Locate('ComeDate',null,[]) then + begin + Application.MessageBox('ڲΪգ','ʾ',0); + Exit; + end; + if ClientDataSet2.Locate('RKPlace',null,[]) then + begin + Application.MessageBox('ӹΪգ','ʾ',0); + Exit; + end; + if ClientDataSet2.Locate('RKPlace','',[]) then + begin + Application.MessageBox('ӹΪգ','ʾ',0); + Exit; + end; + if ClientDataSet2.Locate('MxQty',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if ClientDataSet2.Locate('MXPrice',null,[]) then + begin + Application.MessageBox('Ⱦɴ۲Ϊգ','ʾ',0); + Exit; + end; + BegDate.SetFocus; + try + ADOQueryCmd.Connection.BeginTrans; + //ϸ + with ClientDataSet2 do + begin + First; + while not eof do + begin + if Trim(ClientDataSet2.fieldbyname('MXId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,maxno,'MX','ContractSX_Sub_Mx',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡϸˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(ClientDataSet2.fieldbyname('MXId').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from ContractSX_Sub_Mx where MxId='''+Trim(ClientDataSet2.fieldbyname('MXId').AsString)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(ClientDataSet2.fieldbyname('MXId').AsString)='' then + Append + else + Edit; + FieldByName('MxId').Value:=Trim(maxno); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + SSetSaveDataCDSNew(ADOQueryCmd,Tv2,ClientDataSet2,'ContractSX_Sub_Mx',2); + FieldByName('MXUnit').Value:=Trim(Order_Main.fieldbyname('DHUnit').AsString); + FieldByName('RKPLCode').Value:=Trim(ClientDataSet2.fieldbyname('RKPlace').AsString); + FieldByName('QJGDHID').Value:=Trim(Order_Main.fieldbyname('DHID').AsString); + FieldByName('DHTYpe').Value:='ǰ'; + if Trim(ClientDataSet2.fieldbyname('MxQty').AsString)='' then + begin + FieldByName('MxQty').Value:=0; + end; + if Trim(ClientDataSet2.fieldbyname('MxPrice').AsString)='' then + begin + FieldByName('MxPrice').Value:=0; + end; + Post; + end; + with ClientDataSet2 do + begin + Edit; + FieldByName('MxId').Value:=Trim(maxno); + Post; + end; + + if YFData()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from ContractSX_Cloth_DH where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and FirstName='''+Trim(ClientDataSet2.fieldbyname('RKPlace').AsString)+''''); + sql.Add(' and DHTYpe=''ǰ'' '); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + if GetLSNo(ADOQueryCmd,maxno,'SD','ContractSX_Cloth_DH',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡϸˮʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from ContractSX_Cloth_DH where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('Mainid').AsString); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + FieldByName('DHId').Value:=Trim(maxno); + FieldByName('FirstNo').Value:=Trim(ClientDataSet2.fieldbyname('RKPLace').AsString); + FieldByName('FirstName').Value:=Trim(ClientDataSet2.fieldbyname('RKPLace').AsString); + FieldByName('DHUnit').Value:=Trim(Order_Main.fieldbyname('DHUnit').AsString); + FieldByName('DHType').Value:='ǰ'; + Post; + end; + + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update ContractSX_Cloth_DH Set DHUnit='''+Trim(Order_Main.fieldbyname('DHUnit').AsString)+''''); + sql.Add(' where DHID='''+Trim(ADOQueryTemp.fieldbyname('DHID').AsString)+''''); + ExecSQL; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update ContractSX_Cloth_DH Set DHQty=(select Sum(MxQty) from ContractSX_Sub_Mx A where A.SubId=ContractSX_Cloth_DH.SubId'); + sql.Add(' and A.RKPLace=ContractSX_Cloth_DH.FirstName and A.DHTYpe=''ǰ'' )'); + sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('Subid').AsString)+''''); + sql.Add(' and FirstName='''+Trim(ClientDataSet2.fieldbyname('RKPLace').AsString)+''''); + sql.Add(' and DHType=''ǰ'' '); + ExecSQL; + end; + + Next; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate ContractSX_Cloth_DH Set TPQtyHZ=(select sum(MXQty) from ContractSX_Sub_Mx A where A.QJGDHID=ContractSX_Cloth_DH.DHID)'); + sql.Add(' where DHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractSX_Cloth_DH '); + sql.Add('where not exists(select * from ContractSX_Sub_Mx A where A.SubId=ContractSX_Cloth_DH.SubId '); + SQL.Add('and A.RKPlace=ContractSX_Cloth_DH.firstName and A.DHType=''ǰ'')'); + sql.Add(' and SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and firstName='''+Trim(ClientDataSet2.fieldbyname('RKPLace').AsString)+''''); + sql.Add(' and DHType=''ǰ'''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LLMX B where not exists(select * from '); + sql.Add(' Contract_Cloth_DH A where A.DHID=B.DHID '); + SQL.Add(' and A.SubId=B.SubId ) and B.SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOQueryCmd.IsEmpty=False then + begin + Application.MessageBox('ݽҲӦȾܱ!','ʾ',0); + //begin + ADOQueryCmd.Connection.RollbackTrans; + Exit; + //end; + end; + {with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete YFMoney'); + ExecSQL; + end;} + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; +function TfrmClothContractListDHSXQJG.YFData():Boolean; +var + CRID,OrdMainId,YFID,FComTaiTou,FCRID,FFactoryName:String; +begin + Result:=False; +{ with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + + Application.MessageBox('δ¼!','ʾ',0); + Exit; + end else + begin + if ADOQueryTemp.RecordCount>1 then + begin + + Application.MessageBox('¼ظ!','ʾ',0); + Exit; + end; + end; } + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + OrdMainId:=Trim(ADOQueryTemp.fieldbyname('MainId').AsString); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select OrdDefStr2 from JYOrder_Main where Mainid='''+Trim(OrdMainId)+''''); + Open; + end; + FComTaiTou:=Trim(ADOQueryTemp.fieldbyname('OrdDefStr2').AsString); + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CRID set CRID=CRID+1'); + sql.Add('select * from YF_Money_CRID '); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('ZdyStr1').Value:='Ӧ'; + Post; + end; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + sql.Add(' and YFTypeId='''+Trim(ClientDataSet2.fieldbyname('MXId').AsString)+''''); + Open; + end; + //if ADOQueryTemp.IsEmpty then + begin + if ADOQueryTemp.IsEmpty then + begin + if GetLSNo(ADOQueryCmd,YFID,'SQ','YF_Money_CR',3,1)=False then + begin + Application.MessageBox('ȡӦʧ!','ʾ',0); + Exit; + end; + end else + begin + YFID:=Trim(ADOQueryTemp.fieldbyname('YFID').AsString); + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where YFID='''+Trim(YFID)+''''); + Open; + end; + with ADOQueryCmd do + begin + if ADOQueryTemp.IsEmpty then + Append + else + Edit; + FieldByName('YFID').Value:=Trim(YFID); + FieldByName('YFTypeId').Value:=Trim(ClientDataSet2.fieldbyname('MXId').AsString); + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRType').Value:='ӦǼ'; + FieldByName('CRFlag').Value:='Ӧ'; + FieldByName('QtyFlag').Value:=1; + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('CRTime').Value:=ClientDataSet2.fieldbyname('ComeDate').Value; + FieldByName('Qty').Value:=ClientDataSet2.fieldbyname('MXQty').Value; + //FieldByName('PS').Value:=ClientDataSet2.fieldbyname('Qty1').Value; + FieldByName('YFType').Value:='Զ'; + if Trim(ClientDataSet2.fieldbyname('MXPrice').AsString)<>'' then + FieldByName('Price').Value:=ClientDataSet2.fieldbyname('MXPrice').Value + else + FieldByName('Price').Value:=0; + FieldByName('HuiLv').Value:=1; + FieldByName('BZType').Value:=''; + FieldByName('ComTaiTou').Value:=''; + FieldByName('QtyUnit').Value:=Trim(Order_Main.fieldbyname('DHUnit').AsString); + //FieldByName('YFName').Value:='ɴǰӹ'; + FieldByName('YFName').Value:='Ⱦɴ'; + FieldByName('MainId').Value:=Trim(OrdMainId); + Post; + end; + end; + {with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('update YF_Money_CR Set Qty=(select isnull(Sum(MXQty),0) from Contract_Sub_MX A inner join'); + SQL.Add('Contract_Sub B on A.SubId=B.SubId where B.MainId=YF_Money_CR.YFTypeId)'); + sql.Add(',PS=(select isnull(Sum(A.Qty1),0) from Contract_Sub_MX A inner join'); + SQL.Add('Contract_Sub B on A.SubId=B.SubId where B.MainId=YF_Money_CR.YFTypeId)'); + sql.Add(' where YFTypeId='''+Trim(Order_Main.fieldbyname('Mainid').AsString)+''''); + ExecSQL; + end;} + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CR Set Money=Price*Qty,BBMoney=Price*Qty'); + sql.Add(' where YFID='''+Trim(YFID)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + Result:=True; +end; +function TfrmClothContractListDHSXQJG.DelYFData():Boolean; +var + CRID,OrdMainId,YFID:String; +begin + Result:=False; + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FactoryNoName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; + end else + begin + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete YF_Money_CR where FactoryName='''+Trim(Order_Main.fieldbyname('FactoryNoName').AsString)+''''); + sql.Add(' and YFTypeId='''+Trim(ClientDataSet2.fieldbyname('MXId').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + Result:=True; +end; +procedure TfrmClothContractListDHSXQJG.Tv2CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,C.MPRTSpec,B.PRTColor,C.MPRTCodeName,C.OrderNo ,'); + sql.Add('C_Unit=(select Top 1 C_Unit from Contract_Sub AA,Contract_Sub_Mx BB where AA.SubId=BB.SubId and BB.MXid=A.Mxid)'); + SQL.Add(' from Contract_Sub_MxTo A inner join JYOrder_Sub B on A.OrdSubId=B.SubId '); + SQL.Add(' inner join JYOrder_Main C on C.MainId=B.MainId '); + sql.Add('where A.MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3); +end; + +procedure TfrmClothContractListDHSXQJG.ToolButton5Click(Sender: TObject); +var + maxno:string; +begin + if ClientDataSet3.IsEmpty then Exit; + if ClientDataSet2.IsEmpty then Exit; + if Trim(ClientDataSet2.fieldbyname('MXId').AsString)='' then + begin + Application.MessageBox('δȷ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('OrderNo',null,[]) then + begin + Application.MessageBox('ָŲΪգ','ʾ',0); + Exit; + end; + BegDate.SetFocus; + try + ADOQueryCmd.Connection.BeginTrans; + //ȥ + with ClientDataSet3 do + begin + First; + while not eof do + begin + if Trim(ClientDataSet3.fieldbyname('ToId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,maxno,'To','Contract_Sub_MxTo',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡȥˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(ClientDataSet3.fieldbyname('ToId').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub_MxTo where ToId='''+Trim(ClientDataSet3.fieldbyname('ToId').AsString)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(ClientDataSet3.fieldbyname('ToId').AsString)='' then + Append + else + Edit; + FieldByName('MxId').Value:=Trim(ClientDataSet2.fieldbyname('MxId').AsString); + FieldByName('ToId').Value:=Trim(maxno); + FieldByName('OrdSubId').Value:=Trim(ClientDataSet3.fieldbyname('OrdSubId').AsString); + FieldByName('TPDate').Value:=ClientDataSet3.fieldbyname('TPDate').Value; + FieldByName('TPPerson').Value:=ClientDataSet3.fieldbyname('TPPerson').Value; + FieldByName('TPNote').Value:=ClientDataSet3.fieldbyname('TPNote').Value; + if Trim(ClientDataSet3.fieldbyname('TPQty').AsString)<>'' then + FieldByName('TPQty').Value:=ClientDataSet3.fieldbyname('TPQty').Value + else + FieldByName('TPQty').Value:=0; + if Trim(ClientDataSet3.fieldbyname('Qty1').AsString)<>'' then + FieldByName('Qty1').Value:=ClientDataSet3.fieldbyname('Qty1').Value + else + FieldByName('Qty1').Value:=0; + if Trim(ClientDataSet3.fieldbyname('Qty2').AsString)<>'' then + FieldByName('Qty2').Value:=ClientDataSet3.fieldbyname('Qty2').Value + else + FieldByName('Qty2').Value:=0; + if Trim(ClientDataSet3.fieldbyname('Qty3').AsString)<>'' then + FieldByName('Qty3').Value:=ClientDataSet3.fieldbyname('Qty3').Value + else + FieldByName('Qty3').Value:=0; + Post; + end; + with ClientDataSet3 do + begin + Edit; + FieldByName('ToId').Value:=Trim(maxno); + Post; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmClothContractListDHSXQJG.ToolButton3Click(Sender: TObject); +begin + //if FInt=2 then + //begin + if ClientDataSet2.IsEmpty then Exit; + if Trim(ClientDataSet2.FieldByName('MxId').AsString)='' then + begin + ClientDataSet2.Delete; + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + try + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractSX_Sub_Mx where MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update ContractSX_Cloth_DH Set DHQty=(select isnull(Sum(MxQty),0) from ContractSX_Sub_Mx A where A.SubId=ContractSX_Cloth_DH.SubId'); + sql.Add(' and A.RKPLace=ContractSX_Cloth_DH.FirstName)'); + sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('Subid').AsString)+''''); + sql.Add(' and FirstNo='''+Trim(ClientDataSet2.fieldbyname('RKPLCode').AsString)+''''); + ExecSQL; + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractSX_Cloth_DH '); + sql.Add('where not exists(select * from ContractSX_Sub_Mx A where A.SubId=ContractSX_Cloth_DH.SubId and A.RKPlace=ContractSX_Cloth_DH.firstName) '); + sql.Add(' and SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from ContractSX_Cloth_LLMX B where not exists(select * from '); + sql.Add(' ContractSX_Cloth_DH A where A.DHID=B.DHID '); + SQL.Add(' and A.SubId=B.SubId ) and B.SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOQueryCmd.IsEmpty=False then + begin + Application.MessageBox('Ѳݣɾ!','ʾ',0); + //begin + ADOQueryCmd.Connection.RollbackTrans; + Exit; + //end; + end; + DelYFData(); + ClientDataSet2.Delete; + ADOQueryCmd.Connection.CommitTrans; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ɾ쳣!','ʾ',0); + end; + //end; +end; + +procedure TfrmClothContractListDHSXQJG.v2Column3PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + //flag:='RKPlace'; + flag:='Factory'; + flagname:='ص'; + MainType:='PBFactory'; + if ShowModal=1 then + begin + with ClientDataSet2 do + begin + Edit; + FieldByName('RKPlace').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + FieldByName('RKPlCode').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractListDHSXQJG.Button1Click(Sender: TObject); +begin + ToolButton2.Click; +end; + +procedure TfrmClothContractListDHSXQJG.Button2Click(Sender: TObject); +begin + ToolButton3.Click; +end; + +procedure TfrmClothContractListDHSXQJG.Button3Click(Sender: TObject); +begin + ToolButton4.Click; +end; + +procedure TfrmClothContractListDHSXQJG.ConNoKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Length(Trim(ConNo.Text))<4 then Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select ClothQty=DHQty-TPQtyHZ, '); + sql.Add(' A.*,B.ConNo,C.C_CodeName,C.C_Spec,C.MFQty,C.KZQty,B.FactoryNoName from ContractSX_Cloth_DH A '); + sql.add(' inner join ContractSX_Main B on A.Mainid=B.Mainid'); + sql.Add('inner join ContractSX_Sub C on A.Subid=C.Subid'); + sql.Add(' where B.ConNO like '''+'%'+Trim(ConNo.Text)+'%'+''' and A.DHType=''ǰӹ'' '); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +procedure TfrmClothContractListDHSXQJG.Tv1CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*'); + sql.Add('from ContractSX_Sub_Mx A'); + sql.Add(' where A.SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and A.DHType=''ǰ'' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet2); + SInitCDSData20(ADOQueryTemp,ClientDataSet2); +end; + +end. diff --git a/打卷检验管理/U_ClothContractListHZ.dfm b/打卷检验管理/U_ClothContractListHZ.dfm new file mode 100644 index 0000000..2df9399 --- /dev/null +++ b/打卷检验管理/U_ClothContractListHZ.dfm @@ -0,0 +1,1138 @@ +object frmClothContractListHZ: TfrmClothContractListHZ + Left = 244 + Top = 146 + Width = 980 + Height = 513 + Caption = #37319#36141#21512#21516 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 964 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBAdd: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 3 + OnClick = TBAddClick + end + object TBEdit: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #20462#25913 + ImageIndex = 54 + OnClick = TBEditClick + end + object ToolButton1: TToolButton + Left = 252 + Top = 0 + Caption = #22797#21046 + ImageIndex = 58 + OnClick = ToolButton1Click + end + object TBDel: TToolButton + Left = 311 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 17 + OnClick = TBDelClick + end + object TBExport: TToolButton + Left = 374 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + Visible = False + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 437 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + OnClick = TBPrintClick + end + object TBClose: TToolButton + Left = 500 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 964 + Height = 54 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 22 + Width = 52 + Height = 12 + Caption = #30331#35760#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 161 + Top = 22 + Width = 18 + Height = 12 + Caption = '---' + end + object Label3: TLabel + Left = 283 + Top = 22 + Width = 52 + Height = 12 + Caption = #21512#21516#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 444 + Top = 22 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 612 + Top = 22 + Width = 26 + Height = 12 + Caption = #35268#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 18 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 179 + Top = 18 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + TabOrder = 1 + end + object ConNoM: TEdit + Tag = 2 + Left = 337 + Top = 18 + Width = 81 + Height = 20 + TabOrder = 2 + OnChange = ConNoMChange + OnKeyPress = conPress + end + object C_CodeNameM: TEdit + Tag = 2 + Left = 497 + Top = 18 + Width = 83 + Height = 20 + TabOrder = 3 + OnChange = ConNoMChange + end + object C_Spec: TEdit + Tag = 2 + Left = 640 + Top = 18 + Width = 83 + Height = 20 + TabOrder = 4 + OnChange = ConNoMChange + end + end + object cxPageControl1: TcxPageControl + Left = 0 + Top = 86 + Width = 964 + Height = 147 + ActivePage = cxTabSheet1 + Style = 9 + TabOrder = 2 + Visible = False + OnChange = cxPageControl1Change + ClientRectBottom = 147 + ClientRectRight = 964 + ClientRectTop = 19 + object cxTabSheet1: TcxTabSheet + Caption = #32433#32447#37319#36141#21512#21516 + ImageIndex = 0 + end + object cxTabSheet6: TcxTabSheet + Caption = #26579#32433#21512#21516 + ImageIndex = 5 + object cxGrid6: TcxGrid + Left = 0 + Top = 0 + Width = 964 + Height = 128 + Align = alClient + TabOrder = 0 + object Tv6: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = cxGridDBColumn56 + end + item + Kind = skSum + Column = cxGridDBColumn58 + end + item + Kind = skSum + Column = cxGridDBColumn60 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + object cxGridDBColumn50: TcxGridDBColumn + Caption = #21512#21516#32534#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 65 + end + object cxGridDBColumn51: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 64 + end + object cxGridDBColumn52: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object cxGridDBColumn53: TcxGridDBColumn + Caption = #21152#24037#26085#26399 + DataBinding.FieldName = 'DeliveryDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 64 + end + object cxGridDBColumn54: TcxGridDBColumn + Caption = #21152#24037#21333#20301 + DataBinding.FieldName = 'FactoryNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object cxGridDBColumn55: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Hidden = True + Styles.Header = DataLink_TradeManage.Default + Width = 46 + end + object cxGridDBColumn56: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'C_Qty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object cxGridDBColumn57: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'C_Unit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 47 + end + object cxGridDBColumn58: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'Price' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 57 + end + object cxGridDBColumn59: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 61 + end + object cxGridDBColumn60: TcxGridDBColumn + Caption = #24635#20215 + DataBinding.FieldName = 'Money' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object cxGridDBColumn61: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + end + object cxGridLevel5: TcxGridLevel + GridView = Tv6 + end + end + end + object cxTabSheet2: TcxTabSheet + Caption = #32455#36896#21512#21516 + ImageIndex = 1 + object cxGrid2: TcxGrid + Left = 0 + Top = 0 + Width = 964 + Height = 128 + Align = alClient + TabOrder = 0 + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = cxGridDBColumn8 + end + item + Kind = skSum + Column = cxGridDBColumn10 + end + item + Kind = skSum + Column = cxGridDBColumn12 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + object cxGridDBColumn1: TcxGridDBColumn + Caption = #21512#21516#32534#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 65 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 64 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #21152#24037#26085#26399 + DataBinding.FieldName = 'DeliveryDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 64 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #21152#24037#21333#20301 + DataBinding.FieldName = 'FactoryNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object cxGridDBColumn7: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Hidden = True + Styles.Header = DataLink_TradeManage.Default + Width = 46 + end + object cxGridDBColumn8: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'C_Qty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object cxGridDBColumn9: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'C_Unit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 47 + end + object cxGridDBColumn10: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'Price' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 57 + end + object cxGridDBColumn11: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 61 + end + object cxGridDBColumn12: TcxGridDBColumn + Caption = #24635#20215 + DataBinding.FieldName = 'Money' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object cxGridDBColumn13: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + end + object cxTabSheet3: TcxTabSheet + Caption = #22383#24067#37319#36141#21512#21516 + ImageIndex = 2 + object cxGrid3: TcxGrid + Left = 0 + Top = 0 + Width = 964 + Height = 128 + Align = alClient + TabOrder = 0 + object Tv3: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = cxGridDBColumn20 + end + item + Kind = skSum + Column = cxGridDBColumn22 + end + item + Kind = skSum + Column = cxGridDBColumn24 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + object cxGridDBColumn4: TcxGridDBColumn + Caption = #21512#21516#32534#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 65 + end + object cxGridDBColumn14: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object cxGridDBColumn15: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DeliveryDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object cxGridDBColumn16: TcxGridDBColumn + Caption = #31614#35746#26085#26399 + DataBinding.FieldName = 'QDTime' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object cxGridDBColumn17: TcxGridDBColumn + Caption = #20379#26041 + DataBinding.FieldName = 'FactoryNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object cxGridDBColumn18: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'MFQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 61 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'KZQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 83 + end + object cxGridDBColumn19: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Hidden = True + Styles.Header = DataLink_TradeManage.Default + Width = 46 + end + object cxGridDBColumn20: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'C_Qty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object cxGridDBColumn21: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'C_Unit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 47 + end + object cxGridDBColumn22: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'Price' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 57 + end + object cxGridDBColumn23: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 61 + end + object cxGridDBColumn24: TcxGridDBColumn + Caption = #24635#20215 + DataBinding.FieldName = 'Money' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object cxGridDBColumn25: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv3 + end + end + end + object cxTabSheet4: TcxTabSheet + Caption = #26579#33394#21512#21516 + ImageIndex = 3 + object cxGrid4: TcxGrid + Left = 0 + Top = 0 + Width = 964 + Height = 128 + Align = alClient + TabOrder = 0 + object Tv4: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = cxGridDBColumn32 + end + item + Kind = skSum + Column = cxGridDBColumn34 + end + item + Kind = skSum + Column = cxGridDBColumn36 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + object cxGridDBColumn26: TcxGridDBColumn + Caption = #21512#21516#32534#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 65 + end + object cxGridDBColumn27: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 64 + end + object cxGridDBColumn28: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object cxGridDBColumn29: TcxGridDBColumn + Caption = #26579#33394#26085#26399 + DataBinding.FieldName = 'DeliveryDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 64 + end + object cxGridDBColumn30: TcxGridDBColumn + Caption = #26579#21378 + DataBinding.FieldName = 'FactoryNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object cxGridDBColumn31: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Hidden = True + Styles.Header = DataLink_TradeManage.Default + Width = 46 + end + object cxGridDBColumn32: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'C_Qty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object cxGridDBColumn33: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'C_Unit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 47 + end + object cxGridDBColumn34: TcxGridDBColumn + Caption = #26579#33394#21333#20215 + DataBinding.FieldName = 'Price' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 59 + end + object cxGridDBColumn35: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 61 + end + object cxGridDBColumn36: TcxGridDBColumn + Caption = #24635#20215 + DataBinding.FieldName = 'Money' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object cxGridDBColumn37: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + end + object cxGridLevel3: TcxGridLevel + GridView = Tv4 + end + end + end + object cxTabSheet5: TcxTabSheet + Caption = #21518#21152#24037#21512#21516 + ImageIndex = 4 + object cxGrid5: TcxGrid + Left = 0 + Top = 0 + Width = 964 + Height = 128 + Align = alClient + TabOrder = 0 + object Tv5: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = cxGridDBColumn44 + end + item + Kind = skSum + Column = cxGridDBColumn46 + end + item + Kind = skSum + Column = cxGridDBColumn48 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + object cxGridDBColumn38: TcxGridDBColumn + Caption = #21512#21516#32534#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object cxGridDBColumn39: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 65 + end + object cxGridDBColumn40: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object cxGridDBColumn41: TcxGridDBColumn + Caption = #21152#24037#26085#26399 + DataBinding.FieldName = 'DeliveryDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 64 + end + object cxGridDBColumn42: TcxGridDBColumn + Caption = #21152#24037#21378 + DataBinding.FieldName = 'FactoryNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object cxGridDBColumn43: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Hidden = True + Styles.Header = DataLink_TradeManage.Default + Width = 46 + end + object cxGridDBColumn44: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'C_Qty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object cxGridDBColumn45: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'C_Unit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 47 + end + object cxGridDBColumn46: TcxGridDBColumn + Caption = #21152#24037#21333#20215 + DataBinding.FieldName = 'Price' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 57 + end + object cxGridDBColumn47: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 61 + end + object cxGridDBColumn48: TcxGridDBColumn + Caption = #24635#20215 + DataBinding.FieldName = 'Money' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object cxGridDBColumn49: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + end + object cxGridLevel4: TcxGridLevel + GridView = Tv5 + end + end + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 86 + Width = 964 + Height = 389 + Align = alClient + TabOrder = 3 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + Column = v1Column1 + end + item + Kind = skSum + Column = v1PRTQty + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + object v1OrderNo: TcxGridDBColumn + Caption = #21512#21516#32534#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 84 + end + object v1Column2: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 88 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DeliveryDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 82 + end + object v1Column5: TcxGridDBColumn + Caption = #31614#35746#26085#26399 + DataBinding.FieldName = 'QDTime' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 89 + end + object v1FactoryNo1Name: TcxGridDBColumn + Caption = #20379#26041 + DataBinding.FieldName = 'FactoryNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object v1Qty1: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Hidden = True + Styles.Header = DataLink_TradeManage.Default + Width = 46 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'C_Qty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'C_Unit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 47 + end + object v1Column1: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'Price' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 57 + end + object v1PRTUnit: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 61 + end + object v1PRTQty: TcxGridDBColumn + Caption = #24635#20215 + DataBinding.FieldName = 'Money' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object v1Column4: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + PopupMenus = <> + Left = 1128 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 936 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1000 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1040 + Top = 8 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 1168 + Top = 8 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 1096 + Top = 8 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 352 + Top = 192 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = CDS_PRT + Left = 400 + Top = 192 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 416 + Top = 248 + end + object CDS_PRT: TClientDataSet + Aggregates = <> + Params = <> + Left = 880 + Top = 56 + end +end diff --git a/打卷检验管理/U_ClothContractListHZ.pas b/打卷检验管理/U_ClothContractListHZ.pas new file mode 100644 index 0000000..2a16015 --- /dev/null +++ b/打卷检验管理/U_ClothContractListHZ.pas @@ -0,0 +1,1250 @@ +unit U_ClothContractListHZ; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, + RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, + cxTextEdit, cxPC; + +type + TfrmClothContractListHZ = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBAdd: TToolButton; + TBEdit: TToolButton; + TBDel: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Label2: TLabel; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + ConNoM: TEdit; + Label5: TLabel; + C_CodeNameM: TEdit; + TBExport: TToolButton; + Order_Main: TClientDataSet; + Label4: TLabel; + C_Spec: TEdit; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + CDS_PRT: TClientDataSet; + cxPageControl1: TcxPageControl; + cxTabSheet1: TcxTabSheet; + cxTabSheet2: TcxTabSheet; + cxTabSheet3: TcxTabSheet; + cxTabSheet4: TcxTabSheet; + cxTabSheet5: TcxTabSheet; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + cxGridDBColumn7: TcxGridDBColumn; + cxGridDBColumn8: TcxGridDBColumn; + cxGridDBColumn9: TcxGridDBColumn; + cxGridDBColumn10: TcxGridDBColumn; + cxGridDBColumn11: TcxGridDBColumn; + cxGridDBColumn12: TcxGridDBColumn; + cxGridDBColumn13: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + cxGrid4: TcxGrid; + Tv4: TcxGridDBTableView; + cxGridDBColumn26: TcxGridDBColumn; + cxGridDBColumn27: TcxGridDBColumn; + cxGridDBColumn28: TcxGridDBColumn; + cxGridDBColumn29: TcxGridDBColumn; + cxGridDBColumn30: TcxGridDBColumn; + cxGridDBColumn31: TcxGridDBColumn; + cxGridDBColumn32: TcxGridDBColumn; + cxGridDBColumn33: TcxGridDBColumn; + cxGridDBColumn34: TcxGridDBColumn; + cxGridDBColumn35: TcxGridDBColumn; + cxGridDBColumn36: TcxGridDBColumn; + cxGridDBColumn37: TcxGridDBColumn; + cxGridLevel3: TcxGridLevel; + cxGrid5: TcxGrid; + Tv5: TcxGridDBTableView; + cxGridDBColumn38: TcxGridDBColumn; + cxGridDBColumn39: TcxGridDBColumn; + cxGridDBColumn40: TcxGridDBColumn; + cxGridDBColumn41: TcxGridDBColumn; + cxGridDBColumn42: TcxGridDBColumn; + cxGridDBColumn43: TcxGridDBColumn; + cxGridDBColumn44: TcxGridDBColumn; + cxGridDBColumn45: TcxGridDBColumn; + cxGridDBColumn46: TcxGridDBColumn; + cxGridDBColumn47: TcxGridDBColumn; + cxGridDBColumn48: TcxGridDBColumn; + cxGridDBColumn49: TcxGridDBColumn; + cxGridLevel4: TcxGridLevel; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn4: TcxGridDBColumn; + cxGridDBColumn14: TcxGridDBColumn; + cxGridDBColumn15: TcxGridDBColumn; + cxGridDBColumn16: TcxGridDBColumn; + cxGridDBColumn17: TcxGridDBColumn; + cxGridDBColumn18: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + cxGridDBColumn19: TcxGridDBColumn; + cxGridDBColumn20: TcxGridDBColumn; + cxGridDBColumn21: TcxGridDBColumn; + cxGridDBColumn22: TcxGridDBColumn; + cxGridDBColumn23: TcxGridDBColumn; + cxGridDBColumn24: TcxGridDBColumn; + cxGridDBColumn25: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + cxTabSheet6: TcxTabSheet; + cxGrid6: TcxGrid; + Tv6: TcxGridDBTableView; + cxGridDBColumn50: TcxGridDBColumn; + cxGridDBColumn51: TcxGridDBColumn; + cxGridDBColumn52: TcxGridDBColumn; + cxGridDBColumn53: TcxGridDBColumn; + cxGridDBColumn54: TcxGridDBColumn; + cxGridDBColumn55: TcxGridDBColumn; + cxGridDBColumn56: TcxGridDBColumn; + cxGridDBColumn57: TcxGridDBColumn; + cxGridDBColumn58: TcxGridDBColumn; + cxGridDBColumn59: TcxGridDBColumn; + cxGridDBColumn60: TcxGridDBColumn; + cxGridDBColumn61: TcxGridDBColumn; + cxGridLevel5: TcxGridLevel; + ToolButton1: TToolButton; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1FactoryNo1Name: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1Qty1: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1PRTUnit: TcxGridDBColumn; + v1PRTQty: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBEditClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure ConNoMChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure conPress(Sender: TObject; var Key: Char); + procedure cxPageControl1Change(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + private + FInt,PFInt:Integer; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + { Private declarations } + public + { Public declarations } + end; + +var + frmClothContractListHZ: TfrmClothContractListHZ; + +implementation +uses + U_DataLink,U_ClothContractInPutSX,U_Fun,U_ProductOrderList,U_ZDYHelp,U_ClothContractInPutSXMX + ,U_ClothContractInPutHZ,U_ClothContractInPutPB; + +{$R *.dfm} + +procedure TfrmClothContractListHZ.FormDestroy(Sender: TObject); +begin + frmClothContractListHZ:=nil; +end; + +procedure TfrmClothContractListHZ.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmClothContractListHZ.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ͬбSX',Tv1,'ָʾ'); + WriteCxGrid('ɴ߼ӹͬ',Tv2,'ָʾ'); + WriteCxGrid('ɹͬ',Tv3,'ָʾ'); + WriteCxGrid('Ⱦɫͬ',Tv4,'ָʾ'); + WriteCxGrid('ӹͬ',Tv5,'ָʾ'); +end; + +procedure TfrmClothContractListHZ.InitGrid(); +begin + if cxPageControl1.ActivePageIndex=0 then + begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContractSX_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end else + if cxPageControl1.ActivePageIndex=1 then + begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select A.*,B.*,ConNoM=A.ConNo,Money=(B.Price*B.C_Qty) from ContractHZ_Main A inner join ContractHZ_Sub B on A.Mainid=B.MainId '); + sql.Add(' where A.FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''''); + sql.Add(' and A.FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''); + SQL.Add(' and A.ConType=''ɴǰӹ'' '); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end else + if cxPageControl1.ActivePageIndex=2 then + begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select A.*,B.*,ConNoM=A.ConNo,Money=(B.Price*B.C_Qty) from ContractHZ_Main A inner join ContractHZ_Sub B on A.Mainid=B.MainId '); + sql.Add(' where A.FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''''); + sql.Add(' and A.FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''); + SQL.Add(' and A.ConType=''ɴ߼ӹ'' '); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end else + if cxPageControl1.ActivePageIndex=3 then + begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContract_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end else + if cxPageControl1.ActivePageIndex=4 then + begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select A.*,B.*,ConNoM=A.ConNo,Money=(B.Price*B.C_Qty) from ContractHZ_Main A inner join ContractHZ_Sub B on A.Mainid=B.MainId '); + sql.Add(' where A.FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''''); + sql.Add(' and A.FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''); + SQL.Add(' and A.ConType=''Ⱦɫӹ'' '); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end else + if cxPageControl1.ActivePageIndex=5 then + begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select A.*,B.*,ConNoM=A.ConNo,Money=(B.Price*B.C_Qty) from ContractHZ_Main A inner join ContractHZ_Sub B on A.Mainid=B.MainId '); + sql.Add(' where A.FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''''); + sql.Add(' and A.FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''); + SQL.Add(' and A.ConType=''ӹ'' '); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; + +end; + +procedure TfrmClothContractListHZ.InitForm(); +begin + ReadCxGrid('ͬбSX',Tv1,'ָʾ'); + ReadCxGrid('ɴ߼ӹͬ',Tv2,'ָʾ'); + ReadCxGrid('ɹͬ',Tv3,'ָʾ'); + ReadCxGrid('Ⱦɫͬ',Tv4,'ָʾ'); + ReadCxGrid('ӹͬ',Tv5,'ָʾ'); + if Trim(DParameters1)='1' then + begin + TBPrint.Visible:=False; + v1Column1.Visible:=False; + v1Column1.Hidden:=True; + v1PRTUnit.Visible:=False; + v1PRTUnit.Hidden:=True; + v1PRTQty.Visible:=False; + v1PRTQty.Hidden:=True; + end else + begin + v1Column1.Visible:=True; + v1Column1.Hidden:=False; + v1PRTUnit.Visible:=True; + v1PRTUnit.Hidden:=False; + v1PRTQty.Visible:=True; + v1PRTQty.Hidden:=False; + TBPrint.Visible:=True; + end; + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + InitGrid(); +end; + +procedure TfrmClothContractListHZ.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothContractListHZ.TBEditClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + if cxPageControl1.ActivePageIndex=0 then + begin + try + frmClothContractInPutSXMX:=TfrmClothContractInPutSXMX.Create(Application); + with frmClothContractInPutSXMX do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FConNo:=Trim(Self.Order_Main.fieldbyname('ConNoM').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutSXMX.Free; + end; + end else + if cxPageControl1.ActivePageIndex=1 then + begin + try + frmClothContractInPutHZ:=TfrmClothContractInPutHZ.Create(Application); + with frmClothContractInPutHZ do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FConNo:=Trim(Self.Order_Main.fieldbyname('ConNo').AsString); + CPFlag:='ClothSX'; + CPFlagName:='ɴ'; + Caption:='Ⱦɴͬ'; + FactoryFlag:='PBFactory'; + v1Column3.Caption:='ӹ'; + v1Price.Caption:='ӹ'; + FConType:='ɴǰӹ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutHZ.Free; + end; + end else + if cxPageControl1.ActivePageIndex=2 then + begin + try + frmClothContractInPutHZ:=TfrmClothContractInPutHZ.Create(Application); + with frmClothContractInPutHZ do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FConNo:=Trim(Self.Order_Main.fieldbyname('ConNo').AsString); + CPFlag:='ClothSX'; + CPFlagName:='ɴ'; + Caption:='֯ͬ'; + FactoryFlag:='PBFactory'; + v1Column3.Caption:='ӹ'; + v1Price.Caption:='ӹ'; + FConType:='ɴ߼ӹ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutHZ.Free; + end; + end else + if cxPageControl1.ActivePageIndex=3 then + begin + try + frmClothContractInPutPB:=TfrmClothContractInPutPB.Create(Application); + with frmClothContractInPutPB do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FConNo:=Trim(Self.Order_Main.fieldbyname('ConNoM').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutPB.Free; + end; + end else + if cxPageControl1.ActivePageIndex=4 then + begin + try + frmClothContractInPutHZ:=TfrmClothContractInPutHZ.Create(Application); + with frmClothContractInPutHZ do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FConNo:=Trim(Self.Order_Main.fieldbyname('ConNo').AsString); + CPFlag:='Cloth'; + CPFlagName:=''; + Caption:='Ⱦɫӹͬ'; + FactoryFlag:='RanFactory'; + v1Column3.Caption:='Ⱦ'; + v1Price.Caption:='Ⱦɫ'; + FConType:='Ⱦɫӹ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutHZ.Free; + end; + end else + if cxPageControl1.ActivePageIndex=5 then + begin + try + frmClothContractInPutHZ:=TfrmClothContractInPutHZ.Create(Application); + with frmClothContractInPutHZ do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FConNo:=Trim(Self.Order_Main.fieldbyname('ConNo').AsString); + CPFlag:='Cloth'; + CPFlagName:=''; + Caption:='ӹͬ'; + FactoryFlag:='HZLFactory'; + v1Column3.Caption:='ӹ'; + v1Price.Caption:='ӹ'; + FConType:='ӹ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutHZ.Free; + end; + end; + +end; + +procedure TfrmClothContractListHZ.TBDelClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + + if cxPageControl1.ActivePageIndex=0 then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from ContractSX_Sub_MX B inner join Contract_Sub C on B.SubId=C.SubId '); + sql.Add(' where C.Mainid='''+Trim(Order_Main.fieldbyname('Mainid').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + Application.MessageBox('Ѿݲɾ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + if DelData() then + begin + //TBRafresh.Click; + //TBFind.Click; + Order_Main.Delete; + end; + end else + if cxPageControl1.ActivePageIndex=1 then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractHZ_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from ContractHZ_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractHZ_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + Order_Main.Delete; + end else + if cxPageControl1.ActivePageIndex=2 then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractHZ_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from ContractHZ_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractHZ_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + Order_Main.Delete; + end else + if cxPageControl1.ActivePageIndex=3 then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub_MX B inner join Contract_Sub C on B.SubId=C.SubId '); + sql.Add(' where C.Mainid='''+Trim(Order_Main.fieldbyname('Mainid').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + Application.MessageBox('Ѿݲɾ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + Order_Main.Delete; + end else + if cxPageControl1.ActivePageIndex=4 then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractHZ_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from ContractHZ_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractHZ_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + Order_Main.Delete; + end else + if cxPageControl1.ActivePageIndex=5 then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractHZ_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from ContractHZ_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractHZ_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + Order_Main.Delete; + end; + +end; + +function TfrmClothContractListHZ.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractSX_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from ContractSX_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractSX_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractSX_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmClothContractListHZ.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + TcxGridToExcel('ͬб',cxGrid1); +end; + +procedure TfrmClothContractListHZ.TBPrintClick(Sender: TObject); +var + fPrintFile,FConNoM:string; + +begin + if Order_Main.IsEmpty then Exit; + if cxPageControl1.ActivePageIndex=0 then + begin + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ɴ߶ͬ.rmf' ; + with ADOQueryTemp do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContractSX_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Parameters.ParamByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + Parameters.ParamByName('WSql').Value:=''; + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + FConNoM:=Trim(CDS_PRT.fieldbyname('ConNoM').AsString); + end else + if cxPageControl1.ActivePageIndex=1 then + begin + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ɴǰӹͬ.rmf' ; + with ADOQueryTemp do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select * from ContractHZ_Main A inner join ContractHZ_Sub B on A.MainId=B.MainId'); + SQL.Add(' where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + FConNoM:=Trim(CDS_PRT.fieldbyname('ConNo').AsString); + end else + if cxPageControl1.ActivePageIndex=2 then + begin + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ɴ߼ӹͬ.rmf' ; + with ADOQueryTemp do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select * from ContractHZ_Main A inner join ContractHZ_Sub B on A.MainId=B.MainId'); + SQL.Add(' where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + FConNoM:=Trim(CDS_PRT.fieldbyname('ConNo').AsString); + end else + if cxPageControl1.ActivePageIndex=3 then + begin + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ͬ.rmf' ; + with ADOQueryTemp do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContract_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Parameters.ParamByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + Parameters.ParamByName('WSql').Value:=''; + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + FConNoM:=Trim(CDS_PRT.fieldbyname('ConNoM').AsString); + end else + if cxPageControl1.ActivePageIndex=4 then + begin + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\Ⱦɫͬ.rmf' ; + with ADOQueryTemp do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select * from ContractHZ_Main A inner join ContractHZ_Sub B on A.MainId=B.MainId'); + SQL.Add('where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + FConNoM:=Trim(CDS_PRT.fieldbyname('ConNo').AsString); + end else + if cxPageControl1.ActivePageIndex=5 then + begin + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ӹͬ.rmf' ; + with ADOQueryTemp do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select * from ContractHZ_Main A inner join ContractHZ_Sub B on A.MainId=B.MainId'); + SQL.Add('where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + FConNoM:=Trim(CDS_PRT.fieldbyname('ConNo').AsString); + end; + + + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\Ӧĺͬ.rmf'),'ʾ',0); + end; + +end; + +procedure TfrmClothContractListHZ.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmClothContractListHZ.TBAddClick(Sender: TObject); +begin + if cxPageControl1.ActivePageIndex=0 then + begin + try + frmClothContractInPutSXMX:=TfrmClothContractInPutSXMX.Create(Application); + with frmClothContractInPutSXMX do + begin + PState:=0; + FMainId:=''; + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutSXMX.Free; + end; + end else + if cxPageControl1.ActivePageIndex=1 then + begin + try + frmClothContractInPutHZ:=TfrmClothContractInPutHZ.Create(Application); + with frmClothContractInPutHZ do + begin + PState:=0; + FMainId:=''; + CPFlag:='ClothSX'; + CPFlagName:='ɴ'; + Caption:='Ⱦɴͬ'; + FactoryFlag:='PBFactory'; + v1Column3.Caption:='ӹ'; + v1Price.Caption:='ӹ'; + FConType:='ɴǰӹ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutHZ.Free; + end; + end else + if cxPageControl1.ActivePageIndex=2 then + begin + try + frmClothContractInPutHZ:=TfrmClothContractInPutHZ.Create(Application); + with frmClothContractInPutHZ do + begin + PState:=0; + FMainId:=''; + CPFlag:='ClothSX'; + CPFlagName:='ɴ'; + Caption:='֯ͬ'; + FactoryFlag:='PBFactory'; + v1Column3.Caption:='ӹ'; + v1Price.Caption:='ӹ'; + FConType:='ɴ߼ӹ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutHZ.Free; + end; + end else + if cxPageControl1.ActivePageIndex=3 then + begin + try + frmClothContractInPutPB:=TfrmClothContractInPutPB.Create(Application); + with frmClothContractInPutPB do + begin + PState:=0; + FMainId:=''; + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutPB.Free; + end; + end else + if cxPageControl1.ActivePageIndex=4 then + begin + try + frmClothContractInPutHZ:=TfrmClothContractInPutHZ.Create(Application); + with frmClothContractInPutHZ do + begin + PState:=0; + FMainId:=''; + CPFlag:='Cloth'; + CPFlagName:=''; + Caption:='Ⱦɫӹͬ'; + FactoryFlag:='RanFactory'; + v1Column3.Caption:='Ⱦ'; + v1Price.Caption:='Ⱦɫ'; + FConType:='Ⱦɫӹ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutHZ.Free; + end; + end else + if cxPageControl1.ActivePageIndex=5 then + begin + try + frmClothContractInPutHZ:=TfrmClothContractInPutHZ.Create(Application); + with frmClothContractInPutHZ do + begin + PState:=0; + FMainId:=''; + CPFlag:='Cloth'; + CPFlagName:=''; + Caption:='ӹͬ'; + FactoryFlag:='HZLFactory'; + v1Column3.Caption:='ӹ'; + v1Price.Caption:='ӹ'; + FConType:='ӹ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutHZ.Free; + end; + end; + +end; + +procedure TfrmClothContractListHZ.ConNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothContractListHZ.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmClothContractListHZ.conPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Length(Trim(ConNoM.Text))<3 then Exit; + try + ADOQueryMain.DisableControls; + + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + if cxPageControl1.ActivePageIndex=0 then + begin + sql.Add('exec ClothContractSX_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and OM.conNo like '''+'%'+Trim(ConNoM.Text)+'%'+''''; + end else + if cxPageControl1.ActivePageIndex=1 then + begin + sql.Add('select A.*,B.*,Money=(B.Price*B.C_Qty) from ContractHZ_Main A inner join ContractHZ_Sub B on A.Mainid=B.MainId '); + SQL.Add(' where A.ConNO like'''+'%'+Trim(ConNoM.Text)+'%'+''''); + sql.Add(' and A.ConType=''ɴ߼ӹ'''); + end else + if cxPageControl1.ActivePageIndex=2 then + begin + sql.Add('exec ClothContract_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and OM.conNo like '''+'%'+Trim(ConNoM.Text)+'%'+''''; + end else + if cxPageControl1.ActivePageIndex=3 then + begin + sql.Add('select A.*,B.*,Money=(B.Price*B.C_Qty) from ContractHZ_Main A inner join ContractHZ_Sub B on A.Mainid=B.MainId '); + SQL.Add(' where A.ConNO like'''+'%'+Trim(ConNoM.Text)+'%'+''''); + sql.Add(' and A.ConType=''Ⱦɫӹ'''); + end else + if cxPageControl1.ActivePageIndex=4 then + begin + sql.Add('select A.*,B.*,Money=(B.Price*B.C_Qty) from ContractHZ_Main A inner join ContractHZ_Sub B on A.Mainid=B.MainId '); + SQL.Add(' where A.ConNO like'''+'%'+Trim(ConNoM.Text)+'%'+''''); + sql.Add(' and A.ConType=''ӹ'''); + end; + + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +procedure TfrmClothContractListHZ.cxPageControl1Change(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmClothContractListHZ.ToolButton1Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + if cxPageControl1.ActivePageIndex=0 then + begin + try + frmClothContractInPutSXMX:=TfrmClothContractInPutSXMX.Create(Application); + with frmClothContractInPutSXMX do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FConNo:=Trim(Self.Order_Main.fieldbyname('ConNoM').AsString); + PCopyInt:=1; + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutSXMX.Free; + end; + end else + if cxPageControl1.ActivePageIndex=1 then + begin + try + frmClothContractInPutHZ:=TfrmClothContractInPutHZ.Create(Application); + with frmClothContractInPutHZ do + begin + PState:=1; + PCopyInt:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FConNo:=Trim(Self.Order_Main.fieldbyname('ConNo').AsString); + CPFlag:='ClothSX'; + CPFlagName:='ɴ'; + Caption:='Ⱦɴͬ'; + FactoryFlag:='PBFactory'; + v1Column3.Caption:='ӹ'; + v1Price.Caption:='ӹ'; + FConType:='ɴǰӹ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutHZ.Free; + end; + end else + if cxPageControl1.ActivePageIndex=2 then + begin + try + frmClothContractInPutHZ:=TfrmClothContractInPutHZ.Create(Application); + with frmClothContractInPutHZ do + begin + PState:=1; + PCopyInt:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FConNo:=Trim(Self.Order_Main.fieldbyname('ConNo').AsString); + CPFlag:='ClothSX'; + CPFlagName:='ɴ'; + Caption:='֯ͬ'; + FactoryFlag:='PBFactory'; + v1Column3.Caption:='ӹ'; + v1Price.Caption:='ӹ'; + FConType:='ɴ߼ӹ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutHZ.Free; + end; + end else + if cxPageControl1.ActivePageIndex=3 then + begin + try + frmClothContractInPutPB:=TfrmClothContractInPutPB.Create(Application); + with frmClothContractInPutPB do + begin + PState:=1; + PCopyInt:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FConNo:=Trim(Self.Order_Main.fieldbyname('ConNoM').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutPB.Free; + end; + end else + if cxPageControl1.ActivePageIndex=4 then + begin + try + frmClothContractInPutHZ:=TfrmClothContractInPutHZ.Create(Application); + with frmClothContractInPutHZ do + begin + PState:=1; + PCopyInt:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FConNo:=Trim(Self.Order_Main.fieldbyname('ConNo').AsString); + CPFlag:='Cloth'; + CPFlagName:=''; + Caption:='Ⱦɫӹͬ'; + FactoryFlag:='RanFactory'; + v1Column3.Caption:='Ⱦ'; + v1Price.Caption:='Ⱦɫ'; + FConType:='Ⱦɫӹ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutHZ.Free; + end; + end else + if cxPageControl1.ActivePageIndex=5 then + begin + try + frmClothContractInPutHZ:=TfrmClothContractInPutHZ.Create(Application); + with frmClothContractInPutHZ do + begin + PState:=1; + PCopyInt:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FConNo:=Trim(Self.Order_Main.fieldbyname('ConNo').AsString); + CPFlag:='Cloth'; + CPFlagName:=''; + Caption:='ӹͬ'; + FactoryFlag:='HZLFactory'; + v1Column3.Caption:='ӹ'; + v1Price.Caption:='ӹ'; + FConType:='ӹ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutHZ.Free; + end; + end; +end; + +end. diff --git a/打卷检验管理/U_ClothContractListLL.dfm b/打卷检验管理/U_ClothContractListLL.dfm new file mode 100644 index 0000000..95c1547 --- /dev/null +++ b/打卷检验管理/U_ClothContractListLL.dfm @@ -0,0 +1,771 @@ +object frmClothContractListLL: TfrmClothContractListLL + Left = 138 + Top = 19 + Width = 1189 + Height = 705 + Caption = #22383#24067#39046#26009 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1181 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 107 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBClose: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + object ToolButton2: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + Visible = False + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + Visible = False + OnClick = ToolButton3Click + end + object ToolButton4: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #21040#22383#30830#23450 + ImageIndex = 113 + Visible = False + end + object ToolButton5: TToolButton + Left = 402 + Top = 0 + Caption = #22383#24067#39046#26009#30830#23450 + ImageIndex = 114 + Visible = False + OnClick = ToolButton5Click + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1181 + Height = 54 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 22 + Width = 52 + Height = 12 + Caption = #30331#35760#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 161 + Top = 22 + Width = 18 + Height = 12 + Caption = '---' + end + object Label3: TLabel + Left = 283 + Top = 22 + Width = 52 + Height = 12 + Caption = #21512#21516#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 444 + Top = 22 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 612 + Top = 22 + Width = 26 + Height = 12 + Caption = #35268#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 748 + Top = 22 + Width = 39 + Height = 12 + Caption = #22383#24067#21378 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 892 + Top = 22 + Width = 26 + Height = 12 + Caption = #26579#21378 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 18 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 179 + Top = 18 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object ConNo: TEdit + Tag = 2 + Left = 337 + Top = 18 + Width = 81 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnChange = ConNoChange + OnKeyPress = ConNoKeyPress + end + object C_CodeName: TEdit + Tag = 2 + Left = 497 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + OnChange = ConNoChange + end + object C_Spec: TEdit + Tag = 2 + Left = 640 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnChange = ConNoChange + end + object FactoryNoName: TEdit + Tag = 2 + Left = 792 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 5 + OnChange = ConNoChange + end + object FirstName: TEdit + Tag = 2 + Left = 920 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + OnChange = ConNoChange + end + end + object Panel2: TPanel + Left = 0 + Top = 370 + Width = 1181 + Height = 301 + Align = alBottom + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 2 + object cxGrid3: TcxGrid + Left = 2 + Top = 34 + Width = 1177 + Height = 265 + Align = alClient + TabOrder = 0 + object Tv3: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v3Column2 + end + item + Kind = skSum + Column = v3Column3 + end + item + Kind = skSum + Column = v3TPPS + end + item + Kind = skSum + end + item + Kind = skSum + Column = v3Column4 + end + item + Kind = skAverage + Column = v3Column5 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = DataLink_TradeManage.Default + object cxGridDBColumn1: TcxGridDBColumn + Caption = #35746#21333#32534#21495 + DataBinding.FieldName = 'OrderNo' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 98 + end + object cxGridDBPRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object v3Column12: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 63 + end + object v3Column16: TcxGridDBColumn + Caption = #33457#22411#33457#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taRightJustify + Options.Editing = False + Options.Focusing = False + Width = 67 + end + object v3Column13: TcxGridDBColumn + Caption = #20844#26020#25968 + DataBinding.FieldName = 'PRTOrderKgQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 56 + end + object v3Column14: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 60 + end + object v3Column15: TcxGridDBColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 62 + end + object v3Column6: TcxGridDBColumn + Caption = #39046#26009#26085#26399 + DataBinding.FieldName = 'TPDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 95 + end + object v3Column3: TcxGridDBColumn + Caption = #25237#22383#21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v3TPPS: TcxGridDBColumn + Caption = #21305#25968#37327 + DataBinding.FieldName = 'TPPS' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Width = 61 + end + object v3Column2: TcxGridDBColumn + Caption = #25968#37327'('#35745#21010')' + DataBinding.FieldName = 'TPQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v3Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 97 + end + object v3Column5: TcxGridDBColumn + Caption = #35745#21010#32553#29575'(%)' + DataBinding.FieldName = 'Qty3' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v3Column5PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 85 + end + object v3Column4: TcxGridDBColumn + Caption = #25968#37327#20844#24046 + DataBinding.FieldName = 'Qty2' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v3Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 85 + end + object v3Column1: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'TPUnit' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.DropDownListStyle = lsFixedList + Properties.ImmediatePost = True + Properties.Items.Strings = ( + 'M' + 'Kg') + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 68 + end + object v3Column7: TcxGridDBColumn + Caption = #25237#22383#20154 + DataBinding.FieldName = 'TPPerson' + HeaderAlignmentHorz = taCenter + Width = 72 + end + object v3Column11: TcxGridDBColumn + Caption = #32568#36153 + DataBinding.FieldName = 'GangFee' + Visible = False + HeaderAlignmentHorz = taCenter + Width = 68 + end + object v3Column8: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'TPNote' + HeaderAlignmentHorz = taCenter + Width = 105 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv3 + end + end + object ToolBar2: TToolBar + Left = 2 + Top = 2 + Width = 1177 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 107 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 1 + object ToolButton8: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton2Click + end + object ToolButton9: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton3Click + end + object ToolButton11: TToolButton + Left = 126 + Top = 0 + Caption = #22383#24067#39046#26009#30830#23450 + ImageIndex = 114 + OnClick = ToolButton5Click + end + object ToolButton1: TToolButton + Left = 233 + Top = 0 + AutoSize = True + Caption = #19968#38190#26367#25442 + ImageIndex = 54 + OnClick = ToolButton1Click + end + end + end + object cxSplitter1: TcxSplitter + Left = 0 + Top = 362 + Width = 1181 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + Control = Panel2 + end + object cxGrid1: TcxGrid + Left = 0 + Top = 86 + Width = 1181 + Height = 276 + Align = alClient + TabOrder = 4 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column6 + end + item + Kind = skSum + Column = v1Column3 + end + item + Kind = skSum + Column = v1Column7 + end + item + Kind = skSum + Column = v1Column8 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1OrderNo: TcxGridDBColumn + Caption = #21512#21516#32534#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 114 + end + object v1Column2: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 112 + end + object v1FactoryNo1Name: TcxGridDBColumn + Caption = #22383#24067#21378 + DataBinding.FieldName = 'FactoryNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 79 + end + object v1Column5: TcxGridDBColumn + Caption = #26579#21378 + DataBinding.FieldName = 'FirstName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 84 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 99 + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'MFQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'KZQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'DHUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 64 + end + object v1Column6: TcxGridDBColumn + Caption = #21040#36135#21305#25968 + DataBinding.FieldName = 'DHPS' + HeaderAlignmentHorz = taCenter + Width = 62 + end + object v1Column3: TcxGridDBColumn + Caption = #21040#36135#25968#37327 + DataBinding.FieldName = 'DHQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1Column7: TcxGridDBColumn + Caption = #30333#22383#21305#25968 + DataBinding.FieldName = 'ClothPS' + HeaderAlignmentHorz = taCenter + Width = 64 + end + object v1Column8: TcxGridDBColumn + Caption = #30333#22383#25968#37327 + DataBinding.FieldName = 'ClothQty' + HeaderAlignmentHorz = taCenter + Width = 58 + end + object v1Column4: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 752 + Top = 216 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 936 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1000 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1040 + Top = 8 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 1088 + Top = 54 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 1096 + Top = 8 + end + object ClientDataSet3: TClientDataSet + Aggregates = <> + Params = <> + Left = 955 + Top = 293 + end + object DataSource2: TDataSource + DataSet = ClientDataSet2 + Left = 880 + Top = 176 + end + object DataSource3: TDataSource + DataSet = ClientDataSet3 + Left = 1112 + Top = 216 + end + object ClientDataSet2: TClientDataSet + Aggregates = <> + Params = <> + Left = 920 + Top = 224 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 352 + Top = 192 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = Order_Main + Left = 400 + Top = 192 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 416 + Top = 248 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid3 + PopupMenus = <> + Left = 968 + Top = 480 + end +end diff --git a/打卷检验管理/U_ClothContractListLL.pas b/打卷检验管理/U_ClothContractListLL.pas new file mode 100644 index 0000000..cff1973 --- /dev/null +++ b/打卷检验管理/U_ClothContractListLL.pas @@ -0,0 +1,1205 @@ +unit U_ClothContractListLL; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, + RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, + cxTextEdit, cxDropDownEdit, cxCheckBox, cxCurrencyEdit, cxCalc; + +type + TfrmClothContractListLL = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Label2: TLabel; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + ConNo: TEdit; + Label5: TLabel; + C_CodeName: TEdit; + Order_Main: TClientDataSet; + Label4: TLabel; + C_Spec: TEdit; + ToolButton2: TToolButton; + ToolButton3: TToolButton; + ToolButton4: TToolButton; + ClientDataSet3: TClientDataSet; + DataSource2: TDataSource; + DataSource3: TDataSource; + ClientDataSet2: TClientDataSet; + ToolButton5: TToolButton; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + Panel2: TPanel; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridDBPRTColor: TcxGridDBColumn; + v3Column6: TcxGridDBColumn; + v3Column3: TcxGridDBColumn; + v3Column2: TcxGridDBColumn; + v3Column4: TcxGridDBColumn; + v3Column5: TcxGridDBColumn; + v3Column7: TcxGridDBColumn; + v3Column8: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + cxSplitter1: TcxSplitter; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1FactoryNo1Name: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1Column3: TcxGridDBColumn; + ToolBar2: TToolBar; + ToolButton8: TToolButton; + ToolButton9: TToolButton; + ToolButton11: TToolButton; + v1Column5: TcxGridDBColumn; + cxGridPopupMenu2: TcxGridPopupMenu; + Label6: TLabel; + FactoryNoName: TEdit; + Label7: TLabel; + FirstName: TEdit; + v3Column1: TcxGridDBColumn; + v3TPPS: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + ToolButton1: TToolButton; + v3Column11: TcxGridDBColumn; + v3Column12: TcxGridDBColumn; + v3Column13: TcxGridDBColumn; + v3Column14: TcxGridDBColumn; + v3Column15: TcxGridDBColumn; + v3Column16: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure ToolButton5Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure v2Column3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v3Column2PropertiesEditValueChanged(Sender: TObject); + procedure ConNoKeyPress(Sender: TObject; var Key: Char); + procedure ToolButton1Click(Sender: TObject); + procedure v3Column5PropertiesEditValueChanged(Sender: TObject); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; + APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); + private + FInt,PFInt:Integer; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + function YFData():Boolean; + { Private declarations } + public + { Public declarations } + end; + +var + frmClothContractListLL: TfrmClothContractListLL; + +implementation +uses + U_DataLink,U_ClothContractInPut,U_Fun,U_ProductOrderListSel,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmClothContractListLL.FormDestroy(Sender: TObject); +begin + frmClothContractListLL:=nil; +end; + +procedure TfrmClothContractListLL.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmClothContractListLL.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ͬll1',Tv1,'ָʾ'); + WriteCxGrid('ͬllr11',Tv3,'ָʾ'); +end; + +procedure TfrmClothContractListLL.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select ClothPS=A.DHPS-A.TPPSHZ,ClothQty=A.DHQty-A.TPQtyHZ, A.DHUnit,SXMainId='''',SXDHID='''',A.MainId,A.SubId'); + SQL.Add(' ,A.DHID,A.DHPS,A.TPPSHZ,A.TPQtyHZ,A.DHQty,A.FirstName,B.ConNo,C.C_CodeName,C.C_Spec,C.MFQty,C.KZQty,B.FactoryNoName '); + sql.Add(' from Contract_Cloth_DH A inner join Contract_Main B on A.Mainid=B.Mainid'); + sql.Add(' inner join Contract_Sub C on A.Subid=C.Subid'); + SQL.Add(' where B.FillTime>='''+FormatDateTime('yyyy-MM-dd',BegDate.Date)+''' '); + sql.Add(' and B.Filltime<'''+FormatDateTime('yyyy-MM-dd',EndDate.Date+1)+''''); + sql.add(' and isnull(A.DHType,'''')='''''); + sql.Add(' union all'); + sql.Add(' select ClothPS=A.DHPS-A.TPPSHZ,ClothQty=A.DHQty-A.TPQtyHZ,A.DHUnit,A.SXMainId,A.SXDHID,A.MainId,A.SubId '); + SQL.Add(' ,A.DHID,A.DHPS,A.TPPSHZ,A.TPQtyHZ,A.DHQty,A.FirstName '); + sql.Add(',ConNo=(select Top 1 ConNo from ContractSX_Main SM where SM.MainId=A.SXMainId)'); + sql.Add(',C_CodeName=A.PBName,C_Spec=A.PBSpec,MFQty=A.PBMF,KZQty=A.PBKZ'); + SQL.Add(',FactoryNoName=(select Top 1 FirstName from ContractSX_Cloth_DH SD where SD.DHID=A.SXDHID)'); + sql.Add(' from Contract_Cloth_DH A '); + SQL.Add(' where exists(select * from ContractSX_Main B where B.MainId=A.SXMainId'); + SQL.Add(' and B.FillTime>='''+FormatDateTime('yyyy-MM-dd',BegDate.Date)+''' '); + sql.Add(' and B.Filltime<'''+FormatDateTime('yyyy-MM-dd',EndDate.Date+1)+''')'); + sql.Add(' and isnull(A.DHType,'''')<>'''' '); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmClothContractListLL.InitForm(); +begin + + ReadCxGrid('ͬll1',Tv1,'ָʾ'); + ReadCxGrid('ͬllr11',Tv3,'ָʾ'); + EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + BegDate.DateTime:=EndDate.DateTime-30; + InitGrid(); +end; + +procedure TfrmClothContractListLL.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +function TfrmClothContractListLL.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmClothContractListLL.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmClothContractListLL.ConNoChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothContractListLL.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmClothContractListLL.ToolButton2Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + begin + try + frmProductOrderListSel:=TfrmProductOrderListSel.Create(Application); + with frmProductOrderListSel do + begin + OrderNo.Text:=Trim(self.Order_Main.fieldbyname('ConNo').AsString); + if ShowModal=1 then + begin + with frmProductOrderListSel.Order_Main do + begin + frmProductOrderListSel.Order_Main.First; + while not frmProductOrderListSel.Order_Main.Eof do + begin + if frmProductOrderListSel.Order_Main.FieldByName('SSel').AsBoolean=True then + begin + with Self.ClientDataSet3 do + begin + Self.ClientDataSet3.Append; + Self.ClientDataSet3.FieldByName('OrdSubId').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('SubId').AsString); + Self.ClientDataSet3.FieldByName('OrderNo').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('OrderNo').AsString); + Self.ClientDataSet3.FieldByName('MPRTCodeName').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('MPRTCodeName').AsString); + Self.ClientDataSet3.FieldByName('MPRTSpec').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('MPRTSpec').AsString); + Self.ClientDataSet3.FieldByName('PRTColor').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('PRTColor').AsString); + Self.ClientDataSet3.FieldByName('SOrddefstr1').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('SOrddefstr1').AsString); + Self.ClientDataSet3.FieldByName('PRTOrderKgQty').Value:=0; + Self.ClientDataSet3.FieldByName('PRTOrderQty').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('PRTOrderQty').AsString); + Self.ClientDataSet3.FieldByName('OrderUnit').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('OrderUnit').AsString); + Self.ClientDataSet3.FieldByName('PRTHX').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('PRTHX').AsString); + Self.ClientDataSet3.FieldByName('TPUnit').Value:=Self.Order_Main.FieldByName('DHUnit').Value; + Self.ClientDataSet3.FieldByName('Qty2').Value:=0; + end; + end; + frmProductOrderListSel.Order_Main.Next; + end; + end; + end; + end; + finally + frmProductOrderListSel.Free; + end; + end; +end; + +procedure TfrmClothContractListLL.Tv2MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=2; +end; + +procedure TfrmClothContractListLL.Tv2CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,C.MPRTSpec,B.PRTColor,C.MPRTCodeName,C.OrderNo ,'); + sql.Add('C_Unit=(select Top 1 C_Unit from Contract_Sub AA,Contract_Sub_Mx BB where AA.SubId=BB.SubId and BB.MXid=A.Mxid)'); + SQL.Add(' from Contract_Sub_MxTo A inner join JYOrder_Sub B on A.OrdSubId=B.SubId '); + SQL.Add(' inner join JYOrder_Main C on C.MainId=B.MainId '); + sql.Add('where A.MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3); +end; + +procedure TfrmClothContractListLL.ToolButton5Click(Sender: TObject); +var + maxno,LLIdx,FDW:string; +begin + if ClientDataSet3.IsEmpty then Exit; + ToolBar1.SetFocus; + if ClientDataSet3.Locate('OrderNo',null,[]) then + begin + Application.MessageBox('ָŲΪգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('TPPS',null,[]) then + begin + Application.MessageBox('ƥΪգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('TPQty',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('Qty2',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('TPUnit',null,[]) then + begin + Application.MessageBox('λΪգ','ʾ',0); + Exit; + end; + ClientDataSet3.DisableControls; + with ClientDataSet3 do + begin + First; + while not Eof do + begin + + if Trim(FDW)='' then + begin + FDW:=Trim(ClientDataSet3.fieldbyname('TPUnit').AsString); + end; + if FDW<>Trim(ClientDataSet3.fieldbyname('TPUnit').AsString) then + begin + Application.MessageBox('λһ!','ʾ',0); + Exit; + end; + Next; + end; + end; + ClientDataSet3.EnableControls; + if Trim(Order_Main.fieldbyname('DHUnit').AsString)='M' then + begin + if ClientDataSet3.Locate('TPUnit','Kg',[]) then + begin + Application.MessageBox('ͬλΪM,λΪKg','ʾ',0); + Exit; + end; + end; + BegDate.SetFocus; + try + ADOQueryCmd.Connection.BeginTrans; + //ȥ + with ClientDataSet3 do + begin + First; + while not eof do + begin + if Trim(ClientDataSet3.fieldbyname('MXId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,maxno,'MX','Contract_Cloth_LLMx',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡȥˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(ClientDataSet3.fieldbyname('MXId').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LLMx where MXId='''+Trim(ClientDataSet3.fieldbyname('MXId').AsString)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(ClientDataSet3.fieldbyname('MXId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + FieldByName('SXMainId').Value:=Trim(Order_Main.fieldbyname('SXMainId').AsString); + FieldByName('SXDHId').Value:=Trim(Order_Main.fieldbyname('SXDHId').AsString); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + FieldByName('DHId').Value:=Trim(Order_Main.fieldbyname('DHId').AsString); + FieldByName('MXId').Value:=Trim(maxno); + FieldByName('OrdSubId').Value:=Trim(ClientDataSet3.fieldbyname('OrdSubId').AsString); + FieldByName('TPDate').Value:=ClientDataSet3.fieldbyname('TPDate').Value; + FieldByName('TPPerson').Value:=ClientDataSet3.fieldbyname('TPPerson').Value; + FieldByName('TPNote').Value:=ClientDataSet3.fieldbyname('TPNote').Value; + if Trim(ClientDataSet3.fieldbyname('MXId').AsString)<>'' then + begin + if Trim(ADOQueryCmd.fieldbyname('TPUnit').AsString)<>Trim(ClientDataSet3.fieldbyname('TPUnit').AsString) then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL A where A.DHIDHelp in('); + sql.Add('select LLID from Contract_Cloth_LL B where B.DHID='''+Trim(ClientDataSet3.fieldbyname('DHID').AsString)+''''); + sql.Add(' and OrdSubId='''+Trim(ClientDataSet3.fieldbyname('OrdSubId').AsString)+''' and JXJGFlag=1)'); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ӹ޸λ!','ʾ',0); + Exit; + end; + end; + end; + if Trim(ClientDataSet3.fieldbyname('MXId').AsString)<>'' then + begin + if Trim(ADOQueryCmd.fieldbyname('TPUnit').AsString)<>Trim(ClientDataSet3.fieldbyname('TPUnit').AsString) then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Sub_AnPai A where SubId='''+Trim(ClientDataSet3.fieldbyname('OrdSubId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ѻزֲ޸λ!','ʾ',0); + Exit; + end; + end; + end; + + + FieldByName('TPUnit').Value:=ClientDataSet3.fieldbyname('TPUnit').Value; + {if ClientDataSet3.FieldByName('JXJGFlag').AsBoolean=True then + begin + FieldByName('JXJGFlag').Value:=1; + end else + begin + FieldByName('JXJGFlag').Value:=0; + end; } + if Trim(ClientDataSet3.fieldbyname('TPQty').AsString)<>'' then + FieldByName('TPQty').Value:=ClientDataSet3.fieldbyname('TPQty').Value + else + FieldByName('TPQty').Value:=0; + if Trim(ClientDataSet3.fieldbyname('JGPrice').AsString)<>'' then + FieldByName('JGPrice').Value:=ClientDataSet3.fieldbyname('JGPrice').Value + else + FieldByName('JGPrice').Value:=0; + if Trim(ClientDataSet3.fieldbyname('GangFee').AsString)<>'' then + FieldByName('GangFee').Value:=ClientDataSet3.fieldbyname('GangFee').Value + else + FieldByName('GangFee').Value:=0; + FieldByName('TPPS').AsFloat:=ClientDataSet3.fieldbyname('TPPS').AsFloat; + if Trim(ClientDataSet3.fieldbyname('Qty1').AsString)<>'' then + FieldByName('Qty1').Value:=ClientDataSet3.fieldbyname('Qty1').Value + else + FieldByName('Qty1').Value:=0; + if Trim(ClientDataSet3.fieldbyname('Qty2').AsString)<>'' then + FieldByName('Qty2').Value:=ClientDataSet3.fieldbyname('Qty2').Value + else + FieldByName('Qty2').Value:=0; + if Trim(ClientDataSet3.fieldbyname('Qty3').AsString)<>'' then + FieldByName('Qty3').Value:=ClientDataSet3.fieldbyname('Qty3').Value + else + FieldByName('Qty3').Value:=0; + if Trim(ClientDataSet3.fieldbyname('TPUnit').AsString)='Kg' then + begin + FieldByName('TPMQty').Value:=ClientDataSet3.fieldbyname('TPQty').Value*1.00*1000 + /(Order_Main.fieldbyname('MFQty').Value*1.00/100*Order_Main.fieldbyname('KZQty').Value); + end else + begin + FieldByName('TPMQty').Value:=ClientDataSet3.fieldbyname('TPQty').Value; + end; + if Trim(ClientDataSet3.fieldbyname('TPUnit').AsString)='Kg' then + begin + FieldByName('MQty2').Value:=ClientDataSet3.fieldbyname('Qty2').Value*1.00*1000 + /(Order_Main.fieldbyname('MFQty').Value*1.00/100*Order_Main.fieldbyname('KZQty').Value); + end else + begin + FieldByName('MQty2').Value:=ClientDataSet3.fieldbyname('Qty2').Value; + end; + if Trim(ClientDataSet3.FieldByName('TPUnit').AsString)=Trim(Order_Main.FieldByName('DHUnit').AsString) then + begin + FieldByName('TPYZQty').Value:=ClientDataSet3.fieldbyname('TPQty').Value; + end else + begin + if Trim(ClientDataSet3.FieldByName('TPUnit').AsString)='M' then + begin + FieldByName('TPYZQty').Value:=ClientDataSet3.fieldbyname('TPQty').Value + *Order_Main.fieldbyname('MFQty').Value*1.00/100 + *Order_Main.fieldbyname('KZQty').Value*1.00/1000; + end; + end; + if Trim(ClientDataSet3.FieldByName('TPUnit').AsString)=Trim(Order_Main.FieldByName('DHUnit').AsString) then + begin + FieldByName('YZQty2').Value:=ClientDataSet3.fieldbyname('Qty2').Value; + end else + begin + if Trim(ClientDataSet3.FieldByName('TPUnit').AsString)='M' then + begin + FieldByName('YZQty2').Value:=ClientDataSet3.fieldbyname('Qty2').Value + *Order_Main.fieldbyname('MFQty').Value*1.00/100 + *Order_Main.fieldbyname('KZQty').Value*1.00/1000; + end; + end; + Post; + end; + with ClientDataSet3 do + begin + Edit; + FieldByName('MXId').Value:=Trim(maxno); + Post; + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update Contract_Cloth_DH Set TPMQtyHZ=(select Sum(TPMQty) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_DH.DHID)'); + if Trim(ClientDataSet3.FieldByName('TPUnit').AsString)=Trim(Order_Main.FieldByName('DHUnit').AsString) then + begin + sql.Add(',TPQtyHZ=(select Sum(TPQty) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_DH.DHID)'); + end else + begin + if Trim(ClientDataSet3.FieldByName('TPUnit').AsString)='M' then + begin + SQL.Add(',TPQtyHZ=(select sum(TPQty*(PBMF/100)*(PBKZ/1000)) from Contract_Cloth_LLMx A '); + sql.Add(' where A.DHID=Contract_Cloth_DH.DHID )'); + end; + end; + sql.Add(',TPPSHZ=(select Sum(TPPS) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_DH.DHID)'); + sql.Add(' where DHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL where DHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + sql.Add(' and OrdSubId='''+Trim(ClientDataSet3.fieldbyname('OrdSubId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + { with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select isnull(Max(LLIdx),0) LLIdx from Contract_Cloth_LL'); + Open; + end; + LLIdx:=IntToStr(ADOQueryTemp.fieldbyname('LLIdx').AsInteger+1); } + if GetLSNo(ADOQueryCmd,maxno,'LL','Contract_Cloth_LL',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡȥˮʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('LLID').Value:=Trim(maxno); + FieldByName('DHID').Value:=Trim(Order_Main.fieldbyname('DHID').AsString); + FieldByName('SXDHID').Value:=Trim(Order_Main.fieldbyname('SXDHID').AsString); + FieldByName('SXMainID').Value:=Trim(Order_Main.fieldbyname('SXMainID').AsString); + FieldByName('FirstNo').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('FirstName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('OrdSubId').Value:=Trim(ClientDataSet3.fieldbyname('OrdSubId').AsString); + FieldByName('TPUnit').Value:=Trim(ClientDataSet3.fieldbyname('TPUnit').AsString); + FieldByName('LLIdx').Value:=1; + Post; + end; + + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update Contract_Cloth_LL Set TPUnit='''+Trim(ClientDataSet3.fieldbyname('TPUnit').AsString)+''''); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Contract_Cloth_LL Set TPPS=(select sum(TPPS) from Contract_Cloth_LLMX A where A.DHID=Contract_Cloth_LL.DHID'); + SQL.Add(' and A.OrdSubId=Contract_Cloth_LL.OrdSubId)'); + if Trim(ClientDataSet3.FieldByName('TPUnit').AsString)=Trim(Order_Main.FieldByName('DHUnit').AsString) then + begin + sql.Add(',TPQty=(select Sum(TPQty) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_LL.DHID'); + SQL.Add(' and A.OrdSubId=Contract_Cloth_LL.OrdSubId)'); + end else + begin + if Trim(ClientDataSet3.FieldByName('TPUnit').AsString)='M' then + begin + SQL.Add(',TPQty=(select sum(TPQty*(PBMF/100)*(PBKZ/1000)) from Contract_Cloth_LLMx A '); + sql.Add(' where A.DHID=Contract_Cloth_LL.DHID'); + SQL.Add(' and A.OrdSubId=Contract_Cloth_LL.OrdSubId)'); + end; + end; + if Trim(ClientDataSet3.FieldByName('TPUnit').AsString)=Trim(Order_Main.FieldByName('DHUnit').AsString) then + begin + sql.Add(',BCPQty=(select Sum(Qty2) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_LL.DHID'); + SQL.Add(' and A.OrdSubId=Contract_Cloth_LL.OrdSubId)'); + end else + begin + if Trim(ClientDataSet3.FieldByName('TPUnit').AsString)='M' then + begin + SQL.Add(',BCPQty=(select sum(A.Qty2*(PBMF/100)*(PBKZ/1000)) from Contract_Cloth_LLMx A '); + sql.Add(' where A.DHID=Contract_Cloth_LL.DHID'); + SQL.Add(' and A.OrdSubId=Contract_Cloth_LL.OrdSubId)'); + end; + end; + sql.Add(', TPMQty=(select sum(TPMQty) from Contract_Cloth_LLMX A where A.DHID=Contract_Cloth_LL.DHID'); + SQL.Add(' and A.OrdSubId=Contract_Cloth_LL.OrdSubId)'); + sql.Add(', BCPMQty=(select sum(MQty2) from Contract_Cloth_LLMX A where A.DHID=Contract_Cloth_LL.DHID'); + SQL.Add(' and A.OrdSubId=Contract_Cloth_LL.OrdSubId)'); + sql.Add('where DHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + SQL.Add(' and OrdSubId='''+Trim(ClientDataSet3.fieldbyname('OrdSubid').AsString)+''''); + ExecSQL; + end; + Next; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Cloth_LL where not exists('); + sql.Add(' select * from Contract_Cloth_LLMX LM where LM.DHID=Contract_Cloth_LL.DHID '); + sql.Add(' and LM.OrdSubId=Contract_Cloth_LL.OrdSubId )'); + sql.Add(' and DHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + sql.Add(' and isnull(DHIDHelp,'''')='''' '); + ExecSQL; + end; + { if YFData()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('¸׷쳣!','ʾ',0); + Exit; + end; } + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; +function TfrmClothContractListLL.YFData():Boolean; +var + CRID,OrdMainId,YFID,FComTaiTou:String; +begin + Result:=False; + { with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + + Application.MessageBox('δ¼!','ʾ',0); + Exit; + end else + begin + if ADOQueryTemp.RecordCount>1 then + begin + + Application.MessageBox('¼ظ!','ʾ',0); + Exit; + end; + end; } + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + OrdMainId:=Trim(ADOQueryTemp.fieldbyname('MainId').AsString); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select OrdDefStr2 from JYOrder_Main where Mainid='''+Trim(OrdMainId)+''''); + Open; + end; + FComTaiTou:=Trim(ADOQueryTemp.fieldbyname('OrdDefStr2').AsString); + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CRID set CRID=CRID+1'); + sql.Add('select * from YF_Money_CRID '); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('ZdyStr1').Value:='Ӧ'; + Post; + end; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + sql.Add(' and YFTypeId='''+Trim(Order_Main.fieldbyname('DHid').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + + if GetLSNo(ADOQueryCmd,YFID,'GF','YF_Money_CR',3,1)=False then + begin + Application.MessageBox('ȡ׷Ӧʧ!','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('YFID').Value:=Trim(YFID); + FieldByName('YFTypeId').Value:=Trim(Order_Main.fieldbyname('DHid').AsString); + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRType').Value:='ӦǼ'; + FieldByName('CRFlag').Value:='Ӧ'; + FieldByName('QtyFlag').Value:=1; + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('CRTime').Value:=ClientDataSet3.fieldbyname('TPDate').Value; + FieldByName('YFType').Value:='Զ'; + //FieldByName('Price').Value:=Order_Main.fieldbyname('Price').Value; + FieldByName('HuiLv').Value:=1; + FieldByName('BZType').Value:=''; + FieldByName('ComTaiTou').Value:=''; + FieldByName('QtyUnit').Value:=''; + FieldByName('YFName').Value:='׷'; + FieldByName('MainId').Value:=Trim(OrdMainId); + Post; + end; + end else + begin + YFID:=Trim(ADOQueryTemp.fieldbyname('YFID').AsString); + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CR Set CRTime='''+Trim(ClientDataSet3.fieldbyname('TPDate').AsString)+''''); + sql.Add(' where YFID='''+Trim(ADOQueryTemp.fieldbyname('YFID').AsString)+''''); + ExecSQL; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('update YF_Money_CR Set Qty=(select isnull(Count(*),0) from Contract_Cloth_LLMX A '); + SQL.Add(' where A.DHId=YF_Money_CR.YFTypeId and A.GangFee>0)'); + sql.Add(',Money=(select isnull(sum(GangFee),0) from Contract_Cloth_LLMX A '); + SQL.Add(' where A.DHId=YF_Money_CR.YFTypeId and A.GangFee>0)'); + sql.Add(',BBMoney=(select isnull(sum(GangFee),0) from Contract_Cloth_LLMX A '); + SQL.Add(' where A.DHId=YF_Money_CR.YFTypeId and A.GangFee>0)'); + sql.Add(' where YFTypeId='''+Trim(Order_Main.fieldbyname('DHid').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where YFID='''+Trim(YFID)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + if ADOQueryTemp.FieldByName('Money').AsFloat=0 then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete YF_Money_CR where YFID='''+Trim(YFID)+''''); + ExecSQL; + end; + end; + end; + Result:=True; +end; + +procedure TfrmClothContractListLL.ToolButton3Click(Sender: TObject); +begin + + begin + if ClientDataSet3.IsEmpty then Exit; + if Trim(ClientDataSet3.fieldbyname('MXId').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add(' select * from Contract_Cloth_LL where DHID='''+Trim(ClientDataSet3.fieldbyname('DHID').AsString)+''''); + sql.Add(' and OrdSubId='''+Trim(ClientDataSet3.fieldbyname('OrdSubId').AsString)+''''); + Open; + end; + if ADOQueryTemp.FieldByName('HCQty').AsFloat>0 then + begin + Application.MessageBox('лز,ɾ!','ʾ',0); + Exit; + end; + try + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Cloth_LLMx where MXId='''+Trim(ClientDataSet3.fieldbyname('MXId').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update Contract_Cloth_DH Set TPQtyHZ=(select isnull(Sum(TPYZQty),0) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_DH.DHID)'); + sql.Add(',TPMQtyHZ=(select isnull(Sum(TPMQty),0) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_DH.DHID)'); + sql.Add(',TPPSHZ=(select isnull(Sum(TPPS),0) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_DH.DHID)'); + sql.Add(' where DHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Contract_Cloth_LL Set TPPS=(select isnull(sum(TPPS),0) from Contract_Cloth_LLMX A where A.DHID=Contract_Cloth_LL.DHID'); + SQL.Add(' and A.OrdSubId=Contract_Cloth_LL.OrdSubId)'); + sql.Add(', TPQty=(select isnull(sum(TPYZQty),0) from Contract_Cloth_LLMX A where A.DHID=Contract_Cloth_LL.DHID'); + SQL.Add(' and A.OrdSubId=Contract_Cloth_LL.OrdSubId)'); + sql.Add(', BCPQty=(select isnull(sum(YZQty2),0) from Contract_Cloth_LLMX A where A.DHID=Contract_Cloth_LL.DHID'); + SQL.Add(' and A.OrdSubId=Contract_Cloth_LL.OrdSubId)'); + sql.Add(', TPMQty=(select isnull(sum(TPMQty),0) from Contract_Cloth_LLMX A where A.DHID=Contract_Cloth_LL.DHID'); + SQL.Add(' and A.OrdSubId=Contract_Cloth_LL.OrdSubId)'); + sql.Add(', BCPMQty=(select isnull(sum(MQty2),0) from Contract_Cloth_LLMX A where A.DHID=Contract_Cloth_LL.DHID'); + SQL.Add(' and A.OrdSubId=Contract_Cloth_LL.OrdSubId)'); + sql.Add('where DHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + SQL.Add(' and OrdSubId='''+Trim(ClientDataSet3.fieldbyname('OrdSubid').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Cloth_LL where not exists('); + sql.Add(' select * from Contract_Cloth_LLMX LM where LM.DHID=Contract_Cloth_LL.DHID '); + sql.Add(' and LM.OrdSubId=Contract_Cloth_LL.OrdSubId )'); + sql.Add(' and DHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + sql.Add(' and isnull(DHIDHelp,'''')='''' '); + ExecSQL; + end; + if YFData()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('¸׷쳣!','ʾ',0); + Exit; + end; + ADOQueryCmd.Connection.CommitTrans; + ClientDataSet3.Delete; + except; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣!','ʾ',0); + end; + + {with Order_Main do + begin + Edit; + if ClientDataSet3.IsEmpty=False then + FieldByName('KCQty').Value:=Order_Main.fieldbyname('DHQty').Value-tv3.DataController.Summary.FooterSummaryValues[0] + else + FieldByName('KCQty').Value:=Order_Main.fieldbyname('DHQty').Value; + Post; + end; } + end; +end; + +procedure TfrmClothContractListLL.v2Column3PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='RKPlace'; + flagname:='ص'; + if ShowModal=1 then + begin + with ClientDataSet2 do + begin + Edit; + FieldByName('RKPlace').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractListLL.v3Column2PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,fieldname,qty1,qty2:String; +begin + If Trim(TcxTextEdit(Sender).EditingText)<>'' then + begin + mvalue:=TcxTextEdit(Sender).EditingText; + end else + begin + mvalue:='0'; + end; + fieldname:=Tv3.Controller.FocusedColumn.DataBinding.FilterFieldName; + with ClientDataSet3 do + begin + Edit; + FieldByName(Trim(fieldname)).Value:=mvalue; + Post; + end; + {with Order_Main do + begin + Edit; + FieldByName('KCQty').Value:=Order_Main.fieldbyname('DHQty').Value-tv3.DataController.Summary.FooterSummaryValues[0]; + Post; + end; } + if Trim(ClientDataSet3.fieldbyname('TPQty').AsString)<>'' then + begin + qty1:=ClientDataSet3.fieldbyname('TPQty').AsString; + end else + begin + qty1:='0'; + end; + if Trim(ClientDataSet3.fieldbyname('Qty2').AsString)<>'' then + begin + Qty2:=ClientDataSet3.fieldbyname('Qty2').AsString; + end else + begin + Qty2:='0'; + end; + if StrToFloat(qty1)*StrToFloat(qty2)=0 then Exit; + with ClientDataSet3 do + begin + Edit; + FieldByName('qty3').Value:=(StrToFloat(qty1)-StrToFloat(qty2))*1.00*100/StrToFloat(qty1); + Post; + end; + +end; + +procedure TfrmClothContractListLL.ConNoKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Length(Trim(ConNo.Text))<3 then Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + //sql.Add('select ClothPS=A.DHPS-A.TPPSHZ,ClothQty=A.DHQty-A.TPQtyHZ, '); + // SQL.Add(' A.DHID,A.DHPS,A.TPPSHZ,A.TPQtyHZ,A.DHQty,A.DHUnit,A.FirstName,B.ConNo,C.C_CodeName,C.C_Spec,C.MFQty,C.KZQty,B.FactoryNoName '); + sql.Add('select ClothPS=A.DHPS-A.TPPSHZ,ClothQty=A.DHQty-A.TPQtyHZ, A.DHUnit,SXMainId='''',SXDHID='''',A.MainId,A.SubId'); + SQL.Add(' ,A.DHID,A.DHPS,A.TPPSHZ,A.TPQtyHZ,A.DHQty,A.FirstName,B.ConNo,C.C_CodeName,C.C_Spec,C.MFQty,C.KZQty,B.FactoryNoName '); + sql.Add(' from Contract_Cloth_DH A inner join Contract_Main B on A.Mainid=B.Mainid'); + sql.Add(' inner join Contract_Sub C on A.Subid=C.Subid'); + SQL.Add(' where B.ConNo like '''+'%'+Trim(ConNo.Text)+'%'+''''); + sql.add(' and isnull(A.DHType,'''')='''''); + sql.Add(' union all'); + + // sql.Add(' select ClothPS=A.DHPS-A.TPPSHZ,ClothQty=A.DHQty-A.TPQtyHZ, '); + //SQL.Add(' A.DHID,A.DHPS,A.TPPSHZ,A.TPQtyHZ,A.DHQty,A.DHUnit,A.FirstName '); + //sql.Add(',ConNo=(select Top 1 ConNo from ContractSX_Main SM where SM.MainId=A.SXMainId)'); + //sql.Add(',C_CodeName=A.PBName,C_Spec=A.PBSpec,MFQty=A.PBMF,KZQty=A.PBKZ'); + //SQL.Add(',FactoryNoName=(select Top 1 FirstName from ContractSX_Cloth_DH SD where SD.DHID=A.SXDHID)'); + sql.Add(' select ClothPS=A.DHPS-A.TPPSHZ,ClothQty=A.DHQty-A.TPQtyHZ,A.DHUnit,A.SXMainId,A.SXDHID,A.MainId,A.SubId '); + SQL.Add(' ,A.DHID,A.DHPS,A.TPPSHZ,A.TPQtyHZ,A.DHQty,A.FirstName '); + sql.Add(',ConNo=(select Top 1 ConNo from ContractSX_Main SM where SM.MainId=A.SXMainId)'); + sql.Add(',C_CodeName=A.PBName,C_Spec=A.PBSpec,MFQty=A.PBMF,KZQty=A.PBKZ'); + SQL.Add(',FactoryNoName=(select Top 1 FirstName from ContractSX_Cloth_DH SD where SD.DHID=A.SXDHID)'); + sql.Add(' from Contract_Cloth_DH A '); + SQL.Add(' where exists(select * from ContractSX_Main B where B.MainId=A.SXMainId'); + SQL.Add(' and B.ConNO like '''+'%'+Trim(ConNo.Text)+'%'+''')'); + sql.Add(' and isnull(A.DHType,'''')<>'''' '); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +procedure TfrmClothContractListLL.ToolButton1Click(Sender: TObject); + var + FColumn:String; +begin + if ClientDataSet3.IsEmpty then Exit; + ToolBar2.SetFocus; + FColumn:=Tv3.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(FColumn)='OrderNo' then Exit; + if Trim(FColumn)='PRTColor' then Exit; + if Application.MessageBox('ȷҪһ滻','ʾ',32+4)<>IDYES then Exit; + OneKeyPost(Tv3,ClientDataSet3); +end; + +procedure TfrmClothContractListLL.v3Column5PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,fieldname,qty1,qty3:String; + +begin + If Trim(TcxTextEdit(Sender).EditingText)<>'' then + begin + mvalue:=TcxTextEdit(Sender).EditingText; + end else + begin + mvalue:='0'; + end; + fieldname:=Tv3.Controller.FocusedColumn.DataBinding.FilterFieldName; + with ClientDataSet3 do + begin + Edit; + FieldByName(Trim(fieldname)).Value:=mvalue; + Post; + end; + {with Order_Main do + begin + Edit; + FieldByName('KCQty').Value:=Order_Main.fieldbyname('DHQty').Value-tv3.DataController.Summary.FooterSummaryValues[0]; + Post; + end; } + if Trim(ClientDataSet3.fieldbyname('TPQty').AsString)<>'' then + begin + qty1:=ClientDataSet3.fieldbyname('TPQty').AsString; + end else + begin + qty1:='0'; + end; + if Trim(ClientDataSet3.fieldbyname('qty3').AsString)<>'' then + begin + qty3:=ClientDataSet3.fieldbyname('qty3').AsString; + end else + begin + qty3:='0'; + end; + //if StrToFloat(qty1)*StrToFloat(qty2)=0 then Exit; + with ClientDataSet3 do + begin + Edit; + FieldByName('qty2').Value:=StrToFloat(qty1)*(1-StrToFloat(qty3)*1.00/100); + Post; + end; + +end; + +procedure TfrmClothContractListLL.Tv1FocusedRecordChanged( + Sender: TcxCustomGridTableView; APrevFocusedRecord, + AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); +begin + if Order_Main.IsEmpty then exit; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,C.MPRTSpec,B.PRTColor,C.MPRTCodeName,C.OrderNo,B.SOrddefstr1,B.PRTHX,B.PRTOrderQty,B.OrderUnit, '); + SQL.Add(' Case when B.OrderUnit=''M'' then Cast(dbo.F_Get_Order_MFKZ(A.MainId,''MF'') '); + sql.Add(' *1.00/100*B.PRTOrderQty*dbo.F_Get_Order_MFKZ(A.MainId,''KZ'')/1000 as decimal(18,0))'); + SQL.Add(' when B.OrderUnit=''Y'' then Cast(dbo.F_Get_Order_MFKZ(A.MainId,''MF'')'); + sql.Add(' *1.00/100*B.PRTOrderQty*0.9144*dbo.F_Get_Order_MFKZ(A.MainId,''KZ'')/1000 As decimal(18,0)) '); + sql.Add(' when B.OrderUnit=''Kg'' then B.PRTOrderQty else Null end as PRTOrderKgQty'); + SQL.Add('from Contract_Cloth_LLMx A inner join JYOrder_Sub B on A.OrdSubId=B.SubId'); + SQL.Add(' inner join JYOrder_Main C on C.MainId=B.MainId '); + sql.Add('where A.DHId='''+Trim(Order_Main.fieldbyname('DHId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3); +end; + +end. diff --git a/打卷检验管理/U_ClothContractListLLSX.dfm b/打卷检验管理/U_ClothContractListLLSX.dfm new file mode 100644 index 0000000..02b782b --- /dev/null +++ b/打卷检验管理/U_ClothContractListLLSX.dfm @@ -0,0 +1,719 @@ +object frmClothContractListLLSX: TfrmClothContractListLLSX + Left = 25 + Top = 12 + Width = 1280 + Height = 705 + Caption = #32433#32447#32455#25104#21697#20986#24211 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1272 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 107 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBClose: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + object ToolButton2: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + Visible = False + end + object ToolButton3: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + Visible = False + OnClick = ToolButton3Click + end + object ToolButton4: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #21040#22383#30830#23450 + ImageIndex = 113 + Visible = False + end + object ToolButton5: TToolButton + Left = 402 + Top = 0 + Caption = #22383#24067#39046#26009#30830#23450 + ImageIndex = 114 + Visible = False + OnClick = ToolButton5Click + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1272 + Height = 54 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 22 + Width = 52 + Height = 12 + Caption = #30331#35760#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 161 + Top = 22 + Width = 18 + Height = 12 + Caption = '---' + end + object Label3: TLabel + Left = 283 + Top = 22 + Width = 52 + Height = 12 + Caption = #21512#21516#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 444 + Top = 22 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 612 + Top = 22 + Width = 26 + Height = 12 + Caption = #35268#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 748 + Top = 22 + Width = 52 + Height = 12 + Caption = #21407#26448#26009#21378 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 892 + Top = 22 + Width = 39 + Height = 12 + Caption = #22383#24067#21378 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 18 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 179 + Top = 18 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object ConNo: TEdit + Tag = 2 + Left = 337 + Top = 18 + Width = 81 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnChange = ConNoChange + OnKeyPress = ConNoKeyPress + end + object C_CodeName: TEdit + Tag = 2 + Left = 497 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + OnChange = ConNoChange + end + object C_Spec: TEdit + Tag = 2 + Left = 640 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnChange = ConNoChange + end + object FactoryNoName: TEdit + Tag = 2 + Left = 800 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 5 + OnChange = ConNoChange + end + object FirstName: TEdit + Tag = 2 + Left = 932 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + OnChange = ConNoChange + end + end + object Panel2: TPanel + Left = 0 + Top = 370 + Width = 1272 + Height = 301 + Align = alBottom + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 2 + object cxGrid3: TcxGrid + Left = 2 + Top = 34 + Width = 1268 + Height = 265 + Align = alClient + TabOrder = 0 + object Tv3: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v3Column65 + end + item + Kind = skSum + Column = v3Column3 + end + item + Kind = skSum + Column = v3Column9 + end + item + Kind = skSum + end + item + Kind = skSum + Column = v3Column4 + end + item + Kind = skAverage + Column = v3Column5 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = DataLink_TradeManage.Default + object v3Column7: TcxGridDBColumn + Caption = #22383#24067#21517#31216 + DataBinding.FieldName = 'PBName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v3Column7PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 92 + end + object v3Column11: TcxGridDBColumn + Caption = #22383#24067#35268#26684 + DataBinding.FieldName = 'PBSpec' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v3Column12: TcxGridDBColumn + Caption = #22383#24067#38376#24133'(cm)' + DataBinding.FieldName = 'PBMF' + HeaderAlignmentHorz = taCenter + Width = 94 + end + object v3Column13: TcxGridDBColumn + Caption = #22383#24067#20811#37325'(g/'#13217')' + DataBinding.FieldName = 'PBKZ' + HeaderAlignmentHorz = taCenter + Width = 113 + end + object v3Column14: TcxGridDBColumn + Caption = #26579#21378 + DataBinding.FieldName = 'ToName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v3Column14PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 88 + end + object v3Column6: TcxGridDBColumn + Caption = #20986#24211#26085#26399 + DataBinding.FieldName = 'TPDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 91 + end + object v3Column3: TcxGridDBColumn + Caption = #25237#22383#21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v3Column9: TcxGridDBColumn + Caption = #20986#24211#21305#25968 + DataBinding.FieldName = 'SXPS' + HeaderAlignmentHorz = taCenter + Width = 63 + end + object v3Column4: TcxGridDBColumn + Caption = #20986#24211#25968#37327 + DataBinding.FieldName = 'SXQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v3Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 85 + end + object v3Column1: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'SXUnit' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.DropDownListStyle = lsFixedList + Properties.ImmediatePost = True + Properties.Items.Strings = ( + 'M' + 'Kg') + HeaderAlignmentHorz = taCenter + Width = 65 + end + object v3Column5: TcxGridDBColumn + Caption = #25240#31639#31995#25968 + DataBinding.FieldName = 'ZSXS' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v3Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 85 + end + object v3Column65: TcxGridDBColumn + Caption = #32433#32447#25968#37327 + DataBinding.FieldName = 'TPQty' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v3Column10: TcxGridDBColumn + Caption = #21152#24037#21333#20215 + DataBinding.FieldName = 'JGPrice' + HeaderAlignmentHorz = taCenter + Width = 63 + end + object v3Column8: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'TPNote' + Width = 105 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv3 + end + end + object ToolBar2: TToolBar + Left = 2 + Top = 2 + Width = 1268 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 119 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 1 + object ToolButton8: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton8Click + end + object ToolButton9: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton3Click + end + object ToolButton11: TToolButton + Left = 126 + Top = 0 + Caption = #32455#25104#21697#20986#24211#30830#23450 + ImageIndex = 114 + OnClick = ToolButton5Click + end + object ToolButton1: TToolButton + Left = 245 + Top = 0 + AutoSize = True + Caption = #19968#38190#26367#25442 + ImageIndex = 54 + OnClick = ToolButton1Click + end + end + end + object cxSplitter1: TcxSplitter + Left = 0 + Top = 362 + Width = 1272 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + Control = Panel2 + end + object cxGrid1: TcxGrid + Left = 0 + Top = 86 + Width = 1272 + Height = 276 + Align = alClient + TabOrder = 4 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv1CellClick + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column3 + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column8 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1OrderNo: TcxGridDBColumn + Caption = #21512#21516#32534#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 114 + end + object v1Column2: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 112 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 106 + end + object v1FactoryNo1Name: TcxGridDBColumn + Caption = #21407#26448#26009#21378 + DataBinding.FieldName = 'FactoryNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 79 + end + object v1Column5: TcxGridDBColumn + Caption = #22383#24067#21378 + DataBinding.FieldName = 'FirstName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 84 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'DHUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 64 + end + object v1Column3: TcxGridDBColumn + Caption = #21040#36135#25968#37327 + DataBinding.FieldName = 'DHQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1Column8: TcxGridDBColumn + Caption = #32433#32447#25968#37327 + DataBinding.FieldName = 'ClothQty' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column4: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 752 + Top = 216 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 936 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1000 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1040 + Top = 8 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 1168 + Top = 8 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 1096 + Top = 8 + end + object ClientDataSet3: TClientDataSet + Aggregates = <> + Params = <> + Left = 1112 + Top = 240 + end + object DataSource2: TDataSource + DataSet = ClientDataSet2 + Left = 880 + Top = 176 + end + object DataSource3: TDataSource + DataSet = ClientDataSet3 + Left = 1112 + Top = 216 + end + object ClientDataSet2: TClientDataSet + Aggregates = <> + Params = <> + Left = 920 + Top = 224 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 352 + Top = 192 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = Order_Main + Left = 400 + Top = 192 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 416 + Top = 248 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid3 + PopupMenus = <> + Left = 1128 + Top = 472 + end +end diff --git a/打卷检验管理/U_ClothContractListLLSX.pas b/打卷检验管理/U_ClothContractListLLSX.pas new file mode 100644 index 0000000..3262e6e --- /dev/null +++ b/打卷检验管理/U_ClothContractListLLSX.pas @@ -0,0 +1,1045 @@ +unit U_ClothContractListLLSX; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, + RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, + cxTextEdit, cxDropDownEdit, cxCheckBox; + +type + TfrmClothContractListLLSX = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Label2: TLabel; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + ConNo: TEdit; + Label5: TLabel; + C_CodeName: TEdit; + Order_Main: TClientDataSet; + Label4: TLabel; + C_Spec: TEdit; + ToolButton2: TToolButton; + ToolButton3: TToolButton; + ToolButton4: TToolButton; + ClientDataSet3: TClientDataSet; + DataSource2: TDataSource; + DataSource3: TDataSource; + ClientDataSet2: TClientDataSet; + ToolButton5: TToolButton; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + Panel2: TPanel; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + v3Column6: TcxGridDBColumn; + v3Column3: TcxGridDBColumn; + v3Column65: TcxGridDBColumn; + v3Column4: TcxGridDBColumn; + v3Column5: TcxGridDBColumn; + v3Column8: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + cxSplitter1: TcxSplitter; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1FactoryNo1Name: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1Column3: TcxGridDBColumn; + ToolBar2: TToolBar; + ToolButton8: TToolButton; + ToolButton9: TToolButton; + ToolButton11: TToolButton; + v1Column5: TcxGridDBColumn; + cxGridPopupMenu2: TcxGridPopupMenu; + Label6: TLabel; + FactoryNoName: TEdit; + Label7: TLabel; + FirstName: TEdit; + v3Column1: TcxGridDBColumn; + v3Column9: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v3Column10: TcxGridDBColumn; + ToolButton1: TToolButton; + v3Column7: TcxGridDBColumn; + v3Column11: TcxGridDBColumn; + v3Column12: TcxGridDBColumn; + v3Column13: TcxGridDBColumn; + v3Column14: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure ToolButton5Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure v2Column3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v3Column2PropertiesEditValueChanged(Sender: TObject); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure ConNoKeyPress(Sender: TObject; var Key: Char); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton8Click(Sender: TObject); + procedure v3Column7PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v3Column14PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + private + FInt,PFInt:Integer; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + function YFData():Boolean; + { Private declarations } + public + { Public declarations } + end; + +var + frmClothContractListLLSX: TfrmClothContractListLLSX; + +implementation +uses + U_DataLink,U_ClothContractInPut,U_Fun,U_ProductOrderListSel,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmClothContractListLLSX.FormDestroy(Sender: TObject); +begin + frmClothContractListLLSX:=nil; +end; + +procedure TfrmClothContractListLLSX.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmClothContractListLLSX.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('AAͬll1SX',Tv1,'ָʾ'); + WriteCxGrid('AAͬllr1SX',Tv3,'ָʾ'); +end; + +procedure TfrmClothContractListLLSX.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select ClothQty=DHQty-TPQtyHZ, '); + sql.Add(' A.*,B.ConNo,C.C_CodeName,C.C_Spec,C.MFQty,C.KZQty,B.FactoryNoName from ContractSX_Cloth_DH A '); + sql.add(' inner join ContractSX_Main B on A.Mainid=B.Mainid'); + sql.Add('inner join ContractSX_Sub C on A.Subid=C.Subid'); + //sql.Add(' where B.FillTime>=:begdate and B.Filltime<:enddate and A.DHType=''ǰ'' '); + sql.Add(' where B.FillTime>=:begdate and B.Filltime<:enddate '); + Parameters.ParamByName('begdate').Value:=BegDate.Date; + Parameters.ParamByName('enddate').Value:=EndDate.Date+1; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + + if Order_Main.IsEmpty then exit; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.* '); + SQL.Add('from ContractSX_Cloth_LLMx A '); + sql.Add('where A.DHId='''+Trim(Order_Main.fieldbyname('DHId').AsString)+''''); + //ShowMessage(SQL.Text); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3); +end; + +procedure TfrmClothContractListLLSX.InitForm(); +begin + + ReadCxGrid('AAͬll1SX',Tv1,'ָʾ'); + ReadCxGrid('AAͬllr1SX',Tv3,'ָʾ'); + EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + BegDate.DateTime:=EndDate.DateTime-30; + InitGrid(); +end; + +procedure TfrmClothContractListLLSX.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +function TfrmClothContractListLLSX.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmClothContractListLLSX.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmClothContractListLLSX.ConNoChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothContractListLLSX.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmClothContractListLLSX.Tv2MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=2; +end; + +procedure TfrmClothContractListLLSX.Tv2CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,C.MPRTSpec,B.PRTColor,C.MPRTCodeName,C.OrderNo ,'); + sql.Add('C_Unit=(select Top 1 C_Unit from Contract_Sub AA,Contract_Sub_Mx BB where AA.SubId=BB.SubId and BB.MXid=A.Mxid)'); + SQL.Add(' from Contract_Sub_MxTo A inner join JYOrder_Sub B on A.OrdSubId=B.SubId '); + SQL.Add(' inner join JYOrder_Main C on C.MainId=B.MainId '); + sql.Add('where A.MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3); +end; + +procedure TfrmClothContractListLLSX.ToolButton5Click(Sender: TObject); +var + maxno,LLIdx,FDW:string; +begin + if ClientDataSet3.IsEmpty then Exit; + ToolBar1.SetFocus; + if ClientDataSet3.Locate('PBName',null,[]) then + begin + Application.MessageBox('ƲΪգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('SXPS',null,[]) then + begin + Application.MessageBox('ƥΪգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('SXQty',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('JGPrice',null,[]) then + begin + Application.MessageBox('ӹ۲Ϊգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('TPQty',null,[]) then + begin + Application.MessageBox('ɴΪգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('SXUnit',null,[]) then + begin + Application.MessageBox('λΪգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('PBMF',null,[]) then + begin + Application.MessageBox('ŷΪգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('PBKZ',null,[]) then + begin + Application.MessageBox('زΪգ','ʾ',0); + Exit; + end; + ClientDataSet3.DisableControls; + with ClientDataSet3 do + begin + First; + while not Eof do + begin + + if Trim(FDW)='' then + begin + FDW:=Trim(ClientDataSet3.fieldbyname('SXUnit').AsString); + end; + if FDW<>Trim(ClientDataSet3.fieldbyname('SXUnit').AsString) then + begin + Application.MessageBox('λһ!','ʾ',0); + Exit; + end; + Next; + end; + end; + { with ClientDataSet3 do + begin + First; + while not Eof do + begin + + if Trim(FDW)='' then + begin + FDW:=Trim(ClientDataSet3.fieldbyname('SXUnit').AsString); + end; + if FDW<>Trim(ClientDataSet3.fieldbyname('SXUnit').AsString) then + begin + Application.MessageBox('λһ!','ʾ',0); + Exit; + end; + Next; + end; + end;} + ClientDataSet3.EnableControls; + BegDate.SetFocus; + try + ADOQueryCmd.Connection.BeginTrans; + //ȥ + with ClientDataSet3 do + begin + First; + while not eof do + begin + if Trim(ClientDataSet3.fieldbyname('MXId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,maxno,'MX','ContractSX_Cloth_LLMx',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡȥˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(ClientDataSet3.fieldbyname('MXId').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from ContractSX_Cloth_LLMx where MXId='''+Trim(ClientDataSet3.fieldbyname('MXId').AsString)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(ClientDataSet3.fieldbyname('MXId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + FieldByName('DHId').Value:=Trim(Order_Main.fieldbyname('DHId').AsString); + FieldByName('MXId').Value:=Trim(maxno); + FieldByName('TPDate').Value:=ClientDataSet3.fieldbyname('TPDate').Value; + FieldByName('TPNote').Value:=ClientDataSet3.fieldbyname('TPNote').Value; + FieldByName('TPUnit').Value:='Kg'; + FieldByName('SXUnit').Value:=ClientDataSet3.fieldbyname('SXUnit').Value; + FieldByName('PBName').Value:=ClientDataSet3.fieldbyname('PBName').Value; + FieldByName('PBSpec').Value:=ClientDataSet3.fieldbyname('PBSpec').Value; + FieldByName('PBMF').Value:=ClientDataSet3.fieldbyname('PBMF').Value; + FieldByName('PBKZ').Value:=ClientDataSet3.fieldbyname('PBKZ').Value; + FieldByName('ToName').Value:=ClientDataSet3.fieldbyname('ToName').Value; + if Trim(ClientDataSet3.fieldbyname('SXUnit').AsString)='Kg' then + begin + FieldByName('SXMQty').Value:=ClientDataSet3.FieldByName('SXQty').Value*1.00 + /(ClientDataSet3.FieldByName('PBKZ').Value/1000) + /(ClientDataSet3.FieldByName('PBMF').Value/100) + end else + begin + FieldByName('SXMQty').Value:=ClientDataSet3.FieldByName('SXQty').Value; + end; + + if Trim(ClientDataSet3.fieldbyname('TPQty').AsString)<>'' then + FieldByName('TPQty').Value:=ClientDataSet3.fieldbyname('TPQty').Value + else + FieldByName('TPQty').Value:=0; + if Trim(ClientDataSet3.fieldbyname('JGPrice').AsString)<>'' then + FieldByName('JGPrice').Value:=ClientDataSet3.fieldbyname('JGPrice').Value + else + FieldByName('JGPrice').Value:=0; + + if Trim(ClientDataSet3.fieldbyname('SXPS').AsString)<>'' then + FieldByName('SXPS').Value:=ClientDataSet3.fieldbyname('SXPS').Value + else + FieldByName('SXPS').Value:=0; + if Trim(ClientDataSet3.fieldbyname('SXQty').AsString)<>'' then + FieldByName('SXQty').Value:=ClientDataSet3.fieldbyname('SXQty').Value + else + FieldByName('SXQty').Value:=0; + if Trim(ClientDataSet3.fieldbyname('ZSXS').AsString)<>'' then + FieldByName('ZSXS').Value:=ClientDataSet3.fieldbyname('ZSXS').Value + else + FieldByName('ZSXS').Value:=0; + FieldByName('TPYZQty').Value:=ClientDataSet3.fieldbyname('TPQty').Value; + Post; + end; + with ClientDataSet3 do + begin + Edit; + FieldByName('MXId').Value:=Trim(maxno); + Post; + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add(' Update ContractSX_Cloth_DH Set '); + sql.Add(' TPQtyHZ=(select Sum(TPQty) from ContractSX_Cloth_LLMx A where A.DHID=ContractSX_Cloth_DH.DHID)'); + sql.Add(' where DHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_DH where SXDHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + sql.Add(' and FirstName='''+Trim(ClientDataSet3.fieldbyname('ToName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + if GetLSNo(ADOQueryCmd,maxno,'SD','Contract_Cloth_DH',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡȥˮʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_DH where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('DHID').Value:=Trim(maxno); + FieldByName('SXDHID').Value:=Trim(Order_Main.fieldbyname('DHID').AsString); + FieldByName('SXMainID').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + FieldByName('FirstNo').Value:=Trim(ClientDataSet3.fieldbyname('ToName').AsString); + FieldByName('FirstName').Value:=Trim(ClientDataSet3.fieldbyname('ToName').AsString); + FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + FieldByName('DHUnit').Value:=Trim(ClientDataSet3.fieldbyname('SXUnit').AsString); + FieldByName('PBName').Value:=Trim(ClientDataSet3.fieldbyname('PBName').AsString); + FieldByName('PBSpec').Value:=Trim(ClientDataSet3.fieldbyname('PBSpec').AsString); + FieldByName('PBKZ').Value:=Trim(ClientDataSet3.fieldbyname('PBKZ').AsString); + FieldByName('PBMF').Value:=Trim(ClientDataSet3.fieldbyname('PBMF').AsString); + FieldByName('DHType').Value:='ɴ߼ӹ'; + Post; + end; + + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update Contract_Cloth_DH Set DHUnit='''+Trim(ClientDataSet3.fieldbyname('SXUnit').AsString)+''''); + sql.Add(' ,PBName='''+Trim(ClientDataSet3.fieldbyname('PBName').AsString)+''''); + sql.Add(' ,PBSpec='''+Trim(ClientDataSet3.fieldbyname('PBSpec').AsString)+''''); + sql.Add(' ,PBMF='+Trim(ClientDataSet3.fieldbyname('PBMF').AsString)); + sql.Add(' ,PBKZ='+Trim(ClientDataSet3.fieldbyname('PBKZ').AsString)); + sql.Add(' ,SXMainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.add(',DHType=''ɴ߼ӹ'' '); + sql.Add(' where DHID='''+Trim(ADOQueryTemp.fieldbyname('DHID').AsString)+''''); + ExecSQL; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Contract_Cloth_DH Set DHPS=(select isnull(sum(SXPS),0) from ContractSX_Cloth_LLMX A where A.DHID=Contract_Cloth_DH.SXDHID'); + SQL.Add(' and A.ToName=Contract_Cloth_DH.FirstName)'); + sql.Add(',SXTPQty=(select isnull(Sum(TPQty),0) from ContractSX_Cloth_LLMx A where A.DHID=Contract_Cloth_DH.SXDHID'); + SQL.Add(' and A.ToName=Contract_Cloth_DH.FirstName)'); + sql.Add(',DHQty=(select isnull(Sum(SXQty),0) from ContractSX_Cloth_LLMx A where A.DHID=Contract_Cloth_DH.SXDHID'); + SQL.Add(' and A.ToName=Contract_Cloth_DH.FirstName)'); + SQL.Add(',DHMQty=(select isnull(sum(SXMQty),0) from ContractSX_Cloth_LLMx A '); + SQL.Add(' where A.DHID=Contract_Cloth_DH.SXDHID'); + SQL.Add(' and A.ToName=Contract_Cloth_DH.FirstName)'); + sql.Add('where SXDHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + SQL.Add(' and FirstName='''+Trim(ClientDataSet3.fieldbyname('ToName').AsString)+''''); + ExecSQL; + end; + Next; + end; + end; + if YFData()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('¼ӹ쳣!','ʾ',0); + Exit; + end; + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; +function TfrmClothContractListLLSX.YFData():Boolean; +var + CRID,OrdMainId,YFID,FComTaiTou:String; +begin + Result:=False; +{ with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + + Application.MessageBox('δ¼!','ʾ',0); + Exit; + end else + begin + if ADOQueryTemp.RecordCount>1 then + begin + + Application.MessageBox('¼ظ!','ʾ',0); + Exit; + end; + end; } + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + OrdMainId:=Trim(ADOQueryTemp.fieldbyname('MainId').AsString); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select OrdDefStr2 from JYOrder_Main where Mainid='''+Trim(OrdMainId)+''''); + Open; + end; + FComTaiTou:=Trim(ADOQueryTemp.fieldbyname('OrdDefStr2').AsString); + + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CRID set CRID=CRID+1'); + sql.Add('select * from YF_Money_CRID '); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('ZdyStr1').Value:='Ӧ'; + Post; + end; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + sql.Add(' and YFTypeId='''+Trim(Order_Main.fieldbyname('DHid').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + + if GetLSNo(ADOQueryCmd,YFID,'PJ','YF_Money_CR',3,1)=False then + begin + Application.MessageBox('ȡӹӦʧ!','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('YFID').Value:=Trim(YFID); + FieldByName('YFTypeId').Value:=Trim(Order_Main.fieldbyname('DHid').AsString); + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRType').Value:='ӦǼ'; + FieldByName('CRFlag').Value:='Ӧ'; + FieldByName('QtyFlag').Value:=1; + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('CRTime').Value:=ClientDataSet3.fieldbyname('TPDate').Value; + FieldByName('YFType').Value:='Զ'; + FieldByName('Price').Value:=ClientDataSet3.fieldbyname('JGPrice').Value; + FieldByName('HuiLv').Value:=1; + FieldByName('BZType').Value:=''; + FieldByName('ComTaiTou').Value:=''; + FieldByName('QtyUnit').Value:='Kg'; + FieldByName('YFName').Value:='ɴߺӹ'; + FieldByName('MainId').Value:=Trim(OrdMainId); + Post; + end; + end else + begin + YFID:=Trim(ADOQueryTemp.fieldbyname('YFID').AsString); + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CR Set CRTime='''+Trim(ClientDataSet3.fieldbyname('TPDate').AsString)+''''); + sql.add(',Price='+ClientDataSet3.fieldbyname('JGPrice').AsString); + sql.Add(' where YFID='''+Trim(ADOQueryTemp.fieldbyname('YFID').AsString)+''''); + ExecSQL; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('update YF_Money_CR Set Qty=(select isnull(sum(TPQty),0) from ContractSX_Cloth_LLMX A '); + SQL.Add(' where A.DHId=YF_Money_CR.YFTypeId )'); + sql.Add(',Money=(select isnull(sum(TPQty*JGPrice),0) from ContractSX_Cloth_LLMX A '); + SQL.Add(' where A.DHId=YF_Money_CR.YFTypeId )'); + sql.Add(',BBMoney=(select isnull(sum(TPQty*JGPrice),0) from ContractSX_Cloth_LLMX A '); + SQL.Add(' where A.DHId=YF_Money_CR.YFTypeId )'); + sql.Add(' where YFTypeId='''+Trim(Order_Main.fieldbyname('DHid').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where YFID='''+Trim(YFID)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + if ADOQueryTemp.FieldByName('Money').AsFloat=0 then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete YF_Money_CR where YFID='''+Trim(YFID)+''''); + ExecSQL; + end; + end; + end; + Result:=True; +end; + +procedure TfrmClothContractListLLSX.ToolButton3Click(Sender: TObject); +begin + + begin + if ClientDataSet3.IsEmpty then Exit; + if Trim(ClientDataSet3.fieldbyname('MXId').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + end; + try + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractSX_Cloth_LLMx where MXId='''+Trim(ClientDataSet3.fieldbyname('MXId').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update ContractSX_Cloth_DH Set TPQtyHZ=(select isnull(Sum(TPYZQty),0) from ContractSX_Cloth_LLMx A where A.DHID=ContractSX_Cloth_DH.DHID)'); + sql.Add(' where DHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Contract_Cloth_DH Set DHPS=(select isnull(sum(SXPS),0) from ContractSX_Cloth_LLMX A where A.DHID=Contract_Cloth_DH.SXDHID'); + SQL.Add(' and A.ToName=Contract_Cloth_DH.FirstName)'); + sql.Add(', DHQty=(select isnull(sum(SXQty),0) from ContractSX_Cloth_LLMX A where A.DHID=Contract_Cloth_DH.SXDHID'); + SQL.Add(' and A.ToName=Contract_Cloth_DH.FirstName)'); + sql.Add(', DHMQty=(select isnull(sum(SXMQty),0) from ContractSX_Cloth_LLMX A where A.DHID=Contract_Cloth_DH.SXDHID'); + SQL.Add(' and A.ToName=Contract_Cloth_DH.FirstName)'); + sql.Add('where SXDHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + SQL.Add(' and FirstName='''+Trim(ClientDataSet3.fieldbyname('ToName').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Cloth_DH where not exists('); + sql.Add(' select * from ContractSX_Cloth_LLMX LM where LM.DHID=Contract_Cloth_DH.SXDHID '); + sql.Add(' and LM.ToName=Contract_Cloth_DH.FirstName )'); + sql.Add(' and SXDHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + SQL.Add(' and FirstName='''+Trim(ClientDataSet3.fieldbyname('ToName').AsString)+''''); + ExecSQL; + end; + if YFData()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ӹ쳣!','ʾ',0); + Exit; + end; + ADOQueryCmd.Connection.CommitTrans; + ClientDataSet3.Delete; + except; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣!','ʾ',0); + end; + + {with Order_Main do + begin + Edit; + if ClientDataSet3.IsEmpty=False then + FieldByName('KCQty').Value:=Order_Main.fieldbyname('DHQty').Value-tv3.DataController.Summary.FooterSummaryValues[0] + else + FieldByName('KCQty').Value:=Order_Main.fieldbyname('DHQty').Value; + Post; + end; } + end; +end; + +procedure TfrmClothContractListLLSX.v2Column3PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='RKPlace'; + flagname:='ص'; + if ShowModal=1 then + begin + with ClientDataSet2 do + begin + Edit; + FieldByName('RKPlace').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractListLLSX.v3Column2PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,fieldname,qty1,qty2,qty3:String; + +begin + If Trim(TcxTextEdit(Sender).EditingText)<>'' then + begin + mvalue:=TcxTextEdit(Sender).EditingText; + end else + begin + mvalue:='0'; + end; + fieldname:=Tv3.Controller.FocusedColumn.DataBinding.FilterFieldName; + with ClientDataSet3 do + begin + Edit; + FieldByName(Trim(fieldname)).Value:=mvalue; + Post; + end; + if Trim(ClientDataSet3.fieldbyname('ZSXS').AsString)<>'' then + begin + Qty3:=ClientDataSet3.fieldbyname('ZSXS').AsString; + end else + begin + Qty3:='0'; + end; + if Trim(ClientDataSet3.fieldbyname('SXQty').AsString)<>'' then + begin + Qty1:=ClientDataSet3.fieldbyname('SXQty').AsString; + end else + begin + Qty1:='0'; + end; + with ClientDataSet3 do + begin + Edit; + FieldByName('TPQty').Value:=StrToFloat(qty1)*StrToFloat(qty3); + Post; + end; + +end; + +procedure TfrmClothContractListLLSX.Tv1CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if Order_Main.IsEmpty then exit; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.* '); + SQL.Add('from ContractSX_Cloth_LLMx A '); + sql.Add('where A.DHId='''+Trim(Order_Main.fieldbyname('DHId').AsString)+''''); + //ShowMessage(SQL.Text); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3); + +end; + +procedure TfrmClothContractListLLSX.ConNoKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Length(Trim(ConNo.Text))<3 then Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select ClothQty=DHQty-TPQtyHZ, '); + sql.Add('A.*,B.ConNo,C.C_CodeName,C.C_Spec,C.MFQty,C.KZQty,B.FactoryNoName from ContractSX_Cloth_DH A '); + Sql.Add('inner join ContractSX_Main B on A.Mainid=B.Mainid'); + sql.Add('inner join ContractSX_Sub C on A.Subid=C.Subid'); + SQL.Add(' where B.ConNo like '''+'%'+Trim(ConNo.Text)+'%'+''' '); //and A.DHType=''ǰ'' + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +procedure TfrmClothContractListLLSX.ToolButton1Click(Sender: TObject); + var + FColumn:String; +begin + if ClientDataSet3.IsEmpty then Exit; + ToolBar2.SetFocus; + FColumn:=Tv3.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(FColumn)='OrderNo' then Exit; + if Trim(FColumn)='PRTColor' then Exit; + if Application.MessageBox('ȷҪһ滻','ʾ',32+4)<>IDYES then Exit; + OneKeyPost(Tv3,ClientDataSet3); +end; + +procedure TfrmClothContractListLLSX.ToolButton8Click(Sender: TObject); +begin + + IF Order_Main.IsEmpty then exit; + if ClientDataSet3.IsEmpty then + begin + + with ClientDataSet3 do + begin + Append; + FieldByName('TPDate').Value:=SGetServerDate(ADOQueryTemp); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + FieldByName('ToName').Value:=Trim(ADOQueryTemp.fieldbyname('RanFactory').AsString); + Post; + end; + end else + begin + CopyAddRow(Tv3,ClientDataSet3); + with ClientDataSet3 do + begin + Edit; + FieldByName('MXID').Value:=''; + FieldByName('TPDate').Value:=null; + FieldByName('SXPS').Value:=null; + FieldByName('SXQty').Value:=null; + FieldByName('TPQty').Value:=null; + Post; + end; + end; + +end; + +procedure TfrmClothContractListLLSX.v3Column7PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Cloth'; + flagname:=''; + if ShowModal=1 then + begin + Self.ClientDataSet3.Edit; + Self.ClientDataSet3.FieldByName('PBName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + //Self.ClientDataSet3.FieldByName('C_Code').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractListLLSX.v3Column14PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Factory'; + flagname:='Ⱦ'; + MainType:='RanFactory'; + if ShowModal=1 then + begin + Self.ClientDataSet3.Edit; + self.ClientDataSet3.FieldByName('ToName').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +end. diff --git a/打卷检验管理/U_ClothContractListLLSXQJG.dfm b/打卷检验管理/U_ClothContractListLLSXQJG.dfm new file mode 100644 index 0000000..2434503 --- /dev/null +++ b/打卷检验管理/U_ClothContractListLLSXQJG.dfm @@ -0,0 +1,712 @@ +object frmClothContractListLLSXQJG: TfrmClothContractListLLSXQJG + Left = 37 + Top = 2 + Width = 1280 + Height = 705 + Caption = #32433#32447#21069#21152#24037#20986#24211 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1272 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 107 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBClose: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + object ToolButton2: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + Visible = False + end + object ToolButton3: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + Visible = False + OnClick = ToolButton3Click + end + object ToolButton4: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #21040#22383#30830#23450 + ImageIndex = 113 + Visible = False + end + object ToolButton5: TToolButton + Left = 402 + Top = 0 + Caption = #22383#24067#39046#26009#30830#23450 + ImageIndex = 114 + Visible = False + OnClick = ToolButton5Click + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1272 + Height = 54 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 22 + Width = 52 + Height = 12 + Caption = #30331#35760#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 161 + Top = 22 + Width = 18 + Height = 12 + Caption = '---' + end + object Label3: TLabel + Left = 283 + Top = 22 + Width = 52 + Height = 12 + Caption = #21512#21516#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 444 + Top = 22 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 612 + Top = 22 + Width = 26 + Height = 12 + Caption = #35268#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 748 + Top = 22 + Width = 52 + Height = 12 + Caption = #21407#26448#26009#21378 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 892 + Top = 22 + Width = 39 + Height = 12 + Caption = #22383#24067#21378 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 18 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 179 + Top = 18 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + TabOrder = 1 + end + object ConNo: TEdit + Tag = 2 + Left = 337 + Top = 18 + Width = 81 + Height = 20 + TabOrder = 2 + OnChange = ConNoChange + OnKeyPress = ConNoKeyPress + end + object C_CodeName: TEdit + Tag = 2 + Left = 497 + Top = 18 + Width = 83 + Height = 20 + TabOrder = 3 + OnChange = ConNoChange + end + object C_Spec: TEdit + Tag = 2 + Left = 640 + Top = 18 + Width = 83 + Height = 20 + TabOrder = 4 + OnChange = ConNoChange + end + object FactoryNoName: TEdit + Tag = 2 + Left = 800 + Top = 18 + Width = 83 + Height = 20 + TabOrder = 5 + OnChange = ConNoChange + end + object FirstName: TEdit + Tag = 2 + Left = 932 + Top = 18 + Width = 83 + Height = 20 + TabOrder = 6 + OnChange = ConNoChange + end + end + object Panel2: TPanel + Left = 0 + Top = 367 + Width = 1272 + Height = 301 + Align = alBottom + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 2 + object cxGrid3: TcxGrid + Left = 2 + Top = 34 + Width = 1268 + Height = 265 + Align = alClient + TabOrder = 0 + object Tv3: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v3Column65 + end + item + Kind = skSum + Column = v3Column3 + end + item + Kind = skSum + Column = v3Column9 + end + item + Kind = skSum + end + item + Kind = skSum + Column = v3Column4 + end + item + Kind = skAverage + Column = v3Column5 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = DataLink_TradeManage.Default + object v3Column7: TcxGridDBColumn + Caption = #22383#24067#21517#31216 + DataBinding.FieldName = 'PBName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v3Column7PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 92 + end + object v3Column11: TcxGridDBColumn + Caption = #22383#24067#35268#26684 + DataBinding.FieldName = 'PBSpec' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v3Column12: TcxGridDBColumn + Caption = #22383#24067#38376#24133'(cm)' + DataBinding.FieldName = 'PBMF' + HeaderAlignmentHorz = taCenter + Width = 94 + end + object v3Column13: TcxGridDBColumn + Caption = #22383#24067#20811#37325'(g/'#13217')' + DataBinding.FieldName = 'PBKZ' + HeaderAlignmentHorz = taCenter + Width = 113 + end + object v3Column14: TcxGridDBColumn + Caption = #26579#21378 + DataBinding.FieldName = 'ToName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v3Column14PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 88 + end + object v3Column6: TcxGridDBColumn + Caption = #20986#24211#26085#26399 + DataBinding.FieldName = 'TPDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 91 + end + object v3Column3: TcxGridDBColumn + Caption = #25237#22383#21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v3Column9: TcxGridDBColumn + Caption = #20986#24211#21305#25968 + DataBinding.FieldName = 'SXPS' + HeaderAlignmentHorz = taCenter + Width = 63 + end + object v3Column4: TcxGridDBColumn + Caption = #20986#24211#25968#37327 + DataBinding.FieldName = 'SXQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v3Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 85 + end + object v3Column1: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'SXUnit' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.DropDownListStyle = lsFixedList + Properties.ImmediatePost = True + Properties.Items.Strings = ( + 'M' + 'Kg') + HeaderAlignmentHorz = taCenter + Width = 65 + end + object v3Column5: TcxGridDBColumn + Caption = #25240#31639#31995#25968 + DataBinding.FieldName = 'ZSXS' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v3Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 85 + end + object v3Column65: TcxGridDBColumn + Caption = #32433#32447#25968#37327 + DataBinding.FieldName = 'TPQty' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v3Column10: TcxGridDBColumn + Caption = #21152#24037#21333#20215 + DataBinding.FieldName = 'JGPrice' + HeaderAlignmentHorz = taCenter + Width = 63 + end + object v3Column8: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'TPNote' + Width = 105 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv3 + end + end + object ToolBar2: TToolBar + Left = 2 + Top = 2 + Width = 1268 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 119 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 1 + object ToolButton8: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton8Click + end + object ToolButton9: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton3Click + end + object ToolButton11: TToolButton + Left = 126 + Top = 0 + Caption = #32455#25104#21697#20986#24211#30830#23450 + ImageIndex = 114 + OnClick = ToolButton5Click + end + object ToolButton1: TToolButton + Left = 245 + Top = 0 + AutoSize = True + Caption = #19968#38190#26367#25442 + ImageIndex = 54 + OnClick = ToolButton1Click + end + end + end + object cxSplitter1: TcxSplitter + Left = 0 + Top = 359 + Width = 1272 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + Control = Panel2 + end + object cxGrid1: TcxGrid + Left = 0 + Top = 86 + Width = 1272 + Height = 273 + Align = alClient + TabOrder = 4 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv1CellClick + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column3 + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column8 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1OrderNo: TcxGridDBColumn + Caption = #21512#21516#32534#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 114 + end + object v1Column2: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 112 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 106 + end + object v1FactoryNo1Name: TcxGridDBColumn + Caption = #21407#26448#26009#21378 + DataBinding.FieldName = 'FactoryNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 79 + end + object v1Column5: TcxGridDBColumn + Caption = #22383#24067#21378 + DataBinding.FieldName = 'FirstName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 84 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'DHUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 64 + end + object v1Column3: TcxGridDBColumn + Caption = #21040#36135#25968#37327 + DataBinding.FieldName = 'DHQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1Column8: TcxGridDBColumn + Caption = #32433#32447#25968#37327 + DataBinding.FieldName = 'ClothQty' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column4: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 752 + Top = 216 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 936 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1000 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1040 + Top = 8 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 1168 + Top = 8 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 1096 + Top = 8 + end + object ClientDataSet3: TClientDataSet + Aggregates = <> + Params = <> + Left = 1112 + Top = 240 + end + object DataSource2: TDataSource + DataSet = ClientDataSet2 + Left = 880 + Top = 176 + end + object DataSource3: TDataSource + DataSet = ClientDataSet3 + Left = 1112 + Top = 216 + end + object ClientDataSet2: TClientDataSet + Aggregates = <> + Params = <> + Left = 920 + Top = 224 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 352 + Top = 192 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = Order_Main + Left = 400 + Top = 192 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 416 + Top = 248 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid3 + PopupMenus = <> + Left = 1128 + Top = 472 + end +end diff --git a/打卷检验管理/U_ClothContractListLLSXQJG.pas b/打卷检验管理/U_ClothContractListLLSXQJG.pas new file mode 100644 index 0000000..3b6e75a --- /dev/null +++ b/打卷检验管理/U_ClothContractListLLSXQJG.pas @@ -0,0 +1,1030 @@ +unit U_ClothContractListLLSXQJG; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, + RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, + cxTextEdit, cxDropDownEdit, cxCheckBox; + +type + TfrmClothContractListLLSXQJG = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Label2: TLabel; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + ConNo: TEdit; + Label5: TLabel; + C_CodeName: TEdit; + Order_Main: TClientDataSet; + Label4: TLabel; + C_Spec: TEdit; + ToolButton2: TToolButton; + ToolButton3: TToolButton; + ToolButton4: TToolButton; + ClientDataSet3: TClientDataSet; + DataSource2: TDataSource; + DataSource3: TDataSource; + ClientDataSet2: TClientDataSet; + ToolButton5: TToolButton; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + Panel2: TPanel; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + v3Column6: TcxGridDBColumn; + v3Column3: TcxGridDBColumn; + v3Column65: TcxGridDBColumn; + v3Column4: TcxGridDBColumn; + v3Column5: TcxGridDBColumn; + v3Column8: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + cxSplitter1: TcxSplitter; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1FactoryNo1Name: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1Column3: TcxGridDBColumn; + ToolBar2: TToolBar; + ToolButton8: TToolButton; + ToolButton9: TToolButton; + ToolButton11: TToolButton; + v1Column5: TcxGridDBColumn; + cxGridPopupMenu2: TcxGridPopupMenu; + Label6: TLabel; + FactoryNoName: TEdit; + Label7: TLabel; + FirstName: TEdit; + v3Column1: TcxGridDBColumn; + v3Column9: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v3Column10: TcxGridDBColumn; + ToolButton1: TToolButton; + v3Column7: TcxGridDBColumn; + v3Column11: TcxGridDBColumn; + v3Column12: TcxGridDBColumn; + v3Column13: TcxGridDBColumn; + v3Column14: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure ToolButton5Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure v2Column3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v3Column2PropertiesEditValueChanged(Sender: TObject); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure ConNoKeyPress(Sender: TObject; var Key: Char); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton8Click(Sender: TObject); + procedure v3Column7PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v3Column14PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + private + FInt,PFInt:Integer; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + function YFData():Boolean; + { Private declarations } + public + { Public declarations } + end; + +var + frmClothContractListLLSXQJG: TfrmClothContractListLLSXQJG; + +implementation +uses + U_DataLink,U_ClothContractInPut,U_Fun,U_ProductOrderListSel,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmClothContractListLLSXQJG.FormDestroy(Sender: TObject); +begin + ClothContractListLLSXQJG:=nil; +end; + +procedure TfrmClothContractListLLSXQJG.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmClothContractListLLSXQJG.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('AAͬll1SXQJG',Tv1,'ָʾ'); + WriteCxGrid('AAͬllr1SXQJG',Tv3,'ָʾ'); +end; + +procedure TfrmClothContractListLLSXQJG.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select ClothQty=DHQty-TPQtyHZ, '); + sql.Add(' A.*,B.ConNo,C.C_CodeName,C.C_Spec,C.MFQty,C.KZQty,B.FactoryNoName from ContractSX_Cloth_DH A '); + sql.add(' inner join ContractSX_Main B on A.Mainid=B.Mainid'); + sql.Add('inner join ContractSX_Sub C on A.Subid=C.Subid'); + sql.Add(' where B.FillTime>=:begdate and B.Filltime<:enddate '); + + Parameters.ParamByName('begdate').Value:=BegDate.Date; + Parameters.ParamByName('enddate').Value:=EndDate.Date+1; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmClothContractListLLSXQJG.InitForm(); +begin + + ReadCxGrid('AAͬll1SXQJG',Tv1,'ָʾ'); + ReadCxGrid('AAͬllr1SXQJG',Tv3,'ָʾ'); + EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + BegDate.DateTime:=EndDate.DateTime-30; + InitGrid(); +end; + +procedure TfrmClothContractListLLSXQJG.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +function TfrmClothContractListLLSXQJG.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmClothContractListLLSXQJG.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmClothContractListLLSXQJG.ConNoChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothContractListLLSXQJG.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmClothContractListLLSXQJG.Tv2MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=2; +end; + +procedure TfrmClothContractListLLSXQJG.Tv2CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,C.MPRTSpec,B.PRTColor,C.MPRTCodeName,C.OrderNo ,'); + sql.Add('C_Unit=(select Top 1 C_Unit from Contract_Sub AA,Contract_Sub_Mx BB where AA.SubId=BB.SubId and BB.MXid=A.Mxid)'); + SQL.Add(' from Contract_Sub_MxTo A inner join JYOrder_Sub B on A.OrdSubId=B.SubId '); + SQL.Add(' inner join JYOrder_Main C on C.MainId=B.MainId '); + sql.Add('where A.MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3); +end; + +procedure TfrmClothContractListLLSXQJG.ToolButton5Click(Sender: TObject); +var + maxno,LLIdx,FDW:string; +begin + if ClientDataSet3.IsEmpty then Exit; + ToolBar1.SetFocus; + if ClientDataSet3.Locate('PBName',null,[]) then + begin + Application.MessageBox('ƲΪգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('SXPS',null,[]) then + begin + Application.MessageBox('ƥΪգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('SXQty',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('JGPrice',null,[]) then + begin + Application.MessageBox('ӹ۲Ϊգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('TPQty',null,[]) then + begin + Application.MessageBox('ɴΪգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('SXUnit',null,[]) then + begin + Application.MessageBox('λΪգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('PBMF',null,[]) then + begin + Application.MessageBox('ŷΪգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('PBKZ',null,[]) then + begin + Application.MessageBox('زΪգ','ʾ',0); + Exit; + end; + ClientDataSet3.DisableControls; + with ClientDataSet3 do + begin + First; + while not Eof do + begin + + if Trim(FDW)='' then + begin + FDW:=Trim(ClientDataSet3.fieldbyname('SXUnit').AsString); + end; + if FDW<>Trim(ClientDataSet3.fieldbyname('SXUnit').AsString) then + begin + Application.MessageBox('λһ!','ʾ',0); + Exit; + end; + Next; + end; + end; + { with ClientDataSet3 do + begin + First; + while not Eof do + begin + + if Trim(FDW)='' then + begin + FDW:=Trim(ClientDataSet3.fieldbyname('SXUnit').AsString); + end; + if FDW<>Trim(ClientDataSet3.fieldbyname('SXUnit').AsString) then + begin + Application.MessageBox('λһ!','ʾ',0); + Exit; + end; + Next; + end; + end;} + ClientDataSet3.EnableControls; + BegDate.SetFocus; + try + ADOQueryCmd.Connection.BeginTrans; + //ȥ + with ClientDataSet3 do + begin + First; + while not eof do + begin + if Trim(ClientDataSet3.fieldbyname('MXId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,maxno,'MX','ContractSX_Cloth_LLMx',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡȥˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(ClientDataSet3.fieldbyname('MXId').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from ContractSX_Cloth_LLMx where MXId='''+Trim(ClientDataSet3.fieldbyname('MXId').AsString)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(ClientDataSet3.fieldbyname('MXId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + FieldByName('DHId').Value:=Trim(Order_Main.fieldbyname('DHId').AsString); + FieldByName('MXId').Value:=Trim(maxno); + FieldByName('TPDate').Value:=ClientDataSet3.fieldbyname('TPDate').Value; + FieldByName('TPNote').Value:=ClientDataSet3.fieldbyname('TPNote').Value; + FieldByName('TPUnit').Value:='Kg'; + FieldByName('SXUnit').Value:=ClientDataSet3.fieldbyname('SXUnit').Value; + FieldByName('PBName').Value:=ClientDataSet3.fieldbyname('PBName').Value; + FieldByName('PBSpec').Value:=ClientDataSet3.fieldbyname('PBSpec').Value; + FieldByName('PBMF').Value:=ClientDataSet3.fieldbyname('PBMF').Value; + FieldByName('PBKZ').Value:=ClientDataSet3.fieldbyname('PBKZ').Value; + FieldByName('ToName').Value:=ClientDataSet3.fieldbyname('ToName').Value; + if Trim(ClientDataSet3.fieldbyname('SXUnit').AsString)='Kg' then + begin + FieldByName('SXMQty').Value:=ClientDataSet3.FieldByName('SXQty').Value*1.00 + /(ClientDataSet3.FieldByName('PBKZ').Value/1000) + /(ClientDataSet3.FieldByName('PBMF').Value/100) + end else + begin + FieldByName('SXMQty').Value:=ClientDataSet3.FieldByName('SXQty').Value; + end; + + if Trim(ClientDataSet3.fieldbyname('TPQty').AsString)<>'' then + FieldByName('TPQty').Value:=ClientDataSet3.fieldbyname('TPQty').Value + else + FieldByName('TPQty').Value:=0; + if Trim(ClientDataSet3.fieldbyname('JGPrice').AsString)<>'' then + FieldByName('JGPrice').Value:=ClientDataSet3.fieldbyname('JGPrice').Value + else + FieldByName('JGPrice').Value:=0; + + if Trim(ClientDataSet3.fieldbyname('SXPS').AsString)<>'' then + FieldByName('SXPS').Value:=ClientDataSet3.fieldbyname('SXPS').Value + else + FieldByName('SXPS').Value:=0; + if Trim(ClientDataSet3.fieldbyname('SXQty').AsString)<>'' then + FieldByName('SXQty').Value:=ClientDataSet3.fieldbyname('SXQty').Value + else + FieldByName('SXQty').Value:=0; + if Trim(ClientDataSet3.fieldbyname('ZSXS').AsString)<>'' then + FieldByName('ZSXS').Value:=ClientDataSet3.fieldbyname('ZSXS').Value + else + FieldByName('ZSXS').Value:=0; + FieldByName('TPYZQty').Value:=ClientDataSet3.fieldbyname('TPQty').Value; + Post; + end; + with ClientDataSet3 do + begin + Edit; + FieldByName('MXId').Value:=Trim(maxno); + Post; + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add(' Update ContractSX_Cloth_DH Set '); + sql.Add(' TPQtyHZ=(select Sum(TPQty) from ContractSX_Cloth_LLMx A where A.DHID=ContractSX_Cloth_DH.DHID)'); + sql.Add(' where DHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_DH where SXDHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + sql.Add(' and FirstName='''+Trim(ClientDataSet3.fieldbyname('ToName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + if GetLSNo(ADOQueryCmd,maxno,'SD','Contract_Cloth_DH',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡȥˮʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_DH where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('DHID').Value:=Trim(maxno); + FieldByName('SXDHID').Value:=Trim(Order_Main.fieldbyname('DHID').AsString); + FieldByName('SXMainID').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + FieldByName('FirstNo').Value:=Trim(ClientDataSet3.fieldbyname('ToName').AsString); + FieldByName('FirstName').Value:=Trim(ClientDataSet3.fieldbyname('ToName').AsString); + FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + FieldByName('DHUnit').Value:=Trim(ClientDataSet3.fieldbyname('SXUnit').AsString); + FieldByName('PBName').Value:=Trim(ClientDataSet3.fieldbyname('PBName').AsString); + FieldByName('PBSpec').Value:=Trim(ClientDataSet3.fieldbyname('PBSpec').AsString); + FieldByName('PBKZ').Value:=Trim(ClientDataSet3.fieldbyname('PBKZ').AsString); + FieldByName('PBMF').Value:=Trim(ClientDataSet3.fieldbyname('PBMF').AsString); + FieldByName('DHType').Value:='ɴ߼ӹ'; + Post; + end; + + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update Contract_Cloth_DH Set DHUnit='''+Trim(ClientDataSet3.fieldbyname('SXUnit').AsString)+''''); + sql.Add(' ,PBName='''+Trim(ClientDataSet3.fieldbyname('PBName').AsString)+''''); + sql.Add(' ,PBSpec='''+Trim(ClientDataSet3.fieldbyname('PBSpec').AsString)+''''); + sql.Add(' ,PBMF='+Trim(ClientDataSet3.fieldbyname('PBMF').AsString)); + sql.Add(' ,PBKZ='+Trim(ClientDataSet3.fieldbyname('PBKZ').AsString)); + sql.Add(' ,SXMainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.add(',DHType=''ɴ߼ӹ'' '); + sql.Add(' where DHID='''+Trim(ADOQueryTemp.fieldbyname('DHID').AsString)+''''); + ExecSQL; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Contract_Cloth_DH Set DHPS=(select isnull(sum(SXPS),0) from ContractSX_Cloth_LLMX A where A.DHID=Contract_Cloth_DH.SXDHID'); + SQL.Add(' and A.ToName=Contract_Cloth_DH.FirstName)'); + sql.Add(',SXTPQty=(select isnull(Sum(TPQty),0) from ContractSX_Cloth_LLMx A where A.DHID=Contract_Cloth_DH.SXDHID'); + SQL.Add(' and A.ToName=Contract_Cloth_DH.FirstName)'); + sql.Add(',DHQty=(select isnull(Sum(SXQty),0) from ContractSX_Cloth_LLMx A where A.DHID=Contract_Cloth_DH.SXDHID'); + SQL.Add(' and A.ToName=Contract_Cloth_DH.FirstName)'); + SQL.Add(',DHMQty=(select isnull(sum(SXMQty),0) from ContractSX_Cloth_LLMx A '); + SQL.Add(' where A.DHID=Contract_Cloth_DH.SXDHID'); + SQL.Add(' and A.ToName=Contract_Cloth_DH.FirstName)'); + sql.Add('where SXDHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + SQL.Add(' and FirstName='''+Trim(ClientDataSet3.fieldbyname('ToName').AsString)+''''); + ExecSQL; + end; + Next; + end; + end; + if YFData()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('¼ӹ쳣!','ʾ',0); + Exit; + end; + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; +function TfrmClothContractListLLSXQJG.YFData():Boolean; +var + CRID,OrdMainId,YFID,FComTaiTou:String; +begin + Result:=False; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + + Application.MessageBox('δ¼!','ʾ',0); + Exit; + end else + begin + if ADOQueryTemp.RecordCount>1 then + begin + + Application.MessageBox('¼ظ!','ʾ',0); + Exit; + end; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + OrdMainId:=Trim(ADOQueryTemp.fieldbyname('MainId').AsString); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select OrdDefStr2 from JYOrder_Main where Mainid='''+Trim(OrdMainId)+''''); + Open; + end; + FComTaiTou:=Trim(ADOQueryTemp.fieldbyname('OrdDefStr2').AsString); + + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CRID set CRID=CRID+1'); + sql.Add('select * from YF_Money_CRID '); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('ZdyStr1').Value:='Ӧ'; + Post; + end; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + sql.Add(' and YFTypeId='''+Trim(Order_Main.fieldbyname('DHid').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + + if GetLSNo(ADOQueryCmd,YFID,'PJ','YF_Money_CR',3,1)=False then + begin + Application.MessageBox('ȡӹӦʧ!','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('YFID').Value:=Trim(YFID); + FieldByName('YFTypeId').Value:=Trim(Order_Main.fieldbyname('DHid').AsString); + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRType').Value:='ӦǼ'; + FieldByName('CRFlag').Value:='Ӧ'; + FieldByName('QtyFlag').Value:=1; + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('CRTime').Value:=ClientDataSet3.fieldbyname('TPDate').Value; + FieldByName('YFType').Value:='Զ'; + FieldByName('Price').Value:=ClientDataSet3.fieldbyname('JGPrice').Value; + FieldByName('HuiLv').Value:=1; + FieldByName('BZType').Value:=''; + FieldByName('ComTaiTou').Value:=Trim(FComTaiTou); + FieldByName('QtyUnit').Value:='Kg'; + FieldByName('YFName').Value:='ӹ'; + FieldByName('MainId').Value:=Trim(OrdMainId); + Post; + end; + end else + begin + YFID:=Trim(ADOQueryTemp.fieldbyname('YFID').AsString); + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CR Set CRTime='''+Trim(ClientDataSet3.fieldbyname('TPDate').AsString)+''''); + sql.add(',Price='+ClientDataSet3.fieldbyname('JGPrice').AsString); + sql.Add(' where YFID='''+Trim(ADOQueryTemp.fieldbyname('YFID').AsString)+''''); + ExecSQL; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('update YF_Money_CR Set Qty=(select isnull(sum(TPQty),0) from ContractSX_Cloth_LLMX A '); + SQL.Add(' where A.DHId=YF_Money_CR.YFTypeId )'); + sql.Add(',Money=(select isnull(sum(TPQty*JGPrice),0) from ContractSX_Cloth_LLMX A '); + SQL.Add(' where A.DHId=YF_Money_CR.YFTypeId )'); + sql.Add(',BBMoney=(select isnull(sum(TPQty*JGPrice),0) from ContractSX_Cloth_LLMX A '); + SQL.Add(' where A.DHId=YF_Money_CR.YFTypeId )'); + sql.Add(' where YFTypeId='''+Trim(Order_Main.fieldbyname('DHid').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where YFID='''+Trim(YFID)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + if ADOQueryTemp.FieldByName('Money').AsFloat=0 then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete YF_Money_CR where YFID='''+Trim(YFID)+''''); + ExecSQL; + end; + end; + end; + Result:=True; +end; + +procedure TfrmClothContractListLLSXQJG.ToolButton3Click(Sender: TObject); +begin + + begin + if ClientDataSet3.IsEmpty then Exit; + if Trim(ClientDataSet3.fieldbyname('MXId').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + end; + try + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractSX_Cloth_LLMx where MXId='''+Trim(ClientDataSet3.fieldbyname('MXId').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update ContractSX_Cloth_DH Set TPQtyHZ=(select isnull(Sum(TPYZQty),0) from ContractSX_Cloth_LLMx A where A.DHID=ContractSX_Cloth_DH.DHID)'); + sql.Add(' where DHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Contract_Cloth_DH Set DHPS=(select isnull(sum(SXPS),0) from ContractSX_Cloth_LLMX A where A.DHID=Contract_Cloth_DH.SXDHID'); + SQL.Add(' and A.ToName=Contract_Cloth_DH.FirstName)'); + sql.Add(', DHQty=(select isnull(sum(SXQty),0) from ContractSX_Cloth_LLMX A where A.DHID=Contract_Cloth_DH.SXDHID'); + SQL.Add(' and A.ToName=Contract_Cloth_DH.FirstName)'); + sql.Add(', DHMQty=(select isnull(sum(SXMQty),0) from ContractSX_Cloth_LLMX A where A.DHID=Contract_Cloth_DH.SXDHID'); + SQL.Add(' and A.ToName=Contract_Cloth_DH.FirstName)'); + sql.Add('where SXDHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + SQL.Add(' and FirstName='''+Trim(ClientDataSet3.fieldbyname('ToName').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Cloth_DH where not exists('); + sql.Add(' select * from ContractSX_Cloth_LLMX LM where LM.DHID=Contract_Cloth_DH.SXDHID '); + sql.Add(' and LM.ToName=Contract_Cloth_DH.FirstName )'); + sql.Add(' and SXDHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+''''); + SQL.Add(' and FirstName='''+Trim(ClientDataSet3.fieldbyname('ToName').AsString)+''''); + ExecSQL; + end; + if YFData()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ӹ쳣!','ʾ',0); + Exit; + end; + ADOQueryCmd.Connection.CommitTrans; + ClientDataSet3.Delete; + except; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣!','ʾ',0); + end; + + {with Order_Main do + begin + Edit; + if ClientDataSet3.IsEmpty=False then + FieldByName('KCQty').Value:=Order_Main.fieldbyname('DHQty').Value-tv3.DataController.Summary.FooterSummaryValues[0] + else + FieldByName('KCQty').Value:=Order_Main.fieldbyname('DHQty').Value; + Post; + end; } + end; +end; + +procedure TfrmClothContractListLLSXQJG.v2Column3PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='RKPlace'; + flagname:='ص'; + if ShowModal=1 then + begin + with ClientDataSet2 do + begin + Edit; + FieldByName('RKPlace').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractListLLSXQJG.v3Column2PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,fieldname,qty1,qty2,qty3:String; + +begin + If Trim(TcxTextEdit(Sender).EditingText)<>'' then + begin + mvalue:=TcxTextEdit(Sender).EditingText; + end else + begin + mvalue:='0'; + end; + fieldname:=Tv3.Controller.FocusedColumn.DataBinding.FilterFieldName; + with ClientDataSet3 do + begin + Edit; + FieldByName(Trim(fieldname)).Value:=mvalue; + Post; + end; + if Trim(ClientDataSet3.fieldbyname('ZSXS').AsString)<>'' then + begin + Qty3:=ClientDataSet3.fieldbyname('ZSXS').AsString; + end else + begin + Qty3:='0'; + end; + if Trim(ClientDataSet3.fieldbyname('SXQty').AsString)<>'' then + begin + Qty1:=ClientDataSet3.fieldbyname('SXQty').AsString; + end else + begin + Qty1:='0'; + end; + with ClientDataSet3 do + begin + Edit; + FieldByName('TPQty').Value:=StrToFloat(qty1)*StrToFloat(qty3); + Post; + end; + +end; + +procedure TfrmClothContractListLLSXQJG.Tv1CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if Order_Main.IsEmpty then exit; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.* '); + SQL.Add('from ContractSX_Cloth_LLMx A '); + sql.Add('where A.DHId='''+Trim(Order_Main.fieldbyname('DHId').AsString)+''''); + //ShowMessage(SQL.Text); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3); + +end; + +procedure TfrmClothContractListLLSXQJG.ConNoKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Length(Trim(ConNo.Text))<3 then Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select ClothQty=DHQty-TPQtyHZ '); + sql.Add('A.*,B.ConNo,C.C_CodeName,C.C_Spec,C.MFQty,C.KZQty,B.FactoryNoName from ContractSX_Cloth_DH A '); + Sql.Add('inner join ContractSX_Main B on A.Mainid=B.Mainid'); + sql.Add('inner join ContractSX_Sub C on A.Subid=C.Subid'); + SQL.Add(' where B.ConNo like '''+'%'+Trim(ConNo.Text)+'%'+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +procedure TfrmClothContractListLLSXQJG.ToolButton1Click(Sender: TObject); + var + FColumn:String; +begin + if ClientDataSet3.IsEmpty then Exit; + ToolBar2.SetFocus; + FColumn:=Tv3.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(FColumn)='OrderNo' then Exit; + if Trim(FColumn)='PRTColor' then Exit; + if Application.MessageBox('ȷҪһ滻','ʾ',32+4)<>IDYES then Exit; + OneKeyPost(Tv3,ClientDataSet3); +end; + +procedure TfrmClothContractListLLSXQJG.ToolButton8Click(Sender: TObject); +begin + + if ClientDataSet3.IsEmpty then + begin + + with ClientDataSet3 do + begin + Append; + FieldByName('TPDate').Value:=SGetServerDate(ADOQueryTemp); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + FieldByName('ToName').Value:=Trim(ADOQueryTemp.fieldbyname('RanFactory').AsString); + Post; + end; + end else + begin + CopyAddRow(Tv3,ClientDataSet3); + with ClientDataSet3 do + begin + Edit; + FieldByName('MXID').Value:=''; + FieldByName('TPDate').Value:=null; + FieldByName('SXPS').Value:=null; + FieldByName('SXQty').Value:=null; + FieldByName('TPQty').Value:=null; + Post; + end; + end; + +end; + +procedure TfrmClothContractListLLSXQJG.v3Column7PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Cloth'; + flagname:=''; + if ShowModal=1 then + begin + Self.ClientDataSet3.Edit; + Self.ClientDataSet3.FieldByName('PBName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + //Self.ClientDataSet3.FieldByName('C_Code').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractListLLSXQJG.v3Column14PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Factory'; + flagname:='Ⱦ'; + MainType:='RanFactory'; + if ShowModal=1 then + begin + Self.ClientDataSet3.Edit; + self.ClientDataSet3.FieldByName('ToName').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +end. diff --git a/打卷检验管理/U_ClothContractListSX.dfm b/打卷检验管理/U_ClothContractListSX.dfm new file mode 100644 index 0000000..23e93bf --- /dev/null +++ b/打卷检验管理/U_ClothContractListSX.dfm @@ -0,0 +1,436 @@ +object frmClothContractListSX: TfrmClothContractListSX + Left = -41 + Top = 54 + Width = 1280 + Height = 705 + Caption = #32433#32447#37319#36141#21512#21516 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1272 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBAdd: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 3 + OnClick = TBAddClick + end + object TBEdit: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #20462#25913 + ImageIndex = 54 + OnClick = TBEditClick + end + object TBDel: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 17 + OnClick = TBDelClick + end + object TBExport: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 378 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + OnClick = TBPrintClick + end + object TBClose: TToolButton + Left = 441 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1272 + Height = 54 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 22 + Width = 52 + Height = 12 + Caption = #30331#35760#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 161 + Top = 22 + Width = 18 + Height = 12 + Caption = '---' + end + object Label3: TLabel + Left = 283 + Top = 22 + Width = 52 + Height = 12 + Caption = #21512#21516#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 444 + Top = 22 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 612 + Top = 22 + Width = 26 + Height = 12 + Caption = #35268#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 18 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 179 + Top = 18 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + TabOrder = 1 + end + object ConNoM: TEdit + Tag = 2 + Left = 337 + Top = 18 + Width = 81 + Height = 20 + TabOrder = 2 + OnChange = ConNoMChange + OnKeyPress = conPress + end + object C_CodeNameM: TEdit + Tag = 2 + Left = 497 + Top = 18 + Width = 83 + Height = 20 + TabOrder = 3 + OnChange = ConNoMChange + end + object C_Spec: TEdit + Tag = 2 + Left = 640 + Top = 18 + Width = 83 + Height = 20 + TabOrder = 4 + OnChange = ConNoMChange + end + end + object cxGrid1: TcxGrid + Left = 64 + Top = 112 + Width = 929 + Height = 377 + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + Column = v1Column1 + end + item + Kind = skSum + Column = v1PRTQty + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + object v1OrderNo: TcxGridDBColumn + Caption = #21512#21516#32534#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 65 + end + object v1Column2: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DeliveryDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v1Column5: TcxGridDBColumn + Caption = #31614#35746#26085#26399 + DataBinding.FieldName = 'QDTime' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object v1FactoryNo1Name: TcxGridDBColumn + Caption = #20379#26041 + DataBinding.FieldName = 'FactoryNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object v1Qty1: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Hidden = True + Styles.Header = DataLink_TradeManage.Default + Width = 46 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'C_Qty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'C_Unit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 47 + end + object v1Column1: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'Price' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 57 + end + object v1PRTUnit: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 61 + end + object v1PRTQty: TcxGridDBColumn + Caption = #24635#20215 + DataBinding.FieldName = 'Money' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object v1Column4: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + PopupMenus = <> + Left = 1128 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 936 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1000 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1040 + Top = 8 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 1168 + Top = 8 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 1096 + Top = 8 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 352 + Top = 192 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = CDS_PRT + Left = 400 + Top = 192 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 416 + Top = 248 + end + object CDS_PRT: TClientDataSet + Aggregates = <> + Params = <> + Left = 880 + Top = 56 + end +end diff --git a/打卷检验管理/U_ClothContractListSX.pas b/打卷检验管理/U_ClothContractListSX.pas new file mode 100644 index 0000000..5bc6901 --- /dev/null +++ b/打卷检验管理/U_ClothContractListSX.pas @@ -0,0 +1,375 @@ +unit U_ClothContractListSX; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, + RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, + cxTextEdit; + +type + TfrmClothContractListSX = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBAdd: TToolButton; + TBEdit: TToolButton; + TBDel: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Label2: TLabel; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + ConNoM: TEdit; + Label5: TLabel; + C_CodeNameM: TEdit; + TBExport: TToolButton; + Order_Main: TClientDataSet; + Label4: TLabel; + C_Spec: TEdit; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + CDS_PRT: TClientDataSet; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1FactoryNo1Name: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1Qty1: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1PRTUnit: TcxGridDBColumn; + v1PRTQty: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBEditClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure ConNoMChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure conPress(Sender: TObject; var Key: Char); + private + FInt,PFInt:Integer; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + { Private declarations } + public + { Public declarations } + end; + +var + frmClothContractListSX: TfrmClothContractListSX; + +implementation +uses + U_DataLink,U_ClothContractInPutSX,U_Fun,U_ProductOrderList,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmClothContractListSX.FormDestroy(Sender: TObject); +begin + frmClothContractListSX:=nil; +end; + +procedure TfrmClothContractListSX.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmClothContractListSX.FormCreate(Sender: TObject); +begin + //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; + //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); +end; + +procedure TfrmClothContractListSX.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ͬбSX',Tv1,'ָʾ'); +end; + +procedure TfrmClothContractListSX.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContractSX_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmClothContractListSX.InitForm(); +begin + ReadCxGrid('ͬбSX',Tv1,'ָʾ'); + if Trim(DParameters1)='1' then + begin + TBPrint.Visible:=False; + v1Column1.Visible:=False; + v1Column1.Hidden:=True; + v1PRTUnit.Visible:=False; + v1PRTUnit.Hidden:=True; + v1PRTQty.Visible:=False; + v1PRTQty.Hidden:=True; + end else + begin + v1Column1.Visible:=True; + v1Column1.Hidden:=False; + v1PRTUnit.Visible:=True; + v1PRTUnit.Hidden:=False; + v1PRTQty.Visible:=True; + v1PRTQty.Hidden:=False; + TBPrint.Visible:=True; + end; + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + InitGrid(); +end; + +procedure TfrmClothContractListSX.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothContractListSX.TBEditClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmClothContractInPutSX:=TfrmClothContractInPutSX.Create(Application); + with frmClothContractInPutSX do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FConNo:=Trim(Self.Order_Main.fieldbyname('ConNoM').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutSX.Free; + end; +end; + +procedure TfrmClothContractListSX.TBDelClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from ContractSX_Sub_MX B inner join Contract_Sub C on B.SubId=C.SubId '); + sql.Add(' where C.Mainid='''+Trim(Order_Main.fieldbyname('Mainid').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + Application.MessageBox('Ѿݲɾ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + if DelData() then + begin + //TBRafresh.Click; + //TBFind.Click; + Order_Main.Delete; + end; +end; + +function TfrmClothContractListSX.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractSX_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from ContractSX_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractSX_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete ContractSX_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmClothContractListSX.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + TcxGridToExcel('ͬб',cxGrid1); +end; + +procedure TfrmClothContractListSX.TBPrintClick(Sender: TObject); +var + fPrintFile,FConNoM:string; + +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ɴ߶ͬ.rmf' ; + with ADOQueryTemp do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContractSX_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Parameters.ParamByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + Parameters.ParamByName('WSql').Value:=''; + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + FConNoM:=Trim(CDS_PRT.fieldbyname('ConNoM').AsString); + //SDofilter(ADOQueryMain,' ConNoM='''+Trim(Order_Main.fieldbyname('ConNoM').AsString)+''''); + //SCreateCDS20(ADOQueryMain,Order_Main); + //SInitCDSData20(ADOQueryMain,Order_Main); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ɴ߶ͬ.rmf'),'ʾ',0); + end; + +end; + +procedure TfrmClothContractListSX.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmClothContractListSX.TBAddClick(Sender: TObject); +begin + try + frmClothContractInPutSX:=TfrmClothContractInPutSX.Create(Application); + with frmClothContractInPutSX do + begin + PState:=0; + FMainId:=''; + if ShowModal=1 then + begin + + end; + end; + finally + frmClothContractInPutSX.Free; + end; +end; + +procedure TfrmClothContractListSX.ConNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothContractListSX.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmClothContractListSX.conPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Length(Trim(ConNoM.Text))<3 then Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContractSX_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and OM.conNo like '''+'%'+Trim(ConNoM.Text)+'%'+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +end. diff --git a/打卷检验管理/U_ClothContractListWJG.dfm b/打卷检验管理/U_ClothContractListWJG.dfm new file mode 100644 index 0000000..de7614d --- /dev/null +++ b/打卷检验管理/U_ClothContractListWJG.dfm @@ -0,0 +1,827 @@ +object frmClothContractListWJG: TfrmClothContractListWJG + Left = 107 + Top = 19 + Width = 1189 + Height = 705 + Caption = #22806#21152#24037 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object Label2: TLabel + Left = 243 + Top = 70 + Width = 52 + Height = 12 + Caption = #21512#21516#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1181 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 107 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBClose: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + object ToolButton2: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + Visible = False + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + Visible = False + OnClick = ToolButton3Click + end + object ToolButton4: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #21040#22383#30830#23450 + ImageIndex = 113 + Visible = False + end + object ToolButton5: TToolButton + Left = 402 + Top = 0 + Caption = #22383#24067#39046#26009#30830#23450 + ImageIndex = 114 + Visible = False + OnClick = ToolButton5Click + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1181 + Height = 61 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 14 + Width = 52 + Height = 12 + Caption = #30331#35760#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 243 + Top = 14 + Width = 52 + Height = 12 + Caption = #21512#21516#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 452 + Top = 13 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 452 + Top = 38 + Width = 54 + Height = 12 + Caption = #35268' '#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 692 + Top = 14 + Width = 39 + Height = 12 + Caption = #22383#24067#21378 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 692 + Top = 38 + Width = 40 + Height = 12 + Caption = #26579' '#21378 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 243 + Top = 38 + Width = 21 + Height = 12 + Caption = 'PO#' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 10 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 75 + Top = 34 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object ConNo: TEdit + Tag = 2 + Left = 297 + Top = 10 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnChange = ConNoChange + OnKeyPress = ConNoKeyPress + end + object C_CodeName: TEdit + Tag = 2 + Left = 509 + Top = 10 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + OnChange = ConNoChange + end + object C_Spec: TEdit + Tag = 2 + Left = 508 + Top = 34 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnChange = ConNoChange + end + object FactoryNoName: TEdit + Tag = 2 + Left = 736 + Top = 10 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 5 + OnChange = ConNoChange + end + object FirstName: TEdit + Tag = 2 + Left = 736 + Top = 34 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + OnChange = ConNoChange + end + object khconNO: TEdit + Tag = 2 + Left = 297 + Top = 33 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 7 + OnChange = ConNoChange + end + end + object Panel2: TPanel + Left = 0 + Top = 370 + Width = 1181 + Height = 301 + Align = alBottom + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 2 + object cxGrid3: TcxGrid + Left = 2 + Top = 34 + Width = 1177 + Height = 265 + Align = alClient + TabOrder = 0 + object Tv3: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v3Column2 + end + item + Kind = skSum + Column = v3Column3 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = DataLink_TradeManage.Default + object cxGridDBColumn1: TcxGridDBColumn + Caption = #35746#21333#32534#21495 + DataBinding.FieldName = 'OrderNo' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 98 + end + object cxGridDBPRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v3Column15: TcxGridDBColumn + Caption = #26412#21378#32568#21495 + DataBinding.FieldName = 'BCgangNO' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v3Column16: TcxGridDBColumn + Caption = #26579#21378#32568#21495 + DataBinding.FieldName = 'RCGangNO' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v3Column13: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 57 + end + object v3Column14: TcxGridDBColumn + Caption = #33457#22411#33457#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 63 + end + object v3Column6: TcxGridDBColumn + Caption = #39046#26009#26085#26399 + DataBinding.FieldName = 'TPDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 81 + end + object v3Column10: TcxGridDBColumn + Caption = #21152#24037#21378 + DataBinding.FieldName = 'ToName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v3Column10PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 58 + end + object v3Column3: TcxGridDBColumn + Caption = #25237#22383#21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v3Column9: TcxGridDBColumn + Caption = #21305#25968#37327 + DataBinding.FieldName = 'TPPS' + HeaderAlignmentHorz = taCenter + Width = 61 + end + object v3Column2: TcxGridDBColumn + Caption = #25968#37327'('#35745#21010')' + DataBinding.FieldName = 'TPQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v3Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 97 + end + object v3Column4: TcxGridDBColumn + Caption = #25968#37327#20844#24046 + DataBinding.FieldName = 'Qty2' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v3Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 85 + end + object v3Column5: TcxGridDBColumn + Caption = #35745#21010#32553#29575'(%)' + DataBinding.FieldName = 'Qty3' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v3Column5PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 85 + end + object v3Column1: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'TPUnit' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.DropDownListStyle = lsFixedList + Properties.Items.Strings = ( + 'M' + 'Kg') + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 68 + end + object v3Column7: TcxGridDBColumn + Caption = #39046#26009#20154 + DataBinding.FieldName = 'TPPerson' + HeaderAlignmentHorz = taCenter + Width = 75 + end + object v3Column11: TcxGridDBColumn + Caption = #19978#36947#21152#24037#21333#20215 + DataBinding.FieldName = 'JGPrice' + HeaderAlignmentHorz = taCenter + Width = 84 + end + object v3Column12: TcxGridDBColumn + Caption = #22806#21152#24037#31867#22411 + DataBinding.FieldName = 'HJGType' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.DropDownListStyle = lsFixedList + Properties.Items.Strings = ( + '' + #22238#20179#21518#21152#24037) + HeaderAlignmentHorz = taCenter + Width = 94 + end + object v3Column8: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'TPNote' + Width = 105 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv3 + end + end + object ToolBar2: TToolBar + Left = 2 + Top = 2 + Width = 1177 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 95 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 1 + object ToolButton8: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton2Click + end + object ToolButton9: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton3Click + end + object ToolButton11: TToolButton + Left = 126 + Top = 0 + Caption = #21518#21152#24037#30830#23450 + ImageIndex = 114 + OnClick = ToolButton5Click + end + end + end + object cxSplitter1: TcxSplitter + Left = 0 + Top = 362 + Width = 1181 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + Control = Panel2 + end + object cxGrid1: TcxGrid + Left = 0 + Top = 93 + Width = 1181 + Height = 269 + Align = alClient + TabOrder = 4 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv1CellClick + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column9 + end + item + Kind = skSum + Column = v1Column10 + end + item + Kind = skSum + Column = v1Column12 + end + item + Kind = skSum + Column = v1Column13 + end + item + Kind = skSum + Column = v1Column11 + end + item + Kind = skSum + Column = v1Column1 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1Column3: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Width = 82 + end + object v1Column4: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Width = 69 + end + object v1OrderNo: TcxGridDBColumn + Caption = #21512#21516#32534#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 114 + end + object v1Column7: TcxGridDBColumn + Caption = 'PO#' + DataBinding.FieldName = 'khconNO' + HeaderAlignmentHorz = taCenter + Width = 88 + end + object v1Column2: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 112 + end + object v1FactoryNo1Name: TcxGridDBColumn + Caption = #22383#24067#21378 + DataBinding.FieldName = 'FactoryNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 79 + end + object v1Column5: TcxGridDBColumn + Caption = #26579#21378 + DataBinding.FieldName = 'FirstName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 84 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'C_Spec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 106 + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'MFQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'KZQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'TPUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 64 + end + object v1Column6: TcxGridDBColumn + Caption = #24207#27425 + DataBinding.FieldName = 'LLIdx' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 61 + end + object v1Column9: TcxGridDBColumn + Caption = #21322#25104#21697#21305#25968 + DataBinding.FieldName = 'TPPS' + HeaderAlignmentHorz = taCenter + Width = 73 + end + object v1Column10: TcxGridDBColumn + Caption = #21322#25104#21697#25968#37327 + DataBinding.FieldName = 'BCPQty' + HeaderAlignmentHorz = taCenter + Width = 72 + end + object v1Column12: TcxGridDBColumn + Caption = #20986#24211#21305#25968 + DataBinding.FieldName = 'HCPS' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column13: TcxGridDBColumn + Caption = #20986#24211#25968#37327 + DataBinding.FieldName = 'HCQty' + HeaderAlignmentHorz = taCenter + Width = 59 + end + object v1Column11: TcxGridDBColumn + Caption = #24211#23384#21305#25968 + DataBinding.FieldName = 'KCPS' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column1: TcxGridDBColumn + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'KCQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 65 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 752 + Top = 216 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 936 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1000 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1040 + Top = 8 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 1168 + Top = 8 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 1096 + Top = 8 + end + object ClientDataSet3: TClientDataSet + Aggregates = <> + Params = <> + Left = 1112 + Top = 240 + end + object DataSource2: TDataSource + DataSet = ClientDataSet2 + Left = 880 + Top = 176 + end + object DataSource3: TDataSource + DataSet = ClientDataSet3 + Left = 1112 + Top = 216 + end + object ClientDataSet2: TClientDataSet + Aggregates = <> + Params = <> + Left = 920 + Top = 224 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 352 + Top = 192 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = Order_Main + Left = 400 + Top = 192 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 416 + Top = 248 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid3 + PopupMenus = <> + Left = 1168 + Top = 464 + end +end diff --git a/打卷检验管理/U_ClothContractListWJG.pas b/打卷检验管理/U_ClothContractListWJG.pas new file mode 100644 index 0000000..b56956e --- /dev/null +++ b/打卷检验管理/U_ClothContractListWJG.pas @@ -0,0 +1,1207 @@ +unit U_ClothContractListWJG; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, + RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, + cxTextEdit, cxDropDownEdit, cxCheckBox; + +type + TfrmClothContractListWJG = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + ConNo: TEdit; + Label5: TLabel; + C_CodeName: TEdit; + Order_Main: TClientDataSet; + Label4: TLabel; + C_Spec: TEdit; + ToolButton2: TToolButton; + ToolButton3: TToolButton; + ToolButton4: TToolButton; + ClientDataSet3: TClientDataSet; + DataSource2: TDataSource; + DataSource3: TDataSource; + ClientDataSet2: TClientDataSet; + ToolButton5: TToolButton; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + Panel2: TPanel; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridDBPRTColor: TcxGridDBColumn; + v3Column6: TcxGridDBColumn; + v3Column3: TcxGridDBColumn; + v3Column2: TcxGridDBColumn; + v3Column4: TcxGridDBColumn; + v3Column5: TcxGridDBColumn; + v3Column7: TcxGridDBColumn; + v3Column8: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + cxSplitter1: TcxSplitter; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1FactoryNo1Name: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1Column1: TcxGridDBColumn; + ToolBar2: TToolBar; + ToolButton8: TToolButton; + ToolButton9: TToolButton; + ToolButton11: TToolButton; + v1Column5: TcxGridDBColumn; + cxGridPopupMenu2: TcxGridPopupMenu; + Label6: TLabel; + FactoryNoName: TEdit; + Label7: TLabel; + FirstName: TEdit; + v3Column1: TcxGridDBColumn; + v3Column9: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column11: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + v1Column13: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v3Column10: TcxGridDBColumn; + v3Column11: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v3Column12: TcxGridDBColumn; + v3Column13: TcxGridDBColumn; + v3Column14: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + Label2: TLabel; + khconNO: TEdit; + Label8: TLabel; + v3Column15: TcxGridDBColumn; + v3Column16: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure ToolButton5Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure v2Column3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v3Column2PropertiesEditValueChanged(Sender: TObject); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure v3Column10PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ConNoKeyPress(Sender: TObject; var Key: Char); + procedure v3Column5PropertiesEditValueChanged(Sender: TObject); + private + FInt,PFInt:Integer; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + procedure InitGridWhere(fsj:string); + function YFData():Boolean; + function YFDataDel():Boolean; + { Private declarations } + public + { Public declarations } + end; + +var + frmClothContractListWJG: TfrmClothContractListWJG; + +implementation +uses + U_DataLink,U_ClothContractInPut,U_Fun,U_ProductOrderListSel,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmClothContractListWJG.FormDestroy(Sender: TObject); +begin + frmClothContractListWJG:=nil; +end; + +procedure TfrmClothContractListWJG.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmClothContractListWJG.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ӹ1',Tv1,'ָʾ'); + WriteCxGrid('ӹ2',Tv3,'ָʾ'); +end; + +procedure TfrmClothContractListWJG.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.add(' exec P_HJG_View :begdate,:enddate,:PState,:ConNo'); + Parameters.ParamByName('PState').Value:=1; + Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.Date); + Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',EndDate.Date+1); + Parameters.ParamByName('ConNo').Value:=''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; +procedure TfrmClothContractListWJG.InitGridWhere(fsj:string); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add(' select A.*,B.ConNo,C.C_CodeName,B.FactoryNoName,C.C_Spec,C.MFQty,C.KZQty,C.MainId,D.DHUnit,C.SubId '); + sql.Add(' ,JM.OrderNo,JS.PRTColor'); + sql.Add(',Price=(select Top 1 JGPrice from Contract_Cloth_LLMX AAA where AAA.DHID=A.DHID )'); + sql.Add(',KCPS=TPPS-HCPS,KCQty=BCPQty-HCQty'); + sql.Add(',APFlag=(select Count(*) from JYOrder_Sub_AnPai JAP where JAP.LLID=A.LLID)'); + sql.Add(' from Contract_Cloth_LL A '); + sql.Add(' inner join Contract_Cloth_DH D on A.DHID=D.DHID '); + sql.Add(' inner join Contract_Main B on D.Mainid=B.Mainid'); + sql.Add(' inner join Contract_Sub C on D.Subid=C.Subid'); + sql.Add(' inner join JYOrder_Sub JS on A.OrdSubId=JS.SubId '); + sql.Add(' inner join JYOrder_Main JM on JS.Mainid=JM.MainId'); + //sql.Add(' where isnull(DHIDHelp,'''')='''' '); + sql.Add(' where 1=1 '); + sql.Add(fsj); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmClothContractListWJG.InitForm(); +begin + + ReadCxGrid('ӹ1',Tv1,'ָʾ'); + ReadCxGrid('ӹ2',Tv3,'ָʾ'); + EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + BegDate.DateTime:=EndDate.DateTime-30; + InitGrid(); +end; + +procedure TfrmClothContractListWJG.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +function TfrmClothContractListWJG.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmClothContractListWJG.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmClothContractListWJG.ConNoChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothContractListWJG.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmClothContractListWJG.ToolButton2Click(Sender: TObject); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where ConNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + with ClientDataSet3 do + begin + Append; + FieldByName('OrderNo').Value:=Trim(Order_Main.fieldbyname('OrderNo').AsString); + FieldByName('PRTColor').Value:=Trim(Order_Main.fieldbyname('PRTColor').AsString); + FieldByName('ToName').Value:=Trim(ADOQueryTemp.fieldbyname('HZLFactory').AsString); + FieldByName('TPDate').Value:=SGetServerDate(ADOQueryTemp); + FieldByName('TPUnit').Value:=Order_Main.fieldbyname('TPUnit').Value; + Post; + end; +end; + +procedure TfrmClothContractListWJG.Tv2MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=2; +end; + +procedure TfrmClothContractListWJG.Tv2CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,C.MPRTSpec,B.PRTColor,C.MPRTCodeName,C.OrderNo ,'); + sql.Add('C_Unit=(select Top 1 C_Unit from Contract_Sub AA,Contract_Sub_Mx BB where AA.SubId=BB.SubId and BB.MXid=A.Mxid)'); + SQL.Add(' from Contract_Sub_MxTo A inner join JYOrder_Sub B on A.OrdSubId=B.SubId '); + SQL.Add(' inner join JYOrder_Main C on C.MainId=B.MainId '); + sql.Add('where A.MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3); +end; + +procedure TfrmClothContractListWJG.ToolButton5Click(Sender: TObject); +var + maxno,LLIdx,FDW,FFLLID:string; +begin + if ClientDataSet3.IsEmpty then Exit; + if ClientDataSet3.Locate('OrderNo',null,[]) then + begin + Application.MessageBox('ָŲΪգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('ToName',null,[]) then + begin + Application.MessageBox('ӹΪգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('TPPS',null,[]) then + begin + Application.MessageBox('ƥΪգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('TPQty',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('Qty2',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if ClientDataSet3.Locate('TPUnit',null,[]) then + begin + Application.MessageBox('λΪգ','ʾ',0); + Exit; + end; + ClientDataSet3.DisableControls; + with ClientDataSet3 do + begin + First; + while not Eof do + begin + + if Trim(FDW)='' then + begin + FDW:=Trim(ClientDataSet3.fieldbyname('TPUnit').AsString); + end; + if FDW<>Trim(ClientDataSet3.fieldbyname('TPUnit').AsString) then + begin + Application.MessageBox('λһ!','ʾ',0); + Exit; + end; + Next; + end; + end; + ClientDataSet3.EnableControls; + if Trim(Order_Main.fieldbyname('DHUnit').AsString)='M' then + begin + if ClientDataSet3.Locate('TPUnit','Kg',[]) then + begin + Application.MessageBox('ȾɫλΪM,ӹλΪKg','ʾ',0); + Exit; + end; + end; + BegDate.SetFocus; + try + ADOQueryCmd.Connection.BeginTrans; + //ȥ + with ClientDataSet3 do + begin + First; + while not eof do + begin + if Trim(ClientDataSet3.fieldbyname('MXId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,maxno,'MX','Contract_Cloth_LLMx',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡȥˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(ClientDataSet3.fieldbyname('MXId').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LLMx where MXId='''+Trim(ClientDataSet3.fieldbyname('MXId').AsString)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(ClientDataSet3.fieldbyname('MXId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + FieldByName('SXMainId').Value:=Trim(Order_Main.fieldbyname('SXMainId').AsString); + FieldByName('SXDHID').Value:=Trim(Order_Main.fieldbyname('SXDHID').AsString); + FieldByName('DHId').Value:=Trim(Order_Main.fieldbyname('LLId').AsString); + FieldByName('MXId').Value:=Trim(maxno); + FieldByName('OrdSubId').Value:=Trim(Order_Main.fieldbyname('OrdSubId').AsString); + FieldByName('TPDate').Value:=ClientDataSet3.fieldbyname('TPDate').Value; + FieldByName('TPPerson').Value:=ClientDataSet3.fieldbyname('TPPerson').Value; + FieldByName('HJGType').Value:=ClientDataSet3.fieldbyname('HJGType').Value; + FieldByName('TPNote').Value:=ClientDataSet3.fieldbyname('TPNote').Value; + FieldByName('RCGangNO').Value:=Trim(ClientDataSet3.fieldbyname('RCGangNO').AsString); + FieldByName('BCgangNO').Value:=Trim(ClientDataSet3.fieldbyname('BCgangNO').AsString); + if ClientDataSet3.FieldByName('HCFlag').AsBoolean=True then + begin + FieldByName('HCFlag').Value:=1 + end else + begin + FieldByName('HCFlag').Value:=0; + end; + if Trim(ClientDataSet3.fieldbyname('MXId').AsString)<>'' then + begin + if Trim(ADOQueryCmd.fieldbyname('TPUnit').AsString)<>Trim(ClientDataSet3.fieldbyname('TPUnit').AsString) then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Sub_AnPai A where SubId='''+Trim(ClientDataSet3.fieldbyname('OrdSubId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ѻزֲ޸λ!','ʾ',0); + Exit; + end; + end; + end; + FieldByName('TPUnit').Value:=ClientDataSet3.fieldbyname('TPUnit').Value; + FieldByName('ToNo').Value:=ClientDataSet3.fieldbyname('ToNo').Value; + FieldByName('ToName').Value:=ClientDataSet3.fieldbyname('ToName').Value; + if Trim(ClientDataSet3.fieldbyname('TPQty').AsString)<>'' then + FieldByName('TPQty').Value:=ClientDataSet3.fieldbyname('TPQty').Value + else + FieldByName('TPQty').Value:=0; + if Trim(ClientDataSet3.fieldbyname('TPPS').AsString)<>'' then + FieldByName('TPPS').Value:=ClientDataSet3.fieldbyname('TPPS').Value + else + FieldByName('TPPS').Value:=0; + if Trim(ClientDataSet3.fieldbyname('JGPrice').AsString)<>'' then + FieldByName('JGPrice').Value:=ClientDataSet3.fieldbyname('JGPrice').Value + else + FieldByName('JGPrice').Value:=0; + if Trim(ClientDataSet3.fieldbyname('Qty1').AsString)<>'' then + FieldByName('Qty1').Value:=ClientDataSet3.fieldbyname('Qty1').Value + else + FieldByName('Qty1').Value:=0; + if Trim(ClientDataSet3.fieldbyname('Qty2').AsString)<>'' then + FieldByName('Qty2').Value:=ClientDataSet3.fieldbyname('Qty2').Value + else + FieldByName('Qty2').Value:=0; + if Trim(ClientDataSet3.fieldbyname('Qty3').AsString)<>'' then + FieldByName('Qty3').Value:=ClientDataSet3.fieldbyname('Qty3').Value + else + FieldByName('Qty3').Value:=0; + if Trim(ClientDataSet3.fieldbyname('TPUnit').AsString)='Kg' then + begin + FieldByName('TPMQty').Value:=ClientDataSet3.fieldbyname('TPQty').Value*1.00*1000 + /(Order_Main.fieldbyname('MFQty').Value*1.00/100*Order_Main.fieldbyname('KZQty').Value); + end else + begin + FieldByName('TPMQty').Value:=ClientDataSet3.fieldbyname('TPQty').Value; + end; + if Trim(ClientDataSet3.fieldbyname('TPUnit').AsString)='Kg' then + begin + FieldByName('MQty2').Value:=ClientDataSet3.fieldbyname('Qty2').Value*1.00*1000 + /(Order_Main.fieldbyname('MFQty').Value*1.00/100*Order_Main.fieldbyname('KZQty').Value); + end else + begin + FieldByName('MQty2').Value:=ClientDataSet3.fieldbyname('Qty2').Value; + end; + Post; + end; + with ClientDataSet3 do + begin + Edit; + FieldByName('MXId').Value:=Trim(maxno); + Post; + end; + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from Contract_Cloth_LL where DHIdHelp='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + sql.Add(' and firstName='''+Trim(ClientDataSet3.fieldbyname('ToName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + if GetLSNo(ADOQueryCmd,FFLLID,'HL','Contract_Cloth_LL',2,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡӹʧ!','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('DHID').Value:=Trim(Order_Main.fieldbyname('DHID').AsString); + FieldByName('OrdSubId').Value:=Trim(Order_Main.fieldbyname('OrdSubId').AsString); + FieldByName('SXMainId').Value:=Trim(Order_Main.fieldbyname('SXMainId').AsString); + FieldByName('SXDHID').Value:=Trim(Order_Main.fieldbyname('SXDHID').AsString); + FieldByName('LLId').Value:=Trim(FFLLID); + FieldByName('DHIdHelp').Value:=Trim(Order_Main.fieldbyname('LLID').AsString); + FieldByName('FirstNo').Value:=Trim(ClientDataSet3.fieldbyname('ToNo').AsString); + FieldByName('FirstName').Value:=Trim(ClientDataSet3.fieldbyname('ToName').AsString); + FieldByName('TPUnit').Value:=Trim(ClientDataSet3.fieldbyname('TPUnit').AsString); + FieldByName('HJGType').Value:=ClientDataSet3.fieldbyname('HJGType').Value; + FieldByName('LLIdx').Value:=Order_Main.fieldbyname('LLIdx').Value+1; + FieldByName('DHID').Value:=Trim(Order_Main.fieldbyname('DHID').AsString); + FieldByName('RCGangNO').Value:=Trim(ClientDataSet3.fieldbyname('RCGangNO').AsString); + FieldByName('BCgangNO').Value:=Trim(ClientDataSet3.fieldbyname('BCgangNO').AsString); + Post; + end; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('Update Contract_Cloth_LL Set JXJGFlag=1 '); + sql.Add(',ToNo='''+Trim(ClientDataSet3.fieldbyname('ToNo').AsString)+''''); + sql.Add(',ToName='''+Trim(ClientDataSet3.fieldbyname('ToName').AsString)+''''); + sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update Contract_Cloth_LL Set TPUnit='''+Trim(ClientDataSet3.fieldbyname('TPUnit').AsString)+''''); + sql.Add(',HJGType='''+Trim(ClientDataSet3.fieldbyname('HJGType').AsString)+''''); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + end; + { if Order_Main.FieldByName('APFlag').Value=0 then + begin + if YFData()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('Ⱦʧ!','ʾ',0); + Exit; + end; + end else + begin + if YFDataDel()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('Ⱦʧ!','ʾ',0); + Exit; + end; + end;} + if Trim(ClientDataSet3.fieldbyname('HJGType').AsString)='' then + begin + if YFData()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('Ⱦʧ!','ʾ',0); + Exit; + end; + end; + + Next; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update Contract_Cloth_LL Set TPMQty=(select Sum(TPMQty) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_LL.DHIDHelp'); + SQL.Add(' and A.ToName=Contract_Cloth_LL.FirstName)'); + sql.Add(',TPPS=(select Sum(TPPS) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_LL.DHIDHelp'); + SQL.Add(' and A.ToName=Contract_Cloth_LL.FirstName)'); + sql.Add(',TPQty=(select Sum(TPQty) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_LL.DHIDHelp'); + SQL.Add(' and A.ToName=Contract_Cloth_LL.FirstName)'); + sql.Add(',BCPQty=(select Sum(Qty2) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_LL.DHIDHelp'); + SQL.Add(' and A.ToName=Contract_Cloth_LL.FirstName)'); + sql.Add(',BCPMQty=(select Sum(MQty2) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_LL.DHIDHelp'); + SQL.Add(' and A.ToName=Contract_Cloth_LL.FirstName)'); + sql.Add(' where DHIDHelp='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + if Order_Main.FieldByName('APFlag').Value=0 then + begin + if Trim(ClientDataSet3.fieldbyname('HJGType').AsString)<>'زֺӹ' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Contract_Cloth_LL Set HCPS=(select isnull(Sum(TPPS),0) from Contract_Cloth_LLMX A where A.DHID=Contract_Cloth_LL.LLID)'); + sql.Add(', HCQty=(select isnull(Sum(TPQty),0) from Contract_Cloth_LLMX A where A.DHID=Contract_Cloth_LL.LLID)'); + sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Contract_Cloth_LL Set HCMQty=HCQty*(TPMQty*1.00/TPQty)'); + sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + end; + + end; + + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; +function TfrmClothContractListWJG.YFData():Boolean; +var + CRID,OrdMainId,YFID,Price,FComTaiTou:String; +begin + Result:=False; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('orderNO').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + + Application.MessageBox('δ¼!','ʾ',0); + Exit; + end else + begin + if ADOQueryTemp.RecordCount>1 then + begin + Application.MessageBox('¼ظ!','ʾ',0); + Exit; + end; + end; + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where OrderNo='''+Trim(Order_Main.fieldbyname('orderNO').AsString)+''''); + Open; + end; + OrdMainId:=Trim(ADOQueryTemp.fieldbyname('MainId').AsString); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select OrdDefStr2 from JYOrder_Main where Mainid='''+Trim(OrdMainId)+''''); + Open; + end; + FComTaiTou:=Trim(ADOQueryTemp.fieldbyname('OrdDefStr2').AsString); + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CRID set CRID=CRID+1'); + sql.Add('select * from YF_Money_CRID '); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('ZdyStr1').Value:='Ӧ'; + Post; + end; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where YFName=''Ⱦ'''); + sql.Add(' and YFTypeId='''+Trim(ClientDataSet3.fieldbyname('MXID').AsString)+''''); + Open; + end; + YFID:=Trim(ADOQueryTemp.fieldbyname('YFID').AsString); + //if ADOQueryTemp.IsEmpty then + begin + if Trim(YFID)='' then + begin + if GetLSNo(ADOQueryCmd,YFID,'RF','YF_Money_CR',3,1)=False then + begin + Application.MessageBox('ȡȾӦʧ!','ʾ',0); + Exit; + end; + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where YFID='''+Trim(YFID)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(YFID)='' then + Append + else + Edit; + FieldByName('YFID').Value:=Trim(YFID); + FieldByName('YFTypeId').Value:=Trim(ClientDataSet3.fieldbyname('MXID').AsString); + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRType').Value:='ӦǼ'; + FieldByName('CRFlag').Value:='Ӧ'; + FieldByName('QtyFlag').Value:=1; + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('CRTime').Value:=ClientDataSet3.fieldbyname('TPDate').Value; + if Trim(ClientDataSet3.fieldbyname('TPQty').AsString)<>'' then + FieldByName('Qty').Value:=ClientDataSet3.fieldbyname('TPQty').Value + else + FieldByName('Qty').Value:=0; + if Trim(ClientDataSet3.fieldbyname('TPPS').AsString)<>'' then + FieldByName('PS').Value:=ClientDataSet3.fieldbyname('TPPS').Value + else + FieldByName('PS').Value:=0; + FieldByName('YFType').Value:='Զ'; + if Trim(ClientDataSet3.fieldbyname('JGPrice').AsString)<>'' then + FieldByName('Price').Value:=ClientDataSet3.fieldbyname('JGPrice').Value + else + FieldByName('Price').Value:=0; + FieldByName('HuiLv').Value:=1; + FieldByName('BZType').Value:=''; + FieldByName('ComTaiTou').Value:=''; + FieldByName('QtyUnit').Value:=Trim(Order_Main.fieldbyname('TPUnit').AsString); + FieldByName('YFName').Value:='Ⱦ'; + FieldByName('MainId').Value:=Trim(OrdMainId); + Post; + end; + end; + {with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('update YF_Money_CR Set Qty=(select isnull(HCQty,0) from Contract_Cloth_LL A '); + SQL.Add(' where A.LLId=YF_Money_CR.YFTypeId )'); + sql.Add(',PS=(select isnull(HCPS,0) from Contract_Cloth_LL A '); + SQL.Add(' where A.LLId=YF_Money_CR.YFTypeId )'); + sql.Add(' where YFTypeId='''+Trim(Order_Main.fieldbyname('LLid').AsString)+''''); + ExecSQL; + end; } + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CR Set Money=Price*Qty,BBMoney=Price*Qty'); + sql.Add(' where YFID='''+Trim(YFID)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + Result:=True; +end; +function TfrmClothContractListWJG.YFDataDel():Boolean; +var + CRID,OrdMainId,YFID,Price,FComTaiTou:String; +begin + Result:=False; + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; + end else + begin + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + sql.Add(' and YFTypeId='''+Trim(ClientDataSet3.fieldbyname('MXID').AsString)+''''); + Open; + end; + YFID:=Trim(ADOQueryTemp.fieldbyname('YFID').AsString); + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete YF_Money_CR '); + sql.Add(' where YFID='''+Trim(YFID)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + Result:=True; +end; + +procedure TfrmClothContractListWJG.ToolButton3Click(Sender: TObject); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL where DHIDHelp='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + SQL.Add(' and FirstName='''+Trim(ClientDataSet3.fieldbyname('ToName').AsString)+''''); + sql.Add(' and HCPS>0 '); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + Application.MessageBox('лز!','ʾ',0); + Exit; + end; + try + ADOQueryCmd.Connection.BeginTrans; + begin + if ClientDataSet3.IsEmpty then Exit; + if Trim(ClientDataSet3.fieldbyname('MXId').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then + begin + ADOQueryCmd.Connection.RollbackTrans; + Exit; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Cloth_LLMx where MXId='''+Trim(ClientDataSet3.fieldbyname('MXId').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update Contract_Cloth_LL Set TPMQty=(select isnull(Sum(TPMQty),0) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_LL.DHIDHelp'); + SQL.Add(' and A.ToName=Contract_Cloth_LL.FirstName)'); + sql.Add(',TPPS=(select isnull(Sum(TPPS),0) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_LL.DHIDHelp'); + SQL.Add(' and A.ToName=Contract_Cloth_LL.FirstName)'); + sql.Add(',TPQty=(select isnull(Sum(TPQty),0) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_LL.DHIDHelp'); + SQL.Add(' and A.ToName=Contract_Cloth_LL.FirstName)'); + sql.Add(',BCPQty=(select isnull(Sum(Qty2),0) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_LL.DHIDHelp'); + SQL.Add(' and A.ToName=Contract_Cloth_LL.FirstName)'); + sql.Add(',BCPMQty=(select isnull(Sum(MQty2),0) from Contract_Cloth_LLMx A where A.DHID=Contract_Cloth_LL.DHIDHelp'); + SQL.Add(' and A.ToName=Contract_Cloth_LL.FirstName)'); + sql.Add(' where DHIDHelp='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + if Order_Main.FieldByName('APFlag').Value=0 then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Contract_Cloth_LL Set HCPS=(select isnull(Sum(TPPS),0) from Contract_Cloth_LLMX A where A.DHID=Contract_Cloth_LL.LLID)'); + sql.Add(', HCQty=(select isnull(Sum(TPQty),0) from Contract_Cloth_LLMX A where A.DHID=Contract_Cloth_LL.LLID)'); + sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Contract_Cloth_LL Set HCMQty=HCQty*(TPMQty*1.00/TPQty)'); + sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + end; + + + end; + + if YFDataDel()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('Ⱦʧ!','ʾ',0); + Exit; + end; + ClientDataSet3.Delete; + if ClientDataSet3.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Contract_Cloth_LL where DHIDHelp='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + sql.Add('Update Contract_Cloth_LL Set ToNo='''' ,ToName='''' ,JXJGFlag=0 '); + sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ʧ!','ʾ',0); + + end; +end; + +procedure TfrmClothContractListWJG.v2Column3PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='RKPlace'; + flagname:='ص'; + if ShowModal=1 then + begin + with ClientDataSet2 do + begin + Edit; + FieldByName('RKPlace').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractListWJG.v3Column2PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,fieldname,qty1,qty2:String; + +begin + If Trim(TcxTextEdit(Sender).EditingText)<>'' then + begin + mvalue:=TcxTextEdit(Sender).EditingText; + end else + begin + mvalue:='0'; + end; + fieldname:=Tv3.Controller.FocusedColumn.DataBinding.FilterFieldName; + with ClientDataSet3 do + begin + Edit; + FieldByName(Trim(fieldname)).Value:=mvalue; + Post; + end; + with ClientDataSet3 do + begin + Edit; + FieldByName('qty2').Value:= FieldByName('TPQty').AsFloat; + // FieldByName('qty3').Value:=(StrToFloat(qty1)-StrToFloat(qty2))*1.00*100/StrToFloat(qty1); + Post; + end; + {with Order_Main do + begin + Edit; + FieldByName('KCQty').Value:=Order_Main.fieldbyname('DHQty').Value-tv3.DataController.Summary.FooterSummaryValues[0]; + Post; + end; } + if Trim(ClientDataSet3.fieldbyname('TPQty').AsString)<>'' then + begin + qty1:=ClientDataSet3.fieldbyname('TPQty').AsString; + end else + begin + qty1:='0'; + end; + if Trim(ClientDataSet3.fieldbyname('Qty2').AsString)<>'' then + begin + Qty2:=ClientDataSet3.fieldbyname('Qty2').AsString; + end else + begin + Qty2:='0'; + end; + if StrToFloat(qty1)*StrToFloat(qty2)=0 then Exit; + with ClientDataSet3 do + begin + Edit; + // FieldByName('qty2').Value:= FieldByName('TPQty').AsFloat; + FieldByName('qty3').Value:=(StrToFloat(qty1)-StrToFloat(qty2))*1.00*100/StrToFloat(qty1); + Post; + end; + +end; + +procedure TfrmClothContractListWJG.Tv1CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if Order_Main.IsEmpty then exit; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,C.MPRTSpec,B.PRTColor,C.MPRTCodeName,C.OrderNo '); + SQL.Add('from Contract_Cloth_LLMx A inner join JYOrder_Sub B on A.OrdSubId=B.SubId'); + SQL.Add(' inner join JYOrder_Main C on C.MainId=B.MainId '); + sql.Add('where A.DHId='''+Trim(Order_Main.fieldbyname('LLId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3); + +end; + +procedure TfrmClothContractListWJG.v3Column10PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + //flag:='RKPlace'; + flagname:='ӹ'; + flag:='Factory'; + MainType:='HZLFactory'; + if ShowModal=1 then + begin + ClientDataSet3.Edit; + ClientDataSet3.FieldByName('ToName').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + ClientDataSet3.FieldByName('ToNo').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothContractListWJG.ConNoKeyPress(Sender: TObject; + var Key: Char); +var + fsj:string; +begin + if Length(ConNo.Text)<3 then Exit; + if Key=#13 then + begin + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.add(' exec P_HJG_View :begdate,:enddate,:PState,:ConNo'); + Parameters.ParamByName('PState').Value:=2; + Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.Date); + Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',EndDate.Date+1); + Parameters.ParamByName('ConNo').Value:='%'+Trim(ConNo.Text)+'%'; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + end; +end; + +procedure TfrmClothContractListWJG.v3Column5PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,fieldname,qty1,qty3:String; + +begin + If Trim(TcxTextEdit(Sender).EditingText)<>'' then + begin + mvalue:=TcxTextEdit(Sender).EditingText; + end else + begin + mvalue:='0'; + end; + fieldname:=Tv3.Controller.FocusedColumn.DataBinding.FilterFieldName; + with ClientDataSet3 do + begin + Edit; + FieldByName(Trim(fieldname)).Value:=mvalue; + Post; + end; + {with Order_Main do + begin + Edit; + FieldByName('KCQty').Value:=Order_Main.fieldbyname('DHQty').Value-tv3.DataController.Summary.FooterSummaryValues[0]; + Post; + end; } + if Trim(ClientDataSet3.fieldbyname('TPQty').AsString)<>'' then + begin + qty1:=ClientDataSet3.fieldbyname('TPQty').AsString; + end else + begin + qty1:='0'; + end; + if Trim(ClientDataSet3.fieldbyname('qty3').AsString)<>'' then + begin + qty3:=ClientDataSet3.fieldbyname('qty3').AsString; + end else + begin + qty3:='0'; + end; + //if StrToFloat(qty1)*StrToFloat(qty2)=0 then Exit; + with ClientDataSet3 do + begin + Edit; + FieldByName('qty2').Value:=StrToFloat(qty1)*(1-StrToFloat(qty3)*1.00/100); + Post; + end; + +end; + +end. diff --git a/打卷检验管理/U_ClothHCList.dfm b/打卷检验管理/U_ClothHCList.dfm new file mode 100644 index 0000000..0f4442e --- /dev/null +++ b/打卷检验管理/U_ClothHCList.dfm @@ -0,0 +1,484 @@ +object frmClothHCList: TfrmClothHCList + Left = 377 + Top = 240 + Width = 1179 + Height = 705 + Caption = #26816#39564#25351#31034#21333#26597#35810 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + WindowState = wsMaximized + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1163 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBClose: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1163 + Height = 73 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 22 + Width = 52 + Height = 12 + Caption = #21046#21333#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 190 + Top = 23 + Width = 53 + Height = 12 + Caption = #35746' '#21333' '#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 577 + Top = 46 + Width = 54 + Height = 12 + Caption = #39068' '#33394 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 384 + Top = 22 + Width = 53 + Height = 12 + Caption = #21512' '#21516' '#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 384 + Top = 46 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 577 + Top = 22 + Width = 52 + Height = 12 + Caption = #22411#21495#35268#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 190 + Top = 46 + Width = 52 + Height = 12 + Caption = #35746#21333#26465#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 749 + Top = 22 + Width = 52 + Height = 12 + Caption = #33457#22411#33457#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 18 + Width = 90 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 76 + Top = 42 + Width = 90 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object OrderNoM: TEdit + Tag = 2 + Left = 246 + Top = 18 + Width = 98 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnChange = OrderNoMChange + OnKeyPress = OrderNoMKeyPress + end + object PRTColor: TEdit + Tag = 2 + Left = 634 + Top = 42 + Width = 85 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + OnChange = OrderNoMChange + end + object SubID: TEdit + Tag = 2 + Left = 246 + Top = 42 + Width = 98 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnChange = OrderNoMChange + end + object conNo: TEdit + Tag = 2 + Left = 440 + Top = 18 + Width = 86 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 5 + OnChange = OrderNoMChange + end + object prtCodeName: TEdit + Tag = 2 + Left = 440 + Top = 42 + Width = 86 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + OnChange = OrderNoMChange + end + object prtspec: TEdit + Tag = 2 + Left = 633 + Top = 18 + Width = 85 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 7 + OnChange = OrderNoMChange + end + object Button1: TButton + Left = 908 + Top = 20 + Width = 137 + Height = 45 + Caption = #30830#23450#36873#25321 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + OnClick = Button1Click + end + object PRTHX: TEdit + Tag = 2 + Left = 805 + Top = 18 + Width = 85 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 9 + OnChange = OrderNoMChange + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 105 + Width = 1163 + Height = 561 + Align = alClient + TabOrder = 2 + object TV2: TcxGridDBTableView + OnDblClick = TV2DblClick + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object V2filltime: TcxGridDBColumn + Caption = #21046#21333#26102#38388 + DataBinding.FieldName = 'filltime' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 96 + end + object V2Subid: TcxGridDBColumn + Caption = #35746#21333#26465#30721 + DataBinding.FieldName = 'Subid' + HeaderAlignmentHorz = taCenter + Width = 58 + end + object V2Column10: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNoM' + HeaderAlignmentHorz = taCenter + Width = 72 + end + object V2CustomerNoName: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Width = 118 + end + object V2KHOrderNo: TcxGridDBColumn + Caption = #23458#25143#35746#21333#21495 + DataBinding.FieldName = 'KHOrderNo' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object V2Column14: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'conNo' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object V2Column15: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'prtCodeName' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object V2Column16: TcxGridDBColumn + Caption = #22411#21495#35268#26684 + DataBinding.FieldName = 'prtspec' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object V2Column13: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Width = 77 + end + object TV2Column1: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'PRTganghao' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object V2Column1: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Width = 73 + end + object V2Column2: TcxGridDBColumn + Caption = #33457#22411#33457#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object V2MPRTNiuDu: TcxGridDBColumn + Caption = #25968#37327#35201#27714 + DataBinding.FieldName = 'MPRTNiuDu' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object V2MPRTBZNote: TcxGridDBColumn + Caption = #21253#35013#35201#27714 + DataBinding.FieldName = 'MPRTBZNote' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object V2PRTOrderQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object V2OrderUnit: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Width = 65 + end + end + object cxGridLevel1: TcxGridLevel + GridView = TV2 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 448 + Top = 168 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 800 + Top = 12 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 944 + Top = 24 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 720 + Top = 216 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 824 + Top = 184 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 840 + Top = 192 + end +end diff --git a/打卷检验管理/U_ClothHCList.pas b/打卷检验管理/U_ClothHCList.pas new file mode 100644 index 0000000..5591953 --- /dev/null +++ b/打卷检验管理/U_ClothHCList.pas @@ -0,0 +1,218 @@ +unit U_ClothHCList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, + RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, + cxTextEdit, cxDropDownEdit, cxCheckBox, cxLookAndFeels, + cxLookAndFeelPainters, cxNavigator; + +type + TfrmClothHCList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + OrderNoM: TEdit; + Order_Main: TClientDataSet; + Label6: TLabel; + PRTColor: TEdit; + cxGrid2: TcxGrid; + TV2: TcxGridDBTableView; + V2filltime: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + V2Column10: TcxGridDBColumn; + V2Column13: TcxGridDBColumn; + V2Subid: TcxGridDBColumn; + V2KHOrderNo: TcxGridDBColumn; + V2Column14: TcxGridDBColumn; + SubID: TEdit; + conNo: TEdit; + Label9: TLabel; + V2Column15: TcxGridDBColumn; + V2Column16: TcxGridDBColumn; + prtCodeName: TEdit; + Label2: TLabel; + prtspec: TEdit; + Label10: TLabel; + V2CustomerNoName: TcxGridDBColumn; + V2MPRTNiuDu: TcxGridDBColumn; + V2MPRTBZNote: TcxGridDBColumn; + V2PRTOrderQty: TcxGridDBColumn; + Label4: TLabel; + V2OrderUnit: TcxGridDBColumn; + Button1: TButton; + V2Column1: TcxGridDBColumn; + V2Column2: TcxGridDBColumn; + PRTHX: TEdit; + Label5: TLabel; + TV2Column1: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure OrderNoMChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure OrderNoMKeyPress(Sender: TObject; var Key: Char); + procedure TV2DblClick(Sender: TObject); + procedure Button1Click(Sender: TObject); + private + FInt,PFInt:Integer; + procedure InitGrid(); + procedure InitForm(); + procedure InitGridWSQL(FWSQL:String); + { Private declarations } + public + fType:string; + { Public declarations } + end; + +var + frmClothHCList: TfrmClothHCList; + +implementation +uses + U_DataLink,U_ClothContractInPut,U_Fun,U_ProductOrderList,U_ZDYHelp,U_ProductOrderNewList_JD; + +{$R *.dfm} + +procedure TfrmClothHCList.FormDestroy(Sender: TObject); +begin + frmClothHCList:=nil; +end; + +procedure TfrmClothHCList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmClothHCList.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid(self.Caption+tv2.Name,Tv2,'ָʾ'); +end; + +procedure TfrmClothHCList.InitGrid(); +begin + try + //ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + + Close; + Filtered:=False; + sql.Clear; + sql.Add('exec P_View_HC :begdate,:enddate,:WSQL'); + Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.Date); + Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',EndDate.Date+1); + Parameters.ParamByName('WSQL').Value:=''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + //ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmClothHCList.InitGridWSQL(FWSQL:String); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec P_View_HC :begdate,:enddate,:WSQL'); + Parameters.ParamByName('begdate').Value:='2014-01-01'; + Parameters.ParamByName('enddate').Value:='2050-01-01'; + Parameters.ParamByName('WSQL').Value:=FWSQL; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmClothHCList.InitForm(); +begin + ReadCxGrid(self.Caption+tv2.Name,Tv2,'ָʾ'); + EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + BegDate.DateTime:=EndDate.DateTime; + //InitGrid(); +end; + +procedure TfrmClothHCList.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + + + +procedure TfrmClothHCList.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmClothHCList.OrderNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothHCList.FormShow(Sender: TObject); +begin + InitForm(); + TBRafresh.Click; +end; + +procedure TfrmClothHCList.OrderNoMKeyPress(Sender: TObject; + var Key: Char); +var + fsj:String; +begin + if Key=#13 then + begin + if Length(Trim(OrderNoM.Text))<4 then Exit; + fsj:=' and B.OrderNo like '''+'%'+Trim(OrderNoM.Text)+'%'+''''; + InitGridWSQL(fsj); + end; +end; + +procedure TfrmClothHCList.TV2DblClick(Sender: TObject); +begin + if fType='10' then frmClothHCList.ModalResult:=1; +end; + +procedure TfrmClothHCList.Button1Click(Sender: TObject); +begin + if fType='10' then frmClothHCList.ModalResult:=1; +end; + +end. diff --git a/打卷检验管理/U_ClothPDInfoList.dfm b/打卷检验管理/U_ClothPDInfoList.dfm new file mode 100644 index 0000000..c525ac7 --- /dev/null +++ b/打卷检验管理/U_ClothPDInfoList.dfm @@ -0,0 +1,366 @@ +object frmClothPDInfoList: TfrmClothPDInfoList + Left = 123 + Top = 23 + Width = 1162 + Height = 705 + Caption = #24453#26816#20179#24211#24211#23384 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1154 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBExport: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBClose: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1154 + Height = 54 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label3: TLabel + Left = 33 + Top = 22 + Width = 39 + Height = 12 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 194 + Top = 22 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 362 + Top = 22 + Width = 52 + Height = 12 + Caption = #20135#21697#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object OrderNo: TEdit + Tag = 2 + Left = 87 + Top = 18 + Width = 81 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + OnChange = OrderNoChange + end + object MPRTCodeName: TEdit + Tag = 2 + Left = 247 + Top = 18 + Width = 83 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + OnChange = OrderNoChange + end + object C_Spec: TEdit + Tag = 2 + Left = 416 + Top = 18 + Width = 113 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnChange = OrderNoChange + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 86 + Width = 1154 + Height = 585 + Align = alClient + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column11 + end + item + Kind = skSum + Column = v1Column4 + end + item + Kind = skSum + Column = v1Column5 + end + item + Kind = skSum + Column = v1Column7 + end + item + Kind = skSum + Column = v1Column10 + end + item + Kind = skSum + Column = v1JY_PS + end + item + Kind = skSum + Column = v1JY_Qty + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1Column2: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 85 + end + object v1Column1: TcxGridDBColumn + Caption = #20135#21697#32534#21495 + DataBinding.FieldName = 'MPRTCode' + HeaderAlignmentHorz = taCenter + Width = 74 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'MPRTSpec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 69 + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'MPRTMF' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 61 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'MPRTKZ' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 83 + end + object v1Column8: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Width = 69 + end + object v1Column9: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object v1Column11: TcxGridDBColumn + Caption = #22238#20179#21305#25968 + DataBinding.FieldName = 'HCPS' + HeaderAlignmentHorz = taCenter + Width = 62 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #22238#20179#25968#37327 + DataBinding.FieldName = 'HCQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object v1Column4: TcxGridDBColumn + Caption = #22238#20462#21305#25968 + DataBinding.FieldName = 'HXPS' + Width = 62 + end + object v1Column5: TcxGridDBColumn + Caption = #22238#20462#25968#37327 + DataBinding.FieldName = 'HXQty' + Width = 58 + end + object v1Column7: TcxGridDBColumn + Caption = #24211#23384#21305#25968 + DataBinding.FieldName = 'KCPS' + HeaderAlignmentHorz = taCenter + Width = 69 + end + object v1Column10: TcxGridDBColumn + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'KCQty' + HeaderAlignmentHorz = taCenter + Width = 64 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'AOrddefstr2' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 59 + end + object v1JY_PS: TcxGridDBColumn + Caption = #26816#39564#21305#25968 + DataBinding.FieldName = 'JY_PS' + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FoneRed + Styles.Footer = DataLink_TradeManage.FoneRed + Styles.Header = DataLink_TradeManage.FoneRed + Width = 65 + end + object v1JY_Qty: TcxGridDBColumn + Caption = #26816#39564#25968#37327 + DataBinding.FieldName = 'JY_Qty' + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FoneRed + Styles.Footer = DataLink_TradeManage.FoneRed + Styles.Header = DataLink_TradeManage.FoneRed + Width = 65 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 656 + Top = 288 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 936 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1000 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1040 + Top = 8 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 688 + Top = 288 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 624 + Top = 288 + end +end diff --git a/打卷检验管理/U_ClothPDInfoList.pas b/打卷检验管理/U_ClothPDInfoList.pas new file mode 100644 index 0000000..24f17ec --- /dev/null +++ b/打卷检验管理/U_ClothPDInfoList.pas @@ -0,0 +1,169 @@ +unit U_ClothPDInfoList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, + RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, + cxTextEdit; + +type + TfrmClothPDInfoList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + OrderNo: TEdit; + Label5: TLabel; + MPRTCodeName: TEdit; + TBExport: TToolButton; + Order_Main: TClientDataSet; + Label4: TLabel; + C_Spec: TEdit; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + v1Column11: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1JY_PS: TcxGridDBColumn; + v1JY_Qty: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure OrderNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + private + FInt,PFInt:Integer; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + { Private declarations } + public + { Public declarations } + end; + +var + frmClothPDInfoList: TfrmClothPDInfoList; + +implementation +uses + U_DataLink,U_ClothContractInPut,U_Fun,U_ProductOrderList,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmClothPDInfoList.FormDestroy(Sender: TObject); +begin + frmClothPDInfoList:=nil; +end; + +procedure TfrmClothPDInfoList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmClothPDInfoList.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('첼1',Tv1,'ָʾ'); +end; + +procedure TfrmClothPDInfoList.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + filtered:=False; + Close; + sql.Clear; + sql.Add('exec p_view_DJBKC '); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmClothPDInfoList.InitForm(); +begin + ReadCxGrid('첼1',Tv1,'ָʾ'); + InitGrid(); +end; + +procedure TfrmClothPDInfoList.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +function TfrmClothPDInfoList.DelData():Boolean; +begin + +end; + +procedure TfrmClothPDInfoList.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + TcxGridToExcel('첼',cxGrid1); +end; + +procedure TfrmClothPDInfoList.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmClothPDInfoList.OrderNoChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothPDInfoList.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmClothPDInfoList.Tv2MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=2; +end; + +end. diff --git a/打卷检验管理/U_ClothSCListZDSel.dfm b/打卷检验管理/U_ClothSCListZDSel.dfm new file mode 100644 index 0000000..43f21b5 --- /dev/null +++ b/打卷检验管理/U_ClothSCListZDSel.dfm @@ -0,0 +1,804 @@ +object frmClothSCListZDSel: TfrmClothSCListZDSel + Left = 48 + Top = 50 + Width = 1280 + Height = 705 + Caption = #22383#24067#36716#21333 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1272 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 119 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManagePB.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object ToolButton1: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #36873#25321 + ImageIndex = 41 + OnClick = ToolButton1Click + end + object TBAdd: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 3 + Visible = False + OnClick = TBAddClick + end + object TBEdit: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #20462#25913 + ImageIndex = 54 + Visible = False + OnClick = TBEditClick + end + object TBDel: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 17 + Visible = False + OnClick = TBDelClick + end + object TBExport: TToolButton + Left = 378 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + Visible = False + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 441 + Top = 0 + AutoSize = True + Caption = #29983#20135#35745#21010#21333#25171#21360 + ImageIndex = 12 + Visible = False + OnClick = TBPrintClick + end + object TBClose: TToolButton + Left = 564 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1272 + Height = 73 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 22 + Width = 52 + Height = 12 + Caption = #30331#35760#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 179 + Top = 22 + Width = 52 + Height = 12 + Caption = #29983#20135#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 326 + Top = 22 + Width = 26 + Height = 12 + Caption = #21697#21517 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 452 + Top = 22 + Width = 26 + Height = 12 + Caption = #39068#33394 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 745 + Top = 21 + Width = 26 + Height = 12 + Caption = #21305#25968 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label7: TLabel + Left = 819 + Top = 21 + Width = 26 + Height = 12 + Caption = #21592#24037 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label8: TLabel + Left = 919 + Top = 21 + Width = 26 + Height = 12 + Caption = #36710#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label9: TLabel + Left = 1005 + Top = 21 + Width = 26 + Height = 12 + Caption = #36716#25968 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label2: TLabel + Left = 179 + Top = 46 + Width = 47 + Height = 12 + Caption = #26465' '#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 18 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 75 + Top = 42 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + TabOrder = 1 + end + object ConNoM: TEdit + Tag = 2 + Left = 233 + Top = 18 + Width = 81 + Height = 20 + TabOrder = 2 + OnChange = ConNoMChange + OnKeyPress = conPress + end + object C_CodeNameM: TEdit + Tag = 2 + Left = 354 + Top = 18 + Width = 83 + Height = 20 + TabOrder = 3 + OnChange = ConNoMChange + end + object C_Color: TEdit + Tag = 2 + Left = 480 + Top = 18 + Width = 56 + Height = 20 + TabOrder = 4 + OnChange = ConNoMChange + end + object Button1: TButton + Left = 1162 + Top = 16 + Width = 43 + Height = 21 + Caption = #20316#24223 + TabOrder = 5 + Visible = False + OnClick = Button1Click + end + object Button2: TButton + Left = 1103 + Top = 16 + Width = 44 + Height = 21 + Caption = #20445#23384 + TabOrder = 6 + Visible = False + OnClick = Button2Click + end + object PS: TEdit + Left = 773 + Top = 17 + Width = 35 + Height = 20 + TabOrder = 7 + Visible = False + end + object SCPerson: TBtnEditA + Left = 846 + Top = 17 + Width = 65 + Height = 20 + Hint = 'SCPerson/'#25377#36710#24037 + ReadOnly = True + TabOrder = 8 + Visible = False + OnBtnClick = SCPersonBtnClick + end + object CarNo: TBtnEditA + Left = 946 + Top = 17 + Width = 48 + Height = 20 + Hint = 'CarNo/'#36710#21495 + ReadOnly = True + TabOrder = 9 + Visible = False + OnBtnClick = SCPersonBtnClick + end + object ZhuanQty: TEdit + Left = 1033 + Top = 17 + Width = 51 + Height = 20 + TabOrder = 10 + Visible = False + end + object MainIdTM: TEdit + Tag = 2 + Left = 233 + Top = 42 + Width = 81 + Height = 20 + TabOrder = 11 + OnKeyPress = MainIdTMKeyPress + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 105 + Width = 690 + Height = 563 + Align = alClient + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column6 + end + item + Kind = skSum + Column = v1Column10 + end + item + Kind = skSum + Column = v1Column11 + end + item + Kind = skSum + Column = v1Column12 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManagePB.SHuangSe + Styles.IncSearch = DataLink_TradeManagePB.SHuangSe + Styles.Selection = DataLink_TradeManagePB.SHuangSe + object v1OrderNo: TcxGridDBColumn + Caption = #29983#20135#21333#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 65 + end + object v1Column2: TcxGridDBColumn + Caption = #21697#21517 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 63 + end + object v1Column3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'C_Color' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 56 + end + object v1Column8: TcxGridDBColumn + Caption = #33410#25968 + DataBinding.FieldName = 'ConDefStr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 68 + end + object v1Column9: TcxGridDBColumn + Caption = #36710#22411 + DataBinding.FieldName = 'ConDefStr2' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 53 + end + object v1Column1: TcxGridDBColumn + Caption = #36716#25968 + DataBinding.FieldName = 'ZhuanStr' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 53 + end + object v1Column5: TcxGridDBColumn + Caption = #19979#21333#26085#26399 + DataBinding.FieldName = 'QDTime' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 63 + end + object v1Qty1: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Hidden = True + Styles.Header = DataLink_TradeManagePB.Default + Width = 46 + end + object v1Column6: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'Qty1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 46 + end + object v1Column10: TcxGridDBColumn + Caption = #24050#23433#25490#21305#25968 + DataBinding.FieldName = 'APPS' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 78 + end + object v1Column11: TcxGridDBColumn + Caption = #20837#24211#21305#25968 + DataBinding.FieldName = 'RKPS' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 63 + end + object v1Column12: TcxGridDBColumn + Caption = #20986#24211#21305#25968 + DataBinding.FieldName = 'CKPS' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 60 + end + object v1Column7: TcxGridDBColumn + Caption = #27599#21305#37325#37327'(KG)' + DataBinding.FieldName = 'Qty2' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 83 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #24635#37325#37327'(KG)' + DataBinding.FieldName = 'C_Qty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 73 + end + object v1Column4: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'C_Note' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 61 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxSplitter1: TcxSplitter + Left = 690 + Top = 105 + Width = 8 + Height = 563 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salRight + Control = Panel2 + Visible = False + end + object Panel2: TPanel + Left = 698 + Top = 105 + Width = 574 + Height = 563 + Align = alRight + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 4 + Visible = False + object cxGrid2: TcxGrid + Left = 2 + Top = 2 + Width = 570 + Height = 559 + Align = alClient + TabOrder = 0 + Visible = False + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DSAnPai + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skCount + Column = cxGridDBColumn2 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManagePB.SHuangSe + Styles.IncSearch = DataLink_TradeManagePB.SHuangSe + Styles.Selection = DataLink_TradeManagePB.SHuangSe + object v2Column2: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManagePB.Default + Width = 42 + end + object cxGridDBColumn1: TcxGridDBColumn + Caption = #21592#24037 + DataBinding.FieldName = 'SCPerson' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 51 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #26465#30721 + DataBinding.FieldName = 'APID' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 92 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #36710#21495 + DataBinding.FieldName = 'CarNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 43 + end + object v2Column3: TcxGridDBColumn + Caption = #36716#25968 + DataBinding.FieldName = 'ZhuanQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 46 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #23433#25490#26085#26399 + DataBinding.FieldName = 'APDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 77 + end + object v2Column1: TcxGridDBColumn + Caption = #24050#26816#39564 + DataBinding.FieldName = 'JYFlag' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 46 + end + object v2Column4: TcxGridDBColumn + Caption = #25171#21360#27425#25968 + DataBinding.FieldName = 'PRTCount' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManagePB.Default + Width = 58 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 536 + Top = 272 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManagePB.ADOLink + Parameters = <> + Left = 448 + Top = 168 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManagePB.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 424 + Top = 168 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManagePB.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 488 + Top = 168 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 368 + Top = 160 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 392 + Top = 160 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 352 + Top = 192 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = CDS_PRT + Left = 288 + Top = 160 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 336 + Top = 160 + end + object CDS_PRT: TClientDataSet + Aggregates = <> + Params = <> + Left = 312 + Top = 160 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBPRT + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 624 + Top = 264 + ReportData = {} + end + object RMDBPRT: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 528 + Top = 168 + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManagePB.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 592 + Top = 176 + end + object DSAnPai: TDataSource + DataSet = CDS_AnPai + Left = 872 + Top = 264 + end + object CDS_AnPai: TClientDataSet + Aggregates = <> + Params = <> + Left = 912 + Top = 264 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 792 + Top = 224 + end +end diff --git a/打卷检验管理/U_ClothSCListZDSel.pas b/打卷检验管理/U_ClothSCListZDSel.pas new file mode 100644 index 0000000..74a9d11 --- /dev/null +++ b/打卷检验管理/U_ClothSCListZDSel.pas @@ -0,0 +1,880 @@ +unit U_ClothSCListZDSel; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, + RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, + cxTextEdit, cxCheckBox, BtnEdit; + +type + TfrmClothSCListZDSel = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBAdd: TToolButton; + TBEdit: TToolButton; + TBDel: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + ConNoM: TEdit; + Label5: TLabel; + C_CodeNameM: TEdit; + TBExport: TToolButton; + Order_Main: TClientDataSet; + Label4: TLabel; + C_Color: TEdit; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + CDS_PRT: TClientDataSet; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Qty1: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + RM2: TRMGridReport; + RMDBPRT: TRMDBDataSet; + ADOQueryPrint: TADOQuery; + cxSplitter1: TcxSplitter; + DSAnPai: TDataSource; + CDS_AnPai: TClientDataSet; + cxGridPopupMenu2: TcxGridPopupMenu; + Panel2: TPanel; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + v2Column1: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + Button1: TButton; + Button2: TButton; + v2Column2: TcxGridDBColumn; + PS: TEdit; + Label6: TLabel; + Label7: TLabel; + Label8: TLabel; + SCPerson: TBtnEditA; + CarNo: TBtnEditA; + ZhuanQty: TEdit; + Label9: TLabel; + v2Column3: TcxGridDBColumn; + v2Column4: TcxGridDBColumn; + Label2: TLabel; + MainIdTM: TEdit; + v1Column1: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column11: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + ToolButton1: TToolButton; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBEditClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure ConNoMChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; + APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); + procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv3MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure conPress(Sender: TObject; var Key: Char); + procedure SCPersonBtnClick(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure MainIdTMKeyPress(Sender: TObject; var Key: Char); + procedure ToolButton1Click(Sender: TObject); + private + FInt,PFInt:Integer; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + function SaveData():Boolean; + { Private declarations } + public + { Public declarations } + end; + +var + frmClothSCListZDSel: TfrmClothSCListZDSel; + +implementation +uses + U_DataLink,U_ClothSCInPut,U_Fun,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmClothSCListZDSel.FormDestroy(Sender: TObject); +begin + frmClothSCListZDSel:=nil; +end; + +procedure TfrmClothSCListZDSel.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmClothSCListZDSel.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ƻ',Tv1,'ָʾ'); + WriteCxGrid('ƻAP',Tv2,'ָʾ'); +end; + +procedure TfrmClothSCListZDSel.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContract_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+'''' + +' and ConType='''' '; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmClothSCListZDSel.InitForm(); +begin + ReadCxGrid('ƻ',Tv1,'ָʾ'); + ReadCxGrid('ƻAP',Tv2,'ָʾ'); + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + InitGrid(); + {if Trim(DParameters1)='Ȩ' then + begin + TBPrintAgn.Visible:=True; + end;} +end; + +procedure TfrmClothSCListZDSel.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothSCListZDSel.TBEditClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmClothSCInPut:=TfrmClothSCInPut.Create(Application); + with frmClothSCInPut do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FConNo:=Trim(Self.Order_Main.fieldbyname('ConNoM').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmClothSCInPut.Free; + end; +end; + +procedure TfrmClothSCListZDSel.TBDelClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Sub_MX where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + Application.MessageBox('ѵɾ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + if DelData() then + begin + //TBRafresh.Click; + //TBFind.Click; + Order_Main.Delete; + end; +end; + +function TfrmClothSCListZDSel.DelData():Boolean; +begin +end; + +procedure TfrmClothSCListZDSel.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + TcxGridToExcel('ͬб',cxGrid1); +end; + +procedure TfrmClothSCListZDSel.TBPrintClick(Sender: TObject); +var + fPrintFile,FConNoM:string; + +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\.rmf' ; + with ADOQueryTemp do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContract_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Parameters.ParamByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + Parameters.ParamByName('WSql').Value:=''; + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_PRT); + SInitCDSData20(ADOQueryTemp,CDS_PRT); + FConNoM:=Trim(CDS_PRT.fieldbyname('ConNoM').AsString); + //SDofilter(ADOQueryMain,' ConNoM='''+Trim(Order_Main.fieldbyname('ConNoM').AsString)+''''); + //SCreateCDS20(ADOQueryMain,Order_Main); + //SInitCDSData20(ADOQueryMain,Order_Main); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\.rmf'),'ʾ',0); + end; + //SDofilter(ADOQueryMain,''); + //SCreateCDS20(ADOQueryMain,Order_Main); + //SInitCDSData20(ADOQueryMain,Order_Main); + //Order_Main.Locate('ConNoM',FConNoM,[]); + //SelPrintData(TV4,ADOQueryMain,'ͬѯ'); +end; + +procedure TfrmClothSCListZDSel.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmClothSCListZDSel.TBAddClick(Sender: TObject); +begin + try + frmClothSCInPut:=TfrmClothSCInPut.Create(Application); + with frmClothSCInPut do + begin + PState:=0; + FMainId:=''; + if ShowModal=1 then + begin + + end; + end; + finally + frmClothSCInPut.Free; + end; +end; + +procedure TfrmClothSCListZDSel.ConNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmClothSCListZDSel.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmClothSCListZDSel.Tv1FocusedRecordChanged( + Sender: TcxCustomGridTableView; APrevFocusedRecord, + AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*'); + sql.Add('from JYCon_Sub_AnPai A'); + sql.Add(' where A.SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_AnPai); + SInitCDSData20(ADOQueryTemp,CDS_AnPai); +end; + +procedure TfrmClothSCListZDSel.Tv2MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=2; +end; + +procedure TfrmClothSCListZDSel.Tv3MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=3; +end; + +procedure TfrmClothSCListZDSel.Tv2CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + {with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,C.MPRTSpec,B.PRTColor,C.MPRTCodeName,C.OrderNo ,'); + sql.Add('C_Unit=(select Top 1 C_Unit from Contract_Sub AA,Contract_Sub_Mx BB where AA.SubId=BB.SubId and BB.MXid=A.Mxid)'); + SQL.Add(' from Contract_Sub_MxTo A inner join JYOrder_Sub B on A.OrdSubId=B.SubId '); + SQL.Add(' inner join JYOrder_Main C on C.MainId=B.MainId '); + sql.Add('where A.MxId='''+Trim(ClientDataSet2.fieldbyname('MxId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,ClientDataSet3); + SInitCDSData20(ADOQueryTemp,ClientDataSet3); } +end; + +procedure TfrmClothSCListZDSel.conPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Length(Trim(ConNoM.Text))<4 then Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContract_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and OM.conNo like '''+'%'+Trim(ConNoM.Text)+'%'+'''' + +' and ConType='''' '; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +procedure TfrmClothSCListZDSel.SCPersonBtnClick(Sender: TObject); +var + fsj:string; + FWZ:Integer; +begin + fsj:=Trim(TEdit(Sender).Hint); + FWZ:=Pos('/',fsj); + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Copy(fsj,1,FWZ-1); + flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); + if ShowModal=1 then + begin + TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmClothSCListZDSel.Button2Click(Sender: TObject); +var + FFDS:Integer; +begin + if Trim(PS.Text)='' then + begin + Application.MessageBox('ƥΪ!','ʾ',0); + Exit; + end; + if TryStrToInt(Trim(PS.Text),FFDS)=False then + begin + Application.MessageBox('ƥǷ','ʾ',0); + Exit; + end; + if Trim(SCPerson.Text)='' then + begin + Application.MessageBox('ԱΪ!','ʾ',0); + Exit; + end; + if Trim(CarNo.Text)='' then + begin + Application.MessageBox('ŲΪ!','ʾ',0); + Exit; + end; + if Trim(ZhuanQty.Text)='' then + begin + Application.MessageBox('תΪ!','ʾ',0); + Exit; + end; + if TryStrToInt(Trim(ZhuanQty.Text),FFDS)=False then + begin + Application.MessageBox('תǷ','ʾ',0); + Exit; + end; + { with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select isnull(Count(*),0) APPS from JYCon_Sub_AnPai where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + if (ADOQueryTemp.FieldByName('APPS').AsInteger+strtoint(PS.Text))>Order_Main.fieldbyname('Qty1').AsInteger then + begin + Application.MessageBox('ƥ࣬!','ʾ',0); + Exit; + end; } + if Application.MessageBox('ȷҪ','ʾ',32+4)<>IDYES then Exit; + SaveData(); +end; +function TfrmClothSCListZDSel.SaveData():Boolean; +var + maxno,fPrintFile,TaiQty,TaiQtyMax,TaiQtyMin:String; + i:Integer; + FDate:string; +begin + FDate:=FormatDateTime('yyyy-MM-dd',SGetServerDate(ADOQueryTemp)); + try + ADOQueryCmd.Connection.BeginTrans; + /// + + for i:=1 to StrToInt(PS.Text) do + begin + if GetLSNo(ADOQueryCmd,maxno,'','JYCon_Sub_AnPai',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ˮ쳣','ʾ',0); + exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from JYCon_Sub_AnPai where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + FieldByName('APId').Value:=Trim(maxno); + FieldByName('SCPerson').Value:=Trim(SCPerson.Text); + FieldByName('CarNo').Value:=Trim(CarNo.Text); + FieldByName('ZhuanQty').Value:=Trim(ZhuanQty.Text); + FieldByName('PRTCount').Value:=1; + FieldByName('APDate').Value:=FDate; + FieldByName('Filler').Value:=Trim(DName); + Post; + end; + //¼ӹ + with ADOQueryCmd do + begin + Close; + SQL.Clear; + SQL.Add(' select Count(*) TaiQty from '); + sql.Add('(select distinct(CarNo) CarNo from [JYCon_Sub_AnPai] where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add(' and SCPerson='''+Trim(SCPerson.Text)+''''); + SQL.Add(' and APDate='''+Trim(FDate)+''') AA'); + //ShowMessage(sql.Text); + Open; + end; + TaiQty:=Trim(ADOQueryCmd.fieldbyname('TaiQty').AsString); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add(' select isnull(Max(DEFFlt1),0) TaiQtyMax,isnull(Min(DEFFlt1),0) TaiQtyMin '); + sql.Add(' from [KH_Zdy_Attachment] where ZdyName='''+Trim(Order_Main.fieldbyname('C_CodeName').AsString)+''''); + Open; + end; + if ADOQueryTemp.FieldByName('TaiQtyMax').AsInteger=0 then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ӹδ!','ʾ',0); + Exit; + end else + begin + TaiQtyMax:=ADOQueryTemp.fieldbyname('TaiQtyMax').AsString; + TaiQtyMin:=ADOQueryTemp.fieldbyname('TaiQtyMin').AsString; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1 * from [KH_Zdy_Attachment] where ZdyName='''+Trim(Order_Main.fieldbyname('C_CodeName').AsString)+''''); + sql.Add(' and DEFFlt1='+TaiQty); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYCon_Sub_AnPai Set JGPrice='+ADOQueryTemp.fieldbyname('DEFFlt3').AsString); + sql.Add(' where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add(' and SCPerson='''+Trim(SCPerson.Text)+''''); + SQL.Add(' and APDate='''+Trim(FDate)+''''); + ExecSQL; + end; + end else + begin + if StrToInt(TaiQty)'+TaiQty); + sql.Add(' )where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add(' and SCPerson='''+Trim(SCPerson.Text)+''''); + SQL.Add(' and APDate='''+Trim(FDate)+''''); + ExecSQL; + end; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYCon_Sub_AnPai Set JGPrice='); + sql.Add('(select Top 1 DEFFlt3 from KH_Zdy_Attachment where ZdyName='''+Trim(Order_Main.fieldbyname('C_CodeName').AsString)+''''); + sql.Add(' and DEFFlt1='+TaiQtyMax); + sql.Add(' )where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add(' and SCPerson='''+Trim(SCPerson.Text)+''''); + SQL.Add(' and APDate='''+Trim(FDate)+''''); + ExecSQL; + end; + end; + end; + //¼ӹ + with CDS_AnPai do + begin + Append; + FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + FieldByName('APId').Value:=Trim(maxno); + FieldByName('SCPerson').Value:=Trim(SCPerson.Text); + FieldByName('CarNo').Value:=Trim(CarNo.Text); + FieldByName('ZhuanQty').Value:=Trim(ZhuanQty.Text); + FieldByName('APDate').Value:=FDate; + FieldByName('PRTCount').Value:=1; + Post; + end; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾǩ.rmf'; + if FileExists(fPrintFile) then + begin + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select B.ConNo ,A.C_CodeName,A.C_Color,A.ConDefStr1,A.ConDefStr2,A.ConDefStr3,A.ConDefStr4, '); + sql.Add(' AA.APID,AA.ZhuanQty,AA.SCPerson,AA.CarNo,A.ConDefStr5,A.KZQty '); + sql.Add(' from JYCon_Sub_AnPai AA'); + sql.Add(' inner join Contract_Sub A on AA.SubId=A.SubId '); + sql.Add(' inner join Contract_Main B on A.MainId=B.MainId '); + sql.Add(' where AA.APId='''+Trim(CDS_AnPai.fieldbyname('APID').AsString)+''''); + Open; + end; + {CDS_AnPai.Edit; + CDS_AnPai.FieldByName('PRTFlag').Value:=1; + CDS_AnPai.FieldByName('PRTCount').Value:=2; + CDS_AnPai.Post;} + { with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate JYCon_Sub_AnPai Set PRTFlag=1,PRTCount=2 '); + sql.Add(' where APId='''+Trim(CDS_AnPai.fieldbyname('APID').AsString)+''''); + ExecSQL; + end; } + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + {RM2.LoadFromFile(fPrintFile); + RM2.ShowReport; + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select B.ConNo ,A.C_CodeName,A.C_Color,A.ConDefStr1,A.ConDefStr2,A.ConDefStr3,A.ConDefStr4, '); + sql.Add(' AA.APID,AA.ZhuanQty,AA.SCPerson,AA.CarNo '); + sql.Add(' from JYCon_Sub_AnPai AA'); + sql.Add(' inner join Contract_Sub A on AA.SubId=A.SubId '); + sql.Add(' inner join Contract_Main B on A.MainId=B.MainId '); + sql.Add(' where AA.APId='''+Trim(maxno)+''''); + Open; + end; } + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM2.LoadFromFile(fPrintFile); + //RM2.ShowReport; + RM2.PrintReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾǩ.rmf'),'ʾ',0); + Exit; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + +procedure TfrmClothSCListZDSel.Button1Click(Sender: TObject); +var + TaiQtyMax,TaiQtyMin,TaiQty:string; +begin + if CDS_AnPai.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡ!','ʾ',0); + Exit; + end; + if CDS_AnPai.Locate('SSel;JYFlag',VarArrayOf([True,True]),[]) then + begin + Application.MessageBox('Ѽ鲻!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪ','ʾ',32+4)<>IDYES then Exit; + try + ADOQueryCmd.Connection.BeginTrans; + CDS_AnPai.DisableControls; + with CDS_AnPai do + begin + while CDS_AnPai.FieldByName('SSel').AsBoolean=True do + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYCon_Sub_AnPai '); + sql.Add(' where APId='''+Trim(CDS_AnPai.fieldbyname('APID').AsString)+''''); + ExecSQL; + end; + //¼ӹ + with ADOQueryCmd do + begin + Close; + SQL.Clear; + SQL.Add(' select Count(*) TaiQty from '); + sql.Add('(select distinct(CarNo) CarNo from [JYCon_Sub_AnPai] where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add(' and SCPerson='''+Trim(CDS_AnPai.fieldbyname('SCPerson').AsString)+''''); + SQL.Add(' and APDate='''+Trim(CDS_AnPai.fieldbyname('APDate').AsString)+''') AA'); + //ShowMessage(sql.Text); + Open; + end; + TaiQty:=Trim(ADOQueryCmd.fieldbyname('TaiQty').AsString); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add(' select isnull(Max(DEFFlt1),0) TaiQtyMax,isnull(Min(DEFFlt1),0) TaiQtyMin '); + sql.Add(' from [KH_Zdy_Attachment] where ZdyName='''+Trim(Order_Main.fieldbyname('C_CodeName').AsString)+''''); + Open; + end; + if ADOQueryTemp.FieldByName('TaiQtyMax').AsInteger=0 then + begin + ADOQueryCmd.Connection.RollbackTrans; + CDS_AnPai.EnableControls; + Application.MessageBox('ӹδ!','ʾ',0); + Exit; + end else + begin + TaiQtyMax:=ADOQueryTemp.fieldbyname('TaiQtyMax').AsString; + TaiQtyMin:=ADOQueryTemp.fieldbyname('TaiQtyMin').AsString; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1 * from [KH_Zdy_Attachment] where ZdyName='''+Trim(Order_Main.fieldbyname('C_CodeName').AsString)+''''); + sql.Add(' and DEFFlt1='+TaiQty); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYCon_Sub_AnPai Set JGPrice='+ADOQueryTemp.fieldbyname('DEFFlt3').AsString); + sql.Add(' where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add(' and SCPerson='''+Trim(CDS_AnPai.fieldbyname('SCPerson').AsString)+''''); + SQL.Add(' and APDate='''+Trim(CDS_AnPai.fieldbyname('APDate').AsString)+''''); + ExecSQL; + end; + end else + begin + if StrToInt(TaiQty)'+TaiQty); + sql.Add(' )where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add(' and SCPerson='''+Trim(CDS_AnPai.fieldbyname('SCPerson').AsString)+''''); + SQL.Add(' and APDate='''+Trim(CDS_AnPai.fieldbyname('APDate').AsString)+''''); + ExecSQL; + end; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYCon_Sub_AnPai Set JGPrice='); + sql.Add('(select Top 1 DEFFlt3 from KH_Zdy_Attachment where ZdyName='''+Trim(Order_Main.fieldbyname('C_CodeName').AsString)+''''); + sql.Add(' and DEFFlt1='+TaiQtyMax); + sql.Add(' )where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add(' and SCPerson='''+Trim(CDS_AnPai.fieldbyname('SCPerson').AsString)+''''); + SQL.Add(' and APDate='''+Trim(CDS_AnPai.fieldbyname('APDate').AsString)+''''); + ExecSQL; + end; + end; + end; + //¼ӹ + CDS_AnPai.Delete; + end; + end; + CDS_AnPai.EnableControls; + + ADOQueryCmd.Connection.CommitTrans; + except + ADOQueryCmd.Connection.RollbackTrans; + CDS_AnPai.EnableControls; + Application.MessageBox('ʧ!','ʾ',0); + Exit; + end; +end; + +procedure TfrmClothSCListZDSel.MainIdTMKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec ClothContract_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and substring(OM.MainId,3,10)='''+Trim(MainIdTM.Text)+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + MainIdTM.Text:=''; + end; +end; + +procedure TfrmClothSCListZDSel.ToolButton1Click(Sender: TObject); +begin + ModalResult:=1; +end; + +end. diff --git a/打卷检验管理/U_ConInPut.dfm b/打卷检验管理/U_ConInPut.dfm new file mode 100644 index 0000000..9ec0320 --- /dev/null +++ b/打卷检验管理/U_ConInPut.dfm @@ -0,0 +1,1434 @@ +object frmConInPut: TfrmConInPut + Left = 240 + Top = 39 + Width = 957 + Height = 659 + Caption = #22806#38144#21512#21516#24405#20837 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnCreate = FormCreate + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 949 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = TBSaveClick + end + object TBClose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object ScrollBox1: TScrollBox + Left = 0 + Top = 29 + Width = 949 + Height = 324 + Align = alTop + BevelInner = bvNone + BevelOuter = bvNone + Color = clBtnFace + Ctl3D = False + ParentColor = False + ParentCtl3D = False + TabOrder = 1 + object Label3: TLabel + Left = 674 + Top = 12 + Width = 65 + Height = 12 + Caption = #21046#21333#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 674 + Top = 36 + Width = 65 + Height = 12 + Caption = #20132#36135#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 247 + Top = 36 + Width = 65 + Height = 12 + Caption = #35013#33337#21475#23736#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 463 + Top = 12 + Width = 66 + Height = 12 + Caption = #19994' '#21153' '#21592#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 31 + Top = 12 + Width = 66 + Height = 12 + Caption = #21512' '#21516' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 31 + Top = 68 + Width = 65 + Height = 12 + Caption = #20132#26399#35828#26126#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label14: TLabel + Left = 247 + Top = 12 + Width = 67 + Height = 12 + Caption = #23458' '#25143#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label20: TLabel + Left = 31 + Top = 182 + Width = 65 + Height = 12 + Caption = #20844#21496#21488#22836#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 674 + Top = 65 + Width = 65 + Height = 12 + Caption = #20215#26684#26415#35821#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 463 + Top = 142 + Width = 66 + Height = 12 + Caption = #28322' '#30701' '#35013#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label15: TLabel + Left = 463 + Top = 66 + Width = 65 + Height = 12 + Caption = #20184#27454#26041#24335#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label1: TLabel + Left = 463 + Top = 36 + Width = 66 + Height = 12 + Caption = #30446' '#30340' '#22320#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label16: TLabel + Left = 247 + Top = 66 + Width = 65 + Height = 12 + Caption = #36816#36755#26041#24335#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label17: TLabel + Left = 247 + Top = 182 + Width = 65 + Height = 12 + Caption = #20844#21496#22320#22336#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 674 + Top = 182 + Width = 65 + Height = 12 + Caption = #38134#34892#36134#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label19: TLabel + Left = 31 + Top = 210 + Width = 66 + Height = 12 + Caption = #24320' '#25143' '#34892#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label21: TLabel + Left = 463 + Top = 210 + Width = 65 + Height = 12 + Caption = #38134#34892#22320#22336#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label22: TLabel + Left = 71 + Top = 387 + Width = 65 + Height = 12 + Caption = #38134#34892#20195#30721#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label8: TLabel + Left = 31 + Top = 235 + Width = 67 + Height = 12 + Caption = #30005' '#35805#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label23: TLabel + Left = 247 + Top = 235 + Width = 67 + Height = 12 + Caption = #20256' '#30495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label24: TLabel + Left = 63 + Top = 367 + Width = 65 + Height = 12 + Caption = #20013#38388#38134#34892#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label25: TLabel + Left = 35 + Top = 328 + Width = 65 + Height = 12 + Caption = #25104#20221#32534#30721#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clTeal + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label26: TLabel + Left = 455 + Top = 375 + Width = 66 + Height = 12 + Caption = #21518' '#24037' '#33402#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clTeal + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label27: TLabel + Left = 247 + Top = 331 + Width = 65 + Height = 12 + Caption = #25253#20851#21517#31216#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label28: TLabel + Left = 247 + Top = 210 + Width = 65 + Height = 12 + Caption = #38134#34892#20195#30721#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label29: TLabel + Left = 31 + Top = 39 + Width = 39 + Height = 14 + Caption = 'PO#'#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label30: TLabel + Left = 31 + Top = 347 + Width = 59 + Height = 12 + Caption = #25104#20221'%'#27604#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label2: TLabel + Left = 31 + Top = 92 + Width = 66 + Height = 12 + Caption = #25910' '#36135' '#20154#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 239 + Top = 426 + Width = 91 + Height = 12 + Caption = #25910#36135#20844#21496#25260#22836#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label13: TLabel + Left = 247 + Top = 90 + Width = 91 + Height = 12 + Caption = #25910#36135#20844#21496#22320#22336#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label31: TLabel + Left = 674 + Top = 90 + Width = 91 + Height = 12 + Caption = #25910#36135#20844#21496#30005#35805#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label32: TLabel + Left = 31 + Top = 118 + Width = 91 + Height = 12 + Caption = #25910#36135#20844#21496#20256#30495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label33: TLabel + Left = 674 + Top = 446 + Width = 91 + Height = 12 + Caption = #36890#30693#20844#21496#25260#22836#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label34: TLabel + Left = 247 + Top = 142 + Width = 91 + Height = 12 + Caption = #36890#30693#20844#21496#20256#30495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label35: TLabel + Left = 247 + Top = 116 + Width = 66 + Height = 12 + Caption = #36890' '#30693' '#20154#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label36: TLabel + Left = 31 + Top = 142 + Width = 91 + Height = 12 + Caption = #36890#30693#20844#21496#30005#35805#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label37: TLabel + Left = 463 + Top = 114 + Width = 91 + Height = 12 + Caption = #36890#30693#20844#21496#22320#22336#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label38: TLabel + Left = 463 + Top = 235 + Width = 67 + Height = 12 + Caption = #37038' '#20214#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label39: TLabel + Left = 31 + Top = 259 + Width = 91 + Height = 12 + Caption = #20844#21496#27880#20876#22320#22336#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label40: TLabel + Left = 674 + Top = 142 + Width = 65 + Height = 12 + Caption = #23458#25143#31616#31216#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label41: TLabel + Left = 31 + Top = 282 + Width = 46 + Height = 12 + Caption = #22791#27880'1'#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label42: TLabel + Left = 31 + Top = 302 + Width = 46 + Height = 12 + Caption = #22791#27880'2'#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object OrdDate: TDateTimePicker + Tag = 2 + Left = 737 + Top = 8 + Width = 136 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object DlyDate: TDateTimePicker + Tag = 2 + Left = 737 + Top = 32 + Width = 136 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object ConPerson1: TEdit + Tag = 2 + Left = 526 + Top = 9 + Width = 136 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + end + object ConNo: TEdit + Tag = 2 + Left = 97 + Top = 9 + Width = 136 + Height = 18 + Enabled = False + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + Text = #33258#21160#29983#25104 + end + object FromPlace: TBtnEditC + Tag = 2 + Left = 309 + Top = 32 + Width = 136 + Height = 20 + Hint = 'FromPlace/'#35013#33337#21475#23736 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 4 + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object CustomerNoName: TBtnEditC + Tag = 2 + Left = 310 + Top = 8 + Width = 136 + Height = 20 + Hint = 'CustomerNo' + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 5 + OnBtnUpClick = CustomerNoNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object SYRName: TBtnEditC + Tag = 2 + Left = 97 + Top = 178 + Width = 136 + Height = 20 + Hint = 'SYRName/'#20844#21496#21488#22836 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object PriceNote: TBtnEditC + Tag = 2 + Left = 737 + Top = 61 + Width = 136 + Height = 20 + Hint = 'PriceNote/'#20215#26684#26415#35821 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 7 + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object QtyNote: TBtnEditC + Tag = 2 + Left = 529 + Top = 138 + Width = 136 + Height = 20 + Hint = 'QtyNote/'#28322#30701#35013 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 8 + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object Payment: TBtnEditC + Tag = 2 + Left = 528 + Top = 62 + Width = 133 + Height = 20 + Hint = 'Payment/'#20184#27454#26041#24335 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 9 + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object ToPlace: TBtnEditC + Tag = 2 + Left = 526 + Top = 32 + Width = 136 + Height = 20 + Hint = 'ToPlace/'#30446#30340#22320 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 10 + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object ShippMent: TBtnEditC + Tag = 2 + Left = 309 + Top = 62 + Width = 136 + Height = 20 + Hint = 'ShippMent/'#36816#36755#26041#24335 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 11 + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object BankNo: TBtnEditC + Tag = 2 + Left = 737 + Top = 178 + Width = 136 + Height = 20 + Hint = 'BankNo/'#38134#34892#36134#21495 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 12 + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object SYRAddress: TEdit + Tag = 2 + Left = 310 + Top = 179 + Width = 350 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 13 + end + object BankName: TEdit + Tag = 2 + Left = 97 + Top = 207 + Width = 136 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 14 + end + object BankAddress: TEdit + Tag = 2 + Left = 526 + Top = 207 + Width = 348 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 15 + end + object BankFastNo: TEdit + Tag = 2 + Left = 137 + Top = 392 + Width = 352 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 16 + Visible = False + end + object TelNo: TEdit + Tag = 2 + Left = 97 + Top = 232 + Width = 135 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 17 + end + object FaxNo: TEdit + Tag = 2 + Left = 310 + Top = 232 + Width = 139 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 18 + end + object DlyNote: TBtnEditC + Tag = 2 + Left = 97 + Top = 64 + Width = 136 + Height = 20 + Hint = 'DlyNote/'#20132#26399#35828#26126 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 19 + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MidBank: TBtnEditC + Tag = 2 + Left = 129 + Top = 367 + Width = 352 + Height = 20 + Hint = 'MidBank/'#20013#38388#38134#34892 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 20 + Visible = False + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object CPTanLi: TCheckBox + Left = 187 + Top = 381 + Width = 58 + Height = 17 + Caption = #24377' '#21147 + Font.Charset = GB2312_CHARSET + Font.Color = clTeal + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 21 + Visible = False + OnClick = CPTanLiClick + end + object CPRanYin: TRadioGroup + Left = 302 + Top = 363 + Width = 140 + Height = 38 + Columns = 3 + Font.Charset = GB2312_CHARSET + Font.Color = clTeal + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ItemIndex = 0 + Items.Strings = ( + #26579#33394 + #21360#33457 + #26080) + ParentFont = False + TabOrder = 22 + Visible = False + OnClick = CPRanYinClick + end + object CPRanHouGY: TBtnEditC + Tag = 2 + Left = 521 + Top = 375 + Width = 136 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 23 + Visible = False + OnChange = CPRanHouGYChange + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = CPRanHouGYBtnUpClick + OnBtnDnClick = CPRanHouGYBtnDnClick + end + object CPType: TRadioGroup + Left = 746 + Top = 363 + Width = 195 + Height = 38 + Columns = 2 + Font.Charset = GB2312_CHARSET + Font.Color = clTeal + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ItemIndex = 0 + Items.Strings = ( + #38024#32455#24067 + #26797#32455#24067) + ParentFont = False + TabOrder = 24 + Visible = False + OnClick = CPTypeClick + end + object CPZHName: TEdit + Tag = 2 + Left = 308 + Top = 336 + Width = 354 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 25 + Visible = False + end + object CPCFNo: TEdit + Tag = 2 + Left = 97 + Top = 324 + Width = 136 + Height = 18 + CharCase = ecUpperCase + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 26 + Visible = False + OnChange = CPCFNoChange + OnDblClick = CPCFNoDblClick + OnKeyPress = CPCFNoKeyPress + end + object BankSelfFastNo: TEdit + Tag = 2 + Left = 310 + Top = 207 + Width = 136 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 27 + end + object KHConNo: TEdit + Tag = 2 + Left = 97 + Top = 36 + Width = 136 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 28 + end + object CPCFBi: TEdit + Tag = 2 + Left = 101 + Top = 344 + Width = 136 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 29 + Visible = False + end + object ConPerson2: TBtnEditC + Tag = 2 + Left = 97 + Top = 88 + Width = 136 + Height = 20 + Hint = 'ConPerson2/'#25910#36135#20154 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 30 + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object conDefstr1: TEdit + Tag = 2 + Left = 326 + Top = 423 + Width = 115 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 31 + Visible = False + end + object conDefstr2: TEdit + Tag = 2 + Left = 338 + Top = 87 + Width = 323 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 32 + end + object conDefstr3: TEdit + Tag = 2 + Left = 764 + Top = 87 + Width = 109 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 33 + end + object conDefstr4: TEdit + Tag = 2 + Left = 118 + Top = 115 + Width = 115 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 34 + end + object conDefstr8: TEdit + Tag = 2 + Left = 326 + Top = 139 + Width = 119 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 35 + end + object conDefstr7: TEdit + Tag = 2 + Left = 116 + Top = 139 + Width = 117 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 36 + end + object conDefstr5: TEdit + Tag = 2 + Left = 758 + Top = 443 + Width = 119 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 37 + Visible = False + end + object ConPerson3: TBtnEditC + Tag = 2 + Left = 310 + Top = 112 + Width = 136 + Height = 20 + Hint = 'ConPerson3/'#36890#30693#20154 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 38 + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object conDefstr6: TEdit + Tag = 2 + Left = 550 + Top = 111 + Width = 323 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 39 + end + object EmailNo: TEdit + Tag = 2 + Left = 526 + Top = 232 + Width = 139 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 40 + end + object condefNote1: TEdit + Tag = 2 + Left = 120 + Top = 256 + Width = 757 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 41 + end + object condefstr10: TEdit + Tag = 2 + Left = 737 + Top = 137 + Width = 137 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 42 + end + object condefnote2: TEdit + Tag = 2 + Left = 96 + Top = 280 + Width = 781 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 43 + end + object condefnote3: TEdit + Tag = 2 + Left = 96 + Top = 300 + Width = 781 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 44 + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 353 + Width = 949 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 2 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 126 + Top = 0 + Caption = #19968#38190#26367#25442 + ImageIndex = 104 + OnClick = ToolButton3Click + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 382 + Width = 949 + Height = 239 + Align = alTop + TabOrder = 3 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + Column = v1PRTOrderQty + end + item + Format = '0' + Position = spFooter + Column = v1PRTPrice + end + item + Format = '0' + Position = spFooter + Column = v1Column2 + end + item + Format = '0' + Position = spFooter + Column = v1Column4 + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1XHNo: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'XHNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 35 + end + object v1Column5: TcxGridDBColumn + Caption = #33521#25991#21697#21517 + DataBinding.FieldName = 'PrtCodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column5PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 92 + end + object v1Column6: TcxGridDBColumn + Caption = #35268#26684#25104#20221 + DataBinding.FieldName = 'PRTspec' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = False + Properties.OnButtonClick = v1PRTColorPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 90 + end + object v1Column1: TcxGridDBColumn + Caption = #39068#33394#33521#25991 + DataBinding.FieldName = 'SOrdDefStr4' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v1Column3: TcxGridDBColumn + Caption = #33457#22411#33457#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.FonePurple + Width = 59 + end + object v1Column7: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'PRTMF' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column7PropertiesButtonClick + HeaderAlignmentHorz = taCenter + end + object v1Column8: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'PRTKZ' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column8PropertiesButtonClick + HeaderAlignmentHorz = taCenter + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1PRTOrderQtyPropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1OrderUnitPropertiesButtonClick + Properties.OnEditValueChanged = v1OrderUnitPropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object v1PRTPrice: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'PRTPrice' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1PRTPricePropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 64 + end + object v1PriceUnit: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1PriceUnitPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1Column2: TcxGridDBColumn + Caption = #20844#26020#25968#37327 + DataBinding.FieldName = 'KgQty' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 86 + end + object v1Column4: TcxGridDBColumn + Caption = #20844#26020#21333#20215 + DataBinding.FieldName = 'KgPrice' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 69 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object ADOTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1008 + Top = 181 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 1008 + Top = 141 + end + object DataSource1: TDataSource + DataSet = Order_Sub + Left = 1016 + Top = 368 + end + object Order_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 1000 + Top = 352 + end + object ADOQuery1: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 1016 + Top = 125 + end + object CDS_Type: TClientDataSet + Aggregates = <> + Params = <> + Left = 1084 + Top = 208 + end +end diff --git a/打卷检验管理/U_ConInPut.pas b/打卷检验管理/U_ConInPut.pas new file mode 100644 index 0000000..1b61930 --- /dev/null +++ b/打卷检验管理/U_ConInPut.pas @@ -0,0 +1,1610 @@ +unit U_ConInPut; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxClasses, cxControls, + cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, + cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, + ExtCtrls, BtnEdit, cxCalendar,StrUtils; + +type + TfrmConInPut = class(TForm) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ScrollBox1: TScrollBox; + Label3: TLabel; + OrdDate: TDateTimePicker; + Label4: TLabel; + DlyDate: TDateTimePicker; + Label7: TLabel; + ToolBar2: TToolBar; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + v1PRTColor: TcxGridDBColumn; + v1PRTPrice: TcxGridDBColumn; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + DataSource1: TDataSource; + Order_Sub: TClientDataSet; + ADOQuery1: TADOQuery; + v1PRTOrderQty: TcxGridDBColumn; + Label9: TLabel; + ConPerson1: TEdit; + Label10: TLabel; + ConNo: TEdit; + Label11: TLabel; + Label14: TLabel; + Label20: TLabel; + FromPlace: TBtnEditC; + CustomerNoName: TBtnEditC; + v1XHNo: TcxGridDBColumn; + SYRName: TBtnEditC; + v1OrderUnit: TcxGridDBColumn; + v1PriceUnit: TcxGridDBColumn; + Label5: TLabel; + PriceNote: TBtnEditC; + Label6: TLabel; + QtyNote: TBtnEditC; + Label15: TLabel; + Payment: TBtnEditC; + Label1: TLabel; + ToPlace: TBtnEditC; + Label16: TLabel; + ShippMent: TBtnEditC; + Label17: TLabel; + Label18: TLabel; + BankNo: TBtnEditC; + SYRAddress: TEdit; + Label19: TLabel; + BankName: TEdit; + Label21: TLabel; + BankAddress: TEdit; + Label22: TLabel; + BankFastNo: TEdit; + ToolButton3: TToolButton; + v1Column1: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + Label8: TLabel; + TelNo: TEdit; + Label23: TLabel; + FaxNo: TEdit; + Label24: TLabel; + DlyNote: TBtnEditC; + MidBank: TBtnEditC; + Label25: TLabel; + CPTanLi: TCheckBox; + CPRanYin: TRadioGroup; + Label26: TLabel; + CPRanHouGY: TBtnEditC; + CPType: TRadioGroup; + Label27: TLabel; + CPZHName: TEdit; + CDS_Type: TClientDataSet; + CPCFNo: TEdit; + Label28: TLabel; + BankSelfFastNo: TEdit; + Label29: TLabel; + KHConNo: TEdit; + Label30: TLabel; + CPCFBi: TEdit; + v1Column2: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + ConPerson2: TBtnEditC; + Label2: TLabel; + conDefstr1: TEdit; + Label12: TLabel; + conDefstr2: TEdit; + Label13: TLabel; + Label31: TLabel; + conDefstr3: TEdit; + conDefstr4: TEdit; + Label32: TLabel; + conDefstr8: TEdit; + conDefstr7: TEdit; + Label33: TLabel; + Label34: TLabel; + conDefstr5: TEdit; + ConPerson3: TBtnEditC; + Label35: TLabel; + Label36: TLabel; + Label37: TLabel; + conDefstr6: TEdit; + EmailNo: TEdit; + Label38: TLabel; + Label39: TLabel; + condefNote1: TEdit; + condefstr10: TEdit; + Label40: TLabel; + Label41: TLabel; + Label42: TLabel; + condefnote2: TEdit; + condefnote3: TEdit; + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure CustomerNoNameBtnUpClick(Sender: TObject); + procedure CustomerNoNameBtnDnClick(Sender: TObject); + procedure v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PriceUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure SYRNameBtnUpClick(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure CPCFNoDblClick(Sender: TObject); + procedure CPCFNoKeyPress(Sender: TObject; var Key: Char); + procedure CPRanHouGYBtnUpClick(Sender: TObject); + procedure CPTanLiClick(Sender: TObject); + procedure CPRanYinClick(Sender: TObject); + procedure CPTypeClick(Sender: TObject); + procedure CPRanHouGYBtnDnClick(Sender: TObject); + procedure CPRanHouGYChange(Sender: TObject); + procedure CPCFNoChange(Sender: TObject); + procedure v1PRTOrderQtyPropertiesEditValueChanged(Sender: TObject); + procedure v1OrderUnitPropertiesEditValueChanged(Sender: TObject); + procedure v1PRTPricePropertiesEditValueChanged(Sender: TObject); + procedure v1Column5PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column7PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column8PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure FormCreate(Sender: TObject); + private + fusername:string; + procedure InitData(); + + procedure ZDYHelp(FButn:TcxButtonEdit;LType:string); + function SaveData():Boolean; + function SaveDataSubOne():Boolean; + function SaveDataMain():Boolean; + function SaveDataSubMore():Boolean; + procedure GetName(); + { Private declarations } + public + PState,CopyInt:Integer; + FMainId,FFMainId:String; + FXS:Integer; + procedure GetKgQty(); + procedure GetKgPrice(); + { Public declarations } + end; + +var + frmConInPut: TfrmConInPut; + newh:hwnd; +implementation +uses + U_DataLink,U_ZDYHelp,U_Fun,U_ZDYHelpSel; + +{$R *.dfm} + +procedure TfrmConInPut.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ָʾ¼',Tv1,'ָʾ'); +end; + +procedure TfrmConInPut.InitData(); +begin + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from KH_Zdy where Type=''MPRTNameType'' '); + Open; + end; + SCreateCDS20(ADOQuery1,CDS_Type); + SInitCDSData20(ADOQuery1,CDS_Type); + with ADOQuery1 do + begin + Close; + SQL.Clear; + sql.Add(' select * from JYOrderCon_Sub '); + if PState=1 then + begin + sql.Add('where MainId='''+Trim(FMainId)+''''); + end; + if PState=0 then + begin + sql.Add(' where 1<>1'); + end; + Open; + end; + SCreateCDS20(ADOQuery1,Order_Sub); + SInitCDSData20(ADOQuery1,Order_Sub); + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrderCon_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + SCSHDataNew(ADOQuery1,ScrollBox1,2); + if Trim(ADOQuery1.fieldbyname('CPTanLi').AsString)='' then + begin + CPTanLi.Checked:=True; + end else + begin + CPTanLi.Checked:=False; + end; + + if Trim(ADOQuery1.fieldbyname('CPRanYin').AsString)='Ⱦɫ' then + begin + CPRanYin.ItemIndex:=0; + end else + if Trim(ADOQuery1.fieldbyname('CPRanYin').AsString)='ӡ' then + begin + CPRanYin.ItemIndex:=1; + end else + begin + CPRanYin.ItemIndex:=2; + end; + + if Trim(ADOQuery1.fieldbyname('CPType').AsString)='֯' then + begin + CPType.ItemIndex:=0; + end else + if Trim(ADOQuery1.fieldbyname('CPType').AsString)='֯' then + begin + CPType.ItemIndex:=1; + end; + CPZHName.Text:=Trim(ADOQuery1.fieldbyname('CPZHName').AsString); + SYRName.TxtCode:=Trim(ADOQuery1.fieldbyname('ConDefStr2').AsString); + if PState=0 then + begin + OrdDate.DateTime:=SGetServerDateTime(ADOTemp); + DlyDate.DateTime:=SGetServerDateTime(ADOTemp); + ConPerson1.Text:=Trim(DName); + CPZHName.Text:=''; + conNo.Text:='Զ'; + end else + begin + end; + if CopyInt=99 then + begin + PState:=0; + FMainId:=''; + ConPerson1.Text:=Trim(DName); + conNo.Text:='Զ'; + with Order_Sub do + begin + First; + while not Eof do + begin + Edit; + FieldByName('MainId').Value:=''; + FieldByName('SubId').Value:=''; + Post; + Next; + end; + end; + end; +end; + +procedure TfrmConInPut.ZDYHelp(FButn:TcxButtonEdit;LType:string); +var + FType,ZDYName,FText:String; +begin +end; + +procedure TfrmConInPut.FormShow(Sender: TObject); +begin + fuserName:=DCode; + if (trim(DCode)='A1') or (trim(DCode)='A2') then + begin + fuserName:='A'; + end; + readCxGrid('ָʾ¼',Tv1,'ָʾ'); + InitData(); +end; + +function TfrmConInPut.SaveData():Boolean; +var + maxno:String; + fconNO,fmxType:string; + +begin + try + ADOCmd.Connection.BeginTrans; + /// + if Trim(FMainId)='' then + begin + if GetLSNo(ADOCmd,maxno,'JW','JYOrderCon_Main',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + with ADOTemp do + begin + close; + sql.Clear; + sql.Add('exec P_Get_MaxConNo '); + sql.Add(' @MPRTType='''' '); + open; + end; + IF trim(ADOTemp.FieldByName('maxStr').AsString)='XXX' then + begin + // fmxType:=uppercase('BK'+trim(DCode)+trim(condefstr10.Text)+formatdateTime('yy',DServerDate)); + fmxType:=uppercase('BK'+formatdateTime('yy',DServerDate)); + if GetLSNo(ADOCmd,fconNO,fmxType,'JYOrderCon_Main',3,0)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + end + else + fconNO:=trim(ADOTemp.FieldByName('maxStr').AsString); + fconNO:='BK'+trim(fusername)+trim(condefstr10.Text)+Trim(RightBStr(fconNO,Length(fconNO)-2)); + ConNo.Text:=uppercase(fconNO); + end else + begin + maxno:=Trim(FMainId); + end; + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from JYOrderCon_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMainId)='' then + begin + Append; + end + else begin + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + SSetsaveSqlNew(ADOCmd,'JYOrderCon_Main',ScrollBox1,2); + if CPTanLi.Checked=True then + begin + FieldByName('CPTanLi').Value:=''; + end else + begin + FieldByName('CPTanLi').Value:='޵'; + end; + + if CPRanYin.ItemIndex=0 then + begin + FieldByName('CPRanYin').Value:='Ⱦɫ'; + end else + if CPRanYin.ItemIndex=1 then + begin + FieldByName('CPRanYin').Value:='ӡ' + end else if CPRanYin.ItemIndex=0 then + begin + FieldByName('CPRanYin').Value:=''; + end; + + if CPType.ItemIndex=0 then + begin + FieldByName('CPType').Value:='֯'; + end else + if CPType.ItemIndex=1 then + begin + FieldByName('CPType').Value:='֯'; + end; + // FieldByName('ConDefStr2').Value:=Trim(SYRName.TxtCode); + if Trim(FMainId)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + FieldByName('MPRTType').Value:=''; + Post; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrderCon_Main where ConNo='''+Trim(ConNo.Text)+''''); + Open; + end; + if ADOCmd.RecordCount>1 then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ͬظ!','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate JYOrderCon_Main Set Filler='''+Trim(DName)+''''); + sql.Add(' where MainId='''+Trim(FMainId)+''''); + ExecSQL; + end; + FMainId:=Trim(maxno); + ///ӱ + + with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'JB','JYOrderCon_Sub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrderCon_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add(' and SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'JYOrderCon_Sub',0); + if Trim(fieldbyname('PRTOrderQty').AsString)='' then + begin + fieldbyname('PRTOrderQty').Value:=0 + end; + if Trim(fieldbyname('PRTPrice').AsString)='' then + begin + fieldbyname('PRTPrice').Value:=0 + end; + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; +function TfrmConInPut.SaveDataMain():Boolean; +var + maxno:String; +begin + try + ADOCmd.Connection.BeginTrans; + /// + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from JYOrder_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMainId)='' then + begin + Append; + maxno:=Trim(FFMainId); + end + else begin + maxno:=Trim(FMainId); + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + SSetsaveSqlNew(ADOCmd,'JYOrder_Main',ScrollBox1,2); + if PState=1 then + begin + FieldByName('OrdUpDate').Value:=SGetServerDateTime(ADOTemp); + end; + if Trim(FMainId)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + Post; + end; + FMainId:=Trim(maxno); + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; +function TfrmConInPut.SaveDataSubOne():Boolean; +var + maxno:String; +begin + try + ADOCmd.Connection.BeginTrans; + ///ӱ + with Order_Sub do + begin + //First; + //while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'JS','JYOrder_Sub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrder_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add(' and SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'JYOrder_Sub',0); + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxno); + //Order_Sub.Post; + //Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; +function TfrmConInPut.SaveDataSubMore():Boolean; +var + maxno:String; +begin + try + ADOCmd.Connection.BeginTrans; + ///ӱ + with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'JS','JYOrder_Sub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrder_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add(' and SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'JYOrder_Sub',0); + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmConInPut.TBSaveClick(Sender: TObject); +begin + OrdDate.SetFocus; + if Trim(ConNo.Text)='' then + begin + Application.MessageBox('ͬŲΪգ','ʾ',0); + Exit; + end; + if SaveData() then + begin + Application.MessageBox('ɹ','ʾ',0); + end; +end; + +procedure TfrmConInPut.v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdColor'; + flagname:='ɫ'; + V1Name.Caption:=''; + V1Note.Caption:='Ӣ'; + fnote:=True; + MainType:=Trim(DName); + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PRTColor').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + Self.Order_Sub.FieldByName('SOrdDefStr4').Value:=Trim(ClientDataSet1.fieldbyname('Note').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmConInPut.ToolButton1Click(Sender: TObject); +var + i:Integer; +begin + if Trim(ConNo.Text)='' then + begin + Application.MessageBox('ͬŲΪ!','ʾ',0); + Exit; + end; + i:=Order_Sub.RecordCount; + i:=i+1; + CopyAddRow(Tv1,Order_Sub); + with Order_Sub do + begin + Edit; + FieldByName('XHNO').Value:=IntToStr(i); + FieldByName('PRTColor').Value:=''; + FieldByName('PRTOrderQty').Value:=null; + // FieldByName('PRTPrice').Value:=null; + FieldByName('SOrddefstr4').Value:=null; + //FieldByName('SOrddefstr2').Value:=null; + Post; + end; +end; + +procedure TfrmConInPut.ToolButton2Click(Sender: TObject); +begin + if Order_Sub.IsEmpty then Exit; + if Trim(Order_Sub.fieldbyname('SubId').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrderCon_Sub where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; + Order_Sub.Delete; + { if Order_Sub.IsEmpty then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(FMainId)+''''); + ExecSQL; + end; + end; } +end; + +procedure TfrmConInPut.CustomerNoNameBtnUpClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='CustomerNoName'; + flagname:='ͻ'; + if Trim(DParameters1)<>'Ȩ' then + MainType:=Trim(DName); + V1Note.Caption:=''; + fnote:=true; + if ShowModal=1 then + begin + CustomerNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + CustomerNoName.TxtCode:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + condefstr10.Text:=Trim(ClientDataSet1.fieldbyname('note').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmConInPut.CustomerNoNameBtnDnClick(Sender: TObject); +begin + TBtnEditC(Sender).Text:=''; + TBtnEditC(Sender).TxtCode:=''; +end; + +procedure TfrmConInPut.v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +type + TMyFunc = function(App:Tapplication; FormH:hwnd; FormID:integer; + Language: integer; WinStyle:integer; + GCode: Pchar; GName: Pchar; DataBase:Pchar;Title:PChar; + Parameters1:PChar;Parameters2:PChar;Parameters3:PChar;Parameters4:PChar; + Parameters5:PChar;Parameters6:PChar;Parameters7:PChar;Parameters8:PChar; + Parameters9:PChar;Parameters10:PChar;DataBaseStr:PChar):hwnd;stdcall; +var + Tf: TMyFunc; + Tp: TFarProc; + Th:Thandle; + LabInt,labname:String; +begin + //if PPInt=2 then Exit; + Ddatabase:=StringOfChar(' ', 32); + Th := LoadLibrary('LabelSet.dll'); + if Th > 0 then + begin + try + Tp := GetProcAddress(Th, 'GetDllForm'); + if Tp <> nil then + begin + Tf := TMyFunc(Tp); + newh:=Tf(Application,0,2,0,0, + PChar(DCode), + PChar(DName), + PChar(Ddatabase), + PChar('ǩģ'), + PChar(''), + PChar(''), + '','','','','','','','',PChar(DConString) + ); + if Trim(PChar(Ddatabase))<>'' then + begin + Ddatabase:=Trim(PChar(Ddatabase)); + LabInt:=Trim( LeftBStr(Ddatabase,Pos('|',Ddatabase)-1) ) ; + labname:=Trim(RightBStr(Ddatabase,Length(Ddatabase)-Pos('|',Ddatabase) ) ); + with Order_Sub do + begin + Edit; + FieldByName('SLbName').Value:=labname; + FieldByName('SLbInt').Value:=LabInt; + end; + end; + end + else + begin + ShowMessage('ӡִд'); + end; + finally + // FreeLibrary(); + end; + end + else + begin + ShowMessage('Ҳ'+Trim('LabelSet.dll')); + end; + +end; + +procedure TfrmConInPut.v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +var + mvalue,FMF,FKZ,FXS,FOrdUnit:string; + FReal:Double; +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrderUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('OrderUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + //FOrdUnit:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; + GetKgQty(); + GetKgPrice(); + { if Trim(FOrdUnit)<>'M' then + begin + if Trim(FOrdUnit)<>'Y' then + begin + if Trim(FOrdUnit)='Kg' then + begin + Order_Sub.Edit; + Order_Sub.FieldByName('KgQty').Value:=Order_Sub.FieldByName('PRTOrderQty').Value; + end else + begin + Order_Sub.Edit; + Order_Sub.FieldByName('KgQty').Value:=null; + end; + Exit; + end; + end; + if Trim(MPRTMF.Text)='' then + begin + Application.MessageBox('ŷΪ!','ʾ',0); + Exit; + end; + if Trim(MPRTKZ.Text)='' then + begin + Application.MessageBox('زΪ!','ʾ',0); + Exit; + end; + FMF:=Copy(Trim(MPRTMF.Text),Pos('/',Trim(MPRTMF.Text))+1,2); + if TryStrToFloat(FMF,FReal)=False then + begin + Application.MessageBox('ŷ¼!','ʾ',0); + Exit; + end; + FKZ:=Copy(Trim(MPRTKZ.Text),1,Pos('g',Trim(MPRTKZ.Text))-1); + if TryStrToFloat(FKZ,FReal)=False then + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + if Trim(FOrdUnit)='M' then + begin + FXS:='1'; + end else + begin + FXS:='0.9144'; + end; + + with Order_Sub do + begin + Edit; + FieldByName('KgQty').Value:=Order_Sub.fieldbyname('PRTOrderQty').Value + *strtofloat(FXS)*strtofloat(FMF)*2.54/100*strtofloat(FKZ)/1000; + //Post; + end; } +end; +procedure TfrmConInPut.GetKgQty(); +var + mvalue,FMF,FKZ,FXS,FOrdUnit,FOrdQty:string; + FReal:Double; +begin +{ FOrdUnit:=Trim(Order_Sub.fieldbyname('OrderUnit').AsString); + if Trim(FOrdUnit)<>'M' then + begin + if Trim(FOrdUnit)<>'Y' then + begin + if Trim(FOrdUnit)='Kg' then + begin + Order_Sub.Edit; + Order_Sub.FieldByName('KgQty').Value:=Order_Sub.FieldByName('PRTOrderQty').Value; + end else + begin + Order_Sub.Edit; + Order_Sub.FieldByName('KgQty').Value:=null; + end; + Exit; + end; + end; + + + + if Pos('-',Trim(MPRTKZ.Text))>0 then + begin + if Pos('g',Trim(MPRTKZ.Text))>0 then + FKZ:=Copy(Trim(MPRTKZ.Text),Pos('-',Trim(MPRTKZ.Text))+1,Pos('g',Trim(MPRTKZ.Text))-Pos('-',Trim(MPRTKZ.Text))-1); + if Pos('G',Trim(MPRTKZ.Text))>0 then + FKZ:=Copy(Trim(MPRTKZ.Text),Pos('-',Trim(MPRTKZ.Text))+1,Pos('G',Trim(MPRTKZ.Text))-Pos('-',Trim(MPRTKZ.Text))-1); + end else + begin + if Pos('g',Trim(MPRTKZ.Text))>0 then + FKZ:=Copy(Trim(MPRTKZ.Text),1,Pos('g',Trim(MPRTKZ.Text))-1); + if Pos('G',Trim(MPRTKZ.Text))>0 then + FKZ:=Copy(Trim(MPRTKZ.Text),1,Pos('G',Trim(MPRTKZ.Text))-1); + end; + if TryStrToFloat(FKZ,FReal)=False then + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + if Trim(FOrdUnit)='M' then + begin + FXS:='1'; + end else + begin + FXS:='0.9144'; + end; + FOrdQty:=Order_Sub.fieldbyname('PRTOrderQty').AsString; + if Trim(FOrdQty)='' then + FOrdQty:='0'; + with Order_Sub do + begin + Edit; + FieldByName('KgQty').Value:=strtofloat(FOrdQty) + *strtofloat(FXS)*strtofloat(FMF)*2.54/100*strtofloat(FKZ)/1000; + //Post; + end; } +end; +procedure TfrmConInPut.GetKgPrice(); +var + mvalue,FMF,FKZ,FXS,FOrdUnit,FOrdPrice:string; + FReal:Double; +begin + { FOrdUnit:=Trim(Order_Sub.fieldbyname('OrderUnit').AsString); + if Trim(FOrdUnit)<>'M' then + begin + if Trim(FOrdUnit)<>'Y' then + begin + if Trim(FOrdUnit)='Kg' then + begin + Order_Sub.Edit; + Order_Sub.FieldByName('KgPrice').Value:=Order_Sub.FieldByName('PRTPrice').Value; + end else + begin + Order_Sub.Edit; + Order_Sub.FieldByName('KgPrice').Value:=null; + end; + Exit; + end; + end; + if Trim(MPRTMF.Text)='' then + begin + Application.MessageBox('ŷΪ!','ʾ',0); + Exit; + end; + if Trim(MPRTKZ.Text)='' then + begin + Application.MessageBox('زΪ!','ʾ',0); + Exit; + end; + //FMF:=Copy(Trim(MPRTMF.Text),Pos('/',Trim(MPRTMF.Text))+1,2); + if Pos('/',Trim(MPRTMF.Text))>0 then + begin + FMF:=Copy(Trim(MPRTMF.Text),Pos('/',Trim(MPRTMF.Text))+1,2); + end else + FMF:=Copy(Trim(MPRTMF.Text),1,2); + if TryStrToFloat(FMF,FReal)=False then + begin + Application.MessageBox('ŷ¼!','ʾ',0); + Exit; + end; + {FKZ:=Copy(Trim(MPRTKZ.Text),1,Pos('g',Trim(MPRTKZ.Text))-1); + if TryStrToFloat(FKZ,FReal)=False then + begin + FKZ:=Copy(Trim(MPRTKZ.Text),1,Pos('G',Trim(MPRTKZ.Text))-1); + if TryStrToFloat(FKZ,FReal)=False then + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + end; + if Pos('-',Trim(MPRTKZ.Text))>0 then + begin + if Pos('g',Trim(MPRTKZ.Text))>0 then + FKZ:=Copy(Trim(MPRTKZ.Text),Pos('-',Trim(MPRTKZ.Text))+1,Pos('g',Trim(MPRTKZ.Text))-Pos('-',Trim(MPRTKZ.Text))-1); + if Pos('G',Trim(MPRTKZ.Text))>0 then + FKZ:=Copy(Trim(MPRTKZ.Text),Pos('-',Trim(MPRTKZ.Text))+1,Pos('G',Trim(MPRTKZ.Text))-Pos('-',Trim(MPRTKZ.Text))-1); + end else + begin + if Pos('g',Trim(MPRTKZ.Text))>0 then + FKZ:=Copy(Trim(MPRTKZ.Text),1,Pos('g',Trim(MPRTKZ.Text))-1); + if Pos('G',Trim(MPRTKZ.Text))>0 then + FKZ:=Copy(Trim(MPRTKZ.Text),1,Pos('G',Trim(MPRTKZ.Text))-1); + end; + if TryStrToFloat(FKZ,FReal)=False then + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + if Trim(FOrdUnit)='M' then + begin + FXS:='1'; + end else + begin + FXS:='0.9144'; + end; + FOrdPrice:=Order_Sub.fieldbyname('PRTPrice').AsString; + if Trim(FOrdPrice)='' then + FOrdPrice:='0'; + with Order_Sub do + begin + Edit; + FieldByName('KgPrice').Value:=1.00/(strtofloat(FXS)*strtofloat(FMF)*2.54/100*strtofloat(FKZ)/1000)*strtofloat(FOrdPrice); + //Post; + end; } +end; + +procedure TfrmConInPut.v1PriceUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='PriceUnit'; + flagname:='۸λ'; + if Trim(DParameters1)<>'Ȩ' then + begin + TBAdd.Visible:=False; + TBEdit.Visible:=False; + TBDel.Visible:=False; + end; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PriceUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmConInPut.SYRNameBtnUpClick(Sender: TObject); +var + fsj:string; + FWZ:Integer; +begin + fsj:=Trim(TEdit(Sender).Hint); + FWZ:=Pos('/',fsj); + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Copy(fsj,1,FWZ-1); + flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); + if Trim(flag)='SYRName' then + begin + flag:='OrdDefStr2'; + V1Name.Caption:=''; + V1Note.Caption:='Ӣ'; + fnote:=True; + { if Trim(DParameters1)<>'Ȩ' then + begin + TBAdd.Visible:=False; + TBEdit.Visible:=false; + TBDel.Visible:=false; + TBSave.Visible:=false; + end; } + end; + if Trim(flag)='BankNo' then + begin + { if Trim(DParameters1)<>'Ȩ' then + begin + TBAdd.Visible:=False; + TBEdit.Visible:=false; + TBDel.Visible:=false; + TBSave.Visible:=false; + end; } + fnote:=True; + end; + + if ShowModal=1 then + begin + if Trim(flag)<>'OrdDefStr2' then + begin + TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + if Trim(flag)='BankNo' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from JYOrderCon_Main where BankNo='''+Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''''); + sql.Add(' and MPRTTYpe='''' '); + sql.Add(' order by FillTime desc'); + Open; + Self.BankName.Text:=Trim(ADOTemp.fieldbyname('BankName').AsString); + Self.BankAddress.Text:=Trim(ADOTemp.fieldbyname('BankAddress').AsString); + Self.BankSelfFastNo.Text:=Trim(ADOTemp.fieldbyname('BankSelfFastNo').AsString); + Self.BankFastNo.Text:=Trim(ADOTemp.fieldbyname('BankFastNo').AsString); + Self.MidBank.Text:=Trim(ADOTemp.fieldbyname('MidBank').AsString); + + end; + end; + end + else + begin + TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('Note').AsString); + SYRName.TxtCode:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from JYOrderCon_Main where SYRName='''+Trim(ClientDataSet1.fieldbyname('Note').AsString)+''''); + sql.Add(' and MPRTTYpe='''' '); + sql.Add(' order by FillTime desc'); + Open; + Self.SYRAddress.Text:=Trim(ADOTemp.fieldbyname('SYRAddress').AsString); + Self.TelNo.Text:=Trim(ADOTemp.fieldbyname('TelNo').AsString); + Self.FaxNo.Text:=Trim(ADOTemp.fieldbyname('FaxNo').AsString); + Self.EmailNo.Text:=Trim(ADOTemp.fieldbyname('EmailNo').AsString); + Self.condefNote1.Text:=Trim(ADOTemp.fieldbyname('condefNote1').AsString); + end; + end; + end; + if flag='MPRTMF' then + begin + if Self.Order_Sub.IsEmpty=False then + begin + with Self.Order_Sub do + begin + First; + while not Eof do + begin + GetKgQty(); + GetKgPrice(); + Next; + end; + end; + + end; + end; + if flag='MPRTKZ' then + begin + if Self.Order_Sub.IsEmpty=False then + begin + with Self.Order_Sub do + begin + First; + while not Eof do + begin + GetKgQty(); + GetKgPrice(); + Next; + end; + end; + end; + end; + end; + finally + frmZDYHelp.Free; + end; + +end; + +procedure TfrmConInPut.ToolButton3Click(Sender: TObject); +begin + if Order_Sub.IsEmpty then Exit; + OneKeyPost(Tv1,Order_Sub); +end; + +procedure TfrmConInPut.CPCFNoDblClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='MPRTNameEngType'; + flagname:='Ʒ'; + V1HelpType.Visible:=True; + V1HelpType.Caption:='д'; + fnote:=True; + V1Name.Caption:='Ӣ'; + V1Note.Caption:='ע'; + if ShowModal=1 then + begin + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from KH_Zdy where Type=''MPRTNameType'' '); + Open; + end; + SCreateCDS20(ADOQuery1,CDS_Type); + SInitCDSData20(ADOQuery1,CDS_Type); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmConInPut.CPCFNoKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + GetName(); + end; +end; +procedure TfrmConInPut.GetName(); +var + fsj,FCPCF,FCPHZName,fsjhelp:String; + i,j,z:Integer; +begin + if Trim(CPCFNo.Text)='' then + begin + CPZHName.Text:=''; + Exit; + end; + i:=0; + j:=0; + z:=0; + FCPCF:=''; + FCPHZName:=''; + if Trim(CPCFNo.Text)='' then + begin + CPZHName.Text:=''; + end; + fsj:=Trim(CPCFNo.Text); + i:=Pos('/',fsj); + while i>=0 do + begin + fsjhelp:=Copy(fsj,i+1,i+1); + if i>0 then + begin + if Trim(fsjhelp)<>'' then + begin + if Trim(fsjhelp)<>'/' then + begin + FCPCF:=Copy(fsj,1,i-1); + if CDS_Type.Locate('Note',Trim(FCPCF),[]) then + begin + FCPCF:=Trim(CDS_Type.fieldbyname('HelpType').AsString); + FCPHZName:=FCPHZName+FCPCF; + end; + + + fsj:=Copy(fsj,i+1,Length(fsj)); + i:=Pos('/',fsj); + j:=1; + z:=1; + end else + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + end else + begin + if z<>1 then + i:=0 + else begin + FCPCF:=Copy(fsj,1,i-1); + if CDS_Type.Locate('Note',Trim(FCPCF),[]) then + begin + FCPCF:=Trim(CDS_Type.fieldbyname('HelpType').AsString); + FCPHZName:=FCPHZName+FCPCF; + end; + + + fsj:=Copy(fsj,i+1,Length(fsj)); + i:=Pos('/',fsj); + j:=1; + z:=2; + end; + end; + + end else + begin + if j=1 then + begin + if z<>2 then + begin + FCPCF:=Trim(fsj); + if CDS_Type.Locate('Note',Trim(FCPCF),[]) then + begin + FCPCF:=Trim(CDS_Type.fieldbyname('HelpType').AsString); + FCPHZName:=FCPHZName+FCPCF; + end; + + + end else + i:=-1; + + end else + begin + FCPCF:=Trim(fsj); + if CDS_Type.Locate('Note',Trim(FCPCF),[]) then + begin + FCPCF:=Trim(CDS_Type.fieldbyname('ZdyName').AsString); + FCPHZName:=FCPHZName+FCPCF; + end; + + + end; + i:=-1; + end; + end; + if CPType.ItemIndex=0 then + FCPHZName:=FCPHZName+'֯'; + if CPTanLi.Checked=True then + FCPHZName:=FCPHZName+''; + if CPRanYin.ItemIndex=0 then + FCPHZName:=FCPHZName+'Ⱦɫ' + else if CPRanYin.ItemIndex=1 then + FCPHZName:=FCPHZName+'ӡ'; + FCPHZName:=FCPHZName+Trim(CPRanHouGY.Text); + {if CPType.ItemIndex=0 then + FCPHZName:=FCPHZName+'֯' + else if CPType.ItemIndex=1 then + FCPHZName:=FCPHZName+''; } + FCPHZName:=FCPHZName+''; + CPZHName.Text:=Trim(FCPHZName); +end; + + +procedure TfrmConInPut.CPRanHouGYBtnUpClick(Sender: TObject); +begin + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:='CPRanHouGY'; + flagname:=''; + JiangeStr:=99; + if ShowModal=1 then + begin + CPRanHouGY.Text:=Trim(ReturnStr); + GetName(); + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmConInPut.CPTanLiClick(Sender: TObject); +begin + GetName(); +end; + +procedure TfrmConInPut.CPRanYinClick(Sender: TObject); +begin + GetName(); +end; + +procedure TfrmConInPut.CPTypeClick(Sender: TObject); +begin + GetName(); +end; + +procedure TfrmConInPut.CPRanHouGYBtnDnClick(Sender: TObject); +begin + TBtnEditC(Sender).Text:=''; + TBtnEditC(Sender).TxtCode:=''; + GetName(); +end; + +procedure TfrmConInPut.CPRanHouGYChange(Sender: TObject); +begin + GetName(); +end; + +procedure TfrmConInPut.CPCFNoChange(Sender: TObject); +begin + GetName(); +end; + +procedure TfrmConInPut.v1PRTOrderQtyPropertiesEditValueChanged( + Sender: TObject); +var + mvalue,FMF,FKZ,FXS:string; + FReal:Double; +begin + {if Trim(Order_Sub.FieldByName('OrderUnit').AsString)<>'M' then + begin + if Trim(Order_Sub.FieldByName('OrderUnit').AsString)<>'Y' then Exit; + end; + if Trim(MPRTMF.Text)='' then + begin + Application.MessageBox('ŷΪ!','ʾ',0); + Exit; + end; + if Trim(MPRTKZ.Text)='' then + begin + Application.MessageBox('زΪ!','ʾ',0); + Exit; + end; + FMF:=Copy(Trim(MPRTMF.Text),Pos('/',Trim(MPRTMF.Text))+1,2); + if TryStrToFloat(FMF,FReal)=False then + begin + Application.MessageBox('ŷ¼!','ʾ',0); + Exit; + end; + FKZ:=Copy(Trim(MPRTKZ.Text),1,Pos('g',Trim(MPRTKZ.Text))-1); + if TryStrToFloat(FKZ,FReal)=False then + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + if Trim(Order_Sub.FieldByName('OrderUnit').AsString)='M' then + begin + FXS:='1'; + end else + begin + FXS:='0.9144'; + end; } + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(mvalue)='' then + begin + mvalue:='0'; + end; + with Order_Sub do + begin + Edit; + FieldByName('PRTOrderQty').Value:=mvalue; + Post; + end; + {with Order_Sub do + begin + Edit; + FieldByName('KgQty').Value:=Order_Sub.fieldbyname('PRTOrderQty').Value + *strtofloat(FXS)*strtofloat(FMF)*2.54/100*strtofloat(FKZ)/1000; + Post; + end; } + GetKgQty(); +end; + +procedure TfrmConInPut.v1OrderUnitPropertiesEditValueChanged( + Sender: TObject); +var + mvalue:string; +begin + mvalue:=TcxButtonEdit(Sender).EditingText; + with Order_Sub do + begin + Edit; + FieldByName('OrderUnit').Value:=mvalue; + Post; + end; + GetKgQty(); + GetKgPrice(); +end; + +procedure TfrmConInPut.v1PRTPricePropertiesEditValueChanged( + Sender: TObject); +var + mvalue:string; +begin + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(mvalue)='' then + begin + mvalue:='0'; + end; + with Order_Sub do + begin + Edit; + FieldByName('PRTPrice').Value:=mvalue; + Post; + end; + GetKgPrice(); +end; + +procedure TfrmConInPut.v1Column5PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='MPRTCodeName'; + flagname:='Ʒ'; + if ShowModal=1 then + begin + Order_Sub.Edit; + Order_Sub.fieldbyname('PRTCodeName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + Order_Sub.fieldbyname('PRTCode').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + Order_Sub.Post; + end; + end; + finally + frmZDYHelp.Free; + end; + tv1.Controller.EditingController.ShowEdit(); +end; + +procedure TfrmConInPut.v1Column7PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='MPRTMF'; + flagname:='ŷϢ'; + if ShowModal=1 then + begin + Order_Sub.Edit; + Order_Sub.fieldbyname('PRTMF').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + // Order_Sub.fieldbyname('PRTCode').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + Order_Sub.Post; + end; + end; + finally + frmZDYHelp.Free; + end; + tv1.Controller.EditingController.ShowEdit(); +end; + +procedure TfrmConInPut.v1Column8PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='MPRTKZ'; + flagname:='Ϣ'; + if ShowModal=1 then + begin + Order_Sub.Edit; + Order_Sub.fieldbyname('PRTKZ').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + // Order_Sub.fieldbyname('PRTCode').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + Order_Sub.Post; + end; + end; + finally + frmZDYHelp.Free; + end; + tv1.Controller.EditingController.ShowEdit(); +end; + +procedure TfrmConInPut.FormCreate(Sender: TObject); +begin + cxgrid1.Align:=alclient; +end; + +end. diff --git a/打卷检验管理/U_ConInPutNX.dfm b/打卷检验管理/U_ConInPutNX.dfm new file mode 100644 index 0000000..0ddf416 --- /dev/null +++ b/打卷检验管理/U_ConInPutNX.dfm @@ -0,0 +1,1319 @@ +object frmConInPutNX: TfrmConInPutNX + Left = 315 + Top = 35 + Width = 1000 + Height = 664 + Caption = #20869#38144#21512#21516#24405#20837 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 992 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = TBSaveClick + end + object TBClose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object ScrollBox1: TScrollBox + Left = 0 + Top = 29 + Width = 992 + Height = 304 + Align = alTop + BevelInner = bvNone + BevelOuter = bvNone + Color = clBtnFace + Ctl3D = False + ParentColor = False + ParentCtl3D = False + TabOrder = 1 + object Label3: TLabel + Left = 247 + Top = 42 + Width = 65 + Height = 12 + Caption = #31614#35746#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 675 + Top = 42 + Width = 65 + Height = 12 + Caption = #20132#36135#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 463 + Top = 42 + Width = 65 + Height = 12 + Caption = #31614#35746#22320#28857#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 463 + Top = 12 + Width = 66 + Height = 12 + Caption = #19994' '#21153' '#21592#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 34 + Top = 12 + Width = 66 + Height = 12 + Caption = #21512' '#21516' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 98 + Top = 334 + Width = 65 + Height = 12 + Caption = #20132#26399#35828#26126#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label14: TLabel + Left = 247 + Top = 12 + Width = 67 + Height = 12 + Caption = #38656' '#26041#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label20: TLabel + Left = 675 + Top = 12 + Width = 72 + Height = 12 + Caption = #20379#26041'/'#25260#22836#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 27 + Top = 310 + Width = 65 + Height = 12 + Caption = #20135#21697#21517#31216#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label6: TLabel + Left = 463 + Top = 71 + Width = 66 + Height = 12 + Caption = #28322' '#30701' '#35013#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 595 + Top = 364 + Width = 67 + Height = 12 + Caption = #38376' '#24133#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label13: TLabel + Left = 663 + Top = 332 + Width = 67 + Height = 12 + Caption = #20811' '#37325#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label15: TLabel + Left = 34 + Top = 132 + Width = 65 + Height = 12 + Caption = #20184#27454#26041#24335#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label1: TLabel + Left = 34 + Top = 101 + Width = 65 + Height = 12 + Caption = #20132#36135#26041#24335#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label17: TLabel + Left = 35 + Top = 162 + Width = 65 + Height = 12 + Caption = #20379#26041#22320#22336#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 35 + Top = 192 + Width = 65 + Height = 12 + Caption = #20379#26041#36134#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label19: TLabel + Left = 247 + Top = 192 + Width = 78 + Height = 12 + Caption = #20379#26041#24320#25143#34892#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label21: TLabel + Left = 462 + Top = 190 + Width = 65 + Height = 12 + Caption = #38656#26041#22320#22336#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 462 + Top = 160 + Width = 65 + Height = 12 + Caption = #20379#26041#30005#35805#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label23: TLabel + Left = 675 + Top = 160 + Width = 65 + Height = 12 + Caption = #20379#26041#20256#30495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label25: TLabel + Left = 30 + Top = 379 + Width = 65 + Height = 12 + Caption = #25104#20221#32534#30721#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clTeal + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label26: TLabel + Left = 459 + Top = 398 + Width = 66 + Height = 12 + Caption = #21518' '#24037' '#33402#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clTeal + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label27: TLabel + Left = 249 + Top = 418 + Width = 65 + Height = 12 + Caption = #25253#20851#21517#31216#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label5: TLabel + Left = 34 + Top = 71 + Width = 65 + Height = 12 + Caption = #36136#37327#35201#27714#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label16: TLabel + Left = 247 + Top = 101 + Width = 104 + Height = 12 + Caption = #36816#36755#26041#24335#21450#36153#29992#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label28: TLabel + Left = 463 + Top = 101 + Width = 65 + Height = 12 + Caption = #39564#25910#26631#20934#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label29: TLabel + Left = 463 + Top = 132 + Width = 65 + Height = 12 + Caption = #20854#20182#20107#39033#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label22: TLabel + Left = 35 + Top = 222 + Width = 65 + Height = 12 + Caption = #38656#26041#30005#35805#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label24: TLabel + Left = 247 + Top = 222 + Width = 65 + Height = 12 + Caption = #38656#26041#20256#30495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label30: TLabel + Left = 34 + Top = 332 + Width = 65 + Height = 12 + Caption = #35268#26684#22411#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label31: TLabel + Left = 35 + Top = 250 + Width = 67 + Height = 12 + Caption = #22791' '#27880#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label32: TLabel + Left = 30 + Top = 349 + Width = 65 + Height = 12 + Caption = #31169#20154#36134#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label33: TLabel + Left = 30 + Top = 410 + Width = 59 + Height = 12 + Caption = #25104#20221'%'#27604#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label34: TLabel + Left = 34 + Top = 39 + Width = 21 + Height = 12 + Caption = 'PO#' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label35: TLabel + Left = 463 + Top = 222 + Width = 65 + Height = 12 + Caption = #38656#26041#36134#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label36: TLabel + Left = 675 + Top = 218 + Width = 78 + Height = 12 + Caption = #38656#26041#24320#25143#34892#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label37: TLabel + Left = 35 + Top = 278 + Width = 65 + Height = 12 + Caption = #23458#25143#31616#31216#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object OrdDate: TDateTimePicker + Tag = 2 + Left = 310 + Top = 38 + Width = 140 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object DlyDate: TDateTimePicker + Tag = 2 + Left = 738 + Top = 38 + Width = 138 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object ConPerson1: TEdit + Tag = 2 + Left = 526 + Top = 9 + Width = 136 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + end + object ConNo: TEdit + Tag = 2 + Left = 97 + Top = 9 + Width = 136 + Height = 18 + Enabled = False + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + Text = #33258#21160#29983#25104 + end + object FromPlace: TBtnEditC + Tag = 2 + Left = 526 + Top = 38 + Width = 140 + Height = 20 + Hint = 'QianDPlace/'#31614#35746#22320#28857 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 4 + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object CustomerNoName: TBtnEditC + Tag = 2 + Left = 310 + Top = 8 + Width = 140 + Height = 20 + Hint = 'CustomerNo' + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 5 + OnBtnUpClick = CustomerNoNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object SYRName: TBtnEditC + Tag = 2 + Left = 737 + Top = 8 + Width = 136 + Height = 20 + Hint = 'SYRName/'#20379#26041 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTCodeName: TBtnEditC + Tag = 2 + Left = 93 + Top = 430 + Width = 136 + Height = 20 + Hint = 'MPRTCode' + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 7 + Visible = False + OnBtnUpClick = MPRTCodeNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object QtyNote: TBtnEditC + Tag = 2 + Left = 526 + Top = 67 + Width = 347 + Height = 20 + Hint = 'QtyNoteZW/'#28322#30701#35013 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 8 + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTMF: TBtnEditC + Tag = 2 + Left = 666 + Top = 360 + Width = 136 + Height = 20 + Hint = 'MPRTMF/'#38376#24133 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 9 + Visible = False + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTKZ: TBtnEditC + Tag = 2 + Left = 725 + Top = 328 + Width = 136 + Height = 20 + Hint = 'MPRTKZ/'#20811#37325 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 10 + Visible = False + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object Payment: TBtnEditC + Tag = 2 + Left = 97 + Top = 128 + Width = 351 + Height = 20 + Hint = 'PaymentZW/'#20184#27454#26041#24335 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 11 + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object ShippMent: TBtnEditC + Tag = 2 + Left = 97 + Top = 97 + Width = 136 + Height = 20 + Hint = 'ShippMentZW/'#36816#36755#26041#24335 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 12 + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object BankNo: TBtnEditC + Tag = 2 + Left = 98 + Top = 188 + Width = 136 + Height = 20 + Hint = 'BankNo/'#38134#34892#36134#21495 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 13 + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object SYRAddress: TEdit + Tag = 2 + Left = 98 + Top = 159 + Width = 347 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 14 + end + object BankName: TEdit + Tag = 2 + Left = 309 + Top = 189 + Width = 136 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 15 + end + object CTMAddress: TEdit + Tag = 2 + Left = 525 + Top = 187 + Width = 351 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 16 + end + object TelNo: TEdit + Tag = 2 + Left = 525 + Top = 157 + Width = 136 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 17 + end + object FaxNo: TEdit + Tag = 2 + Left = 738 + Top = 157 + Width = 138 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 18 + end + object DlyNote: TBtnEditC + Tag = 2 + Left = 157 + Top = 330 + Width = 256 + Height = 20 + Hint = 'DlyNoteZW/'#20132#26399#35828#26126 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 19 + Visible = False + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object CPTanLi: TCheckBox + Left = 241 + Top = 396 + Width = 58 + Height = 17 + Caption = #24377' '#21147 + Font.Charset = GB2312_CHARSET + Font.Color = clTeal + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 20 + Visible = False + OnClick = CPTanLiClick + end + object CPRanYin: TRadioGroup + Left = 308 + Top = 370 + Width = 140 + Height = 38 + Columns = 3 + Font.Charset = GB2312_CHARSET + Font.Color = clTeal + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ItemIndex = 0 + Items.Strings = ( + #26579#33394 + #21360#33457 + #26080) + ParentFont = False + TabOrder = 21 + Visible = False + OnClick = CPRanYinClick + end + object CPRanHouGY: TBtnEditC + Tag = 2 + Left = 522 + Top = 394 + Width = 136 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 22 + Visible = False + OnChange = CPRanHouGYChange + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = CPRanHouGYBtnUpClick + OnBtnDnClick = CPRanHouGYBtnDnClick + end + object CPType: TRadioGroup + Left = 682 + Top = 382 + Width = 195 + Height = 38 + Columns = 2 + Font.Charset = GB2312_CHARSET + Font.Color = clTeal + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ItemIndex = 0 + Items.Strings = ( + #38024#32455#24067 + #26797#32455#24067) + ParentFont = False + TabOrder = 23 + Visible = False + OnClick = CPTypeClick + end + object CPZHName: TEdit + Tag = 2 + Left = 312 + Top = 415 + Width = 357 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 24 + Visible = False + end + object CPCFNo: TEdit + Tag = 2 + Left = 93 + Top = 375 + Width = 136 + Height = 18 + CharCase = ecUpperCase + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 25 + Visible = False + OnChange = CPCFNoChange + OnDblClick = CPCFNoDblClick + OnKeyPress = CPCFNoKeyPress + end + object ZhiLiangNote: TBtnEditC + Tag = 2 + Left = 97 + Top = 67 + Width = 353 + Height = 20 + Hint = 'ZhiLiangNote/'#36136#37327#35201#27714 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 26 + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object ChuanYangNote: TBtnEditC + Tag = 2 + Left = 348 + Top = 97 + Width = 101 + Height = 20 + Hint = 'ChuanYangNote/'#33337#26679#35828#26126 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 27 + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object YSBiaoZhunNote: TBtnEditC + Tag = 2 + Left = 526 + Top = 97 + Width = 347 + Height = 20 + Hint = 'YSBiaoZhunNote/'#39564#25910#26631#20934 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 28 + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object OtherNote: TBtnEditC + Tag = 2 + Left = 526 + Top = 128 + Width = 347 + Height = 20 + Hint = 'OtherNote/'#20854#20182#20107#39033 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 29 + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object CTMTelNo: TEdit + Tag = 2 + Left = 98 + Top = 218 + Width = 136 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 30 + end + object CTMFaxNo: TEdit + Tag = 2 + Left = 309 + Top = 218 + Width = 136 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 31 + end + object MPRTSpec: TBtnEditC + Tag = 2 + Left = 349 + Top = 316 + Width = 353 + Height = 20 + Hint = 'MPRTSpecNX/'#35268#26684#22411#21495 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 32 + Visible = False + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object Note: TBtnEditC + Tag = 2 + Left = 98 + Top = 246 + Width = 779 + Height = 20 + Hint = 'ConNote/'#22791#27880 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 33 + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object SelfBankNo: TBtnEditC + Tag = 2 + Left = 201 + Top = 354 + Width = 352 + Height = 20 + Hint = 'SelfBankNo/'#31169#20154#36134#21495 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 34 + Visible = False + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object CPCFBi: TEdit + Tag = 2 + Left = 93 + Top = 407 + Width = 136 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 35 + Visible = False + end + object KHConNo: TEdit + Tag = 2 + Left = 97 + Top = 36 + Width = 136 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 36 + end + object CTMBankNo: TBtnEditC + Tag = 2 + Left = 526 + Top = 218 + Width = 136 + Height = 20 + Hint = 'CTMBankNo/'#38134#34892#36134#21495 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 37 + OnDblClick = SYRNameBtnUpClick + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object CTMBankName: TEdit + Tag = 2 + Left = 741 + Top = 214 + Width = 136 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 38 + end + object condefstr10: TEdit + Tag = 2 + Left = 98 + Top = 272 + Width = 137 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 39 + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 333 + Width = 992 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 2 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 126 + Top = 0 + Caption = #19968#38190#26367#25442 + ImageIndex = 104 + OnClick = ToolButton3Click + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 362 + Width = 992 + Height = 268 + Align = alClient + TabOrder = 3 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + Column = v1PRTOrderQty + end + item + Format = '0' + Position = spFooter + Column = v1PRTPrice + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1XHNo: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'XHNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 35 + end + object v1Column4: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'PrtCodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column4PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 126 + end + object v1Column5: TcxGridDBColumn + Caption = #35268#26684#22411#21495 + DataBinding.FieldName = 'prtspec' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = False + Properties.OnButtonClick = v1PRTColorPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 90 + end + object v1Column1: TcxGridDBColumn + Caption = #39068#33394#33521#25991 + DataBinding.FieldName = 'SOrdDefStr4' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v1Column6: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'prtmf' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column6PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column7: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'prtkz' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column7PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column3: TcxGridDBColumn + Caption = #33457#22411#33457#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.FonePurple + Width = 59 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 67 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1OrderUnitPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object v1PRTPrice: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'PRTPrice' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 68 + end + object v1PriceUnit: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1PriceUnitPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object v1Column2: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'SOrdDefNote1' + HeaderAlignmentHorz = taCenter + Width = 113 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object ADOTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1008 + Top = 181 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 1008 + Top = 141 + end + object DataSource1: TDataSource + DataSet = Order_Sub + Left = 1016 + Top = 368 + end + object Order_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 1000 + Top = 352 + end + object ADOQuery1: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 1016 + Top = 125 + end + object CDS_Type: TClientDataSet + Aggregates = <> + Params = <> + Left = 512 + Top = 488 + end +end diff --git a/打卷检验管理/U_ConInPutNX.pas b/打卷检验管理/U_ConInPutNX.pas new file mode 100644 index 0000000..7c0b96c --- /dev/null +++ b/打卷检验管理/U_ConInPutNX.pas @@ -0,0 +1,1279 @@ +unit U_ConInPutNX; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxClasses, cxControls, + cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, + cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, + ExtCtrls, BtnEdit, cxCalendar,StrUtils; + +type + TfrmConInPutNX = class(TForm) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ScrollBox1: TScrollBox; + Label3: TLabel; + OrdDate: TDateTimePicker; + Label4: TLabel; + DlyDate: TDateTimePicker; + Label7: TLabel; + ToolBar2: TToolBar; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + v1PRTColor: TcxGridDBColumn; + v1PRTPrice: TcxGridDBColumn; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + DataSource1: TDataSource; + Order_Sub: TClientDataSet; + ADOQuery1: TADOQuery; + v1PRTOrderQty: TcxGridDBColumn; + Label9: TLabel; + ConPerson1: TEdit; + Label10: TLabel; + ConNo: TEdit; + Label11: TLabel; + Label14: TLabel; + Label20: TLabel; + FromPlace: TBtnEditC; + CustomerNoName: TBtnEditC; + v1XHNo: TcxGridDBColumn; + SYRName: TBtnEditC; + v1OrderUnit: TcxGridDBColumn; + v1PriceUnit: TcxGridDBColumn; + Label2: TLabel; + MPRTCodeName: TBtnEditC; + Label6: TLabel; + QtyNote: TBtnEditC; + Label12: TLabel; + MPRTMF: TBtnEditC; + Label13: TLabel; + MPRTKZ: TBtnEditC; + Label15: TLabel; + Payment: TBtnEditC; + Label1: TLabel; + ShippMent: TBtnEditC; + Label17: TLabel; + Label18: TLabel; + BankNo: TBtnEditC; + SYRAddress: TEdit; + Label19: TLabel; + BankName: TEdit; + Label21: TLabel; + CTMAddress: TEdit; + ToolButton3: TToolButton; + v1Column1: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + Label8: TLabel; + TelNo: TEdit; + Label23: TLabel; + FaxNo: TEdit; + DlyNote: TBtnEditC; + Label25: TLabel; + CPTanLi: TCheckBox; + CPRanYin: TRadioGroup; + Label26: TLabel; + CPRanHouGY: TBtnEditC; + CPType: TRadioGroup; + Label27: TLabel; + CPZHName: TEdit; + CDS_Type: TClientDataSet; + CPCFNo: TEdit; + Label5: TLabel; + ZhiLiangNote: TBtnEditC; + Label16: TLabel; + ChuanYangNote: TBtnEditC; + Label28: TLabel; + YSBiaoZhunNote: TBtnEditC; + Label29: TLabel; + OtherNote: TBtnEditC; + Label22: TLabel; + Label24: TLabel; + CTMTelNo: TEdit; + CTMFaxNo: TEdit; + Label30: TLabel; + MPRTSpec: TBtnEditC; + Label31: TLabel; + Note: TBtnEditC; + Label32: TLabel; + SelfBankNo: TBtnEditC; + Label33: TLabel; + CPCFBi: TEdit; + Label34: TLabel; + KHConNo: TEdit; + Label35: TLabel; + CTMBankNo: TBtnEditC; + Label36: TLabel; + CTMBankName: TEdit; + v1Column2: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + Label37: TLabel; + condefstr10: TEdit; + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure CustomerNoNameBtnUpClick(Sender: TObject); + procedure CustomerNoNameBtnDnClick(Sender: TObject); + procedure v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure MPRTCodeNameBtnUpClick(Sender: TObject); + procedure v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PriceUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure SYRNameBtnUpClick(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure CPCFNoDblClick(Sender: TObject); + procedure CPCFNoKeyPress(Sender: TObject; var Key: Char); + procedure CPRanHouGYBtnUpClick(Sender: TObject); + procedure CPTanLiClick(Sender: TObject); + procedure CPRanYinClick(Sender: TObject); + procedure CPTypeClick(Sender: TObject); + procedure CPRanHouGYBtnDnClick(Sender: TObject); + procedure CPRanHouGYChange(Sender: TObject); + procedure CPCFNoChange(Sender: TObject); + procedure v1Column4PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column6PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column7PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + private + fuserName:string; + procedure InitData(); + procedure ZDYHelp(FButn:TcxButtonEdit;LType:string); + function SaveData():Boolean; + function SaveDataSubOne():Boolean; + function SaveDataMain():Boolean; + function SaveDataSubMore():Boolean; + procedure GetName(); + { Private declarations } + public + PState,CopyInt:Integer; + FMainId,FFMainId:String; + FXS:Integer; + { Public declarations } + end; + +var + frmConInPutNX: TfrmConInPutNX; + newh:hwnd; +implementation +uses + U_DataLink,U_ZDYHelp,U_Fun,U_ZDYHelpSel; + +{$R *.dfm} + +procedure TfrmConInPutNX.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ͬ¼',Tv1,'ָʾ'); +end; + +procedure TfrmConInPutNX.InitData(); +begin + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from KH_Zdy where Type=''MPRTNameType'' '); + Open; + end; + SCreateCDS20(ADOQuery1,CDS_Type); + SInitCDSData20(ADOQuery1,CDS_Type); + with ADOQuery1 do + begin + Close; + SQL.Clear; + sql.Add(' select * from JYOrderCon_Sub '); + if PState=1 then + begin + sql.Add('where MainId='''+Trim(FMainId)+''''); + end; + if PState=0 then + begin + sql.Add(' where 1<>1'); + end; + Open; + end; + SCreateCDS20(ADOQuery1,Order_Sub); + SInitCDSData20(ADOQuery1,Order_Sub); + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrderCon_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + SCSHDataNew(ADOQuery1,ScrollBox1,2); + if Trim(ADOQuery1.fieldbyname('CPTanLi').AsString)='' then + begin + CPTanLi.Checked:=True; + end else + begin + CPTanLi.Checked:=False; + end; + + if Trim(ADOQuery1.fieldbyname('CPRanYin').AsString)='Ⱦɫ' then + begin + CPRanYin.ItemIndex:=0; + end else + if Trim(ADOQuery1.fieldbyname('CPRanYin').AsString)='ӡ' then + begin + CPRanYin.ItemIndex:=1; + end else + begin + CPRanYin.ItemIndex:=2; + end; + + if Trim(ADOQuery1.fieldbyname('CPType').AsString)='֯' then + begin + CPType.ItemIndex:=0; + end else + if Trim(ADOQuery1.fieldbyname('CPType').AsString)='֯' then + begin + CPType.ItemIndex:=1; + end; + CPZHName.Text:=Trim(ADOQuery1.fieldbyname('CPZHName').AsString); + SYRName.TxtCode:=Trim(ADOQuery1.fieldbyname('ConDefStr2').AsString); + if PState=0 then + begin + OrdDate.DateTime:=SGetServerDateTime(ADOTemp); + DlyDate.DateTime:=SGetServerDateTime(ADOTemp); + ConPerson1.Text:=Trim(DName); + CPZHName.Text:=''; + ConNo.Text:='Զ'; + end else + begin + end; + if CopyInt=99 then + begin + PState:=0; + FMainId:=''; + ConPerson1.Text:=Trim(DName); + ConNo.Text:='Զ'; + with Order_Sub do + begin + First; + while not Eof do + begin + Edit; + FieldByName('MainId').Value:=''; + FieldByName('SubId').Value:=''; + Post; + Next; + end; + end; + end; +end; + +procedure TfrmConInPutNX.ZDYHelp(FButn:TcxButtonEdit;LType:string); +var + FType,ZDYName,FText:String; +begin +end; + +procedure TfrmConInPutNX.FormShow(Sender: TObject); +begin + fuserName:=DCode; + if (trim(DCode)='A1') or (trim(DCode)='A2') then + begin + fuserName:='A'; + end; + readCxGrid('ͬ¼',Tv1,'ָʾ'); + InitData(); +end; + +function TfrmConInPutNX.SaveData():Boolean; +var + maxno:String; + fconNO,fmxType:string; +begin + try + ADOCmd.Connection.BeginTrans; + /// + if Trim(FMainId)='' then + begin + if GetLSNo(ADOCmd,maxno,'JN','JYOrderCon_Main',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + with ADOTemp do + begin + close; + sql.Clear; + sql.Add('exec P_Get_MaxConNo '); + sql.Add(' @MPRTType='''' '); + open; + end; + IF trim(ADOTemp.FieldByName('maxStr').AsString)='XXX' then + begin + //fmxType:=uppercase('BQ'+trim(DCode)+trim(condefstr10.Text)+formatdateTime('yy',DServerDate)); + fmxType:=uppercase('BQ'+formatdateTime('yy',DServerDate)); + if GetLSNo(ADOCmd,fconNO,fmxType,'JYOrderCon_Main',3,0)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + end + else + fconNO:=trim(ADOTemp.FieldByName('maxStr').AsString); + + fconNO:='BQ'+trim(fuserName)+trim(condefstr10.Text)+Trim(RightBStr(fconNO,Length(fconNO)-2)); + ConNo.Text:=uppercase(fconNO); + end else + begin + maxno:=Trim(FMainId); + end; + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from JYOrderCon_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMainId)='' then + begin + Append; + end + else begin + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + SSetsaveSqlNew(ADOCmd,'JYOrderCon_Main',ScrollBox1,2); + if CPTanLi.Checked=True then + begin + FieldByName('CPTanLi').Value:=''; + end else + begin + FieldByName('CPTanLi').Value:='޵'; + end; + + if CPRanYin.ItemIndex=0 then + begin + FieldByName('CPRanYin').Value:='Ⱦɫ'; + end else + if CPRanYin.ItemIndex=1 then + begin + FieldByName('CPRanYin').Value:='ӡ' + end else if CPRanYin.ItemIndex=0 then + begin + FieldByName('CPRanYin').Value:=''; + end; + + if CPType.ItemIndex=0 then + begin + FieldByName('CPType').Value:='֯'; + end else + if CPType.ItemIndex=1 then + begin + FieldByName('CPType').Value:='֯'; + end; + FieldByName('ConDefStr2').Value:=Trim(SYRName.TxtCode); + if Trim(FMainId)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + FieldByName('MPRTType').Value:=''; + Post; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrderCon_Main where ConNo='''+Trim(ConNo.Text)+''''); + Open; + end; + if ADOCmd.RecordCount>1 then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ͬظ!','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate JYOrderCon_Main Set Filler='''+Trim(DName)+''''); + sql.Add(' where MainId='''+Trim(FMainId)+''''); + ExecSQL; + end; + FMainId:=Trim(maxno); + ///ӱ + + with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'JB','JYOrderCon_Sub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrderCon_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add(' and SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'JYOrderCon_Sub',0); + if Trim(fieldbyname('PRTOrderQty').AsString)='' then + begin + fieldbyname('PRTOrderQty').Value:=0 + end; + if Trim(fieldbyname('PRTPrice').AsString)='' then + begin + fieldbyname('PRTPrice').Value:=0 + end; + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + + + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; +function TfrmConInPutNX.SaveDataMain():Boolean; +var + maxno:String; +begin + try + ADOCmd.Connection.BeginTrans; + /// + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from JYOrder_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMainId)='' then + begin + Append; + maxno:=Trim(FFMainId); + end + else begin + maxno:=Trim(FMainId); + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + SSetsaveSqlNew(ADOCmd,'JYOrder_Main',ScrollBox1,2); + if PState=1 then + begin + FieldByName('OrdUpDate').Value:=SGetServerDateTime(ADOTemp); + end; + if Trim(FMainId)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + Post; + end; + FMainId:=Trim(maxno); + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; +function TfrmConInPutNX.SaveDataSubOne():Boolean; +var + maxno:String; +begin + try + ADOCmd.Connection.BeginTrans; + ///ӱ + with Order_Sub do + begin + //First; + //while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'JS','JYOrder_Sub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrder_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add(' and SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'JYOrder_Sub',0); + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxno); + //Order_Sub.Post; + //Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; +function TfrmConInPutNX.SaveDataSubMore():Boolean; +var + maxno:String; +begin + try + ADOCmd.Connection.BeginTrans; + ///ӱ + with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'JS','JYOrder_Sub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrder_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add(' and SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'JYOrder_Sub',0); + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmConInPutNX.TBSaveClick(Sender: TObject); +begin + OrdDate.SetFocus; + if Trim(ConNo.Text)='' then + begin + Application.MessageBox('ͬŲΪգ','ʾ',0); + Exit; + end; + if SaveData() then + begin + Application.MessageBox('ɹ','ʾ',0); + end; +end; + +procedure TfrmConInPutNX.v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdColor'; + flagname:='ɫ'; + V1Name.Caption:=''; + V1Note.Caption:='Ӣ'; + fnote:=True; + MainType:=Trim(DName); + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PRTColor').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + Self.Order_Sub.FieldByName('SOrdDefStr4').Value:=Trim(ClientDataSet1.fieldbyname('Note').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmConInPutNX.ToolButton1Click(Sender: TObject); +var + i:Integer; +begin + if Trim(ConNo.Text)='' then + begin + Application.MessageBox('ͬŲΪ!','ʾ',0); + Exit; + end; + i:=Order_Sub.RecordCount; + i:=i+1; + CopyAddRow(Tv1,Order_Sub); + with Order_Sub do + begin + Edit; + FieldByName('XHNO').Value:=IntToStr(i); + FieldByName('PRTColor').Value:=''; + FieldByName('PRTOrderQty').Value:=null; + // FieldByName('PRTPrice').Value:=null; + FieldByName('SOrddefstr4').Value:=null; + //FieldByName('SOrddefstr2').Value:=null; + Post; + end; +end; + +procedure TfrmConInPutNX.ToolButton2Click(Sender: TObject); +begin + if Order_Sub.IsEmpty then Exit; + if Trim(Order_Sub.fieldbyname('SubId').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrderCon_Sub where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; + Order_Sub.Delete; + { if Order_Sub.IsEmpty then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(FMainId)+''''); + ExecSQL; + end; + end; } +end; + +procedure TfrmConInPutNX.CustomerNoNameBtnUpClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='CustomerNoNameNX'; + flagname:='ͻ'; + if Trim(DParameters1)<>'Ȩ' then + MainType:=Trim(DName); + V1Note.Caption:=''; + fnote:=true; + if ShowModal=1 then + begin + CustomerNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + CustomerNoName.TxtCode:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + condefstr10.Text:=Trim(ClientDataSet1.fieldbyname('note').AsString); + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from JYOrderCon_Main where CustomerNoName='''+Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)+''''); + sql.Add(' order by FillTime desc'); + Open; + Self.CTMAddress.Text:=Trim(ADOTemp.fieldbyname('CTMAddress').AsString); + Self.CTMTelNo.Text:=Trim(ADOTemp.fieldbyname('CTMTelNo').AsString); + Self.CTMFaxNo.Text:=Trim(ADOTemp.fieldbyname('CTMFaxNo').AsString); + Self.CTMbankNo.Text:=Trim(ADOTemp.fieldbyname('CTMbankNo').AsString); + Self.CTMbankName.Text:=Trim(ADOTemp.fieldbyname('CTMbankName').AsString); + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmConInPutNX.CustomerNoNameBtnDnClick(Sender: TObject); +begin + TBtnEditC(Sender).Text:=''; + TBtnEditC(Sender).TxtCode:=''; +end; + +procedure TfrmConInPutNX.v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +type + TMyFunc = function(App:Tapplication; FormH:hwnd; FormID:integer; + Language: integer; WinStyle:integer; + GCode: Pchar; GName: Pchar; DataBase:Pchar;Title:PChar; + Parameters1:PChar;Parameters2:PChar;Parameters3:PChar;Parameters4:PChar; + Parameters5:PChar;Parameters6:PChar;Parameters7:PChar;Parameters8:PChar; + Parameters9:PChar;Parameters10:PChar;DataBaseStr:PChar):hwnd;stdcall; +var + Tf: TMyFunc; + Tp: TFarProc; + Th:Thandle; + LabInt,labname:String; +begin + //if PPInt=2 then Exit; + Ddatabase:=StringOfChar(' ', 32); + Th := LoadLibrary('LabelSet.dll'); + if Th > 0 then + begin + try + Tp := GetProcAddress(Th, 'GetDllForm'); + if Tp <> nil then + begin + Tf := TMyFunc(Tp); + newh:=Tf(Application,0,2,0,0, + PChar(DCode), + PChar(DName), + PChar(Ddatabase), + PChar('ǩģ'), + PChar(''), + PChar(''), + '','','','','','','','',PChar(DConString) + ); + if Trim(PChar(Ddatabase))<>'' then + begin + Ddatabase:=Trim(PChar(Ddatabase)); + LabInt:=Trim( LeftBStr(Ddatabase,Pos('|',Ddatabase)-1) ) ; + labname:=Trim(RightBStr(Ddatabase,Length(Ddatabase)-Pos('|',Ddatabase) ) ); + with Order_Sub do + begin + Edit; + FieldByName('SLbName').Value:=labname; + FieldByName('SLbInt').Value:=LabInt; + end; + end; + end + else + begin + ShowMessage('ӡִд'); + end; + finally + // FreeLibrary(); + end; + end + else + begin + ShowMessage('Ҳ'+Trim('LabelSet.dll')); + end; + +end; + +procedure TfrmConInPutNX.MPRTCodeNameBtnUpClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='MPRTCodeNameNX'; + flagname:='Ʒ'; + if ShowModal=1 then + begin + MPRTCodeName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + MPRTCodeName.TxtCode:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmConInPutNX.v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrderUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('OrderUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmConInPutNX.v1PriceUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='PriceUnit'; + flagname:='۸λ'; + if Trim(DParameters1)<>'Ȩ' then + begin + TBAdd.Visible:=False; + TBEdit.Visible:=False; + TBDel.Visible:=False; + end; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PriceUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmConInPutNX.SYRNameBtnUpClick(Sender: TObject); +var + fsj:string; + FWZ:Integer; +begin + fsj:=Trim(TEdit(Sender).Hint); + FWZ:=Pos('/',fsj); + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Copy(fsj,1,FWZ-1); + flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); + if Trim(flag)='SYRName' then + begin + flag:='OrdDefStr2'; + V1Name.Caption:=''; + V1Note.Caption:='Ӣ'; + fnote:=True; + { if Trim(DParameters1)<>'Ȩ' then + begin + TBAdd.Visible:=False; + TBEdit.Visible:=false; + TBDel.Visible:=false; + TBSave.Visible:=false; + end; } + end; + if Trim(flag)='BankNo' then + begin + { if Trim(DParameters1)<>'Ȩ' then + begin + TBAdd.Visible:=False; + TBEdit.Visible:=false; + TBDel.Visible:=false; + TBSave.Visible:=false; + end; } + fnote:=True; + end; + + if ShowModal=1 then + begin + if Trim(flag)<>'OrdDefStr2' then + begin + TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + if Trim(flag)='BankNo' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from JYOrderCon_Main where BankNo='''+Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''''); + sql.Add(' and MPRTTYpe='''' '); + sql.Add(' order by FillTime desc'); + Open; + Self.BankName.Text:=Trim(ADOTemp.fieldbyname('BankName').AsString); + //Self.BankAddress.Text:=Trim(ADOTemp.fieldbyname('BankAddress').AsString); + //Self.BankFastNo.Text:=Trim(ADOTemp.fieldbyname('BankFastNo').AsString); + end; + end; + end + else + begin + TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + //SYRName.TxtCode:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from JYOrderCon_Main where SYRName='''+Trim(ClientDataSet1.fieldbyname('ZdyName').AsString)+''''); + sql.Add(' and MPRTTYpe='''' '); + sql.Add(' order by FillTime desc'); + Open; + Self.SYRAddress.Text:=Trim(ADOTemp.fieldbyname('SYRAddress').AsString); + Self.TelNo.Text:=Trim(ADOTemp.fieldbyname('TelNo').AsString); + Self.FaxNo.Text:=Trim(ADOTemp.fieldbyname('FaxNo').AsString); + end; + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmConInPutNX.ToolButton3Click(Sender: TObject); +begin + if Order_Sub.IsEmpty then Exit; + OneKeyPost(Tv1,Order_Sub); +end; + +procedure TfrmConInPutNX.CPCFNoDblClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='MPRTNameType'; + flagname:='Ʒ'; + V1HelpType.Visible:=True; + V1HelpType.Caption:='д'; + fnote:=True; + V1Name.Caption:=''; + V1Note.Caption:='Ӣ'; + if ShowModal=1 then + begin + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from KH_Zdy where Type=''MPRTNameType'' '); + Open; + end; + SCreateCDS20(ADOQuery1,CDS_Type); + SInitCDSData20(ADOQuery1,CDS_Type); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmConInPutNX.CPCFNoKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + GetName(); + end; +end; +procedure TfrmConInPutNX.GetName(); +var + fsj,FCPCF,FCPHZName,fsjhelp:String; + i,j,z:Integer; +begin + if Trim(CPCFNo.Text)='' then + begin + CPZHName.Text:=''; + Exit; + end; + i:=0; + j:=0; + z:=0; + FCPCF:=''; + FCPHZName:=''; + if Trim(CPCFNo.Text)='' then + begin + CPZHName.Text:=''; + end; + fsj:=Trim(CPCFNo.Text); + i:=Pos('/',fsj); + while i>=0 do + begin + fsjhelp:=Copy(fsj,i+1,i+1); + if i>0 then + begin + if Trim(fsjhelp)<>'' then + begin + if Trim(fsjhelp)<>'/' then + begin + FCPCF:=Copy(fsj,1,i-1); + if CDS_Type.Locate('Note',Trim(FCPCF),[]) then + begin + FCPCF:=Trim(CDS_Type.fieldbyname('HelpType').AsString); + FCPHZName:=FCPHZName+FCPCF; + end; + + + fsj:=Copy(fsj,i+1,Length(fsj)); + i:=Pos('/',fsj); + j:=1; + z:=1; + end else + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + end else + begin + if z<>1 then + i:=0 + else begin + FCPCF:=Copy(fsj,1,i-1); + if CDS_Type.Locate('Note',Trim(FCPCF),[]) then + begin + FCPCF:=Trim(CDS_Type.fieldbyname('HelpType').AsString); + FCPHZName:=FCPHZName+FCPCF; + end; + + + fsj:=Copy(fsj,i+1,Length(fsj)); + i:=Pos('/',fsj); + j:=1; + z:=2; + end; + end; + + end else + begin + if j=1 then + begin + if z<>2 then + begin + FCPCF:=Trim(fsj); + if CDS_Type.Locate('Note',Trim(FCPCF),[]) then + begin + FCPCF:=Trim(CDS_Type.fieldbyname('HelpType').AsString); + FCPHZName:=FCPHZName+FCPCF; + end; + + + end else + i:=-1; + + end else + begin + FCPCF:=Trim(fsj); + if CDS_Type.Locate('Note',Trim(FCPCF),[]) then + begin + FCPCF:=Trim(CDS_Type.fieldbyname('ZdyName').AsString); + FCPHZName:=FCPHZName+FCPCF; + end; + + + end; + i:=-1; + end; + end; + if CPType.ItemIndex=0 then + FCPHZName:=FCPHZName+'֯'; + if CPTanLi.Checked=True then + FCPHZName:=FCPHZName+''; + if CPRanYin.ItemIndex=0 then + FCPHZName:=FCPHZName+'Ⱦɫ' + else if CPRanYin.ItemIndex=1 then + FCPHZName:=FCPHZName+'ӡ'; + FCPHZName:=FCPHZName+Trim(CPRanHouGY.Text); + {if CPType.ItemIndex=0 then + FCPHZName:=FCPHZName+'֯' + else if CPType.ItemIndex=1 then + FCPHZName:=FCPHZName+'';} + FCPHZName:=FCPHZName+''; + CPZHName.Text:=Trim(FCPHZName); +end; + + +procedure TfrmConInPutNX.CPRanHouGYBtnUpClick(Sender: TObject); +begin + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:='CPRanHouGY'; + flagname:=''; + JiangeStr:=99; + if ShowModal=1 then + begin + CPRanHouGY.Text:=Trim(ReturnStr); + GetName(); + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmConInPutNX.CPTanLiClick(Sender: TObject); +begin + GetName(); +end; + +procedure TfrmConInPutNX.CPRanYinClick(Sender: TObject); +begin + GetName(); +end; + +procedure TfrmConInPutNX.CPTypeClick(Sender: TObject); +begin + GetName(); +end; + +procedure TfrmConInPutNX.CPRanHouGYBtnDnClick(Sender: TObject); +begin + TBtnEditC(Sender).Text:=''; + TBtnEditC(Sender).TxtCode:=''; + GetName(); +end; + +procedure TfrmConInPutNX.CPRanHouGYChange(Sender: TObject); +begin + GetName(); +end; + +procedure TfrmConInPutNX.CPCFNoChange(Sender: TObject); +begin + GetName(); +end; + +procedure TfrmConInPutNX.v1Column4PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='MPRTCodeName'; + flagname:='Ʒ'; + if ShowModal=1 then + begin + Order_Sub.Edit; + Order_Sub.fieldbyname('PRTCodeName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + Order_Sub.fieldbyname('PRTCode').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + Order_Sub.Post; + end; + end; + finally + frmZDYHelp.Free; + end; + tv1.Controller.EditingController.ShowEdit(); +end; + +procedure TfrmConInPutNX.v1Column6PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='MPRTMF'; + flagname:='ŷϢ'; + if ShowModal=1 then + begin + Order_Sub.Edit; + Order_Sub.fieldbyname('PRTMF').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + // Order_Sub.fieldbyname('PRTCode').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + Order_Sub.Post; + end; + end; + finally + frmZDYHelp.Free; + end; + tv1.Controller.EditingController.ShowEdit(); +end; + +procedure TfrmConInPutNX.v1Column7PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='MPRTKZ'; + flagname:='Ϣ'; + if ShowModal=1 then + begin + Order_Sub.Edit; + Order_Sub.fieldbyname('PRTKZ').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + // Order_Sub.fieldbyname('PRTCode').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + Order_Sub.Post; + end; + end; + finally + frmZDYHelp.Free; + end; + tv1.Controller.EditingController.ShowEdit(); +end; + +end. diff --git a/打卷检验管理/U_ContractList.dfm b/打卷检验管理/U_ContractList.dfm new file mode 100644 index 0000000..4c6117d --- /dev/null +++ b/打卷检验管理/U_ContractList.dfm @@ -0,0 +1,874 @@ +object frmContractList: TfrmContractList + Left = 71 + Top = 64 + Width = 1253 + Height = 637 + Caption = #35746#21333#21512#21516 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1237 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 107 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object ToolButton4: TToolButton + Left = 126 + Top = 0 + Caption = #20135#21697#31867#21035#23450#20041 + ImageIndex = 58 + Visible = False + OnClick = ToolButton4Click + end + object TBAdd: TToolButton + Left = 233 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 3 + OnClick = TBAddClick + end + object TBEdit: TToolButton + Left = 296 + Top = 0 + AutoSize = True + Caption = #20462#25913 + ImageIndex = 54 + OnClick = TBEditClick + end + object ToolButton2: TToolButton + Left = 359 + Top = 0 + AutoSize = True + Caption = #22797#21046 + ImageIndex = 57 + OnClick = ToolButton2Click + end + object ComboBox1: TComboBox + Left = 422 + Top = 3 + Width = 145 + Height = 24 + DropDownCount = 10 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ItemHeight = 16 + ParentFont = False + TabOrder = 0 + Visible = False + end + object ToolButton1: TToolButton + Left = 567 + Top = 0 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 58 + OnClick = ToolButton1Click + end + object TBDel: TToolButton + Left = 630 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 17 + OnClick = TBDelClick + end + object Tchk: TToolButton + Left = 693 + Top = 0 + AutoSize = True + Caption = #23457#26680 + ImageIndex = 41 + OnClick = TchkClick + end + object Tnochk: TToolButton + Left = 756 + Top = 0 + AutoSize = True + Caption = #25764#38144#23457#26680 + ImageIndex = 86 + Visible = False + OnClick = TnochkClick + end + object TQX: TToolButton + Left = 843 + Top = 0 + AutoSize = True + Caption = #21512#21516#21462#28040 + ImageIndex = 41 + OnClick = TQXClick + end + object TNOQX: TToolButton + Left = 930 + Top = 0 + AutoSize = True + Caption = #25764#38144#21512#21516#21462#28040 + ImageIndex = 86 + OnClick = TNOQXClick + end + object TBExport: TToolButton + Left = 1041 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 1104 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + OnClick = TBPrintClick + end + object TBClose: TToolButton + Left = 1167 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 103 + Width = 1237 + Height = 276 + Align = alTop + TabOrder = 1 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv1CellDblClick + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.OnGetContentStyle = Tv1StylesGetContentStyle + Styles.Header = DataLink_TradeManage.Default + object v1Column4: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + Visible = False + HeaderAlignmentHorz = taCenter + Width = 49 + end + object v1ConNo: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 73 + end + object v1Column3: TcxGridDBColumn + Caption = 'PO#' + DataBinding.FieldName = 'KHConNO' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v1Column1: TcxGridDBColumn + Caption = #20844#21496#21488#22836 + DataBinding.FieldName = 'SYRName' + HeaderAlignmentHorz = taCenter + Width = 119 + end + object v1OrdPerson1: TcxGridDBColumn + Caption = #19994#21153#21592 + DataBinding.FieldName = 'ConPerson1' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 83 + end + object v1CustomerNoName: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 102 + end + object v1OrdDate: TcxGridDBColumn + Caption = #21046#21333#26085#26399 + DataBinding.FieldName = 'OrdDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 120 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DlyDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + OnCustomDrawCell = v1DeliveryDateCustomDrawCell + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 97 + end + object v1MPRTSpec: TcxGridDBColumn + Caption = #20132#26399#35828#26126 + DataBinding.FieldName = 'DlyNote' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 100 + end + object v1OrdDefStr1: TcxGridDBColumn + Caption = #20215#26684#26415#35821 + DataBinding.FieldName = 'PriceNote' + HeaderAlignmentHorz = taCenter + Width = 93 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v1Column2: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object V1ISCG: TcxGridDBColumn + Caption = #22383#24067#26159#21542#24050#37319#36141 + DataBinding.FieldName = 'ISCG' + HeaderAlignmentHorz = taCenter + Width = 96 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1237 + Height = 49 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 2 + object Label1: TLabel + Left = 23 + Top = 15 + Width = 52 + Height = 12 + Caption = #21046#21333#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 295 + Top = 15 + Width = 40 + Height = 12 + Caption = #23458' '#25143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 658 + Top = 15 + Width = 53 + Height = 12 + Caption = #19994' '#21153' '#21592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 458 + Top = 87 + Width = 52 + Height = 12 + Caption = #33521#25991#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 471 + Top = 15 + Width = 39 + Height = 12 + Caption = #21512#21516#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 335 + Top = 83 + Width = 26 + Height = 12 + Caption = #20811#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 335 + Top = 107 + Width = 26 + Height = 12 + Caption = #38376#24133 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 164 + Top = 16 + Width = 6 + Height = 12 + Caption = '-' + end + object Label3: TLabel + Left = 846 + Top = 15 + Width = 21 + Height = 12 + Caption = 'PO#' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 11 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 172 + Top = 11 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object CustomerNoName: TEdit + Tag = 2 + Left = 343 + Top = 11 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnChange = CustomerNoNameChange + OnKeyPress = ConNoKeyPress + end + object ConPerson1: TEdit + Tag = 2 + Left = 719 + Top = 11 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + OnChange = CustomerNoNameChange + OnKeyPress = ConNoKeyPress + end + object MPRTCodeName: TEdit + Tag = 2 + Left = 511 + Top = 83 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnChange = CustomerNoNameChange + end + object ConNo: TEdit + Tag = 2 + Left = 516 + Top = 11 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 5 + OnChange = CustomerNoNameChange + OnKeyPress = ConNoKeyPress + end + object MPRTKZ: TEdit + Tag = 2 + Left = 364 + Top = 79 + Width = 56 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + OnChange = CustomerNoNameChange + end + object MPRTMF: TEdit + Tag = 2 + Left = 364 + Top = 103 + Width = 56 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 7 + OnChange = CustomerNoNameChange + end + object KHConNO: TEdit + Tag = 2 + Left = 875 + Top = 11 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 8 + OnChange = CustomerNoNameChange + OnKeyPress = ConNoKeyPress + end + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 81 + Width = 1237 + Height = 22 + Align = alTop + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + Style = 9 + TabIndex = 0 + TabOrder = 3 + Tabs.Strings = ( + #26410#23457#26680 + #24050#23457#26680 + #24050#21462#28040 + #20840#37096) + OnChange = cxTabControl1Change + ClientRectBottom = 22 + ClientRectRight = 1237 + ClientRectTop = 19 + end + object cxSplitter1: TcxSplitter + Left = 0 + Top = 388 + Width = 1237 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + Control = cxGrid2 + end + object cxGrid2: TcxGrid + Left = 0 + Top = 396 + Width = 1237 + Height = 203 + Align = alBottom + TabOrder = 5 + object TV2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + Column = cxGridDBColumn3 + end + item + Format = '0' + Position = spFooter + Column = v1PRTPrice + end + item + Format = '0' + Position = spFooter + Column = cxGridDBColumn4 + end + item + Format = '0' + Position = spFooter + Column = cxGridDBColumn5 + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = cxGridDBColumn3 + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1Column5: TcxGridDBColumn + Caption = #33521#25991#21697#21517 + DataBinding.FieldName = 'PrtCodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Width = 92 + end + object v1Column6: TcxGridDBColumn + Caption = #35268#26684#25104#20221 + DataBinding.FieldName = 'PRTspec' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = False + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 90 + end + object cxGridDBColumn1: TcxGridDBColumn + Caption = #39068#33394#33521#25991 + DataBinding.FieldName = 'SOrdDefStr4' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #33457#22411#33457#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.FonePurple + Width = 59 + end + object v1Column7: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'PRTMF' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + end + object v1Column8: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'PRTKZ' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object v1PRTPrice: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'PRTPrice' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 64 + end + object v1PriceUnit: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 87 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #20844#26020#25968#37327 + DataBinding.FieldName = 'KgQty' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 86 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #20844#26020#21333#20215 + DataBinding.FieldName = 'KgPrice' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 69 + end + end + object cxGridLevel1: TcxGridLevel + GridView = TV2 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 544 + Top = 176 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 688 + Top = 224 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 552 + Top = 216 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 316 + Top = 232 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 440 + Top = 184 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 464 + Top = 208 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBDataSet1 + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 336 + Top = 200 + ReportData = {} + end + object RMDBDataSet1: TRMDBDataSet + Visible = True + DataSet = CDS_Print + Left = 392 + Top = 200 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 576 + Top = 248 + end + object PopupMenu1: TPopupMenu + Left = 288 + Top = 184 + object N2: TMenuItem + Caption = #26377#20379#24212#21830 + OnClick = N2Click + end + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 360 + Top = 240 + end + object CDS_Print: TClientDataSet + Aggregates = <> + Params = <> + Left = 344 + Top = 288 + end + object PopupMenu2: TPopupMenu + Left = 648 + Top = 168 + object N11: TMenuItem + Caption = #26684#24335'1' + end + object N21: TMenuItem + Caption = #26684#24335'2' + end + object N31: TMenuItem + Caption = #26684#24335'3' + end + end + object ADOQuerySub: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 556 + Top = 416 + end + object DataSource2: TDataSource + DataSet = ADOQuerySub + Left = 488 + Top = 440 + end +end diff --git a/打卷检验管理/U_ContractList.pas b/打卷检验管理/U_ContractList.pas new file mode 100644 index 0000000..767592d --- /dev/null +++ b/打卷检验管理/U_ContractList.pas @@ -0,0 +1,935 @@ +unit U_ContractList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, + Menus, cxPC, cxButtonEdit, cxTextEdit; + +type + TfrmContractList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBAdd: TToolButton; + TBEdit: TToolButton; + TBDel: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + TBExport: TToolButton; + v1OrdDate: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1OrdPerson1: TcxGridDBColumn; + v1ConNo: TcxGridDBColumn; + v1MPRTSpec: TcxGridDBColumn; + Order_Main: TClientDataSet; + RM1: TRMGridReport; + RMDBDataSet1: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + v1CustomerNoName: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N2: TMenuItem; + ToolButton1: TToolButton; + v1OrdDefStr1: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + ToolButton2: TToolButton; + ADOQueryPrint: TADOQuery; + CDS_Print: TClientDataSet; + v1Column4: TcxGridDBColumn; + PopupMenu2: TPopupMenu; + N11: TMenuItem; + N21: TMenuItem; + N31: TMenuItem; + Panel1: TPanel; + Label1: TLabel; + Label4: TLabel; + Label5: TLabel; + Label8: TLabel; + Label9: TLabel; + Label12: TLabel; + Label13: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + CustomerNoName: TEdit; + ConPerson1: TEdit; + MPRTCodeName: TEdit; + ConNo: TEdit; + MPRTKZ: TEdit; + MPRTMF: TEdit; + v1Column2: TcxGridDBColumn; + ComboBox1: TComboBox; + ToolButton4: TToolButton; + Label2: TLabel; + v1Column3: TcxGridDBColumn; + cxTabControl1: TcxTabControl; + Tchk: TToolButton; + Tnochk: TToolButton; + cxSplitter1: TcxSplitter; + cxGrid2: TcxGrid; + TV2: TcxGridDBTableView; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + cxGridDBColumn1: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + v1PRTPrice: TcxGridDBColumn; + v1PriceUnit: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + ADOQuerySub: TADOQuery; + DataSource2: TDataSource; + V1ISCG: TcxGridDBColumn; + KHConNO: TEdit; + Label3: TLabel; + TQX: TToolButton; + TNOQX: TToolButton; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBEditClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TBTPClick(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure CheckBox2Click(Sender: TObject); + procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; + ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; + out AStyle: TcxStyle); + procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure CustomerNoNameChange(Sender: TObject); + procedure ConNoKeyPress(Sender: TObject; var Key: Char); + procedure ToolButton4Click(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + procedure TchkClick(Sender: TObject); + procedure TnochkClick(Sender: TObject); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; + APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); + procedure TQXClick(Sender: TObject); + procedure TNOQXClick(Sender: TObject); + private + DQdate:TDateTime; + fuserName:string; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + procedure InitGridFH(); + procedure SetStatus(); + procedure InitSub(); + { Private declarations } + public + FFInt,FCloth:Integer; + + { Public declarations } + end; + +var + frmContractList: TfrmContractList; + +implementation +uses + U_DataLink,U_ConInPut,U_Fun,U_ZDYHelp; + +{$R *.dfm} +procedure TfrmContractList.InitSub(); +begin + ADOQuerySub.Close; + IF Order_Main.IsEmpty then exit; + with ADOQuerySub do + begin + close; + sql.Clear; + sql.Add('select * from JYOrderCon_sub '); + sql.Add('where mainID ='+quotedstr((Order_Main.fieldbyname('mainID').AsString))); + open; + end; +end; +procedure TfrmContractList.SetStatus(); +begin + + tchk.Visible:=false; + tnochk.Visible:=false; + tbedit.Visible:=false; + tbdel.Visible:=false; + Tqx.Visible:=false; + TNoqx.Visible:=false; + if Trim(DParameters1)<>'Ȩ' then + begin + case cxTabControl1.TabIndex of + 0:begin + IF trim(DCode)<>'A2' then + begin + tbedit.Visible:=true; + tbdel.Visible:=true; + end; + Tqx.Visible:=true; + end; + 1:begin + Tqx.Visible:=true; + end; + 2:begin + TNoqx.Visible:=true; + end; + 3:begin + end; + end; + end + else + begin + case cxTabControl1.TabIndex of + 0:begin + tchk.Visible:=true; + tbedit.Visible:=true; + tbdel.Visible:=true; + Tqx.Visible:=true; + end; + 1:begin + tnochk.Visible:=true; + Tqx.Visible:=true; + end; + 2:begin + TNoqx.Visible:=true; + end; + 3:begin + // TNoqx.Visible:=true; + end; + end; + end; + +end; + +procedure TfrmContractList.FormDestroy(Sender: TObject); +begin + frmContractList:=nil; +end; + +procedure TfrmContractList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmContractList.FormCreate(Sender: TObject); +begin + cxgrid1.Align:=alClient; + //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; + //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + DQdate:=SGetServerDate(ADOQueryTemp); +end; + +procedure TfrmContractList.TBCloseClick(Sender: TObject); +begin + Close; + if FCloth<>1 then + WriteCxGrid('ͬб',Tv1,'ָʾ') + else + WriteCxGrid('ͬбѡ',Tv1,'ָʾ'); +end; + +procedure TfrmContractList.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select A.*,A.ConNo ConNoM '); + SQL.Add(',PRTOrderQty=(select Sum(PRTOrderQty) from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',ConMoney=(select Sum(PRTOrderQty*PRTPrice) from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',OrderUnit=(select top 1 OrderUnit from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',PriceUnit=(select top 1 PriceUnit from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',PRTPrice=(select top 1 PRTPrice from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',case when isnull((select top 1 X.conNO from Contract_Main X where X.conNo=A.conNO) ,'''')='''' then '''' else '''' end as IScg '); + sql.Add(' from JYOrderCon_Main A '); + // sql.Add(' left join Contract_Main B on B.conNO=A.conNo '); + SQL.Add('where A.fILLtIME>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+''''); + SQL.Add('and A.fILLtIME<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+''''); + sql.Add(' and A.MPRTType='''' '); + if Trim(DParameters1)<>'Ȩ' then + begin + sql.Add('and A.Filler='''+Trim(fuserName)+''''); + end; + IF cxTabControl1.TabIndex<3 then + begin + sql.Add(' and isnull(A.status,''0'')='''+inttostr(cxTabControl1.TabIndex)+''''); + end; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; +procedure TfrmContractList.InitGridFH(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec Order_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmContractList.InitForm(); +begin + + if FCloth<>1 then + ReadCxGrid('ͬб',Tv1,'ָʾ') + else + ReadCxGrid('ͬбѡ',Tv1,'ָʾ'); + + if FCloth=1 then + begin + v1Column4.Visible:=True; + // v1PRTPrice.Visible:=False; + // v1PRTPrice.Hidden:=True; + end else + begin + v1Column4.Visible:=False; + // v1PRTPrice.Visible:=True; + // v1PRTPrice.Hidden:=False; + end; + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-15; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + InitGrid(); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 10* from JYOrderCon_Main Order by FillTime desc'); + Open; + end; + ComboBox1.Clear; + with ADOQueryTemp do + begin + First; + while not Eof do + begin + ComboBox1.Items.Add(Trim(ADOQueryTemp.fieldbyname('ConNO').AsString)); + Next; + end; + end; +end; + +procedure TfrmContractList.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmContractList.TBEditClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then + begin + Application.MessageBox('ܲ˵!','ʾ',0); + Exit; + end; + try + frmConInPut:=TfrmConInPut.Create(Application); + with frmConInPut do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmConInPut.Free; + end; +end; + +procedure TfrmContractList.TBDelClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then + begin + Application.MessageBox('ܲ˵!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + if DelData() then + begin + Order_Main.Delete; + end; +end; + +function TfrmContractList.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrderCon_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add('delete JYOrderCon_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('ͬɾ'))); + sql.Add(','+quotedstr(trim('ͬţ'+trim(Order_Main.FieldByName('conNo').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + ExecSQL; + end; + + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmContractList.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + SelExportData(Tv1,ADOQueryMain,'ָʾб'); +end; + +procedure TfrmContractList.TBPrintClick(Sender: TObject); +var + fPrintFile:string; + EngMoney:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ͬ.rmf' ; + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select A.*,B.*,ConMoney=B.PRTOrderQty*B.PRTPrice,COL=''COL:'' '); + sql.Add(',Case when substring(PriceNote,1,3)=''FOB'' then '' ''+A.FromPlace else '' ''+A.ToPlace end as PriceNote10 '); + sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId '); + sql.Add(' where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryPrint,CDS_Print); + SInitCDSData20(ADOQueryPrint,CDS_Print); + // + with ADOQueryTemp do + begin + close; + sql.Clear; + sql.Add('select TolConMoney=Sum(PRTOrderQty*PRTPrice)'); + sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId '); + sql.Add(' where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + EngMoney:=num2cengnum(ADOQueryTemp.fieldbyname('TolConMoney').AsString); + EngMoney:=UpperCase(EngMoney); + if FileExists(fPrintFile) then + begin + RMVariables['EngMoney']:=EngMoney; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\Ӣĺͬ.rmf'),'ʾ',0); + end; +end; + +procedure TfrmContractList.TBRafreshClick(Sender: TObject); +begin + if FFInt=1 then + begin + InitGridFH(); + end else + InitGrid(); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 10* from JYOrderCon_Main Order by FillTime desc '); + Open; + end; + ComboBox1.Clear; + with ADOQueryTemp do + begin + First; + while not Eof do + begin + ComboBox1.Items.Add(Trim(ADOQueryTemp.fieldbyname('ConNO').AsString)); + Next; + end; + end; +end; + +procedure TfrmContractList.TBAddClick(Sender: TObject); +var + maxno:string; +begin + try + frmConInPut:=TfrmConInPut.Create(Application); + with frmConInPut do + begin + PState:=0; + FMainId:=''; + if ShowModal=1 then + begin + + end; + end; + finally + frmConInPut.Free; + end; +end; + +procedure TfrmContractList.FormShow(Sender: TObject); +begin + fuserName:=DCode; + if (trim(DCode)='A1') or (trim(DCode)='A2') then + begin + fuserName:='A'; + end; + InitForm(); + SetStatus(); +end; + +procedure TfrmContractList.Tv1CellDblClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if ToolButton1.Visible=False then Exit; + ToolButton1.Click; +end; + +procedure TfrmContractList.TBTPClick(Sender: TObject); + var + FQty,FQty1,FMxQty,FPQty,FMxQtyS,FPQtyS:String; +begin +end; + +procedure TfrmContractList.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmContractList.CheckBox2Click(Sender: TObject); +begin + TBRafresh.Click; +end; + +procedure TfrmContractList.Tv1StylesGetContentStyle( + Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; + AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); +var + id,id10:Integer; +begin + {try + if Tv1.GroupedItemCount=0 then + begin + Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; + Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; + if Trim(VarToStr(ARecord.Values[id]))='' then Exit; + if Id<0 then Exit; + if ARecord.Values[id10]='' then exit; + if (ARecord.Values[id]-DQdate)>=4 then Exit; + if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then + AStyle:=DataLink_.QHuangSe + else + if ARecord.Values[id]-DQdate<0 then + begin + AStyle:=DataLink_OrderManage.FenHongS; + end; + end else + begin + + end; + except + end; } +end; + +procedure TfrmContractList.v1DeliveryDateCustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +begin + { Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount; + Id10:=TV1.GetColumnByFieldName('SubStatus').Index; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id10]='' then Exit; + if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit; + if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then + ACanvas.Brush.Color:=clYellow + else + if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then + begin + ACanvas.Brush.Color:=clRed; + end; + begin + ACanvas.Brush.Color:=clRed; + end else + if AViewInfo.GridRecord.Values[Id]='Purple' then + begin + ACanvas.Brush.Color:=clPurple; + end else + if AViewInfo.GridRecord.Values[Id]='Olive' then + begin + ACanvas.Brush.Color:=clOlive; + end else + if AViewInfo.GridRecord.Values[Id]='Teal' then + begin + ACanvas.Brush.Color:=clTeal; + end else + if AViewInfo.GridRecord.Values[Id]='Background' then + begin + ACanvas.Brush.Color:=clBackground; + end; } +end; + +procedure TfrmContractList.N1Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ10.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ10.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmContractList.N2Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmContractList.ToolButton1Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmConInPut:=TfrmConInPut.Create(Application); + with frmConInPut do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + ToolBar2.Visible:=False; + TBSave.Visible:=False; + ScrollBox1.Enabled:=False; + Tv1.OptionsSelection.CellSelect:=False; + if ShowModal=1 then + begin + + end; + end; + finally + frmConInPut.Free; + end; +end; + +procedure TfrmContractList.ToolButton2Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmConInPut:=TfrmConInPut.Create(Application); + with frmConInPut do + begin + PState:=1; + CopyInt:=99; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmConInPut.Free; + end; +end; + +procedure TfrmContractList.CustomerNoNameChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmContractList.ConNoKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + if Length(Tedit(Sender).Text)<1 then Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + SQL.Clear; + sql.Add('select A.*,A.ConNo ConNoM '); + SQL.Add(',PRTOrderQty=(select Sum(PRTOrderQty) from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',ConMoney=(select Sum(PRTOrderQty*PRTPrice) from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',OrderUnit=(select top 1 OrderUnit from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',PriceUnit=(select top 1 PriceUnit from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',PRTPrice=(select top 1 PRTPrice from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',case when isnull((select top 1 X.conNO from Contract_Main X where X.conNo=A.conNO) ,'''')='''' then '''' else '''' end as IScg '); + sql.Add(' from JYOrderCon_Main A '); + SQL.Add('where OrdDate>='''+'1899-01-01'+''''); + SQL.Add('and OrdDate<'''+'2050-01-01'+''''); + sql.Add(' and MPRTType='''' '); + if Trim(DParameters1)<>'Ȩ' then + begin + sql.Add('and A.Filler='''+Trim(DName)+''''); + end; + sql.Add(' and '+Tedit(Sender).Name+' like '+quotedstr(trim('%'+trim(Tedit(Sender).Text)+'%'))); + // sql.Add(' and ConNo like '''+'%'+Trim(ConNoM.Text)+'%'+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +procedure TfrmContractList.ToolButton4Click(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='MPRTNameType'; + flagname:='Ʒ'; + V1HelpType.Visible:=True; + V1HelpType.Caption:='д'; + fnote:=True; + V1Name.Caption:=''; + V1Note.Caption:='Ӣ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmContractList.cxTabControl1Change(Sender: TObject); +begin + SetStatus(); + TBRafresh.Click; +end; + +procedure TfrmContractList.TchkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update JYOrdercon_Main SET status=''1'' '); + sql.Add('where mainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('ͬ'))); + sql.Add(','+quotedstr(trim('ͬţ'+trim(Order_Main.FieldByName('conNo').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + application.MessageBox('˳ɹ','ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmContractList.TnochkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update JYOrdercon_Main SET status=''0'' '); + sql.Add('where mainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('ͬ'))); + sql.Add(','+quotedstr(trim('ͬţ'+trim(Order_Main.FieldByName('conNo').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + application.MessageBox('˳ɹ','ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmContractList.Tv1FocusedRecordChanged( + Sender: TcxCustomGridTableView; APrevFocusedRecord, + AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); +begin + InitSub(); +end; + +procedure TfrmContractList.TQXClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update JYOrdercon_Main SET status=''2'' '); + sql.Add('where mainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('ͬȡ'))); + sql.Add(','+quotedstr(trim('ͬţ'+trim(Order_Main.FieldByName('conNo').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + application.MessageBox('ͬȡɹ','ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ͬȡʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmContractList.TNOQXClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update JYOrdercon_Main SET status=''0'' '); + sql.Add('where mainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('ͬȡ'))); + sql.Add(','+quotedstr(trim('ͬţ'+trim(Order_Main.FieldByName('conNo').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + application.MessageBox('ͬȡɹ','ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ͬȡʧܣ','ʾϢ',0); + end; +end; + +end. diff --git a/打卷检验管理/U_ContractListNX.dfm b/打卷检验管理/U_ContractListNX.dfm new file mode 100644 index 0000000..b3a744b --- /dev/null +++ b/打卷检验管理/U_ContractListNX.dfm @@ -0,0 +1,868 @@ +object frmContractListNX: TfrmContractListNX + Left = 5 + Top = 97 + Width = 1378 + Height = 588 + Caption = #35746#21333#21512#21516 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1370 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 107 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object ToolButton3: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #36873#25321 + ImageIndex = 106 + Visible = False + OnClick = ToolButton3Click + end + object ToolButton4: TToolButton + Left = 189 + Top = 0 + Caption = #20135#21697#31867#21035#23450#20041 + ImageIndex = 58 + Visible = False + OnClick = ToolButton4Click + end + object TBAdd: TToolButton + Left = 296 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 3 + OnClick = TBAddClick + end + object TBEdit: TToolButton + Left = 359 + Top = 0 + AutoSize = True + Caption = #20462#25913 + ImageIndex = 54 + OnClick = TBEditClick + end + object ComboBox1: TComboBox + Left = 422 + Top = 3 + Width = 145 + Height = 24 + DropDownCount = 10 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ItemHeight = 16 + ParentFont = False + TabOrder = 0 + Visible = False + end + object ToolButton2: TToolButton + Left = 567 + Top = 0 + AutoSize = True + Caption = #22797#21046 + ImageIndex = 57 + OnClick = ToolButton2Click + end + object ToolButton1: TToolButton + Left = 630 + Top = 0 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 58 + OnClick = ToolButton1Click + end + object TBDel: TToolButton + Left = 693 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 17 + OnClick = TBDelClick + end + object tchk: TToolButton + Left = 756 + Top = 0 + AutoSize = True + Caption = #23457#26680 + ImageIndex = 41 + OnClick = tchkClick + end + object Tnochk: TToolButton + Left = 819 + Top = 0 + AutoSize = True + Caption = #25764#38144#23457#26680 + ImageIndex = 86 + Visible = False + OnClick = TnochkClick + end + object Tqx: TToolButton + Left = 906 + Top = 0 + AutoSize = True + Caption = #21512#21516#21462#28040 + ImageIndex = 41 + OnClick = TqxClick + end + object Tnoqx: TToolButton + Left = 993 + Top = 0 + AutoSize = True + Caption = #25764#38144#21512#21516#21462#28040 + ImageIndex = 86 + OnClick = TnoqxClick + end + object TBExport: TToolButton + Left = 1104 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 1167 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + OnClick = TBPrintClick + end + object TBClose: TToolButton + Left = 1230 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 132 + Width = 1249 + Height = 169 + TabOrder = 1 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv1CellDblClick + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.OnGetContentStyle = Tv1StylesGetContentStyle + Styles.Header = DataLink_TradeManage.Default + object v1Column4: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + Visible = False + HeaderAlignmentHorz = taCenter + Width = 49 + end + object v1ConNo: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 73 + end + object v1Column8: TcxGridDBColumn + Caption = #23458#25143#21512#21516#21495 + DataBinding.FieldName = 'KHConNo' + HeaderAlignmentHorz = taRightJustify + Width = 80 + end + object v1Column1: TcxGridDBColumn + Caption = #20379#26041 + DataBinding.FieldName = 'SYRName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 94 + end + object v1OrdPerson1: TcxGridDBColumn + Caption = #19994#21153#21592 + DataBinding.FieldName = 'ConPerson1' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 91 + end + object v1CustomerNoName: TcxGridDBColumn + Caption = #38656#26041 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 94 + end + object v1OrdDate: TcxGridDBColumn + Caption = #31614#35746#26085#26399 + DataBinding.FieldName = 'OrdDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 80 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DlyDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + OnCustomDrawCell = v1DeliveryDateCustomDrawCell + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 80 + end + object v1PRTPrice: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'PRTPrice' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 67 + end + object v1PRTColor: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 59 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 67 + end + object v1Column2: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 83 + end + object v1MPRTCF: TcxGridDBColumn + Caption = #25968#37327#35828#26126 + DataBinding.FieldName = 'QtyNote' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 125 + end + object v1Column9: TcxGridDBColumn + Caption = #22383#24067#26159#21542#24050#37319#36141 + DataBinding.FieldName = 'ISCG' + HeaderAlignmentHorz = taCenter + Width = 100 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1370 + Height = 43 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 2 + object Label1: TLabel + Left = 23 + Top = 15 + Width = 52 + Height = 12 + Caption = #21046#21333#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 291 + Top = 15 + Width = 40 + Height = 12 + Caption = #38656' '#26041 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 454 + Top = 15 + Width = 53 + Height = 12 + Caption = #19994' '#21153' '#21592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 430 + Top = 99 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 623 + Top = 15 + Width = 39 + Height = 12 + Caption = #21512#21516#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 303 + Top = 99 + Width = 26 + Height = 12 + Caption = #20811#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 303 + Top = 123 + Width = 26 + Height = 12 + Caption = #38376#24133 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 160 + Top = 16 + Width = 6 + Height = 12 + Caption = '-' + end + object Label3: TLabel + Left = 774 + Top = 15 + Width = 21 + Height = 12 + Caption = 'PO#' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 11 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 168 + Top = 11 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object CustomerNoName: TEdit + Tag = 2 + Left = 331 + Top = 11 + Width = 78 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnChange = CustomerNoNameChange + OnKeyPress = ConNoKeyPress + end + object ConPerson1: TEdit + Tag = 2 + Left = 507 + Top = 11 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + OnChange = CustomerNoNameChange + OnKeyPress = ConNoKeyPress + end + object MPRTCodeName: TEdit + Tag = 2 + Left = 483 + Top = 95 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnChange = CustomerNoNameChange + end + object ConNo: TEdit + Tag = 2 + Left = 664 + Top = 11 + Width = 77 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 5 + OnChange = CustomerNoNameChange + OnKeyPress = ConNoKeyPress + end + object MPRTKZ: TEdit + Tag = 2 + Left = 332 + Top = 95 + Width = 56 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + OnChange = CustomerNoNameChange + end + object MPRTMF: TEdit + Tag = 2 + Left = 332 + Top = 119 + Width = 56 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 7 + OnChange = CustomerNoNameChange + end + object KHConNO: TEdit + Tag = 2 + Left = 803 + Top = 11 + Width = 80 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 8 + OnChange = CustomerNoNameChange + OnKeyPress = ConNoKeyPress + end + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 75 + Width = 1370 + Height = 22 + Align = alTop + Style = 9 + TabIndex = 0 + TabOrder = 3 + Tabs.Strings = ( + #26410#23457#26680 + #24050#23457#26680 + #24050#21462#28040 + #20840#37096) + OnChange = cxTabControl1Change + ClientRectBottom = 22 + ClientRectRight = 1370 + ClientRectTop = 19 + end + object cxGrid2: TcxGrid + Left = 0 + Top = 366 + Width = 1370 + Height = 188 + Align = alBottom + TabOrder = 4 + object TV2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + Column = cxGridDBColumn4 + end + item + Format = '0' + Position = spFooter + Column = cxGridDBColumn5 + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = cxGridDBColumn4 + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object cxGridDBColumn1: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'PrtCodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Width = 126 + end + object v1Column5: TcxGridDBColumn + Caption = #35268#26684#22411#21495 + DataBinding.FieldName = 'prtspec' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = False + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 90 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #39068#33394#33521#25991 + DataBinding.FieldName = 'SOrdDefStr4' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v1Column6: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'prtmf' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column7: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'prtkz' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column3: TcxGridDBColumn + Caption = #33457#22411#33457#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.FonePurple + Width = 59 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 67 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'PRTPrice' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 68 + end + object v1PriceUnit: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'SOrdDefNote1' + HeaderAlignmentHorz = taCenter + Width = 113 + end + end + object cxGridLevel1: TcxGridLevel + GridView = TV2 + end + end + object cxSplitter1: TcxSplitter + Left = 0 + Top = 358 + Width = 1370 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + Control = cxGrid2 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 544 + Top = 176 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 688 + Top = 224 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 552 + Top = 216 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 312 + Top = 248 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 440 + Top = 184 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 464 + Top = 208 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBDataSet1 + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 336 + Top = 200 + ReportData = {} + end + object RMDBDataSet1: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 392 + Top = 200 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 576 + Top = 248 + end + object PopupMenu1: TPopupMenu + Left = 288 + Top = 184 + object N2: TMenuItem + Caption = #26377#20379#24212#21830 + OnClick = N2Click + end + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 360 + Top = 240 + end + object CDS_Print: TClientDataSet + Aggregates = <> + Params = <> + Left = 344 + Top = 288 + end + object PopupMenu2: TPopupMenu + Left = 648 + Top = 168 + object N11: TMenuItem + Caption = #26684#24335'1' + end + object N21: TMenuItem + Caption = #26684#24335'2' + end + object N31: TMenuItem + Caption = #26684#24335'3' + end + end + object ADOQuerySub: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 556 + Top = 416 + end + object DataSource2: TDataSource + DataSet = ADOQuerySub + Left = 488 + Top = 440 + end +end diff --git a/打卷检验管理/U_ContractListNX.pas b/打卷检验管理/U_ContractListNX.pas new file mode 100644 index 0000000..c662117 --- /dev/null +++ b/打卷检验管理/U_ContractListNX.pas @@ -0,0 +1,925 @@ +unit U_ContractListNX; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, + Menus, cxPC, cxButtonEdit; + +type + TfrmContractListNX = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBAdd: TToolButton; + TBEdit: TToolButton; + TBDel: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + TBExport: TToolButton; + v1OrdDate: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1OrdPerson1: TcxGridDBColumn; + v1ConNo: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + v1MPRTCF: TcxGridDBColumn; + Order_Main: TClientDataSet; + RM1: TRMGridReport; + RMDBDataSet1: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + v1CustomerNoName: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N2: TMenuItem; + v1PRTPrice: TcxGridDBColumn; + ToolButton1: TToolButton; + v1Column1: TcxGridDBColumn; + ToolButton2: TToolButton; + ADOQueryPrint: TADOQuery; + CDS_Print: TClientDataSet; + ToolButton3: TToolButton; + v1Column4: TcxGridDBColumn; + PopupMenu2: TPopupMenu; + N11: TMenuItem; + N21: TMenuItem; + N31: TMenuItem; + Panel1: TPanel; + Label1: TLabel; + Label4: TLabel; + Label5: TLabel; + Label8: TLabel; + Label9: TLabel; + Label12: TLabel; + Label13: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + CustomerNoName: TEdit; + ConPerson1: TEdit; + MPRTCodeName: TEdit; + ConNo: TEdit; + MPRTKZ: TEdit; + MPRTMF: TEdit; + v1Column2: TcxGridDBColumn; + ComboBox1: TComboBox; + ToolButton4: TToolButton; + cxTabControl1: TcxTabControl; + tchk: TToolButton; + Tnochk: TToolButton; + cxGrid2: TcxGrid; + TV2: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + v1PriceUnit: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + cxSplitter1: TcxSplitter; + ADOQuerySub: TADOQuery; + DataSource2: TDataSource; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + Label2: TLabel; + KHConNO: TEdit; + Label3: TLabel; + Tqx: TToolButton; + Tnoqx: TToolButton; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBEditClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TBTPClick(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure CheckBox2Click(Sender: TObject); + procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; + ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; + out AStyle: TcxStyle); + procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure CustomerNoNameChange(Sender: TObject); + procedure ConNoKeyPress(Sender: TObject; var Key: Char); + procedure ToolButton4Click(Sender: TObject); + procedure tchkClick(Sender: TObject); + procedure TnochkClick(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; + APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); + procedure TqxClick(Sender: TObject); + procedure TnoqxClick(Sender: TObject); + private + DQdate:TDateTime; + fuserName:string; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + procedure InitGridFH(); + procedure SetStatus(); + procedure InitSub(); + { Private declarations } + public + FFInt,FCloth:Integer; + + { Public declarations } + end; + +var + frmContractListNX: TfrmContractListNX; + +implementation +uses + U_DataLink,U_ConInPutNX,U_Fun,U_ZDYHelp; + +{$R *.dfm} +procedure TfrmContractListNX.InitSub(); +begin + ADOQuerySub.Close; + IF Order_Main.IsEmpty then exit; + with ADOQuerySub do + begin + close; + sql.Clear; + sql.Add('select * from JYOrderCon_sub '); + sql.Add('where mainID ='+quotedstr((Order_Main.fieldbyname('mainID').AsString))); + open; + end; +end; +procedure TfrmContractListNX.SetStatus(); +begin + tchk.Visible:=false; + tnochk.Visible:=false; + tbedit.Visible:=false; + tbdel.Visible:=false; + Tqx.Visible:=false; + TNoqx.Visible:=false; + if Trim(DParameters1)<>'Ȩ' then + begin + case cxTabControl1.TabIndex of + 0:begin + IF trim(DCode)<>'A2' then + begin + tbedit.Visible:=true; + tbdel.Visible:=true; + end; + Tqx.Visible:=true; + end; + 1:begin + Tqx.Visible:=true; + end; + 2:begin + TNoqx.Visible:=true; + end; + 3:begin + end; + end; + end + else + begin + case cxTabControl1.TabIndex of + 0:begin + + tchk.Visible:=true; + tbedit.Visible:=true; + tbdel.Visible:=true; + Tqx.Visible:=true; + end; + 1:begin + tnochk.Visible:=true; + Tqx.Visible:=true; + end; + 2:begin + TNOqx.Visible:=true; + end; + 3:begin + end; + end; + end; +end; + + +procedure TfrmContractListNX.FormDestroy(Sender: TObject); +begin + frmContractListNX:=nil; +end; + +procedure TfrmContractListNX.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmContractListNX.FormCreate(Sender: TObject); +begin + cxgrid1.Align:=alClient; + DQdate:=SGetServerDate(ADOQueryTemp); +end; + +procedure TfrmContractListNX.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ͬб',Tv1,'ָʾ'); +end; + +procedure TfrmContractListNX.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select A.*,A.ConNo ConNoM '); + SQL.Add(',PRTOrderQty=(select Sum(PRTOrderQty) from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',ConMoney=(select Sum(PRTOrderQty*PRTPrice) from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',OrderUnit=(select top 1 OrderUnit from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',PriceUnit=(select top 1 PriceUnit from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',PRTPrice=(select top 1 PRTPrice from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',case when isnull((select top 1 X.conNO from Contract_Main X where X.conNo=A.conNO) ,'''')='''' then '''' else '''' end as IScg '); + sql.Add(' from JYOrderCon_Main A '); + SQL.Add('where A.fILLtIME>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+''''); + SQL.Add('and A.fILLtIME<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+''''); + sql.Add(' and A.MPRTType='''' '); + if Trim(DParameters1)<>'Ȩ' then + begin + sql.Add('and A.Filler='''+Trim(fuserName)+''''); + end; + IF cxTabControl1.TabIndex<3 then + begin + sql.Add(' and isnull(A.status,''0'')='''+inttostr(cxTabControl1.TabIndex)+''''); + end; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmContractListNX.InitGridFH(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec Order_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmContractListNX.InitForm(); +begin + ReadCxGrid('ͬб',Tv1,'ָʾ'); + + if FCloth=1 then + begin + v1Column4.Visible:=True; + v1PRTPrice.Visible:=False; + v1PRTPrice.Hidden:=True; + end + else + begin + v1Column4.Visible:=False; + v1PRTPrice.Visible:=True; + v1PRTPrice.Hidden:=False; + end; + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-15; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + InitGrid(); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 10* from JYOrderCon_Main Order by FillTime desc'); + Open; + end; + ComboBox1.Clear; + with ADOQueryTemp do + begin + First; + while not Eof do + begin + ComboBox1.Items.Add(Trim(ADOQueryTemp.fieldbyname('ConNO').AsString)); + Next; + end; + end; +end; + +procedure TfrmContractListNX.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmContractListNX.TBEditClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then + begin + Application.MessageBox('ܲ˵!','ʾ',0); + Exit; + end; + try + frmConInPutNX:=TfrmConInPutNX.Create(Application); + with frmConInPutNX do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmConInPutNX.Free; + end; +end; + +procedure TfrmContractListNX.TBDelClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then + begin + Application.MessageBox('ܲ˵!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + if DelData() then + begin + Order_Main.Delete; + end; +end; + +function TfrmContractListNX.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrderCon_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrderCon_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmContractListNX.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + SelExportData(Tv1,ADOQueryMain,'ָʾб'); +end; + +procedure TfrmContractListNX.TBPrintClick(Sender: TObject); +var + fPrintFile:string; + EngMoney:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ͬ.rmf' ; + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select A.*,B.*,ConMoney=B.PRTOrderQty*B.PRTPrice,COL=''COL:'' '); + sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId '); + sql.Add(' where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryPrint,CDS_Print); + SInitCDSData20(ADOQueryPrint,CDS_Print); + // + with ADOQueryTemp do + begin + close; + sql.Clear; + sql.Add('select TolConMoney=Sum(PRTOrderQty*PRTPrice)'); + sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId '); + sql.Add(' where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + EngMoney:=num2cengnum(ADOQueryTemp.fieldbyname('TolConMoney').AsString); + EngMoney:=UpperCase(EngMoney); + if FileExists(fPrintFile) then + begin + RMVariables['EngMoney']:=EngMoney; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\Ӣĺͬ.rmf'),'ʾ',0); + end; +end; + +procedure TfrmContractListNX.TBRafreshClick(Sender: TObject); +begin + InitGrid(); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 10* from JYOrderCon_Main Order by FillTime desc '); + Open; + end; + ComboBox1.Clear; + with ADOQueryTemp do + begin + First; + while not Eof do + begin + ComboBox1.Items.Add(Trim(ADOQueryTemp.fieldbyname('ConNO').AsString)); + Next; + end; + end; +end; + +procedure TfrmContractListNX.TBAddClick(Sender: TObject); +var + maxno:string; +begin + try + frmConInPutNX:=TfrmConInPutNX.Create(Application); + with frmConInPutNX do + begin + PState:=0; + FMainId:=''; + if ShowModal=1 then + begin + + end; + end; + finally + frmConInPutNX.Free; + end; +end; + +procedure TfrmContractListNX.FormShow(Sender: TObject); +begin + fuserName:=DCode; + if (trim(DCode)='A1') or (trim(DCode)='A2') then + begin + fuserName:='A'; + end; + InitForm(); + SetStatus(); +end; + +procedure TfrmContractListNX.Tv1CellDblClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if ToolButton1.Visible=False then Exit; + ToolButton1.Click; +end; + +procedure TfrmContractListNX.TBTPClick(Sender: TObject); + var + FQty,FQty1,FMxQty,FPQty,FMxQtyS,FPQtyS:String; +begin +end; + +procedure TfrmContractListNX.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmContractListNX.CheckBox2Click(Sender: TObject); +begin + TBRafresh.Click; +end; + +procedure TfrmContractListNX.Tv1StylesGetContentStyle( + Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; + AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); +var + id,id10:Integer; +begin + {try + if Tv1.GroupedItemCount=0 then + begin + Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; + Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; + if Trim(VarToStr(ARecord.Values[id]))='' then Exit; + if Id<0 then Exit; + if ARecord.Values[id10]='' then exit; + if (ARecord.Values[id]-DQdate)>=4 then Exit; + if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then + AStyle:=DataLink_.QHuangSe + else + if ARecord.Values[id]-DQdate<0 then + begin + AStyle:=DataLink_OrderManage.FenHongS; + end; + end else + begin + + end; + except + end; } +end; + +procedure TfrmContractListNX.v1DeliveryDateCustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +begin + { Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount; + Id10:=TV1.GetColumnByFieldName('SubStatus').Index; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id10]='' then Exit; + if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit; + if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then + ACanvas.Brush.Color:=clYellow + else + if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then + begin + ACanvas.Brush.Color:=clRed; + end; + begin + ACanvas.Brush.Color:=clRed; + end else + if AViewInfo.GridRecord.Values[Id]='Purple' then + begin + ACanvas.Brush.Color:=clPurple; + end else + if AViewInfo.GridRecord.Values[Id]='Olive' then + begin + ACanvas.Brush.Color:=clOlive; + end else + if AViewInfo.GridRecord.Values[Id]='Teal' then + begin + ACanvas.Brush.Color:=clTeal; + end else + if AViewInfo.GridRecord.Values[Id]='Background' then + begin + ACanvas.Brush.Color:=clBackground; + end; } +end; + +procedure TfrmContractListNX.N1Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ10.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ10.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmContractListNX.N2Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmContractListNX.ToolButton1Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmConInPutNX:=TfrmConInPutNX.Create(Application); + with frmConInPutNX do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + ToolBar2.Visible:=False; + TBSave.Visible:=False; + ScrollBox1.Enabled:=False; + Tv1.OptionsSelection.CellSelect:=False; + if ShowModal=1 then + begin + + end; + end; + finally + frmConInPutNX.Free; + end; +end; + +procedure TfrmContractListNX.ToolButton2Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmConInPutNX:=TfrmConInPutNX.Create(Application); + with frmConInPutNX do + begin + PState:=1; + CopyInt:=99; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmConInPutNX.Free; + end; +end; + +procedure TfrmContractListNX.ToolButton3Click(Sender: TObject); +begin + ModalResult:=1; +end; + +procedure TfrmContractListNX.CustomerNoNameChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmContractListNX.ConNoKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + if Length(Tedit(Sender).Text)<1 then Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + SQL.Clear; + sql.Add('select A.*,A.ConNo ConNoM '); + SQL.Add(',PRTOrderQty=(select Sum(PRTOrderQty) from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',ConMoney=(select Sum(PRTOrderQty*PRTPrice) from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',OrderUnit=(select top 1 OrderUnit from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',PriceUnit=(select top 1 PriceUnit from JYOrderCon_Sub B where B.MainId=A.MainId)'); + SQL.Add(',PRTPrice=(select top 1 PRTPrice from JYOrderCon_Sub B where B.MainId=A.MainId)'); + sql.Add(' from JYOrderCon_Main A '); + SQL.Add('where OrdDate>='''+'1899-01-01'+''''); + SQL.Add('and OrdDate<'''+'2050-01-01'+''''); + sql.Add(' and MPRTType='''' '); + if Trim(DParameters1)<>'Ȩ' then + begin + sql.Add('and A.Filler='''+Trim(DName)+''''); + end; + // sql.Add(' and ConNo like '''+'%'+Trim(ConNoM.Text)+'%'+''''); + sql.Add(' and '+Tedit(Sender).Name+' like '+quotedstr(trim('%'+trim(Tedit(Sender).Text)+'%'))); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +procedure TfrmContractListNX.ToolButton4Click(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='MPRTNameType'; + flagname:='Ʒ'; + V1HelpType.Visible:=True; + V1HelpType.Caption:='д'; + fnote:=True; + V1Name.Caption:=''; + V1Note.Caption:='Ӣ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmContractListNX.tchkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update JYOrdercon_Main SET status=''1'' '); + sql.Add('where mainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('ͬ'))); + sql.Add(','+quotedstr(trim('ͬţ'+trim(Order_Main.FieldByName('conNo').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + application.MessageBox('˳ɹ','ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmContractListNX.TnochkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update JYOrdercon_Main SET status=''0'' '); + sql.Add('where mainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('ͬ'))); + sql.Add(','+quotedstr(trim('ͬţ'+trim(Order_Main.FieldByName('conNo').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + application.MessageBox('˳ɹ','ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmContractListNX.cxTabControl1Change(Sender: TObject); +begin + SetStatus(); + TBRafresh.Click; + +end; + +procedure TfrmContractListNX.Tv1FocusedRecordChanged( + Sender: TcxCustomGridTableView; APrevFocusedRecord, + AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); +begin + InitSub(); +end; + +procedure TfrmContractListNX.TqxClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update JYOrdercon_Main SET status=''2'' '); + sql.Add('where mainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('ͬȡ'))); + sql.Add(','+quotedstr(trim('ͬţ'+trim(Order_Main.FieldByName('conNo').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + application.MessageBox('ͬȡɹ','ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ͬȡʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmContractListNX.TnoqxClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update JYOrdercon_Main SET status=''0'' '); + sql.Add('where mainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('ͬȡ'))); + sql.Add(','+quotedstr(trim('ͬţ'+trim(Order_Main.FieldByName('conNo').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + application.MessageBox('ͬȡɹ','ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ͬȡʧܣ','ʾϢ',0); + end; +end; + +end. diff --git a/打卷检验管理/U_CpCkSaoMNew.dfm b/打卷检验管理/U_CpCkSaoMNew.dfm new file mode 100644 index 0000000..d882883 --- /dev/null +++ b/打卷检验管理/U_CpCkSaoMNew.dfm @@ -0,0 +1,460 @@ +object frmCpCkSaoMNew: TfrmCpCkSaoMNew + Left = 31 + Top = 61 + Width = 1199 + Height = 652 + Caption = #25104#21697#20986#24211#25195#25551 + Color = clBtnFace + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 16 + object cxGrid2: TcxGrid + Left = 0 + Top = 169 + Width = 593 + Height = 446 + Align = alLeft + TabOrder = 0 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column5 + end + item + Kind = skSum + Column = v2Column6 + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Format = #21367#25968#37327#65306'#' + Kind = skCount + Column = v1Column1 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object v1Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Width = 129 + end + object v1Column5: TcxGridDBColumn + Caption = #26465#30721 + DataBinding.FieldName = 'MJId' + HeaderAlignmentHorz = taCenter + Width = 144 + end + object v2Column5: TcxGridDBColumn + Caption = #20844#26020#25968 + DataBinding.FieldName = 'KgQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 121 + end + object v2Column6: TcxGridDBColumn + Caption = #38271#24230 + DataBinding.FieldName = 'Qty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 87 + end + object v1Column2: TcxGridDBColumn + Caption = #38271#24230#21333#20301 + DataBinding.FieldName = 'QtyUnit' + HeaderAlignmentHorz = taCenter + Width = 86 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel1: TPanel + Left = 0 + Top = 0 + Width = 1191 + Height = 169 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 1 + object Label1: TLabel + Left = 110 + Top = 134 + Width = 68 + Height = 16 + Caption = #25195#25551#20837#21475 + end + object BaoID: TEdit + Left = 178 + Top = 131 + Width = 167 + Height = 24 + TabOrder = 0 + OnKeyPress = BaoIDKeyPress + end + object Button2: TButton + Left = 1006 + Top = 132 + Width = 75 + Height = 23 + Caption = #20851#38381 + TabOrder = 1 + OnClick = Button2Click + end + object Button3: TButton + Left = 21 + Top = 132 + Width = 75 + Height = 23 + Caption = #36873#21333 + TabOrder = 2 + OnClick = Button3Click + end + object Button1: TButton + Left = 598 + Top = 132 + Width = 107 + Height = 23 + Caption = #25764#38144#20986#24211 + TabOrder = 3 + OnClick = Button1Click + end + object cxGrid1: TcxGrid + Left = 2 + Top = 2 + Width = 1187 + Height = 120 + Align = alTop + TabOrder = 4 + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv2CellDblClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Styles.Footer = DataLink_TradeManage.Default + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 78 + end + object v2Column2: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 141 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 119 + end + object v1Column10: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 83 + end + object v1Column14: TcxGridDBColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 75 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 80 + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'MPRTMF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 80 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'MPRTKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 93 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv2 + end + end + end + object cxGrid3: TcxGrid + Left = 593 + Top = 169 + Width = 584 + Height = 446 + Align = alLeft + TabOrder = 2 + object Tv3: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DS_MainSel + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + Column = cxGridDBColumn6 + end + item + Format = #21367#25968#37327#65306'#' + Kind = skCount + Column = cxGridDBColumn1 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object cxGridDBColumn1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Width = 157 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #26465#30721 + DataBinding.FieldName = 'MJId' + HeaderAlignmentHorz = taCenter + Width = 144 + end + object v3Column1: TcxGridDBColumn + Caption = #20844#26020#25968 + DataBinding.FieldName = 'KgQty' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #38271#24230 + DataBinding.FieldName = 'Qty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 71 + end + object v3Column2: TcxGridDBColumn + Caption = #38271#24230#21333#20301 + DataBinding.FieldName = 'QtyUnit' + HeaderAlignmentHorz = taCenter + Width = 79 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv3 + end + end + object MovePanel1: TMovePanel + Left = 8 + Top = 208 + Width = 561 + Height = 305 + BevelInner = bvLowered + Color = clSkyBlue + TabOrder = 3 + Visible = False + object Label2: TLabel + Left = 64 + Top = 48 + Width = 147 + Height = 48 + Caption = #24050#20986#24211 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 456 + Top = 56 + Width = 49 + Height = 48 + Caption = #21367 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Edit1: TEdit + Left = 216 + Top = 24 + Width = 241 + Height = 105 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -96 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 0 + Text = '1234' + end + object Edit2: TEdit + Left = 73 + Top = 143 + Width = 386 + Height = 72 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -64 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 1 + Text = '91209120001' + end + object Button4: TButton + Left = 216 + Top = 248 + Width = 75 + Height = 41 + Caption = #20851#38381 + TabOrder = 2 + OnClick = Button4Click + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 976 + Top = 40 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 136 + Top = 216 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 96 + Top = 216 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1072 + Top = 8 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 792 + Top = 64 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 872 + Top = 72 + end + object CDS_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 320 + Top = 48 + end + object DataSource2: TDataSource + DataSet = CDS_Sub + Left = 288 + Top = 48 + end + object ADOQuerySub: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 680 + Top = 64 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 56 + Top = 200 + end + object cxGridPopupMenu3: TcxGridPopupMenu + PopupMenus = <> + Left = 600 + Top = 72 + end + object DS_MainSel: TDataSource + DataSet = CDS_MainSel + Left = 616 + Top = 336 + end + object CDS_MainSel: TClientDataSet + Aggregates = <> + Params = <> + Left = 648 + Top = 336 + end + object cxGridPopupMenu4: TcxGridPopupMenu + Grid = cxGrid3 + PopupMenus = <> + Left = 832 + Top = 312 + end +end diff --git a/打卷检验管理/U_CpCkSaoMNew.pas b/打卷检验管理/U_CpCkSaoMNew.pas new file mode 100644 index 0000000..2506945 --- /dev/null +++ b/打卷检验管理/U_CpCkSaoMNew.pas @@ -0,0 +1,450 @@ +unit U_CpCkSaoMNew; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ExtCtrls, ADODB, DBClient, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, MovePanel, cxCheckBox; + +type + TfrmCpCkSaoMNew = class(TForm) + cxGrid2: TcxGrid; + Tv1: TcxGridDBTableView; + v1Column1: TcxGridDBColumn; + v2Column5: TcxGridDBColumn; + v2Column6: TcxGridDBColumn; + cxGrid2Level1: TcxGridLevel; + cxGridPopupMenu1: TcxGridPopupMenu; + CDS_Main: TClientDataSet; + DataSource1: TDataSource; + ADOQueryTemp: TADOQuery; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + Panel1: TPanel; + BaoID: TEdit; + Label1: TLabel; + v1Column5: TcxGridDBColumn; + Button2: TButton; + Button3: TButton; + CDS_Sub: TClientDataSet; + DataSource2: TDataSource; + ADOQuerySub: TADOQuery; + cxGridPopupMenu2: TcxGridPopupMenu; + cxGridPopupMenu3: TcxGridPopupMenu; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + DS_MainSel: TDataSource; + CDS_MainSel: TClientDataSet; + v3Column1: TcxGridDBColumn; + Button1: TButton; + cxGridPopupMenu4: TcxGridPopupMenu; + MovePanel1: TMovePanel; + Edit1: TEdit; + Edit2: TEdit; + Label2: TLabel; + Label3: TLabel; + Button4: TButton; + cxGrid1: TcxGrid; + Tv2: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1Column2: TcxGridDBColumn; + v3Column2: TcxGridDBColumn; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure BaoIDKeyPress(Sender: TObject; var Key: Char); + procedure Button2Click(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button4Click(Sender: TObject); + private + { Private declarations } + procedure InitGrid(); + procedure InitSubGrid(); + public + { Public declarations } + end; + +var + frmCpCkSaoMNew: TfrmCpCkSaoMNew; + +implementation +uses +U_DataLink,U_Fun,U_OrderSel ; + +{$R *.dfm} + +procedure TfrmCpCkSaoMNew.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmCpCkSaoMNew.FormDestroy(Sender: TObject); +begin + frmCpCkSaoMNew:=nil; +end; +procedure TfrmCpCkSaoMNew.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('select A.*,OrderNo=(select OrderNo from JYOrder_Main where MainId=A.MainId) from CK_BanCP_CR A'); + sql.add('where 1<>1'); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('select A.*,OrderNo=(select OrderNo from JYOrder_Main where MainId=A.MainId) from CK_BanCP_CR A'); + sql.add('where 1<>1'); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_MainSel); + SInitCDSData20(ADOQueryMain,CDS_MainSel); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmCpCkSaoMNew.FormShow(Sender: TObject); +begin + ReadCxGrid('ѡ',Tv2,'Ʒֿ'); + ReadCxGrid('Ʒ',Tv1,'Ʒֿ'); + ReadCxGrid('ƷSels',Tv3,'Ʒֿ'); + InitSubGrid(); + InitGrid(); +end; + +procedure TfrmCpCkSaoMNew.BaoIDKeyPress(Sender: TObject; var Key: Char); +var + maxno:String; +begin + if Key=#13 then + begin + if CDS_Sub.IsEmpty then + begin + BaoID.Text:=''; + Application.MessageBox('δѡɨ⣡','ʾ',0); + Exit; + end; + if CDS_Main.Locate('MJId',Trim(BaoID.Text),[])=False then + begin + BaoID.Text:=''; + Application.MessageBox('˾ڴľУ','ʾ',0); + Exit; + end; + CDS_Main.Locate('MJId',Trim(BaoID.Text),[]); + try + ADOQueryCmd.Connection.BeginTrans; + with CDS_Main do + begin + if GetLSNo(ADOQueryCmd,maxno,'CC','CK_BanCp_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCp_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('BCID').Value:=Trim(maxno); + FieldByName('CRID').Value:=CDS_Main.fieldbyname('CRID').Value; + FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('KGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('MJID').Value:=CDS_Main.fieldbyname('MJID').Value; + FieldByName('MainID').Value:=CDS_Main.fieldbyname('MainID').Value; + FieldByName('SubID').Value:=CDS_Main.fieldbyname('SubID').Value; + FieldByName('APID').Value:=CDS_Main.fieldbyname('APID').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + //FieldByName('JZXNo').Value:=Trim(JZXNo.Text); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update CK_BanCp_KC set KCKgQty=0,KCQty=0 where CRID='+CDS_Main.fieldbyname('CRID').AsString); + ExecSQL; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + with CDS_MainSel do + begin + Append; + FieldByName('MainId').Value:=CDS_Main.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.CDS_Main.fieldbyname('SubId').Value; + FieldByName('OrderNo').Value:=Self.CDS_Main.fieldbyname('OrderNo').Value; + FieldByName('KGQty').Value:=Self.CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=Self.CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=Self.CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('MJId').Value:=Self.CDS_Main.fieldbyname('MJId').Value; + FieldByName('CRId').Value:=Self.CDS_Main.fieldbyname('CRId').Value; + FieldByName('APID').Value:=Self.CDS_Main.fieldbyname('APID').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('BCID').Value:=Trim(maxno); + //FieldByName('JZXNo').Value:=Trim(JZXNo.Text); + Post; + end; + CDS_Main.Delete; + MovePanel1.Visible:=True; + if CDS_MainSel.IsEmpty=False then + Edit1.Text:=IntToStr(Tv3.DataController.Summary.FooterSummaryValues[2]) + else + Edit1.Text:='0'; + Edit2.Text:=Trim(BaoID.Text); + BaoID.Text:=''; + Exit; + except + BaoID.Text:=''; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; + end; +end; + +procedure TfrmCpCkSaoMNew.Button2Click(Sender: TObject); +begin + Close; + WriteCxGrid('ѡ',Tv2,'Ʒֿ'); + WriteCxGrid('Ʒ',Tv1,'Ʒֿ'); + WriteCxGrid('ƷSels',Tv3,'Ʒֿ'); +end; + +procedure TfrmCpCkSaoMNew.Button3Click(Sender: TObject); +begin + {if CDS_Main.IsEmpty=False then + begin + Application.MessageBox('ɨ費ܸĵţ','ʾ',0); + Exit; + end;} + try + frmOrderSel:=TfrmOrderSel.Create(Application); + with frmOrderSel do + begin + if ShowModal=1 then + begin + CDS_OrderSel.DisableControls; + with CDS_OrderSel do + begin + First; + while not Eof do + begin + if FieldByName('SSel').Value=True then + begin + if Self.CDS_Sub.Locate('SubId',Trim(CDS_OrderSel.fieldbyname('SubId').AsString),[])=False then + begin + with Self.CDS_Sub do + begin + Append; + FieldByName('MainId').Value:=Trim(CDS_OrderSel.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(CDS_OrderSel.fieldbyname('SubId').AsString); + FieldByName('CustomerNo').Value:=Trim(CDS_OrderSel.fieldbyname('CustomerNo').AsString); + FieldByName('OrderNo').Value:=Trim(CDS_OrderSel.fieldbyname('OrderNo').AsString); + FieldByName('CustomerNoName').Value:=Trim(CDS_OrderSel.fieldbyname('CustomerNoName').AsString); + FieldByName('MPRTCodeName').Value:=Trim(CDS_OrderSel.fieldbyname('MPRTCodeName').AsString); + FieldByName('PRTOrderQty').Value:=Trim(CDS_OrderSel.fieldbyname('PRTOrderQty').AsString); + FieldByName('OrderUnit').Value:=Trim(CDS_OrderSel.fieldbyname('OrderUnit').AsString); + FieldByName('PRTColor').Value:=Trim(CDS_OrderSel.fieldbyname('PRTColor').AsString); + FieldByName('MPRTMF').Value:=Trim(CDS_OrderSel.fieldbyname('MPRTMF').AsString); + FieldByName('MPRTKZ').Value:=Trim(CDS_OrderSel.fieldbyname('MPRTKZ').AsString); + Post; + end; + end; + end; + Next; + end; + end; + CDS_OrderSel.EnableControls; + CDS_Sub.DisableControls; + with CDS_Sub do + begin + First; + while not Eof do + begin + if Trim(Self.CDS_Sub.fieldbyname('SFlag').AsString)<>'2' then + begin + with Self.ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select orderNo=(select OrderNo from JYOrder_Main where MainId=A.MainId), A.*,B.KCQty,B.KCKgQty '); + sql.Add(' from CK_BanCP_CR A inner join CK_BanCP_KC B on A.CRID=B.CRID'); + sql.Add(' where B.KCqty>0 and A.CRType='''' '); + SQL.Add(' and A.SubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+''''); + Open; + end; + with Self.ADOQueryTemp do + begin + First; + while not Eof do + begin + with CDS_Main do + begin + Append; + FieldByName('MainId').Value:=Self.ADOQueryTemp.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.ADOQueryTemp.fieldbyname('SubId').Value; + FieldByName('APId').Value:=Self.ADOQueryTemp.fieldbyname('APId').Value; + FieldByName('OrderNo').Value:=Self.ADOQueryTemp.fieldbyname('OrderNo').Value; + FieldByName('KgQty').Value:=Self.ADOQueryTemp.fieldbyname('KCKgQty').Value; + FieldByName('Qty').Value:=Self.ADOQueryTemp.fieldbyname('KCQty').Value; + FieldByName('QtyUnit').Value:=Self.ADOQueryTemp.fieldbyname('QtyUnit').Value; + FieldByName('MJId').Value:=Self.ADOQueryTemp.fieldbyname('MJId').Value; + FieldByName('CRId').Value:=Self.ADOQueryTemp.fieldbyname('CRId').Value; + FieldByName('CPType').Value:=Self.ADOQueryTemp.fieldbyname('CPType').Value; + Post; + end; + Next; + end; + end; + end; + CDS_Sub.Edit; + CDS_Sub.FieldByName('SFlag').Value:='2'; + CDS_Sub.Post; + Next; + end; + end; + CDS_Sub.EnableControls; + end; + end; + finally + frmOrderSel.Free; + end; +end; + +procedure TfrmCpCkSaoMNew.InitSubGrid(); +begin + try + ADOQuerySub.DisableControls; + with ADOQuerySub do + begin + Close; + sql.Clear; + sql.Add('select A.*,B.*'); + sql.Add(' from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.Mainid'); + sql.Add(' where 1<>1 '); + + Open; + end; + SCreateCDS20(ADOQuerySub,CDS_Sub); + SInitCDSData20(ADOQuerySub,CDS_Sub); + finally + ADOQuerySub.EnableControls; + end; +end; + + +procedure TfrmCpCkSaoMNew.Button1Click(Sender: TObject); +begin + if CDS_MainSel.IsEmpty then Exit; + if Application.MessageBox('ȷҪִд˲','ʾ',32+4)<>IDYES then Exit; + try + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete CK_BanCP_CR where BCID='''+Trim(CDS_MainSel.fieldbyname('BCID').AsString)+''''); + sql.Add('UPdate CK_BanCP_KC Set KCKgQty=(select KgQty from CK_BanCP_CR A where A.CRID=CK_BanCP_KC.CRID and A.CRType='''') '); + sql.Add(',KCQty=(select Qty from CK_BanCP_CR A where A.CRID=CK_BanCP_KC.CRID and A.CRType='''') '); + SQL.Add(' where CRID='+CDS_MainSel.fieldbyname('CRID').AsString); + ExecSQL; + end; + ADOQueryCmd.Connection.CommitTrans; + with CDS_Main do + begin + Append; + FieldByName('MainId').Value:=CDS_MainSel.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.CDS_MainSel.fieldbyname('SubId').Value; + FieldByName('OrderNo').Value:=Self.CDS_MainSel.fieldbyname('OrderNo').Value; + FieldByName('KgQty').Value:=Self.CDS_MainSel.fieldbyname('KgQty').Value; + FieldByName('Qty').Value:=Self.CDS_MainSel.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=Self.CDS_MainSel.fieldbyname('QtyUnit').Value; + FieldByName('MJId').Value:=Self.CDS_MainSel.fieldbyname('MJId').Value; + FieldByName('CRId').Value:=Self.CDS_MainSel.fieldbyname('CRId').Value; + FieldByName('APID').Value:=Self.CDS_MainSel.fieldbyname('APID').Value; + FieldByName('CPType').Value:=Self.CDS_MainSel.fieldbyname('CPType').Value; + Post; + end; + CDS_MainSel.Delete; + MovePanel1.Visible:=True; + if CDS_MainSel.IsEmpty=False then + Edit1.Text:=IntToStr(Tv3.DataController.Summary.FooterSummaryValues[2]) + else + Edit1.Text:='0'; + Edit2.Text:=Trim(CDS_Main.fieldbyname('MJId').AsString); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ɹ','ʾ',0); + end; +end; + +procedure TfrmCpCkSaoMNew.Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if CDS_MainSel.IsEmpty=False then Exit; + if CDS_Sub.IsEmpty then Exit; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + CDS_Main.DisableControls; + with CDS_Main do + begin + First; + while not Eof do + begin + if Trim(CDS_Main.fieldbyname('SubId').AsString)=Trim(CDS_Sub.fieldbyname('SubId').AsString) then + begin + CDS_Main.Delete; + end else + Next; + end; + end; + CDS_Main.EnableControls; + CDS_Sub.Delete; +end; + +procedure TfrmCpCkSaoMNew.Button4Click(Sender: TObject); +begin + MovePanel1.Visible:=False; +end; + +end. diff --git a/打卷检验管理/U_CpCkSaoMNewSel.dfm b/打卷检验管理/U_CpCkSaoMNewSel.dfm new file mode 100644 index 0000000..692a67f --- /dev/null +++ b/打卷检验管理/U_CpCkSaoMNewSel.dfm @@ -0,0 +1,696 @@ +object frmCpCkSaoMNewSel: TfrmCpCkSaoMNewSel + Left = 77 + Top = 61 + Width = 1199 + Height = 616 + Caption = #25104#21697#20986#24211#25195#25551 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object Panel1: TPanel + Left = 0 + Top = 0 + Width = 1183 + Height = 182 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 0 + object Label4: TLabel + Left = 273 + Top = 158 + Width = 48 + Height = 12 + Caption = #20986#24211#26102#38388 + end + object Label5: TLabel + Left = 468 + Top = 134 + Width = 48 + Height = 12 + Caption = #20986#24211#21333#21495 + end + object Label6: TLabel + Left = 103 + Top = 134 + Width = 39 + Height = 12 + Caption = #21367#26465#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 103 + Top = 159 + Width = 39 + Height = 12 + Caption = #20837#24211#21333 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 467 + Top = 158 + Width = 48 + Height = 12 + Caption = #20986#24211#22791#27880 + end + object Label9: TLabel + Left = 272 + Top = 135 + Width = 53 + Height = 12 + Caption = #21253' '#26465' '#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 844 + Top = 129 + Width = 46 + Height = 12 + Caption = #21253#25968#65306'0' + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label1: TLabel + Left = 836 + Top = 158 + Width = 24 + Height = 12 + Caption = #32568#21495 + end + object BaoID: TEdit + Left = 143 + Top = 130 + Width = 101 + Height = 20 + TabOrder = 0 + OnKeyPress = BaoIDKeyPress + end + object Button2: TButton + Left = 750 + Top = 155 + Width = 62 + Height = 20 + Caption = #20851#38381 + TabOrder = 1 + OnClick = Button2Click + end + object Button3: TButton + Left = 24 + Top = 130 + Width = 70 + Height = 20 + Caption = #36873#21333 + TabOrder = 2 + OnClick = Button3Click + end + object Button1: TButton + Left = 750 + Top = 130 + Width = 62 + Height = 20 + Caption = #25764#38144#20986#24211 + TabOrder = 3 + OnClick = Button1Click + end + object cxGrid1: TcxGrid + Left = 2 + Top = 2 + Width = 1179 + Height = 120 + Align = alTop + TabOrder = 4 + object Tv2: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + OnCellDblClick = Tv2CellDblClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.GroupByBox = False + Styles.Footer = DataLink_TradeManage.Default + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 78 + end + object v2Column2: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 112 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'PRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 119 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 80 + end + object v2Column1: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column10: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 83 + end + object v1Column14: TcxGridDBColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 75 + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'PRTMF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 80 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'PRTKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 93 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv2 + end + end + object Button5: TButton + Left = 661 + Top = 129 + Width = 60 + Height = 20 + Caption = #20986#24211 + TabOrder = 5 + OnClick = Button5Click + end + object CRTime: TDateTimePicker + Left = 325 + Top = 154 + Width = 116 + Height = 20 + Date = 41337.663190821760000000 + Time = 41337.663190821760000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + end + object CKOrdNo: TEdit + Left = 516 + Top = 130 + Width = 111 + Height = 20 + TabOrder = 7 + end + object RKOrdID: TEdit + Left = 143 + Top = 154 + Width = 101 + Height = 20 + TabOrder = 8 + OnKeyPress = RKOrdIDKeyPress + end + object CRNote: TEdit + Left = 516 + Top = 154 + Width = 206 + Height = 20 + TabOrder = 9 + end + object mjid: TEdit + Left = 325 + Top = 130 + Width = 116 + Height = 20 + TabOrder = 10 + OnKeyPress = mjidKeyPress + end + object gangno: TEdit + Left = 860 + Top = 154 + Width = 111 + Height = 20 + TabOrder = 11 + OnChange = gangnoChange + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 182 + Width = 577 + Height = 396 + Align = alLeft + TabOrder = 1 + object Tv1: TcxGridDBTableView + PopupMenu = PopupMenu1 + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column5 + end + item + Kind = skSum + Column = v2Column6 + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Format = #21367#25968#37327#65306'#' + Kind = skCount + Column = v1Column1 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object v1Column6: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 41 + end + object v1Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 81 + end + object v1Column3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 57 + end + object v1Column5: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'MJXH' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 40 + end + object v1MJID: TcxGridDBColumn + Caption = #21367#26465#30721 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 89 + end + object v1Column9: TcxGridDBColumn + Caption = #21253#21495 + DataBinding.FieldName = 'BaoNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 50 + end + object v1BAOID: TcxGridDBColumn + Caption = #21253#26465#30721 + DataBinding.FieldName = 'BAOID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 100 + end + object v2Column5: TcxGridDBColumn + Caption = #20844#26020#25968 + DataBinding.FieldName = 'KgQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 55 + end + object v2Column6: TcxGridDBColumn + Caption = #38271#24230 + DataBinding.FieldName = 'Qty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 52 + end + object v1Column2: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'QtyUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 47 + end + object v1Column7: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'CPType' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 50 + end + object v1Column8: TcxGridDBColumn + Caption = #20837#24211#21333#21495 + DataBinding.FieldName = 'RKOrdId' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 86 + end + object v1Column4: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column11: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'MJStr4' + HeaderAlignmentHorz = taCenter + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGrid3: TcxGrid + Left = 577 + Top = 182 + Width = 606 + Height = 396 + Align = alClient + TabOrder = 2 + object Tv3: TcxGridDBTableView + PopupMenu = PopupMenu2 + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DS_MainSel + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + Column = cxGridDBColumn6 + end + item + Format = #21367#25968#37327#65306'#' + Kind = skCount + Column = cxGridDBColumn1 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object v3Column5: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 44 + end + object cxGridDBColumn1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 98 + end + object v3Column3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'MJXH' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 52 + end + object v3MJID: TcxGridDBColumn + Caption = #21367#26465#30721 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 65 + end + object v3BaoNo: TcxGridDBColumn + Caption = #21253#21495 + DataBinding.FieldName = 'BaoNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 55 + end + object v3BAOID: TcxGridDBColumn + Caption = #21253#26465#30721 + DataBinding.FieldName = 'BAOID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 65 + end + object v3Column1: TcxGridDBColumn + Caption = #20844#26020#25968 + DataBinding.FieldName = 'KgQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 59 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #38271#24230 + DataBinding.FieldName = 'Qty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 69 + end + object v3Column2: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'QtyUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 57 + end + object v3Column6: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'CPType' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 59 + end + object v3Column7: TcxGridDBColumn + Caption = #20837#24211#21333#21495 + DataBinding.FieldName = 'RKOrdId' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 61 + end + object v3Column4: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 50 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv3 + end + end + object MovePanel2: TMovePanel + Left = 584 + Top = 264 + Width = 289 + Height = 49 + BevelInner = bvLowered + Caption = #27491#22312#25191#34892#25968#25454#25805#20316#65292#35831#31245#21518#12290#12290#12290 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 976 + Top = 40 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 136 + Top = 216 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 96 + Top = 216 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1072 + Top = 8 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 792 + Top = 64 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 872 + Top = 72 + end + object CDS_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 320 + Top = 48 + end + object DataSource2: TDataSource + DataSet = CDS_Sub + Left = 288 + Top = 48 + end + object ADOQuerySub: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 680 + Top = 64 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 56 + Top = 200 + end + object DS_MainSel: TDataSource + DataSet = CDS_MainSel + Left = 616 + Top = 336 + end + object CDS_MainSel: TClientDataSet + Aggregates = <> + Params = <> + Left = 648 + Top = 336 + end + object cxGridPopupMenu4: TcxGridPopupMenu + Grid = cxGrid3 + PopupMenus = <> + Left = 832 + Top = 312 + end + object PopupMenu1: TPopupMenu + Left = 288 + Top = 528 + object N1: TMenuItem + Caption = #20840#36873 + OnClick = N1Click + end + object N2: TMenuItem + Caption = #20840#24323 + OnClick = N2Click + end + end + object PopupMenu2: TPopupMenu + Left = 936 + Top = 480 + object MenuItem1: TMenuItem + Caption = #20840#36873 + OnClick = MenuItem1Click + end + object MenuItem2: TMenuItem + Caption = #20840#24323 + OnClick = MenuItem2Click + end + end + object ADOQueryPrice: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 608 + Top = 64 + end +end diff --git a/打卷检验管理/U_CpCkSaoMNewSel.pas b/打卷检验管理/U_CpCkSaoMNewSel.pas new file mode 100644 index 0000000..e48118f --- /dev/null +++ b/打卷检验管理/U_CpCkSaoMNewSel.pas @@ -0,0 +1,1232 @@ +unit U_CpCkSaoMNewSel; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ExtCtrls, ADODB, DBClient, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, MovePanel, cxCheckBox, Menus, + ComCtrls,MMSystem, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; + +type + TfrmCpCkSaoMNewSel = class(TForm) + cxGridPopupMenu1: TcxGridPopupMenu; + CDS_Main: TClientDataSet; + DataSource1: TDataSource; + ADOQueryTemp: TADOQuery; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + Panel1: TPanel; + BaoID: TEdit; + Button2: TButton; + Button3: TButton; + CDS_Sub: TClientDataSet; + DataSource2: TDataSource; + ADOQuerySub: TADOQuery; + cxGridPopupMenu2: TcxGridPopupMenu; + DS_MainSel: TDataSource; + CDS_MainSel: TClientDataSet; + Button1: TButton; + cxGridPopupMenu4: TcxGridPopupMenu; + cxGrid1: TcxGrid; + Tv2: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + cxGrid2: TcxGrid; + Tv1: TcxGridDBTableView; + v1Column6: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v2Column5: TcxGridDBColumn; + v2Column6: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + cxGrid2Level1: TcxGridLevel; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + v3Column5: TcxGridDBColumn; + cxGridDBColumn1: TcxGridDBColumn; + v3Column3: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + v3Column1: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + v3Column2: TcxGridDBColumn; + v3Column6: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + PopupMenu1: TPopupMenu; + N1: TMenuItem; + N2: TMenuItem; + PopupMenu2: TPopupMenu; + MenuItem1: TMenuItem; + MenuItem2: TMenuItem; + Button5: TButton; + CRTime: TDateTimePicker; + Label4: TLabel; + Label5: TLabel; + CKOrdNo: TEdit; + ADOQueryPrice: TADOQuery; + Label6: TLabel; + RKOrdID: TEdit; + Label7: TLabel; + v1Column8: TcxGridDBColumn; + v3Column7: TcxGridDBColumn; + MovePanel2: TMovePanel; + v1Column9: TcxGridDBColumn; + v3BaoNo: TcxGridDBColumn; + Label8: TLabel; + CRNote: TEdit; + Label9: TLabel; + mjid: TEdit; + v1BAOID: TcxGridDBColumn; + v3BAOID: TcxGridDBColumn; + v1MJID: TcxGridDBColumn; + v3MJID: TcxGridDBColumn; + Label12: TLabel; + v2Column1: TcxGridDBColumn; + v3Column4: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column11: TcxGridDBColumn; + Label1: TLabel; + gangno: TEdit; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure BaoIDKeyPress(Sender: TObject; var Key: Char); + procedure Button2Click(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure MenuItem1Click(Sender: TObject); + procedure MenuItem2Click(Sender: TObject); + procedure Button5Click(Sender: TObject); + procedure RKOrdIDKeyPress(Sender: TObject; var Key: Char); + procedure mjidKeyPress(Sender: TObject; var Key: Char); + procedure gangnoChange(Sender: TObject); + private + { Private declarations } + procedure InitGrid(); + procedure InitSubGrid(); + function YSData(Order_Main10:TClientDataSet):Boolean; + Procedure JSbaoNum(); + public + { Public declarations } + end; + +var + frmCpCkSaoMNewSel: TfrmCpCkSaoMNewSel; + +implementation +uses +U_DataLink,U_Fun,U_OrderSel ; + +{$R *.dfm} +Procedure TfrmCpCkSaoMNewSel.JSbaoNum(); +var + i:integer; + baoID:string; + strlist:Tstringlist; +begin + i:=0; + baoID:=''; + IF CDS_MainSel.IsEmpty then + begin + Label12.Caption:='0'; + exit; + end; + strlist:=Tstringlist.Create; + try + with CDS_MainSel do + begin + DisableControls; + first; + while not eof do + begin + + IF (trim(fieldbyname('BaoNO').AsString)<>'') then + begin + IF strlist.IndexOf(trim(fieldbyname('subID').AsString)+trim(fieldbyname('BaoNO').AsString))<0 then + begin + strlist.Add(trim(fieldbyname('subID').AsString)+trim(fieldbyname('BaoNO').AsString)); + end; + end; + { IF (trim(fieldbyname('BaoID').AsString)<>trim(baoID)) and (trim(fieldbyname('BaoID').AsString)<>'') then + begin + i:=i+1; + baoID:=trim(fieldbyname('BaoID').AsString); + end; } + Next; + end; + EnableControls; + end; + Label12.Caption:=''+inttostr(strlist.Count); + finally + strlist.Free; + end; +end; + +procedure TfrmCpCkSaoMNewSel.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmCpCkSaoMNewSel.FormDestroy(Sender: TObject); +begin + frmCpCkSaoMNewSel:=nil; +end; +procedure TfrmCpCkSaoMNewSel.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('select A.*,OrderNo=(select OrderNo from JYOrder_Main where MainId=A.MainId) '); + sql.Add(',KHName=(select isnull(customerNoName,OrderNo) from JYOrder_Main where MainId=A.MainId)'); + SQL.Add(',PRTColor=(select PRTColor from JYOrder_Sub where SubId=A.SubId)'); + SQL.Add(',SOrddefstr1=(select SOrddefstr1 from JYOrder_Sub where SubId=A.SubId)'); + sql.Add(',AOrdDefstr1=(select AOrdDefstr1 from JYOrder_Sub_AnPai where ApId=A.ApId)'); + sql.Add(',MJXH=(select MJXH from WFB_MJJY where MJID=A.MJID)'); + sql.Add('from CK_BanCP_CR A'); + sql.add('where 1=2'); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + SCreateCDS20(ADOQueryMain,CDS_MainSel); + SInitCDSData20(ADOQueryMain,CDS_MainSel); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmCpCkSaoMNewSel.FormShow(Sender: TObject); +begin + ReadCxGrid('ѡ',Tv2,'Ʒֿ'); + ReadCxGrid('Ʒ',Tv1,'Ʒֿ'); + ReadCxGrid('ƷSels',Tv3,'Ʒֿ'); + InitSubGrid(); + InitGrid(); + CRTime.DateTime:=SGetServerDate(ADOQueryTemp); +end; + + +procedure TfrmCpCkSaoMNewSel.BaoIDKeyPress(Sender: TObject; var Key: Char); +var + maxno:String; +begin + if Key=#13 then + begin + if CDS_Sub.IsEmpty then + begin + BaoID.Text:=''; + Application.MessageBox('δѡɨ⣡','ʾ',0); + Exit; + end; + if CDS_Main.Locate('MJId',Trim(BaoID.Text),[])=False then + begin + BaoID.Text:=''; + // Application.MessageBox('˾ڴľУ','ʾ',0); + IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\ɨ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\ɨ.wav'),0, SND_ASYNC); + Exit; + end; + CDS_Main.Locate('MJId',Trim(BaoID.Text),[]); + + try + ADOQueryCmd.Connection.BeginTrans; + with CDS_Main do + begin + if GetLSNo(ADOQueryCmd,maxno,'CC','CK_BanCp_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCp_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('BCID').Value:=Trim(maxno); + FieldByName('CRID').Value:=CDS_Main.fieldbyname('CRID').Value; + FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('KGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('MJID').Value:=CDS_Main.fieldbyname('MJID').Value; + FieldByName('MainID').Value:=CDS_Main.fieldbyname('MainID').Value; + FieldByName('SubID').Value:=CDS_Main.fieldbyname('SubID').Value; + FieldByName('APID').Value:=CDS_Main.fieldbyname('APID').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('BaoNo').Value:=CDS_Main.fieldbyname('BaoNo').Value; + FieldByName('Baoid').Value:=CDS_Main.fieldbyname('Baoid').Value; + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + FieldByName('CKOrdNo').Value:=Trim(CKOrdNo.Text); + FieldByName('CRNote').Value:=Trim(CRNote.Text); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update CK_BanCp_KC set KCKgQty=0,KCQty=0 where CRID='+CDS_Main.fieldbyname('CRID').AsString); + sql.Add('Update WFB_MJJY Set MJStr2=''ѳ'' where MJID='''+Trim(CDS_Main.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + end; + { if YSData(CDS_Main)=False then + begin + + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('Ӧտʧ!','ʾ',0); + Exit; + end; } + ADOQueryCmd.Connection.CommitTrans; + with CDS_MainSel do + begin + Append; + FieldByName('MainId').Value:=CDS_Main.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.CDS_Main.fieldbyname('SubId').Value; + FieldByName('OrderNo').Value:=Self.CDS_Main.fieldbyname('OrderNo').Value; + FieldByName('KGQty').Value:=Self.CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=Self.CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=Self.CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('MJId').Value:=Self.CDS_Main.fieldbyname('MJId').Value; + FieldByName('CRId').Value:=Self.CDS_Main.fieldbyname('CRId').Value; + FieldByName('APID').Value:=Self.CDS_Main.fieldbyname('APID').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('BCID').Value:=Trim(maxno); + FieldByName('PRTColor').Value:=Self.CDS_Main.fieldbyname('PRTColor').Value; + FieldByName('SOrddefstr1').Value:=Self.CDS_Main.fieldbyname('SOrddefstr1').Value; + FieldByName('MJXH').Value:=Self.CDS_Main.fieldbyname('MJXH').Value; + FieldByName('AOrdDefstr1').Value:=CDS_Main.fieldbyname('AOrdDefstr1').Value; + FieldByName('KHName').Value:=CDS_Main.fieldbyname('KHName').Value; + FieldByName('RKOrdId').Value:=CDS_Main.fieldbyname('RKOrdId').Value; + FieldByName('BaoNo').Value:=CDS_Main.fieldbyname('BaoNo').Value; + FieldByName('Baoid').Value:=CDS_Main.fieldbyname('Baoid').Value; + Post; + end; + CDS_Main.Delete; + + BaoID.Text:=''; + JSbaoNum(); + IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\ȷ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\ȷ.wav'),0, SND_ASYNC); + Exit; + except + BaoID.Text:=''; + ADOQueryCmd.Connection.RollbackTrans; + IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\ʧ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\ʧ.wav'),0, SND_ASYNC); + // Application.MessageBox('쳣','ʾ',0); + end; + end; +end; + +procedure TfrmCpCkSaoMNewSel.Button2Click(Sender: TObject); +begin + Close; + WriteCxGrid('ѡ',Tv2,'Ʒֿ'); + WriteCxGrid('Ʒ',Tv1,'Ʒֿ'); + WriteCxGrid('ƷSels',Tv3,'Ʒֿ'); +end; + +procedure TfrmCpCkSaoMNewSel.Button3Click(Sender: TObject); +var + maxno,fsj:String; +begin + {if CDS_Main.IsEmpty=False then + begin + Application.MessageBox('ɨ費ܸĵţ','ʾ',0); + Exit; + end;} + + try + frmOrderSel:=TfrmOrderSel.Create(Application); + with frmOrderSel do + begin + if ShowModal=1 then + begin + CDS_OrderSel.DisableControls; + with CDS_OrderSel do + begin + First; + while not Eof do + begin + if FieldByName('SSel').Value=True then + begin + if Self.CDS_Sub.Locate('SubId',Trim(CDS_OrderSel.fieldbyname('SubId').AsString),[])=False then + begin + with Self.CDS_Sub do + begin + Append; + FieldByName('MainId').Value:=Trim(CDS_OrderSel.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(CDS_OrderSel.fieldbyname('SubId').AsString); + FieldByName('CustomerNo').Value:=Trim(CDS_OrderSel.fieldbyname('CustomerNo').AsString); + FieldByName('OrderNo').Value:=Trim(CDS_OrderSel.fieldbyname('OrderNo').AsString); + FieldByName('CustomerNoName').Value:=Trim(CDS_OrderSel.fieldbyname('CustomerNoName').AsString); + FieldByName('PRTCodeName').Value:=Trim(CDS_OrderSel.fieldbyname('PRTCodeName').AsString); + FieldByName('PRTOrderQty').Value:=Trim(CDS_OrderSel.fieldbyname('PRTOrderQty').AsString); + FieldByName('OrderUnit').Value:=Trim(CDS_OrderSel.fieldbyname('OrderUnit').AsString); + FieldByName('PRTColor').Value:=Trim(CDS_OrderSel.fieldbyname('PRTColor').AsString); + FieldByName('SOrddefstr1').Value:=Trim(CDS_OrderSel.fieldbyname('SOrddefstr1').AsString); + FieldByName('PRTMF').Value:=CDS_OrderSel.fieldbyname('PRTMF').AsFloat; + FieldByName('PRTKZ').Value:=CDS_OrderSel.fieldbyname('PRTKZ').asfloat; + //FieldByName('baoNo').Value:=Trim(CDS_OrderSel.fieldbyname('baoNo').AsString); + //FieldByName('baoID').Value:=Trim(CDS_OrderSel.fieldbyname('baoID').AsString); + Post; + end; + end; + end; + Next; + end; + end; + CDS_OrderSel.EnableControls; + end; + end; + finally + frmOrderSel.Free; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete TBSubID where DName='''+Trim(DCode)+''''); + ExecSQL; + end; + CDS_Sub.DisableControls; + with CDS_Sub do + begin + First; + while not Eof do + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('insert into TBSubID select :SubId,:Dname'); + Parameters.ParamByName('SubId').Value:=Trim(CDS_Sub.fieldbyname('SubId').AsString); + Parameters.ParamByName('Dname').Value:=Trim(DCode); + ExecSQL; + end; + Next; + end; + end; + CDS_Sub.EnableControls; + with Self.ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select orderNo=(select OrderNo from JYOrder_Main where MainId=A.MainId), A.* '); + sql.Add(',KHName=(select isnull(customerNoName,OrderNo) from JYOrder_Main where MainId=A.MainId)'); + SQL.Add(',PRTColor=(select PRTColor from JYOrder_Sub where SubId=A.SubId)'); + SQL.Add(',SOrddefstr1=(select SOrddefstr1 from JYOrder_Sub where SubId=A.SubId)'); + sql.Add(',AOrdDefstr1=(select AOrdDefstr1 from JYOrder_Sub_AnPai where ApId=A.ApId)'); + sql.Add(',MJXH=(select MJXH from WFB_MJJY where MJID=A.MJID)'); + sql.Add(',MJStr4=(select MJStr4 from WFB_MJJY where MJID=A.MJID)'); + sql.Add(' from CK_BanCP_CR A inner join CK_BanCP_KC B on A.CRID=B.CRID'); + sql.Add(' where exists( select * from TBSubID AA where AA.SubId=A.SubId and AA.DName='''+Trim(DCode)+''') '); + SQL.Add(' and (B.KCqty>0 OR B.KCKGQty>0) and A.CRType='''' '); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_Main); + SInitCDSData20(ADOQueryTemp,CDS_Main); + if GetLSNo(ADOQueryCmd,maxno,'CK','CK_BanCP_CR',3,1)=False then + begin + Application.MessageBox('ȡⵥʧ!','ʾ',0); + Exit; + end; + CKOrdNo.Text:=Trim(maxno); +end; + +procedure TfrmCpCkSaoMNewSel.InitSubGrid(); +begin + try + ADOQuerySub.DisableControls; + with ADOQuerySub do + begin + Close; + sql.Clear; + sql.Add('select A.*,B.*,C.*'); + sql.Add(' from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.Mainid'); + sql.add(' inner join WFB_MJJY C on C.Subid=B.Subid '); + sql.Add(' where 1<>1 '); + + Open; + end; + SCreateCDS20(ADOQuerySub,CDS_Sub); + SInitCDSData20(ADOQuerySub,CDS_Sub); + finally + ADOQuerySub.EnableControls; + end; +end; + + +procedure TfrmCpCkSaoMNewSel.Button1Click(Sender: TObject); +var + FMainid:String; +begin + if CDS_MainSel.IsEmpty then Exit; + if CDS_MainSel.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪִд˲','ʾ',32+4)<>IDYES then Exit; + MovePanel2.Visible:=True; + MovePanel2.Refresh; + + try + ADOQueryCmd.Connection.BeginTrans; + CDS_MainSel.DisableControls; + with CDS_MainSel do + begin + //First; + while CDS_MainSel.Locate('SSel',True,[])=True do + begin + //if CDS_MainSel.FieldByName('SSel').AsBoolean=True then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete CK_BanCP_CR where BCID='''+Trim(CDS_MainSel.fieldbyname('BCID').AsString)+''''); + sql.Add('UPdate CK_BanCP_KC Set KCKgQty=(select KgQty from CK_BanCP_CR A where A.CRID=CK_BanCP_KC.CRID and A.CRType='''') '); + sql.Add(',KCQty=(select Qty from CK_BanCP_CR A where A.CRID=CK_BanCP_KC.CRID and A.CRType='''') '); + SQL.Add(' where CRID='+CDS_MainSel.fieldbyname('CRID').AsString); + sql.Add('Update WFB_MJJY Set MJStr2='''' where MJID='''+Trim(CDS_MainSel.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + CDS_Main.DisableControls; + with CDS_Main do + begin + Append; + FieldByName('MainId').Value:=CDS_MainSel.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.CDS_MainSel.fieldbyname('SubId').Value; + FieldByName('OrderNo').Value:=Self.CDS_MainSel.fieldbyname('OrderNo').Value; + FieldByName('KgQty').Value:=Self.CDS_MainSel.fieldbyname('KgQty').Value; + FieldByName('Qty').Value:=Self.CDS_MainSel.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=Self.CDS_MainSel.fieldbyname('QtyUnit').Value; + FieldByName('MJId').Value:=Self.CDS_MainSel.fieldbyname('MJId').Value; + FieldByName('CRId').Value:=Self.CDS_MainSel.fieldbyname('CRId').Value; + FieldByName('APID').Value:=Self.CDS_MainSel.fieldbyname('APID').Value; + FieldByName('CPType').Value:=Self.CDS_MainSel.fieldbyname('CPType').Value; + FieldByName('PRTColor').Value:=Self.CDS_MainSel.fieldbyname('PRTColor').Value; + FieldByName('SOrddefstr1').Value:=Self.CDS_MainSel.fieldbyname('SOrddefstr1').Value; + FieldByName('AOrddefstr1').Value:=Self.CDS_MainSel.fieldbyname('AOrddefstr1').Value; + FieldByName('MJXH').Value:=Self.CDS_MainSel.fieldbyname('MJXH').Value; + FieldByName('KHName').Value:=CDS_MainSel.fieldbyname('KHName').Value; + FieldByName('RKOrdID').Value:=CDS_MainSel.fieldbyname('RKOrdID').Value; + FieldByName('BaoNo').Value:=CDS_MainSel.fieldbyname('BaoNo').Value; + FieldByName('Baoid').Value:=CDS_MainSel.fieldbyname('Baoid').Value; + Post; + end; + CDS_Main.EnableControls; + CDS_MainSel.Delete; + end; + end; + end; + CDS_MainSel.EnableControls; + ADOQueryCmd.Connection.CommitTrans; + MovePanel2.Visible:=False; + JSbaoNum(); + Exit; + except + MovePanel2.Visible:=False; + CDS_MainSel.EnableControls; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmCpCkSaoMNewSel.Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if CDS_MainSel.IsEmpty=False then Exit; + if CDS_Sub.IsEmpty then Exit; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + CDS_Main.DisableControls; + with CDS_Main do + begin + First; + while not Eof do + begin + if Trim(CDS_Main.fieldbyname('BaoId').AsString)=Trim(CDS_Sub.fieldbyname('baoId').AsString) then + begin + CDS_Main.Delete; + end else + Next; + end; + end; + CDS_Main.EnableControls; + CDS_Sub.Delete; +end; + +procedure TfrmCpCkSaoMNewSel.N1Click(Sender: TObject); +begin + SelOKNo(CDS_Main,True); +end; + +procedure TfrmCpCkSaoMNewSel.N2Click(Sender: TObject); +begin + SelOKNo(CDS_Main,False); +end; + +procedure TfrmCpCkSaoMNewSel.MenuItem1Click(Sender: TObject); +begin + SelOKNo(CDS_MainSel,True); +end; + +procedure TfrmCpCkSaoMNewSel.MenuItem2Click(Sender: TObject); +begin + SelOKNo(CDS_MainSel,False); +end; + +procedure TfrmCpCkSaoMNewSel.Button5Click(Sender: TObject); +var + maxno:String; + CRID:Integer; + MaxCkNo,MaxCkSubNo:String; +begin + if CDS_Sub.IsEmpty then Exit; + if CDS_Main.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡ!','ʾ',0); + Exit; + end; + if Trim(CKOrdNo.Text)='' then + begin + Application.MessageBox('ⵥŲΪ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪִг','ʾ',32+4)<>IDYES then exit; + MovePanel2.Visible:=True; + MovePanel2.Refresh; + try + ADOQueryCmd.Connection.BeginTrans; + CDS_Main.DisableControls; + CDS_MainSel.DisableControls; + with CDS_Main do + begin + //First; + while CDS_Main.Locate('SSel',True,[])=True do + begin + //if CDS_Main.FieldByName('SSel').AsBoolean=True then + begin + if GetLSNo(ADOQueryCmd,maxno,'CC','CK_BanCp_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCp_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('BCID').Value:=Trim(maxno); + FieldByName('CRID').Value:=CDS_Main.fieldbyname('CRID').Value; + FieldByName('CRTime').Value:=FormatDateTime('yyyy-MM-dd',CRTime.Date); + FieldByName('KGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('MJID').Value:=CDS_Main.fieldbyname('MJID').Value; + FieldByName('MainID').Value:=CDS_Main.fieldbyname('MainID').Value; + FieldByName('SubID').Value:=CDS_Main.fieldbyname('SubID').Value; + FieldByName('APID').Value:=CDS_Main.fieldbyname('APID').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('BaoNo').Value:=CDS_Main.fieldbyname('BaoNo').Value; + FieldByName('Baoid').Value:=CDS_Main.fieldbyname('Baoid').Value; + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + FieldByName('CKOrdNo').Value:=Trim(CKOrdNo.Text); + FieldByName('CRNote').Value:=Trim(CRNote.Text); + //FieldByName('JZXNo').Value:=Trim(JZXNo.Text); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update CK_BanCp_KC set KCKgQty=0,KCQty=0 where CRID='+CDS_Main.fieldbyname('CRID').AsString); + ExecSQL; + end; + + + with CDS_MainSel do + begin + Append; + FieldByName('MainId').Value:=CDS_Main.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.CDS_Main.fieldbyname('SubId').Value; + FieldByName('OrderNo').Value:=Self.CDS_Main.fieldbyname('OrderNo').Value; + FieldByName('KGQty').Value:=Self.CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=Self.CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=Self.CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('MJId').Value:=Self.CDS_Main.fieldbyname('MJId').Value; + FieldByName('CRId').Value:=Self.CDS_Main.fieldbyname('CRId').Value; + FieldByName('APID').Value:=Self.CDS_Main.fieldbyname('APID').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('BCID').Value:=Trim(maxno); + FieldByName('PRTColor').Value:=Self.CDS_Main.fieldbyname('PRTColor').Value; + FieldByName('SOrddefstr1').Value:=Self.CDS_Main.fieldbyname('SOrddefstr1').Value; + FieldByName('MJXH').Value:=Self.CDS_Main.fieldbyname('MJXH').Value; + FieldByName('AOrdDefstr1').Value:=CDS_Main.fieldbyname('AOrdDefstr1').Value; + FieldByName('KHName').Value:=CDS_Main.fieldbyname('KHName').Value; + FieldByName('RKOrdId').Value:=CDS_Main.fieldbyname('RKOrdId').Value; + FieldByName('BaoNo').Value:=CDS_Main.fieldbyname('BaoNo').Value; + FieldByName('Baoid').Value:=CDS_Main.fieldbyname('Baoid').Value; + //FieldByName('JZXNo').Value:=Trim(JZXNo.Text); + Post; + end; + application.ProcessMessages; + CDS_Main.Delete; + end; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set MJStr2=''ѳ'' '); + sql.Add('from WFB_MJJY A '); + sql.Add('inner join CK_BanCp_CR B on B.MJID=A.MJID'); + sql.Add('where B.CKOrdNo='''+trim(CKOrdNo.Text)+''' '); + ExecSQL; + end; + CDS_MainSel.EnableControls; + CDS_Main.EnableControls; + CDS_Sub.DisableControls; + ADOQueryCmd.Connection.CommitTrans; + MovePanel2.Visible:=False; + JSbaoNum(); + Exit; + except + BaoID.Text:=''; + CDS_Main.EnableControls; + MovePanel2.Visible:=False; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; +function TfrmCpCkSaoMNewSel.YSData(Order_Main10:TClientDataSet):Boolean; +var + CRID,YFID,Price,PriceUnit,OrderUnit,FComTaiTou:String; +begin + Result:=False; + + with Order_Main10 do + begin + //First; + //while not Eof do + begin + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1 * from JYOrder_Sub Where Mainid='''+Trim(Order_Main10.fieldbyname('MainId').AsString)+''''); + //sql.Add(' and PRTPrice>0'); + Open; + end; + PriceUnit:=Trim(ADOQueryTemp.fieldbyname('PriceUnit').AsString); + OrderUnit:=Trim(ADOQueryTemp.fieldbyname('OrderUnit').AsString); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select OrdDefStr2 from JYOrder_Main where Mainid='''+Trim(Order_Main10.fieldbyname('MainId').AsString)+''''); + Open; + end; + FComTaiTou:=Trim(ADOQueryTemp.fieldbyname('OrdDefStr2').AsString); + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main10.fieldbyname('KHName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CRID set CRID=CRID+1'); + sql.Add('select * from YF_Money_CRID '); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('FactoryName').Value:=Trim(Order_Main10.fieldbyname('KHName').AsString); + FieldByName('ZdyStr1').Value:='Ӧ'; + Post; + end; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(Order_Main10.fieldbyname('KHName').AsString)+''''); + sql.Add(' and YFTypeId='''+Trim(Order_Main10.fieldbyname('Mainid').AsString)+''''); + //sql.Add(' and Price='+Order_Main10.fieldbyname('PRTPrice').AsString); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + if GetLSNo(ADOQueryCmd,YFID,'CS','YF_Money_CR',3,1)=False then + begin + Application.MessageBox('ȡƷӦʧ!','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('YFID').Value:=Trim(YFID); + FieldByName('YFTypeId').Value:=Trim(Order_Main10.fieldbyname('MainId').AsString); + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRType').Value:='ӦտǼ'; + FieldByName('CRFlag').Value:='Ӧ'; + FieldByName('QtyFlag').Value:=1; + FieldByName('FactoryName').Value:=Trim(Order_Main10.fieldbyname('KHName').AsString); + FieldByName('CRTime').Value:=Trim(FormatDateTime('yyyy-MM-dd',CRTime.Date)); + FieldByName('YFType').Value:='Զ'; + //FieldByName('Price').Value:=Order_Main10.fieldbyname('PRTPrice').Value; + //FieldByName('HuiLv').Value:=1; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1 HuiLv from YF_Money_CR '); + sql.Add(' where Mainid='''+Trim(Order_Main10.fieldbyname('Mainid').AsString)+''''); + sql.Add(' and CRType=''տǼ'' '); + SQL.Add(' and YFDefFlag1=0'); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + ADOQueryCmd.FieldByName('HuiLv').Value:=ADOQueryTemp.fieldbyname('HuiLv').Value; + end; + FieldByName('BZType').Value:=Trim(PriceUnit); + FieldByName('QtyUnit').Value:=Trim(OrderUnit); + FieldByName('ComTaiTou').Value:=Trim(FComTaiTou); + FieldByName('YFName').Value:='۽'; + FieldByName('MainId').Value:=Trim(Order_Main10.fieldbyname('Mainid').AsString); + Post; + end; + end else + begin + YFID:=Trim(ADOQueryTemp.fieldbyname('YFID').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + if Trim(OrderUnit)<>'Kg' then + begin + sql.Add('update YF_Money_CR Set Qty=(select isnull(Sum(A.Qty),0) from CK_BanCP_CR A '); + end else + begin + sql.Add('update YF_Money_CR Set Qty=(select isnull(Sum(A.KgQty),0) from CK_BanCP_CR A '); + end; + sql.Add(' inner join JYOrder_Sub B on A.SubId=B.SubId where'); + SQL.Add(' A.MainId=YF_Money_CR.YFTypeId and A.CRType='''' and CPType=''Ʒ'' '); + SQL.Add(' )'); //and B.PRTPrice=YF_Money_CR.Price + sql.Add(',PS=(select isnull(count(*),0) from CK_BanCP_CR A '); + sql.Add(' inner join JYOrder_Sub B on A.SubId=B.SubId where'); + SQL.Add(' A.MainId=YF_Money_CR.YFTypeId and A.CRType='''' and CPType=''Ʒ'' '); + SQL.Add(' )'); //and B.PRTPrice=YF_Money_CR.Price + sql.Add(' where YFTypeId='''+Trim(Order_Main10.fieldbyname('Mainid').AsString)+''''); + ExecSQL; + end; + {with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CR Set Money=Price*Qty,BBMoney=Price*Qty*HuiLv'); + sql.Add(' where YFID='''+Trim(YFID)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end;} + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where YFId='''+Trim(YFID)+''''); + Open; + end; + if ADOQueryTemp.FieldByName('Qty').Value=0 then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete from YF_Money_CR where YFID='''+Trim(YFID)+''''); + ExecSQL; + end; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where CRId='+CRID); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete from YF_Money_KC where CRId='+CRID); + ExecSQL; + end; + end; + //Next; + end; + end; + Result:=True; +end; + +procedure TfrmCpCkSaoMNewSel.RKOrdIDKeyPress(Sender: TObject; + var Key: Char); +var + maxno:String; +begin + if Key=#13 then + begin + if CDS_Sub.IsEmpty then + begin + BaoID.Text:=''; + Application.MessageBox('δѡɨ⣡','ʾ',0); + Exit; + end; + if CDS_Main.Locate('RKOrdId',Trim(RKOrdId.Text),[])=False then + begin + RKOrdId.Text:=''; + // Application.MessageBox('ⵥڴľУ','ʾ',0); + IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\ɨ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\ɨ.wav'),0, SND_ASYNC); + Exit; + end; + //CDS_Main.Locate('MJId',Trim(BaoID.Text),[]); + MovePanel2.Visible:=True; + MovePanel2.Refresh; + try + ADOQueryCmd.Connection.BeginTrans; + with CDS_Main do + begin + First; + while CDS_Main.Locate('RKOrdId',Trim(RKOrdId.Text),[])=True do + begin + if GetLSNo(ADOQueryCmd,maxno,'CC','CK_BanCp_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCp_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('BCID').Value:=Trim(maxno); + FieldByName('CRID').Value:=CDS_Main.fieldbyname('CRID').Value; + FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('KGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('MJID').Value:=CDS_Main.fieldbyname('MJID').Value; + FieldByName('MainID').Value:=CDS_Main.fieldbyname('MainID').Value; + FieldByName('SubID').Value:=CDS_Main.fieldbyname('SubID').Value; + FieldByName('APID').Value:=CDS_Main.fieldbyname('APID').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('BaoNo').Value:=CDS_Main.fieldbyname('BaoNo').Value; + FieldByName('Baoid').Value:=CDS_Main.fieldbyname('Baoid').Value; + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + FieldByName('CRNote').Value:=Trim(CRNote.Text); + FieldByName('CKordNO').Value:=trim(CKordNo.text); + //FieldByName('JZXNo').Value:=Trim(JZXNo.Text); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update CK_BanCp_KC set KCKgQty=0,KCQty=0 where CRID='+CDS_Main.fieldbyname('CRID').AsString); + sql.Add('Update WFB_MJJY Set MJStr2=''ѳ'' where MJID='''+Trim(CDS_Main.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + {if YSData(CDS_Main)=False then + begin + + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('Ӧտʧ!','ʾ',0); + Exit; + end; } + + with CDS_MainSel do + begin + Append; + FieldByName('MainId').Value:=CDS_Main.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.CDS_Main.fieldbyname('SubId').Value; + FieldByName('OrderNo').Value:=Self.CDS_Main.fieldbyname('OrderNo').Value; + FieldByName('KGQty').Value:=Self.CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=Self.CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=Self.CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('MJId').Value:=Self.CDS_Main.fieldbyname('MJId').Value; + FieldByName('CRId').Value:=Self.CDS_Main.fieldbyname('CRId').Value; + FieldByName('APID').Value:=Self.CDS_Main.fieldbyname('APID').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('BCID').Value:=Trim(maxno); + FieldByName('PRTColor').Value:=Self.CDS_Main.fieldbyname('PRTColor').Value; + FieldByName('SOrddefstr1').Value:=Self.CDS_Main.fieldbyname('SOrddefstr1').Value; + FieldByName('MJXH').Value:=Self.CDS_Main.fieldbyname('MJXH').Value; + //FieldByName('AOrdDefstr1').Value:=CDS_Main.fieldbyname('AOrdDefstr1').Value; + FieldByName('KHName').Value:=CDS_Main.fieldbyname('KHName').Value; + FieldByName('RKOrdId').Value:=CDS_Main.fieldbyname('RKOrdId').Value; + FieldByName('BaoNo').Value:=CDS_Main.fieldbyname('BaoNo').Value; + FieldByName('Baoid').Value:=CDS_Main.fieldbyname('Baoid').Value; + //FieldByName('JZXNo').Value:=Trim(JZXNo.Text); + Post; + end; + CDS_Main.Delete; + end; + + end; + ADOQueryCmd.Connection.CommitTrans; + RKOrdID.Text:=''; + MovePanel2.Visible:=False; + JSbaoNum(); + IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\ȷ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\ȷ.wav'),0, SND_ASYNC); + Exit; + except + RKOrdID.Text:=''; + MovePanel2.Visible:=False; + ADOQueryCmd.Connection.RollbackTrans; + IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\ʧ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\ʧ.wav'),0, SND_ASYNC); + // Application.MessageBox('쳣','ʾ',0); + end; + end; +end; + +procedure TfrmCpCkSaoMNewSel.mjidKeyPress(Sender: TObject; var Key: Char); +var + maxno:String; +begin + if Key=#13 then + begin + if CDS_Sub.IsEmpty then + begin + mjid.Text:=''; + Application.MessageBox('δѡɨ⣡','ʾ',0); + Exit; + end; + if CDS_Main.Locate('Baoid',Trim(mjid.Text),[])=False then + begin + mjid.Text:=''; + // Application.MessageBox('˰ŲڴľУ','ʾ',0); + IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\ɨ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\ɨ.wav'),0, SND_ASYNC); + Exit; + end; + MovePanel2.Visible:=True; + MovePanel2.Refresh; + try + ADOQueryCmd.Connection.BeginTrans; + with CDS_Main do + begin + First; + while CDS_Main.Locate('baoid',Trim(mjid.Text),[])=True do + begin + if GetLSNo(ADOQueryCmd,maxno,'CC','CK_BanCp_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCp_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('BCID').Value:=Trim(maxno); + FieldByName('CRID').Value:=CDS_Main.fieldbyname('CRID').Value; + FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('KGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('MJID').Value:=CDS_Main.fieldbyname('MJID').Value; + FieldByName('MainID').Value:=CDS_Main.fieldbyname('MainID').Value; + FieldByName('SubID').Value:=CDS_Main.fieldbyname('SubID').Value; + FieldByName('APID').Value:=CDS_Main.fieldbyname('APID').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('BaoNo').Value:=CDS_Main.fieldbyname('BaoNo').Value; + FieldByName('Baoid').Value:=CDS_Main.fieldbyname('Baoid').Value; + FieldByName('CKordNO').Value:=trim(CKordNo.text); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + FieldByName('CRNote').Value:=Trim(CRNote.Text); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update CK_BanCp_KC set KCKgQty=0,KCQty=0 where CRID='+CDS_Main.fieldbyname('CRID').AsString); + sql.Add('Update WFB_MJJY Set MJStr2=''ѳ'' where MJID='''+Trim(CDS_Main.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + {if YSData(CDS_Main)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('Ӧտʧ!','ʾ',0); + Exit; + end; } + with CDS_MainSel do + begin + Append; + FieldByName('MainId').Value:=CDS_Main.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.CDS_Main.fieldbyname('SubId').Value; + FieldByName('OrderNo').Value:=Self.CDS_Main.fieldbyname('OrderNo').Value; + FieldByName('KGQty').Value:=Self.CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=Self.CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=Self.CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('MJId').Value:=Self.CDS_Main.fieldbyname('MJId').Value; + FieldByName('CRId').Value:=Self.CDS_Main.fieldbyname('CRId').Value; + FieldByName('APID').Value:=Self.CDS_Main.fieldbyname('APID').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('BCID').Value:=Trim(maxno); + FieldByName('PRTColor').Value:=Self.CDS_Main.fieldbyname('PRTColor').Value; + FieldByName('SOrddefstr1').Value:=Self.CDS_Main.fieldbyname('SOrddefstr1').Value; + FieldByName('MJXH').Value:=Self.CDS_Main.fieldbyname('MJXH').Value; + FieldByName('KHName').Value:=CDS_Main.fieldbyname('KHName').Value; + FieldByName('RKOrdId').Value:=CDS_Main.fieldbyname('RKOrdId').Value; + FieldByName('BaoNo').Value:=CDS_Main.fieldbyname('BaoNo').Value; + FieldByName('Baoid').Value:=CDS_Main.fieldbyname('Baoid').Value; + Post; + end; + CDS_Main.Delete; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + mjid.Text:=''; + MovePanel2.Visible:=False; + JSbaoNum(); + IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\ȷ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\ȷ.wav'),0, SND_ASYNC); + Exit; + except + mjid.Text:=''; + MovePanel2.Visible:=False; + ADOQueryCmd.Connection.RollbackTrans; + IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\ʧ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\ʧ.wav'),0, SND_ASYNC); +// Application.MessageBox('쳣','ʾ',0); + end; + end; +end; + + + +procedure TfrmCpCkSaoMNewSel.gangnoChange(Sender: TObject); +begin + with Self.ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select orderNo=(select OrderNo from JYOrder_Main where MainId=A.MainId), A.* '); + sql.Add(',KHName=(select isnull(customerNoName,OrderNo) from JYOrder_Main where MainId=A.MainId)'); + SQL.Add(',PRTColor=(select PRTColor from JYOrder_Sub where SubId=A.SubId)'); + SQL.Add(',SOrddefstr1=(select SOrddefstr1 from JYOrder_Sub where SubId=A.SubId)'); + sql.Add(',AOrdDefstr1=(select AOrdDefstr1 from JYOrder_Sub_AnPai where ApId=A.ApId)'); + sql.Add(',MJXH=(select MJXH from WFB_MJJY where MJID=A.MJID)'); + sql.Add(',MJStr4=(select MJStr4 from WFB_MJJY where MJID=A.MJID)'); + sql.Add(' from CK_BanCP_CR A inner join CK_BanCP_KC B on A.CRID=B.CRID'); + sql.Add(' where exists( select * from TBSubID AA where AA.SubId=A.SubId and AA.DName='''+Trim(DCode)+''') '); + SQL.Add(' and (B.KCqty>0 OR B.KCKGQty>0) and A.CRType='''' '); + if gangno.Text<>'' then + begin + SQL.Add('and (select MJStr4 from WFB_MJJY where MJID=A.MJID)='''+gangno.Text+''''); + end; + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_Main); + SInitCDSData20(ADOQueryTemp,CDS_Main); +end; + +end. diff --git a/打卷检验管理/U_CpRkSaoMNew.dfm b/打卷检验管理/U_CpRkSaoMNew.dfm new file mode 100644 index 0000000..1515c9a --- /dev/null +++ b/打卷检验管理/U_CpRkSaoMNew.dfm @@ -0,0 +1,952 @@ +object frmCpRkSaoMNew: TfrmCpRkSaoMNew + Left = -8 + Top = -8 + Width = 1382 + Height = 754 + Caption = #25104#21697#20837#24211#25195#25551 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object cxGrid2: TcxGrid + Left = 0 + Top = 209 + Width = 516 + Height = 506 + Align = alLeft + TabOrder = 0 + object Tv1: TcxGridDBTableView + PopupMenu = PopupMenu1 + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column5 + end + item + Kind = skSum + Column = v2Column6 + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Format = #21367#25968#37327#65306'#' + Kind = skCount + Column = v1Column1 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object v1Column6: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 41 + end + object v1Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 89 + end + object v1Column3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 54 + end + object v1Column5: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'MJXH' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 43 + end + object v1mjid: TcxGridDBColumn + Caption = #21367#26465#30721 + DataBinding.FieldName = 'mjid' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 65 + end + object v2Column5: TcxGridDBColumn + Caption = #20844#26020#25968 + DataBinding.FieldName = 'KGQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 67 + end + object v2Column6: TcxGridDBColumn + Caption = #38271#24230 + DataBinding.FieldName = 'Qty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 56 + end + object v1BaoNo: TcxGridDBColumn + Caption = #21253#21495 + DataBinding.FieldName = 'BaoNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 65 + end + object v1baoID: TcxGridDBColumn + Caption = #21253#26465#30721 + DataBinding.FieldName = 'baoID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 101 + end + object v1Column2: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'QtyUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 53 + end + object v1Column7: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'CPType' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 56 + end + object v1Column4: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 50 + end + object v1Column8: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'AOrdDefStr1' + HeaderAlignmentHorz = taCenter + Width = 65 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel1: TPanel + Left = 0 + Top = 0 + Width = 1366 + Height = 209 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 1 + object Label1: TLabel + Left = 58 + Top = 125 + Width = 51 + Height = 16 + Caption = #21367#26465#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 311 + Top = 168 + Width = 68 + Height = 16 + Caption = #20837#24211#26102#38388 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 9 + Top = 152 + Width = 34 + Height = 48 + Caption = #20837#24211#13#10' '#21333#13#10#26465#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 559 + Top = 125 + Width = 34 + Height = 16 + Caption = #24211#20301 + Font.Charset = GB2312_CHARSET + Font.Color = clGreen + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 958 + Top = 172 + Width = 34 + Height = 16 + Caption = #21253#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label8: TLabel + Left = 1047 + Top = 109 + Width = 40 + Height = 19 + Caption = #25171#21253 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label9: TLabel + Left = 259 + Top = 124 + Width = 51 + Height = 16 + Caption = #21253#26465#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 844 + Top = 124 + Width = 46 + Height = 12 + Caption = #21253#25968#65306'0' + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 703 + Top = 179 + Width = 34 + Height = 16 + Caption = #31867#22411 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 703 + Top = 155 + Width = 34 + Height = 16 + Caption = #32568#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BaoID: TEdit + Left = 111 + Top = 121 + Width = 137 + Height = 24 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 0 + OnKeyPress = BaoIDKeyPress + end + object Button2: TButton + Left = 606 + Top = 162 + Width = 75 + Height = 29 + Caption = #20851#38381 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Button2Click + end + object Button3: TButton + Left = 7 + Top = 116 + Width = 42 + Height = 29 + Caption = #36873#21333 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button3Click + end + object Button1: TButton + Left = 507 + Top = 161 + Width = 87 + Height = 31 + Caption = #25764#38144#20837#24211 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = Button1Click + end + object cxGrid1: TcxGrid + Left = 2 + Top = 2 + Width = 1362 + Height = 103 + Align = alTop + TabOrder = 4 + object Tv2: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + OnCellDblClick = Tv2CellDblClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.GroupByBox = False + Styles.Footer = DataLink_TradeManage.Default + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 78 + end + object v2Column2: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 82 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'PRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 77 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 75 + end + object v2Column1: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column10: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 64 + end + object v1Column14: TcxGridDBColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 75 + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'PRTMF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 60 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'PRTKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 66 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv2 + end + end + object Button5: TButton + Left = 464 + Top = 118 + Width = 82 + Height = 31 + Caption = #25163#24037#20837#24211 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + OnClick = Button5Click + end + object CRTime: TDateTimePicker + Left = 388 + Top = 164 + Width = 107 + Height = 24 + Date = 41337.663190821760000000 + Time = 41337.663190821760000000 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 6 + end + object Button6: TButton + Left = 247 + Top = 156 + Width = 43 + Height = 40 + Caption = #33719#21462 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + OnClick = Button6Click + end + object RKOrdID: TEdit + Left = 48 + Top = 156 + Width = 200 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + end + object RKPlace: TBtnEditA + Left = 594 + Top = 119 + Width = 177 + Height = 29 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 9 + OnBtnClick = RKPlaceBtnClick + end + object BaoNo: TEdit + Left = 1121 + Top = 154 + Width = 175 + Height = 44 + BiDiMode = bdLeftToRight + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = 'Times New Roman' + Font.Style = [fsBold] + ParentBiDiMode = False + ParentFont = False + TabOrder = 10 + Visible = False + end + object RKOrdPS: TEdit + Left = 962 + Top = 125 + Width = 91 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -35 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 11 + Visible = False + end + object Button7: TButton + Left = 994 + Top = 158 + Width = 41 + Height = 40 + Caption = #25171#21360 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 12 + Visible = False + OnClick = Button7Click + end + object Button8: TButton + Left = 1022 + Top = 134 + Width = 96 + Height = 40 + Caption = #25171#21360#21253#26631#31614 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 13 + Visible = False + OnClick = Button8Click + end + object ComboBox1: TComboBox + Left = 1007 + Top = 124 + Width = 67 + Height = 24 + Style = csDropDownList + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ItemHeight = 16 + ParentFont = False + TabOrder = 14 + Visible = False + Items.Strings = ( + #27491#21697 + #27425#21697 + #30041#26679 + '') + end + object Edit3: TEdit + Left = 1020 + Top = 105 + Width = 31 + Height = 27 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + ReadOnly = True + TabOrder = 15 + Text = #8730 + Visible = False + OnClick = Edit3Click + end + object MJID: TEdit + Left = 311 + Top = 121 + Width = 135 + Height = 24 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 16 + OnKeyPress = MJIDKeyPress + end + object MJType: TComboBox + Tag = 2 + Left = 744 + Top = 179 + Width = 97 + Height = 20 + ItemHeight = 12 + TabOrder = 17 + OnChange = MJTypeChange + Items.Strings = ( + #27491#21697 + #27425#21697) + end + object Edit1: TEdit + Left = 743 + Top = 152 + Width = 97 + Height = 20 + TabOrder = 18 + OnChange = Edit1Change + end + end + object cxGrid3: TcxGrid + Left = 516 + Top = 209 + Width = 850 + Height = 506 + Align = alClient + TabOrder = 2 + object Tv3: TcxGridDBTableView + PopupMenu = PopupMenu2 + Navigator.Buttons.CustomButtons = <> + OnCellClick = Tv3CellClick + DataController.DataSource = DS_MainSel + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + Column = cxGridDBColumn6 + end + item + Format = #21367#25968#37327#65306'#' + Kind = skCount + Column = cxGridDBColumn1 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object v3Column5: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 44 + end + object cxGridDBColumn1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 98 + end + object v3Column3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'MJXH' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 52 + end + object v3MJID: TcxGridDBColumn + Caption = #21367#26465#30721 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 65 + end + object v3BaoNo: TcxGridDBColumn + Caption = #21253#21495 + DataBinding.FieldName = 'BaoNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v3Baoid: TcxGridDBColumn + Caption = #21253#26465#30721 + DataBinding.FieldName = 'Baoid' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 90 + end + object v3Column1: TcxGridDBColumn + Caption = #20844#26020#25968 + DataBinding.FieldName = 'KgQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 59 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #38271#24230 + DataBinding.FieldName = 'Qty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 69 + end + object v3Column2: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'QtyUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 57 + end + object v3Column6: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'CPType' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 59 + end + object v3Column7: TcxGridDBColumn + Caption = #20837#24211#21333#21495 + DataBinding.FieldName = 'RKOrdID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 82 + end + object v3Column4: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 50 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv3 + end + end + object MovePanel2: TMovePanel + Left = 536 + Top = 272 + Width = 289 + Height = 49 + BevelInner = bvLowered + Caption = #27491#22312#25191#34892#25968#25454#25805#20316#65292#35831#31245#21518#12290#12290#12290 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 816 + Top = 48 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 132 + Top = 240 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 84 + Top = 248 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 624 + Top = 56 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 664 + Top = 40 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 728 + Top = 48 + end + object CDS_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 808 + Top = 48 + end + object DataSource2: TDataSource + DataSet = CDS_Sub + Left = 856 + Top = 48 + end + object ADOQuerySub: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 688 + Top = 56 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 60 + Top = 177 + end + object cxGridPopupMenu3: TcxGridPopupMenu + PopupMenus = <> + Left = 776 + Top = 48 + end + object DS_MainSel: TDataSource + DataSet = CDS_MainSel + Left = 616 + Top = 336 + end + object CDS_MainSel: TClientDataSet + Aggregates = <> + Params = <> + Left = 648 + Top = 336 + end + object cxGridPopupMenu4: TcxGridPopupMenu + Grid = cxGrid3 + PopupMenus = <> + Left = 832 + Top = 312 + end + object PopupMenu1: TPopupMenu + Left = 344 + Top = 544 + object N1: TMenuItem + Caption = #20840#36873 + OnClick = N1Click + end + object N2: TMenuItem + Caption = #20840#24323 + OnClick = N2Click + end + end + object PopupMenu2: TPopupMenu + Left = 936 + Top = 480 + object MenuItem1: TMenuItem + Caption = #20840#36873 + OnClick = MenuItem1Click + end + object MenuItem2: TMenuItem + Caption = #20840#24323 + OnClick = MenuItem2Click + end + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 664 + Top = 64 + ReportData = {} + end + object ADOQueryPrt: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 952 + Top = 72 + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrt + Left = 776 + Top = 384 + end +end diff --git a/打卷检验管理/U_CpRkSaoMNew.pas b/打卷检验管理/U_CpRkSaoMNew.pas new file mode 100644 index 0000000..56ece88 --- /dev/null +++ b/打卷检验管理/U_CpRkSaoMNew.pas @@ -0,0 +1,1450 @@ +unit U_CpRkSaoMNew; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ExtCtrls, ADODB, DBClient, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, MovePanel, cxCheckBox, Menus, + ComCtrls, BtnEdit, RM_System, RM_Common, RM_Class, RM_GridReport, + RM_Dataset,MMSystem, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; + +type + TfrmCpRkSaoMNew = class(TForm) + cxGrid2: TcxGrid; + Tv1: TcxGridDBTableView; + v1Column1: TcxGridDBColumn; + v2Column5: TcxGridDBColumn; + v2Column6: TcxGridDBColumn; + cxGrid2Level1: TcxGridLevel; + cxGridPopupMenu1: TcxGridPopupMenu; + CDS_Main: TClientDataSet; + DataSource1: TDataSource; + ADOQueryTemp: TADOQuery; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + Panel1: TPanel; + BaoID: TEdit; + Label1: TLabel; + v1Column5: TcxGridDBColumn; + Button2: TButton; + Button3: TButton; + CDS_Sub: TClientDataSet; + DataSource2: TDataSource; + ADOQuerySub: TADOQuery; + cxGridPopupMenu2: TcxGridPopupMenu; + cxGridPopupMenu3: TcxGridPopupMenu; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + DS_MainSel: TDataSource; + CDS_MainSel: TClientDataSet; + v3Column1: TcxGridDBColumn; + Button1: TButton; + cxGridPopupMenu4: TcxGridPopupMenu; + cxGrid1: TcxGrid; + Tv2: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1Column2: TcxGridDBColumn; + v3Column2: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v3Column3: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v3Column5: TcxGridDBColumn; + Button5: TButton; + v1Column7: TcxGridDBColumn; + v3Column6: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N1: TMenuItem; + N2: TMenuItem; + PopupMenu2: TPopupMenu; + MenuItem1: TMenuItem; + MenuItem2: TMenuItem; + MovePanel2: TMovePanel; + CRTime: TDateTimePicker; + Label4: TLabel; + Button6: TButton; + RKOrdID: TEdit; + RKPlace: TBtnEditA; + Label5: TLabel; + Label6: TLabel; + Label7: TLabel; + BaoNo: TEdit; + RKOrdPS: TEdit; + Button7: TButton; + v3Column7: TcxGridDBColumn; + RM1: TRMGridReport; + Button8: TButton; + ADOQueryPrt: TADOQuery; + RMDB_Main: TRMDBDataSet; + v3BaoNo: TcxGridDBColumn; + ComboBox1: TComboBox; + Edit3: TEdit; + Label8: TLabel; + v1BaoNo: TcxGridDBColumn; + v1baoID: TcxGridDBColumn; + v3Baoid: TcxGridDBColumn; + Label9: TLabel; + MJID: TEdit; + v1mjid: TcxGridDBColumn; + v3MJID: TcxGridDBColumn; + Label12: TLabel; + v2Column1: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v3Column4: TcxGridDBColumn; + MJType: TComboBox; + Label2: TLabel; + v1Column8: TcxGridDBColumn; + Edit1: TEdit; + Label3: TLabel; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure BaoIDKeyPress(Sender: TObject; var Key: Char); + procedure Button2Click(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button5Click(Sender: TObject); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure MenuItem1Click(Sender: TObject); + procedure MenuItem2Click(Sender: TObject); + procedure Button6Click(Sender: TObject); + procedure RKPlaceBtnClick(Sender: TObject); + procedure Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button7Click(Sender: TObject); + procedure Button8Click(Sender: TObject); + procedure Edit3Click(Sender: TObject); + procedure MJIDKeyPress(Sender: TObject; var Key: Char); + procedure MJTypeChange(Sender: TObject); + procedure Edit1Change(Sender: TObject); + private + { Private declarations } + FBaoId:String; + procedure InitGrid(); + procedure InitSubGrid(); + procedure SavedataCK(); + Procedure JSbaoNum(); + + public + { Public declarations } + end; + +var + frmCpRkSaoMNew: TfrmCpRkSaoMNew; + +implementation +uses +U_DataLink,U_Fun,U_OrderSelRK,U_ZDYHelp; + +{$R *.dfm} +Procedure TfrmCpRkSaoMNew.JSbaoNum(); +var + i:integer; + baoID:string; + strlist:Tstringlist; +begin + i:=0; + baoID:=''; + IF CDS_MainSel.IsEmpty then + begin + Label12.Caption:='0'; + exit; + end; + strlist:=Tstringlist.Create; + try + with CDS_MainSel do + begin + DisableControls; + first; + while not eof do + begin + + IF (trim(fieldbyname('BaoID').AsString)<>'') then + begin + IF strlist.IndexOf(trim(fieldbyname('BaoID').AsString))<0 then + begin + strlist.Add(trim(fieldbyname('BaoID').AsString)); + end; + end; + { IF (trim(fieldbyname('BaoID').AsString)<>trim(baoID)) and (trim(fieldbyname('BaoID').AsString)<>'') then + begin + i:=i+1; + baoID:=trim(fieldbyname('BaoID').AsString); + end; } + Next; + end; + EnableControls; + end; + Label12.Caption:=''+inttostr(strlist.Count); + finally + strlist.Free; + end; +end; + + +procedure TfrmCpRkSaoMNew.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmCpRkSaoMNew.FormDestroy(Sender: TObject); +begin + frmCpRkSaoMNew:=nil; +end; + +procedure TfrmCpRkSaoMNew.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('select A.*,OrderNo=(select OrderNo from JYOrder_Main where MainId=A.MainId) '); + SQL.Add(',PRTColor=(select PRTColor from JYOrder_Sub where SubId=A.SubId)'); + SQL.Add(',SOrddefstr1=(select SOrddefstr1 from JYOrder_Sub where SubId=A.SubId)'); + sql.Add(',AOrdDefstr1=(select AOrdDefstr1 from JYOrder_Sub_AnPai where ApId=A.ApId)'); + sql.Add(',MJXH=(select MJXH from WFB_MJJY where MJID=A.MJID)'); + sql.Add('from CK_BanCP_CR A'); + sql.add('where 1=2'); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + + SCreateCDS20(ADOQueryMain,CDS_MainSel); + SInitCDSData20(ADOQueryMain,CDS_MainSel); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmCpRkSaoMNew.FormShow(Sender: TObject); +begin + ReadCxGrid('ѡ',Tv2,'Ʒֿ'); + ReadCxGrid('Ʒ',Tv1,'Ʒֿ'); + ReadCxGrid('ƷSels',Tv3,'Ʒֿ'); + InitSubGrid(); + InitGrid(); + CRTime.DateTime:=SGetServerDate(ADOQueryTemp); +end; + +procedure TfrmCpRkSaoMNew.BaoIDKeyPress(Sender: TObject; var Key: Char); +var + maxno:String; + CRID:Integer; + MaxCkNo,MaxCkSubNo:String; +begin + if Key=#13 then + begin + if CDS_Sub.IsEmpty then + begin + BaoID.Text:=''; + Application.MessageBox('δѡɨ⣡','ʾ',0); + Exit; + end; + if Trim(RKOrdID.Text)='' then + begin + Application.MessageBox('ⵥŲΪ!','ʾ',0); + Exit; + end; + { if Trim(RKPlace.Text)='' then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; } + {if Trim(BaoNo.Text)='' then + begin + if Trim(Edit3.Text)='' then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select BaoInt=max(Cast(BaoNo as int))+1 from CK_BanCP_CR where Mainid='''+Trim(CDS_Main.fieldbyname('Mainid').AsString)+''''); + Open; + end; + BaoNo.Text:=ADOQueryTemp.fieldbyname('BaoInt').AsString; + end; + end;} + + {with ADOQueryMain do + begin + close; + sql.Clear; + sql.Add('select * from WFB_MJJY where isnull(MJStr2,'''')<>'''' and '); + sql.add('(Baoid='''+trim(Baoid.Text)+''' or MJID='''+trim(Baoid.Text)+''')'); + open; + if isempty then + begin + BaoID.Text:=''; + application.MessageBox('˾ûд˵ţ','ʾ'); + exit; + end; + end;} + if CDS_Main.Locate('MJId',Trim(BaoID.Text),[])=False then + begin + BaoID.Text:=''; + // Application.MessageBox('˾ڴľУ','ʾ',0); + IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\ɨ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\ɨ.wav'),0, SND_ASYNC); + Exit; + end; + CDS_Main.Locate('MJId',Trim(BaoID.Text),[]); + + try + ADOQueryCmd.Connection.BeginTrans; + {with CDS_Main do + begin + first; + while not eof do + begin + IF CDS_Main.Locate('BaoId',Trim(BaoID.Text),[])=True then + begin} + with CDS_Main do + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.add('Update CK_BanCP_CRID Set CRID=CRID+1'); + sql.Add('select * from CK_BanCP_CRID'); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').Value; + {if Trim(FBaoId)='' then + begin + if Trim(CDS_Sub.fieldbyname('BaoNo').AsString)<>'' then + begin + if GetLSNo(ADOQueryCmd,FBaoId,'9','CK_BanCP_CR',3,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡƷֿʧܣ','ʾ',0); + Exit; + end; + end; + end else + begin + if Trim(BaoNo.Text)='' then + begin + FBaoId:=''; + end; + end;} + if GetLSNo(ADOQueryCmd,MaxCkNo,'JR','CK_BanCP_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡƷֿʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(CDS_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(CDS_Main.fieldbyname('SubId').AsString); + FieldByName('APID').Value:=Trim(CDS_Main.fieldbyname('APID').AsString); + FieldByName('MJID').Value:=Trim(CDS_Main.fieldbyname('MJId').AsString); + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + //FieldByName('JTType').Value:=Trim(XJFlag); + FieldByName('CRID').Value:=CRID; + FieldByName('KGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('Filler').Value:=Trim(DName); + FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('RKOrdId').Value:=Trim(RKOrdID.Text); + FieldByName('BaoNo').Value:=Trim(CDS_Main.fieldbyname('BaoNo').AsString); + FieldByName('BaoID').Value:=Trim(CDS_Main.fieldbyname('BaoID').AsString); + FieldByName('RKPlace').Value:=Trim(RKPlace.Text); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=CRID; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('MJID').Value:=Trim(CDS_Main.fieldbyname('MJID').AsString); + FieldByName('KCKGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('KCQty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('KCQtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('BaoNo').Value:=Trim(CDS_Main.fieldbyname('BaoNo').AsString); + FieldByName('BaoID').Value:=Trim(CDS_Main.fieldbyname('BaoID').AsString); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set MJStr2='''' where MJID='''+Trim(CDS_Main.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select Mainid from CK_BanCP_CR where RKOrdId='''+Trim(RKOrdID.Text)+''''); + SQL.Add(' group by MainId'); + Open; + end; + if ADOQueryCmd.RecordCount>1 then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ͬʹͬⵥ!','ʾ',0); + Exit; + end; + ADOQueryCmd.Connection.CommitTrans; + with CDS_MainSel do + begin + Append; + FieldByName('MainId').Value:=CDS_Main.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.CDS_Main.fieldbyname('SubId').Value; + FieldByName('OrderNo').Value:=Self.CDS_Main.fieldbyname('OrderNo').Value; + FieldByName('KGQty').Value:=Self.CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=Self.CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=Self.CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('MJId').Value:=Self.CDS_Main.fieldbyname('MJId').Value; + FieldByName('CRId').Value:=IntToStr(CRID); + FieldByName('APID').Value:=Self.CDS_Main.fieldbyname('APID').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('RKOrdID').Value:=Trim(RKOrdID.Text); + FieldByName('PRTColor').Value:=CDS_Main.fieldbyname('PRTColor').Value; + FieldByName('SOrddefstr1').Value:=CDS_Main.fieldbyname('SOrddefstr1').Value; + FieldByName('MJXH').Value:=CDS_Main.fieldbyname('MJXH').Value; + FieldByName('AOrdDefstr1').Value:=CDS_Main.fieldbyname('AOrdDefstr1').Value; + FieldByName('BaoNo').Value:=Trim(CDS_Main.fieldbyname('BaoNo').asstring); + FieldByName('BaoID').Value:=Trim(CDS_Main.fieldbyname('BaoID').asstring); + Post; + end; + CDS_Main.Delete; + { MovePanel1.Visible:=True; + if CDS_MainSel.IsEmpty=False then + Edit1.Text:=IntToStr(Tv3.DataController.Summary.FooterSummaryValues[2]) + else + Edit1.Text:='0'; + Edit2.Text:=Trim(BaoID.Text); } + BaoID.Text:=''; + IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\ȷ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\ȷ.wav'),0, SND_ASYNC); + JSbaoNum(); + Exit; + except + BaoID.Text:=''; + ADOQueryCmd.Connection.RollbackTrans; + IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\ʧ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\ʧ.wav'),0, SND_ASYNC); + // Application.MessageBox('쳣','ʾ',0); + end; + end; +end; + +procedure TfrmCpRkSaoMNew.SavedataCK(); +var + CRID:Integer; + MaxCkNo,MaxCkSubNo:String; +begin + //if Trim(Cds_Main.fieldbyname('SubType').AsString)='' then + //////////////////////////////////////////////////////////////浽Ʒֿ//////////////////////////////////////////////// + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.add('Update CK_BanCP_CRID Set CRID=CRID+1'); + sql.Add('select * from CK_BanCP_CRID'); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').Value; + if GetLSNo(ADOQueryCmd,MaxCkNo,'JR','CK_BanCP_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡƷֿʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(CDS_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(CDS_Main.fieldbyname('SubId').AsString); + FieldByName('APID').Value:=Trim(CDS_Main.fieldbyname('APID').AsString); + FieldByName('MJID').Value:=Trim(CDS_Main.fieldbyname('MJId').AsString); + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + FieldByName('CRID').Value:=CRID; + FieldByName('KGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('BaoNo').Value:=Trim(CDS_Main.fieldbyname('BaoNo').AsString); + FieldByName('BaoID').Value:=Trim(CDS_Main.fieldbyname('BaoID').AsString); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=CRID; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('MJID').Value:=Trim(CDS_Main.fieldbyname('MJID').AsString); + FieldByName('KCKGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('KCQty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('KCQtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('BaoNo').Value:=Trim(CDS_Main.fieldbyname('BaoNo').AsString); + FieldByName('BaoID').Value:=Trim(CDS_Main.fieldbyname('BaoID').AsString); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set MJStr2='''' where MJID='''+Trim(CDS_Main.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; +end; + +procedure TfrmCpRkSaoMNew.Button2Click(Sender: TObject); +begin + Close; + WriteCxGrid('ѡ',Tv2,'Ʒֿ'); + WriteCxGrid('Ʒ',Tv1,'Ʒֿ'); + WriteCxGrid('ƷSels',Tv3,'Ʒֿ'); +end; + +procedure TfrmCpRkSaoMNew.Button3Click(Sender: TObject); +begin + {if CDS_Main.IsEmpty=False then + begin + Application.MessageBox('ɨ費ܸĵţ','ʾ',0); + Exit; + end;} + try + frmOrderSelRK:=TfrmOrderSelRK.Create(Application); + with frmOrderSelRK do + begin + if ShowModal=1 then + begin + CDS_OrderSel.DisableControls; + with CDS_OrderSel do + begin + First; + while not Eof do + begin + if FieldByName('SSel').Value=True then + begin + if Self.CDS_Sub.Locate('SubId',Trim(CDS_OrderSel.fieldbyname('subId').AsString),[])=False then + begin + with Self.CDS_Sub do + begin + Append; + FieldByName('MainId').Value:=Trim(CDS_OrderSel.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(CDS_OrderSel.fieldbyname('SubId').AsString); + FieldByName('CustomerNo').Value:=Trim(CDS_OrderSel.fieldbyname('CustomerNo').AsString); + FieldByName('OrderNo').Value:=Trim(CDS_OrderSel.fieldbyname('OrderNo').AsString); + FieldByName('CustomerNoName').Value:=Trim(CDS_OrderSel.fieldbyname('CustomerNoName').AsString); + FieldByName('PRTCodeName').Value:=Trim(CDS_OrderSel.fieldbyname('PRTCodeName').AsString); + FieldByName('PRTOrderQty').Value:=Trim(CDS_OrderSel.fieldbyname('PRTOrderQty').AsString); + FieldByName('OrderUnit').Value:=Trim(CDS_OrderSel.fieldbyname('OrderUnit').AsString); + FieldByName('PRTColor').Value:=Trim(CDS_OrderSel.fieldbyname('PRTColor').AsString); + FieldByName('SOrddefstr1').Value:=Trim(CDS_OrderSel.fieldbyname('SOrddefstr1').AsString); + FieldByName('PRTMF').Value:=CDS_OrderSel.fieldbyname('PRTMF').AsFloat; + FieldByName('PRTKZ').Value:=CDS_OrderSel.fieldbyname('PRTKZ').AsFloat; + //FieldByName('BaoNo').Value:=Trim(CDS_OrderSel.fieldbyname('BaoNo').AsString); + //FieldByName('BaoID').Value:=Trim(CDS_OrderSel.fieldbyname('BaoID').AsString); + Post; + end; + end; + end; + Next; + end; + end; + CDS_OrderSel.EnableControls; + CDS_Sub.DisableControls; + CDS_Main.DisableControls; + with CDS_Sub do + begin + First; + while not Eof do + begin + if Trim(Self.CDS_Sub.fieldbyname('SFlag').AsString)<>'2' then + begin + with Self.ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select orderNo=(select OrderNo from JYOrder_Main where MainId=A.MainId) '); + sql.Add(',PRTColor=(select PRTColor from JYOrder_Sub JS where JS.SubId=A.SubId) '); + SQL.Add(',SOrddefstr1=(select SOrddefstr1 from JYOrder_Sub where SubId=A.SubId)'); + sql.Add(',AOrdDefStr1=A.MJStr4,A.* '); + sql.Add(' from WFB_MJJY A '); + sql.Add(' where isnull(A.MJStr2,'''')=''δ'' and (MJLen>0 OR MJMaoZ>0) and A.Subid='''+trim(CDS_Sub.fieldbyname('subId').AsString)+''''); + Open; + end; + Self.ADOQueryTemp.DisableControls; + with Self.ADOQueryTemp do + begin + First; + while not Eof do + begin + with CDS_Main do + begin + Append; + FieldByName('MainId').Value:=Self.ADOQueryTemp.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.ADOQueryTemp.fieldbyname('SubId').Value; + FieldByName('APId').Value:=Self.ADOQueryTemp.fieldbyname('APId').Value; + FieldByName('OrderNo').Value:=Self.ADOQueryTemp.fieldbyname('OrderNo').Value; + FieldByName('KGQty').Value:=Self.ADOQueryTemp.fieldbyname('MJMaoZ').Value; + FieldByName('Qty').Value:=Self.ADOQueryTemp.fieldbyname('MJLen').Value; + FieldByName('QtyUnit').Value:=Self.ADOQueryTemp.fieldbyname('MJTypeOther').Value; + FieldByName('MJId').Value:=Self.ADOQueryTemp.fieldbyname('MJId').Value; + FieldByName('CPType').Value:=Self.ADOQueryTemp.fieldbyname('MJType').Value; + FieldByName('PRTColor').Value:=Self.ADOQueryTemp.fieldbyname('PRTColor').Value; + FieldByName('SOrddefstr1').Value:=Self.ADOQueryTemp.fieldbyname('SOrddefstr1').Value; + FieldByName('AOrddefstr1').Value:=Self.ADOQueryTemp.fieldbyname('AOrddefstr1').Value; + FieldByName('MJXH').Value:=Self.ADOQueryTemp.fieldbyname('MJXH').Value; + FieldByName('baoNo').Value:=Self.ADOQueryTemp.fieldbyname('baoNo').Value; + FieldByName('baoID').Value:=Self.ADOQueryTemp.fieldbyname('baoID').Value; + Post; + end; + Next; + end; + end; + Self.ADOQueryTemp.EnableControls; + end; + CDS_Sub.Edit; + CDS_Sub.FieldByName('SFlag').Value:='2'; + CDS_Sub.Post; + Next; + end; + end; + CDS_Sub.EnableControls; + CDS_Main.EnableControls; + end; + end; + finally + frmOrderSelRK.Free; + end; + Button6.Click; +end; + +procedure TfrmCpRkSaoMNew.InitSubGrid(); +begin + try + ADOQuerySub.DisableControls; + with ADOQuerySub do + begin + Close; + sql.Clear; + sql.Add('select A.*,B.*,C.*,Cast('''' as varchar(20))'); + sql.Add(' from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.Mainid'); + sql.add(' inner join WFB_MJJY C on C.Subid=B.Subid '); + sql.Add(' where 1<>1 '); + Open; + end; + SCreateCDS20(ADOQuerySub,CDS_Sub); + SInitCDSData20(ADOQuerySub,CDS_Sub); + finally + ADOQuerySub.EnableControls; + end; +end; + + +procedure TfrmCpRkSaoMNew.Button1Click(Sender: TObject); +begin + if CDS_MainSel.IsEmpty then Exit; + if CDS_MainSel.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪִд˲','ʾ',32+4)<>IDYES then Exit; + MovePanel2.Visible:=True; + MovePanel2.Refresh; + try + ADOQueryCmd.Connection.BeginTrans; + CDS_MainSel.DisableControls; + with CDS_MainSel do + begin + First; + while not Eof do + begin + if CDS_MainSel.FieldByName('SSel').AsBoolean=True then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete CK_BanCP_CR where BCID='''+Trim(CDS_MainSel.fieldbyname('BCID').AsString)+''''); + sql.Add('delete CK_BanCP_KC where CRID='+Trim(CDS_MainSel.fieldbyname('CRID').AsString)); + sql.Add('Update WFB_MJJY Set MJStr2=''δ'' where MJID='''+Trim(CDS_MainSel.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + with CDS_Main do + begin + Append; + FieldByName('MainId').Value:=CDS_MainSel.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.CDS_MainSel.fieldbyname('SubId').Value; + FieldByName('OrderNo').Value:=Self.CDS_MainSel.fieldbyname('OrderNo').Value; + FieldByName('KgQty').Value:=Self.CDS_MainSel.fieldbyname('KgQty').Value; + FieldByName('Qty').Value:=Self.CDS_MainSel.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=Self.CDS_MainSel.fieldbyname('QtyUnit').Value; + FieldByName('MJId').Value:=Self.CDS_MainSel.fieldbyname('MJId').Value; + FieldByName('APID').Value:=Self.CDS_MainSel.fieldbyname('APID').Value; + FieldByName('CPType').Value:=Self.CDS_MainSel.fieldbyname('CPType').Value; + FieldByName('PRTColor').Value:=Self.CDS_MainSel.fieldbyname('PRTColor').Value; + FieldByName('SOrddefstr1').Value:=CDS_MainSel.fieldbyname('SOrddefstr1').Value; + FieldByName('AOrddefstr1').Value:=Self.CDS_MainSel.fieldbyname('AOrddefstr1').Value; + FieldByName('MJXH').Value:=Self.CDS_MainSel.fieldbyname('MJXH').Value; + FieldByName('BaoNo').Value:=trim(Self.CDS_MainSel.fieldbyname('BaoNo').AsString); + FieldByName('BaoID').Value:=trim(Self.CDS_MainSel.fieldbyname('BaoID').AsString); + Post; + end; + CDS_MainSel.Delete; + end else + Next; + end; + end; + CDS_MainSel.EnableControls; + ADOQueryCmd.Connection.CommitTrans; + except + CDS_MainSel.DisableControls; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ɹ','ʾ',0); + end; + MovePanel2.Visible:=False; +end; + +procedure TfrmCpRkSaoMNew.Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if CDS_MainSel.IsEmpty=False then Exit; + if CDS_Sub.IsEmpty then Exit; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + CDS_Main.DisableControls; + with CDS_Main do + begin + First; + while not Eof do + begin + if Trim(CDS_Main.fieldbyname('BaoId').AsString)=Trim(CDS_Sub.fieldbyname('baoId').AsString) then + begin + CDS_Main.Delete; + end else + Next; + end; + end; + CDS_Main.EnableControls; + CDS_Sub.Delete; +end; + +procedure TfrmCpRkSaoMNew.Button5Click(Sender: TObject); +var + maxno:String; + CRID:Integer; + MaxCkNo,MaxCkSubNo:String; +begin + if CDS_Sub.IsEmpty then Exit; + if CDS_Main.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡ!','ʾ',0); + Exit; + end; + if Trim(RKOrdID.Text)='' then + begin + Application.MessageBox('ⵥŲΪ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪִ','ʾ',32+4)<>IDYES then exit; + {if Trim(BaoNo.Text)='' then + begin + if Trim(Edit3.Text)='' then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select BaoInt=max(Cast(BaoNo as int))+1 from CK_BanCP_CR where Mainid='''+Trim(CDS_Main.fieldbyname('Mainid').AsString)+''''); + Open; + end; + BaoNo.Text:=ADOQueryTemp.fieldbyname('BaoInt').AsString; + end; + end;} + MovePanel2.Visible:=True; + MovePanel2.Refresh; + try + ADOQueryCmd.Connection.BeginTrans; + CDS_Main.DisableControls; + CDS_MainSel.DisableControls; + with CDS_Main do + begin + First; + while not Eof do + begin + if CDS_Main.FieldByName('SSel').AsBoolean=True then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.add('Update CK_BanCP_CRID Set CRID=CRID+1'); + sql.Add('select * from CK_BanCP_CRID'); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').Value; + {if Trim(FBaoId)='' then + begin + if Trim(BaoNo.Text)<>'' then + begin + if GetLSNo(ADOQueryCmd,FBaoId,'9','CK_BanCP_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡƷֿʧܣ','ʾ',0); + Exit; + end; + end; + end else + begin + if Trim(BaoNo.Text)='' then + begin + FBaoId:=''; + end; + end;} + if GetLSNo(ADOQueryCmd,MaxCkNo,'JR','CK_BanCP_CR',4,1)=False then + begin + MovePanel2.Visible:=False; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡƷֿʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(CDS_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(CDS_Main.fieldbyname('SubId').AsString); + FieldByName('APID').Value:=Trim(CDS_Main.fieldbyname('APID').AsString); + FieldByName('MJID').Value:=Trim(CDS_Main.fieldbyname('MJId').AsString); + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('CRTime').Value:=FormatDateTime('yyyy-MM-dd',CRTime.DateTime); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + FieldByName('CRID').Value:=CRID; + FieldByName('KGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('Filler').Value:=Trim(DName); + FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('RKOrdId').Value:=Trim(RKOrdID.Text); + FieldByName('BaoNo').Value:=Trim(CDS_Main.fieldbyname('BaoNo').asstring); + FieldByName('BaoID').Value:=Trim(CDS_Main.fieldbyname('BaoID').asstring); + FieldByName('RKPlace').Value:=Trim(RKPlace.Text); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=CRID; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('MJID').Value:=Trim(CDS_Main.fieldbyname('MJID').AsString); + FieldByName('KCKGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('KCQty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('KCQtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('BaoNo').Value:=Trim(CDS_Main.fieldbyname('BaoNo').asstring); + FieldByName('BaoID').Value:=Trim(CDS_Main.fieldbyname('BaoID').asstring); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set MJStr2='''' where MJID='''+Trim(CDS_Main.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + with CDS_MainSel do + begin + Append; + FieldByName('MainId').Value:=CDS_Main.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.CDS_Main.fieldbyname('SubId').Value; + FieldByName('OrderNo').Value:=Self.CDS_Main.fieldbyname('OrderNo').Value; + FieldByName('KGQty').Value:=Self.CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=Self.CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=Self.CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('MJId').Value:=Self.CDS_Main.fieldbyname('MJId').Value; + FieldByName('CRId').Value:=IntToStr(CRID); + FieldByName('APID').Value:=Self.CDS_Main.fieldbyname('APID').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('PRTColor').Value:=Self.CDS_Main.fieldbyname('PRTColor').Value; + FieldByName('SOrddefstr1').Value:=Self.CDS_Main.fieldbyname('SOrddefstr1').Value; + FieldByName('MJXH').Value:=Self.CDS_Main.fieldbyname('MJXH').Value; + FieldByName('AOrdDefstr1').Value:=CDS_Main.fieldbyname('AOrdDefstr1').Value; + FieldByName('RKOrdID').Value:=Trim(RKOrdID.Text); + FieldByName('BaoNo').Value:=Trim(CDS_Main.fieldbyname('BaoNo').asstring); + FieldByName('BaoID').Value:=Trim(CDS_Main.fieldbyname('BaoID').asstring); + Post; + end; + CDS_Main.Delete; + application.ProcessMessages; + end else + CDS_Main.Next; + end; + end; + CDS_Main.EnableControls; + CDS_MainSel.EnableControls; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select Mainid from CK_BanCP_CR where RKOrdId='''+Trim(RKOrdID.Text)+''''); + SQL.Add(' group by MainId'); + Open; + end; + if ADOQueryCmd.RecordCount>1 then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ͬʹͬⵥ!','ʾ',0); + Exit; + end; + ADOQueryCmd.Connection.CommitTrans; + MovePanel2.Visible:=False; + JSbaoNum(); + Exit; + except + BaoID.Text:=''; + CDS_Main.EnableControls; + MovePanel2.Visible:=False; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmCpRkSaoMNew.N1Click(Sender: TObject); +begin + if CDS_Main.IsEmpty then Exit; + CDS_Main.DisableControls; + with CDS_Main do + begin + First; + while not Eof do + begin + if Trim(ComboBox1.Text)='' then + begin + Edit; + FieldByName('SSel').Value:=True; + Post; + end else + begin + if Trim(CDS_Main.fieldbyname('CPType').AsString)=Trim(ComboBox1.Text) then + begin + Edit; + FieldByName('SSel').Value:=True; + Post; + end; + end; + Next; + end; + end; + CDS_Main.EnableControls; +end; + +procedure TfrmCpRkSaoMNew.N2Click(Sender: TObject); +begin + SelOKNo(CDS_Main,False); +end; + +procedure TfrmCpRkSaoMNew.MenuItem1Click(Sender: TObject); +begin + SelOKNo(CDS_MainSel,True); +end; + +procedure TfrmCpRkSaoMNew.MenuItem2Click(Sender: TObject); +begin + SelOKNo(CDS_MainSel,False); +end; + +procedure TfrmCpRkSaoMNew.Button6Click(Sender: TObject); +var + maxno:string; +begin + if GetLSNo(ADOQueryCmd,maxno,'RK','CK_BanCP_CR',4,1)=False then + begin + Application.MessageBox('ȡⵥʧ!','ʾ',0); + Exit; + end; + RKOrdID.Text:=Trim(maxno); +end; + +procedure TfrmCpRkSaoMNew.RKPlaceBtnClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='KuWei'; + flagname:='λ'; + if ShowModal=1 then + begin + RKPlace.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmCpRkSaoMNew.Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + RKOrdID.Text:=Trim(CDS_MainSel.fieldbyname('RKOrdID').AsString); + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('select isnull(Count(*),0) ZPS from CK_BanCP_CR where RKOrdID='''+Trim(RKOrdID.Text)+''''); + Open; + end; + RKOrdPS.Text:=Trim(ADOQueryCmd.fieldbyname('ZPS').AsString)+'ƥ'; +end; + +procedure TfrmCpRkSaoMNew.Button7Click(Sender: TObject); +var + fPrintFile:String; +begin + //if Trim(RKOrdPS.Text)='' then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ⵥǩ.rmf' ; + with ADOQueryPrt do + begin + Close; + sql.Clear; + sql.Add('select AAA.* ,'); + SQL.Add('BSL=(Select Count(*) from (select BaoId from CK_BanCP_CR CR where CR.RKOrdID=AAA.RKOrdID and CR.Subid=AAA.Subid and isnull(BaoNo,'''')<>'''' group by BaoId) SS),'); + SQL.Add('JSL=(select Count(*) from CK_BanCP_CR CR where CR.RKOrdID=AAA.RKOrdID and CR.Subid=AAA.Subid)'); + sql.Add('from(select RKOrdID,A.QtyUnit,D.OrderNo,C.PRTColor,C.SOrddefstr4,Sum(WM.MJQty4) MJJingZ,A.SubId, '); + sql.Add('Sum(WM.MJMaoZ) MJMaoZ,Sum(WM.MJLen) MJLen'); + sql.Add(' from CK_BanCP_CR A inner join WFB_MJJY WM on A.MJID=WM.MJID'); + sql.Add(' inner join JYOrder_Sub_AnPai B on A.APID=B.APID'); + sql.Add(' inner join JYOrder_Sub C on B.SubID=C.SubID'); + sql.Add(' inner join JYOrder_Main D on C.MainID=D.MainID'); + sql.Add(' where A.RKOrdID='''+Trim(RKOrdID.Text)+''''); + sql.Add(' Group by A.RKOrdID,A.QtyUnit,D.OrderNo,C.PRTColor,C.SOrddefstr4,A.SubId)AAA'); + Open; + end; + + if FileExists(fPrintFile) then + begin + //CDS_MainSel.Locate('RKOrdID',Trim(RKOrdID.Text),[]); + //RMVariables['RKOrdID']:=Trim(CDS_MainSel.fieldbyname('RKOrdID').AsString); + //RMVariables['OrderNo']:=Trim(CDS_MainSel.fieldbyname('OrderNo').AsString); + //RMVariables['PS']:=Trim(RKOrdPS.Text); + //RMVariables['QtyUnit']:=Trim(CDS_MainSel.fieldbyname('QtyUnit').AsString); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ⵥǩ.rmf'),'ʾ',0); + end; +end; + +procedure TfrmCpRkSaoMNew.Button8Click(Sender: TObject); +var + fPrintFile:String; +begin + if Trim(Edit3.Text)='' then Exit; + if Trim(BaoNo.Text)='' then + begin + BaoNo.Text:='1'; + Exit; + end else + begin + BaoNo.Text:=IntToStr(StrToInt(BaoNo.Text)+1); + end; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ǩ.rmf'; + with ADOQueryPrt do + begin + Close; + sql.Clear; + sql.Add('select A.BaoId,A.BaoNo,B.AOrdDefStr1,D.OrderNo,C.PRTColor,C.SOrddefstr4,Sum(WM.MJQty4) MJJingZ,Count(*) JSl,'); + sql.Add('Sum(WM.MJMaoZ) MJMaoZ,Sum(WM.MJLen) MJLen,A.QtyUnit'); + sql.Add(' from CK_BanCP_CR A inner join WFB_MJJY WM on A.MJID=WM.MJID'); + sql.Add(' inner join JYOrder_Sub_AnPai B on A.APID=B.APID'); + sql.Add(' inner join JYOrder_Sub C on B.SubID=C.SubID'); + sql.Add(' inner join JYOrder_Main D on C.MainID=D.MainID'); + sql.Add(' where BaoId='''+Trim(FBaoId)+''''); + sql.Add(' Group by A.BaoId,A.BaoNo,B.AOrdDefStr1,D.OrderNo,C.PRTColor,BaoId,A.QtyUnit,C.SOrddefstr4'); + Open; + end; + if ADOQueryPrt.RecordCount>1 then + begin + Application.MessageBox('볷!','ʾ',0); + Exit; + end; + if FileExists(fPrintFile) then + begin + //RMVariables['RKOrdID']:=Trim(CDS_MainSel.fieldbyname('RKOrdID').AsString); + //RMVariables['OrderNo']:=Trim(CDS_MainSel.fieldbyname('OrderNo').AsString); + //RMVariables['PS']:=Trim(RKOrdPS.Text); + //RMVariables['QtyUnit']:=Trim(CDS_MainSel.fieldbyname('QtyUnit').AsString); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ǩ.rmf'),'ʾ',0); + end; +end; + +procedure TfrmCpRkSaoMNew.Edit3Click(Sender: TObject); +begin + if Trim(Edit3.Text)='' then + begin + Edit3.Text:='' + end else + begin + Edit3.Text:=''; + end; +end; + +procedure TfrmCpRkSaoMNew.MJIDKeyPress(Sender: TObject; var Key: Char); +var + maxno:String; + CRID:Integer; + MaxCkNo,MaxCkSubNo:String; +begin + if Key=#13 then + begin + if CDS_Sub.IsEmpty then + begin + BaoID.Text:=''; + Application.MessageBox('δѡɨ⣡','ʾ',0); + Exit; + end; + if Trim(RKOrdID.Text)='' then + begin + Application.MessageBox('ⵥŲΪ!','ʾ',0); + Exit; + end; + {if Trim(RKPlace.Text)='' then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end;} + if CDS_Main.Locate('baoid',Trim(MJID.Text),[])=False then + begin + MJID.Text:=''; + // Application.MessageBox('˾ڴľУ','ʾ'); + IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\ɨ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\ɨ.wav'),0, SND_ASYNC); + Exit; + end; + try + ADOQueryCmd.Connection.BeginTrans; + with CDS_Main do + begin + First; + while CDS_Main.Locate('baoid',Trim(mjid.Text),[])=True do + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.add('Update CK_BanCP_CRID Set CRID=CRID+1'); + sql.Add('select * from CK_BanCP_CRID'); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').Value; + if GetLSNo(ADOQueryCmd,MaxCkNo,'JR','CK_BanCP_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡƷֿʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(CDS_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(CDS_Main.fieldbyname('SubId').AsString); + FieldByName('APID').Value:=Trim(CDS_Main.fieldbyname('APID').AsString); + FieldByName('MJID').Value:=Trim(CDS_Main.fieldbyname('MJId').AsString); + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + FieldByName('CRID').Value:=CRID; + FieldByName('KGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('Filler').Value:=Trim(DName); + FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('RKOrdId').Value:=Trim(RKOrdID.Text); + FieldByName('BaoNo').Value:=Trim(CDS_Main.fieldbyname('BaoNo').AsString); + FieldByName('BaoID').Value:=Trim(CDS_Main.fieldbyname('BaoID').AsString); + FieldByName('RKPlace').Value:=Trim(RKPlace.Text); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=CRID; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('MJID').Value:=Trim(CDS_Main.fieldbyname('MJID').AsString); + FieldByName('KCKGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('KCQty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('KCQtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('BaoNo').Value:=Trim(CDS_Main.fieldbyname('BaoNo').AsString); + FieldByName('BaoID').Value:=Trim(CDS_Main.fieldbyname('BaoID').AsString); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set MJStr2='''' where MJID='''+Trim(CDS_Main.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + with CDS_MainSel do + begin + Append; + FieldByName('MainId').Value:=CDS_Main.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.CDS_Main.fieldbyname('SubId').Value; + FieldByName('OrderNo').Value:=Self.CDS_Main.fieldbyname('OrderNo').Value; + FieldByName('KGQty').Value:=Self.CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=Self.CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=Self.CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('MJId').Value:=Self.CDS_Main.fieldbyname('MJId').Value; + FieldByName('CRId').Value:=IntToStr(CRID); + FieldByName('APID').Value:=Self.CDS_Main.fieldbyname('APID').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('RKOrdID').Value:=Trim(RKOrdID.Text); + FieldByName('PRTColor').Value:=CDS_Main.fieldbyname('PRTColor').Value; + FieldByName('SOrddefstr1').Value:=CDS_Main.fieldbyname('SOrddefstr1').Value; + FieldByName('MJXH').Value:=CDS_Main.fieldbyname('MJXH').Value; + FieldByName('BaoNo').Value:=Trim(CDS_Main.fieldbyname('BaoNo').asstring); + FieldByName('BaoID').Value:=Trim(CDS_Main.fieldbyname('BaoID').asstring); + Post; + end; + CDS_Main.Delete; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select Mainid from CK_BanCP_CR where RKOrdId='''+Trim(RKOrdID.Text)+''''); + SQL.Add(' group by MainId'); + Open; + end; + if ADOQueryCmd.RecordCount>1 then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ͬʹͬⵥ!','ʾ',0); + Exit; + end; + ADOQueryCmd.Connection.CommitTrans; + MJID.Text:=''; + JSbaoNum(); + IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\ȷ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\ȷ.wav'),0, SND_ASYNC); + Exit; + except + MJID.Text:=''; + ADOQueryCmd.Connection.RollbackTrans; + IF FileExists(PChar(ExtractFilePath(Application.ExeName)+'wav\ʧ.wav')) then + PlaySound(PChar(ExtractFilePath(Application.ExeName)+'wav\ʧ.wav'),0, SND_ASYNC); +// Application.MessageBox('쳣','ʾ',0); + end; + end; +end; + +procedure TfrmCpRkSaoMNew.MJTypeChange(Sender: TObject); +begin +// if ADOQueryTemp.Active=False then Exit; +// SDofilter(ADOQueryTemp,SGetFilters(Panel1,1,2)); +// SCreateCDS20(ADOQueryTemp,CDS_Main); +// SInitCDSData20(ADOQueryTemp,CDS_Main); +CDS_Main.EmptyDataSet; +with Self.ADOQueryTemp do +begin + Close; + SQL.Clear; + sql.Add('select orderNo=(select OrderNo from JYOrder_Main where MainId=A.MainId) '); + sql.Add(',PRTColor=(select PRTColor from JYOrder_Sub JS where JS.SubId=A.SubId) '); + SQL.Add(',SOrddefstr1=(select SOrddefstr1 from JYOrder_Sub where SubId=A.SubId)'); + sql.Add(',AOrdDefStr1=A.MJStr4,A.* '); + sql.Add(' from WFB_MJJY A '); + sql.Add(' where isnull(A.MJStr2,'''')=''δ'' and (MJLen>0 OR MJMaoZ>0) and A.Subid='''+trim(CDS_Sub.fieldbyname('subId').AsString)+''' and A.MJType='''+MJType.Text+''''); + Open; +end; +Self.ADOQueryTemp.DisableControls; +with Self.ADOQueryTemp do +begin + First; + while not Eof do + begin + with CDS_Main do + begin + Append; + FieldByName('MainId').Value:=Self.ADOQueryTemp.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.ADOQueryTemp.fieldbyname('SubId').Value; + FieldByName('APId').Value:=Self.ADOQueryTemp.fieldbyname('APId').Value; + FieldByName('OrderNo').Value:=Self.ADOQueryTemp.fieldbyname('OrderNo').Value; + FieldByName('KgQty').Value:=Self.ADOQueryTemp.fieldbyname('MJMaoZ').Value; + FieldByName('Qty').Value:=Self.ADOQueryTemp.fieldbyname('MJLen').Value; + FieldByName('QtyUnit').Value:=Self.ADOQueryTemp.fieldbyname('MJTypeOther').Value; + FieldByName('MJId').Value:=Self.ADOQueryTemp.fieldbyname('MJId').Value; + FieldByName('CPType').Value:=Self.ADOQueryTemp.fieldbyname('MJType').Value; + FieldByName('PRTColor').Value:=Self.ADOQueryTemp.fieldbyname('PRTColor').Value; + FieldByName('SOrddefstr1').Value:=Self.ADOQueryTemp.fieldbyname('SOrddefstr1').Value; + FieldByName('AOrddefstr1').Value:=Self.ADOQueryTemp.fieldbyname('AOrddefstr1').Value; + FieldByName('MJXH').Value:=Self.ADOQueryTemp.fieldbyname('MJXH').Value; + FieldByName('baoNo').Value:=Self.ADOQueryTemp.fieldbyname('baoNo').Value; + FieldByName('baoID').Value:=Self.ADOQueryTemp.fieldbyname('baoID').Value; + Post; + end; + Next; + end; +end; +Self.ADOQueryTemp.EnableControls; +end; + +procedure TfrmCpRkSaoMNew.Edit1Change(Sender: TObject); +begin +// if ADOQueryTemp.Active=False then Exit; +// SDofilter(ADOQueryTemp,SGetFilters(Panel1,1,2)); +// SCreateCDS20(ADOQueryTemp,CDS_Main); +// SInitCDSData20(ADOQueryTemp,CDS_Main); +CDS_Main.EmptyDataSet; +with Self.ADOQueryTemp do +begin + Close; + SQL.Clear; + sql.Add('select orderNo=(select OrderNo from JYOrder_Main where MainId=A.MainId) '); + sql.Add(',PRTColor=(select PRTColor from JYOrder_Sub JS where JS.SubId=A.SubId) '); + SQL.Add(',SOrddefstr1=(select SOrddefstr1 from JYOrder_Sub where SubId=A.SubId)'); + sql.Add(',AOrdDefStr1=A.MJStr4,A.* '); + sql.Add(' from WFB_MJJY A '); + sql.Add(' where isnull(A.MJStr2,'''')<>'''' and (MJLen>0 OR MJMaoZ>0) and A.Subid='''+trim(CDS_Sub.fieldbyname('subId').AsString)+''''); + if Edit1.Text<>'' then + begin + sql.Add(' and A.MJStr4='''+Edit1.Text+'''') + end; + Open; +end; +Self.ADOQueryTemp.DisableControls; +with Self.ADOQueryTemp do +begin + First; + while not Eof do + begin + with CDS_Main do + begin + Append; + FieldByName('MainId').Value:=Self.ADOQueryTemp.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.ADOQueryTemp.fieldbyname('SubId').Value; + FieldByName('APId').Value:=Self.ADOQueryTemp.fieldbyname('APId').Value; + FieldByName('OrderNo').Value:=Self.ADOQueryTemp.fieldbyname('OrderNo').Value; + FieldByName('KgQty').Value:=Self.ADOQueryTemp.fieldbyname('MJMaoZ').Value; + FieldByName('Qty').Value:=Self.ADOQueryTemp.fieldbyname('MJLen').Value; + FieldByName('QtyUnit').Value:=Self.ADOQueryTemp.fieldbyname('MJTypeOther').Value; + FieldByName('MJId').Value:=Self.ADOQueryTemp.fieldbyname('MJId').Value; + FieldByName('CPType').Value:=Self.ADOQueryTemp.fieldbyname('MJType').Value; + FieldByName('PRTColor').Value:=Self.ADOQueryTemp.fieldbyname('PRTColor').Value; + FieldByName('SOrddefstr1').Value:=Self.ADOQueryTemp.fieldbyname('SOrddefstr1').Value; + FieldByName('AOrddefstr1').Value:=Self.ADOQueryTemp.fieldbyname('AOrddefstr1').Value; + FieldByName('MJXH').Value:=Self.ADOQueryTemp.fieldbyname('MJXH').Value; + FieldByName('baoNo').Value:=Self.ADOQueryTemp.fieldbyname('baoNo').Value; + FieldByName('baoID').Value:=Self.ADOQueryTemp.fieldbyname('baoID').Value; + Post; + end; + Next; + end; +end; +Self.ADOQueryTemp.EnableControls; +end; + +end. diff --git a/打卷检验管理/U_CpRkSaoMNewDB.dfm b/打卷检验管理/U_CpRkSaoMNewDB.dfm new file mode 100644 index 0000000..321a943 --- /dev/null +++ b/打卷检验管理/U_CpRkSaoMNewDB.dfm @@ -0,0 +1,710 @@ +object frmCpRkSaoMNewDB: TfrmCpRkSaoMNewDB + Left = 31 + Top = 56 + Width = 1199 + Height = 652 + Caption = #25104#21697#25171#21253#25195#25551 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object cxGrid2: TcxGrid + Left = 0 + Top = 209 + Width = 516 + Height = 406 + Align = alLeft + TabOrder = 0 + object Tv1: TcxGridDBTableView + PopupMenu = PopupMenu1 + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column5 + end + item + Kind = skSum + Column = v2Column6 + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Format = #21367#25968#37327#65306'#' + Kind = skCount + Column = v1Column1 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object v1Column6: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 41 + end + object v1Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 89 + end + object v1Column3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 54 + end + object v1Column4: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'AOrdDefStr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 44 + end + object v1Column5: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'MJXH' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 43 + end + object v2Column5: TcxGridDBColumn + Caption = #20844#26020#25968 + DataBinding.FieldName = 'KgQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 67 + end + object v2Column6: TcxGridDBColumn + Caption = #38271#24230 + DataBinding.FieldName = 'Qty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 56 + end + object v1Column2: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'QtyUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 53 + end + object v1Column7: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'CPType' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 56 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel1: TPanel + Left = 0 + Top = 0 + Width = 1191 + Height = 209 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 1 + object Label1: TLabel + Left = 90 + Top = 137 + Width = 48 + Height = 12 + Caption = #25195#25551#20837#21475 + end + object Label4: TLabel + Left = 256 + Top = 137 + Width = 48 + Height = 12 + Caption = #20837#24211#26102#38388 + end + object Label5: TLabel + Left = 22 + Top = 157 + Width = 34 + Height = 48 + Caption = #20837#24211#13#10' '#21333#13#10#26465#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 464 + Top = 137 + Width = 24 + Height = 12 + Caption = #24211#20301 + end + object Label7: TLabel + Left = 464 + Top = 168 + Width = 24 + Height = 12 + Caption = #21253#21495 + end + object BaoID: TEdit + Left = 139 + Top = 133 + Width = 110 + Height = 20 + TabOrder = 0 + OnKeyPress = BaoIDKeyPress + end + object Button2: TButton + Left = 701 + Top = 164 + Width = 57 + Height = 20 + Caption = #20851#38381 + TabOrder = 1 + OnClick = Button2Click + end + object Button3: TButton + Left = 21 + Top = 133 + Width = 45 + Height = 20 + Caption = #36873#21333 + TabOrder = 2 + OnClick = Button3Click + end + object Button1: TButton + Left = 619 + Top = 164 + Width = 65 + Height = 20 + Caption = #25764#38144#20837#24211 + TabOrder = 3 + OnClick = Button1Click + end + object cxGrid1: TcxGrid + Left = 2 + Top = 2 + Width = 1187 + Height = 120 + Align = alTop + TabOrder = 4 + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv2CellDblClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Styles.Footer = DataLink_TradeManage.Default + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 78 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 80 + end + object v2Column2: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 100 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 119 + end + object v1Column10: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 83 + end + object v1Column14: TcxGridDBColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 75 + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'MPRTMF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 80 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'MPRTKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 93 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv2 + end + end + object Button5: TButton + Left = 619 + Top = 133 + Width = 65 + Height = 20 + Caption = #20837#24211 + TabOrder = 5 + OnClick = Button5Click + end + object CRTime: TDateTimePicker + Left = 309 + Top = 133 + Width = 97 + Height = 20 + Date = 41337.663190821760000000 + Time = 41337.663190821760000000 + TabOrder = 6 + end + object Button6: TButton + Left = 365 + Top = 163 + Width = 40 + Height = 21 + Caption = #33719#21462 + TabOrder = 7 + OnClick = Button6Click + end + object RKOrdID: TEdit + Left = 59 + Top = 166 + Width = 205 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + end + object RKPlace: TBtnEditA + Left = 491 + Top = 133 + Width = 100 + Height = 20 + TabOrder = 9 + OnBtnClick = RKPlaceBtnClick + end + object BaoNo: TEdit + Left = 491 + Top = 164 + Width = 100 + Height = 20 + TabOrder = 10 + end + object RKOrdPS: TEdit + Left = 265 + Top = 164 + Width = 99 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -35 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 11 + end + object Button7: TButton + Left = 365 + Top = 187 + Width = 41 + Height = 21 + Caption = #25171#21360 + TabOrder = 12 + OnClick = Button7Click + end + end + object cxGrid3: TcxGrid + Left = 516 + Top = 209 + Width = 675 + Height = 406 + Align = alClient + TabOrder = 2 + object Tv3: TcxGridDBTableView + PopupMenu = PopupMenu2 + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv3CellClick + DataController.DataSource = DS_MainSel + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + Column = cxGridDBColumn6 + end + item + Format = #21367#25968#37327#65306'#' + Kind = skCount + Column = cxGridDBColumn1 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object v3Column5: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 44 + end + object cxGridDBColumn1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 98 + end + object v3Column3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object v3Column4: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'AOrdDefStr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 65 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'MJXH' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 52 + end + object v3Column1: TcxGridDBColumn + Caption = #20844#26020#25968 + DataBinding.FieldName = 'KgQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 59 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #38271#24230 + DataBinding.FieldName = 'Qty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 69 + end + object v3Column2: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'QtyUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 57 + end + object v3Column6: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'CPType' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 59 + end + object v3Column7: TcxGridDBColumn + Caption = #20837#24211#21333#21495 + DataBinding.FieldName = 'RKOrdID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 74 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv3 + end + end + object MovePanel1: TMovePanel + Left = 8 + Top = 232 + Width = 506 + Height = 305 + BevelInner = bvLowered + Color = clSkyBlue + TabOrder = 3 + Visible = False + object Label2: TLabel + Left = 29 + Top = 48 + Width = 147 + Height = 48 + Caption = #24050#20837#24211 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 421 + Top = 56 + Width = 49 + Height = 48 + Caption = #21367 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Edit1: TEdit + Left = 181 + Top = 24 + Width = 241 + Height = 105 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -96 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 0 + Text = '1234' + end + object Edit2: TEdit + Left = 38 + Top = 143 + Width = 386 + Height = 72 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -64 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 1 + Text = '91209120001' + end + object Button4: TButton + Left = 181 + Top = 248 + Width = 75 + Height = 41 + Caption = #20851#38381 + TabOrder = 2 + OnClick = Button4Click + end + end + object MovePanel2: TMovePanel + Left = 464 + Top = 272 + Width = 289 + Height = 49 + BevelInner = bvLowered + Caption = #27491#22312#25191#34892#25968#25454#25805#20316#65292#35831#31245#21518#12290#12290#12290 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 976 + Top = 40 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 136 + Top = 216 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 96 + Top = 216 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1072 + Top = 8 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 792 + Top = 64 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 872 + Top = 72 + end + object CDS_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 320 + Top = 48 + end + object DataSource2: TDataSource + DataSet = CDS_Sub + Left = 288 + Top = 48 + end + object ADOQuerySub: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 680 + Top = 64 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 56 + Top = 200 + end + object cxGridPopupMenu3: TcxGridPopupMenu + PopupMenus = <> + Left = 600 + Top = 72 + end + object DS_MainSel: TDataSource + DataSet = CDS_MainSel + Left = 616 + Top = 336 + end + object CDS_MainSel: TClientDataSet + Aggregates = <> + Params = <> + Left = 648 + Top = 336 + end + object cxGridPopupMenu4: TcxGridPopupMenu + Grid = cxGrid3 + PopupMenus = <> + Left = 832 + Top = 312 + end + object PopupMenu1: TPopupMenu + Left = 288 + Top = 528 + object N1: TMenuItem + Caption = #20840#36873 + OnClick = N1Click + end + object N2: TMenuItem + Caption = #20840#24323 + OnClick = N2Click + end + end + object PopupMenu2: TPopupMenu + Left = 936 + Top = 480 + object MenuItem1: TMenuItem + Caption = #20840#36873 + OnClick = MenuItem1Click + end + object MenuItem2: TMenuItem + Caption = #20840#24323 + OnClick = MenuItem2Click + end + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 456 + Top = 176 + ReportData = {} + end +end diff --git a/打卷检验管理/U_CpRkSaoMNewDB.pas b/打卷检验管理/U_CpRkSaoMNewDB.pas new file mode 100644 index 0000000..5b37d12 --- /dev/null +++ b/打卷检验管理/U_CpRkSaoMNewDB.pas @@ -0,0 +1,940 @@ +unit U_CpRkSaoMNewDB; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ExtCtrls, ADODB, DBClient, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, MovePanel, cxCheckBox, Menus, + ComCtrls, BtnEdit, RM_System, RM_Common, RM_Class, RM_GridReport; + +type + TfrmCpRkSaoMNewDB = class(TForm) + cxGrid2: TcxGrid; + Tv1: TcxGridDBTableView; + v1Column1: TcxGridDBColumn; + v2Column5: TcxGridDBColumn; + v2Column6: TcxGridDBColumn; + cxGrid2Level1: TcxGridLevel; + cxGridPopupMenu1: TcxGridPopupMenu; + CDS_Main: TClientDataSet; + DataSource1: TDataSource; + ADOQueryTemp: TADOQuery; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + Panel1: TPanel; + BaoID: TEdit; + Label1: TLabel; + v1Column5: TcxGridDBColumn; + Button2: TButton; + Button3: TButton; + CDS_Sub: TClientDataSet; + DataSource2: TDataSource; + ADOQuerySub: TADOQuery; + cxGridPopupMenu2: TcxGridPopupMenu; + cxGridPopupMenu3: TcxGridPopupMenu; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + DS_MainSel: TDataSource; + CDS_MainSel: TClientDataSet; + v3Column1: TcxGridDBColumn; + Button1: TButton; + cxGridPopupMenu4: TcxGridPopupMenu; + MovePanel1: TMovePanel; + Edit1: TEdit; + Edit2: TEdit; + Label2: TLabel; + Label3: TLabel; + Button4: TButton; + cxGrid1: TcxGrid; + Tv2: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1Column2: TcxGridDBColumn; + v3Column2: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v3Column3: TcxGridDBColumn; + v3Column4: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v3Column5: TcxGridDBColumn; + Button5: TButton; + v1Column7: TcxGridDBColumn; + v3Column6: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N1: TMenuItem; + N2: TMenuItem; + PopupMenu2: TPopupMenu; + MenuItem1: TMenuItem; + MenuItem2: TMenuItem; + MovePanel2: TMovePanel; + CRTime: TDateTimePicker; + Label4: TLabel; + Button6: TButton; + RKOrdID: TEdit; + RKPlace: TBtnEditA; + Label5: TLabel; + Label6: TLabel; + Label7: TLabel; + BaoNo: TEdit; + RKOrdPS: TEdit; + Button7: TButton; + v3Column7: TcxGridDBColumn; + RM1: TRMGridReport; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure BaoIDKeyPress(Sender: TObject; var Key: Char); + procedure Button2Click(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button4Click(Sender: TObject); + procedure Button5Click(Sender: TObject); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure MenuItem1Click(Sender: TObject); + procedure MenuItem2Click(Sender: TObject); + procedure Button6Click(Sender: TObject); + procedure RKPlaceBtnClick(Sender: TObject); + procedure Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button7Click(Sender: TObject); + private + { Private declarations } + procedure InitGrid(); + procedure InitSubGrid(); + procedure SavedataCK(); + public + { Public declarations } + end; + +var + frmCpRkSaoMNewDB: TfrmCpRkSaoMNewDB; + +implementation +uses +U_DataLink,U_Fun,U_OrderSelRK,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmCpRkSaoMNewDB.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmCpRkSaoMNewDB.FormDestroy(Sender: TObject); +begin + frmCpRkSaoMNewDB:=nil; +end; +procedure TfrmCpRkSaoMNewDB.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('select A.*,OrderNo=(select OrderNo from JYOrder_Main where MainId=A.MainId) '); + SQL.Add(',PRTColor=(select PRTColor from JYOrder_Sub where SubId=A.SubId)'); + sql.Add(',AOrdDefstr1=(select AOrdDefstr1 from JYOrder_Sub_AnPai where ApId=A.ApId)'); + sql.Add(',MJXH=(select MJXH from WFB_MJJY where MJID=A.MJID)'); + sql.Add('from CK_BanCP_CR A'); + sql.add('where 1<>1'); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('select A.*,OrderNo=(select OrderNo from JYOrder_Main where MainId=A.MainId) '); + SQL.Add(',PRTColor=(select PRTColor from JYOrder_Sub where SubId=A.SubId)'); + sql.Add(',AOrdDefstr1=(select AOrdDefstr1 from JYOrder_Sub_AnPai where ApId=A.ApId)'); + sql.Add(',MJXH=(select MJXH from WFB_MJJY where MJID=A.MJID)'); + sql.Add('from CK_BanCP_CR A'); + sql.add('where 1<>1'); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_MainSel); + SInitCDSData20(ADOQueryMain,CDS_MainSel); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmCpRkSaoMNewDB.FormShow(Sender: TObject); +begin + ReadCxGrid('ѡ',Tv2,'Ʒֿ'); + ReadCxGrid('Ʒ',Tv1,'Ʒֿ'); + ReadCxGrid('ƷSels',Tv3,'Ʒֿ'); + InitSubGrid(); + InitGrid(); + CRTime.DateTime:=SGetServerDate(ADOQueryTemp); +end; + +procedure TfrmCpRkSaoMNewDB.BaoIDKeyPress(Sender: TObject; var Key: Char); +var + maxno:String; + CRID:Integer; + MaxCkNo,MaxCkSubNo:String; +begin + if Key=#13 then + begin + if CDS_Sub.IsEmpty then + begin + BaoID.Text:=''; + Application.MessageBox('δѡɨ⣡','ʾ',0); + Exit; + end; + if CDS_Main.Locate('MJId',Trim(BaoID.Text),[])=False then + begin + BaoID.Text:=''; + //Application.MessageBox('˾ڴľУ','ʾ',0); + Exit; + end; + if Trim(RKOrdID.Text)='' then + begin + Application.MessageBox('ⵥŲΪ!','ʾ',0); + Exit; + end; + if Trim(RKPlace.Text)='' then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; + CDS_Main.Locate('MJId',Trim(BaoID.Text),[]); + try + ADOQueryCmd.Connection.BeginTrans; + with CDS_Main do + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.add('Update CK_BanCP_CRID Set CRID=CRID+1'); + sql.Add('select * from CK_BanCP_CRID'); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').Value; + if GetLSNo(ADOQueryCmd,MaxCkNo,'JR','CK_BanCP_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡƷֿʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(CDS_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(CDS_Main.fieldbyname('SubId').AsString); + FieldByName('APID').Value:=Trim(CDS_Main.fieldbyname('APID').AsString); + FieldByName('MJID').Value:=Trim(CDS_Main.fieldbyname('MJId').AsString); + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + //FieldByName('JTType').Value:=Trim(XJFlag); + FieldByName('CRID').Value:=CRID; + FieldByName('KGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('Filler').Value:=Trim(DName); + FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('RKOrdId').Value:=Trim(RKOrdID.Text); + FieldByName('BaoNo').Value:=Trim(BaoNo.Text); + FieldByName('RKPlace').Value:=Trim(RKPlace.Text); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=CRID; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('MJID').Value:=Trim(CDS_Main.fieldbyname('MJID').AsString); + FieldByName('KCKGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('KCQty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('KCQtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set MJStr2='''' where MJID='''+Trim(CDS_Main.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select Mainid from CK_BanCP_CR where RKOrdId='''+Trim(RKOrdID.Text)+''''); + SQL.Add(' group by MainId'); + Open; + end; + if ADOQueryCmd.RecordCount>1 then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ͬʹͬⵥ!','ʾ',0); + Exit; + end; + ADOQueryCmd.Connection.CommitTrans; + with CDS_MainSel do + begin + Append; + FieldByName('MainId').Value:=CDS_Main.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.CDS_Main.fieldbyname('SubId').Value; + FieldByName('OrderNo').Value:=Self.CDS_Main.fieldbyname('OrderNo').Value; + FieldByName('KGQty').Value:=Self.CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=Self.CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=Self.CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('MJId').Value:=Self.CDS_Main.fieldbyname('MJId').Value; + FieldByName('CRId').Value:=IntToStr(CRID); + FieldByName('APID').Value:=Self.CDS_Main.fieldbyname('APID').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('RKOrdID').Value:=Trim(RKOrdID.Text); + FieldByName('PRTColor').Value:=CDS_Main.fieldbyname('PRTColor').Value; + FieldByName('MJXH').Value:=CDS_Main.fieldbyname('MJXH').Value; + FieldByName('AOrdDefstr1').Value:=CDS_Main.fieldbyname('AOrdDefstr1').Value; + FieldByName('RKOrdID').Value:=Trim(RKOrdID.Text); + Post; + end; + CDS_Main.Delete; + MovePanel1.Visible:=True; + if CDS_MainSel.IsEmpty=False then + Edit1.Text:=IntToStr(Tv3.DataController.Summary.FooterSummaryValues[2]) + else + Edit1.Text:='0'; + Edit2.Text:=Trim(BaoID.Text); + BaoID.Text:=''; + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('select isnull(Count(*),0) ZPS from CK_BanCP_CR where RKOrdID='''+Trim(RKOrdID.Text)+''''); + Open; + end; + RKOrdPS.Text:=Trim(ADOQueryCmd.fieldbyname('ZPS').AsString)+'ƥ'; + Exit; + except + BaoID.Text:=''; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; + end; +end; +procedure TfrmCpRkSaoMNewDB.SavedataCK(); +var + CRID:Integer; + MaxCkNo,MaxCkSubNo:String; +begin + //if Trim(Cds_Main.fieldbyname('SubType').AsString)='' then + //////////////////////////////////////////////////////////////浽Ʒֿ//////////////////////////////////////////////// + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.add('Update CK_BanCP_CRID Set CRID=CRID+1'); + sql.Add('select * from CK_BanCP_CRID'); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').Value; + if GetLSNo(ADOQueryCmd,MaxCkNo,'JR','CK_BanCP_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡƷֿʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(CDS_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(CDS_Main.fieldbyname('SubId').AsString); + FieldByName('APID').Value:=Trim(CDS_Main.fieldbyname('APID').AsString); + FieldByName('MJID').Value:=Trim(CDS_Main.fieldbyname('MJId').AsString); + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + //FieldByName('JTType').Value:=Trim(XJFlag); + FieldByName('CRID').Value:=CRID; + FieldByName('KGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('Filler').Value:=Trim(DName); + FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=CRID; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('MJID').Value:=Trim(CDS_Main.fieldbyname('MJID').AsString); + FieldByName('KCKGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('KCQty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('KCQtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set MJStr2='''' where MJID='''+Trim(CDS_Main.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; +end; +procedure TfrmCpRkSaoMNewDB.Button2Click(Sender: TObject); +begin + Close; + WriteCxGrid('ѡ',Tv2,'Ʒֿ'); + WriteCxGrid('Ʒ',Tv1,'Ʒֿ'); + WriteCxGrid('ƷSels',Tv3,'Ʒֿ'); +end; + +procedure TfrmCpRkSaoMNewDB.Button3Click(Sender: TObject); +begin + {if CDS_Main.IsEmpty=False then + begin + Application.MessageBox('ɨ費ܸĵţ','ʾ',0); + Exit; + end;} + try + frmOrderSelRK:=TfrmOrderSelRK.Create(Application); + with frmOrderSelRK do + begin + if ShowModal=1 then + begin + CDS_OrderSel.DisableControls; + with CDS_OrderSel do + begin + First; + while not Eof do + begin + if FieldByName('SSel').Value=True then + begin + if Self.CDS_Sub.Locate('SubId',Trim(CDS_OrderSel.fieldbyname('SubId').AsString),[])=False then + begin + with Self.CDS_Sub do + begin + Append; + FieldByName('MainId').Value:=Trim(CDS_OrderSel.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(CDS_OrderSel.fieldbyname('SubId').AsString); + FieldByName('CustomerNo').Value:=Trim(CDS_OrderSel.fieldbyname('CustomerNo').AsString); + FieldByName('OrderNo').Value:=Trim(CDS_OrderSel.fieldbyname('OrderNo').AsString); + FieldByName('CustomerNoName').Value:=Trim(CDS_OrderSel.fieldbyname('CustomerNoName').AsString); + FieldByName('MPRTCodeName').Value:=Trim(CDS_OrderSel.fieldbyname('MPRTCodeName').AsString); + FieldByName('PRTOrderQty').Value:=Trim(CDS_OrderSel.fieldbyname('PRTOrderQty').AsString); + FieldByName('OrderUnit').Value:=Trim(CDS_OrderSel.fieldbyname('OrderUnit').AsString); + FieldByName('PRTColor').Value:=Trim(CDS_OrderSel.fieldbyname('PRTColor').AsString); + FieldByName('MPRTMF').Value:=Trim(CDS_OrderSel.fieldbyname('MPRTMF').AsString); + FieldByName('MPRTKZ').Value:=Trim(CDS_OrderSel.fieldbyname('MPRTKZ').AsString); + Post; + end; + end; + end; + Next; + end; + end; + CDS_OrderSel.EnableControls; + CDS_Sub.DisableControls; + with CDS_Sub do + begin + First; + while not Eof do + begin + if Trim(Self.CDS_Sub.fieldbyname('SFlag').AsString)<>'2' then + begin + with Self.ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select orderNo=(select OrderNo from JYOrder_Main where MainId=A.MainId) '); + sql.Add(',PRTColor=(select PRTColor from JYOrder_Sub JS where JS.SubId=A.SubId) '); + sql.Add(',AOrdDefStr1=(select AOrdDefStr1 from JYOrder_Sub_AnPai JS where JS.APId=A.APId),A.* '); + sql.Add(' from WFB_MJJY A '); + sql.Add(' where isnull(A.MJStr2,'''')<>'''' '); + SQL.Add(' and A.SubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+''''); + Open; + end; + Self.ADOQueryTemp.DisableControls; + with Self.ADOQueryTemp do + begin + First; + while not Eof do + begin + with CDS_Main do + begin + Append; + FieldByName('MainId').Value:=Self.ADOQueryTemp.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.ADOQueryTemp.fieldbyname('SubId').Value; + FieldByName('APId').Value:=Self.ADOQueryTemp.fieldbyname('APId').Value; + FieldByName('OrderNo').Value:=Self.ADOQueryTemp.fieldbyname('OrderNo').Value; + FieldByName('KgQty').Value:=Self.ADOQueryTemp.fieldbyname('MJMaoZ').Value; + FieldByName('Qty').Value:=Self.ADOQueryTemp.fieldbyname('MJLen').Value; + FieldByName('QtyUnit').Value:=Self.ADOQueryTemp.fieldbyname('MJTypeOther').Value; + FieldByName('MJId').Value:=Self.ADOQueryTemp.fieldbyname('MJId').Value; + FieldByName('CPType').Value:=Self.ADOQueryTemp.fieldbyname('MJType').Value; + FieldByName('PRTColor').Value:=Self.ADOQueryTemp.fieldbyname('PRTColor').Value; + FieldByName('AOrddefstr1').Value:=Self.ADOQueryTemp.fieldbyname('AOrddefstr1').Value; + FieldByName('MJXH').Value:=Self.ADOQueryTemp.fieldbyname('MJXH').Value; + Post; + end; + Next; + end; + end; + Self.ADOQueryTemp.EnableControls; + end; + CDS_Sub.Edit; + CDS_Sub.FieldByName('SFlag').Value:='2'; + CDS_Sub.Post; + Next; + end; + end; + CDS_Sub.EnableControls; + end; + end; + finally + frmOrderSelRK.Free; + end; +end; + +procedure TfrmCpRkSaoMNewDB.InitSubGrid(); +begin + try + ADOQuerySub.DisableControls; + with ADOQuerySub do + begin + Close; + sql.Clear; + sql.Add('select A.*,B.*'); + sql.Add(' from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.Mainid'); + sql.Add(' where 1<>1 '); + + Open; + end; + SCreateCDS20(ADOQuerySub,CDS_Sub); + SInitCDSData20(ADOQuerySub,CDS_Sub); + finally + ADOQuerySub.EnableControls; + end; +end; + + +procedure TfrmCpRkSaoMNewDB.Button1Click(Sender: TObject); +begin + if CDS_MainSel.IsEmpty then Exit; + if CDS_MainSel.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪִд˲','ʾ',32+4)<>IDYES then Exit; + MovePanel2.Visible:=True; + MovePanel2.Refresh; + try + ADOQueryCmd.Connection.BeginTrans; + CDS_MainSel.DisableControls; + with CDS_MainSel do + begin + First; + while not Eof do + begin + if CDS_MainSel.FieldByName('SSel').AsBoolean=True then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete CK_BanCP_CR where BCID='''+Trim(CDS_MainSel.fieldbyname('BCID').AsString)+''''); + sql.Add('delete CK_BanCP_KC where CRID='+Trim(CDS_MainSel.fieldbyname('CRID').AsString)); + sql.Add('Update WFB_MJJY Set MJStr2=''δ'' where MJID='''+Trim(CDS_MainSel.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + with CDS_Main do + begin + Append; + FieldByName('MainId').Value:=CDS_MainSel.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.CDS_MainSel.fieldbyname('SubId').Value; + FieldByName('OrderNo').Value:=Self.CDS_MainSel.fieldbyname('OrderNo').Value; + FieldByName('KgQty').Value:=Self.CDS_MainSel.fieldbyname('KgQty').Value; + FieldByName('Qty').Value:=Self.CDS_MainSel.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=Self.CDS_MainSel.fieldbyname('QtyUnit').Value; + FieldByName('MJId').Value:=Self.CDS_MainSel.fieldbyname('MJId').Value; + FieldByName('APID').Value:=Self.CDS_MainSel.fieldbyname('APID').Value; + FieldByName('CPType').Value:=Self.CDS_MainSel.fieldbyname('CPType').Value; + FieldByName('PRTColor').Value:=Self.CDS_MainSel.fieldbyname('PRTColor').Value; + FieldByName('AOrddefstr1').Value:=Self.CDS_MainSel.fieldbyname('AOrddefstr1').Value; + FieldByName('MJXH').Value:=Self.CDS_MainSel.fieldbyname('MJXH').Value; + Post; + end; + CDS_MainSel.Delete; + end else + Next; + end; + end; + CDS_MainSel.EnableControls; + ADOQueryCmd.Connection.CommitTrans; + MovePanel2.Visible:=False; + + MovePanel1.Visible:=True; + if CDS_MainSel.IsEmpty=False then + Edit1.Text:=IntToStr(Tv3.DataController.Summary.FooterSummaryValues[2]) + else + Edit1.Text:='0'; + Edit2.Text:=Trim(CDS_Main.fieldbyname('MJId').AsString); + if Trim(RKOrdID.Text)<>'' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('select isnull(Count(*),0) ZPS from CK_BanCP_CR where RKOrdID='''+Trim(RKOrdID.Text)+''''); + Open; + end; + RKOrdPS.Text:=Trim(ADOQueryCmd.fieldbyname('ZPS').AsString)+'ƥ'; + end; + except + MovePanel2.Visible:=False; + CDS_MainSel.DisableControls; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ɹ','ʾ',0); + end; +end; + +procedure TfrmCpRkSaoMNewDB.Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if CDS_MainSel.IsEmpty=False then Exit; + if CDS_Sub.IsEmpty then Exit; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + CDS_Main.DisableControls; + with CDS_Main do + begin + First; + while not Eof do + begin + if Trim(CDS_Main.fieldbyname('SubId').AsString)=Trim(CDS_Sub.fieldbyname('SubId').AsString) then + begin + CDS_Main.Delete; + end else + Next; + end; + end; + CDS_Main.EnableControls; + CDS_Sub.Delete; +end; + +procedure TfrmCpRkSaoMNewDB.Button4Click(Sender: TObject); +begin + MovePanel1.Visible:=False; +end; + +procedure TfrmCpRkSaoMNewDB.Button5Click(Sender: TObject); +var + maxno:String; + CRID:Integer; + MaxCkNo,MaxCkSubNo:String; +begin + if CDS_Sub.IsEmpty then Exit; + if CDS_Main.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡ!','ʾ',0); + Exit; + end; + if Trim(RKOrdID.Text)='' then + begin + Application.MessageBox('ⵥŲΪ!','ʾ',0); + Exit; + end; + if Trim(RKPlace.Text)='' then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪִ','ʾ',32+4)<>IDYES then exit; + MovePanel2.Visible:=True; + MovePanel2.Refresh; + try + ADOQueryCmd.Connection.BeginTrans; + CDS_Main.DisableControls; + with CDS_Main do + begin + First; + while not Eof do + begin + if CDS_Main.FieldByName('SSel').AsBoolean=True then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.add('Update CK_BanCP_CRID Set CRID=CRID+1'); + sql.Add('select * from CK_BanCP_CRID'); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').Value; + if GetLSNo(ADOQueryCmd,MaxCkNo,'JR','CK_BanCP_CR',4,1)=False then + begin + MovePanel2.Visible:=False; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡƷֿʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(CDS_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(CDS_Main.fieldbyname('SubId').AsString); + FieldByName('APID').Value:=Trim(CDS_Main.fieldbyname('APID').AsString); + FieldByName('MJID').Value:=Trim(CDS_Main.fieldbyname('MJId').AsString); + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('CRTime').Value:=FormatDateTime('yyyy-MM-dd',CRTime.DateTime); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + //FieldByName('JTType').Value:=Trim(XJFlag); + FieldByName('CRID').Value:=CRID; + FieldByName('KGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('Filler').Value:=Trim(DName); + FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('RKOrdId').Value:=Trim(RKOrdID.Text); + FieldByName('BaoNo').Value:=Trim(BaoNo.Text); + FieldByName('RKPlace').Value:=Trim(RKPlace.Text); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=CRID; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('MJID').Value:=Trim(CDS_Main.fieldbyname('MJID').AsString); + FieldByName('KCKGQty').Value:=CDS_Main.fieldbyname('KGQty').Value; + FieldByName('KCQty').Value:=CDS_Main.fieldbyname('Qty').Value; + FieldByName('KCQtyUnit').Value:=CDS_Main.fieldbyname('QtyUnit').Value; + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set MJStr2='''' where MJID='''+Trim(CDS_Main.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + with CDS_MainSel do + begin + Append; + FieldByName('MainId').Value:=CDS_Main.fieldbyname('MainId').Value; + FieldByName('SubId').Value:=Self.CDS_Main.fieldbyname('SubId').Value; + FieldByName('OrderNo').Value:=Self.CDS_Main.fieldbyname('OrderNo').Value; + FieldByName('KGQty').Value:=Self.CDS_Main.fieldbyname('KGQty').Value; + FieldByName('Qty').Value:=Self.CDS_Main.fieldbyname('Qty').Value; + FieldByName('QtyUnit').Value:=Self.CDS_Main.fieldbyname('QtyUnit').Value; + FieldByName('MJId').Value:=Self.CDS_Main.fieldbyname('MJId').Value; + FieldByName('CRId').Value:=IntToStr(CRID); + FieldByName('APID').Value:=Self.CDS_Main.fieldbyname('APID').Value; + FieldByName('CPType').Value:=CDS_Main.fieldbyname('CPType').Value; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('PRTColor').Value:=Self.CDS_Main.fieldbyname('PRTColor').Value; + FieldByName('MJXH').Value:=Self.CDS_Main.fieldbyname('MJXH').Value; + FieldByName('AOrdDefstr1').Value:=CDS_Main.fieldbyname('AOrdDefstr1').Value; + FieldByName('RKOrdID').Value:=Trim(RKOrdID.Text); + Post; + end; + CDS_Main.Delete; + end else + CDS_Main.Next; + end; + end; + CDS_Main.EnableControls; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select Mainid from CK_BanCP_CR where RKOrdId='''+Trim(RKOrdID.Text)+''''); + SQL.Add(' group by MainId'); + Open; + end; + if ADOQueryCmd.RecordCount>1 then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ͬʹͬⵥ!','ʾ',0); + Exit; + end; + ADOQueryCmd.Connection.CommitTrans; + MovePanel2.Visible:=False; + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('select isnull(Count(*),0) ZPS from CK_BanCP_CR where RKOrdID='''+Trim(RKOrdID.Text)+''''); + Open; + end; + RKOrdPS.Text:=Trim(ADOQueryCmd.fieldbyname('ZPS').AsString)+'ƥ'; + Exit; + except + BaoID.Text:=''; + CDS_Main.EnableControls; + MovePanel2.Visible:=False; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmCpRkSaoMNewDB.N1Click(Sender: TObject); +begin + SelOKNo(CDS_Main,True); +end; + +procedure TfrmCpRkSaoMNewDB.N2Click(Sender: TObject); +begin + SelOKNo(CDS_Main,False); +end; + +procedure TfrmCpRkSaoMNewDB.MenuItem1Click(Sender: TObject); +begin + SelOKNo(CDS_MainSel,True); +end; + +procedure TfrmCpRkSaoMNewDB.MenuItem2Click(Sender: TObject); +begin + SelOKNo(CDS_MainSel,False); +end; + +procedure TfrmCpRkSaoMNewDB.Button6Click(Sender: TObject); +var + maxno:string; +begin + if GetLSNo(ADOQueryCmd,maxno,'9','CK_BanCP_CR',4,1)=False then + begin + Application.MessageBox('ȡⵥʧ!','ʾ',0); + Exit; + end; + RKOrdID.Text:=Trim(maxno); +end; + +procedure TfrmCpRkSaoMNewDB.RKPlaceBtnClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='KuWei'; + flagname:='λ'; + if ShowModal=1 then + begin + RKPlace.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmCpRkSaoMNewDB.Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + RKOrdID.Text:=Trim(CDS_MainSel.fieldbyname('RKOrdID').AsString); + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('select isnull(Count(*),0) ZPS from CK_BanCP_CR where RKOrdID='''+Trim(RKOrdID.Text)+''''); + Open; + end; + RKOrdPS.Text:=Trim(ADOQueryCmd.fieldbyname('ZPS').AsString)+'ƥ'; +end; + +procedure TfrmCpRkSaoMNewDB.Button7Click(Sender: TObject); +var + fPrintFile:String; +begin + if Trim(RKOrdPS.Text)='' then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ⵥǩ.rmf' ; + if FileExists(fPrintFile) then + begin + CDS_MainSel.Locate('RKOrdID',Trim(RKOrdID.Text),[]); + RMVariables['RKOrdID']:=Trim(CDS_MainSel.fieldbyname('RKOrdID').AsString); + RMVariables['OrderNo']:=Trim(CDS_MainSel.fieldbyname('OrderNo').AsString); + RMVariables['PS']:=Trim(RKOrdPS.Text); + RMVariables['QtyUnit']:=Trim(CDS_MainSel.fieldbyname('QtyUnit').AsString); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ⵥǩ.rmf'),'ʾ',0); + end; +end; + +end. diff --git a/打卷检验管理/U_DataLink.dfm b/打卷检验管理/U_DataLink.dfm new file mode 100644 index 0000000..6ccac41 --- /dev/null +++ b/打卷检验管理/U_DataLink.dfm @@ -0,0 +1,17981 @@ +object DataLink_TradeManage: TDataLink_TradeManage + OldCreateOrder = False + OnCreate = DataModuleCreate + OnDestroy = DataModuleDestroy + Left = 277 + Top = 210 + Height = 349 + Width = 482 + object AdoDataLink: TADOQuery + Connection = ADOLink + Parameters = <> + Left = 136 + Top = 8 + end + object ADOLink: TADOConnection + LoginPrompt = False + Left = 48 + Top = 8 + end + object ThreeImgList: TImageList + Height = 24 + Width = 24 + Left = 48 + Top = 72 + Bitmap = { + 494C01018900F000040018001800FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 000000000000360000002800000060000000A005000001002000000000000070 + 0800000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008195DB0028397300283973002839 + 7300283973002839730028397300283973002839730028397300283973002839 + 7300283973002839730028397300283973002839730028397300283973002839 + 73002839730028397300283973007287D2000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A4B3E50031437F002B38 + 680026335B002B396C008E9FD400C0C0C000C1C1C100C7C7C700C8C8C800D5D5 + D500DADADA000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000CCCC + CC003E5291002B3767002A386800445799004D60A1005166AC005267AC005166 + AE005267AB005064A8004E63A7004A5D9B002F3D6E0029366400293665009FAD + DC00D3D3D3000000000000000000000000002D3E7C00092EAA000429A7000429 + A7000429A7000429A7000429A7000429A7000429A7000429A7000429A7000429 + A7000429A7000429A7000429A7000429A7000429A7000429A7000429A7000429 + A7000429A7000429A7003B57B400354682000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000536AB6007089DA005570 + CD003E5ABA00566EBC0047589200B7C5F1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000CBCBCB0093A2 + D800475891005166B1004E60A2004E69C0003B58BA003856B9003B58B9003754 + B7003653B6003552B300304DAF003551AE003545790047568D004C60A3002A37 + 670092A1D7000000000000000000000000004057A7002345B600042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042AAA000328 + A300042AAA00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC004157A200334A9300374E9A002C3E7D002C3E7D002C3E + 7D002C3E7D002C3E7D00374E9A0000000000374E9A002C3E7D002C3E7D002C3E + 7D002C3E7D002C3E7D00374E9A0000000000374E9A002C3E7D002C3E7D002C3E + 7D002C3E7D002C3E7D00374E9A0000000000000000006782DF006983DC00617C + D6004461C2003A57B800576EBC00283A7700B7C5F10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004860 + B200506BC8003B5BC4005570CA005E78D1003D5DC8004664CA004563C9004563 + C9004361C7003F5DC3003B5AC0003151BA0049598E004E67B800324EAE004A5A + 93004157A400000000000000000000000000A7B7ED00435EBA00153AB7000930 + B3000930B3000930B3000930B3000930B3000930B3000930B3008191C600FFFF + FF00FFFFFF000930B3000930B3000930B3000930B3000930B3000930B3000930 + B3000930B3000F35B5003D4F8D008499DF0033478A004F6CCC004F6CCC004F6C + CC004F6CCC00657FD30033478A000000000033478A00657FD3004F6CCC004F6C + CC004F6CCC00657FD30033478A000000000033478A00657FD3004F6CCC004F6C + CC004F6CCC004F6CCC0033478A0000000000000000006F8AE5007891E300758E + DF005873CF004663C3003A57B80047589300283B7800B7C5F100000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003C52 + 9E005978E100617FE4006F8BE800859DED006D89E9006E8AEA006C89E9006B88 + E8006986E7006481E300617EE1005C7ADE007F93D4005270D3004362CB005971 + C10033458400000000000000000000000000000000003A4E93004E69C0002449 + C500163DC100163DC100163DC100163DC100163DC100153AB800FFFFFF00FFFF + FF00FFFFFF00153AB800163DC100163DC100163DC100163DC100163DC100163D + C1001F45C4004E69C600A8B7EE00000000004158A7001B47D800204BD900224C + D9001B47D800829AE9004158A700000000004158A700829AE900204BD900224C + D900204BD900829AE9004158A700000000004158A700829AE9001B47D800224C + D900204BD9001B47D8004158A7000000000000000000778ACD009EB0EF00829A + E800778FE00096A8E3008292C800344EA200576EBC0048599300B7C5F1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000435B + AD006E8CEF007994F1007C97F3008DA5F500819BF400829CF500809AF4007F9A + F4007C97F3007692EF00738FED006F8BEB007F98E9005F7DE0005876DB006079 + CC00384C900000000000000000000000000000000000617ACE004E61A5004666 + D0001D44C9001D44C9001D44C9001D44C9001D44C9001C43C500A8B4DC00FFFF + FF00FFFFFF001D44C9001D44C9001D44C9001D44C9001D44C9001D44C9001D44 + C9003E60D0005066AD0000000000000000004961B6002D58E7003861E9003A62 + E9002C57E7009BAFF3004961B600000000004961B6009BAFF3003861E9003A62 + E900365FE8009BAFF3004961B600000000004961B6009BAFF3002D58E7003A62 + E900365FE8002C57E7004961B60000000000000000003F59B0007E90D000A1B3 + EF00839AE5008A96BD00B3C0EB00384F9C00344EA200576EBC002A3D7900B7C5 + F100000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004862 + B9007A96F4008AA3F6008EA6F60092A9F60093AAF60093AAF60092A9F60091A8 + F6008EA6F60088A2F600839DF400809AF4007591EF006F8BEB006784E700637E + D5003D539C0000000000000000000000000000000000000000003A53A1005A73 + C600234ACF00234ACF00234ACF00234ACF00234ACF00234ACF001C3CA6004660 + B6004660B600234ACF00234ACF00234ACF00234ACF00234ACF00234ACF002F54 + D2005974CB003E549E0000000000000000004F69C0003C65EF00496FF0004C72 + F1003A64EF00A9BBF8004F69C000000000004F69C000A9BBF800496FF0004C72 + F100476EF000A9BBF8004F69C000000000004F69C000A9BBF8003C65EF004C72 + F100476EF0003A64EF004F69C0000000000000000000BECCF5004059B0007F92 + D100849BE8004E5C8A008A96BD008292C800384F9C00344EA200495A93002B3D + 7A00B7C5F1000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000006F89 + DE00859FF5009FB3F700B2C2F900B7C7F900B8C7F900B9C8F900B7C7F900B5C5 + F900B3C3F900ABBDF800A6B9F800A0B4F70094ABF6008CA5F6007894F400617A + CE006B85DA00000000000000000000000000000000000000000000000000455E + B200476ADF003158DB003158DB003158DB003158DB003158DB0092A2D700FFFF + FF00FFFFFF003158DB003158DB003158DB003158DB003158DB003158DB00657E + D0004159AB000000000000000000000000005770C700BBC9F600BECBF700BFCC + F600BAC8F600B5C4F5005770C700000000005770C700B5C4F500BECBF700BFCC + F600BECBF700B5C4F5005770C700000000005770C700B5C4F500BBC9F600BFCC + F600BECBF700BAC8F6005770C70000000000000000000000000000000000BECC + F5008093D100A2B4EF006576AF008A96BD00B3C0EB008292C800344EA200566E + BC00495A9500B7C5F10000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3DB + F8007C95E8009DB2F700B2C2F900C9D5FB00BAC5E800AEB8D800A1AAC900A0A9 + C8009DA7C8009AA6CE009CAAD700A1B1E6009FB3F7008CA5F6007E99F500556E + C200D2DBF8000000000000000000000000000000000000000000000000009AAD + EC006984E0003C62E200375EE000375EE000375EE000375EE00095A5D900FFFF + FF00FFFFFF00375EE000375EE000375EE000375EE000375EE000395FE000566C + B600748ADC000000000000000000000000005B76D2005872C9005872C9007A7E + 8E005872C9005872C9005B76D200000000005B76D2005872C9005872C9006F74 + 83005872C9005872C9005B76D200000000005B76D2005872C9005872C9005872 + C9005872C9005872C9005B76D200000000000000000000000000000000000000 + 0000435CB2007C8FD1009AADEF004E5C8A008A96BD00B3C0EB00384F9C00344E + A200576EBC002C3F7C00B7C5F100000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005E76C700869DE9009CB1F700A2AFD900ADB5CF00D6D9E100EDECEB00ECEB + EA00ECEBEA00E4E4E800D2D5E100A2ACCE0097ADF70088A2F6007791E70092A5 + EC00000000000000000000000000000000000000000000000000000000000000 + 0000687ECB00587AE9003E64E5003E64E5003E64E5003E64E50097A7DB00FFFF + FF00FFFFFF003E64E5003E64E5003E64E5003E64E5003E64E5005073E8004A63 + BB00000000000000000000000000000000000000000000000000000000007878 + 7800000000000000000000000000000000000000000000000000000000006666 + 6600000000000000000000000000000000000000000000000000000000005656 + 5600000000000000000000000000000000000000000000000000000000000000 + 0000BECCF500445DB3007C90D1006576AF004E5C8A008A96BD008292C800384F + 9C00344EA2004A5B95002D3F7C00B7C5F1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000CED8F7006B84DB005C72BD00C7CBDB00CDCBCA00A19F9E009997 + 960099989600B8B7B500D1D0CE00CACEDE005972C5006B84DB00CED8F7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000657FD9006C83CD006686F2004C71F0004C71F0004C71F000CDD4EE00FFFF + FF00FFFFFF004C71F0004C71F0004C71F0004C71F0006182F1007087D4000000 + 0000000000000000000000000000000000000000000000000000000000009090 + 9000000000000000000000000000000000000000000000000000000000008080 + 8000000000000000000000000000000000000000000000000000000000007070 + 7000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BECCF5008294D300A2B4EF006576AF008A96BD00B3C0 + EB008292C800344EA200576EBC004B5C9500B7C5F10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000093A7ED006475AC0083879400ACAAA900C3C1 + C000C7C5C4009896950081879B006879B4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D2DBF800536CC1008098E7005176F1005176F1005176F100CFD6EF00FFFF + FF00FFFFFF005176F1005176F1005176F100597CF2007E97ED005870C3000000 + 0000000000000000000000000000000000000000000000000000000000009D9D + 9D009A9A9A0099999900989898009494940094949400919191008E8E8E008C8C + 8C008C8C8C008888880088888800858585008282820080808000808080007C7C + 7C00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000465FB5008395D300A2B4EF004E5C8A008A96 + BD00B3C0EB00384F9C003B58B800576EBC002F3E750032437D00354787003B50 + 98004C64BB000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000009D9D9D005D5C5C00A9A7A500AFAD + AB00B7B5B300C0BEBD00646363009D9D9D000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000007991E3006B81CC00587CF200587CF200587CF200D1D8EF00FFFF + FF00FFFFFF00587CF200587CF200587CF200718FF4007388D200607AD5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000009999 + 9900000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000BECCF5004760B6008396D4006576AF004F5D + 8A008A96BD008292C8004663C3003C59B900596DAF00586CAF005D72B800647B + C8005C70B1004760B40000000000000000000000000000000000000000000000 + 000000000000000000000000000059595900ACABAA00C2C1C000BDBCBA00B7B6 + B400AFADAB00A8A6A500B7B5B400AEADAC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000839AE800869FF3006686F3006586F300F3F5FA00FFFF + FF00FFFFFF006586F3006586F3006586F300758AD1007189DF00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000364C99002B3D7B002B3D7B002B3D7B006367 + 73002B3D7B002B3D7B002B3D7B00364C99000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCCF5007F92D400A2B4 + EF00869DE800778FE0006781D7005873CF003351B600203FA6000C2C96001B3B + A8003D5ABD00667FD0004861B400000000000000000000000000000000000000 + 00000000000000000000000000007E7E7D00D1D0D000D2D2D100CDCCCB00C7C6 + C500BFBDBC00A8A6A400A8A6A400B9B7B600AAAAAA0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000008B9FE0007E99F5006B8AF300FFFFFF00FFFF + FF00FFFFFF006B8AF3006B8AF3007A96F400526CC50000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000031448600657ED100506CCA00506CCA00506C + CA00506CCA00506CCA00657ED100314486000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004963B9008597 + D500A4B5EF00849BE600778FE0006781D7004461C200415DBA00445EB4001433 + 9B001839A7003A58BC005F73B4004A62B5000000000000000000000000000000 + 0000000000000000000000000000C2C1C100E0DFDE00E1E0E000DBDBDA00D5D4 + D300CCCBCA00B4B3B100A6A4A300ACAAA8006969690000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005F77C90097ACF2007592F4005B73C3005B73 + C3005B73C3007290F4007491F40090A7F300849BE80000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000374C94006580D8000732C1000833C1000833 + C1000833C1000631C1006681D900374C94000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCCF5004A63 + BA008799D60093A7EB00859BE600778FE0008196DA0099A8D9008F9DCD008191 + C7003853AB001536A5005E78CD003F549B000000000000000000000000000000 + 0000000000000000000000000000A9A9A8004D4D4D00F7F6F600F1F1F100EBEA + EA00E2E1E000C8C7C600B9B7B60070706F004D4D4D0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000C1CDF6005C75C8009FB1EF007F9AF5007F9A + F5007F9AF500829CF500A1B4F300687FCD000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000445BAC00869EEC002C55DE003D62DF003E63 + DF003C61DF002A53DD00869EEC00445BAC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004D66BB00A3B5F1009EB0EF008FA4EA00596CAD00AAB9EF0000000000536B + BC005A6999007F8FC400546DBE003A4C8B000000000000000000000000000000 + 00000000000000000000000000004D4D4D004D4D4D00FDFDFD00F8F8F800F2F1 + F100E9E8E800CFCECD00B9B7B6004D4D4D004D4D4D0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000006B84DE008699DB00859FF500859F + F500859FF50096ACF7008FA2E0005E79D6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004A63B900A1B4F600446BEC005F80EE006383 + EF005E7FEE004269EC00A1B4F6004A63B9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004E67BD00A7B8F300A7B8F10095A9ED004C65BB0000000000000000000000 + 0000465CAA006B79A8004F66B400374883000000000000000000000000000000 + 00000000000000000000000000004D4D4D004D4D4D00BCBCBC00E6E6E600CBCB + CB00BABAB9009A9999007A7A79004D4D4D006969690000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D3DBF9005C75CC0094ABF6008CA5 + F6008CA5F600A6B7F100647CCD00AFBFF3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004F68BF00A6B9F800567AF2007B97F4007F9A + F5007995F4005378F100A5B8F8004F68BF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000506AC000A3B5F400ADBDF4009DB0F1004D62AF00D1DAF800000000000000 + 0000000000003F56A1007284C00034437B000000000000000000000000000000 + 0000000000000000000000000000515151004D4D4D004D4D4D004D4D4D004D4D + 4D004D4D4D004D4D4D004D4D4D004D4D4D000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A7B6EB00A4B7 + F800A2B6F8005E77CA00D3DBF900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000556EC500B8C7F900597CF2007E99F500829C + F5007C97F400577BF200B7C7F900556EC5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005C77D400AABBF5009BB0F50097ACF300829BEB006D81C9005169C1000000 + 000000000000000000003D5299003D539D000000000000000000000000000000 + 0000000000000000000000000000AAAAAA004D4D4D004D4D4D004D4D4D004D4D + 4D004D4D4D004D4D4D004D4D4D004D4D4D000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006D83CF00B2C0 + F100B1BFF1007C93E60000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005771C800B7C6F600BFCCF500C6D1F700C7D2 + F700C6D1F700BECBF500B7C6F6005771C8000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008C9EDC00A9BAF50090A7F3007B95EE007993EA006C81C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000AAAAAA004D4D4D004D4D4D004D4D + 4D004D4D4D004D4D4D004D4D4D00AAAAAA000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000007C93E6005771 + C9005771C8000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005B76D2005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005B76D2000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005974CF008C9EDD00A5B7F5007490EE00718DED006E8AE800526B + C200000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D600556FC500556EC400546DC1005169 + BB00546EC5000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000038477E0041486200404761003E455F003D44 + 5F003C435E003B435D003B425D003A415C000000000000000000000000000000 + 000000000000000000000000000000000000000000002F3E710045569500475C + A400435AA700435AA700435AA600435AA500445BA600435AA500445AA5004359 + A4004359A3004359A2004359A2004359A1004358A0004358A00043589F004358 + 9F00495A990044528B0043569E00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CACACA00596FB9003E5194003E51 + 94003E5194003E5194003E5194003D5092003B4D8B00384A860034447C003241 + 77002F3E71002A3867002936620040529200C3C3C300DBDBDB00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000474E6A007A8ABF0013339F0013339F001333 + 9F0013339F0013339F0013339F007988BD000000000000000000000000000000 + 0000000000000000000000000000000000006279C9004660B4002747B000072B + A3000328A0000328A00003279F0003279F0003279E0003279D0003269C000326 + 9B0003269A000326990003269800032597000325960003259500032594000324 + 9300072895002743A2002E3D6F008EA1E1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005E72B6008DA1E40090A5 + EB008DA3ED008BA2ED00879EEB008199E9007E96E4007B92E000758CD7007187 + D1006E84CC00687CC0006F7FB7004D5B8A000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000048516E007B8BC10003279E0003279E000327 + 9E0003279E0003279E0003279E007B8BC0000000000000000000000000000000 + 000000000000000000000000000000000000283C80002748B5000429A8000429 + A7000429A6000429A5000429A5000328A3000328A2000328A2000328A0000328 + A00003279F0003279E0003279E0003279D0003269B0003269B0003269A000326 + 99000326980003259700495A99002D428A000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000008AA0EB00829CF5007995 + F4007290F4006989F3006082F2004C71ED004469E6003A5FDE00274DCD001D43 + C300143AB9000328A3003652AF006E7EB7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004B5472007C8CC3000328A2000328A2000328 + A2000328A2000328A2000328A2007B8BC3000000000000000000000000000000 + 0000000000000000000000000000000000002B3E8100042CB300042CB200042C + B20003238D00506BC800042BAF00042BAD00042BAD00042BAC00042AAA000322 + 8800506AC3000429A8000429A8000429A7000429A6000429A500032184000328 + A3000328A2000328A100435EB800263873000000000028387100283871002838 + 7100283871002838710028387100283871002838710028387100283871002838 + 7100293C7A000000000000000000000000000000000000000000000000000000 + 0000000000004B62B10028387100000000000000000096AAEE0093AAF60096AC + F700829DF5007894F4006D8CF3005679EE004B6FE7004166DF002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000515978007D8EC800042AAB00042AAB00042A + AB00042AAB00042AAB00042AAB007B8CC7000000000000000000000000000000 + 0000000000000000000000000000000000002D418600042DB800042DB700042D + B600032492004F6BCA00042CB400042CB300042CB200042CB100042BB0000323 + 8C004F6AC700042BAD00042BAC00042BAC00042AAA00042AAA00032187000429 + A8000429A8000429A700435FBC0028397700000000004862B8004E67BA005069 + BB004D66BA004C66BA004A64B8004660B700435EB600435DB6007D8FCC00929D + C00033447F000000000000000000000000000000000000000000000000000000 + 0000A3B4EB0035447D0034468200000000000000000097ABEE0097ADF70097AD + F700829DF5007894F4006D8CF3005679EE00000000007A94E8002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000535C7C007C8ECB00042CB100042CB100042C + B100042CB100042CB100042CB1007B8DCA000000000000000000000000000000 + 0000000000000000000000000000000000002F438B000530BE00042EBC00042E + BC00032595004F6CCE00042EB900042DB700042DB7000328A200031F7E000219 + 6400374B8D00031F7C0003269A00042CB100042BB000042BAF0003238C00042B + AD00042BAC00042AAB00425FBF002A3C7C00000000004F69BF002948B1002F4D + B3002B4AB2002646B0002142AF001739AB001033A9001538AA00929EC4003749 + 8600ACBBEB000000000000000000000000000000000000000000000000000000 + 000033488F0051629F00445CA900000000000000000099ADEE0098AEF70097AD + F700829DF5007894F4006D8CF3005679EE00000000007A94E8002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000555E7F007D8FCE00042DB600042DB600042D + B600042DB600042DB600042DB6007C8ECD000000000000000000000000000000 + 000000000000000000000000000000000000344A9400143ECA001740CA00153E + C900072A9E005875D7000E38C5000B36C4000934C2000D2A8A00CDCCCA00CBCA + C800C9C7C600CECCCB0003208300042EBB00042EBA00042EB90003249300042D + B700042DB600042DB6004361C7002F428500000000005C76CC004C68C7005570 + CA004B67C7004562C500405EC4003454C000546FCA006E80BC00B1BFED000000 + 0000000000000000000000000000000000000000000000000000000000004455 + 92004964BF006980CC00B4C3EF0000000000000000009AAEEF0098AEF70097AD + F700829DF5007894F4006D8CF30011172D0000000000161B2B002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005A6488007E92D400042FBF00042FBF00042F + BF00042FBF00042FBF00042FBF007C90D2000000000000000000000000000000 + 000000000000000000000000000000000000364B99001D46D100224AD2002149 + D1000A2DA3005F7CDC001A43CD001640CB00153FCA0016359B00EDEDEC00ECEC + EB00EBEBEA00DBDCE20005258E000530C100042FBF00042FBF0003269800042F + BD00042EBC00042EBB004362CB0031458A0000000000607AD1005873CF00627C + D2005873D000526ECD004D6ACC004261C9004F6CCC00586FBA00000000000000 + 0000000000000000000000000000000000000000000000000000556EC3004D67 + BC003F5FC8008596D00000000000000000000000000099ADF00097ADF70097AD + F700829DF5007894F4006D8CF3001F1F1F000C0C0C001F1F1F002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E678B007F92D5000531C4000531C3000531 + C3000531C3000531C3000531C4007D91D4000000000000000000000000000000 + 000000000000000000000000000000000000394F9E00264FD8002C53D8002C53 + D7000D31A8006884E100254DD400214AD2002049D2001D45CC001639AF000826 + 8B004E67BA001034AC00113AC5000F3AC8000C37C7000A35C50004279C000632 + C3000531C200042FC0004262CF0033478F00000000006580D700637ED6006F88 + DA00647FD700607BD6005A76D4004E6CD1004766CF005C77D2005871C5000000 + 000000000000000000000000000000000000CCD6F700455EB10044599E003255 + CA00385ACB008392C20000000000000000000000000098ACF00094ABF60096AC + F700829DF5007894F4006D8CF3003A405600333333003F4454002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000606A8F008295D800113CCB00153FCC00153F + CC00153FCC00153FCC00123DCC008094D7000000000000000000000000000000 + 0000000000000000000000000000000000003D55A800375EE2004166E3004267 + E3001338B0007691E9003B61E000375DDE00355CDD00345BDD003057DB000F33 + AB006C87E4002951D800274FD700264ED6001834940017349400072074001330 + 9200122F91001338B3004869D800384E9800000000006C86E0007891E300889E + E6007E96E4007992E300748EE2006984E0006480DE005977DC006580D8005269 + B900485EA600445BAA004359A600455BA5005570CC004F6FDA003459D5002F55 + D40095A5D9004960AE000000000000000000000000008EA4EE00859FF50089A2 + F600859FF5007E99F5007592F4006283F000597AE9005072E1003E60D2003457 + C9002C4EC0001C3DAC003652AF007181BA000000000000000000000000000000 + 0000000000008282820080808000828282000000000000000000000000000000 + 0000000000000000000000000000657097008C9EE000365CDB003F64DC003F64 + DC003F64DC003F64DC00365CDB008A9DDF000000000000000000000000000000 + 0000000000000000000000000000000000004059AD003F66E7004B70E8004D71 + E900163BB3007E98ED00456AE5004368E4004166E3003F64E2003C62E1001237 + AF00748FE900345BDD003259DC003158DC00B6B6BA00BFBDBB00BDBBB900BAB8 + B600AEAEB200173494004C6DDC003A509D00000000006E89E5007E96E70094A8 + EB008BA1EA00869DE8008199E8007690E600718BE5006B86E3006683E3006B86 + E300607EE2005270D3005A76D5005A78DE004A6CDE003158D900264FD8006D88 + E2008090C500879CE1000000000000000000000000006E84D0008AA1EE0090A6 + F00091A7F0008FA5F0008CA3EF00879FED00849BE8008097E3007B91DA00788D + D400758ACF007083C5007283BE00576798000000000000000000000000000000 + 0000000000008080800040404000808080000000000000000000000000000000 + 00000000000000000000000000006973990091A4E300466AE1005475E4005475 + E4005475E4005475E400466AE1008FA1E1000000000000000000000000000000 + 000000000000000000000000000000000000425CB200486DEC004D6CD2003D55 + A600122C80005E6FA8003851A4004362CA004B70E800496EE700456AE600153A + B3007A95EC003F64E3003E64E3003C62E200D7D5D400CDCCCA00CBCAC800C7C5 + C300CECCCB001F3B99005071E0003D54A200000000006D89E7007C96EA0097AB + EE009DB0F00093A8EE008DA3ED00839BEC007D97EB007792E9006D89E8006381 + E7006482E700607FE6005E7DE6005072E3004065E1003D62E100335ADF00A8B6 + E400566BB80000000000000000000000000000000000718BE2005771C8005771 + C8005771C8005771C8005771C800556EC400516ABD004E66B600485EA7006D71 + 7D00717170005E616D003A4A83005068B8000000000000000000000000000000 + 0000000000008080800045454500808080000000000000000000000000000000 + 00000000000000000000000000006B769E0096A8E5005879E7006684E9006684 + E9006684E9006684E9005879E70094A5E4000000000000000000000000000000 + 0000000000000000000000000000000000004760B700587CF2005166AD00D7D5 + D400CBCAC800C9C7C600C7C5C300465DA9006283F2006082F1005C7EEF001B40 + BB008AA2F3005477ED005377ED005175EC004361C7004261C70014339B003D5C + C5003C5CC5004166E2005678E8004259AC00000000005F80EE00A0B3F500ACB9 + E700B9C6F100A5B7F500A0B3F5009DB1F40097ACF40092A9F400869FF200819B + F1007D97F100728FF0006C8AF0006786EF005B7DED005074EC007F99F0005C76 + CC00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008080 + 8000CCCCCC008080800000000000000000000000000000000000000000000000 + 000000000000808080005050500080808000000000000000000000000000717F + AF00889FE90091A6EA009AACEB00A8B8ED00B0C0F4008BA3F20087A0F20087A0 + F20087A0F20087A0F200849EF200AFBFF4009DAEE90097AAE90090A4E8008E9A + C200616D9500CDD7F70000000000000000004861B8006082F2005E73BB00E4E5 + EA00ECECEB00EBEBEA00EAEAE9005269B4006D8CF3006B8AF3006888F3001E43 + BE0092A9F5006082F1005F81F1005C7EF000597CEF00577AEF001A3FBB005175 + ED005074EC004A6FEB00597BEB00455DB10000000000859FF400A6B6E8005E76 + C700768BD200BDCAF600A4B7F700A8BAF700A4B7F7009FB3F60094ABF6008EA6 + F50088A1F500809BF5007A96F4007592F4006384F300839DF400B3C1ED00D3DB + F900000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008080 + 8000D1D1D1008080800000000000000000000000000000000000000000000000 + 000000000000808080005555550080808000000000000000000000000000BAC6 + F40093A2D8008BA4F5007693F30092A9F500A0B4F6009AAFF60098AEF60098AE + F60098AEF60098AEF60097ADF6009FB3F6007E99F4007592F3008CA4F5006571 + 9900869CE0000000000000000000000000004962B9006888F3007D97F0007086 + D000213FA3008D9DD2006A81CF007893F0007894F4007794F4007391F4002146 + BE009BB0F7006C8BF3006A8AF3006888F3006586F3006384F3001D42BE005D7F + F1005C7FF1005478F0005C7EEF004761B70000000000A3B3E8006078C800B4C1 + F2005974CF007D91D600BBC9F800A2B6F800AEBFF800ACBDF800A1B5F7009CB1 + F70097ADF7008BA4F600859FF5007E99F50097ADF700B6C2EE006A80CD000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008080 + 8000D5D5D5008080800000000000000000000000000000000000000000000000 + 0000000000008A8A8A0059595900808080000000000000000000000000000000 + 00007684B5009BA9D90099AFF7009AAFF700A6B9F800A7B9F800A7B9F800A7B9 + F800A7B9F800A7B9F800A7B9F800A6B9F80087A1F50099AFF70092A0D100879C + E100000000000000000000000000000000004B65BC00708EF40089A2F60097AD + F70097ADF70095ACF70093AAF60090A8F6008EA6F6008CA5F60088A2F60087A1 + F500859FF500829CF500809BF5007F9AF5007B97F4007995F4007894F4007491 + F4006F8DF3006283F2006987ED004B65BC000000000000000000000000000000 + 00000000000000000000647EDA0096A8E300C1CEF800C3D0FA00B1C1F900A9BB + F800A5B8F800ABBDF800BAC9F900C1CCF400627BCE00BBC9F500000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008080 + 8000D8D8D80084848400C6C6C600000000000000000000000000000000000000 + 0000C6C6C6009898980067676700868686000000000000000000000000000000 + 000000000000BAC6F4007683B400B3C3F900B2C2F900BDCBFA00C0CEFA00C0CE + FA00C0CEFA00C0CEFA00BDCBFA00B2C2F9009DA9D5006A76A000889CE2000000 + 0000000000000000000000000000000000004D66BF007995F400829CF50091A8 + F6009AAFF70099AFF70097ADF70096ACF70094ABF60092A9F6008FA7F6008DA5 + F6008BA4F60088A2F60086A0F500849EF500819BF5007F9AF5007C97F4007592 + F4006D8CF3005E80F2006C86E0004F6AC5000000000000000000000000000000 + 00000000000000000000000000005874CF00657DCD008497DB00B9C7F300C1CD + F600C0CDF600A7B6E700889AD900667FCC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000009090 + 9000C3C3C3008E8E8E008A8A8A00000000000000000000000000000000000000 + 00008A8A8A00B5B5B5006E6E6E00969696000000000000000000000000000000 + 00000000000000000000BAC6F400A1AEDA00B2C2F900B6C6F900CBD6FB00CBD6 + FB00CBD6FB00C8D4FB00B8C7F900B2C2F9006C77A100889DE200000000000000 + 0000000000000000000000000000000000007990E200839CF0007E99F5007C97 + F400839EF500839EF500839EF500829CF500819BF5007F9AF5007C97F4007B97 + F4007A96F4007794F4007592F4007491F400718FF4006F8DF3006C8BF3006485 + F3005F81F2006485F3005C73C70091A5EB000000000000000000000000000000 + 0000000000000000000000000000000000009FB1F0006B85DE005771C8005771 + C8005771C800647EDA0093A8ED00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000B0B0 + B000A6A6A600B0B0B0008B8B8B00868686000000000000000000000000008686 + 860092929200ACACAC0078787800BBBBBB000000000000000000000000000000 + 00000000000000000000000000007482B2009EABD900B4C4F900D1DBFB00D5DE + FC00D5DEFC00C5D1FA00B6C6F9009AA8D5008A9DE30000000000000000000000 + 000000000000000000000000000000000000000000007991E300506AC3005069 + C0005069C0005069C0005069C0005069C0005069C0005069C0005069C0005069 + C0005069C0005069C0005069C0005069C0005069C0005069C0005069C0005069 + C0005069C000506AC30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D3D3D300D7D7D700DFDFDF00CECECE00AEAEAE009D9D9D0099999900C0C0 + C000C5C5C500B7B7B700D3D3D300000000000000000000000000000000000000 + 000000000000000000000000000000000000BAC6F4007381B200C1CEFA00C1CE + FA00C1CEFA00A7B2D900717DA7008A9EE3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000080808000B3B3B300E1E1E100F3F3F300EFEFEF00E9E9E900CDCD + CD00A7A7A7008080800000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BAC6F300A6B1DA00B3C3 + F900B3C3F900737EA8008B9EE400000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000B0B0B0008A8A8A008080800080808000808080008A8A + 8A00B0B0B0000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000007181B0009DAA + D8009CA9D7008B9FE40000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CED8F7000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000D3D3D300C2C2 + C2003D4E860029355F0027335E0027335E0027335E0027335E0027335E002733 + 5E0027335E0027335E0027335E0027335E0029355F003D4E860098A7D800C2C2 + C200D4D4D4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000293973008C99C6008897C9004963B7001F3E + A60003269C001F3EA6004963B7006A7EC2008C99C60029397300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B9C6F1002C3C + 75003D55A4003D55A4003D55A4003D55A4003D55A4003D55A4003D55A4003D55 + A4003D55A4003D55A4003D55A4003D55A4003D55A4003D55A40040518F00AFBD + EC00000000000000000000000000000000000000000000000000000000004053 + 93003F64DE002A54DF004368E5007D97ED0099ADF0009EB1F000849BE700768F + E2006984DB00506CCB004360C2003553B700213EA0003E57A900415187000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005871C0003D54A2002C4082005165A9004A65 + BD000328A3004661BC005165A9004A598E002C3C7A005871C000000000000000 + 000000000000000000000000000000000000D6D6D600384A880023315C002331 + 5C0023315C0023315C0023315C0023315C0023315C0023315C0023315C002331 + 5C0023315C0023315C0023315C0023315C0023315C0023315C0023315C002331 + 5C0023315C0023315C00C0C0C000CECECE000000000000000000465DAD004055 + 99001336AC001034AB001034AB001034AB001034AB001034AB001034AB001034 + AB001034AB001034AB001034AB001034AB001034AB001336AC002C4BB4003D54 + A300000000000000000000000000000000000000000000000000000000002B3D + 79001945D7001F42B5005466A300A7B7ED00A3B5F100AABAF2007781A4009AA3 + C30096A7E0004D6ACB0038509E004B5A8C00576CB3001B3898004A5EA1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000042528C00516B + C200042AAA00506AC40042528C008397DE000000000000000000000000000000 + 0000000000000000000000000000000000000000000026356E005A6CAB00566A + B000566AB000566AB000566AB000566AB000566AB000566AB000566AB000566A + B000566AB000566AB000566AB000566AB000566AB000566AB000566AB000566A + B000566AB000566AB00000000000000000000000000000000000324791003E59 + B400042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC001338B1002D40 + 8100000000000000000000000000000000000000000000000000000000002D3E + 7D000938D4001E378A004864C100CED6F000A3B5F100AABAF2007E8EC40090A0 + D700C7CFEB004D6ACB002F407900384F9D00A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000034488D005771 + C600042EB9005771C60034488D00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002D4289005771CA00173F + C500042FC000042FC000042FC000042FC000042FC000042FC000042FC000042F + C000042FC000042FC000042FC000042FC000042FC000042FC000042FC000042F + C000042FC0004F6DD30000000000000000000000000000000000364B95003F5C + BD00042DB800042DB800042DB8001037BB001037BB001037BB001037BB001037 + BB001037BB001037BB001037BB000D35BB00042DB800042DB8001037BB003246 + 8B00000000000000000000000000000000000000000000000000000000003143 + 84000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000374C93005873 + CB00042FC0005873CB00374C9300000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000324793005873D0001842 + CF000533CC000533CC000533CC000533CC000533CC000533CC000533CC000533 + CC000533CC000533CC000533CC000533CC000533CC000533CC000533CC000533 + CC000533CC005171DB0000000000000000000000000000000000384E9900405D + C200042FBF00042FBF00042FBF00405EC200405EC200405EC200405EC200405E + C200405EC200405EC200405EC2003859C800042FBF00042FBF00113AC2003549 + 9000000000000000000000000000000000000000000000000000000000003346 + 87000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000003A509A005974 + D0000431C7005974D0003A509A00000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000364C9D00607CDA002851 + DC001643D9001643D9001643D9001643D9001643D9001643D9001643D9001643 + D9001643D9001643D9001643D9001643D9001643D9001643D9001643D9001643 + D9001643D9005C7BE400000000000000000000000000000000003A509D00405F + C7000430C4000430C4000430C400374C9700374C9700374C9700374C9700374C + 9700374C9700374C9700374C9700405FC7000430C4000430C400103AC700374C + 9700000000000000000000000000000000000000000000000000000000003447 + 8B000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004057A7005B77 + DA000636D6005B77DA004057A700000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003E57AF00748FEA004F74 + F000426AEF00426AEF00426AEF00426AEF00426AEF00426AEF00426AEF00426A + EF00426AEF00426AEF00426AEF00426AEF00426AEF00426AEF00426AEF00426A + EF00426AEF007B97F400000000000000000000000000000000003F57A7004162 + D1000434D1000434D1000434D1003C54A1000000000000000000000000000000 + 000000000000000000003C54A1004162D1000434D1000434D100113ED3003C54 + A10000000000000000000000000000000000000000000000000000000000384D + 94000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000435BAE005F7D + E0000E3EDF005F7DE000435BAE00000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000405AB1007D97EB006384 + F300587CF200587CF200587CF200587CF200587CF200587CF200587CF200587C + F200587CF200587CF200587CF200587CF200587CF200587CF200587CF200587C + F200587CF20089A2F600000000000000000000000000000000004058AC004567 + D6000E3DD8000E3DD8000C3BD8003F57A8000000000000000000000000000000 + 000000000000000000003F57A8004567D6000E3DD8000E3DD8001946DA003F57 + A800000000000000000000000000000000000000000000000000000000003A4F + 98000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000465FB4006381 + E5001747E7006381E500465FB400000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000425BB300869DED007894 + F4006E8DF3006E8DF3006E8DF3006E8DF3006E8DF3006E8DF300637EDB00637E + DB00637EDB00637EDB006C8AF0006E8DF3006E8DF3006E8DF3006E8DF3006E8D + F3006E8DF30097ADF70000000000000000000000000000000000435CAF004B6C + DB001E4BE1001D4AE0001947E000425AAD000000000000000000000000000000 + 00000000000000000000425AAD004A6CDB001E4BE1001E4BE1002853E200425A + AD00000000000000000000000000000000000000000000000000000000003C51 + 9C000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004B65BC006B88 + EB002755EE006B88EB004B65BC00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003B519A00465898003A4D + 9000364A8E00364A8E00364A8E00364A8E00364A8E00364A8E00C7CCDD009BA0 + AF00999EAD005967980035488A00364A8E00364A8E00364A8E00364A8E00364A + 8E00364A8E00465898003D55A5000000000000000000000000004862B9005576 + E5003D66EE003D66EE00325DED004761B9000000000000000000000000000000 + 000000000000000000004761B9005475E5003D66EE003D66EE00436AEE004761 + B900000000000000000000000000000000000000000000000000000000004157 + A3000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D500133195004A5FA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004C66BD006E8B + EB00305CEE006E8BEB004C66BD00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006179CC005A75D1005A75 + D1005A75D1005A75D1005A75D1005A75D1005A75D1005A75D100D0D7ED00D0D6 + E700CED4E5006A7FC7005873CD005A75D1005A75D1005A75D1005A75D1005A75 + D1005A75D1005A75D1004B5FA5000000000000000000000000004A64BB005A7B + E8004D72F1004D72F1004068F0004A64BB000000000000000000000000000000 + 000000000000000000004A64BB00597AE8004D72F1004E73F1005176F1004A64 + BB0000000000000000000000000000000000000000000000000000000000435A + A7000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D500133195004A5FA5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004D67BE00728E + EC003862EF00728EEC004D67BE00000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000738CE000466AE2003B61 + E0003B61E0003B61E0003B61E0003B61E0003B61E0003B61E0004665CE005773 + D3005773D3003557C9003A5FDC003B61E0003B61E0003B61E0003B61E0003B61 + E0003B61E0003B61E000566AB3000000000000000000000000004B65BC005F7F + E8005C7FF2005C7FF2004D72F1004B65BC000000000000000000000000000000 + 000000000000000000004B65BC005D7DE8005C7FF2005D80F2005F81F2004B65 + BC0000000000000000000000000000000000000000000000000000000000455C + AB000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D500133195004A5FA5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005069C0007B95 + ED004A70F0007B95ED005069C000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000B8C6F6009BB0F70093AA + F60093AAF60093AAF60093AAF60093AAF60093AAF60093AAF60093AAF60093AA + F60093AAF60093AAF60093AAF60093AAF60093AAF60093AAF60093AAF60093AA + F60093AAF60093AAF6006C80C9000000000000000000000000004D67BE006A87 + E9007C97F4007C97F4006686F3004D67BE0000000000000000005A74CB004D67 + BE004D67BE004D67BE004D67BE00728DEA007D98F5007D98F5007F9AF5004D67 + BE004D67BE004D67BE004D67BE005A74CB000000000000000000000000004961 + B3000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007E95 + E200C7CFEB004D6ACB002F4079002D4CB400A9B3D500133195004A5FA5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000516AC1007D97 + EE005176F1007D97ED00516AC100000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D7DFF900D5DEFC00D5DE + FC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DE + FC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DE + FC00D5DEFC00D5DEFC007387CC000000000000000000000000004E68BF006E8A + EA008BA4F6008AA3F6007391F4004E68BF0000000000000000004E68C100607A + D0004E71E7006382E900738EEA0089A2F4008CA5F6008CA5F6008CA5F600738D + EA006483E9005A7BE800607AD0004E68C1000000000000000000000000004C65 + B8000535D4001E378A004864C100CED6F000A3B5F100AABAF2007E8EC40090A0 + D700C7CFEB004D6ACB002F407900384F9D00A9B3D500133195004A5FA5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000526BC200809A + EE005A7DF200809AEE00526BC200000000000000000000000000000000000000 + 000000000000000000000000000000000000000000007185CC007589CE007589 + CE007589CE007589CE007589CE007589CE007589CE007589CE007589CE007589 + CE007589CE007589CE007589CE007589CE007589CE007589CE007589CE007589 + CE007589CE007589CE005870C6000000000000000000000000004F69C000738E + EB009BB0F7009AAFF700809BF5004F69C0000000000000000000BFCDF600516A + C3005A78E0006384F300819BF50098AEF7009CB1F7009CB1F7009CB1F700829D + F5006686F3006183F200516AC300BFCDF6000000000000000000000000004E66 + BC000535D4001F42B5005466A300A7B7ED00A3B5F100AABAF2007882A5009AA3 + C30096A7E0004D6ACB0038509E004B5A8C00576CB300133195004A5FA5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009FAFE9005671CC0000000000000000000000000000000000546EC50088A0 + EF006B8AF30088A0EF00546EC500000000000000000000000000000000005A72 + C600A1B1E900546EC50000000000000000000000000000000000000000000000 + 0000000000000000000000000000C7C5C500AFADAC00898685007D7A78007D7A + 78007D7A78007D7A78007D7A7800AFADAC008F8D8B0000000000000000000000 + 0000000000000000000000000000000000000000000000000000516BC2007B95 + EC00BAC9FA00B9C8F90097ADF700516BC2000000000000000000000000000000 + 000092A5EC00738EEB0098AEF700B4C4F900BBCAFA00BBCAFA00BAC9FA0097AD + F7007892EC005A73C6000000000000000000000000000000000000000000536D + C4000425940015349B002C469F005B6CA500727FA9007682A9006070A2005666 + 9F004B5D990035498D002A3F86001F357E00091F6A000D226800344374000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00008AA1EC006B81CD00AFBEF300000000000000000000000000556FC6008BA2 + F0007290F4008BA2F000556FC600000000000000000000000000000000007589 + D200879FEF00556FC60000000000000000000000000000000000000000000000 + 0000000000000000000000000000E0DEDE00D7D5D500D3D1D000D3D1D000D3D1 + D000D3D1D000D3D1D000D3D1D000D5D3D2009C9A990000000000000000000000 + 0000000000000000000000000000000000000000000000000000526CC3007A95 + EC00C4D1FA00C3D0FA009CB1F700526CC3000000000000000000000000000000 + 0000000000006179CB00809AEE00ABBDF800C9D5FB00C9D5FB00C1CEFA007B96 + EE006179CB007991E20000000000000000000000000033437C0027376D002737 + 6D0027376D0027376D0027376D0027376D0027376D0027376D0027376D002737 + 6D0027376D0027376D0027376D0027376D0027376D0027376D0027376D002737 + 6D00374780000000000000000000000000000000000000000000000000000000 + 00007993EE00748EE5005870C8000000000000000000000000005670C7008FA6 + F1007A96F4008FA6F1005670C70000000000000000000000000093A7ED007791 + E7007C96EE005E79D50000000000000000000000000000000000000000000000 + 0000000000000000000000000000DEDDDC00E4E3E200E4E3E200E4E3E200E4E3 + E200E4E3E200E4E3E200E4E3E200E4E3E2009A97960000000000000000000000 + 0000000000000000000000000000000000000000000000000000536DC600738E + E900AFC0F900B0C0F9008FA7F600536DC4000000000000000000000000000000 + 0000000000006883DC00637BCD00869FF200BAC9FA00BAC9FA00A7B9F8006179 + CC006883DC00000000000000000000000000000000002E3F7B004662BF004F6C + CD005F7DE3006685ED006988F1006382EB005F7FE8005B7BE4005474DD005070 + D9004C6CD5004564CC004463CA004766CC004D6BD100506ED400516FD500536F + CC00364A91000000000000000000000000000000000000000000000000000000 + 0000819AEB006183F2005579F100486DE8004469E8004469E8005174E9006585 + F1007894F4006484F1005074E900466BE8004469E8004A6EE8004E73EF006586 + F3007992E500607AD70000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000CED8F7005770 + C8006D8AEB006D8AEB006A83DA00C1CDF6000000000000000000000000000000 + 00000000000000000000000000005973CF007390F2007592F2006E86D6000000 + 000000000000000000000000000000000000000000003E539B00566EBF004463 + CA005B7AE2007490EE007E99F3006987EC005D7DE7005273E2003B60D8002F54 + D200244ACB000C35BE000831BA001239BE00254AC6002B50C9003256CD005D77 + CE004458A0000000000000000000000000000000000000000000000000000000 + 000095A8E600A8B9F300AABBF300A5B7F300A4B6F300A4B6F300A9B9F300AFBF + F500B1C1F500AEBEF500A8B9F300A5B7F300A4B6F300A6B8F300AABAF300A8B9 + F30095A8E600607AD70000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F6005670C7005670C700647ED900000000000000000000000000000000000000 + 0000000000000000000000000000000000006580DC006681DD005D77CF000000 + 000000000000000000000000000000000000000000006079C700566CB6005D77 + CB006D87DD00748EE5007892E800708BE3006E88E1006A84DE00637DD8005E79 + D5005B76D200536DCA00516CC9005570CC005B75CE005E78D1005E78D100556B + B2006880D2000000000000000000000000000000000000000000000000000000 + 00005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C900879CE90000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005972CA005972CA00C1CDF6000000 + 0000000000000000000000000000000000000000000000000000677FD1005068 + BC005068BC005068BC005068BC005068BC005068BC00485EA900485EA900485E + A900485EA9005068BC005068BC005068BC005068BC005068BC005068BC006E85 + D300000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000879BE00044589E004458 + 9E00475A9E000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CBCBCB00C7C7C70095A4D9002B3A6A002B3A6A002B3A6A002B3A6A002B3A + 6A002B3A6A002B3A6A002B3A6A002B3A6A003040790095A4D900C5C5C500D3D3 + D300000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000B2BFEE002D407D003758C6003758C6003758C6003758C6003758 + C6003758C6003758C6003758C6003758C6003C53A1002E407C00B1BFED000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000DADADA00C7C7C700C0C0 + C000C0C0C000253566002A396E00AFBCE400C8C8C800D5D5D500DEDEDE000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000031458E003E58AF003358D600042CB300042CB300042CB300042CB300042C + B300042CB300042CB300042CB300042CB3000D34B9003358D6003E58AF00BAC6 + F200000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000032458D00DDE2 + F600DFE4F700DFE4F700E0E5F700E0E6F700E0E6F700E1E7F800E3E8F800E3E8 + F800E4E9F800E4E9F800E5EAF800E5EAF800E6EBF800E7EBF900E7EBF900E8EC + F900E9EDF900E9EDF90032458D00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000B9C6 + F1002C3F7D003E58AE003F58AA00425287000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000BAC7 + F2004059B200345AD9000D36BE00042DB700042DB700042DB700042DB700042D + B700042DB700042DB700042DB700042DB700042DB7000D36BE00345AD9003348 + 9100BAC7F2000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000035499400D8DF + F600C9D2F200C9D2F200CAD3F200CCD5F400CDD6F400CED7F400CFD7F400D0D8 + F400D0D8F400D2DAF500D3DBF500D4DBF500D6DDF500D6DDF500D7DEF500D9E0 + F600DAE0F600DBE1F70035499400000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B9C6F1002E42 + 81004A5D9D000F309D000F2F9A003F58AA003044890000000000000000000000 + 0000000000000000000000000000000000000000000000000000BCC8F300354A + 95003359DA000D37C200042EBC00042EBC00042EBC00042EBC00042EBC00042E + BC00042EBC00042EBC00042EBC00042EBC00042EBC00042EBC000D37C200415B + B500354A9500BCC8F30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000384E9A00D5DC + F600C3CEF300C4CFF300C4CFF300C5D0F300C5D0F300C6D0F300C8D2F400C9D3 + F400C9D3F400CBD4F400CCD5F400CCD5F400CED7F500CFD8F600D0D9F600D2DA + F600D2DAF600D3DBF600384E9A00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000304285004B5F + A1003F5AB70003269B00032698000F2F9A004453880031458A00000000000000 + 00000000000000000000000000000000000000000000384F9E00435DBA00335A + DE000431C5000431C5000431C5000431C5000431C5000431C5000431C5000431 + C5000431C5000431C5000431C5000431C5000431C5000431C5000431C5000D39 + CB00335ADE00435DBA00BDC9F400000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000003F56AA00D7DF + F9000537DD00C6D1F700C6D1F700C6D1F700C5D1F7000537DD00C5D1F700C4D0 + F700C4D0F700C4D0F700C4D0F700C3CFF7000537DD00C3CFF700C3CFF700C4D0 + F7000537DD00C4D0F7003F56AA00000000000000000000000000000000000000 + 000000000000000000000000000000000000BAC7F20035498F003E5BBE000F33 + AB000429A50003279F0003279D0003269B000F2F9A003F58AA00445489000000 + 000000000000000000000000000000000000BDC9F400435FBD00335BE0000D3A + CE000432CB000432CB000432CB000432CB000432CB000432CB000432CB000432 + CB000432CB000432CB000432CB000432CB000432CB000432CB000432CB000432 + CB000D3ACE00335BE0003A52A100BDC9F4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000425AB000D8E0 + FA000538E500C7D3F900C7D3F900C7D3F900C6D2F9000538E500C6D2F900C6D2 + F900C6D2F900C6D2F900C6D2F900C5D1F9000538E500C5D1F900C4D0F800C4D0 + F8000538E500C4D0F800425AB000000000000000000000000000000000000000 + 0000000000000000000000000000BAC7F200374B93005165AD001035B100042A + AA00A0AEDE000328A20003279F0003279D00032698000F2F9A003F58AA003247 + 8B00000000000000000000000000000000004159AD00345CE3000D3BD3000433 + CF000433CF000433CF000433CF000433CF000433CF000433CF000433CF000433 + CF000433CF000433CF000433CF000433CF000433CF000433CF000433CF000433 + CF000433CF000D3BD3004561C0004159AD000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000455EB600DAE2 + FC00053AEB00CAD5FB00CAD5FB00C9D5FB00C9D5FB00053AEB00C8D4FB00C8D4 + FB00C8D4FB00C7D3FB00C7D3FB00C7D3FB00053AEB00C7D3FB00C6D2FA00C6D2 + FA00053AEB00C6D2FA00455EB600000000000000000000000000000000000000 + 0000000000000000000000000000394E9700546AB2004A67CA000C32B200052C + AD0099A6D000A0AEDD000328A20003279F0003269B00032698000F2F9A004555 + 890033478C000000000000000000000000004159A9000535D9000535D9000535 + D9000535D9000535D9000535D9000535D9000535D9000535D9000535D9000535 + D9000535D9000535D9000535D9000535D9000535D9000535D9000535D9000535 + D9000535D9000535D9003760E8004159A9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004861B900DEE5 + FC000F42EC00D0DAFB00D0DAFB00CFD9FB00CFD9FB000F42EC00CED8FB00CED8 + FB00CED8FB00CDD8FB00CDD8FB00CDD8FB000F42EC00CCD7FB00CCD7FB00CCD7 + FB000F42EC00CBD6FB004861B900000000000000000000000000000000000000 + 000000000000BDC9F4003D54A0005C78D500395BCB002B4FC600A7B5E5001439 + B8000C32B200939FC600FFFFFF00A0AEDD0003279F0003279D0003269B000F2F + 9A003F58AA0046568A000000000000000000435BAF000537DD000537DD000434 + D200042CB100042CB100042EB9000537DD000537DD00042CB1000537DD000537 + DD000430C400042CB100042CB1000430C4000537DD00042CB1000537DD000537 + DD000537DD000537DD00365FE900435BAF0000000000364C97002B3C76002B3C + 76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C + 76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C + 76002B3C76002B3C7600000000000000000000000000000000004963BA00DFE6 + FC001949ED00D3DCFB00D3DCFB00D3DCFB00D3DCFB001A4AED00D2DBFB00D2DB + FB00D2DBFB00D2DBFB00D2DBFB00D1DBFB001A4AED00D1DBFB00D1DBFB00D0DA + FB001A4AED00CFD9FB004963BA00000000000000000000000000000000000000 + 0000BDC9F4003F57A3005F76C0004767D2003A5CCD003255C900FFFFFF00A7B5 + E5001439B80004269800939FC600FFFFFF000328A20003279F0003279D000326 + 98000F2F9A003F58AA0033488D0000000000455EB300093BE300093BE2003B5A + C000FFFFFF00FBFBFB00BCC3DD00093BE200093BE200F2F2F200093BE2000835 + CC007F90CB00FFFFFF00F5F5F5007F90CB00093BE200F2F2F200093BE200093B + E200093BE200093BE2003861EB00455EB300000000003F559E004E6CD000274D + CD002B50CD002B50CD002B50CD002C51CD002C51CD002C51CD002C51CD002C51 + CD002C51CD002C51CD002C51CD002C51CD002C51CD002B50CD002B50CD002A4F + CD00274DCD004E6CD000000000000000000000000000000000004A64BB00E2E8 + FD002251ED00D7DFFC00D6DFFC00D6DFFC00D6DFFC002453EE00D6DFFC00D6DF + FC00D5DEFC00D5DEFC00D5DEFC00D5DEFC002453EE00D4DDFC00D4DDFC00D4DD + FC002352ED00D2DBFB004A64BB00000000000000000000000000000000000000 + 00004259AA006379C4006883DF004A6AD5004364D2003B5DCD00A5B0D300FFFF + FF00A7B5E5000C32B20004269800939FC600A0AEDD000328A20003279F000326 + 9B00032698000F2F9A0046568B003A4F99004A64BB001949ED001B4BED001B4B + ED001B4BED003761EF00C4D0F9001B4BED001B4BED00FFFFFF001B4BED00C2C9 + E2007F9AF5001B4BED001B4BED00708EF4001B4BED00F5F5F5004F6CCE003A5A + C3001741CF001B4BED004068F0004A64BB00000000005A75D1005771C8006472 + A8006A80CA005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C8007684 + B4006472A8005771C800000000000000000000000000000000004D66BE00E5EA + FD003761EF003862EF003862EF003862EF003862EF003862EF003862EF003862 + EF003862EF003862EF003862EF003862EF003862EF003862EF003862EF003862 + EF003761EF00D8E0FC004D66BE00000000000000000000000000BECCF500465E + B2007590E7006D88E5006985E200BDC7E700FFFFFF00B9C5EE003B5DCD003250 + B600A5B0D300A7B5E5001439B8000C32B200939FC600FFFFFF00A0AEDD000327 + 9F000F31A100405AB000364B9300000000004B65BD002050ED002352ED00315D + EF00E3E9FD00FFFFFF00C8D4FB002352ED002352ED00FFFFFF002352ED00FBFB + FB005A7DF2002352ED002352ED005A7DF2002352ED00FFFFFF00C9D5FB00EDF0 + FA0092A0D0002352ED00446BF0004B65BD000000000000000000000000005A74 + C7002247C100042FBF00042FBF00042FBF00042FBF00042FBF00042FBF00042F + BF00042FBF00042FBF00042FBF00042FBF00042FBF00042FBF00042FBF004A60 + AA005A74C70000000000000000000000000000000000000000004E68BF00E6EC + FD004169F000E1E7FD00E1E7FD00E1E7FD00E1E7FD00436BF000E0E6FC00E0E6 + FC00E0E6FC00DFE6FC00DFE6FC00DFE6FC00436BF000DEE5FC00DEE5FC00DEE5 + FC004169F000DBE2FC004E68BF000000000000000000BECCF5004961B7006D84 + D0007892E9007892E800728CE600617BCF00BAC3E100FFFFFF004364D2003B5D + CD003250B600FFFFFF00A7B5E5001439B80004269800939FC60099A5CE000F32 + A700415BB5004B5B950000000000000000004C66BD002957EE002C59EE00BCCA + FA007D98F500486FF0002C59EE002C59EE002C59EE00FFFFFF002C59EE00D8E0 + FC0088A2F6002C59EE002C59EE007B97F4002C59EE00FFFFFF002C59EE00476E + F000F8F8F8002C59EE00486FF0004C66BD000000000000000000000000007D93 + E0003457CD000432CA000432CA000432CA000432CA000432CA000432CA000432 + CA000432CA000432CA000432CA000432CA000432CA000432CA000432CA004B61 + AF007D93E00000000000000000000000000000000000000000004F69C000E7EC + FD004B71F100E4E9FD00E4E9FD00E4E9FD00E4E9FD004D72F100E3E9FD00E3E9 + FD00E3E9FD00E3E9FD00E3E9FD00E3E9FD004D72F100E2E8FD00E2E8FD00E1E7 + FD004B71F100DEE5FC004F69C00000000000000000004B67C0006A83D30089A1 + F000889FED00819AEB007993E8006A85E200617BCF00BAC3E100B9C5EE004364 + D2003B5DCD00A5B0D300FFFFFF00A7B5E5000C32B2000426980003259500415C + B9004C5E9A003B519B0000000000000000004E68BF003963EF003E67F0006384 + F300FFFFFF00FFFFFF00CFD9FB00FFFFFF00FFFFFF00FFFFFF00FFFFFF003E67 + F000ACBDF800FFFFFF00FFFFFF00ACBDF8003E67F000FFFFFF00FFFFFF00F2F5 + FE009FB3F7003E67F0004F74F1004E68BF000000000000000000000000000000 + 00005E7BDD00234FE100234FE100234FE100234FE100234FE100234FE100234F + E100234FE100234FE100234FE100234FE100234FE100234FE100224EE0004E64 + B500000000000000000000000000000000000000000000000000526CC300EBF0 + FD005D80F2006183F2006183F2006183F2006183F2006183F2006183F2006183 + F2006183F2006183F2006183F2006183F2006183F2006183F2006183F2006183 + F2005E80F200E4E9FD00526CC30000000000000000004C66BD00728FF20095AB + F30099AEF20091A7F0008AA1EE007993E800728CE6006A85E200BAC3E100FFFF + FF00B9C5EE003B5DCD003250B600A5B0D3001B40BC001B40B9004562C1003E56 + A200000000000000000000000000000000004F69C0003F68F000476EF000486F + F000486FF000486FF000486FF000486FF000486FF000486FF000486FF000486F + F000486FF000486FF000486FF000486FF000486FF000486FF000486FF000486F + F000486FF000476EF0005075F1004F69C0000000000000000000000000000000 + 00006984E1003E66EE003862ED003B64ED003B64ED003B64ED003B64ED003B64 + ED003B64ED003B64ED003B64ED003B64ED003B64ED003862ED003E66EE004F68 + C300000000000000000000000000000000000000000000000000536DC400ECF0 + FE00EBF0FD00EBF0FD00EBF0FD00EBF0FD00EBF0FD00EBF0FD00EAEFFD00EAEF + FD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00E9EEFD00E9EEFD00E9EEFD00E8ED + FD00E8EDFD00E6EBFD00536DC40000000000000000004D67BF007693F300A1B4 + F600A1B4F40099AEF20091A7F000819AEB007993E800728CE600617BCF00BAC3 + E100FFFFFF004364D2003B5DCD003250B600274BC2004A67C7005366A8000000 + 000000000000000000000000000000000000506AC100466DF0004E73F1005075 + F1005075F1005075F1005075F1005075F1005075F1005075F1005075F1005075 + F1005075F1005075F1005075F1005075F1005075F1005075F1005075F1005075 + F1005075F1004E73F1004F74F100566FC3000000000000000000000000000000 + 00006781DA005378F100496FF0005176F1005176F1005176F1005176F1005176 + F1005176F1005176F1005176F1005176F1005075F100496FF0005378F1005975 + D100000000000000000000000000000000000000000000000000546EC500EDF1 + FE00EDF1FE00EEF2FE00EEF2FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1 + FE00EDF1FE00ECF0FE00ECF0FE00ECF0FE00ECF0FE00ECF0FE00ECF0FE00ECF0 + FE00EAEFFD00E7ECFD00546EC50000000000000000004E68C0007A96F400A9BB + F700A3B4F1006078C7004B63B600506BC6007C95E7007993E8006A85E200617B + CF00BAC3E100B9C5EE004364D2003A5CCD00516DCD00566AAB00445AAA000000 + 000000000000000000000000000000000000BFCDF6008499E0006686F3005A7D + F2006283F2006283F2006283F2006283F2006283F2006283F2006283F2006283 + F2006283F2006283F2006283F2006283F2006283F2006283F2006283F2006082 + F2005A7DF2006686F300526CC500BFCDF6000000000000000000000000000000 + 0000647AC900728FF100577BF2005C7FF2005E80F2005F81F2006082F2006082 + F2006082F2006082F2005F81F2005E80F200567AF200587CF200728FF1009FB1 + F0000000000000000000000000000000000000000000000000005770C700F0F3 + FE007B97F40087A1F5008AA3F6008AA3F6008AA3F6008AA3F6008AA3F6008AA3 + F6008AA3F6008AA3F6008AA3F6008AA3F6008AA3F6008AA3F6008AA3F60087A1 + F5007A96F400EBF0FD005770C7000000000000000000506AC1007A96F400B1C1 + F900506AC100D2DBF80000000000A9BAF0004B63B6008AA1EE007993E800728C + E6006A85E2005771CB004B6BD7005D79D7004960B30000000000000000000000 + 00000000000000000000000000000000000000000000536DC60090A2E200718F + F4006787F3006B8AF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8B + F3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3005D80 + F200718FF40090A2E200BFCDF600000000000000000000000000000000000000 + 00005A75D1006E84D2007690EA007D97EB007F98EB007F98EB008099EB008099 + EB008099EB008099EB007F98EB007F98EB007A94EA007790EA006E84D2000000 + 00000000000000000000000000000000000000000000000000005871C800F0F3 + FE00F1F4FE00F2F5FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00F2F5FE00F2F5 + FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F1F4FE00F1F4FE00F0F3 + FE00EEF2FE00EBF0FD005871C8000000000000000000516BC2006F8DF300A9BB + F800516BC200D3DBF90000000000BFCDF5004D66BA007F99ED00819AEB007993 + E800728CE6005776DD00637FDC005F73BA000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCDF600536EC70091A4 + E2006384F300708EF4007592F4007592F4007592F4007592F4007592F4007592 + F4007592F4007592F4007592F4007592F4007592F4007592F4007290F4007491 + F40091A4E200536EC70000000000000000000000000000000000000000000000 + 000000000000647EDB005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C900647EDB000000 + 00000000000000000000000000000000000000000000000000005872C900F1F4 + FD00F4F6FD00F5F7FD00F6F8FD00F6F8FD00F6F8FD00F6F8FD00F6F8FD00F5F7 + FD00F5F7FD00F5F7FD00F5F7FD00F5F7FD00F5F7FD00F5F7FD00F4F6FD00F4F6 + FD00F3F6FD00F1F4FD005872C9000000000000000000546FCB006680D90099AF + F7006E84D1005E78D100D3DBF900556FCB00647BCA0099AEF2008AA1EE00819A + EB00748FE7006984E0006277BF004D65BA000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F60099A9E3008CA5F6007894F40086A0F50086A0F50086A0F50086A0F50086A0 + F50086A0F50086A0F50086A0F50086A0F500839EF5007894F40093AAF6005670 + C800C1CDF6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF600536E + C7009EB3F700B6C6F900C3D0FA00B7C6F800B1C1F800A8BAF50092A8F100809A + EE00758FE900526BC20000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005771C9009AAAE300ABBDF8008AA3F6008EA6F6008FA7F6008FA7F6008FA7 + F6008FA7F6008FA7F6008FA7F6008EA6F6007E99F500ABBDF8009DACE500C1CD + F600000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F600748DDD0099AFF700ACBDF800B5C5F900AFBFF800A6B8F600869FF100809A + EE006B81CC000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C1CDF6005771C9009DACE50090A8F60099AFF7009DB2F7009FB3F7009FB3 + F7009FB3F7009EB3F7009DB2F70098AEF700ABBDF8009DACE5005771C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005670C8006982DC007C96ED0089A0EE00869EEE00839BED00738EE9006C83 + D0005671CA000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000C1CDF6005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005874CF00C1CDF600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000DBDBDB00D1D1D100C9C9C900C7C7 + C700C7C7C700C5C5C500C5C5C500C5C5C50029386D0030417800C5C5C500D3D3 + D300000000000000000000000000000000000000000000000000000000000000 + 00007789C8002C375F0033458000C3C3C300C5C5C500D1D1D100DCDCDC000000 + 00000000000000000000DADADA00D5D5D500C3C3C300B1BCE500394B89007587 + C600DADADA000000000000000000000000000000000000000000000000000000 + 000000000000000000006E85CF00273773002534690025346900364D96006E85 + CF00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000028387100032698000326 + 98004E66B6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000007F92D80029396C008494C80025346900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CED7F60031417A00536BBC002D3D7800647BC90000000000000000000000 + 0000000000000000000000000000000000002D3D780041569B004B66BE00B7C5 + F100000000000000000000000000000000000000000000000000000000000000 + 00007287D100293B7900233576000C2A8F000C2A8F000C2A8F00172F82002335 + 7600293B79000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002C3D79000328A2000328 + A2004F69BE000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008093D900324273005466A5008393C80027366B00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000354C98003C529C00425DB400384984003D54A200000000000000 + 00000000000000000000000000003D54A200425CB0002245B8003E55A1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000293B7B00143090000328A1001638A8001638A8001638A8000328A1000328 + A100143090004F67B60000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002F418200042BAD00042B + AD00506BC6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000036457A005568AA00324DAA008494CC00293A7300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000007389D500495991001338B2003A59C0004054960094A6E5000000 + 000000000000A5B6EC002F42860040549600163BB400092EA9004B5B95000000 + 0000000000000000000000000000000000000000000000000000788DD9002F44 + 8D002045BD004B68CA00566FBF003E509000374D9A00374D9A004D609F00566F + BF002045BD002648B70044569700788DD9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000364B94005C76CD00183DB800183DB800183DB8000D37C3000D37 + C3000D37C300183DB800183DB800183DB800364B940000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003850 + 9D00455690002042B300042AA900042AA9008496D4002F428100000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000003B54A200042CB100042CB100042CB100435EBE003E51 + 9500344890004660BD002146C200072EB300042CB1004961AE00384D98000000 + 0000000000000000000000000000000000000000000000000000374D98001E3F + AD00506ED3005C75C60042559800D0D8F70000000000000000006B83D3004255 + 98005C75C6000B35C000546EC1003A509A000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003A509B005B79DD001540CF001540CF001540CF001540CF001540 + CF001540CF001540CF001540CF001540CF003A509B0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000003C54A3005365 + A400516CC700042CB200042CB200042CB2008497D90033468700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000788ED900163CBB00062FB700062FB700133ABE003C5C + C900465EAF00163DBF00062FB700062FB7001138BA005062A2005E76C9000000 + 000000000000000000000000000000000000000000007B92DD00354EA200113C + CC005F78CF004559A100889DE30000000000000000000000000000000000889D + E3004559A100133ECC003156D3005165AC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003E54A5006782DD006A84DD006A84DD006A84DD001D49DA001D49 + DA00617FE5006A84DD006A84DD006A84DD003E54A50000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000CED7F6006179C7004258A50033488F005568AA004D6A + CC001239BE00042EBB00042EBB00042EBB008499DD00364A9000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000D0D8F7004762C1001139BE001139BE001139BE00143B + C0002E53CD001139BE001139BE001139BE003959C30040539600BCC8F3000000 + 00000000000000000000000000000000000000000000435AB000254DD4003059 + E2004D63B000D1DAF80000000000000000000000000000000000000000000000 + 0000D1DAF800355BDC001E4BE0006682E0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008197E500455FB6002D59ED002D59 + ED00587BF1008197E50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004C5F9F005971BF004A66C5002447BA001237B4007288D2004F6FDB000432 + CD000432CD000432CD000432CD000432CD00849BE6003D53A0007087D9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005669AA003458D0002B50CE002B50CE002B50 + CE002B50CE002B50CE002B50CE002B50CE00596DAF00647CD000000000000000 + 00000000000000000000000000000000000000000000465EB400355BE0003660 + EB004A64BE000000000000000000000000000000000000000000000000000000 + 000000000000355CE1002250E9006986E7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004A62BC00526AC4004D6DD5003560EF003560 + EF003560EF00526AC4004A62BC008198E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005A74C9001C43C500042FC000042FC000042FC000728ADB005273E2000D3C + D7000E3DD8000E3DD8000E3DD8000E3DD800869DEB004058A800576EB8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000465BA500395BCB00385CD400385CD400385C + D400385CD400385CD400385CD400385CD4004B60A7004D66BC00D1DAF7000000 + 000000000000000000000000000000000000000000004962B9004167E700305C + EE004D68C2000000000000000000000000000000000000000000000000000000 + 0000000000003059E2003661EF006D8AEB000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005C76D2005171DE003D66EF003D66EF003D66EF003D66 + EF003D66EF003D66EF005171DE00526BC1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005071DE000433CF000433CF000433CF000433CF00728DE4005779E9001A48 + E1001C4AE1001C4AE1001C4AE1001C4AE10089A1EF00445DB0004E71E500738C + DE00000000000000000000000000000000000000000000000000000000000000 + 000000000000ABBBF0004159AB006580DD004B6DDD004669DC004669DC004669 + DC004669DC004669DC004669DC004669DC006480DE00576EB8004159AB000000 + 000000000000000000000000000000000000000000005772CE006C85DE003C65 + EF006A80CD007990E20000000000000000000000000000000000000000000000 + 00007990E2003F68F0006989F300748CDF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000839AE6006279C7006A88EE004D72F1005879E5005D76CA004E68C3004E68 + C3004F68BD005879E5004D72F1004D72F1006279C700839AE600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006384F300456CF0004C72F1004C72F100466DF00088A1F5005E80F200335E + EF003862EF003862EF003862EF003862EF008EA6F6004A64BC00093DEB00516A + BE0000000000000000000000000000000000000000000000000000000000BFCC + F5005A70BB00728BDF006D8AEA006180E7006180E7006180E7006180E7006180 + E7006180E7006180E7006180E7006180E7006180E700607FE7006B88EA005E73 + BD004A63BA00ABBBF100000000000000000000000000839AE600667DCC00577B + F2005B7BE800576EC10091A4EB000000000000000000000000000000000091A4 + EB00516ABF00597CF2007E99F500677ECC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005169C2008A9FE9005378F100617FE500536CBF007990E200000000000000 + 0000D2DBF800536CBF00617FE5005378F1008A9FE9005169C200000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006F8DF3006787F3006F8DF3006F8DF3006888F30095ACF7006283F2004068 + F000466DF000466DF000466DF000466DF00091A8F6004B65BD00093DEB004B65 + BD00000000000000000000000000000000000000000000000000768EDF004C64 + B7007D97EB007590ED006D8AEB006D8AEB006D8AEB006D8AEB006D8AEB006D8A + EB006D8AEB006D8AEB006D8AEB006D8AEB006D8AEB006D8AEB006D8AEB007C96 + ED006F85D0004C64B70000000000000000000000000000000000526BC3008199 + E8005075F1005475E200526BC000D3DBF80000000000000000007990E300526B + C0005878E3007290F4008AA0E900526BC30000000000000000004E67C1005C74 + C4004E67C1000000000000000000000000000000000000000000000000000000 + 00007288D000718FF4005B7EF200566EC10091A4EB0000000000000000000000 + 00000000000091A4EB00566EC1006684E700718FF4007288D000839AE7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00007995F400839EF50090A8F60090A8F600859FF500A0B4F7006586F3004D72 + F1005378F1005378F1005378F1005378F10094ABF6004C66BE002553EE004F6A + C50000000000000000000000000000000000000000005672CE00586FBE00738C + DE007D97F1007C97F1007C97F1007C97F1007C97F1007C97F1007C97F1007C97 + F1007C97F1007C97F1007C97F1007C97F1007C97F1007C97F1007C97F1007D97 + F1007E99F1007790E200526DC700BFCCF5000000000000000000000000006881 + DA00869FF1006D8CF3005F81F2005679EB004C70E8004D71E7005C7FF2006D8C + F300708EF4006586F300577BF2004E6CD500BFCDF600000000005069C1006384 + F3005069C1000000000000000000000000000000000000000000000000000000 + 00009EB1F2006B8AF300738FEE00D3DBF8000000000000000000000000000000 + 00000000000000000000D3DBF800566EC2006B8AF3009EB1F2004F69C2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000089A0EC009FB3F700AFC0F900B8C7F900A6B9F800ACBDF8006C8BF3006485 + F3006F8DF3006F8DF3006F8DF3006F8DF30099AFF7004E68C000667DCB000000 + 00000000000000000000000000000000000000000000516BC200516BC200516B + C200516BC200516BC200516BC200516BC200516BC200516BC20094ABF60095AC + F70095ACF70093AAF600879DE600516BC200516BC200516BC200516BC200516B + C200516BC200516BC200516BC2005671CD000000000000000000000000000000 + 0000657CCC008FA3EA00839EF5006283F2005277F1005C7FF20086A0F50097AD + F700A1B3F1006D8CF3006C8BF3005479F100516BC400BFCDF600516BC2006586 + F300516BC2000000000000000000000000000000000000000000000000000000 + 0000A4B6F3007391F4007C97ED00000000000000000000000000000000000000 + 0000000000000000000000000000526DC8007391F400A4B6F3005069C1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000768CD400B1C0F200B5C5F900B4C4F9009EB3F700A7B9F800718FF4006D8C + F3007C97F4007D98F5007D98F5007D98F5009CB1F7004F69C1007991E3000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000007189E000A3B6F800A2B6 + F800A2B6F800A0B4F7007A8FD6006882DC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000849AE800576FC7007085D100859DEF00849CEF00849CEF00859AE4007389 + D3005770C500839EF5007592F4006F8DF3005270D600526CC500526CC3006A8A + F300526CC3000000000000000000000000000000000000000000000000000000 + 0000A9BAF300809BF500839CEF00000000000000000000000000000000000000 + 0000000000000000000000000000536EC900809BF500A9BAF300516BC2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006881DB00506AC200657BC9008196DB008FA2E5008EA5F0008FA7F6007794 + F400859FF5008AA3F6008AA3F6008AA3F6009FB3F700506AC200000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCDF600AFBFF500B0C0 + F900B0C0F900ACBDF6006078C9009FB1F0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000556EC700768EDE0087A1F500829DF5007290F4006A83DB007C97 + F400556EC5000000000000000000000000000000000000000000000000000000 + 0000A5B5EA00A2B6F8008AA3F6007A92E4000000000000000000000000000000 + 000000000000000000007A92E4007D90D600A2B6F800A5B5EA005C77D4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005871CF008A9C + DC00A8B9F6009BB0F700A4B7F800A5B8F800A3B6F800536DC400000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000007F94D800C4D1 + FA00C9D5FB008DA0DF006983DD00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000C1CDF600566FC7007A91DF008DA5F6008DA5F60086A0F500839E + F500566FC6000000000000000000000000000000000000000000000000000000 + 00008597D800B3C3F90097ADF700637ACA0092A7EC0000000000000000000000 + 00000000000092A7EC00637ACA0096AAEE00B3C3F9008597D800849BE8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005872 + CF00758BD20097ADF70097ADF700A0B4F700A1B5F700546EC500000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000667DCD00BCCA + F700CDD8FB006D84CF009FB1F000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005E79 + D6005771C8005771C8005771C8005771C80095ACF70095ACF70095ACF70086A0 + F5005771C8000000000000000000000000000000000000000000000000000000 + 00005B74C900B9C6F200B2C2F9009FB1EF00657BCB007C92E500000000000000 + 0000D3DBF900657BCB009FB1EF009AAFF700B9C6F2005B74C900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006883DC00A7B9F40098AEF700849EF5009EB3F700556FC600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005771C900A9B8 + EC00CAD5FB005771C80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005872 + C9006E8BED007C96EE007F99EF00859EF00098ADF2009AAEF20097ACF2007C96 + EE005872C9000000000000000000000000000000000000000000000000000000 + 0000000000006B84DE008093D600BCCAFA00ACBDF800A7B9F800AFBFF500AFBF + F500ADBDF600ACBDF800BCCAFA00C5D1F9006B84DE0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000093A7ED00677ECD009DAFEE0094ABF6005771C800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000009FB1F000667D + CD009AAFF40093A8ED0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005B76 + D2005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005B76D2000000000000000000000000000000000000000000000000000000 + 000000000000000000006B85DE00C2CEF400C2CFFA00B7C7F900A9BBF800A9BB + F800B0C0F900C2CFFA00C2CEF400798ED5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000093A8ED005D76CA008DA5F6005771C800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005771 + C9008297E1000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E76CC008D9EDB00B5C2ED00C6D2F800C6D2 + F800C6D2F8008D9EDB005E76CC00879CE9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000C1CDF6008FA2E5005771C800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000647E + DA00667DCD000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D6D6D600CDCDCD00C7C7C7007487C6002938 + 6D0025346A00C5C5C500C7C7C700CBCBCB000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C7C7C70045599A0026336000B2BDE500C7C7C700D2D2D200000000000000 + 0000000000000000000000000000DADADA00C2C2C200475C9D002633620096A6 + DB000000000000000000000000000000000000000000000000005E72B6002632 + 5B0026325B0026325B0026325B0026325B0026325B0026325B0026325B002632 + 5B0026325B0026325B0026325B0026325B0026325B0026325B00687BBC00CFCF + CF0000000000000000000000000000000000000000000000000000000000D3D3 + D300C0C0C00025346D0027315900273159002731590027315900273159002731 + 590027315900273159002731590027315900273159002E3D7300C0C0C000CBCB + CB00DEDEDE000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000DFE5F90032406C005261 + 970046568B00455AA500DFE5F900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000029387000364FA0008697D0002C3E8000758AD60000000000000000000000 + 0000000000000000000000000000000000002E4286004359A5008596D0002739 + 78007185D000000000000000000000000000000000004C64B4003F59AE002C52 + D2000D35BA000E36BB000E36BB000E36BB000E36BB000E36BB000E36BB000E36 + BB000E36BB000D35BA000C34BA00284ECE00142A74002240A6003C54A5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000293973004E67B80003269B0003269B0003269B0003269B000326 + 9B0003269B0003269B0003269B0003269B004E67B80029397300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000B7C5F100293C7A0045548D0017369D001C3A + 9E00032083003F57A70043528600283873000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000263A7E007082BE00505F92003A53A60033478E0000000000000000000000 + 000000000000000000000000000000000000294091007789C700505F94002942 + 96003B529E0000000000000000000000000000000000354C97004A68CE003358 + D600355AD200365AD200365AD200365AD200365AD200365AD200365AD200365A + D200365AD2003358D2002C52D1004166DF000A2479001335A500425FC0000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000002B3C77004E68BC0003279F0003279F0003279F0003218700021C + 700003228A0003279F0003279F0003279F004E68BC002B3C7700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000334685006F7EB1003F5AB20003269B002946 + A900032288000F2F99003F58A90048599300B6C5F10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000243E92006676A8005169BB007488CD002E459600576EC300000000000000 + 0000000000000000000000000000A4B3EB00526CBF005F6EA4005B72BF003A54 + A9002F407C00000000000000000000000000000000002E407F005271DE004166 + E2005374E3005677E4005777E4005777E4005777E4005777E4005777E4005777 + E4005777E4005072E3004267E0005275EA0003218700092EA9004160CA000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000002D3E7C004E68BF000328A4000328A4000328A40003238C00FFFF + FF0003238F000328A4000328A4000328A4004E68BF002D3E7C00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000007483B4003D59B800072CA4000328A1002947 + AD000321870003269A00072999003751AA003244840000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005C6FB200354A9100A3B3EB004258A100657ECF002F4CB000000000000000 + 00000000000000000000708ADA003953A6005668A70098AAE90000000000586D + B800374C9100000000000000000000000000000000003C54A30033468A003346 + 8A0033468A003A4C8B0030438400304384003043840030438400304384003043 + 84003043840030438400304384003043840003249100042DB500365BD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000031448500506BC700042BAE00042BAE00042BAE00042BAE00042B + AE00042BAE00042BAE00042BAE00042BAE00506BC70031448500000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000006880D0006170A400173CB7001036B5001237B5000F34B1003D5B + BF0006258B00062BA7000429A3000328A000465FB0003D4D81006179C7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006373AC00435BA8005A72C600647ED1004A63B7001F48D1007D93DE000000 + 000000000000D1DAF800455BAC00294EC700445CAD000000000098AAE9007485 + C100485FB2000000000000000000000000000000000000000000000000000000 + 0000364A8F003358D30003279F0003279F0003279F0003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F00042AA900042EBB00375DDC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000034468900506CCA00042CB300042CB300042CB300042CB300042C + B300042CB300042CB300042CB300042CB300506CCA0034468900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BAC7F200455796008496D300153BBC00183EBD00193EBC001F44BC004361 + C60008278E000D32AE000A2FAB00052AA6001F3FAA00485FAA00324279000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004B5EA0007A8DCC004157A1004760B3003D5BBD003158DC004A62B800D2DB + F800000000005671CB00425EBF003058DE00465CA9006680D400435DB3006778 + B3008699DF000000000000000000000000000000000000000000000000000000 + 0000384D9500375DDE000430C2000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2000430C2000430C2000430C200375DDE000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000036498E004F6CCD00042DB800042DB800042DB800042DB800042D + B800042DB800042DB800042DB800042DB8004F6CCD0036498E00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000465FB2008B98C8004968D0001E44C4002147C6002146C500284CC4004866 + CC000B2B94001439B7001035B2000D32AE000429A500324FB2004D5E98000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D1DAF8004D64B2008596D3007E98EC00819BEF006D8BEE0098AAEA00536D + C4004F4E4E008699DD00728FF2006D8BF0007994EC008FA4EB008C9EDD008CA0 + E600000000000000000000000000000000000000000000000000000000000000 + 00003D54A000375EE3000433CE00829DF500829DF500829DF500829DF500829D + F500829DF500829DF500829DF500829DF5000433CE000433CE00375EE3000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003A4F9700506ED4000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2000430C200506ED4003A4F9700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000091A0D1004769D800234BD1003055D4003055D4002F54D3004062D4005371 + D7001132A0002146C5001D42C100193EBC001035B3000A2FAD002C4BB4003F55 + A200000000000000000000000000000000000000000000000000000000000000 + 000000000000BFCCF5005F79CD006E82C900788DD7008297DE00667DCC00BCC5 + E300D7D6D6005F75C3008095DA008A9EE4007689D1006278C300526BC1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004057A600375FE6000636D4000737D4000737D4000737D4000737D4000737 + D4000737D4000737D4000737D4000737D4000737D5000636D400375FE6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003C529C004F6ED7000431C7000431C7000431C7000431C7000431 + C7000431C7000431C7000431C7000431C7004F6ED7003C529C00000000000000 + 000000000000000000000000000000000000000000000000000000000000D1DA + F8008EA2E6002A52D7002F56D800375CDB00375CDB00365BDA004668DA005876 + DC001334A300274CCB002348C7001F44C300163BB9000F34B3001035AF003B4C + 8400CED7F7000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000AEBEF300859BE900788DD900CAD1E900EEEE + ED00EBEAEA00C2C6D6007382B6007289D900AFBEF300D3DBF900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000435BAD003961E8000D3DDB00103FDB00103FDB00103FDB00103FDB00103F + DB00103FDB00103FDB00103FDB00103FDB000F3EDB000D3DDB003A62E8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F55A0004F6FDB000432CC000432CC000432CC000432CC000432 + CC000432CC000432CC000432CC000432CC004F6FDB003F55A000000000000000 + 000000000000000000000000000000000000000000000000000000000000677F + D4006683E6002E56DD00395FDF003F64E1003E63E0003D62DF005777E2005E7C + E2001638A9002D52D100294ECD00254AC9001B40BF00153AB9000E34B3004A5C + 9D005B74C3000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A6A6A5006E6D6D00DAD9 + D900E8E7E700BFBDBC009A9897009D9D9D000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004962B8003E66EE001B4BE80092A9F60092A9F60092A9F60092A9F60092A9 + F60092A9F60092A9F60092A9F60092A9F6002250E9001C4BE8004169EE000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000435AAA005576E3001441D8001542D8001542D8001542D8001542 + D8001542D8001542D8001542D8001441D8005576E300435AAA00000000000000 + 0000000000000000000000000000000000000000000000000000D2DBF8005C71 + BB00365FE800446AEA004B70EC004C71EC004B70EB004B70EB006785EB006987 + EA001B3EB200395EDC003459D8003055D400264BCA002045C400183EBE004A65 + C0003F508C00CED7F70000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000807E7E00ACABAA00A0A0 + 9F00F1F0F000BCBAB900AEACAB0082807F000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004B65BD004068F0002352ED002E5AED002E5AED002E5AED002E5AED002E5A + ED002E5AED002E5AED002E5AED002E5AED002C59ED002352ED00446BF0000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000465EAF005879E7001E4ADE001F4BDE001F4BDE001F4BDE001F4B + DE001F4BDE001F4BDE001F4BDE001E4ADE005879E700465EAF00000000000000 + 00000000000000000000000000000000000000000000000000008EA3E9007E90 + D1003D65ED004D72F0005277F0005378F0005277F0005176EF00708DF0006E8B + EE001E41B7003F64E1003A5FDD00355AD9002B50CF00254AC9001D43C3003858 + C200495C9E008499DF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000009796960094929100BFBDBC00EAEA + E9008A898900C0BEBC00A8A6A400989694000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004D67BE00426AF0002A57EE003862EF003862EF003862EF003862EF003862 + EF003862EF003862EF003862EF003862EF003560EF002B58EE00476EF0000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004861B4005B7CEA002853E4002954E4002954E4002954E4002954 + E4002954E4002954E4002954E4002853E4005B7CEA004861B400000000000000 + 00000000000000000000000000000000000000000000000000006D87DD0091A3 + DF00476EF000567AF2005A7DF2005B7EF2005A7DF200587CF2007794F4007390 + F2002044BB004469E5004065E2003A5FDD002F54D3002A4FCE002248C8002C4F + C1004D62AB005E76C70000000000000000000000000000000000000000000000 + 00000000000000000000000000008B8A8900ABAAA900BAB9B800CBCAC9008786 + 860000000000D2D2D100E7E6E500B6B5B4008987870000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004F69C000466DF0003963EF00A6B9F800A6B9F800A6B9F800A6B9F800A6B9 + F800A6B9F800A6B9F800A6B9F800A6B9F800496FF0003A64EF004E73F1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004D67BE006182F1003C65EE003E66EE003E66EE003E66EE003E66 + EE003E66EE003E66EE003E66EE003B64ED006182F1004D67BE00000000000000 + 0000000000000000000000000000000000000000000000000000516CC700AEBE + F300567AF2006586F3006989F3006989F3006888F3006686F3007D98F5007D98 + F5002549BF004E73ED00486DE9004469E500385DDB003257D6002A50CF002348 + C400506BC3003D539D0000000000000000000000000000000000000000000000 + 00000000000000000000000000009F9E9D00C0BFBE00E5E4E4008F8D8C000000 + 0000000000008F8F8D00E2E2E100E4E3E3009E9C9B00B3B1B100000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000506AC100486FF0004068F0005579F1005579F1005579F1005579F1005579 + F1005579F1005579F1005579F1005579F1005176F1004169F0005075F1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005069C0006485F300466DF000496FF000496FF000496FF000496F + F000496FF000496FF000496FF000466DF0006485F3005069C000000000000000 + 00000000000000000000000000000000000000000000000000004F69C000AFBF + F4005A7DF2006989F300708EF400718FF4006F8DF3006D8CF3007E99F500829C + F500274ABF005378F0004D72ED00476CE8003B60DE00355AD9002D53D3001940 + C300526CC5003C4F910000000000000000000000000000000000000000000000 + 0000000000000000000000000000C8C8C700DFDFDF00F2F2F100C7C7C6000000 + 000000000000D3D3D300A3A2A100F2F2F200C1C0BF00908E8D00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000516BC2004A70F000486FF0005F81F2005F81F2005F81F2005F81F2005F81 + F2005F81F2005F81F2005F81F2005F81F2005A7DF200496FF0005378F1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000516AC1006888F3005075F1005277F1005277F1005277F1005277 + F1005277F1005277F1005277F1005075F1006888F300516AC100000000000000 + 0000000000000000000000000000000000000000000000000000506AC100AFBF + F400577BF2006787F300708EF4007794F4007693F4007491F4007C97F40086A0 + F500294CBF00577BF2005176EF004B70EB003E63E100355BDB002C53D400163E + C500536DC7003D50940000000000000000000000000000000000000000000000 + 000000000000000000009A989700F8F8F800C9C8C80094949400000000000000 + 000000000000000000000000000098979700F8F8F800E2E2E2009F9E9C000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000556FC5004D72F1005378F100B8C7F900B9C8F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F9006C8BF3005579F1005C7EF000536D + C400536DC400536DC40000000000000000000000000000000000000000000000 + 000000000000536CC3006E8DF30092A9F60094ABF60094ABF60094ABF60094AB + F60094ABF60094ABF60094ABF60091A8F6006E8DF300536CC300000000000000 + 0000000000000000000000000000000000000000000000000000526CC300ADBD + F4008BA4F60099AFF7009EB3F7008BA4F6007491F4007290F4007D98F5008DA5 + F6002C4EBF005A7DF2004F74F1004269EE005D7DE9007993E900869DE8007B92 + E0008397D8004054980000000000000000000000000000000000000000000000 + 00000000000095959400C6C5C400E3E3E20092918F0000000000000000000000 + 000000000000000000000000000000000000E9E9E900EEEEEE00C5C5C4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005670C6005C7DEA005579F1007C97F4007D98F5007D98F5007D98F5007D98 + F5007D98F5007D98F5007D98F5007D98F5007290F4005A7DF2005E80F0003761 + ED003761ED00456AE50000000000000000000000000000000000000000000000 + 000000000000546DC400708EF400042DB5000429A80003269C0003208300031E + 79000320810003269A000429A700042CB300708EF400546DC400000000000000 + 0000000000000000000000000000000000000000000000000000536DC400ABBB + ED008295D7006F84CE008599DA00B3C2F300B4C4F90091A8F6006B8AF30089A2 + F6002A4DBF004B71F100466DF0006787F30093A4DD008092CF00677ABC008797 + CD00A7B3DC0041569A0000000000000000000000000000000000000000000000 + 0000C7C7C700A8A7A500DDDDDC009C9A9900D3D3D30000000000000000000000 + 0000000000000000000000000000000000009C9B9900F3F2F200DFDFDE00BDBD + BD00000000000000000000000000000000000000000000000000000000000000 + 0000556FC7005B7CEA00587CF2007F9AF500849EF50086A0F50086A0F50086A0 + F50086A0F50086A0F50086A0F500859FF5007592F4005B7EF2005B7EF2000834 + C5000A36CA004568DA0000000000000000000000000000000000000000000000 + 000000000000556EC5007391F4009EB3F700A3B6F800A3B6F800A3B6F800A3B6 + F800A3B6F800A3B6F800A3B6F8009EB3F7007391F400556EC500000000000000 + 00000000000000000000000000000000000000000000000000005873CF00536E + C7009FB1F000AEBEF3009FB1F0005A74C9008E9FDD00B4C3F5006888F3007995 + F4002448BF004E73F1007C97F200889BDC006680D9009CAFEE00ACBCF1006780 + D400445AA6004860B10000000000000000000000000000000000000000000000 + 0000A19F9D00EBEBEA00C0BFBE00000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A6A5A500C4C3C200A2A0 + 9E00000000000000000000000000000000000000000000000000000000000000 + 00006B85DE005B78DB005479F1006283F2006B8AF3006F8DF3007391F4007391 + F4007391F4007391F400718FF4006D8CF3005C7FF2004A70F0004A70F000324B + 9C002648B700506BC20000000000000000000000000000000000000000000000 + 0000000000005770C7007693F400A6B9F800AFC0F900B1C1F900B1C1F900B1C1 + F900B1C1F900B1C1F900AFC0F900A5B8F8007592F4005770C700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000859BE900ACBCF1009CB1 + F7002A4FC8005E77CA00859BE900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A4A2A000D2D1D0009A999800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000009C9A9900A5A3 + A100000000000000000000000000000000000000000000000000000000000000 + 0000AFBFF3005D76CA005879E5005277F1005579F100577BF200587CF200587C + F200587CF200587CF200587CF200567AF2005075F1004C72F100446BF0006379 + C500526AB9005B72C40000000000000000000000000000000000000000000000 + 0000000000005871C8007491F400042DB5000429A80003269C0003208300031E + 79000320810003269A000429A700042CB3007391F4005871C800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000008497D900AEBF + F8007189DA007C93E50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009C9A99009D9B9A0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000009C9A + 9900000000000000000000000000000000000000000000000000000000000000 + 000000000000859CE9005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C90093A8ED0000000000000000000000000000000000000000000000 + 0000000000005872C9006D8CF3006686F3007391F4007A96F4007E99F5007F9A + F5007E99F5007A96F4007290F4006485F3006D8CF3005872C900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005A76D200A1B0 + E80094A4DA000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004E6ACE005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005B76D200000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005A76 + D2005A76D2000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DEDE + DE00D3D3D300CECECE00CECECE00C0C0C00097A7D7005769A700293462002530 + 5800253058002934620032427B005769A700C0C0C000C7C7C700CECECE00D6D6 + D600DEDEDE00DEDEDE000000000000000000000000000000000000000000DEDE + DE00D3D3D300CECECE00CECECE00C0C0C00097A7D7005769A700293462002530 + 5800253058002934620032427B005769A700C0C0C000C7C7C700CECECE00D6D6 + D600DEDEDE00DEDEDE0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004259A70046589700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004658970035447A004259A7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004259A70046589700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004658970035447A004259A7000000 + 00000000000000000000000000000000000000000000000000004A60AE003544 + 7900485EA900435BAC00435BAC00435BAB00435BAB00435BAA00435BA900435A + A8004259A7004259A600435AA6004259A500435AA500435AA500435AA5004556 + 910033406D00455BA5000000000000000000000000000000000000000000AEBD + EC007A87B4008E9ED100808EBC00F0EFEF00EFEEEE00EDEDEC00EBEAEA00E9E9 + E800E8E7E700E5E5E400E4E3E3008E99BE008E9AC3008E9AC300808EBC008293 + CC008293CC008293CE0000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F100000000000000000000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F1000000000000000000000000000000000000000000647BCB00364784004761 + B500072BA3000328A1000328A00003279F0003279F0003279F0003279D000326 + 9C0003269C0003269A0003269A00032699000325970003259700032596002643 + A3004A5FA6003342760000000000000000000000000000000000BAC6F2002E42 + 8700798ED2002446B60003228900031E7B000322890003228900BCBAB900B7B5 + B400B2B0AF00A7A5A400A2A09E00031E7B00032289000322890003228900042A + AB00042AAB008194D50000000000000000000000000000000000000000000000 + 00002F4284004D5F9E00415CB7000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000000000000000000000000 + 00002F4284004D5F9E00415CB7000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000033478A004B61AA002748 + B5000429A7000429A7000429A6000429A5000328A4000328A3000328A2000328 + A1000328A00003279F0003279F0003279E0003279D0003269C0003269B000326 + 9A002745A8004B5E9E00000000000000000000000000BAC6F20031458C006A79 + B2001B40B8001D41B90003238D00031F7F0003238D0003238D00CAC8C700C5C3 + C200C0BEBD00B6B4B300B1AFAD00031F7F0003238D0003238D0003238D00042C + B100042CB1008195D7000000000000000000000000000000000000000000475F + B100415DBD00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046589A00475FB1000000000000000000000000000000000000000000475F + B100415DBD00082EAE00042BAC00042BAC00042BAC00042BAC00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046589A00475FB100000000000000000000000000314588004361C700042C + B300042CB2003252BF00DEE3F400C0CAEA003353BD00042BAD00042BAC00425F + C000FFFFFF008194D400042AA900042AA900BFC8E800FFFFFF00FFFFFF000328 + A4000328A300435EBB0000000000000000000000000034488F00879BDD00264B + C3001038BD00284CC4000D2D98000C2888000D2D98000D2D9800E0DFDF00DDDB + DB00D9D7D700D1CFCE00CDCBCA000C2888000D2D98000D2D98000D2D98001038 + BD001038BD00869ADE0000000000000000000000000000000000A8B7ED003E50 + 8E001439B600042CB100042CB100042CB100042CB100042CB100042CB100042C + B100042CB100042CB100A0AFE100042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000000000000A8B7ED003E50 + 8E001439B600042CB100042CB100042CB100042CB100042CB100FFFFFF00FFFF + FF00FFFFFF00FFFFFF00042CB100042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000034488C004362CA00042D + B800042DB600DEE4F500FFFFFF00FFFFFF00AFBBE200042BAF00042CB100617A + CE00FFFFFF008191CA000429A800042BAD00C0CAEA00FFFFFF00FFFFFF00042A + AA00042AA900425EBD00000000000000000000000000364B9400889DE100183F + C300183FC3002F53CA0013339C00112D8C0013339C0013339C00EBEAE900E7E6 + E600E3E2E200DCDBDA00D8D7D600112D8C0013339C0013339C0013339C00183F + C300183FC300889DE10000000000000000000000000000000000455BAE004C62 + AD00042DB600042DB600042DB600042DB600042DB600042DB600042DB600042D + B600042DB60003279F00FFFFFF009FAFE200042DB600042DB600042DB600042D + B6002B4EC2004C62AD0000000000000000000000000000000000455BAE004C62 + AD00042DB600042DB600042DB600042DB600042DB600042DB600FFFFFF00FFFF + FF00FFFFFF00FFFFFF00042DB600042DB600042DB600042DB600042DB600042D + B6002B4EC2004C62AD00000000000000000000000000364A91004363CE000530 + BE00042EBC00FFFFFF00FFFFFF00FFFFFF00FFFFFF000429A700042DB60091A3 + DE00FFFFFF006177BF00042BAC00042CB300EEF1F900FFFFFF00DEE3F100042B + AE00042BAE00425FC100000000000000000000000000394F99008A9FE3002047 + CA002047CA003559CF001938A100173391001733910017339100F4F3F300F1F0 + F000EDEDEC00E6E5E500E3E2E100173391001938A1001938A1001938A1002047 + CA002047CA008A9FE300000000000000000000000000788DD7004F63AA00395B + CD00173FC400173FC400173FC400173FC400173FC400173FC400173FC400173F + C400173FC40012329D00FFFFFF00FFFFFF00A6B6E800173FC400173FC400173F + C400153DC400395BCD00788DD7000000000000000000788DD7004F63AA00395B + CD00173FC400173FC400173FC400173FC400173FC400173FC400FFFFFF00FFFF + FF00FFFFFF00FFFFFF00173FC400173FC400173FC400173FC400173FC400173F + C400153DC400395BCD00788DD70000000000000000003A509A004768D700133D + CA00153EC9004062D300E0E5F600C3CCEA001A3CAD000A32B700647ED800FFFF + FF00FFFFFF000429A700042FBE00042FBD00FFFFFF00FFFFFF008F9FD400042D + B800042DB8004362C9000000000000000000000000003E55A30091A6EA003157 + D6003157D6004668D8003350B2002D4BAE002D4BAE002D4BAE002D4BAE002D4B + AE002D4BAE002D4BAE002D4BAE002D4BAE002D4BAE002D4BAE003350B2003157 + D6003157D60090A5EA000000000000000000000000004963B600546DC0003357 + CF00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234A + CB00234ACB001C3BA300FFFFFF00FFFFFF00FFFFFF00ABBAEB00234ACB00234A + CB002148CB003357CF004963B60000000000000000004963B600546DC0003357 + CF00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00234ACB00234ACB00234ACB00234ACB00234ACB00234A + CB002148CB003357CF004963B60000000000000000003C52A000496BDA001C46 + D1002149D1001F48D0001D44C900173CB600173DBD001640CB00E1E6F800FFFF + FF00FFFFFF000B33B8000A35C4000833C300FFFFFF00FFFFFF00516BBF00042F + BE00042FBD004363CD000000000000000000000000004058A90094A9ED003A5F + DD003A5FDD004669DF004E70E0004E70E0004E70E0004E70E0004E70E0004E70 + E0004E70E0004E70E0004E70E0004E70E0004E70E0004E70E0004E70E0003A5F + DD003A5FDD0093A8ED000000000000000000000000003D54A2005C76D0003257 + D3002E53D2002E53D2002B4FC700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00AFBEEE002E53 + D2002D53D2003257D3003D54A20000000000000000003D54A2005C76D0003257 + D3002E53D2002E53D2002E53D2002E53D2002E53D2002E53D200FFFFFF00FFFF + FF00FFFFFF00FFFFFF002E53D2002E53D2002E53D2002E53D2002E53D2002E53 + D2002D53D2003257D3003D54A20000000000000000003F56A5004C6EDF00244D + D7002C53D7002A51D6002951D600254DD400234BD3002F55D500FFFFFF00FFFF + FF00EFF2F900163FCA00153FCB00133DCA00FFFFFF00FFFFFF00193CAE000833 + C4000632C3004364D100000000000000000000000000435CAF0097ACF0004368 + E3004368E3004368E3004368E3004368E3004368E3004368E3004368E3004368 + E3004368E3004368E3004368E3004368E3004368E3004368E3004368E3004368 + E3004368E30097ACF0000000000000000000000000004158A600627CD900365C + DC004569DF004569DF003854B200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008BA1 + EB004468DF003A5FDC004158A60000000000000000004158A600627CD900365C + DC004569DF004569DF004569DF004569DF004569DF004569DF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF004569DF004569DF004569DF004569DF004569DF004569 + DF004468DF003A5FDC004158A6000000000000000000445CAF005073E700345C + E2004267E3006F8BE9006D89E800DAE1F900FFFFFF00FFFFFF00FFFFFF007A8F + D4002B4FC7002D54D900385DDA00F0F3FC00FFFFFF005771C8002147C8001C46 + D1001540D0004668D9000000000000000000000000004862B9009EB2F600587B + F000587BF0005070D9004F6ED7004F6ED7004F6ED7004F6ED7004F6ED7004F6E + D7004F6ED7004F6ED7004F6ED7004F6ED7004F6ED7004F6ED7004F6ED700587B + F000587BF0009DB2F600000000000000000000000000435BAB006681DE003F64 + E1005173E3005173E300415CB600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005173 + E3004F71E3004368E100435BAB000000000000000000435BAB006681DE003F64 + E1005173E3005173E3005173E3005173E3005173E3005173E300FFFFFF00FFFF + FF00FFFFFF00FFFFFF005173E3005173E3005173E3005173E3005173E3005173 + E3004F71E3004368E100435BAB000000000000000000465FB4005275EA003D64 + E7004D71E900FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008296D800375A + CD003C62E100385EDF00BFCBF400FFFFFF00BBC6E900284BBE002D55DA002750 + D9001D48D600486BDD000000000000000000000000004A64BB00A1B5F7006183 + F2006183F2005876DA00BDC9F100BDC9F100BDC9F100BDC9F100BDC9F100BDC9 + F100BDC9F100BDC9F100BDC9F100BDC9F100BDC9F100BDC9F100BDC9F1006183 + F2006183F200A0B4F700000000000000000000000000475EB4006C86E0005275 + E7005C7CE8005C7CE8004963B900FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C2CEF6005C7C + E800597AE8005375E700475EB4000000000000000000475EB4006C86E0005275 + E7005C7CE8005C7CE8005C7CE800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E1E7FB005C7CE8005C7C + E800597AE8005375E700475EB40000000000000000004963B9005478EE00456B + EB00587BED00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B9C5EB004567D900486D + E700456AE60094A9F000FFFFFF00FFFFFF004D69C800365BD400395FE0003058 + DE00244EDB004A6DE1000000000000000000000000004B65BC00A4B7F8006A8A + F3006A8AF300607CDA00C4CEF1009DAEE8009DAEE8009DAEE8009DAEE8009DAE + E8009DAEE8009DAEE8009DAEE8009DAEE8009DAEE8009DAEE8009DAEE8006A8A + F3006A8AF300A3B6F8000000000000000000000000007790E100687FCD006E8C + F0007491F1007491F1007491F1007491F1007491F1007491F1007491F1007491 + F1007491F1005C73C000FFFFFF00FFFFFF00CAD5F9007491F1007491F1007491 + F1006988EF006E8CF0007790E10000000000000000007790E100687FCD006E8C + F0007491F1007491F100738FEE00677DC500E0E5F300FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007D98F2007491F1007491F1007491 + F1006988EF006E8CF0007790E10000000000000000004D67BE00597CF2005579 + F1006E8DF3006B8AF0006785EA006585EE006686F3006384F2006082F1006888 + F100C0CDF800FFFFFF00FFFFFF00AEBBE7005074EA005074EC004D72EA00456A + E900345DE6004E72E9000000000000000000000000004D67BE00AABCF8007C97 + F4007C97F4006F88DC00D1D9F400B2C0EC00B2C0EC00B2C0EC00B2C0EC00B2C0 + EC00B2C0EC00B2C0EC00B2C0EC00B2C0EC00B2C0EC00B2C0EC00B2C0EC007C97 + F4007C97F400A9BBF800000000000000000000000000BFCDF6005971C3007E98 + F1007E99F500819BF500819BF500819BF500819BF500819BF500819BF500819B + F500819BF500677CC400FFFFFF00FFFFFF00819BF500819BF500819BF5007E99 + F5007290F4007E98F100CED8F7000000000000000000BFCDF6005971C3007E98 + F1007E99F500819BF500819BF5006B82CD007084C700E2E6F400FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00E7ECFD00819BF500819BF500819BF5007E99 + F5007290F4007E98F100CED8F70000000000000000004E68BF005B7EF2005D80 + F2007A96F4007894F4007693F4007391F400718FF4006F8DF300A1B5F700EBF0 + FD00FFFFFF00FFFFFF00B4C0E9005370D0005C7EF0005B7EF000597CEF004E73 + ED003B63EB005074EC000000000000000000000000004E68BF00ADBEF800849E + F500849EF500778EDC00D7DEF400BCC8EE00BCC8EE00BCC8EE00BCC8EE00BCC8 + EE00BCC8EE00BCC8EE00BCC8EE00BCC8EE00BCC8EE00BCC8EE00BCC8EE00849E + F500849EF500ACBDF800000000000000000000000000000000005975D100768D + DD00829CF5008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4 + F6008BA4F6006F83C500FFFFFF00D4DDFC008BA4F6008BA4F6008BA4F600829C + F500809BF500768DDD00000000000000000000000000000000005975D100768D + DD00829CF5008BA4F6008BA4F60089A2F3007489CD00788AC800FFFFFF00FFFF + FF00FFFFFF00FFFFFF00E9EEFD0092A9F6008BA4F6008BA4F6008BA4F600829C + F500809BF500768DDD000000000000000000000000004F69C0005D80F2006586 + F300849EF500829DF500819BF5007E99F50093AAF600C3D0FA00FFFFFF00FFFF + FF00FFFFFF009BABE1005E78D1006987ED006888F3006686F3006586F300597C + F200436AEF005277F0000000000000000000000000004F69C000B0C0F9008DA5 + F6008DA5F6007F95DD00DDE2F600C6D0F000C6D0F000C6D0F000C6D0F000C6D0 + F000C6D0F000C6D0F000C6D0F000C6D0F000C6D0F000C6D0F000C6D0F0008DA5 + F6008DA5F600AFC0F9000000000000000000000000000000000000000000607A + D70095ABF50092A9F600A0B4F700A2B6F800A2B6F800A2B6F800A2B6F800A2B6 + F800A2B6F8008E9FD800A2B6F800A2B6F800A2B6F800A2B6F8009FB3F70094AA + F500758AD500607AD7000000000000000000000000000000000000000000607A + D70095ABF50092A9F600A0B4F700A2B6F800A2B6F800A0B3F4008998C900E7EA + F400FFFFFF00A8BAF800A2B6F800A2B6F800A2B6F800A2B6F8009FB3F70094AA + F500758AD500607AD700000000000000000000000000516BC2006082F200708E + F4009AAFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D5DBF10098A8 + DC00758BD300859FF500839EF500829CF5007F9AF5007D98F5007B97F4006989 + F3004F74F1005579F100000000000000000000000000516BC200B5C5F9009EB3 + F7009EB3F7008EA0DE00E5EAF700D5DCF200D5DCF200D5DCF200D5DCF200D5DC + F200D5DCF200D5DCF200D5DCF200D5DCF200D5DCF200D5DCF200D5DCF2009EB3 + F7009EB3F700B4C4F90000000000000000000000000000000000000000000000 + 000090A2E2009CB1F7009CB1F700AEBFF800AEBFF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800A9BBF8009CB1F7008EA1 + E300546FCA000000000000000000000000000000000000000000000000000000 + 000090A2E2009CB1F7009CB1F700AEBFF800AEBFF800AEBFF80091A0D000929F + CA00DBE0F300AEBFF800AEBFF800AEBFF800AEBFF800A9BBF8009CB1F7008EA1 + E300546FCA0000000000000000000000000000000000526CC3005F81F200718F + F400A2B6F800FFFFFF00FFFFFF00E8EBF600D9DEF000B2BDE3008598D9008CA1 + E60092A9F40090A8F6008EA6F6008CA5F60089A2F60087A1F500859FF5006E8D + F3005075F1005579F100000000000000000000000000526CC300B8C7F900A7B9 + F800A7B9F80096A6DF00E9EDF800DCE1F400DCE1F400DCE1F400DCE1F400DCE1 + F400DCE1F400DCE1F400DCE1F400DCE1F400DCE1F400DCE1F400DCE1F400A7B9 + F800A7B9F800B6C6F90000000000000000000000000000000000000000000000 + 00005870C70092A5E300A3B6F700ACBDF800B5C5F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F900ACBDF800A2B6F800A1B5F7005870 + C700BFCDF6000000000000000000000000000000000000000000000000000000 + 00005870C70092A5E300A3B6F700ACBDF800B5C5F900B9C8F900B6C5F600A1AE + D900B6C5F600B9C8F900B9C8F900B9C8F900ACBDF800A2B6F800A1B5F7005870 + C700BFCDF60000000000000000000000000000000000536DC4006685EC006C8B + F300A3B6F800A4B5EE0092A1D30097A7DD0098A8E1009BACE700A2B6F800A1B5 + F7009FB3F7009BB0F70099AFF70097ADF70094ABF60091A8F6008CA5F6006B8A + F3005075F1005E7EEC00000000000000000000000000536DC400BAC9FA00B0C0 + F900B0C0F9009DADDF00EDF0F900E3E8F600E3E8F600E3E8F600E3E8F600E3E8 + F600E3E8F600E3E8F600E3E8F600E3E8F600E3E8F600E3E8F600E3E8F600B0C0 + F900B0C0F900B9C8F90000000000000000000000000000000000000000000000 + 00000000000000000000627DD900879BE300A0B3F500A3B6F800A4B7F8009FB3 + F7009FB3F700A2B6F800A3B6F800A0B4F700879BE300677ECC00627DD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000627DD900879BE300A0B3F500A3B6F800A4B7F8009FB3 + F7009FB3F700A2B6F800A3B6F800A0B4F700879BE300677ECC00627DD9000000 + 000000000000000000000000000000000000000000007A92E5006079CC00728E + EE007794F400829DF5008AA3F6008DA5F6008DA5F6008BA4F60089A2F60088A2 + F60087A1F500839EF500829DF500819BF5007B97F4007693F4006C8BF3005E80 + F2006786ED005F78CC00000000000000000000000000556FC600BECCFA00C0CE + FA00C0CEFA00ADB9E100F4F6FA00EDF0F800EDF0F800EDF0F800EDF0F800EDF0 + F800EDF0F800EDF0F800EDF0F800EDF0F800EDF0F800EDF0F800EDF0F800C0CE + FA00C0CEFA00BDCBFA0000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D500637BCC007C91DA0092A8F00091A7 + F10092A8F10092A8F000879DE7007B90D9005E79D500AFBFF300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D500637BCC007C91DA0092A8F00091A7 + F10092A8F10092A8F000879DE7007B90D9005E79D500AFBFF300000000000000 + 00000000000000000000000000000000000000000000000000005974CF00617A + CD005F81F2006586F3006888F3006A8AF3006A8AF3006A8AF3006A8AF3006989 + F3006989F3006888F3006888F3006787F3006586F3006384F3006082F2005E7D + E5006079CD006984DD000000000000000000000000005670C700A6B9F800C1CE + FA00C3D0FA00BCC8EE00F9FAFE00F4F6FC00F4F6FC00F4F6FC00F4F6FC00F4F6 + FC00F4F6FC00F4F6FC00F4F6FC00F4F6FC00F4F6FC00F4F6FC00F4F6FC00C3D0 + FA00C0CEFA00A4B7F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000007C93 + E5005771C8005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C8005D76 + CC007C93E500000000000000000000000000000000005771C9005771C8005771 + C8005771C8005771C800ABB8E300ABB8E300ABB8E300ABB8E300ABB8E300ABB8 + E300ABB8E300ABB8E300ABB8E300ABB8E300ABB8E300ABB8E300ABB8E3005771 + C8005771C8005771C80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DEDE + DE00D3D3D300CECECE00CECECE00C0C0C00097A7D7005769A700293462002530 + 5800253058002934620032427B005769A700C0C0C000C7C7C700CECECE00D6D6 + D600DEDEDE00DEDEDE000000000000000000000000000000000000000000DEDE + DE00D3D3D300CECECE00CECECE00C0C0C00097A7D7005769A700293462002530 + 5800253058002934620032427B005769A700C0C0C000C7C7C700CECECE00D6D6 + D600DEDEDE00DEDEDE000000000000000000000000000000000000000000DEDE + DE00D3D3D300CECECE00CECECE00C0C0C00097A7D7005769A700293662002531 + 5800253158002633600032427B005769A700C0C0C000C7C7C700CECECE00D6D6 + D600DEDEDE00DEDEDE0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004259A70046589700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004658970035447A004259A7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004259A70046589700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004658970035447A004259A7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004259A70046599700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004659970035457A004259A7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000A3B3EA002F3E73003F4F840044579700495DA100495D + A100495DA100445797003F4F86002F3F7400A3B3EA0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F100000000000000000000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F100000000000000000000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F100000000000000000000000000000000000000000000000000000000000000 + 0000000000004159A70035447A00455EAF002F4BAB001E3DA400032699000326 + 9900032699001E3DA4002F4BAB00455EAF0035447A004159A700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00002F4284004D5F9E00415CB7000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000000000000000000000000 + 00002F4284004D5F9E00415CB7000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000000000000000000000000 + 00002F4284004D609E00415CB7000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000000000000000000000000 + 00002E42880042538E004760B1000B2EA10003279F0003279F0003279F000327 + 9F0003279F0003279F0003279F000B2EA1004760B10042538E002E4288000000 + 000000000000000000000000000000000000000000000000000000000000475F + B100415DBD00082EAE00042BAC00042BAC00042BAC00042BAC001338B100CFD6 + EE00FFFFFF001338B100042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046589A00475FB1000000000000000000000000000000000000000000475F + B100415DBD00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046589A00475FB1000000000000000000000000000000000000000000475F + B100415DBD00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046599A00475FB10000000000000000000000000000000000000000003147 + 8F003654B900082DA9000429A8000429A8000429A8000429A8000429A8000429 + A8000429A8000429A8000429A8000429A8000429A800082DA9003654B9003147 + 8F00000000000000000000000000000000000000000000000000A8B7ED003E50 + 8E001439B600042CB100042CB100042CB100042CB100042CB100CFD6EF00FFFF + FF00FFFFFF00CFD6EF001439B600042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000000000000A8B7ED003E50 + 8E001439B600042CB100042CB100042CB100042CB100042CB1001439B600CFD6 + EF00042CB100042CB100042CB100042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000000000000A8B7ED003E50 + 8E001439B600042CB100042CB100042CB100042CB100042CB100A0AFE100A0AF + E100042CB100042CB100042CB100042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000000000000475FB1004658 + 9A00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00082EAE004658 + 9A00475FB1000000000000000000000000000000000000000000455BAE004C62 + AD00042DB600042DB600042DB600042DB600042DB600143ABA00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00D0D7F100143ABA00042DB600042DB600042DB600042D + B6002B4EC2004C62AD0000000000000000000000000000000000455BAE004C62 + AD00042DB600042DB600042DB600042DB600042DB600042DB600D0D7F100FFFF + FF00042DB600042DB600042DB600042DB600042DB600042DB600042DB600042D + B6002B4EC2004C62AD0000000000000000000000000000000000455CAE004C63 + AD00042DB600042DB600042DB600042DB600042DB600042DB600FFFFFF00FFFF + FF009FAFE200042DB600042DB600042DB600042DB600042DB600042DB600042D + B6002B4EC2004C63AD00000000000000000000000000A8B7ED003E508E004964 + BF00042CB100042CB100042CB100042CB100042CB100042CB100042CB100042C + B100042CB100042CB100042CB100042CB100042CB100042CB100042CB1004964 + BF003E508E00A8B7ED00000000000000000000000000788DD7004F63AA00395B + CD00173FC400173FC400173FC400264BC800D2D9F300FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00264BC800173FC400173FC400173F + C400153DC400395BCD00788DD7000000000000000000788DD7004F63AA00395B + CD00173FC400173FC400173FC400173FC400264BC800D2D9F300FFFFFF00FFFF + FF00173FC400173FC400173FC400173FC400173FC400173FC400173FC400173F + C400153DC400395BCD00788DD7000000000000000000788DD7004F63AA00395B + CD00173FC400173FC400173FC400173FC400A6B6E800FFFFFF00FFFFFF00FFFF + FF00FFFFFF00A6B6E800173FC400173FC400173FC400173FC400173FC400173F + C400153DC400395BCD006C83D40000000000000000003F5194004966C8001139 + BF000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE000C35 + BE000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE001139 + BF004966C8003F5194000000000000000000000000004963B600546DC0003357 + CF00234ACB00234ACB00234ACB00D4DBF400FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D4DBF4002F54CE00234ACB00234A + CB002148CB003357CF004963B60000000000000000004963B600546DC0003357 + CF00234ACB00234ACB00234ACB002F54CE00D4DBF400FFFFFF00FFFFFF00FFFF + FF00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234A + CB002148CB003357CF004963B60000000000000000004963B600546DC0003357 + CF00234ACB00234ACB00234ACB00ABBAEB00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00ABBAEB00234ACB00234ACB00234ACB00234ACB00234A + CB002148CB003357CF004963B60000000000000000004D62A9003659CC00123B + C300173FC400173FC400173FC400173FC400173FC400173FC400173FC400173F + C400173FC400173FC400173FC400173FC400173FC400173FC400173FC400123B + C4003558CC004D62A9000000000000000000000000003D54A2005C76D0003257 + D3002E53D2002E53D2002E53CF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D6DDF5002E53D2002E53 + D2002D53D2003257D3003D54A20000000000000000003D54A2005C76D0003257 + D3002E53D2002E53D2002E53D200D6DDF500FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002E53 + D2002D53D2003257D3003D54A20000000000000000003D54A2005C76D0003257 + D3002E53D2002E53D2002E53D200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00AFBEEE002E53D2002E53D2002E53D2002E53 + D2002D53D2003257D3003D54A20000000000000000005069BE002E53CE001D45 + CA00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234A + CB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB001D45 + CA002D52CE005069BE000000000000000000000000004158A600627CD900365C + DC004569DF004569DF004569DF004569DF004569DF004569DF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF004569DF004569DF004569DF004569DF004569DF004569 + DF004468DF003A5FDC004158A60000000000000000004158A600627CD900365C + DC004569DF004467DC00B6C2EA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004569 + DF004468DF003A5FDC004158A60000000000000000004158A600627DD900365C + DC004569DF003C5BC200B4BFE200FFFFFF00FFFFFF00FFFFFF003D5CC3003854 + B200B4BFE200FFFFFF00FFFFFF00FFFFFF00B8C6F2004569DF004569DF004569 + DF004468DF003A5FDC004158A60000000000000000005774D4002850D5003459 + D700395ED800395ED800395ED800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00395ED800395ED800395ED8003459 + D700224BD4005773D300000000000000000000000000435BAB006681DE003F64 + E1005173E3005173E3005173E3005173E3005173E3005173E300FFFFFF00FFFF + FF00FFFFFF00FFFFFF005173E3005173E3005173E3005173E3005173E3005173 + E3004F71E3004368E100435BAB000000000000000000435BAB006681DE003F64 + E1005173E3004764C7004C66BA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005173 + E3004F71E3004368E100435BAB000000000000000000435BAB006681DE003F64 + E1005173E3004764C700415CB600FFFFFF00FFFFFF00BECBF5005173E3004764 + C700415CB600FFFFFF00FFFFFF00FFFFFF00FFFFFF00BCC9F4005173E3005173 + E3004F71E3004368E100435BAB0000000000000000005A77D8003057DA003E63 + DD004569DF004569DF003E5EC800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004569DF004569DF004569DF003E63 + DD002B53DA005975D700000000000000000000000000475EB4006C86E0005275 + E7005C7CE8005C7CE8005C7CE8005C7CE8005C7CE8005C7CE800FFFFFF00FFFF + FF00FFFFFF00FFFFFF005C7CE8005C7CE8005C7CE8005C7CE8005C7CE8005C7C + E800597AE8005375E700475EB4000000000000000000475EB4006C86E0005275 + E7005C7CE8005B7BE5004E69C300DCE1F100FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005C7C + E800597AE8005375E700475EB4000000000000000000475EB4006C86E0005275 + E7005C7CE8005C7CE800526ECB00BCC5E500C2CEF6005C7CE8005C7CE8005C7C + E800526ECB00BCC5E500FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0CCF5005C7C + E800597AE8005375E700475EB40000000000000000005C79DB00375EDF00486C + E3005173E3005173E3004967CD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005173E3005173E3005173E300486C + E3003058DE005B78DB000000000000000000000000007790E100687FCD006E8C + F0007491F1007491F1007491F1007491F1007491F1007491F100FFFFFF00FFFF + FF00FFFFFF00FFFFFF007491F1007491F1007491F1007491F1007491F1007491 + F1006988EF006E8CF0007790E10000000000000000007790E100687FCD006E8C + F0007491F1007491F1007491F1006078C900677DC500E0E5F300FFFFFF00FFFF + FF007491F1007491F1007491F1007491F1007491F1007491F1007491F1007491 + F1006988EF006E8CF0007790E10000000000000000007790E100687FCD006E8C + F0007491F1007491F1007491F1007491F1007491F1007491F1007491F1007491 + F1007491F100657FD3005C73C000C3CBE800FFFFFF00FFFFFF00FFFFFF007491 + F1006988EF006E8CF0007790E10000000000000000005C78D5005074EA005477 + EA006886EC006886EC006886EC006886EC006886EC006886EC006886EC006886 + EC006886EC006886EC006886EC006886EC006886EC006886EC006886EC005477 + EA004A6FE9005D78D500000000000000000000000000BFCDF6005971C3007E98 + F1007E99F500819BF500819BF500819BF500819BF500819BF500FFFFFF00FFFF + FF00FFFFFF00FFFFFF00819BF500819BF500819BF500819BF500819BF5007E99 + F5007290F4007E98F100CED8F7000000000000000000BFCDF6005971C3007E98 + F1007E99F500819BF500819BF5007E98F1006B82CD007084C700FFFFFF00FFFF + FF00819BF500819BF500819BF500819BF500819BF500819BF500819BF5007E99 + F5007290F4007E98F100CED8F7000000000000000000CED8F7005971C3007E98 + F1007D98F500819BF500819BF500819BF500819BF500819BF500819BF500819B + F500819BF500819BF5007088D600677CC400FFFFFF00FFFFFF00CFD9FA007E99 + F5007290F4007E98F100CED8F70000000000000000005D76C900597CEE005578 + EE007390F0007491F1007491F1007491F1007491F1007491F1007491F1007491 + F1007491F1007491F1007491F1007491F1007491F1007491F1007390F0005679 + EE005377EE005D77CA00000000000000000000000000000000005975D100768D + DD00829CF5008BA4F6008BA4F6008BA4F6008BA4F6008BA4F600FFFFFF00FFFF + FF00FFFFFF00FFFFFF008BA4F6008BA4F6008BA4F6008BA4F6008BA4F600829C + F500809BF500768DDD00000000000000000000000000000000005975D100768D + DD00829CF5008BA4F6008BA4F6008BA4F60089A2F3007489CD00E3E7F400FFFF + FF008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4F600829C + F500809BF500768DDD00000000000000000000000000000000005975D100758C + DD007F9AF5008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4 + F6008BA4F6008BA4F6008BA4F6007A8FD700C9D0E800D4DDFC008BA4F600819B + F500809BF500768DDD00000000000000000000000000566FC2006685EE00567A + F1007C97F400809BF500819BF500819BF500819BF500819BF500819BF500819B + F500819BF500819BF500819BF500819BF500819BF500819BF5007D98F500587B + F1006081ED00566FC2000000000000000000000000000000000000000000607A + D70095ABF50092A9F600A0B4F700A2B6F800A2B6F800A2B6F800FFFFFF00FFFF + FF00FFFFFF00FFFFFF00A2B6F800A2B6F800A2B6F800A2B6F8009FB3F70094AA + F500758AD500607AD7000000000000000000000000000000000000000000607A + D70095ABF50092A9F600A0B4F700A2B6F800A2B6F800A2B6F8008898CF00A2B6 + F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6F8009FB3F70094AA + F500758AD500607AD7000000000000000000000000000000000000000000607A + D7008CA4F4008BA4F6009DB2F700A2B6F800A2B6F800A2B6F800A2B6F800A2B6 + F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6F8009CB1F70092A9 + F400758AD500607AD700000000000000000000000000AEBEF3005B73C5006886 + EC007391F40088A2F60093AAF60096ACF70096ACF70096ACF70096ACF70096AC + F70096ACF70096ACF70096ACF70096ACF70095ACF7008AA3F6007693F4006B89 + ED005B72C500AEBEF30000000000000000000000000000000000000000000000 + 000090A2E2009CB1F7009CB1F700AEBFF800AEBFF800AEBFF8008B99C7008B99 + C7008B99C700AEBFF800AEBFF800AEBFF800AEBFF800A9BBF8009CB1F7008EA1 + E300546FCA000000000000000000000000000000000000000000000000000000 + 000090A2E2009CB1F7009CB1F700AEBFF800AEBFF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800A9BBF8009CB1F7008EA1 + E300546FCA000000000000000000000000000000000000000000000000000000 + 00008599E00094ABF60097ADF700AEBFF800AEBFF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800A5B8F80095ACF7008CA0 + E100546FCA000000000000000000000000000000000000000000607AD600647D + D0006384F3007F9AF50093AAF600A2B6F800A2B6F800A2B6F800A2B6F800A2B6 + F800A2B6F800A2B6F800A2B6F800A2B6F80095ACF700829CF5006686F300657E + D200607AD6000000000000000000000000000000000000000000000000000000 + 00005870C70092A5E300A3B6F700ACBDF800B5C5F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F900ACBDF800A2B6F800A1B5F7005870 + C700BFCDF6000000000000000000000000000000000000000000000000000000 + 00005870C70092A5E300A3B6F700ACBDF800B5C5F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F900ACBDF800A2B6F800A1B5F7005870 + C700BFCDF6000000000000000000000000000000000000000000000000000000 + 0000576FC80090A3E300A0B4F600ACBDF800B5C5F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F900A9BBF8009CB1F70098ADF5005870 + C700BFCDF600000000000000000000000000000000000000000000000000536F + CA006989F3006A8AF300849EF500A8BAF800ADBEF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800ADBEF800A9BBF80087A1F5006D8CF3006B8AF300536F + CA00000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000627DD900879BE300A0B3F500A3B6F800A4B7F8009FB3 + F7009FB3F700A2B6F800A3B6F800A0B4F700879BE300677ECC00627DD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000627DD900879BE300A0B3F500A3B6F800A4B7F8009FB3 + F7009FB3F700A2B6F800A3B6F800A0B4F700879BE300677ECC00627DD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000627DD900879BE3009FB3F500A3B6F800A4B7F8009FB3 + F7009FB3F700A2B6F800A3B6F800A0B4F700859BE200667DCC00627DD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005570CB006780D400718EEE00819BF50090A8F6009FB3F700AFC0F900B1C1 + F900AFC0F900A1B5F70093AAF600849EF5007490ED006981D4005570CB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D500637BCC007C91DA0092A8F00091A7 + F10092A8F10092A8F000879DE7007B90D9005E79D500AFBFF300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D500637BCC007C91DA0092A8F00091A7 + F10092A8F10092A8F000879DE7007B90D9005E79D500AFBFF300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D500637BCC007C91DA0092A8F00091A7 + F10092A8F10092A8F000869CE7007B90D9005E79D500AFBFF300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000627DD8006179CA007A95F1007D98F500849EF5008BA4F6008EA6 + F6008BA4F60086A0F5007F9AF5007D97F1006179CA00627DD800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000AFBFF3005E77CA006881D4006B85E2007691ED007792 + ED007691ED006C86E2006881D4005E77CA00AFBFF30000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000253671003E4D + 8200495991008699DD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000002737730027377300B6C5F0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000A3B3EA002F3E73003F4F840044579700495DA100495D + A100495DA100445797003F4F86002F3F7400A3B3EA0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000008197DC0044579500405B + B8005B73C4005A679400293D8500B9C6F100000000000000000000000000293D + 8500293D8500B9C6F10000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000273770003F519200283B7A000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004159A70035447A00455EAF002F4BAB001E3DA400032699000326 + 9900032699001E3DA4002F4BAB00455EAF0035447A004159A700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008197DD002A3C7B003755BB003E5B + BD008798D100465BA000465BA0002A3E83000000000000000000BAC6F200465B + A000465BA0002A3E830000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000002A3C7800435EB90040549800B9C6F10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00002E42880042538E004760B1000B2EA10003279F0003279F0003279F000327 + 9F0003279F0003279F0003279F000B2EA1004760B10042538E002E4288000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000354787004963B7002B4EC0007188D4006273 + B0004B64B500123DCC00123DCC004A6BD80032499A0032499A004B64B500123D + CC00123DCC004A6BD800384FA200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000304486004260C5001E42BA00445AA50032468E00BAC7F2000000 + 0000000000000000000000000000000000000000000000000000000000003147 + 8F003654B900082DA9000429A8000429A8000429A8000429A8000429A8000429 + A8000429A8000429A8000429A8000429A8000429A800082DA9003654B9003147 + 8F00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005169BE004A64BA002A4EC400042EB9007289D7006677 + B8004F69C0001240DA000535D8001240DA004E69BF004E69BF004B6EE3000535 + D8001240DA004B6EE3003D55AC00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000034488E004363CC00143BBF003F5FCB00455DAC00354A95000000 + 0000000000000000000000000000000000000000000000000000475FB1004658 + 9A00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00082EAE004658 + 9A00475FB1000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000546CC000384C90002B50C800042FBE00042FBE002B4FC700869A + DC005E74BB004C71ED001344E7000539E600476DED00476DED001344E7001344 + E7004C71ED00536DCA00BECCF5000000000000000000374C9500374C9500374C + 9500374C9500374C9500374C9500374C9500374C9500374C9500374C9500374C + 9500374C9500374C95004364D300143DC700103AC6003E60D1004760B300BDC9 + F4000000000000000000000000000000000000000000A8B7ED003E508E004964 + BF00042CB100042CB100042CB100042CB100042CB100042CB100042CB100042C + B100042CB100042CB100042CB100042CB100042CB100042CB100042CB1004964 + BF003E508E00A8B7ED0000000000000000000000000026356E0026356E002635 + 6E0026356E0026356E0026356E0026356E0026356E0026356E0026356E002635 + 6E0026356E0026356E0026356E0026356E0026356E0026356E0026356E002635 + 6E0026356E0026356E0031458E00000000000000000000000000000000000000 + 0000394E97004D68C5002C52D1000431C7000431C7000431C6000431C6000431 + C5003358D0006478C2005C76D2005378F1001748EC001748EC001748EC005C76 + D200435CB600BECCF5000000000000000000000000004D6DD6001441D8001441 + D8001441D8001441D8001441D8001441D8001441D8001441D8001441D8001441 + D8001441D8001441D8001441D8000838D5000535D5000535D500103ED7004C67 + C1003F57AA00BECCF5000000000000000000000000003F5194004966C8001139 + BF000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE00FFFFFF00FFFF + FF00FFFFFF000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE001139 + BF004966C8003F519400000000000000000000000000435FBC00435FBC00435F + BC00435FBC00435FBC00435FBC00435FBC00435FBC00435FBC00435FBC00435F + BC00435FBC00435FBC00435FBC00435FBC00435FBC00435FBC00435FBC00435F + BC00435FBC00435FBC002C3E7B0000000000000000000000000000000000BCC9 + F400536BBD00385DD7000C39CE000E3ACE000E3ACD000E3ACD000E3ACC000E3A + CC003B5FD600667BC4006981D5006787F300315DEF00315DEF00315DEF006981 + D500455FB800BFCCF5000000000000000000000000004F70DD000637DD000738 + DD000738DD000738DD000738DD000738DD000738DD000738DD000738DD000738 + DD000738DD000738DD000738DD000738DD000738DD000738DD000738DD004167 + E6004F6AC700435BB1000000000000000000000000004D62A9003659CC00123B + C300173FC400173FC400173FC400173FC400173FC400173FC400FFFFFF00FFFF + FF00FFFFFF00173FC400173FC400173FC400173FC400173FC400173FC400123B + C4003558CC004D62A9000000000000000000000000004361C700042CB400042C + B400042CB400042CB400042CB400042CB400042CB400042CB400042CB400042C + B400042CB400042CB400042CB400042CB400042CB400042CB400042CB400042C + B400042CB400042CB40032468800000000000000000000000000000000003E55 + AB004266DD001A45D6001944D5001D47D5001C46D4001C46D4001D47D4004669 + DB0092A4E6006F87D6007F9AF500567AF2004C72F1004C72F1004C72F1007F9A + F5006F87D6004761BA000000000000000000000000005677E4001848E7001D4C + E8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4C + E8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8002552 + E9004B70ED00536FCE00BFCCF50000000000000000005069BE002E53CE001D45 + CA00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00FFFFFF00FFFF + FF00FFFFFF00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB001D45 + CA002D52CE005069BE000000000000000000000000004568DE000D3BD5000E3C + D5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3C + D5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3C + D5000E3CD5000C3AD5003F57A5000000000000000000ABBCF100435AA9005B78 + D9002E57E000345CE100385FE200385FE100385FE100385FE0008FA5EE00778B + CE007F93DA0088A2F600819BF50087A1F500899BDD00899BDD00A5B8F800819B + F50088A2F600A5B8F8004E68C30000000000000000006785EA00496FF0005479 + F1005579F1005579F1005579F1005579F1005579F1005579F1005579F1005579 + F1005579F1005579F1005579F1005579F1005579F1005579F1005579F1005176 + F1004B71F1005A7DF2004A64BD0000000000000000005774D4002850D5003459 + D700395ED800395ED800395ED800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00395ED800395ED800395ED8003459 + D700224BD4005773D3000000000000000000000000004D72EA002652E6002A56 + E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56 + E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56 + E7002955E700224FE500465FB40000000000000000004E68C3007B8DCC006383 + EC003E65E6004469E700456AE700466BE700456AE600456AE60096ABF000798C + D0008699DD00A1B5F700A1B5F700B7C7F9006E82CB006E82CB00899CDE00A1B5 + F700A1B5F700B7C7F9004F6AC50000000000000000006E8AEA005E80F200708E + F400718FF400718FF400718FF400718FF400718FF400718FF400718FF400718F + F400718FF400718FF400718FF400718FF400718FF400718FF400718FF4006989 + F3006E8DF300607AD600BFCCF50000000000000000005A77D8003057DA003E63 + DD004569DF004569DF003E5EC800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004569DF004569DF004569DF003E63 + DD002B53DA005975D7000000000000000000000000005579F1003F68F000456C + F000456CF000456CF000456CF000456CF000456CF000456CF000456CF000456C + F000456CF000456CF000456CF000456CF000456CF000456CF000456CF000456C + F000446BF0003761EF004C66BD000000000000000000475FB200B8C5EF005175 + ED004E73EB005376EC005376EC005376EC005477EC005376EB006F8CEE00A9B9 + F1006F84CD00C0CEFA00C0CEFA008FA0DF00A9B9F000A9B9F0006F84CD00C0CE + FA00C0CEFA008FA0DF00BFCDF6000000000000000000738EEB006D8CF30087A1 + F5008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5 + F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008BA4F6007F9A + F500657FD7004C66C0000000000000000000000000005C79DB00375EDF00486C + E3005173E3005173E3004967CD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005173E3005173E3005173E300486C + E3003058DE005B78DB000000000000000000000000005D80F2006586F3007491 + F4007B97F4007B97F4007B97F4007B97F4007B97F4007B97F4007B97F4007B97 + F4007B97F4007B97F4007B97F4007B97F4007B97F4007B97F4007B97F4007995 + F4006F8DF300597CF200516BC20000000000000000008095DE00A9BBF800577B + F2006F8DF3006F8DF3006F8DF3006F8DF3006F8DF3006F8DF3006F8DF300708E + F4008AA3F5007F91D3007F91D300B4C3F4006F8DF2006F8DF2008AA3F4007D91 + D2007D8FD300AFBFF3006982D90000000000000000006985E300738EEB007C96 + EC00829BED00829BED00829BED00829BED00829BED00829BED00829BED00829B + ED00839CED0096ABEF00B8C7F900C5D1FA00C1CEFA00ACBDF8008CA5F6004F69 + C200BFCDF600000000000000000000000000000000005C78D5005074EA005477 + EA006886EC006886EC006886EC006886EC006886EC006886EC00FFFFFF00FFFF + FF00FFFFFF006886EC006886EC006886EC006886EC006886EC006886EC005477 + EA004A6FE9005D78D5000000000000000000000000005E7DEA00718DEC007792 + ED007A95EC007A95EC007A95EC007A95EC007A95EC007A95EC007A95EC007A95 + EC007A95EC007A95EC007A95EC007A95EC007A95EC007A95EC007A95EC007993 + ED007590EC006D8AEC00546EC500000000000000000099ACEE00B1C1F9007290 + F400839EF5007F9AF5007D98F5007D98F5007D98F5007D98F5007D98F5007D98 + F5007D98F500BBCAFA00BBCAFA0097ADF7007F9AF5007D98F5007D98F500B0C0 + F800A5B8F7007995F400536ECA000000000000000000506AC100506AC100506A + C100506AC100506AC100506AC100506AC100506AC100506AC100506AC100506A + C100506AC100506AC1009BB0F700BDCBFA00B5C5F90096ACF7006882D800BFCD + F60000000000000000000000000000000000000000005D76C900597CEE005578 + EE007390F0007491F1007491F1007491F1007491F1007491F100FFFFFF00FFFF + FF00FFFFFF007491F1007491F1007491F1007491F1007491F1007390F0005679 + EE005377EE005D77CA000000000000000000000000005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005A75D1000000000000000000A4B4EE00D3DCFB0087A1 + F50097ADF70092A9F6008EA6F6008AA3F6008AA3F6008AA3F6008AA3F6008AA3 + F6008AA3F60097ADF70096ACF70094ABF6008FA7F6008DA5F6008BA4F6007F9A + F5006C8BF3005B7EF2004760B900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000516BC20088A2F600A3B6F80098AEF7006F87DA00516BC4000000 + 00000000000000000000000000000000000000000000566FC2006685EE00567A + F1007C97F400809BF500819BF500819BF500819BF500819BF500FFFFFF00FFFF + FF00FFFFFF00819BF500819BF500819BF500819BF500819BF5007D98F500587B + F1006081ED00566FC20000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000096AAEC00DFE6FC00D2DB + FB00B5C5F900B7C7F900B4C4F900ADBEF800AABCF800A6B9F800A0B4F700B3C3 + F800DCE3F900DDE4FC00B6C6F900B3C3F900AFC0F900AEBFF800ACBDF80097AD + F7007F9AF5006787F3004861B800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000536DC4006A8AF3007693F400536DC600BFCDF600000000000000 + 00000000000000000000000000000000000000000000AEBEF3005B73C5006886 + EC007391F40088A2F60093AAF60096ACF70096ACF70096ACF700798AC500798A + C5007F92D10096ACF70096ACF70096ACF70095ACF7008AA3F6007693F4006B89 + ED005B72C500AEBEF30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000798FD900DCE3FC00E6EB + FD00BECCFA00C1CEFA00C1CEFA00BBCAFA00B4C4F900ACBDF800A4B7F800A4B4 + EA0093A3DB00E7ECFD00D9E1FC00BBCAFA00BCCAFA00BBCAFA00B6C6F9009DB2 + F700839EF5006F8DF300516AC700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000556FC600577BF200657FDB00BFCDF60000000000000000000000 + 0000000000000000000000000000000000000000000000000000607AD600647D + D0006384F3007F9AF50093AAF600A2B6F800A2B6F800A2B6F800A2B6F800A2B6 + F800A2B6F800A2B6F800A2B6F800A2B6F80095ACF700829CF5006686F300657E + D200607AD6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000637AC700B8C7F800E6EB + FD00DDE4FC00C6D2FA00C3D0FA00BBCAFA00B3C3F900A5B8F800A7B8F3006177 + C4005068BE00E6ECFD00E7ECFD00E0E6FC00BCCAFA00BBCAFA00B6C6F9009BB0 + F700819BF5007B97F400657FD800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005670C7005B78DA005670C8000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000536F + CA006989F3006A8AF300849EF500A8BAF800ADBEF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800ADBEF800A9BBF80087A1F5006D8CF3006B8AF300536F + CA00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCDF600516AC3008699 + DD00DBE2FC00E7ECFD00E6ECFD00E4E9FD00D0DAFB00A6B6EB00536ECA000000 + 0000000000005C73C400A3B3EB00CBD6F900E2E8FD00E0E6FC00DEE5FC00C3D0 + FA008AA0EE006177C80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005570CB006780D400718EEE00819BF50090A8F6009FB3F700AFC0F900B1C1 + F900AFC0F900A1B5F70093AAF600849EF5007490ED006981D4005570CB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF600516B + C7008499DE009CAEEF00A7B8F2008BA0E7007489D100526AC000000000000000 + 000000000000839AE7004F69C2006D82CD0091A7EE009FB2F10094A9EF006C85 + D9005870C3005E79D30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000627DD8006179CA007A95F1007D98F500849EF5008BA4F6008EA6 + F6008BA4F60086A0F5007F9AF5007D97F1006179CA00627DD800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005975D1005069C0004F69C000526CC7006680DA00D3DBF800000000000000 + 0000000000000000000000000000839AE7004F68BF004F68BF004F68BF005E79 + D5009FB0EF000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000AFBFF3005E77CA006881D4006B85E2007691ED007792 + ED007691ED006C86E2006881D4005E77CA00AFBFF30000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000008D8B8B00918F8D00918F8D00918F8D00918F8D00918F + 8D00918F8D00918F8D00918F8D00918F8D00918F8D008D8B8B00000000000000 + 00000000000000000000000000000000000000000000808080007D7D7D009D9D + 9D00C5C5C500C5C5C500C5C5C500C5C5C500C7C7C700C7C7C700C8C8C800CECE + CE00CFCFCF000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000082807F00F7F7F700B2B2B200B2B2B200B2B2B200B2B2 + B200B2B2B200B2B2B200B2B2B200B2B2B200F7F7F70082807F00000000000000 + 00000000000000000000000000000000000000000000B0B0B000A6A6A600F9F8 + F800838382009E9E9E0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000273465007287CC005971 + C3005971C3005971C3005971C3005971C3005971C3005971C3005971C3005971 + C3005971C3005971C3005971C3005971C3002734650000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000030458D0025356E004B494900717170007171700071717000717170007171 + 700071717000717170007171700071717000717170004B49490025356E000000 + 000000000000000000000000000000000000000000000000000086868600DCDC + DC00ACABA9008988870080808000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002A3A73006B86E1001639 + AC001639AC001639AC001639AC001639AC001639AC001639AC001639AC001639 + AC001639AC001639AC001639AC002446B7002A3A730000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000029386E00283564004D4C4B00767675006261600062616000626160006261 + 600062616000626160006261600062616000767675004D4C4B0028356400768C + CF00000000000000000000000000000000000000000000000000000000008F8F + 8F00DCDCDB00A5A4A2008A898800D3D3D3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002C3E7B006984E1000328 + A4000328A4000328A4000328A4000328A4000328A4000328A4000328A4000328 + A4000328A4000328A4000328A400163AB2002C3E7B0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000344892004358A100425F + BF00425FBF0041528C0076757500ACACAC00ACACAC00ACACAC00ACACAC00ACAC + AC00ACACAC00ACACAC00ACACAC00ACACAC00ACACAC007675750041528C00425F + BF00425FBF004358A10000000000000000000000000000000000000000000000 + 0000CECECE00EBEBEA00C0BFBE008A8988007E7E7E00D3D3D300000000000000 + 0000000000000000000000000000B6C3F0003E55A10000000000000000000000 + 0000000000000000000000000000000000000000000033458900738DE7000A32 + B8000A32B800375BD2006B86E0006480DE00163CBC000A32B8000A32B8000A32 + B8000A32B8000A32B8000A32B8001C42C2003345890000000000000000003449 + 9100334589005E76C90000000000000000000000000037477F00CDD6F6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000324588004260C5001036 + B600042CB200021A6B00021A6B00021A6B00021A6B00021A6B00021A6B00021A + 6B00021A6B00021A6B00021A6B00021A6B00021A6B00021A6B00021A6B00042C + B2001036B6004260C50000000000000000000000000000000000000000000000 + 00007E7E7E00CECECE00EBEBEA00A5A4A2008A8988007E7E7E00000000000000 + 00000000000000000000B6C3F000273872002E417F0000000000000000000000 + 00000000000000000000000000000000000000000000364A91007E95E3002349 + C8002C51CF00607BD80044589B007A8CCE006884E200143CC300113AC200113A + C200113AC200113AC200113AC2001E45C800364A910000000000869BE100627C + D600607CDA004D62A4000000000000000000000000006D789F004B62B1000000 + 000000000000000000000000000000000000000000000000000000000000293C + 7A00283871002838710028387100283871002838710028387100283871002838 + 71002838710028387100293C7A000000000000000000354A8F004362CB00042E + B900042EB900042EB900042EB900042EB900042EB900042EB900042EB900042E + B900042EB900042EB900042EB900042EB900042EB900042EB90003269C000325 + 940003269C004362CB0000000000000000000000000000000000000000000000 + 0000D3D3D3007E7E7E00CECECE00C0BFBE00A5A4A2008A898800D3D3D3000000 + 000000000000B6C5F100283873006472A000364E960000000000000000000000 + 000000000000000000000000000000000000000000005068BE00788DD3005B7A + E0005375E400586DB4006D85D6004559A0007F96E1004063D8001841CA001841 + CA001841CA001841CA001841CA001841CA0042579E00000000003D55A8003B60 + DB002F55D600607EE200BDC9F40000000000000000007D89B10035447D00A3B4 + EB00000000000000000000000000000000000000000000000000000000003447 + 8400949DBE00435DB600435DB600435EB6004761B7004963B8004A64B8004E67 + BB004E67BB004C66BA002B3C760000000000000000003C529D004C6CD8002048 + CE00234ACF00234ACF00234ACF00234ACF00234ACF00234ACF00234ACF00234A + CF00234ACF00234ACF00234ACF00234ACF00234ACF00234ACF002243B2002343 + AC001F41B1004B6BD80000000000000000000000000000000000000000000000 + 00000000000000000000D3D3D300CECECE00EBEBEA00C0BFBE00706F6E005C5C + 5C009DADE2006979AE008192CC007E8EC7006077C40000000000000000000000 + 00000000000000000000000000000000000000000000000000005D76CF006073 + BB00798ED200556FC70000000000BDCBF400576CB300859EF0002751DE002751 + DE002751DE002751DE002751DE002751DE00667CCB004058A8006B82D0002751 + DE002751DE003D63E3004E68C0000000000000000000707DAA004B66C0004959 + 9400000000000000000000000000000000000000000000000000000000000000 + 0000BAC6F20094A0C8007A8ED1002647B6002C4CB8003150B9003755BB00415E + BF00435FBF003856BC003143830000000000000000004157A4005373DE00385D + D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61 + D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61 + D900365BD8005272DE0000000000000000000000000000000000000000000000 + 00000000000000000000000000007E7E7E00CECECE00EBEBEA00737271006367 + 74003D5093008195D7005871C3007A8CCA00A2B3E90000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000738B + DD004760BA00BECCF5000000000000000000445CB0008AA1EC002F59E6002F59 + E6002F59E6002F59E6002F59E6002F59E6006A88EE00748DE1006A88EE002F59 + E6002F59E6003C63E800516CC700000000000000000054639C006980CC004964 + BF00546CC0000000000000000000000000000000000000000000000000000000 + 0000000000003C5094006E7FBC00516CC9003858C1003E5CC2004462C5004F6B + C800536ECA004764C600344789000000000000000000445BAB005B7BE4005072 + E2005676E3005676E3005676E3005676E3005676E3005676E3005676E3005676 + E3005676E3005676E3005676E3005676E3005676E3005676E3005676E3005676 + E3004C6FE1005979E40000000000000000000000000000000000000000000000 + 0000000000000000000000000000D3D3D3007E7E7E00A7A7A70081859400455B + A6007084C7005A75D2004F6AC7008496D300B7C5F10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005570CC008EA4EF00355FED00355F + ED00355FED00355FED00355FED00355FED003E67EF00456CEF003962ED00355F + ED00355FED00436AEF004761BA0000000000000000003D5196008596D0003F5F + C80040539500556EC30000000000000000000000000000000000000000000000 + 000000000000384D9600586FBA00516DCD004563C9004C69CC00516DCD005C76 + D0005F7AD100536FCD00374C8F0000000000000000004C65BA006A89EF007E99 + F100A4B6F500A8BAF500A8BAF500A8BAF500A8BAF500A8BAF500A8BAF500A8BA + F500A8BAF500A8BAF500A8BAF500A8BAF500A8BAF500A8BAF500A8BAF50090A7 + F3007A95F1006786EF0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2B1E600788ED9008CA4 + F5006B8AF0005071DF003257D000123ABF004E5F9B00465CAC00000000000000 + 00000000000000000000000000000000000000000000000000006D87DD00637A + C7007087D8005D77D30000000000D2DBF8005B72C10089A2F300456CF000456C + F000456CF000456CF000456CF000456CF0007F98EA00647AC40090A3E400456C + F000456CF000587CF2005671CE000000000000000000B3C0EF006475B0007089 + DA002D52CE004E6CCF004F64AF005E77CC009CAEED0000000000000000009CAE + ED004C65BC005E78D1005C78D8005371D700607CD9006681DB006A85DC00758E + DF007A92E0006883DB003E539D000000000000000000506AC1006F8DF30090A7 + F5008C90A3006C6A6A006C6A6A006C6A6A006C6A6A006C6A6A006C6A6A006C6A + 6A006C6A6A006C6A6A006C6A6A006C6A6A006C6A6A006C6A6A006C6A6A00B6C6 + F8008AA3F5006B8AF30000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000BFCCF5004862BC0095ACF7007C97 + F400718FF4003D63E3000534D1000431C600556EC200475890004F67B7000000 + 00000000000000000000000000000000000000000000AEBEF2005B72C200869F + F0007B95EF00536CBF00D2DBF8007990E2007C8FD4007995F4004C72F1004C72 + F1004C72F1004C72F1004C72F1004C72F1006C83CD005771CE00687DC7005277 + F1004C72F1006C8BF3007990E2000000000000000000000000004960AE0095A5 + D900113DCE002F55D4004B6CDA004D64B200455BA5004359A6004258A500485E + A6005269B9006480DE005A78DD00627EDE006E88E100728CE1007790E3008299 + E400869CE600718BE1004158A3000000000000000000526CC3006C8BF3009CB1 + F700959392009593920095939200959392009593920095939200959392009593 + 920095939200959392009593920095939200959392009593920095939200C6D2 + FA0092A9F6006787F30000000000000000000000000000000000000000000000 + 0000000000000000000000000000BFCCF5004963BD007E92DA008AA3F600859F + F5007E99F5002250E9000F3FDD000534D1002146C400556FC20042538B000000 + 00000000000000000000000000000000000000000000657FD9008195DD006F8D + F3007794F400738AD5005D78D300556DC10089A0EC006686F3005277F1005277 + F1005277F1005277F1005277F1005277F1005E75C300D2DBF8004F69C5007B97 + F4005E80F200879FEF00D2DBF800000000000000000000000000889CE2008090 + C5001F49D600244DD7003057D9005A79E0005A78DE005976D6005C78D600617F + E2006B86E300617FE2006B87E400708BE5007993E7007F97E800849BE80092A7 + EB0090A5EA007690E500455CAA000000000000000000000000005974CF006782 + DB009C9A9900A09D9C0096939200969392009693920096939200969392009693 + 9200969392009693920096939200969392009693920096939200A09D9C007A94 + ED006681DB005974CF0000000000000000000000000000000000000000000000 + 00000000000000000000BFCDF500889BDD00AFC0F900B4C4F900D1DBFB00B6C6 + F9006A8AF300476EF000345FEF002250E9000534D1000431C6003356C900394C + 8E00B9C6F200000000000000000000000000000000004E68BF008FA6F3005B7E + F2006183F2007693F40094A9F300829CF5006485F3006183F2006183F2006183 + F2006183F2006183F2006183F2006A8AF3004E68BF0000000000000000004F68 + C1004E68BF006F89DF00000000000000000000000000000000000000000098AB + EA0098ABED004066E600466BE7005376E900587AE9005D7DEA006987EC006E8B + EC00738FEC007E98EE00839CEF0089A1EF0094A9F10099ADF10098ADF100CCD5 + F400B2C2F5006886EB004C65B900000000000000000000000000000000005A75 + D1006B6968009D9A9900615F5F00BFBFBE00BCBCBB00BAB9B800B4B3B200B1B0 + AE00ADACAB00A6A5A400A2A1A0009F9D9C0097959300615F5F009D9A99005771 + C8005A75D1000000000000000000000000000000000000000000000000000000 + 000000000000000000004F6BC600B9C5EF00ABB9E9008E9FD9006F83CB0096A6 + DD00B2C2F8005579F100466DF000345FEF001040DD000534D1000935C8005B6F + B2003A4D8F00CED7F7000000000000000000000000004F69C0008CA5F6006082 + F2006989F3006989F3006989F3006989F3006989F3006989F3006989F3006989 + F3006989F3006989F3006989F3006C8BF3004F69C00000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2B0E0007E99F0004E73EC005F80EE006686EF006B89EF007692F0007B96 + F100809AF1008BA3F30091A8F30096ACF400A1B4F500A0B3F500A5B7F500677D + C800ABB9E8009BB0F4005069BF00000000000000000000000000000000000000 + 000074727100A3A09F0067656500E2E1E100DFDFDE00DDDCDC00D7D7D600D5D4 + D300D1D1D000CBCAC900C8C7C600C4C3C200BCBBBA0067656500A3A09F000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000546FCB005975D1006580D9007990E300BFCDF600546F + CB008FA0DA007491F4005479F100466DF0002250E9001040DE000534D1004161 + CC00596BAC0037488700314075003C539C0000000000506AC1008AA3F6006A8A + F3007D98F5007E99F5007B97F400708EF400708EF400708EF400708EF400708E + F400708EF4007A96F4007995F4007491F400506AC10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005A74C900B4C1EC00829DF4006C8BF3007391F4007995F400829DF40087A1 + F5008DA5F50098AEF6009DB2F600A3B6F700A1B5F700A5B8F700BECBF600617C + D8005A74C900A4B4E800546EC500000000000000000000000000000000000000 + 000085838200AFADAB0073717000F2F2F200F1F1F000F0EFEF00EDECEC00EBEB + EA00E9E9E900E5E5E500E3E3E200E1E0E000DCDBDB0073717000AFADAB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000007488CF00B1BFF000829DF500466DF000345FEF002250E900042D + B600082BA100788AC60040539300B8C5F200000000005B76D300526CC300526C + C300526CC300526CC300526CC3007388CF00A2B2E700B3C3F900A0B4F6008FA1 + E0006D82CC00526CC300526CC300526CC300607BD70000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000093A8ED006D82CE00B1C1F8008AA3F600829DF5009AAFF700A1B5 + F700A6B9F800ACBDF800A8BAF800AFC0F900B5C4F4007E93D6005A76D2000000 + 000000000000C1CDF6005771C900000000000000000000000000000000000000 + 00008E8C8A00B5B3B10079777600F6F6F600F5F5F500F5F5F400F3F3F300F2F2 + F200F1F0F000EEEEEE00ECECEC00EBEAEA00E7E7E60079777600B5B3B1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000007991E400687DCA00B3C1F1005277F100466DF000345FEF001035 + B200788CCF009CA8CF00BAC7F300000000000000000000000000000000000000 + 0000000000000000000000000000718AE0006178C900B5C4F500A0B3F300546D + C40092A7EC000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BBC9F50095A6DE00C2CEF300B9C8F900A8BAF800A4B7 + F800A7B9F800B6C6F900C2CFFA00C1CEF800647CCD00647EDA00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000908F8E00959391007F7D7C00F7F7F700F7F7F700F7F7F700F6F6F600F6F6 + F600F5F5F500F4F4F400F3F3F200F2F1F100EFEFEF007F7D7C00959391000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000092A7EC006179CA009CB1F7004F74F100385CD2008196 + DA009FACD6004F67B50000000000000000000000000000000000000000000000 + 000000000000000000009FB1F0006F84CF00A2B2E900A9BBF800AABCF7008C9F + DF00647ACA009FB1F00000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000007C93E400667FCC008799D900BDC9F100C0CD + F600C1CDF600A5B5EA008497DB00657DCD009DB1EF0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000008B898800EBEBEA00EDECEC00EEEEED00F1F1F100F3F2 + F200F4F4F400F6F6F600F7F7F700F7F7F700F7F7F7008B898800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005670C700647ED2008A9DDC005B74 + CA00C1CDF6000000000000000000000000000000000000000000000000000000 + 0000000000005770C800A1B3EF009BB0F7009BB0F7009BB0F7009BB0F7009BB0 + F7009BB0F7008DA2EB005770C800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000918F8D00E4E4E300E6E5E400E7E7E600EAEAE900ECEB + EB00EDEDEC00F0EFEF00F1F1F100F3F2F200F5F5F500918F8D00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005771C8008EA0DF00A5B2DD00C1CD + F600000000000000000000000000000000000000000000000000000000000000 + 0000000000005871C800A5B7F300A3B6F800A3B6F800A3B6F800A3B6F800A3B6 + F800A3B6F80095AAF1005871C800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000908F8E00959391009593910095939100959391009593 + 91009593910095939100959391009593910095939100908F8E00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005771C800A3B0DE005C75CB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000647EDB008D9FDF00B4C4F900ADBEF800A8BAF800A6B9F800AABC + F800ACBDF800879ADC006B85DE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000006B85DE005A74CF005872C9005872C9005B76 + D2006B85DE000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D3D3D300C2C2C200C0C0 + C000263159002631590026315900263159002631590026315900263159002631 + 5900263159002631590026315900263159002631590026315900263159002631 + 59002E3D7100C0C0C000D6D6D600000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005065A9005065A9005065A9005065A9005065A9005065A9005065A9005065 + A9005065A9005065A9005065A9005065A9005065A9005065A9005065A9005065 + A9002736660000000000000000000000000000000000C4C4C4004E63A6003D51 + 93003D5193003D5193003D5193003D5193003D5193003D5193003D5193003D51 + 93003D5193003D5193003D5193003D5193003D5193003D5193003D5193003D51 + 93003D5193004E63A600DBDBDB00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000002F448B002E3F7B002A3B78002A3B78002A3B + 78002A3B78002A3B78002A3B78002A3B78002A3B78002A3B78002A3B78002A3B + 78002A3B7800354B970000000000000000000000000000000000000000000000 + 00004F69BF000328A300FFFFFF00E5E9F600E5E9F600E5E9F600E5E9F600E5E9 + F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F6004F69 + BF002C3D7B0000000000000000000000000000000000000000003D57AE00435D + B30007299A0007299A0007299A0007299A0007299A0007299A0007299A000729 + 9A0007299A0007299A0007299A0007299A0007299A0007299A0007299A000628 + 9A00435DB3003D57AE0000000000000000000000000000000000000000000000 + 00005972C900374D9E0034499400425AAE00768DD80000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BAC6F2004F609F002C3D7B004E66B700506AC400506A + C400506AC400506AC400506AC400506AC400506AC400506AC400506AC400506A + C400506AC4002D3F7F0000000000000000000000000000000000000000000000 + 0000506AC400042AAA00FFFFFF00E6EAF700E6EAF700E6EAF700E6EAF700E6EA + F700E6EAF700E6EAF700E6EAF700E6EAF700E6EAF700E6EAF700E6EAF700506A + C4002F40800000000000000000000000000000000000000000003E58AF004660 + B9000F32A4001032A4001032A4001032A4001032A4001032A4001032A4001032 + A4001032A4001032A4001032A4001032A4001032A4001032A4001032A4000D30 + A3004661B9003E58AF0000000000000000000000000000000000000000005C75 + CF00536CC2005B77D4005874D200566EC1004C60A100354A9300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BAC6F20031458D00526ECE002F4183000328A000042CB200042C + B200042CB200042CB200042CB200042CB200042CB200042CB200042CB200042C + B200506CC9003043850000000000000000000000000000000000000000000000 + 0000506BC800042CB100FFFFFF009397A5009397A5009397A5009397A5009397 + A5009397A5009397A5009397A5009397A5009397A500E6EAF800E6EAF800506B + C8003245860000000000000000000000000000000000000000003F59B0004863 + BF00173AAE0015359F0015349C0015349C0015349C0015349C0015349C001534 + 9C0015349C0015349C0015349C0015349C0015349C0015349C0015359F001538 + AE004A65C0003F59B000000000000000000000000000000000005E79D3005269 + B900345CE4001744DB000434D200254CCF004666D300586DB6008499DF000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000374D9A002C459A000732C1006582E30035498F00042BAE000430C2000430 + C2000430C2000430C2000430C2000430C2000430C2000430C2000430C2000430 + C2004F6DD300364B930000000000000000000000000000000000000000000000 + 0000506ED200042FBF00FFFFFF00E6EBF800E6EBF800E6EBF800E6EBF800E6EB + F800E6EBF800E6EBF800E6EBF800E6EBF800E6EBF800E6EBF800E6EBF800506E + D200374B92000000000000000000000000000000000000000000415BB2004D6A + CA002649BF002343AC00E0DFDE00E0DFDE00E0DFDE00E0DFDE00E0DFDE00E0DF + DE00E0DFDE00E0DFDE00E0DFDE00E0DFDE00E0DFDE00E0DFDE002343AC002246 + BE00506CCB00415BB200000000000000000000000000607AD1006881D5005176 + F1001344E8000639E3000537DD000434D2000433CE000935C900586EB700374A + 8D00849BE0000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000BDC9 + F4002E489F000833C5000D3AD0007791EB00374C9700042DB6000432CA000432 + CA000432CA000432CA000432CA000432CA000432CA000432CA000432CA000432 + CA004F6FD9003A4F990000000000000000000000000000000000000000000000 + 00004F6ED6000431C500FFFFFF009398A6009398A6009398A6009398A6009398 + A6009398A6009398A6009398A6009398A6009398A600E6EBF900E6EBF9004F6E + D6003A4F99000000000000000000000000000000000000000000425CB3004F6D + D0002E52C8002949B300DCDBDA00F3F4F800F3F4F800F3F4F800F3F4F800F3F4 + F800F3F4F800F3F4F800F3F4F800F3F4F800DCDBDA00DCDBDA002949B300284D + C500526FD100425CB300000000000000000000000000455EB7007C96EA004D72 + F1002856EE001445E8000639E3000535D8000434D2000433CE004162D100596E + B700384A8E000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000425A + AE005271D9005676E1006583E800859EEF003B509D00042EBC000434D1000434 + D1000434D1000434D1000434D1000434D1000434D1000434D1000434D1000434 + D1004F70DF003C53A10000000000000000000000000000000000000000000000 + 00004F6FDB000432CD00FFFFFF00E5EAF900E5EAF900E5EAF900E5EAF900E5EA + F900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF9004F6F + DB003D539F000000000000000000000000000000000000000000435DB400516F + D5003559CF003050BA00D8D7D600F3F4F800F3F4F800F3F4F800F3F4F800F3F4 + F800F3F4F800F3F4F800F3F4F800F3F4F700D8D7D600D8D7D6003050BA002F54 + CD005573D700435DB4000000000000000000000000004A62B600859DEE005176 + F1003C65EF002856EE001445E8000537DD000535D8000434D2000935C9004162 + D1005A6FB800859BE00000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000445C + AF000432CA000432CA000432CA000432CA000432CA000535D9000537E1000537 + E1000537E1000537E1000537E1000537E1000537E1000537E1000537E1000537 + E1004F73EA00445CAF0000000000000000000000000000000000000000000000 + 00005073E5000536D900FFFFFF009398A8009398A8009398A8009398A8009398 + A8009398A8009398A8009398A8009398A8009398A800E6EBFB00E6EBFB005073 + E500425AAC000000000000000000000000000000000000000000455FB6005676 + E0004367DD003D5DC700DDDDDC00BABED100F3F3F700F2F3F700F2F3F700F2F3 + F700F2F3F700F2F3F700F2F3F700F2F3F700DDDDDC00DDDDDC003D5DC7003C61 + DB005B7AE100455FB6000000000000000000000000005570CB00859BE6007C97 + F4006384F3005075F1003C65EF001445E8000639E3000537DD000434D2000433 + CE000935C9005A70B9003A4D910096A7E1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004760 + B700063AE800073BE900073BE900073BE900073BE900073BE900073BE900073B + E900073BE900073BE900073BE900073BE900073BE900073BE900073BE900063A + E8005075EF004760B70000000000000000000000000000000000000000000000 + 00005174EA00093BE200FFFFFF00E6EBFC00E6EBFC00E6EBFC00E6EBFC00E6EB + FC00E6EBFC00E6EBFC00E6EBFC00E6EBFC00E6EBFC00E6EBFC00E6EBFC005174 + EA00465FB20000000000000000000000000000000000000000004660B7005778 + E5004B6EE3004463CC00E1E1E000858FAF00DBDEE800F2F3F700F2F3F700F2F3 + F700F2F3F700F2F3F700F2F3F700DBDDE700E1E1E000E1E1E0004463CC004368 + E2005D7DE6004660B7000000000000000000000000008197E5007386CE0091A8 + F6007693F4006384F3005075F1002856EE001445E8000639E3000535D8000434 + D2000433CE004162D100979DB700888786000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004963 + BA000E41EC001042EC001143EC001143EC001143EC001143EC001143EC001143 + EC001143EC001143EC001143EC001143EC001143EC001143EC001143EC000E41 + EC005378F1004963BA0000000000000000000000000000000000000000000000 + 00005579EF001344E800FFFFFF00E7ECFC00E7ECFC00E7ECFC00E7ECFC00E7EC + FC00E7ECFC00E7ECFC00E7ECFC00E7ECFC00E7ECFC00E7ECFC00E7ECFC005579 + EF004962B90000000000000000000000000000000000000000004761B8005A7B + EA005376E9004A69D000E5E4E4007C86A700838BAC00B7BBCF00F5F6F900FEFE + FE00FEFEFE00E2E5EC00B6BACD008089A900E5E4E400E5E4E4004A69D000496E + E7006080EB004761B800000000000000000000000000000000004D66BE0094A5 + E300829DF5007794F4006384F3003C65EF002856EE001445E8000537DD000535 + D8000434D2008794C700C5C5C500B3B3B300B0B0B00000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004C65 + BC001F4FED002553EE002654EE002654EE002654EE002654EE002654EE002654 + EE002654EE002654EE002654EE002654EE002654EE002654EE002654EE001E4E + ED005A7DF2004C65BC0000000000000000000000000000000000000000000000 + 00005F81F2002856EE00FFFFFF00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EE + FD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD005F81 + F2004D66BD0000000000000000000000000000000000000000004963BA005E80 + F2006283F2005876DA00ECEBEB007780A2007780A1007780A100F1F2F600F1F2 + F600F1F2F600C1C6D500747E9F00737D9F00ECEBEB00ECEBEB005876DA00577B + F2006686F3004963BA00000000000000000000000000000000000000000090A4 + EA009AABE5009FB3F700849EF5006384F3005075F1003C65EF001445E8000639 + E3009BABE100CECECE00C4C4C400BBBBBB00B5B4B3008A898800B1B0B0000000 + 0000000000000000000000000000000000000000000000000000000000004D66 + BE002755EE00305CEE00325EEF00325EEF00325EEF00325EEF00325EEF00325E + EF00325EEF00325EEF00325EEF00325EEF00325EEF00325EEF00325EEF002755 + EE005E80F2004D66BE0000000000000000000000000000000000000000000000 + 00006485F300325EEF00FFFFFF00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEF + FD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD006485 + F3004E67BF0000000000000000000000000000000000000000004A64BB006082 + F2006989F3005F7BDA00EFEFEE00747E9F00747E9F00737D9F00F1F2F600F1F2 + F600F1F2F600E8EAEF00717A9D00717A9D00EFEFEE00EFEFEE005F7BDA005E80 + F2006989F3004A64BB0000000000000000000000000000000000000000000000 + 0000556DC0009BABE5009FB3F7007794F4006384F3005075F1002856EE00A7B7 + ED00E7E7E700D7D7D700CECECE00C4C4C400C5C5C500B5B4B4008B8A89000000 + 0000000000000000000000000000000000000000000000000000000000004E68 + BF00305CEE003B64EF003D66EF003D66EF003D66EF003D66EF003D66EF003D66 + EF003D66EF003D66EF003D66EF003D66EF003D66EF003D66EF003D66EF002F5B + EE006183F2004E68BF0000000000000000000000000000000000000000000000 + 00006989F3003D66EF00FFFFFF00989DAA00989DAA00989DAA00989DAA00989D + AA00989DAA00989DAA00989DAA00989DAA00989DAA00EBF0FD00EBF0FD006989 + F3004F68C00000000000000000000000000000000000000000004B65BC006384 + F300718FF4006580DB00F2F1F100717A9D00717A9D00717A9C00F1F2F600F1F2 + F600F1F2F600F1F2F5006F7899006F789900F2F1F100F2F1F1006580DB006485 + F3006C8BF3004B65BC0000000000000000000000000000000000000000000000 + 000091A4EB00566FC1009CADE600849EF5007794F4006384F300B7C6F400F5F5 + F500EFEFEF00E0E0E000D7D7D700CECECE00BBBBBB00C5C5C500B5B5B500B1B1 + B10000000000000000000000000000000000000000000000000000000000516A + C1004169F0005075F1005378F1005378F1005378F1005378F1005378F1005378 + F1005378F1005378F1005378F1005378F1005378F1005378F1005378F1004068 + F0006888F300516AC10000000000000000000000000000000000000000000000 + 00007391F4005277F100FFFFFF00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1 + FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE007391 + F400516BC20000000000000000000000000000000000000000004D67BE006787 + F300809BF500728BDC00F7F7F6006C7697006B7597006B759600F0F1F500F0F1 + F500F0F1F500CDD1DC006972950069729400F7F7F600F7F7F600728BDC007290 + F400718FF4004D67BE0000000000000000000000000000000000000000000000 + 0000000000000000000091A5EB009DAEE6009FB3F700CCD5F300F8F8F800FAFA + FA00F9F9F900EFEFEF00E7E7E700E0E0E000CECECE00C4C4C400BBBBBB00B6B5 + B5008B8A8900000000000000000000000000000000000000000000000000526C + C3004A70F0005A7DF2005E80F2005E80F2005E80F2005E80F2005E80F2005E80 + F2005E80F2005E80F2005E80F2005E80F2005E80F2005E80F2005E80F200496F + F0006B8AF300526CC30000000000000000000000000000000000000000000000 + 00007794F4005C7FF200FFFFFF009DA1AC009DA1AC009DA1AC009DA1AC009DA1 + AC009DA1AC009DA1AC009DA1AC009DA1AC009DA1AC00EFF3FE00EFF3FE007794 + F400526CC30000000000000000000000000000000000000000004D67BF006989 + F30086A0F5007990DC00F9F9F900697295006972940068729400CDD0DC00F0F1 + F500F0F1F5006F77980067709100666F9100F9F9F900F9F9F9007990DC007894 + F4007491F4004D67BF0000000000000000000000000000000000000000000000 + 00000000000000000000000000005972C500D0D5E900F7F7F700F7F7F700F8F8 + F800FAFAFA00F5F5F500EFEFEF00E7E7E700D7D7D700CECECE00C4C4C400C7C7 + C700A6A6A500A9A9A9000000000000000000000000000000000000000000536D + C4005075F1006485F3006989F3006989F3006989F3006989F3006989F3006989 + F3006989F3006989F3006989F3006989F3006989F3006989F3006989F3005075 + F1006E8DF300536DC40000000000000000000000000000000000000000000000 + 00007C97F4006787F300FFFFFF00F0F3FE00F0F3FE00F0F3FE00F0F3FE00F0F3 + FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE007C97 + F400536DC40000000000000000000000000000000000000000004E68C0006B8A + F3008DA5F6007F95DD00FBFAFA0067709100666F9100666F9100656E9100656E + 9100646E9000646E8F00636D8F00636D8F00FBFAFA00FBFAFA007F95DD007F9A + F5007794F4004E68C00000000000000000000000000000000000000000000000 + 0000000000000000000000000000A2B2EC00BAB9B800ECECEC00F6F6F600F7F7 + F700F8F8F800F9F9F900F5F5F500EFEFEF00E0E0E000D7D7D700CECECE00C3C3 + C300BFBFBE00908F8F000000000000000000000000000000000000000000566F + C600597CF2007290F4007D98F500809BF500809BF500809BF500809BF500809B + F500809BF500809BF500809BF500809BF500809BF500809BF5007D98F500587C + F200718FF400566FC60000000000000000000000000000000000000000000000 + 0000849EF5007C97F400FFFFFF00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5 + FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00849E + F500556FC6000000000000000000000000000000000000000000506AC100708E + F4009CB1F7008D9FDE00FDFDFD00616A8D00606A8C00606A8C005F698B005F69 + 8B005F698A005F688A005E6789005E678900FDFDFD00FDFDFD008D9FDE008BA4 + F6007C97F400506AC10000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000B7B7B700ECECEC00F7F7 + F700F6F6F600F8F8F800FAFAFA00F9F9F900EFEFEF00E7E7E700E0E0E000CECE + CE00D3D3D3009B9A990000000000000000000000000000000000000000005770 + C700567AF2006D8CF3007B97F400839EF500839EF500849EF500859FF500859F + F500859FF500859FF500849EF500849EF500839EF500819BF5007A96F4005479 + F1006F8DF3005770C70000000000000000000000000000000000000000000000 + 000088A2F600829DF500FFFFFF0058595C0074757A00F3F6FE0058595C007475 + 7A00F3F6FE0058595C0074757A00F3F6FE0058595C0074757A00F3F6FE0088A2 + F6005670C7000000000000000000000000000000000000000000516BC2007290 + F400A4B7F80093A4DE00FEFEFE00FEFEFE00FEFEFE00FEFEFE00FEFEFE00FEFE + FE00FEFEFE00FEFEFE00FEFEFE00FEFEFE00FEFEFE00FEFEFE0093A4DE0091A8 + F6007F9AF500516BC20000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BEBCBB00EDEC + EC00F7F7F700F7F7F700F8F8F800FAFAFA00F5F5F500EFEFEF00E7E7E700DADA + DA00DADAD9009C9A990000000000000000000000000000000000000000005871 + C8004A70F0005D80F2006989F3007290F4007491F4007491F4007491F4007491 + F4007491F4007491F4007491F4007491F4007290F4006F8DF3006888F300486F + F0006A8AF3005871C80000000000000000000000000000000000000000000000 + 000089A2F60086A0F500FFFFFF00A5A4A2006C6D7100F4F7FE00A5A4A2006C6D + 7100F4F7FE00A5A4A2006C6D7100F4F7FE00A5A4A2006C6D7100F4F7FE0089A2 + F6005871C8000000000000000000000000000000000000000000526CC3007491 + F400ABBDF80099A9DE00E5E5E500E5E5E500E5E5E500E5E5E500E5E5E500E5E5 + E500E5E5E500E5E5E500E5E5E500E5E5E500E5E5E500E5E5E50099A9DE0097AD + F700819BF500526CC30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B8B8B700BEBD + BC00EDECEC00F6F6F600F7F7F700F8F8F800F9F9F900F5F5F500EFEFEF00E6E6 + E600CFCFCE009F9E9E0000000000000000000000000000000000000000005B76 + D2005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005B76D20000000000000000000000000000000000000000000000 + 00007D97EE0091A7F1009AAEF200191918007F8FC200A1B4F300191918007F8F + C200A1B4F300191918007F8FC200A1B4F300191918007D8DC2009AAEF2007D97 + EE005872C9000000000000000000000000000000000000000000546EC5007491 + F400B7C7F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8F90099AF + F700819BF500546EC50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B8B8B800EBEAEA00F6F6F600F5F5F500F7F7F700F9F9F900F9F9F900CDCC + CB00A4A4A3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005872C9005872C9005872C9005F5F5F004F5E92005872C9005F5F5F004F5E + 92005872C9005F5F5F004F5E92005872C9005F5F5F004F5E92005872C9005872 + C9005B76D2000000000000000000000000000000000000000000556FC6006D8C + F300A6B9F800AFC0F900B1C1F900B2C2F900B2C2F900B2C2F900B2C2F900B2C2 + F900B2C2F900B2C2F900B2C2F900B2C2F900B2C2F900B1C1F900ADBEF800849E + F5007894F400556FC60000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000B6B4B300D7D5D500ECECEB00F6F6F600F8F8F700E6E5E500A7A6 + A600000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D2D1D0008080800000000000D2D1D0008080 + 800000000000D2D1D0008080800000000000D2D1D00080808000000000000000 + 00000000000000000000000000000000000000000000000000005670C7006382 + EA00849DEE00889FEE008AA0EE008AA0EE008AA0EE008AA0EE008AA0EE008AA0 + EE008AA0EE008AA0EE008AA0EE008AA0EE008AA0EE008AA0EE00879FEE007B94 + ED006886EB005670C70000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000B2B1B100A8A6A600BCBAB900B3B1B000A7A6A6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000808080009090900000000000808080009090 + 9000000000008080800090909000000000008080800090909000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DEDEDE006B80 + C20027335F0026335D002A386D00C3C3C300C3C3C300C4C4C400D1D1D100D5D5 + D500000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004C64B5004656 + 8A0098A5CE0098A4CD00828FB90031458A00DEE3F80000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D1D1D100CFCFCF00C9C9C900C7C7C700C5C5 + C500C5C5C500C5C5C50091A1D70029386D00C5C5C500C8C8C800D3D3D3000000 + 00000000000000000000000000000000000000000000314792009BA8D200526D + C5002647B5002041B0001B3DAE00909ECB00293D7F0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BAC6F200364A91004F63 + A5008793BC00A7B0CF00D9DFF300D9DFF400D9DFF400D9DFF400D9DFF400D9DF + F400D9DFF400D9DFF400D9DFF400D9DFF400D9DFF400D9DFF400D9DFF400DADF + F200A5AECE003A4D930000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000029396C00526297008494C8000000000000000000000000000000 + 000000000000000000000000000000000000000000002E4285008FA0DB004A66 + C6003C5AC0003655BD003151BA00697FC9002B3E7C0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000435BAE007182BB005C77 + D3007B90D7006979B200A3ADCF00C0CBEE00C0CBEE00C0CBEE00C0CBEE00C0CB + EE00C0CBEE00C0CBEE00C0CBEE00C0CBEE00C0CBEE00C0CBEE00C0CBEE00C4CE + EF00CFD7F200A3ADD00000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00008093D9005466A5004059AA008393C8000000000000000000000000000000 + 0000000000000000000000000000000000000000000030448A008296D9005D77 + D000516DCA004C68C8004764C6006079CC002D3F810000000000000000000000 + 00000000000000000000000000008196DC00293A7500293A740033478C000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002E4696001F3376001F3376001F3376001F3376001F33 + 76001F3376001F3376001F3376001F3376001F3376002E469600000000000000 + 00000000000000000000000000000000000000000000354992008699DA004868 + D200607BD8008699DA005C6CA700B7C4ED00B7C4ED00B7C4ED00B7C4ED00B7C4 + ED00B7C4ED00B7C4ED00B7C4ED00B7C4ED00B7C4ED00B7C4ED00B7C4ED00B7C4 + ED00BCC8EE00CFD6EF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004B62 + B20036457A00324DAA00032597008494CC000000000000000000000000000000 + 000000000000000000000000000000000000000000006D83D4005669A80092A4 + E300788FDC00758DDB00768DDA004B69CD0032468B0000000000000000000000 + 0000000000008398DE00505F9800A4B1DD003E5BBD003957BB005F77C7005160 + 9400647CCB000000000000000000000000008E8C8A00BBB9B700BBB9B700BBB9 + B700BBB9B700BBB9B70029429500042DB700042DB700042DB700042DB700042D + B700042DB700042DB700042DB700042DB7004F6ED70029429500BBB9B700BBB9 + B700BBB9B700BBB9B700BBB9B7008E8C8A00000000003B509D008EA3E9005D7B + E0005D7BE0008EA3E9003B509D00A7B7EE00A7B7EE00A7B7EE00A7B7EE00A7B7 + EE00A7B7EE00A7B7EE00A7B7EE00A7B7EE00A7B7EE00A7B7EE00A7B7EE00A7B7 + EE00A7B7EE00C4CEF00000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000045569000546C + BD004762BF007186CE002B4BB6008496D4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000425AAE005468 + A90097A9E50092A5E5008399E1003C5ECD003448900000000000000000000000 + 0000000000003B53A2009EABD5005B75CC003252BE002D4EBB002748B70094A2 + D000364A8D0000000000000000000000000093918F00D8D8D700D8D8D700D8D8 + D700D8D8D700D8D8D7002F4AA4001942CD001D46CE001E46CE001E46CE001E46 + CE001E46CE001E46CE001E46CE001C45CE005474E1002F4AA400D8D8D700D8D8 + D700D8D8D700D8D8D700D8D8D70093918F00000000003D54A40095A9ED006885 + E6006885E60095A9ED003D54A400A5B6F000A5B6F0001442D9001442D9001442 + D9001442D9001442D9001442D9001442D9001442D9001442D9001442D900A5B6 + F000A5B6F000C3CEF10000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003C54A300516CC7004F6B + C8007184C600344581007184C6009BABE0000000000000000000B9C6F1002E42 + 8800B9C6F1000000000000000000000000000000000000000000000000006E86 + D700384E9A00384E99004264D4004062D200374B950000000000000000000000 + 00000000000034488D0094A5DF005470CD004765C8004260C6003C5BC200788C + D0003143840000000000000000000000000098969400F5F5F400F5F5F400F5F5 + F400F5F5F400F5F5F4003652B4003D63E300476BE300486CE400486CE400486C + E400486CE400486CE400486CE400466BE3005D7DEA003652B400F5F5F400F5F5 + F400F5F5F400F5F5F400F5F5F40098969400000000004058AB009EB1F200738E + EB00738EEB009EB1F2004058AB00A9BAF300A9BAF3001443DE001443DE001443 + DE001443DE001443DE001443DE001443DE001443DE001443DE001443DE00A9BA + F300A9BAF300C7D0F30000000000000000000000000000000000000000000000 + 0000CED7F60092A4E3006179C70033488F002D3C71005568AA004161CB007287 + CC00334687004A5EA40033468700A6B2DA0000000000BAC6F2002F4489004A5E + A4002F448900BAC6F20000000000000000000000000000000000000000000000 + 0000000000003D54A400486BDF004669DC003C529F0000000000000000000000 + 0000000000003D55A5008294D3007F95E0006D86DA006882D700647FD6006982 + D60035498E0000000000000000000000000099989600A3A19F00A3A19F00A3A1 + 9F00A3A19F00A3A19F003D5DC6007994ED0088A0EF00A6B7F200B5C4F500B5C4 + F500B5C4F500B3C2F400A2B4F200859EEF006382EB003D5DC600A3A19F00A3A1 + 9F00A3A19F00A3A19F00A3A19F0099989600000000004660B700B2C2F80094AB + F60094ABF600B2C2F8004660B700B0C0F800B0C0F80088A1F50088A1F50088A1 + F50088A1F500B0C0F80088A1F50088A1F50088A1F50088A1F50088A1F500B0C0 + F800B0C0F800CBD5F70000000000000000000000000000000000536BBE004C5F + 9F004A66C5003857C0002447BA007288D200344889004F6FDB004258A4004F67 + B9004A6BD800123DCC004A6BD8004F67B9003950A1004F67B9004A6BD800123D + CC004A6BD8004F67B90000000000000000000000000000000000000000000000 + 0000000000004058A9004B6EE3004A6DE1003E55A50000000000000000000000 + 0000000000006F85D7005A6DB00094A7E6008197E2007E95E0007E95E0005673 + D400384C93000000000000000000000000000000000000000000000000000000 + 000000000000000000004C6BD2003F5EC8003F5EC8003F5EC8003F5EC8003F5E + C8003F5EC8003F5EC8003F5EC8003F5EC8003F5EC8004C6BD200000000000000 + 000000000000000000000000000000000000000000004962B900BFCDFA00ACBD + F800ACBDF800BFCDFA004962B900B4C4F900B4C4F9001647EC001647EC001647 + EC001647EC00B4C4F9001647EC001647EC001647EC001647EC001647EC00B4C4 + F900B4C4F900CED8F800000000000000000000000000000000003A4F96005A74 + C900042FC000042FC000042FC000728ADB003A4F96005273E200485FAF00536E + C4004B6EE3000535D8001240DA004B6EE300536DC4004B6EE3001240DA001240 + DA004B6EE300536EC40000000000000000000000000000000000000000000000 + 000000000000435CAF004F72E8004D70E5004159AA0000000000000000000000 + 00000000000000000000465FB500586CB2009BADE80097A9E8008BA0E5004969 + D5003A5099000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003C59BC00708CEB006683E6005374 + E1004F70DE005070DA004F6ED700314A9A000000000000000000000000000000 + 000000000000000000000000000000000000000000004A63BB00CAD5FB00BFCD + FA00BECCFA00CAD5FB004A63BB00B7C7F900B7C7F9001849EC001849EC001849 + EC001849EC00B7C7F9001849EC001849EC001849EC001849EC001849EC00B7C7 + F900B7C7F900D0D9F800000000000000000000000000000000004056A3005071 + DE000433CF000433CF000433CF00728DE4004056A3005779E9007F96E3004962 + B7005772CF001344E7000539E6001344E700476DED001344E7000539E6004C71 + ED005772CF00455EB70000000000000000000000000000000000000000000000 + 0000000000004862B9005579F0005578EE00465FB50000000000000000000000 + 000000000000000000000000000000000000BFCDF8004159A7005474E1005272 + DF004056A3000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000425FC3007893EE004C6EDE00355A + D6001C45CE00042FC0004F6FD900354DA0000000000000000000000000000000 + 000000000000000000000000000000000000000000004C66BD00D6DEF900DCE3 + F900DBE2F900D6DEF9004C66BD00C3D0FA00C5D1FA00305CEE00305CEE00305C + EE00305CEE00C5D1FA00305CEE00305CEE00305CEE00305CEE00305CEE00C5D1 + FA00C3D0FA00D6DEF900000000000000000000000000000000004A64BB006384 + F3004C72F1004C72F1004C72F10088A1F5004A64BB005E80F2003862EF005D80 + F2008CA2EC005E78D5005378F1001748EC001748EC001748EC005378F1004A64 + BE00BFCCF5000000000000000000000000000000000000000000000000000000 + 0000000000004963BB00597CF200597CF2004963BA0000000000000000000000 + 00000000000000000000000000000000000000000000445CAD005878E5005676 + E3004259A9000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004360C5006C88E700738DE4006E88 + E2006781DE005A77D9005976D6003750A3000000000000000000000000000000 + 00000000000000000000000000000000000000000000536ECA004D67BE004D67 + BE004D67BE004D67BE004D67BE00C9D5FB00CBD6FB003E67F0003E67F0003E67 + F0003E67F000CBD6FB003E67F0003E67F0003E67F0003E67F0003E67F000CBD6 + FB00C9D5FB00D9E0F900000000000000000000000000000000004B65BD006F8D + F3006F8DF3006F8DF3006F8DF30095ACF7004B65BD006283F200466DF0006888 + F30092A7EC006780D7006787F300315DEF00315DEF00315DEF006686F3004C66 + C000BFCDF6000000000000000000000000000000000000000000000000000000 + 0000000000004A64BC005D80F2005C7FF2004A64BC0000000000000000000000 + 000000000000000000000000000000000000000000004760B3005D7DEA005B7B + E800455DAF000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004F6DD3004360C500405DBC003F5A + B8003E58B4003B54AC003952A900435EB7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004F68BF00CFD9FB00D2DBFB004B71F1004B71F1004B71 + F1004B71F100D2DBFB00B1C1F900B1C1F900B1C1F900B1C1F900B1C1F900D2DB + FB00CFD9FB00DCE3F900000000000000000000000000000000004C66BE007995 + F40090A8F60090A8F60090A8F600A0B4F7004C66BE006586F3007391F40097AB + ED00536CC3007C97F400567AF2004C72F1004C72F1004C72F100567AF2006D85 + D9004E68C100BFCDF60000000000000000000000000000000000000000000000 + 0000000000004D67BE006485F3006485F3004D67BE0000000000000000000000 + 000000000000000000000000000000000000000000004C66BD006787F2006484 + F0004A63B9000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000516BC200D9E1FC00DDE4FC006586F3006586F3006586 + F3006586F300DDE4FC006586F3006586F3006586F3006586F3006586F300DDE4 + FC00D9E1FC00E3E8FB00000000000000000000000000000000004E68C00089A0 + EC00AFC0F900B9C8F900B8C7F900ACBDF8004E68C0006C8BF3005E77CA006D86 + DA009CB1F700819BF50087A1F5009EB3F7007D93DE009DB2F70087A1F50088A2 + F60099AFF7006C85DA0000000000000000000000000000000000000000000000 + 0000000000004E68BF006888F3006E8DF3005B73C4004E68C100839AE700BFCD + F60000000000000000000000000000000000000000004E68BF006B8AF3006989 + F3004D67BE000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000526CC300DEE5FC00E1E7FD00E2E8FD00E2E8FD00E2E8 + FD00E2E8FD00E2E8FD00E2E8FD00E2E8FD00E2E8FD00E2E8FD00E2E8FD00E1E7 + FD00DDE4FC00E4EAFB00000000000000000000000000000000006681DA00768C + D400B5C5F900B9C8F900B4C4F900A7B9F8004F69C100718FF4006179CC007189 + DC00ACBDF800A1B5F700AFC0F9008397DF00536EC7008297DF00AEBFF800A1B5 + F700AABCF8006F89DC0000000000000000000000000000000000000000000000 + 0000000000004F69C0006B8AF300849EF500B9C7F700A8B8ED00768AD1005C74 + C500536CC0007991E300AEBEF30000000000000000004F69C0006F8DF3006D8C + F3004F69C0000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000546DC400E2E8FD00E6EBFD00CDD8FB00CDD8FB00CDD8 + FB00CDD8FB00CDD8FB00CDD8FB00CDD8FB00CDD8FB00CDD8FB00CDD8FB00E6EB + FD00E2E8FD00E6EBFB0000000000000000000000000000000000000000006881 + DB00657BC9007388D2008196DB008EA5F000506AC2008FA7F600ADBCF0005D76 + CA00879CE000B4C4F900879CE0005D76CA00C1CDF600556FC800869ADF00B3C3 + F900879BE000556FC80000000000000000000000000000000000000000000000 + 000000000000516BC2007290F400829CF500819BF500809BF5007E99F50089A2 + F6009BB0F700B4C4F900B7C7F900AEBEF200788ED600647BC8007C97F4007693 + F400516BC2000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000566FC600E7ECFD00EBF0FD0096ACF70098AEF70098AE + F70098AEF70098AEF70098AEF70098AEF70098AEF70098AEF70098AEF700EBF0 + FD00E7ECFD00EBEFFD0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005871CF00A8B9F600AABC + F800B6C3F100677FCE00AEBEF000B3C3F9000000000000000000C1CDF6005874 + CF00C1CDF6000000000000000000000000000000000000000000000000000000 + 000000000000526CC3007391F40087A1F50086A0F500859FF500839EF500829D + F500829CF5007F9AF50086A0F50099AFF700B9C8F900C2CFFA008CA5F6007A96 + F400526CC3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005771C800E9EEFD00EDF1FE0095ACF7009EB3F7009FB3 + F7009FB3F700A0B4F700A0B4F7009FB3F7009FB3F7009EB3F7009BB0F700EDF1 + FE00E9EEFD00EDF1FD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000758BD200ACBC + F500A9BBF800C9D5FB0096ACF700A1B5F7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000536DC4006384F30093AAF6008FA7F6008BA4F60089A2F60088A2 + F60087A1F500849EF500839EF500829DF500819BF50087A1F500839EF5007F9A + F500536DC4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005872C900EAEFFD00ECF0FE00EEF2FE00EFF3FE00EFF3 + FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE00EFF3FE00EFF3FE00EFF3FE00ECF0 + FE00EAEFFD00EFF2FD0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006883DC00768B + D300A7B9F400849EF5007592F4009EB3F7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000009FB1F0005D77CF005771C700637CCF007993E90086A0 + F40095ACF70097ADF70092A9F6008FA7F6008DA5F6008BA4F6008AA3F60086A0 + F500556FC6000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000009E9C9A009997 + 9500959391008B89870000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005B76D2005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C90000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000093A7ED009DAFEE0086A0F50094ABF6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D3DBF90093A7ED005874CD005C75 + C900647ED300879EEB008EA6F60099AFF70099AFF70094ABF60090A8F6008AA3 + F6005670C7000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005D76CA0096A8E7008DA5F6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000CED8 + F800859CE9005771C9006179CC006680D60092A8F00097ADF7009EB3F70089A2 + F6005771C8000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000C1CDF6005B74CB008FA2E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000AFBFF3007C93E4005771 + C8005771C9000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000DDDDDD00C9C9C900C7C7C700C2C2C2008FA0D5003A4A + 7A003A4A7A00C0C0C000C1C1C100C7C7C700D5D5D500DCDCDC00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C7C7C700C0C0C0006679B80027325B0027325B0027325B0027325B002732 + 5B0027325B0027325B0027325B0027325B0027325B00273462007385C800C7C7 + C700D6D6D6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000003A4B82004B5B + 94004B5A9300B2BFEE0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002A3A750003279E0003279E0003279E0003279E000327 + 9E0003279E0003279E0003279E0003279E0003279E00435DB6003F58B0000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D4D4D400C5C5C50030428100273567002735670027356700273567002735 + 670027356700273567002735670027356700273567002F428100D1D1D1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000B8C6F2003D4E8E003F59B2000F30 + 9F000F309F004B5E9F003D4E8E00B8C6F2000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002D3D7A00092DA5006077C400768ACC00092DA5006077 + C40096A6D800092DA5006077C4008A9BD4000328A300435EBA004059B1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002D4188008895C1008895C1008895C1008895C1008895 + C1008895C1008895C1008895C1008795C1006474A9002D438D00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000B9C8F2003D5091004C5FA1000F31A3000327 + 9F0003279F003F5AB6004C5FA1003D5091000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002E407F00092EAA008C9DD700B5C0E600092EAA008C9D + D700C5CEEB00092EAA008C9DD700BDC7E800042AA900425EBD00415AB2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BAC6F200283C8200283C8200283C8200283C8200283C + 8200283C8200283C8200283C8200283C82002E479500BAC6F200000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000DEDEDE00DEDEDE00CECECE00CECECE00C7C7C700C0C0C000C0C0 + C000C0C0C000C0C0C000C0C0C00092A2D700394B8A0093A2D800C0C0C000DEDE + DE00000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000003F5193004C61A500435EBB000328A3000328 + A3000328A3000F32A800435EBB004C61A500BBC8F20000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000334688000A31B5006E85D30091A2DD000A31B500607A + CF0098A8E0000A31B500607ACF0091A2DD00042CB4004361C700435CB4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000002B408A00283C7E00283C7E00283C + 7E00283C7E00283C7E00283C7E002B408A000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000007F92D8003E4C7E0093A5E4000000 + 000000000000BDC9F300374E9D004F68BC004A6FE800657ECF00455FBB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004153940041539400415394001338B100042A + AB00042AAB004360C1004153940041539400465CA90000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000035498E000A33BB0091A3E000B5C1EA000A33BB008C9F + DF00BDC8ED000A33BB008C9FDF00CDD5F100042EB9004362CA00445DB5000000 + 0000000000000000000000000000000000003A53A7002D438E002D438E002D43 + 8E002D438E002D438E002D438E002D438E002D438E002D438E002D438E002D43 + 8E002D438E002D438E002D438E002D438E002D438E002D438E002D438E002D43 + 8E002D438E002D438E002D438E003A53A7000000000000000000000000000000 + 0000000000000000000000000000000000002E4185005467A7005068BB000000 + 0000000000003950A000506ABE004A6EE5006C8BF1007389D4004661BC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000425596001439B500042B + B000042BB0004361C40042559600000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000384B9300042FBF00042FBF00042FBF00042FBF00042F + BF00042FBF00042FBF00042FBF00042FBF00042FBF004363CF00455EB6000000 + 0000000000000000000000000000000000002F44910094A7E90099ABEA009BAD + EA009BADEA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA009CAE + EA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA009BAD + EA009AACEA0099ABEA008CA1E7002F4491000000000000000000000000000000 + 00000000000000000000000000008296DB0043528900516BBE00384C95000000 + 0000BDC9F400516BC1004A6EE600204EE800738AD500435DB600BECCF5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004D64B7004F65B20000000000000000000000000043569900143ABA00042D + B500042DB5004361C700435699000000000000000000000000004960AF00BAC9 + F300000000000000000000000000000000000000000000000000000000000000 + 000000000000000000003C529D000A36CA008CA1E600B5C3EF000A36CA008CA1 + E600B8C5EF000A36CA008CA1E600C1CCF2000432CA004365D7004760B8000000 + 00000000000000000000000000000000000032499900617EE100708AE400718B + E400718BE400718BE400718BE400718BE400718BE400718BE400718BE400718B + E400718BE400718BE400718BE400718BE400718BE400718BE400718BE400718B + E400718BE400708AE4009CAEEC00324999000000000000000000000000000000 + 0000000000000000000000000000475994004D69C7000932BD00556DBD003E54 + A400556EC700204FEB006C8BF300758BD700BFCCF50000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004B62 + B5004665CC004559A0000000000000000000000000004559A0001C42C3000D36 + BF000D36BF004766CF004559A0000000000000000000000000004559A0005067 + B700445AA300BCCAF40000000000000000000000000000000000000000000000 + 000000000000000000003F55A2000735D0000735D0000735D0000735D0000735 + D0000735D0000735D0000735D0000735D0000735D0004467DB004862B9000000 + 000000000000000000000000000000000000334B9D005D7BE1006683E3006683 + E3006683E3006683E3006683E3006683E3006683E3006683E3006683E3006683 + E3006683E3006683E3006683E3006683E3006683E3006683E3006683E3006683 + E3006683E3006683E3009BAEED00334B9D000000000000000000000000000000 + 0000000000000000000000000000566AB2003356CB000431C6005D78D7005570 + C9004C71ED006C8BF300758CD7004761BA000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004C63B6005B70 + B6004969D300465AA300465AA300465AA300465AA300465AA300284DCA001A42 + C7001A42C7004D6CD300465AA300465AA300465AA300465AA300465AA3004666 + D200536ABB00445CA70000000000000000000000000000000000000000000000 + 000000000000000000004259A800103ED700A0B2EF00A0B2EF00103ED700A0B2 + EF00A0B2EF00103ED700A0B2EF00A0B2EF00103ED700486BE0004963BA000000 + 000000000000000000000000000000000000354DA1005474E1005B7AE1005B7A + E1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7A + E1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7A + E1005B7AE1005B7AE10099ACEE00354DA1000000000000000000000000000000 + 00000000000000000000A8B7ED005470CF000E3ACC000434D1004268E800476D + ED002050ED00778CD8004862BC00BFCCF5000000000000000000000000000000 + 000000000000000000000000000000000000000000004D65B8005E72BA00516F + D5005472D8005C77D1005974D1005974D1005A74D1005C77D1002A50CF00274D + CD00274DCD005876D9005D78D1005A74D1005974D1005974D1005B75D100284E + CE004D6DD700556DBE00BDC9F400000000000000000000000000000000000000 + 000000000000000000004760B3005B668B008895BE008996BF008B98C1008C99 + C2008D9AC3008F9CC500909DC600919EC7008B9ACB005073E9004B65BC000000 + 0000000000000000000000000000000000003952A9004065E000466AE100466A + E100466AE100466AE100466AE100466AE100466AE100466AE100466AE100466A + E100466AE100466AE100466AE100466AE100466AE100466AE100466AE100466A + E100466AE100466AE10093A8EE003952A9000000000000000000000000000000 + 000000000000AAB9EF004D61A5000D3CD7000537DE000539E600053AEB000C3F + EC005579F1006B85D8005F76C6004B65BE009DB0EE0000000000000000000000 + 0000000000000000000000000000000000004B63B7005574DC003A5FD9003C61 + D9004064DB003F63DB003F63DB003F63DB003F63DB003F63DB004064DB004064 + DB004064DB004064DB004064DB003F63DB003F63DB003F63DB003F63DB003F63 + DB003B60D900395ED900556FC3004B63B7000000000000000000000000000000 + 000000000000000000004A62B70039456E0054659F005566A0005869A300596A + A4005B6CA6005D6EA8005F70AA006071AB00919DC6005477ED004C66BD000000 + 0000000000000000000000000000000000003B55AC00385FE0003C62E1003C62 + E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62 + E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62 + E1003C62E1003C62E10091A7EF003B55AC000000000000000000000000000000 + 0000000000005E77CC005971C5000537E1000539E800053AEB001244EC002654 + EE003B64EF007B97F40086A0F500839BEB006A80CB00526DCA00000000000000 + 0000000000000000000000000000000000004D65BA005777E2004266DE00486B + DF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6E + DF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6E + DF00486BDF004266DE005770C7004D65BA000000000000000000000000000000 + 000000000000000000004C66BD0036426A0051629B0052639C0054659E005667 + A0005768A1005A6BA4005B6CA5005C6DA6008E9AC200597CF1004D67BE000000 + 0000000000000000000000000000000000003C56AE002E56DE003259DE003259 + DE003259DE003259DE003259DE003259DE003259DE003259DE003259DE003259 + DE003259DE003259DE003259DE003259DE003259DE003259DE003259DE003259 + DE003259DE003259DE008EA4EE003C56AE000000000000000000000000000000 + 0000D1DAF8004D62AE005B79DF00053AEA00053AEB00093DEB002E5AEE00426A + F000567AF200809BF50093AAF600AEBFF8007287CE00546ECB00000000000000 + 000000000000000000000000000000000000BFCBF5005C76CB006381E7005274 + E3005778E5005475E4005274E3005274E3005374E3005677E5005979E5005979 + E5005979E5005979E5005677E4005374E3005274E3005274E3005475E4005576 + E4005374E3006381E7004A63B600BFCBF5000000000000000000000000000000 + 000000000000000000004F69C000333E63004A5A8F004B5B90004E5E93005060 + 9500516196005464990055659A0056669B008A95BB006283F2004F69C0000000 + 0000000000000000000000000000000000003D57AF001C47D8001E49D8001E49 + D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49 + D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49 + D8001E49D8001E49D80089A0EB003D57AF000000000000000000000000000000 + 0000546BBC005C7CE8001849EC001446EC002856EE003D66EF006D8CF3009BB0 + F700BDCBF9007487CE00536EC90091A5EB000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCCF5004D66BC005C77 + D0005F7FEC004C65B8004C65B8004C65B8004C65B8004C65B8007792EE00738F + EE00738FEE007994EF004C65B8004C65B8004C65B8004C65B8004C65B8005E7F + EC005C77D0004D66BC0000000000000000000000000000000000000000000000 + 00000000000000000000506AC100313C5F004857890049588A004C5B8D004D5C + 8E004F5E90005160920053629400546395008994B7006686F300506AC1000000 + 0000000000000000000000000000000000003E58B0001340D5001441D5001441 + D5001441D5001441D5001441D5001441D5001441D5001441D5001441D5001441 + D5001441D5001441D5001441D5001441D5001441D5001441D5001441D5001441 + D5001441D5001441D500869DE9003E58B0000000000000000000000000000000 + 0000647DD4003D66EF000A3EEB002F5BEE00446BF0006888F300BAC8F800A2B1 + E6006E83CD009FB1EF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCCF5004D66 + BF004F74ED004D66BB000000000000000000000000004D66BB007F9AF1007E99 + F1007E99F1007893F0004D66BB000000000000000000000000004D66BB005A76 + D2004D66BF00BFCCF50000000000000000000000000000000000000000000000 + 00000000000000000000516BC2002F395A004554840046558500485787004A59 + 89004B5A8A004E5D8D004F5E8E00516090008690B2006A8AF300516BC2000000 + 0000000000000000000000000000000000003F59B1000B39D3000B39D2000B39 + D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39 + D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39 + D2000B39D2000B39D200839AE8003F59B1000000000000000000000000000000 + 00006280E8002654EE002251ED005C7FF20094ABF600B7C6F6006E84CE005C77 + D400AEBEF3000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000BFCD + F6005673D5004E68BF000000000000000000000000004E68BF0089A2F5008BA4 + F5008BA4F5007C97F4004E68BF000000000000000000000000004E68BF004E68 + C100BFCDF6000000000000000000000000000000000000000000000000000000 + 00000000000000000000546DC4002B3452003F4C7700414E790043507B004451 + 7C0046537E00485580004A5782004B588300838CAB007391F400546DC4000000 + 000000000000000000000000000000000000415BB2000433CE000433CE000433 + CE000433CE000433CE000433CE000433CE000433CE000433CE000433CE000433 + CE000433CE000433CE000433CE000433CE000433CE000433CE000433CE000433 + CE000433CE000433CE008299E600415BB2000000000000000000000000005972 + CA006183F2008FA7F600AABAF100637BCC006B84DD00D3DBF900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000506AC1009FB3F700A4B7 + F800A4B7F80086A0F500506AC100000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000556EC50029314E003C4870003E4A7200404C7400424E + 7600434F770046527A0047537B0049557D008189A6007794F400556EC5000000 + 000000000000000000000000000000000000415BB3000432CB000432CB000432 + CB000432CB000432CB000432CB000432CB000432CB000432CB000432CB000432 + CB000432CB000432CB000432CB000432CB000432CB000432CB000432CB000432 + CB000432CB000432CB008198E400415BB30000000000000000007C93E6007A8F + D700A2B4EF008699DA005C75CC00D3DBF9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000516BC200516BC200516BC200ADBEF800B1C1 + F900B1C1F90091A8F600516BC200516BC2005973CE0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000566FC600272F49003B466C003B466C003E496F003F4A + 7000414C7200434E740045507600465177007E86A1007B97F400566FC6000000 + 000000000000000000000000000000000000425CB4000432C9000432C9000432 + C9000432C9000432C9000432C9000432C9000432C9000432C9000432C9000432 + C9000432C9000432C9000432C9000432C9000432C9000432C9000432C9000432 + C9000432C9000432C9008198E300425CB40000000000000000005872CA009BAC + E7005C75CC007C93E60000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000627CD2005F7FEA00748FEC00B7C7F900BDCB + FA00BDCBFA00A7B9F8007E98ED006080EA00546FCA0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005871C800242B4400343D5C0038426200384262003943 + 63003B4565003D4767003F496900404A6A00787F99007E99F5005871C8000000 + 000000000000000000000000000000000000445EB5000430C4000430C4000430 + C4000430C4000430C4000430C4000430C4000430C4000430C4000430C4000430 + C4000430C4000430C4000430C4000430C4000430C4000430C4000430C4000430 + C4000430C4000430C4008197E200445EB5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000BFCDF600536DC6006781DA00AEBFF800C2CF + FA00C3D0FA0094ABF6006E87DB00536DC6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005872C90027304F00262D4400282E4400292F4500292F + 4500292F4500292F4500292F4500292F4500515870007794F4005872C9000000 + 000000000000000000000000000000000000445EB500889BDB00889BDB00889B + DB00889BDB00889BDB00889BDB00889BDB00889BDB00889BDB00889BDB00889B + DB00889BDB00889BDB00889BDB00889BDB00889BDB00889BDB00889BDB00889B + DB00889BDB00889BDB00889BDB00445EB5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000BFCDF600536EC70094ABF6009FB3 + F700A0B4F700718ADD00536EC700BFCDF6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005872CA00879FF0008FA6F00093A9F20095AAF20095AA + F20095AAF20095AAF20094AAF20092A8F200849DF0007A93E7005872CA000000 + 0000000000000000000000000000000000004C67C400445EB500445EB500445E + B500445EB500445EB500445EB500445EB500445EB500445EB500445EB500445E + B500445EB500445EB500445EB500445EB500445EB500445EB500445EB500445E + B500445EB500445EB500445EB5004C67C4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000C1CDF6006F88DC00829C + F500829CF500556FC700C1CDF600000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000C1CDF6005874 + CF005874CF000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000D3D3D300C0C0 + C0004153940034458000344580009FADDD00C0C0C000C0C0C000C0C0C000C0C0 + C000C0C0C000C0C0C000CBCBCB00CECECE00CECECE00DADADA00DEDEDE00DEDE + DE00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000B8C5 + F1002338820014309000143090002F407C00A8B8E80000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BECCF4003D56AA003A57 + BC008CA2EB008695CC008695CC002650DD003A57BC003D56AA00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000DCDCDC00C4C4C400C1C1 + C1003E5194003E5194003E5194003E5194003E5194003E5194003E5194003D50 + 92003B4D8B003647800034447C00324177002C3B6C002A38670029366200B1BC + E500C4C4C400DDDDDD00000000000000000000000000D3D3D3005F5D5E005E5C + 5C0037363800B9B9B90000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000435BB5004967CD003761 + EE008A9AD4004964C1004964C10095ABF5003761EE004967CD00BECCF5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000637A + CC0091A4E50095A9EC0095A9ED0091A6ED008EA4ED008BA2ED00849CEB008199 + E9007E96E400788FDB00758CD7007187D1006A7FC500687CC0006F7FB700455A + A30000000000000000000000000000000000000000007B7979008D8B8A007D7B + 7A006462620039383900CFCFCF00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000536DC9004068F00097AC + F5004A65C20000000000000000008E9DD6009EB2F600476EF000455DB700BECC + F500000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000405A + B4008CA5F60089A2F60089A2F6007C97F4007391F4006989F300567AF2004C71 + ED004469E6003157D600274DCD001D43C3000A2FAE000328A3003652AF002636 + 6A000000000000000000000000000000000000000000858383009E9B9A00A19F + 9E00676564006462620039383900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A5B6EF006283F200697F + CC00000000000000000000000000000000004C67C30095A4D9006888F3006E86 + D8004861BA000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000435D + B500A3B6F800ACBDF800A2B6F8008DA5F600829DF5007894F4006283F2005679 + EE004B6FE700365BD7002C51CE002146C4000B30AE000328A30003269B002838 + 6D00000000000000000000000000000000000000000000000000D3D3D3008583 + 8200A19F9E007D7B7A006765640039383900CFCFCF0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000687AB8007084C600566E + BC00566EBC00566EBC00566EBC00566EBC00566EBC00566EBC00566EBC00566E + BC00566EBC00566EBC00566EBC00566EBC00566EBC00566EBC00566EBC00566E + BC00566EBC007084C6002333670000000000000000009AAADC00A6B9F8007591 + F1004D67C4000000000000000000000000009BAFEC004159B200B2C2F8007391 + F4006F85D0000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000455F + B700A8BAF800ADBEF800A2B6F8008DA5F600829DF5007894F4006283F2000000 + 0000829BEF00365BD7002C51CE002146C4000B30AE000328A30003269B002A39 + 6D0000000000000000000000000000000000000000000000000000000000D3D3 + D3009E9B9A00A19F9E007D7B7A006462620039383900CFCFCF00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004259A600344FA700405C + BB001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3F + AF001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3F + AF003956B900344FA70027366E0000000000000000004F67BD00B9C4EA00B1C1 + F9006F85CF004E69C50000000000465EB6006177C1005266B10095A3D300839E + F50099ACEC000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004761 + B800A9BBF800ADBEF800A2B6F8008DA5F600829DF5007894F4006283F2000000 + 0000829BEF00365BD7002C51CE002146C4000B30AE000328A30003269B002A3A + 6F00000000000000000000000000000000000000000000000000000000000000 + 0000858382009E9B9A00A19F9E00676564006462620039383900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000425CB300032491003550 + AB001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2001C3F + B2001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2003251 + BA003550AB000324910029397200000000000000000000000000BFCCF5005169 + BF00C5D1FA00A5B7F6007D91D3007A8DCB00A5B8F7006485F3005872C5004357 + 9F008796CD000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004B65 + BC00A9BBF800ADBEF800A2B6F8008DA5F600829DF5007894F40013192E000000 + 0000171C2C00365BD7002C51CE002146C4000B30AE000328A30003269B002D3D + 7100000000000000000000000000000000000000000000000000000000000000 + 000000000000D3D3D30085838200A19F9E007D7B7A006765640039383900CFCF + CF00000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000435EBB000429A5000429 + A500324FB0002C4DBC00163BB500163BB500163BB500163BB500163BB5001235 + A8001235A800163BB500163BB500163BB500163BB500163BB5002C4DBC000327 + 9E000429A5000429A5002E3F7D0000000000000000000000000000000000BFCC + F500C4CCEC00C8D4FB00A9BBF700425DB90097A7DD00A4B7F8005E80F1005A73 + C7003B519C000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004D67 + BE00A8BAF800ADBEF800A2B6F8008DA5F600829DF5007894F4001F1F1F000C0C + 0C001F1F1F00365BD7002C51CE002146C4000B30AE000328A30003269B002F3E + 7200000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000D3D3D3009E9B9A00A19F9E007D7B7A00646262003938 + 3900CFCFCF000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000425FBF00042AAA00042A + AA000328A400304EB200294CBE001338B7001338B7001338B7001136AF000E2F + 9E000E2F9E001338B7001338B7001338B7001338B700294CBE00304EB200042A + AA00042AAA00042AAA0030428200000000000000000000000000000000000000 + 0000536BC100C4CCEC00C8D4FB008E9ED8004F67BA0098A7DE006485F3005E80 + F1005B74C800BCC8F30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004F69 + C000A5B8F800ACBDF800A2B6F8008DA5F600829DF5007894F4003C4257003333 + 330041465600365BD7002C51CE002146C4000B30AE000328A30003269B002F3F + 7400000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000858382009E9B9A00A19F9E00676564006462 + 6200393839000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004361C400052CB000062D + B100062DB100052BAC00304FB6001138B9001138B9001138B9000F31A3008598 + D8008598D8000E33B1001138B9001138B900264AC0002F4EB600042AAB00042B + B000042BB000042BB00033468700000000000000000000000000000000000000 + 000000000000BFCCF500556DC300D5DCF600D5DCF6008E9DD6009AA9E000A4B7 + F8006485F3005D76CA0040549E002D44910019379D002D438F00374B90000000 + 000000000000000000000000000000000000000000000000000000000000536D + C60090A8F6009AAFF7009DB2F7008FA7F60086A0F5007E99F5006C8BF3006383 + F000597AE9004769DA003E60D2003457C9002244B6001C3DAC003652AF003141 + 7600000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D3D3D30085838200A19F9E007D7B + 7A005A585700373A4600354A9200425BB3000000000000000000A6B6EC002C3F + 820000000000000000000000000000000000000000004967CD001A40C0002045 + C2002247C3002146C3002146C3003F5DC300284CC3001A3DB1007791E5004C6D + DC004B6CDB008C9EDD00183BAF003052C4001C41BF001D43C2001C42C2001C42 + C200193FC000133ABF00384C9200000000000000000000000000000000000000 + 00000000000000000000D2DBF8005873CE005873CE00657FD9004E68C1009AAA + E200A4B7F8005E80F1005E77CB003E55A3006A84D8000D37C2002846AA00BDC9 + F40000000000000000000000000000000000000000000000000000000000718A + E1008CA3EE0093A8F00096ABF00093A8F00091A7F1008FA5F00089A1EF00879F + ED00849BE8007E94DF007B91DA00788DD4007286C9007083C5007283BE004F66 + B400000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D3D3D3009E9B9A008D8C + 8A00646262009E9D9D0034343C0052629D00899DE3006B82D2003B4D8D003A49 + 8000CED7F600000000000000000000000000000000004C6BD200254AC8002D52 + CA002F53CB002F53CB002F53CB00294DC5003B57B70091A3E0005878E1005777 + E0005777E0007993E70091A3E0003855B6002B50CA002B50CA002B50CA002A4F + CA00264BC9001C43C6003A509700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF600506A + C3009BABE2006485F3005E80F1005F78CC008C9CD100839BE9001543DA00475F + B300BFCCF5000000000000000000000000000000000000000000000000000000 + 00005771C800888C9C0094939200888C9C005771C8005771C8005771C800556E + C400516ABD004B62AE00485EA7006D717D006C6B6B005E616D003A4A83000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000858382008885 + 8500BBBAB900BBB9B7009E9D9D0032343D00485CA6004A5EA500556FC5004354 + 8E00A5B6EB00000000000000000000000000000000004E6DD6002F54CF003B5E + D2003F61D3003F61D3003E61D300274ABC0096A7E200849CEA006482E5006381 + E5006381E5006381E500839BEA0095A7E2003457CD003A5DD200395CD200395C + D2003257D000254CCD003D529D00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000006F89 + DF00516DCC009EADE400A4B7F8006485F3006C80C5004E67BF0093A3DD003761 + EF005270D600516AC30000000000000000000000000000000000000000000000 + 00000000000080808000C6C6C600808080000000000000000000000000000000 + 0000000000000000000000000000808080004646460080808000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C3CE + F20083838700F0F0F000CCCBCA00BBB9B70032343D002347BF000534D400556C + B6003B4D8F004057A8000000000000000000000000005575E0004669DD005877 + E0005D7BE1005373DE003759CA0098ACF0007B95EC007B95EC007B95EC007B95 + EC007B95EC007A95EC007A95EC007A95EC009EAEE7003457C9004E6FDD005777 + E0004B6DDD00375CDA00435AA700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005B75 + D2006B87E6005A72C800A0AFE500AEBFF8007F93D7009FB1EF005671CD009FB3 + F600496FF0005E7AD900BFCDF600000000000000000000000000000000000000 + 00000000000080808000CBCBCB00808080000000000000000000000000000000 + 0000000000000000000000000000808080004C4C4C0080808000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004660 + B9006A7CBD00CFCECE00F0F0F000CCCBCA009E9D9D002B3049000537DE004668 + D7005772CC00576CB300475EAE0000000000000000005878E4005072E2006683 + E6006885E5004162CF00A3B3E900879FEF00879FEF00879FEF00879FEF00869E + EF00869EEF00869EEF00859EEF00869FF0009EB1F200A1B1E8003E5FCE006683 + E6005979E4003F64DF00465DAE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005B76 + D3009AACED006C85D8005770C7008598D9005872CA0000000000000000009AA8 + DF00A8BAF700597CF200526BC400000000000000000000000000000000000000 + 00000000000080808000D0D0D0007F7F7F000000000000000000000000000000 + 0000000000000000000000000000888888005050500080808000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004E69 + C6006A80CE0088888B00CFCECE00F0F0F00093919000383D55000539E8000534 + D4002F54D3005470CE005D74C60000000000000000005A7BE800597AE700728D + EA004D6DD700A4B4EA00ACBDF60093A9F20093A9F20093A9F20092A8F20092A8 + F20092A8F20091A7F20091A7F20091A7F20091A7F2009DB1F300A3B3EB00718D + EA006482E800476CE5004961B300000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005972C800A9BBF8007995F2007389D6000000000000000000000000000000 + 00005872CF009AAAE3008FA4EB005C77D4000000000000000000000000000000 + 00000000000080808000D4D4D40082828200C6C6C60000000000000000000000 + 00000000000000000000C6C6C600969696006060600086868600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008FA1E00099AAE300848692004A6AD700305CEE001E4EED004B70 + EE005E77CB004A63BB000000000000000000000000005C7EEE006383F0005273 + E000B4C4F800ADBEF700ACBDF700ACBDF700ACBDF700ABBCF700ABBCF700ABBC + F700ABBCF700AABCF700AABCF700AABCF700A9BBF700A9BBF700A9BBF700A9B9 + EE00486BDF004D72ED004F68BE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C1CDF600BDC8EE00B4C4F90089A2F4005973CF0000000000000000000000 + 00005973CF00899DDE00B1C0F1005D78D5000000000000000000000000000000 + 00000000000090909000C0C0C0008B8B8B008A8A8A0000000000000000000000 + 000000000000000000008A8A8A00B1B1B1006A6A6A0096969600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000A1B1EB009AAFF7007995F4005479F100436BF000305CEE003B64 + EF00617CD8004F69C4000000000000000000000000005C7FF200466BE500A6B6 + EF00ADBEF800AFC0F900B0C0F900B0C0F900B0C0F900B0C0F900B0C0F900AFC0 + F900AFC0F900AFC0F900AFC0F900AEBFF800ADBEF800ADBEF800ABBDF800AABC + F800A0B2ED003A61E400526CC300000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005D74CA00C4CDEF00BECCFA008297DB005974CF00000000005974 + CF008297DB009CB0F5009DACE100718AE2000000000000000000000000000000 + 000000000000B0B0B000A4A4A400ADADAD008A8A8A0086868600000000000000 + 000000000000868686008F8F8F00A4A4A40076767600BBBBBB00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009FB0EF00B0C0F700ACBDF8009BB0F7006787F3005479F1005E80F200486F + F0005A7CED00566EC1000000000000000000000000005578EB0098ACEE0095AC + F7009AAFF7009DB2F7009EB3F7009EB3F7009FB3F7009EB3F7009EB3F7009EB3 + F7009EB3F7009EB3F7009DB2F7009DB2F7009CB1F7009BB0F70099AFF7008EA6 + F6008BA4F60092A7ED00546EC500000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000C1CDF6005F76CC00C8D4FB00A9BBF7009BACE400A9BB + F700C8D4FB00C7D0F000C1CDF600000000000000000000000000000000000000 + 00000000000000000000D3D3D300D6D6D600DFDFDF00CECECE00ADADAD009C9C + 9C0097979700BBBBBB00C0C0C000B4B4B400D3D3D30000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000839AE8005B76D3005B76D300536FCA009EB3F70093AAF6007086D1005B76 + D3005B76D3005B76D300000000000000000000000000617ACC005670C7005670 + C7005670C7005670C7005670C7005670C7005670C7005670C7005670C7005670 + C7005670C7005670C7005670C7005670C7005670C7005670C7005670C7005670 + C7005670C7005670C7005670C800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000C1CDF600C7D0F000CED8FB00B7C7F900CED8 + FB00C7D0F0005F76CD0000000000000000000000000000000000000000000000 + 000000000000000000000000000080808000B3B3B300E1E1E100F3F3F300EEEE + EE00E8E8E800CBCBCB00A6A6A600808080000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000AEBEF30095AAF200889EE600566FC8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005D75CC00A1B0E200CED7F400A1B0 + E2005D75CC00C1CDF60000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000B0B0B0008A8A8A00808080008080 + 8000808080008A8A8A00B0B0B000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000007289D700637BCE0092A7EC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000B6C5F00027377300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000B7C5F1002B3E7C004E5E9400000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000026366D0026366D002636 + 6D0026366D0026366D0026366D0026366D0026366D0026366D0026366D002636 + 6D0026366D0026366D0026366D0026366D0026366D0026366D0026366D002636 + 6D0026366D0026366D0026366D0031458D0000000000354A88002E3D70002E3D + 70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D + 70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D + 70002E3D70002E3D7000D2D2D200000000000000000000000000000000000000 + 00000000000000000000000000002E4282004B5D9F004961B100000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000003269B000D2A90000D2A + 90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A + 90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A + 90000D2A90000D2A90000D2A9000293973000000000030438600E6EAF700E5E9 + F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9 + F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9 + F600E5E9F600E5E9F60000000000000000000000000000000000000000000000 + 000000000000BAC7F200354990003F5EC4001E42BA004A65BD00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F80000000000000000000429A8002E3F7E000000 + 00004F70DE004F70DE004F70DE004F70DE004F70DE0039509D00354A9100506E + D400506ED400506ED400506ED400506ED400000000003A51A1005475E2005979 + E3005979E3005878E3003A51A1000000000000000000354A9200E5EAF8004364 + D2000430C2000430C2003659CE000430C2000430C2000430C2000430C2000430 + C2000430C2003659CE000430C2000430C2000430C2003659CE000430C2000430 + C2004364D200E5EAF80000000000000000000000000000000000000000000000 + 0000BCC8F300384D97004F66B1001038BF00143BBF004C67C400000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF00000000000000000000000000082EAE00314284000000 + 00005073E8000537DE000537DE000537DE005073E8003E55A900394F9B004F6F + DB000432CD000432CD000432CD004F6FDB00000000004058AF005F80EF002A56 + E9002A56E9002855E9004058AF000000000000000000384E9800E5EAF9004162 + D1000432C9000432C900365BD3000432C9000432C9000432C9000432C9000432 + C9000432C900365BD3000432C9000432C9000432C900365BD3000432C9000432 + C9004365D600E5EAF90000000000000000000000000000000000000000000000 + 00003A519D005169B8003E60D1000430C300143DC7004D6AC900374C9500374C + 9500374C9500374C9500374C9500374C9500374C9500374C9500374C9500374C + 9500374C9500374C95004259AC00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F8000000000000000000000000001137B800334689000000 + 00004F74EF00053AE900053AE900053AE9004F74EF00425CB2003D55A5005072 + E3000535D8000535D8000535D8005072E30000000000435CB4006A8AF300426A + F000426AF0003F68F000435CB40000000000000000003B519F00DADFED004A64 + B9000937D0000A38D0003B60D9000A38D0000A38D0000A38D0000A38D0000A38 + D0000A38D0003B60D9000A38D0000A38D0000A38D0003A5FD9000A38D0000836 + D0004467DB00E6EBFA0000000000000000000000000000000000BECCF5004159 + AB003E63DE00103ED7000535D5000535D5000838D5001441D8001441D8001441 + D8001441D8001441D8001441D8001441D8001441D8001441D8001441D8001441 + D8001441D8001F4AD9003E55A500000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F80000000000000000000000000000000000000000002248C800384D95000000 + 00005B7EF2001D4DED001D4DED001D4DED005B7EF200455FB600455FB6005075 + F100053AEB00053AEB00053AEB005075F10000000000455FB6007592F4006686 + F3006686F300597CF200455FB60000000000000000004159AB00E5EAFB007E98 + ED003958C0001D48D700496DE5001D49DA001A41C3002F4FBA00B8C4EB003B5B + C6001D49DC00496DE5001E4BDF001E4BDF001E4BDF00496DE5001D4ADF001543 + DE00496DE500E5EAFB00000000000000000000000000BECCF500455EB2005871 + CB001141DF000738DD000738DD000738DD000738DD000738DD000738DD000738 + DD000738DD000738DD000738DD000738DD000738DD000738DD000738DD000738 + DD000738DE001544DF004259AD00000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000002B51D0003C519B000000 + 00006485F300305CEE00315DEF00305CEE006485F3004760B7004760B7005075 + F100053AEB00053AEB00053AEB005075F100000000004760B7007590EC008BA2 + EE008BA2EE00849DEE004760B7000000000000000000445DB100E6EBFC004A6F + EA00C7D1F2004260C6004868D3003656BF008FA1DE00D4DCF90089A1F200B0BD + E8002D52CC005074EB002854E6002854E6002854E6005074EB002854E6001C4A + E5004B70EA00E6EBFC000000000000000000000000004962BA005C77D2004A6F + ED001C4BE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4C + E8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4C + E8001C4BE8002653E900455EB50000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000003459D7003E54A1000000 + 00006C8BF300446BF000456CF000446BF0006D8CF3004861B9004861B9005075 + F100053AEB00053AEB00053AEB005075F100000000005069C7004861B9004861 + B9004861B9004861B9005069C70000000000000000004761B700E6ECFD004D72 + EF006D8BF100CAD4F40090A1DA00D5DDFA0099AEF600476DEE00325DED00ADBE + F70092A3DD00577AF000325DED00325DED00325DED00577AF000325DED002351 + EB004E73EF00E6ECFD000000000000000000000000005E79D600577BF200466D + F0005479F1005579F1005579F1005579F1005579F1005579F1005579F1005579 + F1005579F1005579F1005579F1005579F1005579F1005579F1005579F1005579 + F1005479F1005176F1004A64BB0000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000004368E300445CAD000000 + 00007D98F5006989F3006D8CF3006A8AF3007D98F5004A64BB004A64BB005176 + F100083CEB00083CEB00083CEB005176F1000000000000000000000000000000 + 000000000000000000000000000000000000000000004B65BC00E6ECFD007290 + F4006283F2006586F3006586F3006586F3006586F3006586F3006586F3006586 + F3008CA5F600667FD2006586F3006586F300607FE6005874D1005975D400577B + F2007592F400E6ECFD000000000000000000000000004E67C0006681D9006A8A + F3006E8DF300718FF400718FF400718FF400718FF400718FF400718FF400718F + F400718FF400718FF400718FF400718FF400718FF400718FF400718FF400718F + F4006F8DF3006586F3004B65BC000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 000000000000000000000000000000000000000000004D71E9004760B3000000 + 0000829DF5007794F400829CF5007894F400829DF5004C65BC004C65BC00587C + F2001647EC001647EC001647EC00587CF2000000000000000000000000000000 + 000000000000000000000000000000000000000000004C66BD00E6ECFD005277 + F1004B71F1005075F1006D8CF3005075F1005075F1005075F1005075F1005075 + F1005075F100C5CEEC004667D600496CDF00657DCE00B5C1E9009EAEE1003862 + EF00567AF200E6ECFD00000000000000000000000000BFCDF6004F68C2006C86 + D9007E99F50089A2F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5 + F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5 + F600849EF5007391F4004C66BD000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005579EF004A63B9000000 + 0000829CF5007592F40086A0F5007592F400829CF5004D66BE004D66BE005E80 + F2002453EE002453EE002453EE005E80F2000000000000000000000000000000 + 000000000000000000000000000000000000000000004E68BF00E6ECFD005479 + F1005479F100597CF2007491F400597CF200597CF200597CF200597CF200597C + F200597CF200CDD7F90099A9DD007E92D500CED8FB00ACBDF800C4D0F900365A + D200587CF200E6ECFD000000000000000000000000000000000000000000BFCD + F6006D86DA0086A0F500A0B4F700C3D0FA00C1CEFA00B4C4F800869EED00839C + ED00829BED00829BED00829BED00829BED00829BED00829BED00829BED008099 + ED007B95EC00728EEB004F69C0000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A500DCDBDB0088878700000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006787F3004F68BF000000 + 00004F69C0004F69C0004F69C0004F69C0004F69C000556FCC004F69C0006A8A + F3004068F0004169F0004068F0006B8AF3000000000000000000000000000000 + 00000000000000000000000000000000000000000000506AC100E6ECFD00577B + F2006586F3006D8CF300829CF5006D8CF3006D8CF3006D8CF3006D8CF3006D8C + F3006D8CF300829CF5007491F4006D8CF3006D8CF300829CF5006C8BF300D2DB + FA008094D700DFE5F60000000000000000000000000000000000000000000000 + 0000536CC5006E87DB0088A2F600B9C8F900B2C2F9009DB0F000506AC100506A + C100506AC100506AC100506AC100506AC100506AC100506AC100506AC100506A + C100506AC100506AC100506AC3000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00EBEBEB0085848300000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006F8DF3005069C1000000 + 0000000000000000000000000000000000000000000000000000516AC100718F + F4004E73F1004F74F1004E73F100718FF4000000000000000000000000000000 + 00000000000000000000000000000000000000000000526CC300E6ECFD007995 + F400819BF50088A2F60088A2F60088A2F60088A2F60088A2F60088A2F60088A2 + F60088A2F60088A2F60088A2F60088A2F60088A2F60088A2F60087A1F500839E + F500D8E0FC00E8EDFD0000000000000000000000000000000000000000000000 + 0000BFCDF600536DC6006E88DB0095ACF70092A9F6008AA1EE00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A989700E7E7E6008C8A8800000000000000000000000000000000000000 + 000000000000000000000000000000000000000000007894F400516BC2000000 + 0000000000000000000000000000000000000000000000000000526CC3007894 + F4005C7FF2005D80F2005C7FF2007894F4000000000000000000000000000000 + 00000000000000000000000000000000000000000000536DC400E6ECFD00597C + F2006F8DF3007C97F4008FA7F600819BF500819BF500819BF500819BF500819B + F500819BF5008FA7F600819BF500819BF500819BF5008EA6F6007A96F4005075 + F1005F81F200E6ECFD0000000000000000000000000000000000000000000000 + 00000000000000000000BFCDF600708ADD006C8BF300708CEC00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA00C2C0BE00B6B6 + B500A09E9D00EDEDEC008F8D8D00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000088A2F600546DC4000000 + 0000000000000000000000000000000000000000000000000000546EC500839E + F5007794F4007A96F4007894F400839EF5000000000000000000000000000000 + 000000000000000000000000000000000000000000005670C700E6ECFD005378 + F100577BF2006384F3007F9AF5006E8DF3006E8DF3006E8DF3006F8DF3006F8D + F3006F8DF300829DF5006E8DF3006E8DF3006C8BF3007E99F5006082F2003F68 + F000587CF200E6ECFD0000000000000000000000000000000000000000000000 + 00000000000000000000000000005770C8006B85DD006181EB00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE00C2C2C200AFAD + AC00AAA8A700E2E1E00093929100000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000092A9F600556EC5000000 + 0000000000000000000000000000000000000000000000000000566FC60087A1 + F500829CF50087A1F500829DF50087A1F5000000000000000000000000000000 + 000000000000000000000000000000000000000000005771C800E6ECFD00496F + F0005A7DF2005E80F2007E99F5006183F2006183F2006283F2006283F2006283 + F2006283F2007F9AF5006283F2006183F2006183F2007D98F5005D80F2005378 + F1004B71F100E6ECFD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000C1CDF6005871C9006D86D800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF00C3C2C200A09F + 9D00BFBDBC00C4C3C200ACACAC00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000009AAFF700566FC6000000 + 00000000000000000000000000000000000000000000000000005770C7008AA3 + F60088A2F60096ACF7008AA3F6008AA3F6000000000000000000000000000000 + 000000000000000000000000000000000000000000005771C800E6ECFD00E6EC + FD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6EC + FD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6EC + FD00E6ECFD00E6ECFD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB00ADACAC0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A8BAF8005872C9000000 + 00000000000000000000000000000000000000000000000000005872C9007D97 + EE0090A7F10097ACF20090A7F1007D97EE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000AFBFF5005872C9000000 + 00000000000000000000000000000000000000000000000000005B76D2005872 + C9005872C9005872C9005872C9005872C9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005872C9005B76D2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004A60B0002839760026356C00283976004A60B000A3B3EA00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000042579E0036457D002E3C + 6D00283868008D9DD300C0C0C000C0C0C000C0C0C000C0C0C000C2C2C200CECE + CE00CECECE00CECECE00DEDEDE00DEDEDE00DEDEDE0000000000000000000000 + 00000000000000000000000000000000000000000000000000003B53A4002840 + 93001A3FBA003453BC003F5CBD003453BC001A3FBA000C31B0003B53A4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002A3B7700DBE0F100DDE2 + F200DEE3F300DFE4F300DFE4F300E0E5F300E0E5F300E2E7F400E3E7F500E3E7 + F500E3E7F500E5E9F600E5E9F600E6EAF600E8ECF700E8ECF700E8ECF700E8EB + F600E9ECF700EAEDF7000000000000000000000000003F59B0005A78DE004D67 + BE00334279002A3C780000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005069C0002E47A2000734 + C8005069BC00475AA20043579D00475AA2005069BC002D52CE002E47A2005069 + C000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002D3F7F00D7DDF100C8D0 + EC00C9D1ED00CAD2ED00CBD3ED00CCD3ED00CDD4ED00CED5EE00D0D7EF00D1D8 + EF00D2D9EF00D3D9EF00D4DAF000D5DBF100D7DDF200D7DDF200D7DDF100D9DE + F200DADFF200E6EAF800000000000000000000000000415BB2006F8DF3002F58 + E2003C57B1002A38700000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003F56A9001843D5003059 + E1004059AC008A9FE600000000008A9FE6004059AC005A70BC001843D5003F56 + A900ACBCF1000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000030448600D6DCF200C3CC + EC003E5DC4003E5DC4003E5DC4003F5EC4003F5EC4003F5EC400C9D2EF00C9D2 + EF00CAD2EF00CBD3EF00CDD5F000CDD5F000CFD6F000D0D7F000D1D8F100D2D9 + F100D3DAF100E0E5F5000000000000000000000000004A65BF00657DCF00899F + E800647ED800536DC1003F57A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003B61DF002A57EE006076 + C20000000000000000000000000000000000000000008FA3E9002A57EE003B61 + DF00445DB6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000384C9700D7DEF500C6D0 + F1003F61D2003F61D2003F61D2003F61D2003F61D2003F61D200C4CEF000C4CE + F100C4CEF100C4CEF100C3CEF100C3CEF100C3CEF100C3CEF100C3CEF100C4CE + F100C4CEF100D7DEF500000000000000000000000000BFCCF5004862BC006A81 + D000556FC5003355C700506CCC004E65B40090A3E20000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000486CE8003C65ED00556C + BC000000000000000000000000000000000000000000000000003963EF004A6E + E600445DB4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000032479000304589003045 + 8900304589003045890030458900304589003045890030458900304589003045 + 8900304589003045890030458900304589003045890030458900304589003045 + 89003045890030458900859AE00000000000000000003B519F00D9E0F700C8D2 + F4003F63DA003F63DA003F63DA003F63DA003F63DA003F63DA00C6D1F400C6D1 + F400C6D1F400C5D0F300C5D0F300C5D0F300C4CFF300C4CFF300C4CFF300C3CE + F300C3CEF300D6DDF70000000000000000000000000000000000BFCCF5004A64 + BD008FA4E8005670C400647DD100425596003645760035498F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006080EB004A6FEE005168 + BB00000000000000000000000000000000000000000000000000476EF0006080 + EB00455EB5000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005C74C5005873D0005873 + D0005873D0005873D0005873D0005873D0005873D0005873D0005873D0005873 + D0005873D0005873D0005873D0005873D0005873D0005873D0005873D0005873 + D0005873D0005873D0003D529A0000000000000000003F57A700DBE2F900CAD4 + F6004065E0004065E0004065E0004065E0004065E0004065E000C8D3F600C8D3 + F600C8D3F600C7D2F600C7D2F600C7D2F600C6D1F500C6D1F500C6D1F500C5D0 + F500C5D0F500D7DEF80000000000000000000000000000000000000000000000 + 00004F68C1007087D40095A8E9004462C8005570CA00465AA00032458600B8C5 + F100000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000008397DB006888F3006F88 + DF0000000000000000000000000000000000C9D4F8004A64BD006886EC007F92 + D100607AD3000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000587BED001444E6000E2A + 8A001744DB000F2B8A001744DB000F2B8A000F2B8A000F2B8A000F2B8A001744 + DB000F2B8A000F2B8A000F2B8A001744DB000F2B8A000F2B8A001744DB000F2B + 8A001644DB000D2A8A005268B70000000000000000004761B700DEE5FB00D1DA + FA005176EF005075EF005075EF005075EF005075EF005075EF00D0DAFA00D0DA + FA00D0DAFA00CFD9FA00CFD9FA00CFD9FA00CED8FA00CED8FA00CED8FA00CDD7 + FA00CCD7FA00DAE1FB0000000000000000000000000000000000000000000000 + 0000BFCDF600506AC3007288D500637AC5004563C8003B5BC800394A86003142 + 7D00A4B3EA00293B7B00283871002E4185000000000000000000000000000000 + 000000000000000000000000000000000000000000006076C20096ACF4007391 + F4004C64BE0090A4EA000000000090A4EA004C64BE009DACDE00A0B3F3005E73 + BB004159AB000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006383EE002352ED006886 + EB00335EEF006A88EE00335EEF006985E2006985E2006985E2006986E600335E + EF006A88EE006A88EB006986E600335EEF005F71B0006883DF00335EEF006A88 + EE00325EEF006786EE00566EBE0000000000000000004963BA00E0E6FC00D4DD + FC00597CF200597CF200597CF200597CF200597CF200597CF200D4DDFC00D4DD + FC00D4DDFC00D3DCFB00D3DCFB00D3DCFB00D3DCFB00D3DCFB00D2DBFB00D2DB + FB00D0DAFB00DDE4FC0000000000000000000000000000000000000000000000 + 000000000000BFCDF600536CC50098AAE900637AC6004566D4003954B1003A49 + 7E0035406900576EB900566DBA00556BB400374E9900CED7F700000000000000 + 000000000000000000000000000000000000000000005C76D2008295D6009EB2 + F500859BE400697EC9006076C200697EC900859BE400A9BBF800A0AEDF004362 + CC002D4FC300BDCBF40000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006D8AEB00305CEE002B43 + 9400243D90003D63E300243D9000354C9800486CE400354C9800304896003960 + E300284192002C44940030489600385EDE007692EF005075F1003D66EF002841 + 92003960E300253E92005A70C10000000000000000004A64BB00E2E8FD00D8E0 + FC006283F2006283F2006183F2006183F2006183F2006183F200D8E0FC00D7DF + FC00D7DFFC00D7DFFC00D7DFFC00D7DFFC00D6DFFC00D6DFFC00D6DFFC00D5DE + FC00D4DDFC00DFE6FC0000000000000000000000000000000000000000000000 + 00000000000000000000000000005770C800748BD900879DE8004D5D97004E65 + B4004A6AD3000430C2000430C2000430C2004162D1005971C00046589B000000 + 0000000000000000000000000000000000000000000000000000000000005D77 + D3009CABE200BECBF500BCCAF600BECBF5009CABE200687CC600798FDA0086A0 + F5004B71F1002E50C400435BAE00BDCBF4000000000000000000000000000000 + 000000000000000000000000000000000000000000007691ED00496FF0003D51 + 94006381E700394D91005D7DE6005D7DE600394D91005D7DE6005D7DE600394D + 91005D7DE6007483B3007483B3006583E6007483B3007483B3006280E4003C50 + 93005A7AE600374C93005F76C50000000000000000004D66BE00E6EBFD00DEE5 + FC007290F4007290F4007290F4007290F4007290F4007290F400DEE5FC00DEE5 + FC00DEE5FC00DEE5FC00DDE4FC00DDE4FC00DDE4FC00DDE4FC00DDE4FC00DCE3 + FC00DAE2FC00E2E8FD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000C1CDF6005872CA006F85D000516BBE004A6C + DC00123ED2000433D0000433D0000433D0000937D2002F56D8005775D700455E + B500BDCBF4000000000000000000000000000000000000000000000000000000 + 0000657FD9004C65BF004C65BC004C65BF00657FD900AEBEF2004C65BF007A90 + DB0086A0F5001848EB002F51C500445CAE000000000000000000000000000000 + 000000000000000000000000000000000000000000007A94EE005378F10092A7 + EE007693F40099AEF2007693F4007693F40099AEF2007693F4007693F40099AE + F2007693F40094A7E60095A8EA007995F40094A7E60095A8EA007995F40099AE + F2007391F4008DA4F1005871C40000000000000000004E68BF00E6ECFD00E1E7 + FD007A96F4007A96F4007A96F4007A96F4007A96F4007A96F400E2E8FD00E1E7 + FD00E1E7FD00E1E7FD00E1E7FD00E1E7FD00E0E6FC00E0E6FC00E0E6FC00DFE6 + FC00DDE4FC00E4E9FD0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000AEBEF3005E6FAD004B6FE7001242 + E0000537DE000537DE000537DE000537DE000537DE000537DE001B49E1005E76 + CA00455DB2008DA2E80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF6004D66 + C0007A90DB004B71F1001848EB003052C500BDCBF40000000000000000000000 + 000000000000000000000000000000000000000000007B96EE00597CF2004B5C + 96004E5E93007D96E9004E5E93004E5E93007D96E9004E5E93004E5E93007D96 + E9004E5E93005A699A00576698007A94E8005A699A00576698007A94E8005060 + 9500718CE8003D519300536DC40000000000000000004F69C000E8EDFD00E3E9 + FD00829CF500829CF500829CF500829CF500829CF500829CF500E5EAFD00E5EA + FD009DB2F7009DB2F7009DB2F7009DB2F7009DB2F7009DB2F7009DB2F7009BB0 + F700E0E6FC00E6EBFD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004963BC006A87E8002553EE002553 + EE002553EE007C97F4007F9AF1007C97F4002553EE002553EE002553EE002553 + EE004A70F0006983DB0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BFCDF6007B91DC0086A0F5004B71F1003153C700475EB100BDCBF4000000 + 000000000000000000000000000000000000000000007B93E700819CF30092A9 + F600A3B6F800A4B7F800A6B9F800A8BAF800A6B9F800A8BAF800A8BAF800A6B9 + F800A8BAF800A9BBF800ABBDF800A6B9F800ADBEF800AABCF800A4B7F8009FB3 + F70094ABF60087A1F5005771C9000000000000000000526CC300EBF0FD00E7EC + FD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00E9EEFD00E9EEFD00E9EE + FD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E7EC + FD00E5EAFD00E8EDFD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004A64BB00718DEB003E67F0003E67 + F0006888F300667CC5005A71C100667CC5006888F3003E67F0003E67F0003E67 + F000486FF000718CE90000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004F69C3007B92DC0086A0F5001848EB003154C700485FB2000000 + 000000000000000000000000000000000000000000005872CA00495891004A59 + 9100697EC8006D82CF006D82CF006D82CF006D82CF006D82CF006D82CF006D82 + CF006D82CF006D82CF006D82CF006D82CF006D82CF006D82CF006D82CF006C82 + CF006B82CE006980CE0093A8ED000000000000000000536DC400ECF0FE00E9EE + FD007693F4007693F4007693F4007693F4007693F4007693F4007693F4007693 + F4007693F4007693F4007693F4007693F4007693F4007693F4007693F400708E + F400E6ECFD00E9EEFD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004F69C4007892E700567AF200567A + F20091A3E4009DB0EE00000000009DB0EE0091A3E400567AF200567AF2005D80 + F2007794F4006B83D40000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BFCDF600506AC4007C92DD004B71F1001848EB003254C800BFCB + F400000000000000000000000000000000000000000000000000000000008380 + 7E00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000546EC500EDF1FE00EBF0 + FD00809BF500809BF500809BF500809BF500809BF500809BF500809BF500809B + F500809BF500809BF500809BF500809BF500809BF500809BF500809BF5007794 + F400E8EDFD00EBF0FD0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000556FCC0096ACF7007995 + F4005971C4000000000000000000000000005D75C500809AF10087A1F500728A + DB004F69C200BFCDF60000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000BFCDF6007D93DD0086A0F5004B71F1003355 + C9004A62B400BFCBF5000000000000000000000000000000000000000000918F + 8F00908D8B00918E8C00928F8D0093908E0094918F0095929000979492009895 + 9300999694009B9896009C9997009D9A98009E9B99009F9C9A009B999800A09F + 9E00B6B4B400D6D6D6000000000000000000000000005770C700F0F3FE00EDF1 + FE00839EF5008AA3F6008CA5F6008EA6F6008FA7F6008FA7F6008FA7F6008FA7 + F6008FA7F6008FA7F6008FA7F6008FA7F6008DA5F6008CA5F6008AA3F6007693 + F400EAEFFD00ECF0FE0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D3DBF9009AACEA008FA7 + F600647BC800000000000000000000000000657BC800859FF5009CB1F700516A + C400BFCDF6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000536DC6007E94DE0086A0F5001848 + EB003456CA004B63B50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005871C800F0F3FE00EDF1 + FE00F0F3FE00F1F4FE00F1F4FE00F1F4FE00F1F4FE00F1F4FE00F0F3FE00F0F3 + FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE00EFF3FE00EFF3FE00EEF2FE00ECF0 + FE00EAEFFD00EDF1FE0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006278C900A2B4 + F3008A9EE2009FB1F000000000009FB1F000869BE3009BB0F700788FDD00BFCD + F600000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000C1CDF600536CC500859AE0004B71 + F1001848EB003457CA00BFCBF500000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005872C900F1F4FD00F1F4 + FD00F2F5FD00F3F6FD00F3F6FD00F3F6FD00F3F6FD00F3F6FD00F3F6FD00F3F6 + FD00F2F5FD00F2F5FD00F2F5FD00F2F5FD00F1F4FD00F1F4FD00F1F4FD00F0F3 + FD00EFF2FD00EEF2FD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005974 + CF0098AAE400B2C2F900B4C4F900ADBEF8007D93DF00566FC700C1CDF6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000566FC8008295D400A1B1E500798F + DD0086A0F5004B71F1005E78D1005169BE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F6005C75CC00C1CEFA00B9C8F900B7C7F9005771C900C1CDF600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005874CF008DA0DF00C4CEF100657B + C5008B9FE30086A0F5006781DB00556DC6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000093A8ED009CAEE900A0B2EF008195DB00C1CDF60000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000C1CDF6005874CF00556EC300B0BD + E7007A8CCA008399E1005872CA00C1CDF6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000C1CDF6005770 + CA00BFCCF5000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C9C9C900A1ADDA0058648C00545664005456640054566400545664005456 + 6400545664005456640054566400545664005456640053556300525E8800C2C2 + C200D4D4D4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000DCDCDC00C4C4C4003847 + 7D0027345E0027345E0027345E0027345E0027345E0027345E0027345E002734 + 5E0027345E0027345E0027345E0027345E0027345E0027345E0027345E002734 + 5E0038477D00C4C4C40000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C3CEF1005E607000999CA600B0B1BA00B0B1BA00B0B1BA00B0B1BA00B0B1 + BA00B0B1BA00B0B1BA00B0B1BA00B0B1BA00B0B1BA00B0B1BA00999BA600BEC9 + EE00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002B3C + 78000328A30003208200E8E8E700E5E4E300E0DFDE00DBDAD900032082000328 + A3000328A3000328A3000328A3000328A3000328A3000328A3000328A300435E + BA002B3C78000000000000000000000000000000000000000000000000000000 + 00000000000000000000A3B3EA002F3E73003F4F840044579700495DA100495D + A100495DA100445797003F4F86002F3F7400A3B3EA0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000060647500A6A9B60025377600253776002537760025377600253776006870 + 92007B819B002537760025377600253776002537760025377600253776006569 + 7A00000000000000000000000000000000000000000000000000000000000000 + 00000000000029386A005469AE005065AC005065AC005065AC005065AC005065 + AC005065AC005065AC005065AC005065AC005065AC005469AE00344686000000 + 0000000000000000000000000000000000000000000000000000000000002C3F + 7E00042AA90003218700E8E8E700EFEEED00EAE9E800E5E4E30003218700042A + A900042AA900042AA900042AA900042AA900042AA900042AA900042AA900425E + BD002C3F7E000000000000000000000000000000000000000000000000000000 + 0000000000004159A70035447A00455EAF002F4BAB001E3DA400032699000326 + 9900032699001E3DA4002F4BAB00455EAF0035447A004159A700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000063677800A2A4B400263877002638770026387700263877002C3D77005960 + 7A0059607A002638770026387700263877002638770026387700263877006367 + 7800000000000000000000000000000000000000000000000000000000000000 + 0000000000002B3C7800536CBF000328A0000328A0000328A0000328A0000328 + A0000328A0000328A0000328A0000328A0000328A000536CBF00354994000000 + 0000000000000000000000000000000000000000000000000000000000002F42 + 8300042BAF0003238C00DFDFDD00F3F3F100F3F3F200EFEFEE0003238C00042B + AF00042BAF00042BAF00042BAF00042BAF00042BAF00042BAF00042BAF004360 + C3002F4283000000000000000000000000000000000000000000000000000000 + 00002E42880042538E004760B1000B2EA10003279F0003279F0003279F000327 + 9F0003279F0003279F0003279F000B2EA1004760B10042538E002E4288000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000676B7C009FA2B20028397800283978002839780028397800283978003A42 + 63003B425C00283978002839780028397800283978002839780028397800676B + 7C00000000000000000000000000000000000000000000000000000000000000 + 0000000000002E3F7E00536DC3000429A8000429A8000429A80003279E000326 + 99000325970003269A0003279F000429A7000429A800536DC300374D97000000 + 0000000000000000000000000000000000000000000000000000000000003448 + 8E00042EBB0003259500CAC9C800E3E2E000E6E6E500EAEAE90003259500042E + BB0003279D00032595000325950003259500032595000325950003279D004262 + CB0034488E000000000000000000000000000000000000000000000000003147 + 8F003654B900082DA9000429A8000429A8000429A8000429A8000429A8000429 + A8000429A8000429A8000429A8000429A8000429A800082DA9003654B9003147 + 8F00000000000000000000000000000000000000000000000000000000000000 + 00006F738300A7ABBB002B3C7B003963EF00446BF000486FF000496FF000496F + F000496FF000496FF000486FF000476EF000325EEF00466DF0002B3C7B006F73 + 8300000000000000000000000000000000000000000000000000000000000000 + 00000000000034478B005470CD00042DB600042BAC000320800003208000586B + AB00ADB6D50003208000031F7E0003269B00042DB6005470CD003B519F000000 + 000000000000000000000000000000000000000000000000000000000000364B + 94000430C20003269B00C1C0BE00DAD9D800DEDDDC00E2E1E00003269B000430 + C20003269B0002175D0002175D000110410002175D0002175D0003269B004364 + D100364B94000000000000000000000000000000000000000000475FB1004658 + 9A00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00FFFFFF00FFFF + FF00FFFFFF00042BAC00042BAC00042BAC00042BAC00042BAC00082EAE004658 + 9A00475FB1000000000000000000000000000000000000000000000000000000 + 000073778700AAAFBF002C3D7C004068F000486FF000496FF000496FF000496F + F000496FF000496FF000496FF000496FF0003761EF00486FF0002C3D7C007377 + 8700000000000000000000000000000000000000000000000000000000000000 + 000000000000364A91005773D300042DB60003228A0003218700032187000321 + 870003238D00032187000321870003218500042CB4005773D3003C53A3000000 + 000000000000000000000000000000000000000000000000000000000000394F + 9A000633C80004289F00B5B4B200D2D1CF00D6D5D300DAD9D70004289F000633 + C70004289F00031860000318600002114300031860000318600004289F004365 + D500394F9A0000000000000000000000000000000000A8B7ED003E508E004964 + BF00042CB100042CB100042CB100042CB100042CB100042CB100FFFFFF00FFFF + FF00FFFFFF00042CB100042CB100042CB100042CB100042CB100042CB1004964 + BF003E508E00A8B7ED0000000000000000000000000000000000000000000000 + 000075798A00AFB3C3002E3E7E003E67F000456CF000456CF000456CF000456C + F000456CF000456CF000456CF000456CF0003761EF00486FF0002E3E7E007579 + 8A00000000000000000000000000000000000000000000000000000000000000 + 000000000000394D98005875D8000429A5000324920003249200042AA900042C + B200042CB200032493000324920003249200042DB5005875D8003E56A6000000 + 0000000000000000000000000000000000000000000000000000000000003E55 + A4001E49D800193BAC00AFADAC00B3B1B000BAB8B600C1BFBD00193BAC00204A + D800193BAC00091743000D1E58000A194900091743000D1E5800193BAD004B6D + DF003E55A400000000000000000000000000000000003F5194004966C8001139 + BF000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE00FFFFFF00FFFF + FF00FFFFFF000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE001139 + BF004966C8003F51940000000000000000000000000000000000000000000000 + 00007C819200B7BACA00304180003661EF003B64EF003B64EF003B64EF003B64 + EF003B64EF003B64EF003B64EF003B64EF00305CEE00466DF000304180007C81 + 9200000000000000000000000000000000000000000000000000000000000000 + 0000000000003F55A4005878E1000429A8000429A8000429A8000328A1000328 + A1000328A10003279F000429A8000429A800042FBD005878E100425BAE000000 + 0000000000000000000000000000000000000000000000000000000000004159 + AA002A54DF002649BB002445B3002445B3002445B3002445B3002649BB002D56 + DF002649BB002445B3002445B3002445B3002445B3002445B3002649BB004E71 + E4004159AA00000000000000000000000000000000004D62A9003659CC00123B + C300173FC400173FC400173FC400173FC400173FC400173FC400FFFFFF00FFFF + FF00FFFFFF00173FC400173FC400173FC400173FC400173FC400173FC400123B + C4003558CC004D62A90000000000000000000000000000000000000000000000 + 000080849500BBBFCF0032428100315CED00355FED00355FED00355FED00355F + ED00355FED00355FED00355FED00355FED002B58EC00456CEF00324281008084 + 9500000000000000000000000000000000000000000000000000000000000000 + 0000000000004259AB005879E6002044BC00ADBBE7003C5BC400032699000326 + 99000326990003239000042DB800C9D2EF000431C6005879E600445DB1000000 + 0000000000000000000000000000000000000000000078767600D3D3D300445D + B000365EE5003B62E6003B62E6003B62E6003B62E6003B62E6003B62E6003B62 + E6003B62E6003B62E6003B62E6003B62E6003B62E6003B62E6003B62E6005376 + E900445DB000D3D3D300807F7F0000000000000000005069BE002E53CE001D45 + CA00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00FFFFFF00FFFF + FF00FFFFFF00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB001D45 + CA002D52CE005069BE0000000000000000000000000000000000000000000000 + 000084889800BDC2D200334482002D59EA00315CEA00315CEA00315CEA00315C + EA00315CEA00315CEA00315CEA00315CEA002855E900446BEC00334482008488 + 9800000000000000000000000000000000000000000000000000000000000000 + 000000000000455EB100597BEB000430C200042FBF00042FBF00032187000323 + 8D0003238D0003249100042FBF00042FBF000434D300597BEB00465FB5000000 + 00000000000000000000000000000000000000000000EBEBEB00AEADAC007979 + 7D00728EEE005D80F200567AF200567AF200567AF200567AF200567AF200567A + F200567AF200567AF200567AF200567AF200567AF200567AF2005C7FF2004F67 + BB0079797D00AEADAC007C7A790000000000000000005774D4002850D5003459 + D700395ED800395ED800395ED800395ED800395ED800395ED800FFFFFF00FFFF + FF00FFFFFF00395ED800395ED800395ED800395ED800395ED800395ED8003459 + D700224BD4005773D30000000000000000000000000000000000000000000000 + 00008B8F9F00C5C9D90035468400234FE2002551E2002551E2002551E2002551 + E2002551E2002551E2002551E2002551E2001F4CE2004066E600354684008B8F + 9F00000000000000000000000000000000000000000000000000000000000000 + 0000000000004B64BB006082F2001445E9001240D700123FD600123FD600123F + D600123FD600123FD600123FD600113DD1001143EC006082F2004B64BB000000 + 00000000000000000000000000000000000000000000CFCECE00EBEBEB00AFAE + AD005F71B000829CF0006A8AF3006384F3006384F3006384F3005673D4004F6A + C2004F6AC2006283F0006384F3006384F3006384F3006A8AF300829DF5007979 + 7F00AFAEAD00EBEBEB007F7D7C0000000000000000005A77D8003057DA003E63 + DD004569DF004569DF004569DF004569DF004569DF004569DF00FFFFFF00FFFF + FF00FFFFFF004569DF004569DF004569DF004569DF004569DF004569DF003E63 + DD002B53DA005975D70000000000000000000000000000000000000000000000 + 00008E92A300C7CCDD00374785001E4ADE00214DDF00214DDF00214DDF00214D + DF00214DDF00214DDF00214DDF00214DDF001B48DE003E64E400374785008E92 + A300000000000000000000000000000000000000000000000000000000000000 + 0000000000004C65BC006485F3001E4DED001D4CE9001C49DE007691EB00E8ED + FB00E8EDFB001C49DD001C49DE001D4CE9001949ED006586F3004C65BC000000 + 00000000000000000000000000000000000000000000807E7E00D0CFCF00EBEB + EB007E7E81006878B1008DA4F100708EF400708EF400708EF400A4B0D800E4E4 + E300D6D5D400627CD500708EF400708EF4007794F4008FA7F6006D80BF00B0AF + AF00EBEBEB00D0CFCF00D3D3D30000000000000000005C79DB00375EDF00486C + E3005173E3005173E3005173E3005173E3005173E3005173E300FFFFFF00FFFF + FF00FFFFFF005173E3005173E3005173E3005173E3005173E3005173E300486C + E3003058DE005B78DB0000000000000000000000000000000000000000000000 + 00009195A600CBD0E000384987001A47DB001B47DA001B47DA001B47DA001B47 + DA001B47DA001B47DA001B47DA001B47DA001744DB003D62E100384987009195 + A600000000000000000000000000000000000000000000000000000000000000 + 0000000000004D66BD006888F3002856EE002957EE002956EC002854E5002854 + E5002854E5002854E7002956EC002957EE002150ED006888F3004D66BD000000 + 0000000000000000000000000000000000000000000000000000D3D3D3008584 + 8300EBEBEB00B2B1B10084848700A1B4F30090A8F6008AA3F600C9C8C600D4D3 + D100E0DFDD006F83C5008AA3F60090A8F6007E8EC00084848700B2B1B100D2D2 + D10085848300D3D3D3000000000000000000000000005C78D5005074EA005477 + EA006886EC006886EC006886EC006886EC006886EC006886EC00536CBE00536C + BE00536CBE006886EC006886EC006886EC006886EC006886EC006886EC005477 + EA004A6FE9005D78D50000000000000000000000000000000000000000000000 + 0000989CAC00D0D5E6003A4B8900113ED300123FD300123FD300123FD300123F + D300123FD300123FD300123FD300123FD3000F3CD3003A5FDB003A4B8900989C + AC00000000000000000000000000000000000000000000000000000000000000 + 0000000000004F68C0006E8DF3003E67F0004068F0004068F0004068F0004068 + F0004068F0004068F0004068F0004068F000335EEF006E8DF3004F68C0000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300D4D3D200EBEBEB00B3B3B2007C89B400ABBBF4009DB2F7009FA6C200C3C1 + BF00C9C7C5008598D8009DB2F700AEBFF80088878B00B3B3B200EBEBEB008B89 + 8700D3D3D300000000000000000000000000000000005D76C900597CEE005578 + EE007390F0007491F1007491F1007491F1007491F1007491F1007491F1007491 + F1007491F1007491F1007491F1007491F1007491F1007491F1007390F0005679 + EE005377EE005D77CA0000000000000000000000000000000000000000000000 + 00009A9EAF00D3D8E9003B4C8A000D3AD0000E3BD0000E3BD0000E3BD0000E3B + D0000E3BD0000E3BD0000E3BD0000E3BD0000C39D000395ED9003B4C8A009A9E + AF00000000000000000000000000000000000000000000000000000000000000 + 0000000000005069C100718FF400F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5 + FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F1F4FE007290F4005069C1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00008B898800D5D4D400EBEBEB008B8A8E007E8BB400B4C3F40092A2D9008494 + C6008494C600A8BAF500B5C5F9008896C300B4B4B300EBEBEB00D5D4D4008684 + 83000000000000000000000000000000000000000000566FC2006685EE00567A + F1007C97F400809BF500819BF500819BF500819BF500819BF500EDF1FD00FFFF + FF00EDF1FD00819BF500819BF500819BF500819BF500819BF5007D98F500587B + F1006081ED00566FC20000000000000000000000000000000000000000000000 + 00009DA1B200D6DBEC003C4D8B000835CC000936CC000936CC000936CC000936 + CC000936CC000936CC000936CC000936CC000835CC00375CD5003C4D8B009DA1 + B200000000000000000000000000000000000000000000000000000000000000 + 000000000000516BC2007491F400F1E0CB00F1E0CB00F1E0CB00F1E0CB00F1E0 + CB00F1E0CB00F1E0CB00F1E0CB00F1E0CB00F5EADA007592F400516BC2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D3D3D300908E8D00EBEBEB00B7B6B50091919300CBD6FB00C3D0 + FA00C3D0FA00949FC50091909400B7B6B500D7D6D600908E8D0093918F009290 + 8F000000000000000000000000000000000000000000AEBEF3005B73C5006886 + EC007391F40088A2F60093AAF60096ACF70096ACF70096ACF700FFFFFF00FFFF + FF00FFFFFF0096ACF70096ACF70096ACF70095ACF7008AA3F6007693F4006B89 + ED005B72C500AEBEF30000000000000000000000000000000000000000000000 + 0000A3A7B800DBE0F1003F4F8D000431C5000431C5000431C5000431C5000431 + C5000431C5000431C5000431C5000431C5000431C500365AD1003F4F8D00A3A7 + B800000000000000000000000000000000000000000000000000000000000000 + 000000000000536DC4007E99F500F3E2CB00F3E2CB00F3E2CB00F3E2CB00F3E2 + CB00F3E2CB00F3E2CB00F3E2CB00F3E2CB00F5EADA007E99F500536DC4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000D3D3D300D8D7D700EBEBEB00B8B7B6009DA6C500CDD8 + FB00CDD8FB0094939600B8B7B600EBEBEB009391900099979500A5A4A200A5A4 + A200939291000000000000000000000000000000000000000000607AD600647D + D0006384F3007F9AF50093AAF600A2B6F800A2B6F800A2B6F800FFFFFF00FFFF + FF00FFFFFF00A2B6F800A2B6F800A2B6F80095ACF700829CF5006686F300657E + D200607AD6000000000000000000000000000000000000000000000000000000 + 0000A6AABA00DDE3F3003F518E000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2000430C2000430C2003558CD003F518E00A6AA + BA00000000000000000000000000000000000000000000000000000000000000 + 000000000000546EC500819BF500F0F3FE00F1F4FE00F1F4FE00F1F4FE00F1F4 + FE00F1F4FE00F1F4FE00F1F4FE00F1F4FE00F3F6FE00819BF500546EC5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000096949300D9D9D800EBEBEB0097979900919D + C500919DC500B9B8B800EBEBEB00D9D9D800D3D3D300A09E9C00CCCCCC00CCCC + CC00A09E9C00000000000000000000000000000000000000000000000000536F + CA006989F3006A8AF300849EF500A8BAF800ADBEF800AEBFF800E1E3E800F2F2 + F200E1E3E800AEBFF800ADBEF800A9BBF80087A1F5006D8CF3006B8AF300536F + CA00000000000000000000000000000000000000000000000000000000000000 + 0000A9ADBD00DFE5F60040518F003558CA003558CA003558CA003558CA003558 + CA003558CA003558CA003558CA003558CA003558CA003558CA0040518F00A9AD + BD00000000000000000000000000000000000000000000000000000000000000 + 000000000000556FC600829DF500F4E4CB00F5E4CB00F5E4CB00F5E4CB00F5E4 + CB00F5E4CB00F5E4CB00F5E4CB00F5E4CB00F6EADA00829DF500556FC6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D3D3D3009B999800EBEBEB00BBBA + BA00BBBABA00DBDBDA009B999800D3D3D3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005570CB006780D400718EEE00819BF50090A8F6009FB3F700AFC0F900B1C1 + F900AFC0F900A1B5F70093AAF600849EF5007490ED006981D4005570CB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000AEB2C200E2E8F90042539000425390004253900042539000425390006776 + A6006776A600425390004253900042539000425390004253900042539000AEB2 + C200000000000000000000000000000000000000000000000000000000000000 + 0000000000005871C800829CF500CACCD100CBCDD100CBCDD100CBCDD100CBCD + D100CBCDD100CBCDD100CBCDD100CBCDD100D9DBDF00829CF5005871C8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D5D5D300DDDCDB00EBEB + EB00EBEBEB009D9C9B00D5D5D300000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000627DD8006179CA007A95F1007D98F500849EF5008BA4F6008EA6 + F6008BA4F60086A0F5007F9AF5007D97F1006179CA00627DD800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0B4C400E3E9FA0043549100435491004354910043549100435491003543 + 740035437400435491004354910043549100435491004354910043549100B6BA + CB00000000000000000000000000000000000000000000000000000000000000 + 0000000000005872C9007C97F400A5A7AC00A5A7AB00A5A7AB00A5A7AB00A5A7 + AB00A5A7AB00A5A7AB00A5A7AB00A5A7AB00BEC0C4007D98F5005872C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A19F9D00DEDD + DC00DEDDDC00D5D5D50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000AFBFF3005E77CA006881D4006B85E2007691ED007792 + ED007691ED006C86E2006881D4005E77CA00AFBFF30000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000094A2D300D8DEEF0094A0C700445492004454920044549200445492004454 + 920044549200445492004454920044549200445492004454920094A0C70094A2 + D300000000000000000000000000000000000000000000000000000000000000 + 0000000000005872C9007C96EE008FA5F00094AAF20095AAF20097ACF20097AC + F20097ACF20096ABF20095AAF20093A9F200889FF0007C96EE005872C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000C2CEF60096A3D400B5B9CA00B5B9CA00B5B9CA00B5B9CA00B5B9 + CA00B5B9CA00B5B9CA00B5B9CA00B5B9CA00B5B9CA00B5B9CA0096A3D4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D1D1D100CBCBCB00C7C7C700C5C5C5007C8FCD005368AF00354785003546 + 8100364783004358A100566CB5007F91D100C7C7C700C7C7C700C9C9C900DADA + DA00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000DDDDDD00C9C9C900C7C7C700C2C2C200B1BCE5003446 + 820029376700C0C0C000C0C0C000C5C5C500CDCDCD00DADADA00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000ACACAC00A4A4A400A4A4A400A4A4A4008A8A + 8A008A8A8A00A4A4A400B3B3B300C7C7C7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008EA2E10031458B004B64B5004561C1002E4FBE00143AB9002347 + BF00143BBC002449C7002E53CD004566D4004B61AF003D56AA0097A9E8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000008297DD00485A9900415C + B9003654B7002E3F7C008196DC00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A4A4A40000000000000000002A3B7400354476003F518C004D66B7004F67 + B9004F68BA00485DA50040518D00374677007288CB0000000000C7C7C700A4A4 + A400000000000000000000000000000000000000000000000000000000000000 + 00005068BA00374885004B62AD002345B600082EAD00042AAB00617ACB008295 + D7005974CB00042DB600042EB9000832BF003E61D500506AC4004258A5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008297DE00304381003755BB000F34 + AE00082DAB004B60A4002F4180008297DE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000009494 + 940000000000B7C3EE0032427D004C61A5004E69C3004B69CE003F62D6004063 + D9004064DA004365D4004B69CF004F6AC6003A497D002C3E7B00AAB9EB00D3D3 + D30096969600D3D3D30000000000000000000000000000000000000000000000 + 0000415393004B65BE002E50BF00042CB300042CB2001B3FB7008194D6008194 + D5006179CA003353BE00042CB100042DB5000832C0002E53CE004C6ACF005B74 + C900000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005169BD00394B89004D65B300082FB000042B + AF00042BAE003655BD004C61A700314483000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000096969600D3D3 + D30095A5DF00959392007D8294004464CE00385DD7004368E3005175EB005275 + EB005174EA004D72EA004469E5003B60DC004963B7007D81940091908F000000 + 0000000000009F9F9F000000000000000000000000000000000093A5E4003E52 + 96003256CD001D44C8002349C900274CCA008B9FE20091A4E4008B9FE100879B + DE008498DC006A82D2002245B800042AAB00042BAF00042CB400042EB9004D6A + CB004258A20095A9E7000000000000000000283870003551AE003552B000455F + B4004964B6004B65B800546EBB005E76BC005F78C000657DC200788DC500788D + C500788DC500788DC5007287C4005F78C0005E76BC005E76BC004B65B8004963 + B5004963B5003A56B1003E59B0002D3E75000000000000000000000000000000 + 00000000000000000000546CC1004C66BC002A4EC400042EB900042DB800042D + B800042DB700042DB7000830B8003657C50035488B00A8B7ED00000000000000 + 000000000000000000000000000000000000000000009A9A9A0000000000B7C4 + EF00C7C6C500E1E1E000F0F0F00094A0C8003D5DC9002D50C400183BAD001739 + A8001738A7001D40B300284BBF003757C300D1D0D000EDECEC00DDDCDB00B1AF + AE00A4B5E80000000000B3B3B3000000000000000000000000003A519D00546D + C1002D52D100365BD3003D60D500496AD8009DAEE9009CADE80096A8E60093A6 + E5008197DF002348C300052EB700042CB200042AAB00042BAD00042CB2002F53 + C9005069BF003D54A30000000000000000002A3C760003279F00032699001032 + A300032699001032A30003279F001032A30003279F000326990003279F000326 + 9C001033A800032699001032A30003279F0003279F0003279F0003279F000327 + 9F0003279F0003279F002947AD002A3C76000000000000000000000000000000 + 000000000000566FC3003F5396002B50C800042FBE00042FBE00042FBD00042F + BD00042EBC00042EBC00042EBB000831BC004F66B100384D9600BCC8F3000000 + 0000000000000000000000000000000000000000000000000000000000003344 + 8000E7E6E600F3F3F300F7F7F700BAB9B8007580A700233F9C00425AAB00425A + AA00455CA700334EA500203B9800747FA500EBEAEA00F9F9F900EFEFEF009EA3 + B7002F3E7300000000009A9A9A0000000000000000006D85D6004F64AD005272 + DB004668DA005070DD005373DE007D95E600A8B8EE00A6B6ED00A1B2EB009EAF + E9006782DC002248C800173EC2000B34BC00042BB000042AAB00042BAC000830 + B8003F60CD004C61A90000000000000000002D3E7C000328A400042695002545 + B000042695002545B0000328A4002545B0000328A400042695000328A4000426 + 95002545B000042695002545B0000328A4000328A4000F32A8003250B5003250 + B5000F32A8000328A4002949B2002D3E7C000000000000000000000000000000 + 00007A8FDC0041559B004E69C4000430C2000430C2000430C2000430C2000430 + C2000430C1000430C100042FC000042FC0003E5FCE004E63A900364D98000000 + 00000000000000000000000000000000000000000000000000007388CB003A49 + 7C00ADB9E100FAFAFA00EBEBEA00CCCAC900A5A3A100797F9800384677003543 + 7500324172003B4B8000797F9800A6A4A300DFDEDD00EEEEEE00FBFBFA004862 + B7003F4E82005D73BE009F9F9F0000000000000000004D63AB005F7DE1004D6F + E100758FE9007691E9007792E900BBC8F400BAC8F400B8C6F300B3C2F200B0BF + F000ACBCEF00496BDA003E61D5003156CF00163DC1000831B900042CB300042A + AB00082FB1004563C70098AAE90000000000324687000D33B3000D2B8F005670 + C9000D2B8F005670C9000E34B3005670C9000E34B3000D2B8F000E34B3000D2B + 8F005670C9000D2B8F005670C9000E34B3000E34B3001B399C00304AA400304A + A4001B399C001439B5002D4EBD0032468700000000000000000000000000BDCB + F400546DC000355AD6000A37CE000D3ACE000E3ACE000E3ACD000E3ACC000E3A + CC000E3ACC000E3ACC000E3ACC000D39CB000A36C9001841CC004C6ACF005871 + C7000000000000000000000000000000000000000000A4B2E5003A4879004C66 + BF005074EA004060CC0098A4CC00C5C3C100D3D2D000A1B3ED00000000000000 + 00000000000000000000A1B3ED00D3D2D000D5D3D20097A2C8003656C2003A5F + DD00506BC8003D4D8200A4A4A4000000000000000000566FC2005E7DE6006180 + E700859DED0088A0EE0088A0EE00C2CEF600C1CDF500C0CCF500BCC9F400B8C6 + F300B5C3F3007892E6004F6FDC004466D800294ECC001940C3000932BA00042B + AC00042BAC006B82D000617ACD000000000035488C002145BD001D378D00788E + D7001D378D00788ED7002549BF00788ED7002549BF001D378D002549BF001D37 + 8D00788ED7001D378D00788ED7002549BF002549BF001C368F006B7CB6006B7C + B6001C368F002549BF003858C50035488C000000000000000000000000004B61 + B4003C61DC001440D4001541D4001B46D5001C46D4001C46D4001D47D4001C46 + D3001C46D3001D47D3001D47D3001C46D2001641D100123ED000284FD300455A + A3008A9EE400000000000000000000000000000000005B71B70042538D004765 + C8005073E8003154CA002541A000D5D4D200A1B3ED0000000000000000000000 + 0000000000000000000000000000A1B3ED009CA3BB001F3A9600274ABE00466B + E7004565D000475A9C009F9F9F0000000000000000005D77CF006684E9007590 + EC0094A9F100A3B5F300B9C7F600CBD5F800C9D4F800C7D2F700C2CEF600C0CC + F500BCC9F400AFBFF1006582E3005575DE00395DD3002A4FCC001A41C300042C + B2003252BB008598D700465FB10000000000384C92003658C8002E4696008398 + DC002E4696008398DC003B5CCA008398DC003B5CCA002E4696003B5CCA002E46 + 96008398DC002E4696008398DC003B5CCA003B5CCA0029408C00828FB900828F + B90029408C003B5CCA004262CB00384C920000000000000000006680D5005067 + B300214CDB001D49DB00234DDB002A53DC002A53DC002A53DC002A53DB002A52 + DA002A52DA002A52DA002A52D9002A52D900244DD7001F49D6001944D500556E + C5003E57A800D1DAF8000000000000000000000000003A4E9000495DA1003D5E + CC004A6DE1002548BE003751AA007382B8000000000000000000000000000000 + 0000000000000000000000000000000000003D4C8100324CA3001B3EB0004D72 + EA004063D5005066B100A4A4A40000000000000000006F89E3007893EF0094AA + F200D6DEFA00D7DFFA00D7DFFA00D7DFFA00D6DEFA00D5DDFA00D1DAF900CED8 + F900C7D2F800BAC8F50097ABEE00728DE8005776DF005372DB009BADE800133B + C0003354C300425FC200364A8B00000000003E539E005A77D9005A71BD00879C + E3005A71BD00879CE3006983DD00879CE3006983DD005A71BD006983DD005A71 + BD00879CE3005A71BD00879CE3006983DD006983DD006983DD006983DD006983 + DD006983DD006782DC005371D7003E539E0000000000526DC9005B75C800466B + E800345DE6003D64E6004368E700466BE700456AE600456AE600456AE6004469 + E500456AE5004469E4004469E4004469E4004469E4004065E300385FE1002F58 + E0005876DC004B61AF00000000000000000000000000222F59004F67B500385B + D1004063D7001D3FB100425AAB00D4D4D4000000000000000000000000000000 + 00000000000000000000000000000000000038477900425AAA001032A1005174 + E9004266DC00546DBF008A8A8A000000000000000000718BE5007E99F0009EB2 + F400DCE3FB00DDE4FB00DDE4FB00DDE4FB00DCE3FB00DAE1FA00D6DEFA00D4DD + FA00C4D0F800C8D3F800C2CEF60094A9EE006481E4007B94E600A1B2EB003D5F + CE004866CC003354C20036488A00000000004158A3005C7ADD00637CCD00849B + E6006A81CE00859BE600738DE100859BE500738DE1006A81CE00738DE1006A81 + CE00859BE5006A81CE00859BE500738DE100738DE100738DE100738DE100728C + E100718BE1006C86E0005372DB004158A300000000004E67BA006380E500365F + EA00456BEB004D72EB005276EC005376EC005477EC005376EB005376EB005376 + EB005376EA005376EA005376EA005376E9005376E9005073E900496EE7003059 + E300456AE6005972CC00000000000000000000000000232F59004F67B500385B + D1004164D8001E40B200425AAB00D6D6D6000000000000000000000000000000 + 00000000000000000000000000000000000039477900465DA8001133A2005174 + E9004266DC00546DBF008A8A8A000000000000000000728DE400819BF100A5B7 + F500D6DEFB00E2E8FC00E2E8FC00E2E8FC00E1E7FC00E0E6FC00DBE2FA00D8E0 + FA00CBD6F900CED8F900C9D4F800C3CFF600758FE8009CAEED00A8B8EE004062 + D2007C92DD007289D600364A900000000000455CA9003158D900375CDA00395E + DA003B60DA003B60DA003B60DA003B60DA003B60DA003B60DA003B60DA003B60 + DA003B60DA003B60DA003B60DA003B60DA003B60DA003B60DA003B60DA003A5F + DA00395EDA00365BDA003C61DB00455CA900000000005C75CC005579F100355F + ED005478F0005E80F0006182F1006182F0006182F0006182F0006182F0006182 + EF006182EF006182EF006081EE006181EE006181EE006080ED005A7CEC004268 + E900345DE7005677E400BFCCF5000000000000000000374577004E65B200385B + CE004467DB001E41B600435CAD0093A5DE000000000000000000000000000000 + 0000000000000000000000000000000000003C4B7C00425AAB001537A8005275 + EA003F63D900526BBC00A4A4A4000000000000000000647ED100849EF200A4B7 + F600D3DCFB00D5DEFB00E2E8FC00EAEFFD00E9EEFD00E8EDFD00E5EAFD00E1E7 + FC00DFE5FB00D7DFFA00CDD7F900CDD7F800C0CCF500BAC8F400B2C1F2009FB0 + EA008A9FE3006680D7006079CA0000000000BFCCF5004967CA00335BE3002651 + E100335BE200375EE300385FE3003960E3003960E3003960E3003960E3003960 + E3003960E3003960E3003960E3003960E300385FE300385FE300375EE3002C56 + E1002550E100335BE3004B64B900BFCCF500000000006583E9005A7DF2005C7F + F2007B97F4007E99F5007D98F5007D98F5007D98F5007D98F5007D98F5007D98 + F5007D98F500829DF50086A0F500859FF500809BF5007E99F5007B97F4006384 + F3004C71F000466DEF005773CE0000000000000000005D71B90045558F004664 + C7005275E9003356CB002642A2009C9A990096A8E20000000000000000000000 + 000000000000000000000000000096A8E2007A809800203B98002B4EC000476C + E6004666CF00495C9E00A4A4A40000000000000000005D74C2007E99F10099AE + F600D8E0FB00DCE3FC00DEE5FC00E7ECFD00ECF0FE00EBF0FD00DAE1FB00CBD6 + FA00CED8FA00DAE1FA00D6DEFA00D1DAF900C5D1F700BECBF500B6C4F300A0B1 + EB0094A7E7006983D70097A9E80000000000000000004E68BF00506DD000456A + E9004F73EA005578EB005578EB005578EB005578EB005578EB005578EB005578 + EB005578EB005578EB005578EB005578EB005578EB005578EB005578EB004268 + E800446AE900506DD000BFCCF50000000000000000006D8AEA006C8BF3007491 + F4008FA7F60092A9F6008EA6F6008AA3F6008AA3F6008AA3F60086A0F500849E + F500839EF50097ADF7009BB0F7009AAFF70093AAF6008FA7F6008AA3F600718F + F400587CF200436BF0004E68C10000000000000000009FAFE3003F4D7E004B66 + BD005174E9004464CF007985AD00BEBCBA009E9C9B0096A8E200000000000000 + 0000000000000000000096A8E2009E9C9B00ABA9A8007884AA003B5BC5003A5F + DB004F6BC80042518500ACACAC0000000000000000004D67C100728CE50091A8 + F500D8E0FC00E2E8FD00E3E9FD00E2E8FD00E4E9FD00EEF2FE00E4E9FC00DBE2 + FB00E3E8FC00DEE5FB00D9E0FA00D4DDFA00C9D4F800C1CDF500BAC8F400A0B1 + EC00A0B1EA00788CCF00000000000000000000000000BFCDF600516BC4005774 + D6005E80EF006A89F0006E8CF1006E8CF1006E8CF1006E8CF1006E8CF1006E8C + F1006E8CF1006E8CF1006E8CF1006E8CF1006E8CF1006E8CF1006B8AF0005679 + EF005774D500516BC400000000000000000000000000718CEA008EA6F6008AA3 + F6009FB3F700A3B6F800A2B6F8009AAFF70097ADF70093AAF600859FF500829D + F5008AA3F600A7B9F800AABCF800ABBDF800A5B8F800A2B6F8009CB1F7007C97 + F4006183F2004A70F0004E68C00000000000000000000000000034467F004F63 + A5004163D20099A5CC00BFBEBE00C8C6C400BCBBB900B7B5B50093A5DE00D4D4 + D400D4D4D4006C7AB000B7B5B500BDBBB900D6D4D300C2C1C10098A4CB004061 + D0005067B20034447700C7C7C700000000000000000000000000536CC500738D + E000C0CEFA00DDE4FC00E8EDFD00EBF0FD00E9EEFD00E6ECFD00E4E9FD00EDF1 + FE00EAEFFD00E3E8FC00DFE5FB00D9E0FA00CED8F900C5D1F700B7C5F400A9B9 + EF007F93D500455DAA000000000000000000000000000000000000000000C1CD + F6005876DA005F7FEA006A87EB006D8AEB006D8AEB006D8AEB006D8AEB006D8A + EB006D8AEB006D8AEB006D8AEB006D8AEB006B88EB006986EB006281EA005771 + C900C1CDF600000000000000000000000000000000006882DA009DB2F700BDCB + FA00AEBFF800B4C4F900B5C5F900ACBDF800A0B4F7008CA5F600718FF400738C + E1006F87D600C8D4FB00BCCAFA00B3C3F900B8C7F900B4C4F900AEBFF8008AA3 + F6006888F3004E73F1005671CD00000000000000000000000000000000003646 + 8200B4B3B200E8E8E700F9F9F900ECEBEB009CA8D0002642A000425BAC00425A + AB00425AAB003550A800233E9B009CA8CE00F5F4F400F8F8F700E4E3E2007D83 + 97003242780000000000000000000000000000000000000000009CAEEE005B73 + C600AEBFF800CAD5FB00E2E8FD00EEF2FE00EDF1FE00EAEFFD00E3E9FD00E9EE + FD00EAEFFD00E6EBFD00E0E6FC00DBE2FA00CED8F900C1CDF600B0C0F300AFBD + ED00596DB20097A9E80000000000000000000000000000000000000000000000 + 00005771C9005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C800C1CD + F60000000000000000000000000000000000000000006179CC00809AF300B9C8 + F900BAC9FA00B3C3F900B4C4F900A6B9F80096ACF7007D98F5006D8AED005F77 + C800556EC400BAC9FA00CCD7FB00BECCFA00B4C4F900B2C2F900ABBDF800859F + F5006082F200567AF2006882DB0000000000000000000000000000000000ACBB + ED00C4C3C200D8D7D600EBEAEA00BAC6ED004262CD003255CA001D40B300183B + AD00173AAC002245B9002F52C5003E5EC900F8F8F800E7E6E600D4D3D200ACAB + A900A6B5E8000000000000000000000000000000000000000000000000006883 + DC0096ABF100B3C3F900CCD7FB00EAEFFD00EEF2FE00EDF1FE00E6EBFD00E1E7 + FD00E2E8FD00E6ECFD00E1E7FC00DBE2FA00C9D4F900B9C7F600B0C0F3007485 + C400617AD0000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005570CC006F87DA008EA6 + F600CBD6FB00C5D1FA00B5C5F9009EB3F700859FF5007894F400637CCD00617C + D8007993E200859CE800B1C1F900C7D3FB00BAC9FA00B0C0F900A7B9F8007995 + F4006082F2005F7EE700AEBEF3000000000000000000B3B3B300000000000000 + 0000C6C5C300C8C7C600DFDFDE004264D3005174EA005174E8004265D9003E61 + D5003E61D4004669DD004F72E5005376EA00A6B2DB00DDDCDB00C3C2C1008EA0 + D900000000000000000000000000000000000000000000000000000000000000 + 00006883DC005E76C9007992E400A9BBF800B8C7F900C9D5FB00D2DBFB00D0DA + FB00C9D4FA00C6D2F900CED8F900C3CFF800B7C6F700A2B1E5005C72BE000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000C1CDF6005772 + CC006E88DC007A94EA007D97ED006E89E5006A83D3005871C700000000000000 + 0000000000008FA4EA00556FC7006980CF007C96EB007A95EC00738EEB00617D + DA005D76C9006B84DA00000000000000000000000000000000009A9A9A000000 + 000000000000A6B6E90038487C005064AC004D68C0004361C7003A5DD1003E61 + D5003E61D5003F60CF004463CA004D68C50049598E0034447900A6B6E9000000 + 0000B3B3B300ACACAC0000000000000000000000000000000000000000000000 + 0000000000009CAFEE005871C9007B95E80091A8F400A1B5F700ABBDF800ABBC + F700A6B8F700BDCBF900C0CDF800BCCAF7008092D300536CC1009BADEC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005E79D6005771C8005670C7005874CD006B84DD00D3DBF900000000000000 + 0000000000000000000000000000859BE9005670C7005670C7005670C700647E + D9009FB1F0000000000000000000000000000000000000000000D3D3D3009696 + 96000000000000000000000000003A497A00445487004A5C9B005068B600526A + B8005169B9005066AF004B5E9D00455588005E74BB000000000000000000B3B3 + B3009A9A9A000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005670C800677ECD007089DB0096AAEE009DB1 + F200A8B9F30093A6E70091A2DF006F84CD007A91E30000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009F9F9F00BDBDBD0000000000000000008598D8005065AD00344478002A36 + 60002A3661003E4F87005065AD008598D8000000000000000000BDBDBD00BDBD + BD00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009D9B9B0092908F0086858500BFBFBF00C0C0C000C0C0C000C5C5C500C7C7 + C700C7C7C700DADADA00DBDBDB00DCDCDC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000030448A00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000DCDCDC00DADADA00CACACA00C5C5C500C0C0C000C0C0C000213166001521 + 490015214900C0C0C000C1C1C100C7C7C700D2D2D200DADADA00DCDCDC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A5A3A200C2C0BF00AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003349920035447C00B9C6 + F100000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CBCBCB0025325F0025325F002532 + 5F0025325F0025325F0025325F0025325F0025325F0025325F0025325F002532 + 5F0025325F0025325F0025325F0025325F0025325F0025325F0025325F002532 + 5F0025325F0025325F0026346600CBCBCB000000000000000000000000000000 + 0000000000006C82CD001E306E002F3F740038509D004E66B60042548F003751 + AB003751AB001E3377004E66B60038509D003F4F88001E306E006C82CD000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A5A3A200BFBDBC00AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003D54A2006271A7003D54 + A200000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003855B5003A56B5003B57 + B5003C57B4003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58 + B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003C58 + B5003B57B5003A56B50026377400000000000000000000000000000000000000 + 000000000000203372005264A0005268B30039497D003F518D005067B4001F3E + A6001F3EA6004C60A2003F518D0039497D004963B7005264A000203372000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A5A3A200D1D0CF00AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000657ECC00647AC5004051 + 8D008397DE000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003753B2000F34AF001337 + AF00163AB000173AB000173AB000173AB000173AB000173AB000173AB000173A + B000173AB000173AB000173AB000173AB000173AB000173AB000173AB0001539 + B0001337AF000F34AE00283A7C00000000000000000000000000000000000000 + 00000000000031479600465A9E002948AE004E68BC003C58B5001638A7000328 + A0000328A0002443AC003C58B5004E68BC002948AE00465A9E00314796000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A8B7ED005D78CF004664 + C9004F63A4000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000415EBF001F44BC00274A + BD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002D4E + BD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002C4E + BD00284BBD001F44BC002D4186000000000000000000000000006F86D200253C + 85002B429000455793004C66C000042AAA00042AAA00042AAA00042AAA00092E + AC00092EAC00042AAA00042AAA00042AAA001B3EB2004C66C00045579300344C + 9C00253C85007F95DB0000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D0D8F700728AD900173E + C1005871C800A8B7EE0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004764C600284CC4003254 + C4003556C5003556C5003556C5003556C5003556C5003556C5003556C5003556 + C5003556C5003556C5003556C5003556C5003556C5003556C5003556C5003556 + C5003254C400284CC4002F448D000000000000000000D0D8F700263A8000566A + AE004B5FA1004C67C4001237B400042BAF00042BAF001F42B800506BC800506B + C800516BC2003D5BC1001F42B800042BAF00042BAF001237B4004C67C400485E + A900566AAE00263A800000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000007A8FD700123B + C500375ACE004359AD0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004C6ACD003155CB003C5D + CC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5F + CC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5F + CC003C5DCC003155CB003147920000000000000000004B64B800465A9C004B68 + C9003D5CC5001B40BB00042CB4000D34B6004160C600546DC000364886003345 + 84002E41810044599F00546DC0004160C600042CB400042CB4001B40BB00294C + BF004B68C900465A9C0000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006D83CD00355A + D8000433CF005B76D0004259A900D1DAF8000000000000000000000000000000 + 000000000000000000000000000000000000000000005C79DA004668D8005674 + DA005876DA005876DA005876DA005876DA005876DA005876DA005876DA005876 + DA005876DA005876DA005876DA005876DA005876DA005876DA005876DA005876 + DA005674DA00486AD900374E9D00000000000000000000000000435DB2004659 + 99000F38C1001039C2000F38C1005168B3002B428C00A7B6EC00000000000000 + 00000000000000000000A7B6EC002B428C004766CF000F38C1001039C2005673 + D30045589800435DB20000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006E84CC003E63 + DF000737D6004468E0005A72C000556FC8000000000000000000000000000000 + 000000000000000000000000000000000000000000006581E1005273E000627F + E1006682E1006682E1006682E1006682E1006682E1006682E1006682E1006682 + E1006682E1006682E1006682E1006682E1006682E1006682E1006682E1006682 + E1006380E1005474E0003A51A3000000000000000000000000005A74C7004B61 + AC001A42C8001A42C8003155CD0033488D00A7B7ED0000000000000000000000 + 0000000000000000000000000000A7B7ED005B75CB003055CD001A42C8004E6D + D4004960AB005A74C70000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000667DC700607F + E8001241DE002450E100607EE2005369B4000000000000000000000000000000 + 000000000000000000000000000000000000000000006D89E8005D7DE7006F8B + E800748FE900748FE900748FE900748FE900748FE900748FE900748FE900748F + E900748FE900748FE900748FE900748FE900748FE900748FE900748FE900748F + E900718CE900607FE7003C55A800000000000000000096A9E80030499C005A72 + C300244BCE00244BCE00506FD800506AC0000000000000000000000000000000 + 0000000000000000000000000000000000004D64AF004F6FD800234ACE003D60 + D4005871C30030499C0000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A7004C63B200455EB3005E77CE007189DA005973 + CC004762B90044579B00475DA7004862B6005C77D2005E7CE2006583E7006681 + D8005970C000425BB40000000000000000000000000000000000000000000000 + 00000000000000000000000000004A63BA004A63BA004A63BA005D74C2007995 + F3002855EC002855EC002C58EC006282EF007790E20000000000000000000000 + 000000000000000000000000000000000000000000007C97F400708EF400829D + F4008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6 + F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6 + F50088A1F5007794F400425CB30000000000000000005D78D5005273E0004669 + DD003A5FDB003A5FDB006481E200000000000000000000000000000000000000 + 0000000000000000000000000000000000003E549D006481E300355BDA00395E + DB004367DD004B6DDE002D459400000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A7006886EB006D87E0005F7AD500546EC200546F + C8005A74CB004E6DD6003B5DCD002E52CA003E62D8004568DE005778E5007994 + F1007C97F4006881DB0000000000000000000000000000000000000000000000 + 00000000000000000000000000008BA1EA006F8BEB006E8BEB007993ED006C8B + F300325EEF00325EEF00325EEF00486FF000536CBF00D2DBF800000000000000 + 000000000000000000000000000000000000000000007E99F500708EF400829D + F50093AAF60097ADF70099AFF70099AFF70099AFF70099AFF70099AFF70099AF + F70099AFF70099AFF70099AFF70099AFF70099AFF70099AFF70099AFF70099AF + F70091A8F6007E99F500445DB40000000000000000005E7AD8005676E3004E70 + E2004368E000466AE1006986E600000000000000000000000000000000000000 + 0000000000000000000000000000000000004157A2006B86E1003E63DF004267 + E0004A6DE1004F71E20030489900000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A7006282EC00839DF3007C97F3006886EA005878 + E4004E6FDE001D45CB000D36C1000F38C200395ED6005071E0006583E700869F + F20087A1F5007791EA0000000000000000000000000000000000000000000000 + 00000000000000000000000000008DA3EE005378F100496FF0004C72F1004169 + F0003D66EF003D66EF003D66EF003D66EF007087D6005873D000000000000000 + 000000000000000000000000000000000000000000007D98F5006989F3007995 + F40088A2F6008FA7F60098AEF700A3B6F800A3B6F800A3B6F800A3B6F800A3B6 + F800A3B6F800A3B6F800A3B6F800A3B6F800A3B6F800A3B6F800A3B6F800A0B4 + F70096ACF700819BF500455EB6000000000000000000455CA700556EBF00718B + E5004D70E5004A6EE500718DEA00AABAEF000000000000000000000000000000 + 000000000000000000000000000000000000485EA8006F8BEA00496DE5005677 + E6006D88E500546DBF003E58B300000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700879FF000A5B8F70093AAF5006D8AEA005A7A + E400476ADD002047CB000D36C0000F38C2003A5ED6005071E0006684E70091A8 + F3009FB3F600839BEC0000000000000000000000000000000000000000000000 + 00000000000000000000000000008498DF007693F4005176F1005176F1005176 + F1005176F10091A7F00099ADF10096ABF1008EA5EF008DA0E100526CC7000000 + 000000000000000000000000000000000000000000005C79DA002E55D6002E55 + D6002E55D6002E55D6006D87E0008DA5F60094ABF60097ADF7009AAFF7009AAF + F7009AAFF7009AAFF7009AAFF7009AAFF7009AAFF70099AFF70097ADF70090A8 + F60086A0F5007794F4004761B800000000000000000000000000667ED5005C75 + C7006081EE006383EF006A88EE00425BAC00ADBCF10000000000000000000000 + 0000000000000000000000000000ADBCF1007690E5006A89EF006383EF007994 + F1005872C600667ED50000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A70089A1F000A5B8F70093AAF5006D8AEA005A7A + E400476ADD002047CB000D36C0000F38C2003A5ED6005071E0006684E70091A8 + F300A0B4F600849CEC0000000000000000000000000000000000000000000000 + 0000000000000000000000000000798ED70090A8F6005D80F2005D80F2005D80 + F2005D80F2006B81CF00506AC100506AC100506AC100506AC100566FCD000000 + 000000000000000000000000000000000000000000007391F400456CF000456C + F000456CF000456CF0003A60E000A8BAF800ACBDF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800ABBD + F800A7B9F800A2B6F8004962B9000000000000000000000000005370CB005D73 + BE006989F2006E8CF2006A89F2006982D6003E59B100ADBCF100000000000000 + 00000000000000000000ADBCF1003E59B2007C97F4006989F2006E8CF200849E + F4005970BC005370CB0000000000000000000000000000000000000000000000 + 0000A7A5A300D2D1D000AEACAB0089A1F000A5B8F70093AAF5006D8AEA005A7A + E400476ADD002047CB000D36C0000F38C2003A5ED6005071E0006684E70091A8 + F300A0B4F600849CEC0000000000000000000000000000000000000000000000 + 00000000000000000000000000007489D1009BB0F7006787F3006787F3006787 + F3006787F300859BE900516BC400000000000000000000000000000000000000 + 000000000000000000000000000000000000000000007894F4004B71F1004B71 + F1004B71F1004B71F1004B71F100365BD700365BD700365BD700365BD700365B + D700365BD700365BD700365BD700365BD700365BD700365BD700365BD700365B + D700365BD700365BD7004A63BB000000000000000000728BDD005069BA006F8B + EB006E8DF3007894F4007894F4007F9AF5006B84D700465FB300ADBCF1000000 + 0000000000005D79D100465FB3006781D5007491F4007894F4007894F4007290 + F4006A88EB004F68BA0000000000000000000000000000000000000000000000 + 0000A5A3A200BFBDBC00AAA7A70089A1F000A5B8F70093AAF5006D8AEA005A7A + E400476ADD002047CB000D36C0000F38C2003A5ED6005071E0006684E70091A8 + F3009DB2F600839CED0000000000000000000000000000000000000000000000 + 00000000000000000000000000005972C600B1C1F500839EF5007D98F5007D98 + F5007D98F5008BA4F600879EE900536DC6000000000000000000000000000000 + 00000000000000000000000000000000000000000000819BF5005579F1005579 + F1005579F1005579F1005579F1005579F1005D80F2007E99F500819BF500819B + F500819BF500819BF500819BF500819BF500819BF500819BF500819BF500819B + F500819BF500819BF5004C66BD000000000000000000D2DBF800425CB6006983 + D9006A82D100809BF2007E99F5008DA5F60088A2F6008BA4F6008DA5F60086A0 + F50086A0F5008EA6F6008CA5F60088A2F6008BA4F600829CF500849EF200617C + D8006882D900425CB60000000000000000000000000000000000000000000000 + 0000A5A3A200BFBDBC00AAA7A700849DF000A4B7F70093AAF5006D8AEA005A7A + E400476ADD002047CB000D36C0000F38C200385DD6004D6FDF006280E60089A1 + F20091A8F5007E98EC0000000000000000000000000000000000000000000000 + 00000000000000000000000000005973CF00AEBEF30094ABF60086A0F50086A0 + F50086A0F50089A2F60097ADF7006C83D2000000000000000000000000000000 + 00000000000000000000000000000000000000000000849EF5005B7EF2005B7E + F2005B7EF2005B7EF2005B7EF2006384F300829CF5007E91D5004E67BE004E67 + BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67 + BE004E67BE004E67BE004E68C1000000000000000000000000008EA2E9004460 + BC004964C100667DCA00849EF20097ADF70097ADF70097ADF70090A8F6008DA5 + F6008EA6F60094ABF60097ADF70097ADF70093AAF60089A2F300687FCA004E6B + C8004460BC008EA2E90000000000000000000000000000000000000000000000 + 0000A5A3A200BFBDBC00AAA7A7007691EE009CB1F50091A8F4006D8AEB005979 + E4004669DD001F46CB00143CC3002147C7004567D8005D7BE1006885E7007994 + F1007B96F3007691EC0000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D50099AAE800A5B8F80092A9F60092A9 + F60092A9F60092A9F6009AAFF7008EA4EB000000000000000000000000000000 + 0000000000000000000000000000000000000000000088A2F6006183F2006183 + F2006183F2006183F2006183F200839EF5008195D600536CC000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004965C2006E85D20094ABF6009BB0F7009EB3F700A2B6F800A2B6 + F800A2B6F800A1B5F7009EB3F7009DB2F70095ACF700748AD5004965C2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000817F7E00B9B8B600C1C0BE00787F9E007A93E7007994EF006A87EA006984 + E100647ED800576DB9005468A800475DA7006981D600748DDD00778DDF00546E + C800637BCD006C85DC0000000000000000000000000000000000000000000000 + 0000000000000000000000000000859CE9008699DD00BAC9FA00A6B9F800A6B9 + F800A6B9F800A6B9F800A6B9F800A2B6F8005771C90000000000000000000000 + 000000000000000000000000000000000000000000008EA6F6008EA6F6008EA6 + F6008EA6F6008EA6F6008EA6F600546DC10091A5EB0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004763BF006D87DB007C96ED006A80C8006D84D20099AEF200A0B4 + F7009EB3F7008399E3006D84D2006A7FC7007491F400718ADD00405DBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BFBEBC00D9D8D700E3E2E1007A7877005974CF005F77C9005E74C000556B + B800516BC200899EE500C9D4F600000000000000000000000000000000000000 + 000092A7ED005874CD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000AFBFF3007D91D600B0C0F900A1B5F700A4B7 + F800A5B8F800A2B6F8009BB0F7008AA3F6006D84D4007C93E600000000000000 + 00000000000000000000000000000000000000000000506AC100506AC100506A + C100506AC100506AC100506AC10091A5EB000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008197E5004862BC005971C2005974D0006B85DB006B84D6008AA3 + F60087A1F5004965C0006B85DB005974D000627BCF004862BC008197E5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CFCDCC00EBEBEA00F8F8F8007A7877000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D3DBF9006F84D000A7B8F300B1C1F500B2C2 + F500B2C2F500B1C1F500B0C0F500AABAF30093A6E8005872CA00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000D2DBF8008197E50000000000000000005871C300728D + EA00708CEA009DAFEE0000000000000000006B85DC00D2DBF800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009C9A9A00959392008C8A8900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D3D3D300C2C2C2003B4E + 91003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E + 8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E + 8E003B4E9100C2C2C200000000000000000000000000D6D6D600566AB0002836 + 6700283667002836670028366700283667002836670028366700283667002836 + 6700283667002836670028366700283667002836670028366700283667002836 + 6700283667005468AB00DEDEDE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000030448900BECAF4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000283B80004F6CCD00506C + CB00506ABE00506AC000516BC500475CA5002E46920000000000000000000000 + 00000000000000000000000000002E469200516BC500506BC300506ABE00506C + CB004F6CCD004F6CCD0000000000000000000000000000000000000000003850 + A3000536DB000536DB000536DB000536DB000536DB000536DB000536DB000536 + DB000536DB000536DB000536DB000536DB000536DB000536DB000536DB004368 + E4003850A3000000000000000000000000000000000000000000293C8000042D + B6000000000000000000042DB6006780D3006780D3005B75CF005772CE00536F + CC004765C9004765C9003F5EC7003758C5003758C5000931B800000000000000 + 0000042DB600293C800000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000026366A007D94E1004256 + 9C00687FCF000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000293D8400042EBC00042E + BC00042EBC00042EBC00042EBC002A408B00BBC7F20000000000000000000000 + 0000000000000000000000000000BBC7F2001B389800042EBC00042EBC00042E + BC00042EBC00042EBC0000000000000000000000000000000000000000003851 + A1000535D8000535D8000535D8000535D8000535D8000535D8000535D8000535 + D8000535D8000535D8000535D8000535D8000535D8000535D8000535D8004368 + E1003851A10000000000000000000000000000000000000000002A3E8200042D + B7000000000000000000042DB7003052C4003052C4003052C4003052C4003052 + C4003052C4003052C4003052C4003052C4003052C400042DB700000000000000 + 0000042DB7002A3E820000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000028387000869FF1007D95 + E6004A5DA0000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002B3E8600042FBF00042F + BF00042FBF00042FBF001D399C00BBC7F2000000000000000000000000000000 + 0000000000000000000000000000000000002C438E001D399C00042FBF00042F + BF00042FBF00042FBF000000000000000000000000000000000000000000384F + 9F000534D4000534D4000534D4000534D4000534D4000534D4000534D4000534 + D4000534D4000534D4000534D4000534D4000534D4000534D4000534D4004367 + DF00384F9F0000000000000000000000000000000000000000002B3F8400042E + B900042EB900042EB900042EB900395AC800395AC800395AC800395AC800395A + C800395AC800395AC800395AC800395AC800395AC800042EB900042EB900042E + B900042EB9002B3F840000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002B3B75008BA1EB00829A + EA006A87EB003349900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002E428D000431C5000431 + C5000431C5000431C5002148CC003A4D9300869AE10000000000000000000000 + 0000000000000000000000000000BBC8F300566CB7003358D0000431C5000431 + C5000431C5000431C5000000000000000000000000000000000000000000384E + 9B000634CD000735CD000735CD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000735CD000735CD004366 + D900384E9B0000000000000000000000000000000000000000002D418700042E + BC00042EBC00042EBC00042EBC004C6ACF004C6ACF004C6ACF004C6ACF004C6A + CF004C6ACF004C6ACF004C6ACF004C6ACF004C6ACF00042EBC00042EBC00042E + BC00042EBC002D41870000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000304180009CAEED007F96 + E1004B67C7004368E40030418000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002F4590000432C9000432 + C9001F3EA5000432C9000432C9005671C8003B4F9600889CE200000000000000 + 00000000000000000000BDC8F300354B99003358D3000432C9000432C9001F3E + A5000432C9000432C9000000000000000000000000000000000000000000384E + 98000E3ACB000F3ACB000F3ACB000C2FA3000C2FA3000C2FA3000C2FA3000C2F + A3000C2FA3000C2FA3000C2FA3000C2FA3000C2FA3000F3ACB000F3ACB004567 + D600384E980000000000000000000000000000000000000000002F438A00042F + BE000000000000000000042FBE005673D3005673D3005673D3005673D3005673 + D3005673D3005673D3005673D3005673D3005673D300042FBE00000000000000 + 0000042FBE002F438A0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000334486009EB0EE007F96 + E1004B67C7004468E40033448600000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000324893000835CC002341 + A800334A9A002442A9000835CC00254DD2005A74CB003E539A00000000000000 + 000000000000BDC9F300374E9C005B71BD000835CC000835CC002442A900334A + 9A002341A8000835CC000000000000000000000000000000000000000000384D + 9800153FCA001740CA001740CA001740CA001740CA001740CA001740CA001740 + CA001740CA001740CA001740CA001740CA001740CA001740CA001740CA004868 + D500384D9800000000000000000000000000000000000000000030448C00042F + C0000000000000000000042FC0005F7AD7005F7AD7005F7AD7005F7AD7005F7A + D7005F7AD7005F7AD7005F7AD7005F7AD7005F7AD700042FC000000000000000 + 0000042FC00030448C0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000035488B009FB1EE007F96 + E1004B67C7004468E40035488B00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004159B0003B53A900BCC9 + F40000000000BCC9F400384FA0001945D6001945D6003359D9004358A1008A9E + E400BDC9F400647AC5004468DE001945D600324FB400324B9F0091A6EB000000 + 0000BCC9F4003B53A90000000000000000000000000000000000000000003A50 + 9B00254CCF00274ECF00274ECF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00274ECF00274ECF004D6D + D8003A509B000000000000000000000000000000000000000000324790000430 + C3000430C3000430C3000430C300718ADD00718ADD00718ADD00718ADD00718A + DD00718ADD00718ADD00718ADD00718ADD00718ADD000430C3000430C3000430 + C3000430C3003247900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003A4F9700A0B2EE007F96 + E1004B67C7004469E5003A4F9700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BDC9F4003956BA00224CDA00224CDA006B84D600465A + A5003D55A6004B6EE100224CDA00224CDA00354EA10091A6EC00000000000000 + 0000000000000000000000000000000000000000000000000000000000003B51 + 9C002D53D2003055D2003055D2002745A9002745A9002745A9002745A9002745 + A9002745A9002745A9002745A9002745A9002745A9003055D2003055D2005070 + D9003B519C000000000000000000000000000000000000000000334893000430 + C4000430C4000430C4000430C4007B92E0007B92E0007B92E0007B92E0007B92 + E0007B92E0007B92E0007B92E0007B92E0007B92E0000430C4000430C4000430 + C4000430C4003348930000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003D539E00A0B2EE007F96 + E1004B67C7004469E5003D539E00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000003C53A700415DBE002B54DE004368E2007189 + D9006E84CD002B54DE002B54DE00415DBE0093A7EC0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003C53 + 9D003358D400375CD400375CD400375CD400375CD400375CD400375CD400375C + D400375CD400375CD400375CD400375CD400375CD400375CD400375CD4005271 + DA003C539D000000000000000000000000000000000000000000354A95000532 + C70000000000000000000532C700859BE300859BE300859BE300859BE300859B + E300859BE300859BE300859BE300859BE300859BE3000532C700000000000000 + 00000532C700354A950000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004056A300A1B3EE007F96 + E1004B67C7004569E5004056A300000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000BECAF4004059AD003B62E5003B62 + E5003B62E5004B67CA003B55AC0094A8EE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003E55 + A1004366D900486AD900486AD900FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00486AD900486ADA005776 + DC003E55A1000000000000000000000000000000000000000000394F99000D39 + CB000D39CB000D39CB000D39CB009CAEEA009CAEEA009CAEEA009CAEEA009CAE + EA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA000D39CB000D39CB000D39 + CB000D39CB00394F990000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004962B9006B82CC00B4C4F900A7B9 + F80098AEF7007692F2006279CA00465EB3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000BECCF500455DB200446AE900446A + E900446AE9006C85DE005065B3008CA1E8000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004056 + A2004A6CDB005171DD005171DD00405AB000405AB000405AB000405AB000405A + B000405AB000405AB000405AB000405AB000405AB0005171DD005070DD005977 + DD004056A20000000000000000000000000000000000000000003B519B00113D + CE00113DCE00113DCE00113DCE00113DCE00113DCE00113DCE00113DCE00113D + CE00113DCE00113DCE00113DCE00113DCE00113DCE00113DCE00113DCE00113D + CE00113DCE003B519B0000000000000000000000000000000000000000000000 + 0000000000000000000000000000516AC4006980CD0087A0F3009DB1F3008AA3 + F4007993ED005C7AE0006081EE006078CC00BFCCF50000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000BECCF500475FB5008396D9004B70EC004B70 + EC004B70EC006081EF00879CE5005369B6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004157 + A5005272DD005978DE005978DE005978DE005978DE005978DE005978DE005978 + DE005978DE005978DE005978DE005978DE005978DE005978DE005978DE005D7B + E0004157A50000000000000000000000000000000000000000003E539E001641 + D1001641D1001641D1001641D100728CE300728CE3006783E0006480E000607D + E0005574DD005574DD004D6EDC004568DA004568DA001641D1001641D1001641 + D1001641D1003E539E0000000000000000000000000000000000000000000000 + 0000000000000000000000000000677FD0007A95F1008CA1E80096ACF500839D + F100728DEA004F6ED7004667D4005276EC004D65BE00BFCDF600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BFCCF5008DA0DF007C97F4005D80F2006A83D700455F + BB004962BB005D80F2005D80F200708EF400586FBD008FA3E900000000000000 + 000000000000000000000000000000000000000000000000000000000000435A + A800617FE2006A86E3006A86E300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006A86E3006985E300617E + E100435AA80000000000000000000000000000000000000000004258A2001E48 + D50000000000000000001E48D5004E6FDE004E6FDE004E6FDE004E6FDE004E6F + DE004E6FDE004E6FDE004E6FDE004E6FDE004E6FDE001E48D500000000000000 + 00001E48D5004258A20000000000000000000000000000000000000000000000 + 000000000000556FCD00637CD1006B85D9008096E1009CAEED0088A1F3007792 + EC006582E4004363CF003354C3002446B5003C63E8005B75CF00506AC3000000 + 000000000000000000000000000000000000000000004E69C5004A65C000BFCC + F50000000000BFCCF5004D66BD00829DF5006686F3006686F3004761BC0098AB + F000BFCCF5007089D9006686F3006686F30098AAEB005970BF0090A3EA000000 + 0000BFCCF5004A65C0000000000000000000000000000000000000000000445B + AA006985E300728CE500728CE5005A6FB7005A6FB7005A6FB7005A6FB7005A6F + B7005A6FB7005A6FB7005A6FB7005A6FB7005A6FB700728CE500718BE5006481 + E300445BAA0000000000000000000000000000000000000000004359A500234C + D700234CD700234CD700234CD7005978E0005978E0005978E0005978E0005978 + E0005978E0005978E0005978E0005978E0005978E000234CD700234CD700234C + D700234CD7004359A50000000000000000000000000000000000000000000000 + 00005671CD00637CD1005C7DEC006E86D7008A9FE500A1B3F000819BF000718C + E9005F7DE1003D5ECB002D4EBD001F41B0001033A500375FE7005C76D000BFCD + F60000000000000000000000000000000000000000004761B8008296DA004862 + BB00BFCCF5004E67BE0096A6E1006E8DF3006E8DF300778DDB0098ABF0000000 + 0000000000004C65BD00778DDB006E8DF3007F9AF5009CAEEC005C73BF00BFCC + F5004862BB008296DA000000000000000000000000000000000000000000465D + AB00708BE5007A94E8007A94E8007A94E8007A94E8007A94E8007A94E8007A94 + E8007A94E8007A94E8007A94E8007A94E8007A94E8007A94E8007892E6006683 + E400465DAB000000000000000000000000000000000000000000455BA8002750 + D9002750D9002750D9002750D9006481E4006481E4006481E4006481E4006481 + E4006481E4006481E4006481E4006481E4006481E4002750D9002750D9002750 + D9002750D900455BA80000000000000000000000000000000000000000000000 + 0000607AD1005375EB004D69C8007990DD0094A8EA00A0B3F3007B96EE006A86 + E6005977DD003758C600284AB9001A3CAB0004248F000C2E9F00375FE700526C + C500BFCDF600000000000000000000000000000000004963BA007F9AF50097AD + F700A0AFE40097ADF7007F9AF5008498DE004B64BF0098ABF000000000000000 + 00000000000000000000BFCCF5004F67BF007F9AF5007F9AF5008DA5F60091A2 + DE0097ADF7007F9AF5000000000000000000000000000000000000000000485F + AF007F98EA008AA0EB008AA0EB008AA0EB008AA0EB008AA0EB008AA0EB008AA0 + EB008AA0EB008AA0EB008AA0EB008AA0EB008AA0EB008AA0EB0089A0EB006A86 + E500485FAF0000000000000000000000000000000000000000004A60AD003058 + DE0000000000000000003058DE007A94EA007A94EA007A94EA007A94EA007A94 + EA007A94EA007A94EA007A94EA007A94EA007A94EA003058DE00000000000000 + 00003058DE004A60AD00000000000000000000000000000000005973CF005F79 + D2003251B7003F5BB8005772C9008DA2E700A1B3F10092A9F4006F8BE8005D7B + E0004C6CD5002C4DBC001E40AF001031A00003238D0003238D0003238D00375F + E7005E78D200536EC7000000000000000000000000004B64BB0087A1F50087A1 + F5009EB3F70087A1F50087A1F5004D66C00098ABF00000000000000000000000 + 0000000000000000000000000000BFCCF5008A9EE00087A1F50087A1F5009EB3 + F70087A1F50087A1F50000000000000000000000000000000000000000004960 + B000879EEB0093A8ED0093A8ED0093A8ED0093A8ED0093A8ED0093A8ED0093A8 + ED0093A8ED0093A8ED0093A8ED007D8EC9007D8EC9007D8EC9007B8DC9005A73 + C4004960B00000000000000000000000000000000000000000004C62AF00355C + E0000000000000000000355CE000849CEC00849CEC00849CEC00849CEC00849C + EC00849CEC00849CEC00849CEC00849CEC00849CEC00355CE000000000000000 + 0000355CE0004C62AF000000000000000000000000005973CF005F78D3004068 + EE003B59BF00516DCB006882D8009CAFEE00A3B5F40091A8F400708CE900607E + E3005070DA003255C7002447BC00183BB1001033A6001033A6001033A600193E + B8003B64ED005F78D300C1CDF60000000000000000004C65BC008FA7F6008FA7 + F6008FA7F6008FA7F60090A2E20098ABF0000000000000000000000000000000 + 000000000000000000000000000000000000526AC20090A2E2008FA7F6008FA7 + F6008FA7F6008FA7F60000000000000000000000000000000000000000004B62 + B2008EA4ED009BAEEF009BAEEF009BAEEF009BAEEF009BAEEF009BAEEF009BAE + EF009BAEEF009BAEEF009BAEEF008494CC00485EAB00485EAB00485EAB005167 + B0004B62B20000000000000000000000000000000000000000004F64B1003960 + E2003960E2003960E2003960E2008FA5EF008FA5EF008FA5EF008FA5EF008FA5 + EF008FA5EF008FA5EF008FA5EF008FA5EF008FA5EF003960E2003960E2003960 + E2003960E2004F64B1000000000000000000000000005F79D3003C65EE00426A + F0006183F2007491F40088A2F600B3C3F900ADBEF8009EB3F700829CF5007491 + F4006787F3004F74F100446BF0003B64EF003761EF003761EF003761EF003761 + EF003761EF003B64ED005872CD0000000000000000004E67BE00A1B5F700A1B5 + F700A1B5F700A1B5F700B3C3F8004E68C100BFCDF60000000000000000000000 + 0000000000000000000000000000BFCDF6009BABDE00B3C3F800A1B5F700A1B5 + F700A1B5F700A1B5F70000000000000000000000000000000000000000004D65 + B6009BAEF000ABBBF200ABBBF200ABBBF200ABBBF200ABBBF200ABBBF200ABBB + F200ABBBF200ABBBF200ABBBF20092A0CF00C7D2F600AEBEF200718CE7004C65 + B900BFCCF5000000000000000000000000000000000000000000536AB7004267 + E6004267E6004267E6004267E600A2B4F300A2B4F300A2B4F300A2B4F300A2B4 + F300A2B4F300A2B4F300A2B4F300A2B4F300A2B4F3004267E6004267E6004267 + E6004267E600536AB7000000000000000000000000003761EF000936CC00214A + D4005475E4006E8AE900869EEF0098ADF50088A1F5007B96F0005C7BE2004E6E + DA003F60CF002648B900193BAB000E2F9E000324930003269A000328A000042B + AD00042DB500042EBB005872C90000000000000000004F69C000A9BBF800A9BB + F800A9BBF800A9BBF800A9BBF800A0ADDF00526CC70000000000000000000000 + 0000000000000000000000000000526CC700B9C8F900A9BBF800A9BBF800A9BB + F800A9BBF800A9BBF80000000000000000000000000000000000000000004E66 + B80097ABEF00AEBEF300B1C1F300B2C1F300B2C1F300B2C1F300B2C1F300B2C1 + F300B2C1F300B2C1F300B1C1F30096A3CF00A6B7F100738EE800546DC200BFCC + F500000000000000000000000000000000000000000000000000546BB900466B + E7000000000000000000466BE700AABBF400AABBF400AABBF400AABBF400AABB + F400AABBF400AABBF400AABBF400AABBF400AABBF400466BE700000000000000 + 0000466BE700546BB900000000000000000000000000486CE800496DE8005477 + EA006D8AED007994EE00849DF0008BA2F000849DF0007E98EE00708DED006A88 + ED006483EB005678EA005174EA004C70E800486CE800486CE800486CE800486C + E800486CE800486CE8005872C9000000000000000000556FCC005069C0005069 + C0005069C0005069C0005069C0005069C000556FCC0000000000000000000000 + 0000000000000000000000000000556FCC005069C0005069C0005069C0005069 + C0005069C0005069C00000000000000000000000000000000000000000004F67 + BA00879FEE009DB0F100A5B6F100A8B9F200A8B9F200A8B9F200A8B9F200A8B9 + F200A8B9F200A7B8F100A5B6F1008898CD006986E7005770C4004F67BD000000 + 0000000000000000000000000000000000000000000000000000576DBB00496E + E9000000000000000000496EE900B2C2F500B2C2F500B2C2F500B2C2F500B2C2 + F500B2C2F500B2C2F500B2C2F500B2C2F500B2C2F500496EE900000000000000 + 0000496EE900576DBB000000000000000000000000005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005B76D200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000516A + C000516ABD00516ABD00516ABD00516ABD00516ABD00516ABD00516ABD00516A + BD00516ABD00516ABD00516ABD00516ABD00516AC000BFCDF500000000000000 + 00000000000000000000000000000000000000000000000000007790E100546B + BE005A71C1005A71C1005A71C1005A71C1005A71C1005A71C1005A71C1005A71 + C1005A71C1005A71C1005A71C1005A71C1005A71C1005A71C1005A71C1005A71 + C100546BBE007790E10000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000455CA5002F3E + 7100475CA400445BA800435AA700435AA600435AA600435AA500435AA500435A + A500445AA5004359A3004359A3004359A2004359A1004359A1004358A0004353 + 8C002D3A660043589F000000000000000000000000003855B5003A56B5003B57 + B5003C57B4003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58 + B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003C58 + B5003B57B5003A56B500263774000000000000000000000000007E7E7E003C3C + 3C007B7B7B008A8A8A00D8D8D800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000A3B3E90029396C003B4A7E0043549300485C9E00485C + 9E00485C9E00435493003B4B80002A396E00A3B3E90000000000000000000000 + 000000000000000000000000000000000000000000006279C90030427E004660 + B400072BA3000328A1000328A00003279F0003279F0003279F0003279D000326 + 9C0003269C0003269A0003269A00032699000325970003259700032596002643 + A300495EA5002E3D71000000000000000000000000003753B2000F34AF001236 + AE00163AB000173AB000173AB000173AB000173AB000173AB000173AB000173A + B000173AB000173AB000173AB000173AB000173AB000173AB000173AB0001539 + B0001337AF000F34AF00283A7C000000000000000000000000009E9E9E005959 + 5900333333006B6B6B0088888800C6C6C6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003E55A3002F3E7400455EAF002F4BAB001E3DA400032699000326 + 9900032699001E3DA4002F4BAB00455EAF002F3E74003E55A300000000000000 + 00000000000000000000000000000000000000000000283C8000495EA8002748 + B5000429A7000429A7000429A6000429A5000328A4000328A3000328A2000328 + A1000328A00003279F0003279F0003279E0003279D0003269C0003269B000326 + 9A002745A800485B9B000000000000000000000000003C58B800173CB5001D40 + B6002244B6002345B7002345B6002446B7002446B7002446B7002446B7002446 + B7002446B7002446B7002446B7002446B7002345B6002345B6002345B7002144 + B7001E41B700183DB6002A3D8100000000000000000000000000000000007676 + 76003C3C3C00ADACAC00C4C3C2008D8D8D0080808000B0B0B000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000293D85003D4E8900465FB0000B2EA10003279F0003279F0003279F000327 + 9F0003279F0003279F0003279F000B2EA100465FB0003D4E8900293D85000000 + 000000000000000000000000000000000000000000002B3D81004361C700042C + B300042CB200042CB100042BB000042BAF00042BAE00042BAD00042BAC00042A + AB00042AAA00042AAA00042AA9000429A8000429A7000429A6000429A6000328 + A4000328A300435EBB000000000000000000000000004764C600284CC4003254 + C4003556C5003556C5003556C5003556C5003556C5003556C5003556C5003556 + C5003556C5002B4BB5000626910003269B00677FCF004160C8003556C5003556 + C5003254C400284CC4002F448D00000000000000000000000000000000000000 + 0000E0DFDF00CECCCC00C0BEBD00A09E9D00605F5E006F6F6E0027377200B6C3 + F000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002D41 + 8A003654B900082DA9000429A8000429A8000429A8000429A8000429A8000429 + A8000429A8000429A8000429A8000429A8000429A800082DA9003654B9002D41 + 8A0000000000000000000000000000000000000000002D4185004362CA00042D + B800042DB600042DB600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00042AAA00042A + AA00042AA900425EBD000000000000000000000000004C6ACD003054CB003C5D + CC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5F + CC003F5FCC000728960003279F0003279F002343AD006D85D5004A68CE003F5F + CC003C5DCC003155CB0031479200000000000000000000000000000000000000 + 0000CBCACA00DAD9D900C7C6C500767574007777760071737A003E508B002738 + 7300B6C5F0000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000445DAE004154 + 9500082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00082EAE004154 + 9500445DAE00000000000000000000000000000000002F438A004363CE000530 + BE00042EBC00042EBB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0003259600042B + AE00042BAE00425FC1000000000000000000000000005471D4003C5FD2004969 + D3004B6AD2004B6AD2004B6AD2004B6AD2004B6AD2004B6AD2004B6AD2004B6A + D2003D5BC100072CA400072CA400072CA400072CA4002646B100758CD9004B6A + D2004969D2003C5FD100344A9700000000000000000000000000000000000000 + 00009A999900E3E2E200C8C7C6009291910085888F001F3A95003E57A9003E50 + 8B00283873000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A7B6EC00384987004863 + BE00042CB100042CB100042CB100042CB100042CB100042CB100042CB100042C + B100042CB100042CB100042CB100042CB100042CB100042CB100042CB1004863 + BE0038498700A7B6EC00000000000000000000000000334993004A6BD800143E + CA00153EC900143DC800123CC8000C30A8000A2FA700092EA700062BA4001437 + A9001437A9000328A1000328A1000328A00003279F0003279F0003279F00042D + B800042DB8004362C9000000000000000000000000006581E1005273E000627F + E1006682E1006682E1006682E1006682E1006682E1006682E1005571CF001435 + A2001035AF001035AF001035AF001035AF001035AF001035AF001035AF00859B + E3006C87E3005373E0003A51A300000000000000000000000000000000000000 + 0000B0B0B00093929200B3B2B2006883E0005070DC003B5CCB00092A99000F2D + 93003E57A900293A7500B6C5F100000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000394B8E004A67C800133A + BF000C35BE000C35BE000C35BE00FFFFFF00FFFFFF00A2B2E5000C35BE000C35 + BE000C35BE00A2B2E500FFFFFF00FFFFFF000C35BE000C35BE000C35BE001239 + BE004A67C800394B8E00000000000000000000000000354B98004E6FDC001D46 + D1002149D1001F48D0001D46CF001A43CD001841CC001640CB002148CC00D1D9 + F400D1D9F4000B36C5000A35C4000833C3000530C1000530C100042FBF00042F + BE00042FBD004363CD000000000000000000000000006D89E8005D7DE7006F8B + E800748FE900748FE900748FE900748FE900748FE900748FE900173496001336 + A9001336A900153AB500153AB500153AB500153AB500153AB5001439B1003250 + B4008B9FE3006885E8003C55A800000000000000000000000000000000000000 + 0000000000006F75900091939D006E8CF2006A88EC005574DD002143B300092A + 99000F2D930040528C002A3B7500B6C5F1000000000000000000000000000000 + 000000000000000000000000000000000000000000004A5DA500395BCD00153D + C400173FC400173FC400173FC400FFFFFF00FFFFFF00FFFFFF00173FC400173F + C400173FC400FFFFFF00FFFFFF00FFFFFF00173FC400173FC400173FC400153D + C400395BCD004A5DA500000000000000000000000000384F9D005172E000264F + D8002C53D7002A51D6002951D600254DD400234BD300214AD200D3DBF500FFFF + FF00FFFFFF00254CCF00153FCB00133DCA000F3AC8000E39C7000C37C7000833 + C4000632C3004364D1000000000000000000000000007591EF006887EE007B96 + F000819BF000819BF000819BF000819BF000819BF000819BF000142F8C00142F + 8C00142F8C001A3FBA001A3FBA001A3FBA001A3FBA001A3FBA002949B400142F + 8C00324B9D008DA3EB004058AE00000000000000000000000000000000000000 + 000000000000BECCF500455FB900829DF5007B97F4006C89EC003B5CCB002143 + B300092A99003E57A90040528D002A3C76000000000000000000000000000000 + 000000000000000000000000000000000000000000005169BD003357CF002148 + CB00234ACB00234ACB00234ACB009DA9D000FFFFFF00FFFFFF00ABBAEB00234A + CB00ABBAEB00FFFFFF00FFFFFF009DA9D000234ACB00234ACB00234ACB002148 + CB003357CF005169BD000000000000000000000000003C54A7005879E800375E + E2004267E3004065E2003F64E2003B61E0004569E100D9E0F800FFFFFF00FFFF + FF00FFFFFF00FFFFFF00D6DDF700365BDA00264ED600244DD600224BD4001E47 + D2001742D0004B6CDB000000000000000000000000007E99F500708EF400829D + F50094ABF60097ADF70099AFF70099AFF70099AFF70099AFF70099AFF70099AF + F70099AFF7002448BF002448BF002448BF002448BF002448BF00B7C7F90099AF + F70091A8F6007E99F500445DB400000000000000000000000000000000000000 + 00000000000000000000000000004762BB00627BD4007D98F5006B89EC005574 + DD003B5CCB00092A99000F2D93003E57A9002C3D7800B6C5F100000000000000 + 000000000000000000000000000000000000000000005D78D5002D54D500365B + D700395ED800395ED800395ED800395ED8003353BE00A4AFD400FFFFFF00FFFF + FF00FFFFFF00A4AFD4003353BE00395ED800395ED800395ED800395ED800385D + D8002E54D5005F79D5000000000000000000000000003F58AB005C7DEC003F66 + E7004D71E9004B6FE700496EE7005073E600DBE2F900FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00D8DFF8003158DC002F56DB002D55DA002951 + D900204AD6004E6FDE000000000000000000000000007C97F4006989F3007995 + F40088A2F6008FA7F60098AEF700A3B6F800A3B6F800A3B6F800A3B6F800A3B6 + F800A3B6F8002646B3002646B3002646B3002646B3002646B300BECCFA00A1B5 + F70095ACF700819BF500455EB600000000000000000000000000000000000000 + 0000000000000000000000000000BFCCF5004963BC00627CD5007894F4006D8A + EC005574DD002143B300092A99000F2D930042548E002C3E7900B6C5F1000000 + 00000000000000000000000000000000000000000000607BD800365CDC004266 + DE004569DF004569DF004569DF004569DF004569DF003D5CC300FFFFFF00FFFF + FF00FFFFFF003D5CC3004569DF004569DF004569DF004569DF004569DF004468 + DF003A5FDC006681DB00000000000000000000000000415AB1006081F000486D + EC00587BED005679EC005477EC00DDE4FA00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005F7EE6003A60E000395FE000335A + DE002952DC005173E200000000000000000000000000ADBEF8009AAFF700A0B4 + F700A7B9F800ACBDF800ADBEF8009FB3F700A4B7F800A6B9F800A7B9F800A7B9 + F800A8BAF800223C9000223C9000223C9000223C9000223C9000C0CEFA009FB3 + F70093AAF600809BF5004660B700000000000000000000000000000000000000 + 000000000000000000000000000000000000BFCCF5004A64BD007E99F5007E99 + F5006D8AEC003B5CCB002143B300092A99003E57A90042548F002D3E79000000 + 00000000000000000000000000000000000000000000657FDC003F64E1004D70 + E3005173E3005173E3005173E3005173E3005173E300BCC9F400FFFFFF00FFFF + FF00FFFFFF00BCC9F4005173E3005173E3005173E3005173E3005173E3004F71 + E3004368E1006C85DE00000000000000000000000000455EB6006787F300597C + F2006E8DF3006D8CF3006B8AF3005B77D5005772CF005570CD00FFFFFF00FFFF + FF00FFFFFF004C69CB004A68CB004866CA004563C9004564CA004D71E700486D + E9003A62E700597BEA000000000000000000000000007391F400456CF000456C + F000456CF000456CF0003A60E000A8BAF800ABBDF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800ABBD + F800A7B9F800A2B6F8004962B900000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004D67C0006C85 + D80088A2F6006D8AEC005574DD003B5CCB00092A99000F2D93003E57A9002E40 + 7B00B6C5F100000000000000000000000000000000006680D6006080EC006080 + EB006886EC006886EC006886EC00C5D1F800FFFFFF00FFFFFF00B2BBDA005670 + C400B2BBDA00FFFFFF00FFFFFF00C5D1F8006886EC006886EC006886EC006181 + EB006181EC006780D6000000000000000000000000004660B7006B8AF3006183 + F2007A96F4007894F4007693F4007391F400718FF4006F8DF300FFFFFF00FFFF + FF00FFFFFF005671CE006384F3006082F1005C7EF0005B7EF000597CEF005276 + EE004269EB005C7EEE000000000000000000000000007894F4004B71F1004B71 + F1004B71F1004B71F1004B71F100365BD700365BD700365BD700365BD700365B + D700365BD700365BD700365BD700365BD700365BD700365BD700365BD700365B + D700365BD700365BD7004A63BB00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF6004E68 + C1006D85D9007E99F5006D8AEC005574DD002143B300092A99000F2D93004354 + 8D004C526E00AFBEEE000000000000000000000000006279C8006E8CF0006887 + EF007491F1007491F1007491F100FFFFFF00FFFFFF00FFFFFF00657FD3007491 + F100657FD300FFFFFF00FFFFFF00FFFFFF007491F1007491F1007491F1006988 + EF006E8CF0006279C8000000000000000000000000004761B8006E8DF3006A8A + F300849EF500829DF500819BF5007E99F5007C97F4007A96F400FFFFFF00FFFF + FF00FFFFFF005E78CF006D8CF3006C8BF3006888F3006686F3006586F3005E80 + F2004B71F0006082F1000000000000000000000000007C97F4005075F1005075 + F1005075F1005075F1005075F1005075F1005075F1005075F1005075F1005075 + F1005075F1005075F1005075F1005075F1005075F1005075F1005075F1005075 + F1005075F1005075F1004B65BC00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000BFCD + F6004F69C2007E99F5007894F4006B89EC003B5CCB002143B300092A99007B7E + 8F0068676900555769000000000000000000000000005169BB007E97F0006F8D + F300819BF500819BF500819BF500FFFFFF00FFFFFF00BAC2DC00819BF500819B + F500819BF500BAC2DC00FFFFFF00FFFFFF00819BF500819BF500819BF5007290 + F4007E98F1005169BB000000000000000000000000004963BA007491F4007995 + F4009BB0F70099AFF70097ADF70093AAF60091A8F60090A8F600FFFFFF00FFFF + FF00FFFFFF007187D100839EF500829CF5007F9AF5007D98F5007B97F400718F + F400597CF2006686F300000000000000000000000000849EF5005B7EF2005B7E + F2005B7EF2005B7EF2005B7EF2006384F300829CF5007E91D5004E67BE004E67 + BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67 + BE004E67BE004E67BE004E68C100000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000516BC4006881D9007D98F5006C89EC005674D700949AAF00F4F4 + F400E3E2E200B1B2B800697CC2000000000000000000AEBDF200586EBF00869E + F0008FA7F60096ACF70096ACF7008497D8008497D80096ACF70096ACF70096AC + F70096ACF70096ACF7008497D8008497D80096ACF70096ACF70091A8F60089A1 + F000586FBF00AEBDF2000000000000000000000000004B64BB007693F4007D98 + F500A6B9F800A4B7F800A2B6F8009FB3F7009DB2F7009BB0F700FFFFFF00FFFF + FF00FFFFFF007B8FD1008EA6F6008CA5F60089A2F60087A1F500859FF5007995 + F4005F81F2006888F30000000000000000000000000088A2F6006183F2006183 + F2006183F2006183F2006183F200839EF5008195D600536CC000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BFCDF600536DC6006882DA007A95ED00B9BFD400BFBEBC00EEEE + ED00CDCED400898D9C005A6387000000000000000000000000005C76D2006980 + CE008BA4F6009DB2F700A2B6F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6 + F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6F8009CB1F7008FA7F6006F85 + D0005C76D200000000000000000000000000000000004C65BC007C96EF007F9A + F500ADBEF800AFC0F900ADBEF800AABCF800A8BAF800A6B9F800A3B6F800899A + D3008798D2008496D2009AAFF70098AEF70094ABF60092A9F60090A8F6007B97 + F4006283F200718EEE000000000000000000000000008DA5F6006787F3006787 + F3006787F3006787F3006989F3008597D700546DC10091A5EB00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BFCDF600536EC700ADB2C100EDECEC00EDECEC00BFC0 + C6008F93A2008F93A2006A6E7E00000000000000000000000000000000004E68 + C30094ABF60097ADF700A8BAF800AEBFF800AEBFF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800A5B8F80095ACF70095ACF7004E68 + C30000000000000000000000000000000000000000007990E3005F77C8008AA2 + F1008AA3F60091A8F60094ABF60094ABF60093AAF60093AAF60090A8F6008EA6 + F6008DA5F6008AA3F60088A2F60086A0F500829DF500809BF5007995F4007391 + F4007D97EF005D74C700000000000000000000000000506AC100506AC100506A + C100506AC100506AC100506AC10091A5EB000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000787D9300B5B5B900C9CAD000AFB4 + C300B3B8C800B3B9C8007286CC00000000000000000000000000000000000000 + 00004F6AC500758AD3009EB2F400A8BAF800B2C2F900B7C7F900BCCAFA00BCCA + FA00BBCAFA00B6C6F900B1C1F900A7B9F80098ADF2006F85D1004F6AC5000000 + 0000000000000000000000000000000000000000000000000000546FCB006078 + C9007C97F400809BF500829DF500839EF500829DF500829DF500819BF500819B + F500809BF5007F9AF5007E99F5007E99F5007B97F4007A96F4007794F400718B + E6005E75C8006680D90000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006974A1009095A500BCC1 + D000BCC1D100A3A8B80000000000000000000000000000000000000000000000 + 0000000000005E79D3005F76C5009FB3F500A3B6F800A4B7F8009FB3F7009FB3 + F7009FB3F700A3B6F800A0B4F7009FB3F5005F76C5005E79D300000000000000 + 0000000000000000000000000000000000000000000000000000000000007991 + E3005069C0005069C0005069C0005069C0005069C0005069C0005069C0005069 + C0005069C0005069C0005069C0005069C0005069C0005069C0005069C000506A + C3007991E3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000007489C8008E92 + A200828BAF007A8ED40000000000000000000000000000000000000000000000 + 00000000000000000000AEBEF2005C74C500768CD500859AE40090A6F10091A7 + F10090A6F100839AE500758AD5005C73C400AEBEF20000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DADA + DA002F417A002834600028346000283460002834600028346000283460002834 + 600028346000283460002834600028346000283460002834600028346000CACA + CA00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CDD6F6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000092A1D7002635640026356300C3C3C300CACACA00D3D3D300000000000000 + 0000000000000000000000000000D5D5D50090A1D5002532600025326000C8C8 + C800DADADA0000000000000000000000000000000000C2C2C200C0C0C0003345 + 7F0034437B0034437B0034437B0034437B0034437B0034437B0034437B003443 + 7B0034437B0034437B0034437B0034437B0034437B0034437B0034437B003443 + 7B0033457F00C0C0C000D6D6D600000000000000000000000000000000000000 + 00002A3970000525910004208000031D7300031D7300031D7300031D7300031D + 7300031D7300031D7300031D7300031D7300031D7300031D7300031D73000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B6C3F0002939 + 740027366B000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000B9C6 + F100405396003F5AB6003F5AB5002A3D7D00B9C6F10000000000000000000000 + 0000000000000000000000000000B7C5F1003F5291003E58AF003E58AF00283A + 7800B7C5F100000000000000000000000000000000000000000000000000364B + 99007E93D7007D92D7007D92D7007C91D7007C91D7007C91D7007B90D7007B90 + D7007B90D7007A8FD700798FD700798FD700788ED700788ED700778DD70099A9 + E100364B99000000000000000000000000000000000000000000000000000000 + 00002D407F00637BCA005771CB006684EA006684EA006684EA006684EA006684 + EA006684EA006684EA006684EA006684EA006584EA008AA1EF00032288000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000B7C5F1004A5B99003E59 + B1003E59B1002C3B73008195DB00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BAC6F2002C40 + 83003E5AB9000F32A8000F32A800415599002B3F8000B9C6F100000000000000 + 00000000000000000000B9C6F1002A3E7D003F5AB4000F31A0000F31A0004052 + 94002A3C7B00B7C5F1000000000000000000000000000000000000000000384F + 9D008398DC008398DC008297DC008297DC008297DC008196DC008196DC008196 + DC008196DD008095DC007F94DC007F94DC007E94DC007E94DC007E94DD009EAE + E500384F9D000000000000000000000000000000000000000000000000000000 + 000030438400667ECF00536ECB005D7EEB005D7EEB005D7EEB005D7EEB005D7E + EB005D7EEB005D7EEB005D7EEB005D7EEB005D7EEB00879FF00003238D000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000B9C6F1002E4281003F5AB6000F31 + A3000F31A3004A5D9E002D3E79008196DC000000000000000000000000000000 + 00000000000000000000000000000000000000000000BAC6F2002E4288004358 + A0000F34AD00042AAA00042AA9003E5BBC0042569D002D418500000000000000 + 000000000000B9C6F1002C41820041569A000F32A7000328A1000328A1003F5A + B700415598002B3F7F0000000000000000000000000000000000000000003A51 + A2008A9EE100899DE100899DE100889DE100879CE100879CE100869BE100869B + E100869BE100859AE100859AE100859AE1008499E1008499E1008499E100A2B2 + E8003A51A2000000000000000000000000000000000000000000000000000000 + 000032478A006780D3004C68C8005477EA005477EA005477EA005477EA005477 + EA005477EA005477EA005477EA005477EA005477EA00829CF000032493000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000B9C6F100304285004C5FA1000F33A9000328 + A4000328A4003E5AB9004C5FA1002F417E000000000000000000000000000000 + 000000000000000000000000000000000000000000006678B5004261C800183D + BC001036B7001036B7000F35B6000A31B4001338B700405EC40032468E00BAC7 + F200BAC7F2004459A4003F5DC2001035B200042BAD00042BAC00042BAC00042A + AB000F34AE003E5BBD002F428800000000000000000000000000000000003E56 + AA0097AAEC0097AAEC000633C9000633C9000633C9000633C9000633C9000633 + C9000633C90092A7EB0092A7EB0092A7EB0091A6EB0091A6EB0091A6EB00ABBB + F0003E56AA000000000000000000000000000000000000000000000000000000 + 0000374C96006883DB003C5CC6004268E9000434D2004268E9004268E9004268 + E9004268E9004268E9004268E9000434D2004268E9007893F00003279D000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BAC7F2004E62AA003E5CC2001035B400042BB000042B + B000042BB000042BB0001035B4003E5CC200344688008499DF00000000000000 + 000000000000000000000000000000000000000000007D8DC1007D93DC001C42 + C200183EBF001A40C000193FBF00143BBC001037BB00183EBD00465CA900344A + 9200344991003F5EC6001036B700042CB400042CB300042CB200042CB200042B + B0001035B400798ED40032478C00000000000000000000000000000000004159 + AE00A1B3F200A1B3F200A1B3F200A0B3F200A0B3F2009FB2F2009FB2F2009EB1 + F2009EB1F2009DB0F2009DB0F2009CB0F2009BAFF1009BAFF1009BAFF100B1C1 + F4004159AE000000000000000000000000000000000000000000000000000000 + 00003A509A006984DF003455C4003962EA000434D3003962EA003962EA003962 + EA003962EA003962EA003962EA000434D3003962EA00728FEF000328A1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BAC7F200374B94003F5EC7001037B900042DB600042DB600042D + B600042DB600042DB600042DB6001037B9004F65AF0036498C00859AE1000000 + 00000000000000000000000000000000000000000000384E9A007F8FC4007F95 + DF001D44C5002147C7002248C7001E44C4001B42C300163DC1004564CD004860 + AD00485FAD00153CBE000831BA000730B900042DB700042DB700042DB7001037 + B9007A90D8007C8BBE00BAC7F20000000000000000000000000000000000425C + B300A9BBF600A9BBF6001541D3001541D3001541D3001541D3001541D3001541 + D3001541D3001541D3001541D3001541D3001541D3001541D300A3B6F600B8C7 + F800425CB3000000000000000000000000000000000000000000000000000000 + 00003C53A1006985E2002B4EC300305BEA000534D400305BEA00305BEA00305B + EA00305BEA00305BEA00305BEA000534D400305BEA006C8AF0000429A6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BCC8F300394F98005167B200153CC0000932BC000932BC000932BC000932 + BC000932BC000932BC000932BC000932BC004161CC005167B200394C91000000 + 0000000000000000000000000000000000000000000000000000BDC9F4003C53 + A200839AE5002C52D2002A50D1003055D2002E53D1002C52D100264DCE002D52 + CF002B50CF001E46CB001C44CA001A42C900143DC600103AC500173FC700808F + C500394F9B00BCC8F3000000000000000000000000000000000000000000455F + B600B6C6F900B6C6F900244DD600244DD600244DD600244DD600244DD600244D + D600244DD600244DD600244DD600244DD600244DD600244DD600B1C1F900C0CE + FA00455FB6000000000000000000000000000000000000000000000000000000 + 00004259AD006987EA001B41C1001E4DEA000535D6001E4DEA001E4DEA001E4D + EA001E4DEA001E4DEA001E4DEA000535D6001E4DEA006081F000042BB0000000 + 000000000000000000000000000000000000000000000000000000000000BDC9 + F400536BBC00496AD7002C51D000284ECE002A50D0002048CD001C44CC001C44 + CC001C44CC001C44CC001C44CC002A50D000254CCE002C51D000496AD7003D52 + 9C00899EE400000000000000000000000000000000000000000000000000BDCB + F4008393CD00859CE7003056D600375CD800365BD700355AD6003056D5002E54 + D4002C52D300274ED100254CD000234BD0001942CC001E46CE007E95E2003A52 + A000BDC9F4000000000000000000000000000000000000000000000000004660 + B700BCCAFA00BCCAFA00BBCAFA00BBCAFA00BAC9FA00BAC9FA00B9C8F900B9C8 + F900B9C8F900B9C8F900B8C7F900B8C7F900B7C7F900B7C7F900B7C7F900C4D1 + FA004660B7000000000000000000000000000000000000000000000000000000 + 0000455EB2006987ED00133ABE00153CBF000535D7001546EA001546EA001546 + EA001546EA001546EA001546EA000535D7001546EA005A7DF100042DB6000000 + 0000000000000000000000000000000000000000000000000000000000003D56 + A500506ED2005370D2005673D3005B77D4005A78DC002B52D400254DD300254D + D300254DD300254DD300244CD3005A78DC005974D3005673D3005370D2005D72 + B9004056A000D1DAF80000000000000000000000000000000000000000000000 + 00004059AB008495D000869DEA003A5FDC003F64DD003D62DC003A5FDB00385D + DB00355BDA003157D7002E55D6002C53D600254DD4008097E5008292CB00BDC9 + F400000000000000000000000000000000000000000000000000000000004760 + B800C1CEFA00C2CFFA003358D7003358D7003358D7003358D7003358D7003358 + D7003358D7003358D7003358D7003358D7003358D7003358D700BCCAFA00C8D4 + FB004760B8000000000000000000000000000000000000000000000000000000 + 00004761B8006988F1000B34BD009DB2F6000535D7000C3FEA000C3FEA000C3F + EA000C3FEA000C3FEA000C3FEA000535D7000C3FEA005478F000042EBA000000 + 0000000000000000000000000000000000000000000000000000000000004B62 + AF003F56A5003F56A5003F56A5003F56A5005D79D8002A52D9002F56DA002F56 + DA002F56DA002F56DA002951D9005D79D7003F56A5003F56A5003F56A5003F56 + A5003F58AA000000000000000000000000000000000000000000000000000000 + 000000000000BECCF500455EB5006483EA005275E8004F72E7004B6FE600496D + E500466BE4004267E3004166E3004267E2007C8FD100425BB000BDCBF4000000 + 0000000000000000000000000000000000000000000000000000000000004962 + BA00CBD6FB00CBD6FB004164D8004164D8004164D8004164D8004164D8004164 + D8004164D8004164D8004164D8004164D8004164D8004164D800C7D3FB00CFD9 + FB004962BA000000000000000000000000000000000000000000000000000000 + 00004A64BC006989F300042DB6009AAFF3002242AE002245BA000538E4000538 + E4000538E4000538E4000538E4000434D2000538E4004F73EB00042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000445DB100607DE000375FE5004167E6004167 + E6004167E6004167E600375FE500607DE0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BFCCF5004861BA006887EE00597BEC00597BEC005578EB005275 + EA005074EA004C70E800496EE8004B6FE7005670CB00465EB400BFCCF5000000 + 0000000000000000000000000000000000000000000000000000000000004A63 + BB00D0DAFB00D1DBFB00D0DAFB00CFD9FB00CFD9FB00CFD9FB00CED8FB00CED8 + FB00CED8FB00CDD8FB00CDD8FB00CDD8FB00CCD7FB00CCD7FB00CCD7FB00D2DB + FB004A63BB000000000000000000000000000000000000000000000000000000 + 00004B65BD006989F300042CB4009AAEF2009BADEC009AAEF2000537E1000537 + E1000537E1000537E1000537E1000433D0000537E1004F73EA00042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004760B5006381E5003E65EA004A6FEB004A6F + EB004A6FEB004A6FEB003E65EA006280E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BFCCF5004B65BE005975D300577AF0005E80F0006384F1005E80EF005C7E + EF00597CEE005477ED005276ED004E73EC00597BEC005973CF004861B9000000 + 0000000000000000000000000000000000000000000000000000000000004B64 + BC00D5DEFC00D5DEFC005070D9005070D9005070D9005070D9005070D9005070 + D9005070D9005070D9005070D9005070D9005070D9005070D900D0DAFB00D5DE + FC004B64BC000000000000000000000000000000000000000000000000000000 + 00004C66BD006989F300042CB2009AAEF1000433CE000537DE000537DE000537 + DE000537DE000537DE000537DE000433CE000537DE004F72E800042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004964BB006683E800466DEE005478F0005478 + F0005478F0005478F000456CEE006582E8000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000BFCD + F6005B76D5006183F200577BF2007693F4007894F4007592F400718FF4006E8D + F3006B8AF3006888F3006586F3006384F3005277F1004A70F0005C7FF2004D67 + C000BFCDF6000000000000000000000000000000000000000000000000004D66 + BD00DDE4FC00DDE4FC005F7BDA005F7BDA005F7BDA005F7BDA005F7BDA005F7B + DA005F7BDA005F7BDA005F7BDA005F7BDA005F7BDA005F7BDA00D9E1FC00DBE2 + FC004D66BD000000000000000000000000000000000000000000000000000000 + 00004E68BF006989F300042BAD000535D9000432CA000535D9000535D9000535 + D9000535D9000535D9000535D9000432CA000535D9004F71E300042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004D67BE006B88EA005479F1006686F3006686 + F3006686F3006686F3005479F1006A87EA000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF6004E68 + C1006384F3005C7FF2006C8BF300829DF500819BF5007F9AF5007290F400718F + F4006F8DF3006F8DF3006F8DF3006C8BF3006485F300577BF2004E73F1005D78 + D6004E68C100BFCDF60000000000000000000000000000000000000000004E67 + BE00E1E7FD00E1E7FD00E1E7FD00E0E6FC00E0E6FC00E0E6FC00E0E6FC00E0E6 + FC00DFE6FC00DEE5FC00DEE5FC00DEE5FC00DEE5FC00DDE4FC00DDE4FC00DFE6 + FC004E67BE000000000000000000000000000000000000000000000000000000 + 00004F69C0006989F300042AAB000535D6000431C7000535D6000535D6000535 + D6000535D6000535D6000535D6000431C7000535D6005072E200042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004D67BF006D8AEA005C7FF200708EF400708E + F400708EF400708EF4005C7FF2006D8AEA000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCDF6004F69C2005C77 + D6005F81F2007290F400849EF5008CA5F60089A2F600829DF5006B8AF300A3B6 + F800A3B6F8006A8AF3007391F4007592F400718FF4006989F3005A7DF2005D80 + F2005A76D6004F69C20000000000000000000000000000000000000000004F68 + BF00E5EAFD00E5EAFD006D87DB006D87DB006D87DB006D87DB006D87DB006D87 + DB006D87DB006D87DB006D87DB006D87DB006D87DB006D87DB00E1E7FD00E1E7 + FD004F68BF000000000000000000000000000000000000000000000000000000 + 0000506AC1006989F300042AA9000434D3000431C5000434D3000434D3000434 + D3000434D3000434D3000434D3000431C5000434D3004F70DF00042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004E68C000708CEA006485F3007995F4007995 + F4007995F4007995F4006485F300708BEA000000000000000000000000000000 + 00000000000000000000000000000000000000000000778EDB005B7EF2005579 + F10086A0F50098AEF700A0B4F70091A8F6007D98F5006888F3008FA1E000506A + C400506AC40095ACF7005B7EF2006B8AF300829CF500809BF5007995F4005378 + F1003E67F0005075F100506AC40000000000000000000000000000000000516A + C100EAEFFD00EAEFFD00EAEFFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E8ED + FD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E7ECFD00E6EB + FD00516AC1000000000000000000000000000000000000000000000000000000 + 0000526CC3006989F3000328A4000433CE000430C1000433CE000433CE00B2C0 + F000B2C0F0000433CE000433CE000430C1000433CE004F6FDC00042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000506AC1007590EC007491F4008CA5F6008CA5 + F6008CA5F6008BA4F6007491F400748FEC000000000000000000000000000000 + 000000000000000000000000000000000000000000008B9FE0008FA7F600577B + F20089A2F60099AFF7009EB3F700829CF5006C8BF3009AAFF700516BC400BFCD + F600BFCDF6008EA1E00095ACF7005D80F2007E99F500819BF5007A96F4005479 + F1003E67F00086A0F500516BC40000000000000000000000000000000000526B + C200EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00ECF0FE00ECF0FE00ECF0 + FE00ECF0FE00EBF0FD00EBF0FD00C8CCD800C8CBD600C8CBD600C8CCD700C6CA + D700526BC2000000000000000000000000000000000000000000000000000000 + 0000536DC4006989F3000328A2000432CB00042FBF000432CB000432CB000432 + CB000432CB000432CB000432CB00042FBF000432CB004F6FDA00042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000516BC2007892EC007B97F40095ACF70095AC + F70095ACF70095ACF7007B97F4007691EC000000000000000000000000000000 + 00000000000000000000000000000000000000000000526CC50090A2E1009AAF + F7007F9AF5008EA6F60091A8F6006E8DF3009BB0F7008FA2E100BFCDF6000000 + 000000000000526CC5008FA1E10095ACF7006F8DF3007693F400718FF4005378 + F1008DA5F6008D9FE100BFCDF60000000000000000000000000000000000526C + C300F0F3FE00F0F3FE00F0F3FE00EFF3FE00EFF3FE00EFF3FE00EFF3FE00EFF3 + FE00EFF3FE00EEF2FE00EEF2FE00CBCED800516BC100526CC300526CC300526C + C300526CC3000000000000000000000000000000000000000000000000000000 + 0000546EC5006989F3000328A0000431C800042EBC000431C8000431C8000431 + C8000431C8000431C8000431C800042EBC000431C800506FD800042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000526CC3007994EC00829CF5009EB3F7009EB3 + F7009EB3F7009EB3F700819BF5007993EC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF600536E + C7009DB2F7006082F2006082F20090A3E100536EC700BFCDF600000000000000 + 00000000000000000000BFCDF600536EC70095ACF7004F74F1004E73F10091A3 + E100536EC700BFCDF6000000000000000000000000000000000000000000546E + C500F4F7FE00F5F7FE00F5F7FE00F4F7FE00F4F7FE00F4F7FE00F4F7FE00F4F7 + FE00F4F7FE00F3F6FE00F3F6FE00CFD1D800FAFBFF00FAFBFF00F5F7FD00536E + C700BFCDF6000000000000000000000000000000000000000000000000000000 + 00005670C7006888F30003269C000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2000430C2000430C200506ED400042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000546EC5007A94ED00829CF500B0C0F900B0C0 + F900B0C0F900A9BBF800829CF5007993ED000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F60092A4E20092A9F60092A9F600556FC700C1CDF60000000000000000000000 + 0000000000000000000000000000C1CDF60090A3E2008DA5F6008CA5F600556F + C700C1CDF600000000000000000000000000000000000000000000000000556F + C600F5F7FE00F7F9FE00F7F9FE00F6F8FE00F6F8FE00F6F8FE00F6F8FE00F6F8 + FE00F6F8FE00F5F7FE00F5F7FE00D0D2D800FAFBFF00F5F7FD00B7C2E800C1CD + F600000000000000000000000000000000000000000000000000000000000000 + 00005771C8006586F30003269900042FC000042FC000042FC000042FC000042F + C000042FC000042FC000042FC000042FC000042FC0004F6DD2000430C2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000556FC600738FEC007693F400A3B6F800A6B9 + F800A6B9F80098AEF7007693F400728EEC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005670C8008DA1E3008DA1E300C1CDF6000000000000000000000000000000 + 0000000000000000000000000000000000005670C8008DA1E3008DA1E300C1CD + F600000000000000000000000000000000000000000000000000000000005670 + C700F5F7FE00F7F9FE00F8FAFE00F8FAFE00F8FAFE00F8FAFE00F8FAFE00F8FA + FE00F8FAFE00F8FAFE00F7F9FE00D2D4D800F4F6FD00B7C3E8005670C8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005771C8005D80F20003259700032597000325970003259700032597000325 + 970003259700032597000325970003259700032597003F57A6000536D9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005670C7006D88E5007590ED00859DEE00869E + EE00869EEE00829AEE007691ED006C88E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005771 + C9005871C8005871C8005871C8005871C8005871C8005871C8005871C8005871 + C8005871C8005871C8005871C8005871C8005771C900C1CDF600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005A76D2005771C8005A73C9005A73C9005A73C9005A73C9005A73C9005A73 + C9005A73C9005A73C9005A73C9005A73C9005A73C9005A73C9005771C8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B9C6F1002A3B78002F448B00B9C6F1000000000000000000000000002F44 + 8B002A3B78002F448B0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000C5CEF3006A7FC8002A3A75002433 + 6900243369002A3A7500364D95006A7FC8000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B6C3F000414F800023316200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000374887006D84CF005B73C7007286C800566EBE000E30A300334FB1008496 + D5006D84CF005D74C10000000000000000000000000000000000000000000000 + 000000000000000000004259A70046589700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004658970035447A004259A7000000 + 0000000000000000000000000000000000000000000000000000000000004256 + 9B008E9ED10095A7E2009FB0E900A1B1E9009DADE40099A9DF008E9ED3008999 + CD008595C7007C8BBB007785B5007381AF007180B2007A8ABF008191C3004256 + 9B00000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000CCD6 + F60022357800435BAA0023336900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000364C98009EADDD008492C30031448600506CCA00042CB400314486008391 + C3009EADDD008291C30000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F100000000000000000000000000000000000000000000000000000000002736 + 6E00708ADF007993E70091A7F10098ADF1008CA2EB007F96E200667FD0005A73 + C6004F68BC003751A5002B44980020398C001D3892002D4AAC00516CC8002736 + 6E00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002F43 + 840043538C00425CB00025356D00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BAC7F20033478B00374D9C00BAC7F2004F6CCE00042EB90033478B00374D + 9C0033478B00374D9C0000000000000000000000000000000000000000000000 + 0000334686006E7AA6004C65B8000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000000000000000000002A3A + 74006A84DE00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE00415FC4002A3A + 7400000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000046589600405B + B8000F33A900435EBA002A3B7700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000384D9600384D9600384D9600384D9600384D + 9600384D9600384D9600384D9600384D96001F46CB000C37C600384D96000000 + 000000000000000000000000000000000000000000000000000000000000475F + B100BCBFC900A6ABBA00808DB6001438AE00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046589A00475FB10000000000000000000000000000000000000000003042 + 8200718BDF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004461C4003042 + 820000000000000000000000000000000000000000000000000090A3E3003B51 + A2002F4385002F4284002E4284002E4183002E4183002E408100405DBD000F34 + AF00042AAA00425EBD002C3E7D002B3D7C002B3C7A002B3C7A002B3C79002A3C + 7800344A95008196DC0000000000000000000000000000000000000000000000 + 0000000000000000000000000000617BD4001F44C1002C50C6005F79D3005F79 + D3005F79D3005F79D3005F79D3006079D3005A78DC00133ECD003754BA000000 + 0000000000000000000000000000000000000000000000000000A8B7ED005665 + 9800B2B6C300ADB1BF00A9AEBE004A63B7001439B200042CB100042CB100042C + B100042CB100042CB100042CB100042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000000000000000000003346 + 8800708ADF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE00415FC4003346 + 88000000000000000000000000000000000000000000546CC100405498004D66 + B7004261CA004362CA004362C9004261C7004361C7004361C7001036B600042C + B100042BB0003655BE00425FC1004360C100425FBF00425EBE00435FBE004661 + B9004B60A8003B4C870000000000000000000000000000000000000000000000 + 00000000000000000000000000005E7CE0002C53D7003D52A0003D52A0003D52 + A0003D52A0003D52A0003D52A0003D52A0005670CA00163BB4003D52A0000000 + 0000000000000000000000000000000000000000000000000000455BAE00A2A9 + BF00B1B6C300B1B6C300B1B6C3008794C0004B65BB00153AB700042DB600042D + B600042DB600042DB600042DB600042DB600042DB600042DB600042DB600042D + B6002B4EC2004C62AD000000000000000000000000000000000000000000364A + 8F007790E1007C95E90092A8F10098ADF1008CA2EB007F96E200667FD0005A73 + C6004F68BC003751A5002B44980020398C001D3892002D4AAC00516CC800364A + 8F000000000000000000000000000000000000000000506AC100294FD0000C38 + CA000D38C8000C37C6000C37C6000934C3000833C2000833C1000631BF00052F + BD00042EBC00042EBA00042EB900042DB800042DB600042DB600042DB500042C + B300042CB2002346BB00354B9600000000000000000000000000374E9B002C3F + 7E002C3F7E002C3F7E002C3F7E002C3F7E002C3F7E002C3F7E002C3F7E002C3F + 7E002C3F7E00374E9B00000000004259AB008099EB005879E7004960AF000000 + 00000000000000000000000000000000000000000000788DD7008D98BA00CACE + D900C1C5D300C1C5D300C1C5D300C1C5D300BDC2D10097A4CE00274CC500173F + C400173FC400173FC400173FC400173FC400173FC400173FC400173FC400173F + C400153DC400395BCD00788DD70000000000000000000000000000000000D1DA + F7003D529D003D529D003D529D003D529D003D529D003D529D003D529D003D52 + 9D003D529D003D529D003D529D003D529D003D529D003D529D003D529D00D1DA + F70000000000000000000000000000000000000000004B6BD7001440D1001641 + D1001943CF001943CF001842CE00153FCB00143ECA00133DC900103AC7000E38 + C5000D37C4000B35C2000933C1000832BF000630BD00052FBC00052FBB00042E + B900042DB8000831B90033468A0000000000000000000000000032468C00506D + CF00506DCF00506DCF00506DCF00506DCF00506DCF00506DCF00506DCF00506D + CF00506DCF0032468C00000000004C66C0008195D8004462C700445DB0000000 + 000000000000000000000000000000000000000000004963B600B6BCD100CBCF + DB00C6CAD800C6CAD800C6CAD800C6CAD800C6CAD800C4C9D8006780D1003256 + CD00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234A + CB002148CB003357CF004963B600000000000000000000000000000000005E77 + CD0092A4E00094A8EC009EB1F300A1B4F3009CAEED0098AAE8008EA0DC00899A + D5008596CF007C8CC3007787BC007282B6007182BB007A8CC9008697D3005E77 + CD000000000000000000000000000000000000000000496CE1001945D800214B + D800264FD800254ED700234CD500214AD3001F48D1001E47D1001B44CE001A43 + CD001841CC00163FCA00143DC800133DC800103AC5000F39C4000E38C3000A34 + C0000933BF000630BD00364A9000000000000000000000000000384E99004F6F + DA000432CB000432CB000432CB000432CB000432CB000432CB000432CB000432 + CB000432CB00384E9900000000005069C4003D5DC9003156D300466AE2000000 + 000000000000000000000000000000000000000000003D54A200D6D9E200CED2 + DF00CED2DF00CED2DF00CED2DF00CED2DF00CED2DF00CED2DF00A7B3DB007088 + D7003D60D3002E53D2002E53D2002E53D2002E53D2002E53D2002E53D2002E53 + D2002C52D2003257D3003D54A20000000000000000000000000000000000435B + AC006F89DF007892E8008FA6F10096ABF1008AA0EA007E95E200657ED0005972 + C6004E68BC003751A5002B4498001F388C001C3792002D4AAC00506BC800435B + AC0000000000000000000000000000000000000000004E72EA002B56E5003961 + E6003D64E5003B62E3003A61E300375EE100365DE000355CDF003259DD003057 + DC002F56DB002C54D9002B53D8002A52D700274FD500264ED400244CD3002149 + D1001E47D0001640CD003A519B00000000000000000000000000455EB5004F74 + EF0098ABEA005474DD005474DD00445EB400445EB4005474DD005474DD00435D + B100053AE900455EB50000000000516CC9008B9EDE00536FCE004B65BC000000 + 000000000000000000000000000000000000000000004158A600DFE2EB00D8DC + E900DADEEA00DADEEA00DADEEA00DADEEA00DADEEA00DADEEA00DADEEA00D8DD + EA00B6C1E7005373DF004569DF004569DF004569DF004569DF004569DF004569 + DF004468DF003A5FDC004158A600000000000000000000000000000000004A63 + BA00708AE000859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004361C4004A63 + BA0000000000000000000000000000000000000000005176EE00335DEB00436A + EB00486DEB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002C53 + D8002850D7001E48D4003E54A0000000000000000000000000004761B8005176 + F1009AADEC005575DE005575DE00455FB400455FB4005575DE005575DE00455F + B300073CEB004761B80000000000526DC9004D6BCE004366D9005577E8000000 + 00000000000000000000000000000000000000000000435BAB00E3E6EF00DCE0 + ED00E0E4EF00E0E4EF00E0E4EF00E0E4EF00E0E4EF00E0E4EF00E0E4EF00E0E4 + EF00DDE1EF008CA1E8005F7EE4005173E3005173E3005173E3005173E3005173 + E3004F71E3004267E000435BAB00000000000000000000000000000000004C66 + BD00718BDF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004461C4004C66 + BD0000000000000000000000000000000000000000005378F1003B64EF004D72 + F0005277EF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00385E + DF003259DD00264FDA004157A6000000000000000000000000004A63BA00567A + F200A0B1EC00A0B1EC00A0B1EC00A0B1EC00A0B1EC00A0B1EC00A0B1EC0094A2 + D2001546EC004A63BA00000000004D67BE0099AEF6007995F4005971C3000000 + 00000000000000000000000000000000000000000000475EB400E6E9F200E2E6 + F200E5E8F300E5E8F300E5E8F300E5E8F300E5E8F300E5E8F300E5E8F300E5E8 + F300E5E8F300C3CDF00095A9EC006A87E9005C7CE8005C7CE8005C7CE8005C7C + E800597AE8005375E700475EB400000000000000000000000000000000004D67 + BE00718BDF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004260C5004D67 + BE000000000000000000000000000000000000000000587CF2004A70F0006283 + F2006989F3006888F3006787F3006485F3006384F3006183F2005F81F2005D80 + F2005C7FF200597CF100587BF100567AF0005478EF005276EE005074EC004E73 + EB00486DEA00365FE700465FB3000000000000000000000000004E67BE006283 + F2009FABD3006174B5006174B5006174B5006174B5006174B5006174B5005F73 + B500325EEF004E67BE0000000000556FCC005B76CE005573D9006382EA000000 + 000000000000000000000000000000000000000000007790E100A7B3DC00EBEE + F900EDF0FA00EDF0FA00EDF0FA00EDF0FA00EDF0FA00EDF0FA00EDF0FA00EDF0 + FA00EDF0FA00EDF0FA00EBEFFA00D0D9F8007E99F1007390F0007390F0007390 + F0006988EF006E8CF0007790E100000000000000000000000000000000006680 + DA0096A7E4009EB0EB00A6B7F000A8B8F000A4B4EC00A0B0E80096A6DE0093A2 + D9008E9ED4008595CA008191C4007D8DC0007C8CC3008294CE00899BD8006680 + DA0000000000000000000000000000000000000000005A7DF2005176F1006C8B + F3007592F4007491F4007290F400708EF4006E8DF3006D8CF3006A8AF3006989 + F3006787F3006485F3006384F3006283F2005F81F2005E80F2005C7FF100597C + F0005176EF003D65EC004962B8000000000000000000000000005069C1006787 + F300B2C0ED008399E2008399E2006B7CB7006B7CB7008399E2008399E2006779 + B4004068F0005069C10000000000506AC100A5B8F70088A2F6005F76C6000000 + 00000000000000000000000000000000000000000000BFCDF6006C81CA00F1F4 + FD00F1F4FD00F1F4FD00F1F4FD00F1F4FD00F1F4FD00F1F4FD00F1F4FD00F1F4 + FD00F1F4FD00F1F4FD00F1F4FD00EFF2FD00AFBFF8008AA3F500819BF5007E99 + F500718FF4007E98F100CED8F70000000000000000000000000000000000D3DB + F900516AC100516AC100516AC100516AC100516AC100516AC100516AC100516A + C100516AC100516AC100516AC100516AC100516AC100516AC100516AC100D3DB + F90000000000000000000000000000000000000000005D80F200587CF2007693 + F400809BF500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006485 + F3005B7EF200456CF0004C66BD00000000000000000000000000526CC3006B8A + F300B8C5EE0090A3E40091A4E4007585B9007585B90091A4E40090A3E4006E7E + B5004A70F000526CC300000000005671CD009EADDF007086D000516BC2000000 + 00000000000000000000000000000000000000000000000000005975D100CAD1 + ED00F2F5FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00F3F6 + FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00DAE2FC00B6C6F90095ACF700829C + F500809BF500768DDD0000000000000000000000000000000000000000006882 + DB0094A6E40094A8EC009EB1F300A1B4F3009CAEED0098AAE8008EA0DC008A9B + D6008697D0007C8CC3007787BC007282B6007182BB007A8CCB008899D8006882 + DB0000000000000000000000000000000000000000006183F2006586F30088A2 + F60096ACF7007F92D2007D90D1007C90D2007A8ED1007A8ED100778CD100758A + D000758AD1007288D1007086D0007086D1006E85D0006C83CF006B82D0007B97 + F4006E8DF3005277F1004F69C0000000000000000000000000005670C7006A8A + F3005A7DF2006586F3006B8AF3006F8DF3006F8DF3006D8CF3006586F300597C + F200476EF0005670C70000000000546DC400B1C1F80098AEF700647BCA000000 + 000000000000000000000000000000000000000000000000000000000000607A + D700F4F6FD00F4F7FE00F5F7FE00F5F7FE00F5F7FE00F5F7FE00F5F7FE00F5F7 + FE00F5F7FE00F5F7FE00F5F7FE00F5F7FE00F5F7FE00F4F7FE00E0E6FC009FB2 + F500758AD500607AD7000000000000000000000000000000000000000000546E + C5006A84DE00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004260C500546E + C50000000000000000000000000000000000000000006183F2006A8AF3008FA7 + F600A2B6F800A0B4F7009FB3F7009CB1F7009BB0F70099AFF70097ADF70095AC + F70094ABF60091A8F60090A8F6008EA6F6008CA5F6008AA3F60089A2F600849E + F5007693F400577BF200506AC1000000000000000000000000005871C8006C8A + ED00809AEF00859EF000889FF00089A1F00089A1F00089A1F000849DF0007F99 + EF007A95EE005871C800000000005973CF00A8B5E0007F92D200556EC5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D6DCF200F4F7FE00F5F7FE00F6F8FE00F6F8FE00F6F8FE00F6F8FE00F6F8 + FE00F6F8FE00F6F8FE00F6F8FE00F6F8FE00F6F8FE00F6F8FE00F3F6FE00ACBA + E800546FCA00000000000000000000000000000000000000000000000000556F + C6006D88DF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004562C500556F + C60000000000000000000000000000000000000000006183F2006989F30091A8 + F600ADBEF800ACBDF800AABCF800A7B9F800A6B9F800A5B8F800A2B6F800A1B5 + F7009FB3F7009CB1F7009BB0F7009AAFF70097ADF70096ACF70094ABF6008CA5 + F6007A96F4005A7DF200516BC2000000000000000000000000005B76D2005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005B76D200000000005974CF007C8FD1007A91DC007D97EE000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005C74C900D8DDF200F4F6FD00F6F8FE00F7F9FE00F8FAFE00F8FAFE00F8FA + FE00F8FAFE00F8FAFE00F8FAFE00F8FAFE00F6F8FE00F5F7FE00F4F6FD005B74 + C900BFCDF6000000000000000000000000000000000000000000000000005670 + C7006D88DF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004663C5005670 + C70000000000000000000000000000000000000000006581E0006183F200708E + F400A2B6F800A9BBF800ACBDF800ABBDF800AABCF800AABCF800A8BAF800A6B9 + F800A5B8F800A2B6F800A1B5F700A0B4F7009CB1F70099AFF70093AAF6007B97 + F4006283F2005D80F2005570CB00000000000000000000000000000000000000 + 0000000000000000000000000000B0C0F9009BB0F7005871C8005871C8005871 + C8005871C8005871C8005871C8005871C800B3C3F900A6B9F8005871C8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000627DD900CDD4EF00F4F6FD00F6F8FE00F5F7FE00F5F7 + FE00F5F7FE00F5F7FE00F6F8FE00F5F7FE00CDD4EF007E91D300627DD9000000 + 0000000000000000000000000000000000000000000000000000000000005872 + C9006F89DF007993E70090A6F10098ADF1008CA2EB007F96E200667FD0005A73 + C6004F68BC003751A5002B44980020398C001D3892002F4CAD00556FC9005872 + C90000000000000000000000000000000000000000005C75CB006282EC006686 + F3007995F400829CF500849EF50086A0F500859FF500849EF500839EF500829D + F500829CF500809BF5007F9AF5007E99F5007B97F4007894F4007290F4006586 + F3006183F2006583EC007A92E500000000000000000000000000000000000000 + 0000000000000000000000000000ABBCF400B9C7F600ACBBF000A5B6EF00A5B6 + EF00A5B6EE00A5B6EF00A5B6EF00A7B6EF00BAC9FA00A4B7F8007E97E8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D5007489D100AFBBE500F3F6FD00F3F6 + FD00F3F6FD00F3F6FD00D5DCF200AFBBE5005E79D500AFBFF300000000000000 + 0000000000000000000000000000000000000000000000000000000000006B85 + DE0096A7E5009DAFEB00A6B7F000A9B9F100A5B5ED00A1B1E80098A8E00094A3 + DA00909FD5008696CB008191C5007E8EC1007E8EC5008494CF008A9CDA006B85 + DE0000000000000000000000000000000000000000006983DD006079CB00627E + E0006586F3006888F3006A8AF3006B8AF3006B8AF3006B8AF3006B8AF3006B8A + F3006B8AF3006A8AF3006A8AF3006A8AF3006989F3006888F3006586F3006A88 + EC006380E0005D77CC0000000000000000000000000000000000000000000000 + 00000000000000000000000000005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C900ABBCF400ABBCF4005872C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000DCDCDC00DADADA0098A8DC006075BD00455BA3003B4C8B003A4B + 8900394B88003849850042579C005C71B700C8C8C800D2D2D200DADADA000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000B6C5F1006177C500273773002534 + 6A0025346A0027377300364D96006177C5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000009BAFEC004B61AF007787C000A0ABD400BAC5EA00B5C1 + E700B1BDE500ACB9E20092A0CF006E7EB600465EB000A3B4EC00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000C7C7C700C0C0C000AEBA + E40028345E0028345E0028345E0028345E0028345E0028345E0028345E002834 + 5E0028345E0028345E0028345E0028345E0028345E0028345E0028345E004053 + 9300AEBAE400C0C0C000D6D6D600000000000000000000000000000000000000 + 00000000000000000000000000002D4085003A4A7D0047589300556AB000556A + B000556AB000556AB0004F62A100475893002D4085008195DB00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000465FB40095A1CD00DCE1F100BBC8F100AABAEE00A7B7ED009CAEE90094A7 + E8008CA1E500889DE4007991E0006882DC00C8D3F800CED7F500929EC90096A9 + E800000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000AFBEED004C5D9500364E9D00364E9D00364E9D00364E + 9D00364E9D00A3B2E50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002E42 + 86002445B400042AAA00042AAA00042AAA00042AAA00042AAA00042AAA00042A + AA00042AAA00042AAA00042AAA00042AAA00042AAA00042AAA00042AAA00586F + BA002D3F7F000000000000000000000000000000000000000000000000000000 + 00008297DD00334580005467A7003351B7001134AA002444B1004E68BF004E68 + BF004E68BF004E68BF003C59B9002444B1003351B700506ABE005467A7008297 + DD00000000000000000000000000000000000000000000000000000000008EA2 + E800C5CAE000E9EDFA00D7DEF500C4CEF100BBC7EF00ADBCEC0092A5E500889D + E2007D94DF008096E0008096E0009CAEE900AFBFF400BAC8F600E3E8FA003E51 + 9400859AE1000000000000000000000000000000000000000000000000000000 + 000000000000B9C8F20040529200324FB0000C2FA10003279F0003279F000327 + 9F002947AD00788DD80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003043 + 8600042CB30003279D0003238F0003238F0003238F0003238F0003238F000323 + 8F0003238F0003238F0003238F0003238F0003238F0003238F0003238F00506C + CA00304386000000000000000000000000000000000000000000000000000000 + 00003A4B8900566DB800415EC100294AB900546FC70093A3DB00E7EBF700E7EB + F700B9BCC600E7EBF700C2CBEA0093A3DB00294AB9001136B100415EC1003A4B + 89005068BB0000000000000000000000000000000000000000009DAFED004860 + B200F2F4F900E2E7F500DBE0F400C4CEEE00B5C1EA00ADBBE9009FAFE50095A7 + E2008C9FE000879BDE007B91DC00ADBDF000BBC9F600D3DCF900D4DCF900B9C1 + DE003D50940096A9E80000000000000000000000000000000000000000000000 + 0000BAC7F300425496004C60A8000C31A9000429A6000429A6000429A6000429 + A600193CAE004C61B00000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003448 + 8F00042FBD00E0E6F700DFE4F600DFE4F600DEE3F600DEE3F600DDE2F600DDE2 + F600DCE2F600DAE0F500DAE0F500DAE0F500D9DFF500D9DFF500D8DEF400506E + D10034488F00000000000000000000000000000000000000000000000000859A + E0005971C1003253C2000D34B6008999CC00CACFDF00E6EAF800E6EAF800E6EA + F800C9CDD900E6EAF800E6EAF800E6EAF8008999CC00415FC5000D34B6005971 + C1003D4F8F00859AE000000000000000000000000000506BC80098A5CF00ECEF + FA00F0F1F600F0F1F400E5E8F100D2D8EC00C4CCE800B8C2E500A2B0DF0099A9 + DD0090A1DA00899BD900B4C2EE00C1CDF500DCE3F900D7DFF900BFCAED00A6B5 + E600C8D1F0008492C2000000000000000000000000000000000000000000BAC9 + F3005066B3003153C3000D34B9000A32B9000A32B9000A32B9000A32B9000A32 + B9000A32B9004E61A200889DE300000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003B52 + 9F000433D000C5D0F400C4CFF400C2CDF300C1CDF300C0CCF300BECAF200BECA + F200BDC9F200BBC8F200BBC8F200B9C6F100B7C5F100B6C4F100DAE1F7005071 + DE003B529F0000000000000000000000000000000000000000003B53A3005A70 + BB000934C5004B6AD300E1E6F800E5EAF800DADFEC00E5EAF800E5EAF800E5EA + F800E5EAF800E5EAF800E5EAF800E3E8F600E5EAF800E5EAF800E1E6F8000934 + C5004162D1005A70BB000000000000000000000000005B71B900DEE3F200DAE0 + F600E6E9F400EAECF000EBECF000D5DAE900CAD0E600C6CDE700C0C9E700B8C2 + E400B2BDE300AAB7E300CED7F600C6D1F500DDE3F900C1CBEC00AAB8E400A9B8 + E8007B91DA0097A7D90099ABEA00000000000000000000000000BCCAF400455A + A500395BCC00163EC400133BC300133BC300133BC300133BC300133BC300133B + C300133BC3004E66B700556DC200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003F57 + A8000536D900C6D1F600C6D1F600C4D0F600C4D0F600C3CFF600C1CDF500C0CC + F500BFCCF500BECBF500BDCAF500BCC9F500BAC8F500B9C7F500DCE3F9005073 + E5003F57A800000000000000000000000000000000008A9DE4004E61A8005271 + D8002A50D100CDD6F500E5EAF900E5EAF900E5EAF900E5EAF900E5EAF900E5EA + F900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF9002A50 + D100123DCD005271D8008A9DE4000000000000000000AFBADD00D5DDF700CAD3 + F200D7DCEF00E0E4EF00E6E8EC00DDE0E900D9DDEA00C1C9E600627CD0005B75 + CC005771CA008FA1DC00D3DBF700E2E7F900C4CDED00B3BFE600B3BFE7007288 + D300516DCC007E93D8004C64B500000000000000000000000000445CA9006E82 + C7001E46CD001C45CD001C45CD001C45CD00274DCE006B86DE001E46CD001C45 + CD001C45CD00516DCE004A5FA700000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000435B + B0000538E300CAD5F900C9D4F900A4A9BC00A3A8BC00A3A8BC00A2A8BC00C3CF + F800C2CFF800BFCCF700BECBF700BDCBF700BCCAF700BBC9F700DDE4FA004F73 + EB00435BB00000000000000000000000000000000000425AAE005B75CA003359 + D9008497D600D2D7E400E5EAFA00E5EAFA00E5EAFA00E5EAFA00E5EAFA00E5EA + FA00E5EAFA00E5EAFA00E5EAFA00E5EAFA00E5EAFA00E5EAFA00E5EAFA008497 + D6000938D3003359D900425AAE0000000000758BDE00C6D1F500AABAEE00BCC8 + EF00C4CDEB00C8CFE800CFD4E700ADB9E1006880CF00657FD300758CD900738A + D8006F87D6005B76CE004A66C4004C66BF00BCC5E4007A8DCC00697FC9005C76 + CC007189D7005673D5006D7EBA007288D9000000000000000000000000004E67 + BF00708BE700335ADE002D56DE00879DE7006679BE00475FB2006F89E6003159 + DE002D56DE003F64E1005C75CF004B62B9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004861 + B800053AEB00CFD9FB00CED8FB00A6ABBD00A6ABBE00A6ABBE00A4A9BD00A4A9 + BD00A3A9BD00A2A8BD00A2A8BD00A1A7BD00C1CEFA00C0CEFA00DFE6FC005075 + F1004861B800000000000000000000000000000000005871C8004268E7000537 + DF00E5EAFB00DFE4F500E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EA + FB00E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EA + FB00809AEE000537DF005871C800738BDD00516CC700B1C0F100A7B7ED00ADBC + EC00B8C3E800BBC5E500C9D0E6006880D0006780D4007B91DB006879B2005C6C + A7005B6BA5006E81C500637CCF004965C3008E9DCF008192CC006E83CB006B84 + D5007089DA006A85DD008E9DD4004E67C0000000000000000000000000000000 + 0000788CCD00738EEB006B89EC00596EBA00627BD400000000008093D6005779 + E900365EE6003860E600597AE800576CB8000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004962 + BA00053AEB00D1DBFB00D0DAFB00CFD9FB00CED8FB00CDD8FB00CBD6FB00CAD5 + FB00C9D5FB00C7D3FB00C6D2FA00C6D2FA00C4D1FA00C3D0FA00E1E7FD005075 + F1004962BA00000000000000000000000000000000005C78D8002A56EA000539 + E600E5EBFC00E5EBFC00E5EBFC00E5EBFC00E5EBFC00E5EBFC00E5EBFC00E5EB + FC00E5EBFC00E5EBFC00D5DAE6009C9B9D00E5EBFC00E5EBFC00E5EBFC00E5EB + FC00C2CFF8000539E6005C78D800536ECA00435CB0009BADEC00A2B2EB00A0B0 + E900ABB9E500AFBBE300C5CDE7005E78CE007088D9007E90CE007189D800E0E6 + F900000000005668A2006D81C5005B76CE007085CC0098A7D9007B8FD3007990 + DB00728BDD007B93E200A4B3E4004159A9000000000000000000000000000000 + 00004D67C200798DD1008499DC0090A4EA0000000000000000005A71BF0089A0 + EC004A6FEE003E66ED005276EE006079D3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004A64 + BB000E41EC00D5DEFC00D4DDFC00A8ADBD00A8ADBD00A8ADBD00A7ACBD00A6AC + BD00A6ACBD00A6ABBD00A5AABD00A5AABD00C8D4FB00C7D3FB00E3E9FD005479 + F1004A64BB00000000000000000000000000000000005C7CE9001849EC00053A + EB00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00C5CA + D900B8BDCA00C9CCD6009B989800B8B9BF00E6ECFD00E6ECFD00E6ECFD00E6EC + FD00E8EDFD00053AEB005C7CE9004862BC00445CAF008098E60092A6E800849A + E20094A5DF0099A9DD00B9C3E4005873D000758BD6005E6EA900000000000000 + 000000000000E0E6F9005C6CA7007088D6005873CB00B1BDE3008FA0DA008DA0 + E1007F96E1008CA1E600B2C0EC00445CAF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004F6A + C5008A9EE1004F74F1004F74F1006586F3005873CE0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004C66 + BD002553EE00DDE4FC00DDE4FC00ACB0BE00ACB0BE00ACB0BE00ABB0BD00ABB0 + BE00ABB0BE00A9AEBD00A9AEBD00A9AEBD00D1DBFB00D0DAFB00E7ECFD005E80 + F2004C66BD00000000000000000000000000000000006683E9002C59EE001B4B + ED00CBD0DD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E9EEFD00ADAB + A9009C999700E0E4F100E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00CBD0 + DD00BABECB001B4BED006683E9004A63BB00445CAE007690E400899EE5007C93 + DF008A9DDD008FA0DA00B1BDE3005470CE007289D4005D6EA800000000000000 + 000000000000000000005F6EA900738AD8005C76CD00B7C1E40099A9DE0096A8 + E300879CE30095A8E900B7C4ED00455EB1000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000AEBE + F2005E75C4006686F300577BF2005D80F2005A72C200AEBEF200000000000000 + 0000000000000000000000000000000000000000000000000000000000004D67 + BE00305CEE00E1E7FD00E0E6FC00DFE6FC00DEE5FC00DDE4FC00DCE3FC00DBE2 + FC00DAE2FC00D8E0FC00D8E0FC00D7DFFC00D6DFFC00D5DEFC00E9EEFD006485 + F3004D67BE00000000000000000000000000000000006A88EB003761EF002755 + EE00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00CACA + CB00C3C1C000E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EE + FD00D8DDEA002755EE006A88EB004B64BC00445CAD006E88E2008198E300718A + DD007F94DA008497D800A8B5E0004F6BCA006B83D4006677B000000000000000 + 000000000000738ADA006B7BB400758CD900627CD000C0C9E700A4B2E1009FAF + E60092A5E6009EB0EB00BBC7EF00465FB3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006F89DF008DA5F4006686F3006082F2006C85D900546FCB00000000000000 + 0000000000000000000000000000000000000000000000000000000000004E68 + BF003C65EF00E4E9FD00E4E9FD00B0B3BE00B0B3BE00AFB3BE00AFB3BE00AFB3 + BF00AEB2BE00ADB1BE00ADB1BE00ACB0BE00DAE2FC00D9E1FC00EBF0FD006989 + F3004E68BF0000000000000000000000000000000000708BEB00426AF000335E + EF00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEF + FD008D8A8800EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEF + FD00D4D8E600335EEF00708BEB004C66BF00516BC3007E95E3006580DB006B84 + D8007086D1006B81C9007F91CC005872C6004A66C400637CCE006878B0005F70 + AA006070AB008091CF007B91DB00647ED300C2CAE700C6CDE700B9C3E600AEBC + EA00AEBDED00A8B8EF00A7B4E0005471CC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000576FC600A0AFE7008BA4F6007D98F5007F95E300536DC6000000 + 000000000000000000000000000000000000000000000000000000000000516A + C1005378F100EAEFFD00EAEFFD00B4B7BE00B3B6BE00B3B6BE00B2B5BE00B2B5 + BE00B2B5BE00B2B5BF00B2B5BF00B0B3BE00E2E8FD00E1E7FD00EFF3FE007491 + F400516AC100000000000000000000000000000000006D85D8007391F4004C72 + F100EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1 + FE0098959300EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00E9EDFA00EDF1 + FE007588C8004C72F1006D85D8007990E300748CDB008FA3E500506ED4006C84 + D5006980CB006B81CB0092A2D600B1BDE4004D68C0004A66C4006B83D4007088 + D600748BD8007088D9006780D4006880CF00DADEEB00CBD1E700C5CDE900B7C3 + EC00BDC9F100AABAEF008494CE007790E1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000009FB1EF00637AC800A4B4ED007A96F40086A0F500758AD5000000 + 000000000000000000000000000000000000000000000000000000000000526B + C2005F81F200ECF0FE00ECF0FE00EBF0FD00EBF0FD00EAEFFD00E9EEFD00E8ED + FD00E7ECFD00E6ECFD00E6ECFD00E6EBFD00E5EAFD00E4E9FD00F1F4FE007995 + F400526BC20000000000000000000000000000000000647AC700819CF3005E80 + F200C1C6D400CCCFDA00E2E6F100EEF2FE00EEF2FE00EEF2FE00EEF2FE00EEF2 + FE009E9B9900EEF2FE00EEF2FE00EEF2FE00EEF2FE00EEF2FE00EEF2FE00C1C6 + D4005370D2005E80F2006479C700BFCDF600BDCBF40097A7DD005772CE00617B + CF006B82CF00A3B1E000B1BDE500E3E8F800C5CEEE005D76CA004F6BCA00536F + CD005873D0005E78CF00667FD000ADB9E100DEE1EA00D6DBEA00D2D8ED00C6D0 + F000C4CFF200BDCAF3005D74C100BFCDF6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000092A7EC006A7FCB0092A9F60086A0F5008BA3F100849B + E80000000000000000000000000000000000000000000000000000000000536C + C4006B8AF300EFF3FE00EFF3FE00EEF2FE00EDF1FE00EDF1FE00ECF0FE00EBF0 + FD00EBF0FD00EAEFFD00E9EEFD00E8EDFD00E7ECFD00E7ECFD00F3F6FE007E99 + F500536CC40000000000000000000000000000000000526CC8008399E4007D98 + F5007582AE00D7DAE400EFF3FE00EFF3FE00EFF3FE00EFF3FE00EFF3FE00EFF3 + FE00A8A5A400EFF3FE00EFF3FE00EFF3FE00EFF3FE00EFF3FE00EFF3FE007582 + AE006282EE007E99F500526CC8000000000000000000566AAC009EADDE00A0B0 + E500AEBCE800AAB8E600D2DAF500D5DDF800C3CFF500C4CFF200B1BDE400B1BD + E300BAC4E500C6CEE800C9D0E700D0D5E800E8EAEE00EDEEF200E6E9F200DDE2 + F600D9E0F700DFE4F500AABBF100000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000778BD200ABBBEF009DB2F7008298 + E0005871C900C1CDF6000000000000000000000000000000000000000000556F + C600819BF500F2F5FE00F2F5FE00DADDE500D9DCE400D9DCE400D8DBE400D8DB + E400D8DBE400D7DAE400D7DAE400D6D9E400E0E4F000EDF1FE00F6F8FE0087A1 + F500556FC6000000000000000000000000000000000000000000536EC900889D + E4007F9AF5006377B900D1D5E100F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5 + FE00DCDDE200F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00D1D5E1007F9A + F50095ACF7008A9FE2000000000000000000000000004F69BE0093A0CC00C5CF + F000B0BEEA00D0D8F500D6DEF900C1CDF500C0CCF500A2B2E7008FA0DB008FA0 + DA0099A9DD00B0BCE400BCC6E600C8CFE900E2E6F100ECEEF200F2F3F600E4E9 + F700EAEEFB00A1AFDA0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000007C93E500687FCD00ADBCED008DA5 + F600788EDA005874CD0000000000000000000000000000000000000000005670 + C70088A2F600F3F6FE00E9ECF3008E8C8D008986860089868600898686008986 + 860089868600898686008986860089868600BABBC100E5E8F300F7F9FE008BA4 + F6005670C7000000000000000000000000000000000000000000BFCDF6006178 + C9009DB2F700869FF1006878B100DDE0E700C8CAD100ECEFF700F3F6FE00F3F6 + FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00DADDE400C0C5D6006878B1009DB2 + F7009EAFEE005C74C700000000000000000000000000D1DAF8004C62AA00B4BE + DE00C5D0F400D7DFF900D8DFF900BAC8F500BDCAF4008599DC00899CDD00899C + DD0094A5DF00ADBBE700BAC5EA00C6CFED00D9DEF100E8EBF600F2F3F800F4F6 + FB00CED3E9005972C70000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000093A8ED005C75CC00A5B7 + F5008EA6F400778DD70000000000000000000000000000000000000000005771 + C8008DA5F600F5F7FE00E1E3EA00EEEEEF00FDFDFD00FDFDFD00FDFDFD00FDFD + FD00FDFDFD00FDFDFD00FDFDFD00FDFDFD00A09FA100DFE2EA00F8FAFE008CA5 + F6005771C80000000000000000000000000000000000000000000000000092A7 + EC00A7B8F300A6B9F80094AAF2008A92AF00C9CCD500F4F7FE00F4F7FE00F4F7 + FE00D4D6DD00F4F7FE00F4F7FE00F4F7FE008A92AF007182BB0094AAF200ABBB + F4006279C90092A7EC000000000000000000000000000000000000000000889D + E400CAD0E800DDE3F900B3C3F500BBC9F600879CE3007C93DF00778FDF007C93 + E000869BE300A0B1EA00AEBDED00BECAF100CCD5F400DCE2F800ECF0FB005C74 + C70092A7EC000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000AFBF + F3006B85DE005A74CF005B76D20000000000000000000000000000000000728C + E20093A8F0009BAFF20099ABE900B3B2B400B5B3B200ABA9A700ABA9A700ABA9 + A700ABA9A700ABA9A700ABA9A700B5B3B200919BBB0099ABE9009AAEF200748A + D8006B85DE000000000000000000000000000000000000000000000000000000 + 000092A7EC005F77CA009AABE600B5C5F900AEBEF40096A5D7007985AD007985 + AD007985AD007985AD008694C00096A5D700B6C6F900B3C3F8009AACE70092A7 + EC00000000000000000000000000000000000000000000000000000000000000 + 00004A61AA0094A2D100D0D9F7009CAEED00637FDC00748DE100849AE500899E + E60093A7E900A3B4ED00A8B8EF00AABAEF00D6DEF800E2E7F600A4B1DC009FB1 + F000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005872C9005872C9005872C900A1A1A700EDECED00F4F4F300E8E8E700E8E8 + E700E8E8E700EBEBEA00F4F4F300EDECED006277BF005872C9005872C9006B85 + DE00000000000000000000000000000000000000000000000000000000000000 + 000000000000C1CDF6005872CD00A0B0EB00B9C8F900BECCFA00BBCAFA00BCCA + FA00BCCAFA00BBCAFA00BDCBFA00BFCDFA00A1B2EB007489D3005872CD000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D1DAF800526AC0006175B500AEBCEB009CAEEA008BA0E7006E89E3007690 + E4008199E8009CAFEE00B3C2F300C7D2F600B7C2E6006E83CC005D78D5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000B1B1B1009C999800ABABAA00EDECEC00E4E3 + E300E4E3E300D8D7D600ABABAA00959391000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005874CD007287D1008B9FE100ACBCF400ACBC + F500ADBDF500ACBCF4009DAEEA008C9FE1005874CD0093A7ED00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000BFCCF500778DDF005771CA005068BA005169 + BC00526BBE00546DC1005C77D2007A92E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000009F9E9D009F9C + 9B009F9C9B000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000DCDCDC00DADADA00C7C7C7007486C4004659970028345F002835 + 5F0028355F0028345F002F3F770046599700C8C8C800D2D2D200DADADA000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000CED7F7003C54A200475B9D00455FB6003754B6001739AA001336 + A9001336A9001739AA002343AF003754B600475B9D00384881003C54A2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000859AE000344991003F51 + 90003F5190003F5190003F5190003F5190003F5190003F5190003F5190003F51 + 90003F5190003F5190003F5190003F5190003F5190003F5190003F5190003F51 + 90003F51900030468E00000000000000000000000000000000005B74C7004455 + 94004F64AD005062A1004057A900000000000000000000000000000000000000 + 00006780CF005369B3004F64AD005062A1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BAC6F2002D418600445796003352B8001337AE000429A8000429A8000429 + A8000B30AB000429A8000429A8000429A8003352B8004761B70044579600BAC6 + F20000000000000000000000000000000000000000004D64B6002A3B78002A3B + 7800344B960000000000344B96002A3B78002A3B78002A3B78002A3B78002A3B + 78002A3B78002A3B78002A3B78002A3B78002A3B7800344B9600000000002A3B + 78002A3B78002A3B7800000000000000000000000000344A96005C72BF00506E + D300506ED300506ED300506ED300506ED300506ED300506ED300506ED300506E + D300506ED300506ED300506ED300506ED300506ED300506ED300506ED300506E + D300506ED3005C72BF0000000000000000000000000000000000374E9E005671 + CE000B206700435FBF0041569C002A3B75002A3B75002A3B75002A3B75002A3B + 7500364C960010266E000B206700435FBF00D1DAF80000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000032468C004C61A700405DBE00042BAD00042BAD002245B700617ACC00677F + CD006B81CB00617ACC004360C1002245B700042BAD001B3FB600405DBE003246 + 8C00BAC6F200000000000000000000000000000000006E7CAC00ACB6DC00A8B5 + E0002D3F7F00000000002D3F7F00A5B3E100A4B2E000A4B2E000A4B2E000A3B1 + E000A3B1E000A3B1E000A2B0DF00A2B0E000A2B0E0002D3F7F0000000000A1B0 + E000A0AFDF00A5B1DA005067BA000000000000000000364C9700506FD8000431 + C8000431C8000431C8000431C8000431C8000431C8000431C8000431C8000431 + C8000431C8000431C8000431C8000431C8000431C8000431C8000431C8000431 + C8000431C800506FD800000000000000000000000000000000003E58AE00274F + D600021C7100153EC700455DAE000E2D9A000E2D9A000E2D9A000E2D9A000E2D + 9A003A54AE00031E7900021C7100153EC7000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000455C + AE004160C6001037BB00042DB7002F52C4005069BA003D509100859AE100A8B7 + ED00C1CCF200859AE1004B61B1003D5091006981D0002E51C300042DB7004160 + C600495DA200455CAE00000000000000000000000000ACBAE800899DDF00A7B6 + E700546CC10000000000546CC100A5B4E600869ADE00869ADE008499DD008499 + DD008499DD008398DD008398DD008297DD006C7BAF00546CC100000000006B7A + AF00A0B0E5007F94DC0033478D0000000000000000003F57A7005072E4000535 + D9000535D9000535D9000535D9000535D9000430C3000430C2000430C2000430 + C2000430C2000430C2000430C2000430C3000535D9000535D9000535D9000535 + D9000535D9005072E40000000000000000000000000000000000000000006983 + DA00435CB300516CCA0000000000000000000000000000000000000000000000 + 000000000000435CB300435CB3003754B7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000869BE1004255 + 96001C42C300042FBD00042FBD001038C0004161CA004D62A700BCC8F3000000 + 0000000000000000000000000000B4C2F0005264A2006B83D100294EC6001C42 + C3004966C70042559600000000000000000000000000AFBDEC008DA1E300AEBC + EC00000000000000000000000000B0BEEA008A9FE3008A9FE300889DE200889D + E200879CE200879CE300869BE200869BE2005667A60000000000000000005869 + A700AAB8E8008399E200374B95000000000000000000435CAF005074EA000638 + E1000638E1000638E1000638E1000E3EE2003C60D6000533CA000533CA000533 + CA000533CA000533CA000533CA003C60D6000638E1000638E1000638E1000638 + E1000638E1005074EA0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000003F56A6001939A600869BE10000000000000000000000 + 00000000000000000000000000000000000000000000000000003C54A3004F66 + B5000934C300153EC6004162D1000934C300143DC6004363CF00384E9B00BCC8 + F300000000000000000000000000000000005671C4005466A700647ED5000833 + C3003558CE004E66B600000000000000000000000000B2C0F00094A8EA00B0BF + EF005B74CA00000000005B74CA00AFBEEF0090A4E80090A4E8008FA4E8008FA4 + E8008FA4E8008EA3E8008CA1E7008CA1E7007381BA005B74CA00000000007483 + BB00AABAED00899FE7003A509C0000000000000000004760B700567AF0001445 + E9001445E9001445E9001445E9001B4AEA008199E900889EE900889EE900889E + E900889EE900889EE900889EE9008199E9001445E9001445E9001445E9001445 + E9001445E900567AF00000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000007A8FDB002D469B004E66BC0000000000000000000000 + 000000000000000000000000000000000000000000005B74CA005067B2004467 + D9002E54D4006882D700465BA300617DDC00214AD2001842D0004A6AD700556A + B5003D53A40000000000000000000000000000000000B7C5F100465BA3002B52 + D3001742D0004063D8006C83CF000000000000000000BCCAF600A2B4F200A2B4 + F200BBC9F600BCC9F500BAC8F6009FB2F2009FB2F2009FB2F2009EB1F2009DB0 + F2009DB0F2009CB0F2009CB0F2009BAFF100AABBF400B7C6F600B8C6F600A7B8 + F30099ADF10099ADF1004259AD0000000000000000004C65BC006586F300335E + EF00345FEF00345FEF00345FEF00345FEF00345FEF00345FEF00345FEF00345F + EF00345FEF00345FEF00345FEF00345FEF00345FEF00345FEF00345FEF00345F + EF00335EEF006586F300000000000000000000000000465EB3006279C300607C + D900617EDE00617EDE00627EDE00637FDF00637FDF00637FDF00637FDF00637F + DF00627EDE00617EDE00607DDE005F7CDE004F64AB008A9EE500000000000000 + 000000000000000000000000000000000000000000004760B700556EC8003A5F + DB004266DD00657AC4004760B6006B7FC0006480E0002750D8002750D8004E6F + DC00566DB800BDCBF40000000000000000000000000000000000556DC1003F63 + DB001F49D600365CDB004E66BA000000000000000000BFCCF800A8BAF500A8BA + F500A7B9F500A7B9F500A6B8F500A5B7F500A5B7F500A5B7F500A5B7F500A4B6 + F500A4B6F500A3B6F500A2B5F500A2B5F500A1B4F500A1B4F500A0B3F500A0B3 + F5009FB3F5009FB3F500455EB40000000000000000004D67BE006C8BF300446B + F000456CF000456CF000456CF000456CF000456CF000456CF000446BF000446B + F000446BF000446BF000456CF000456CF000456CF000456CF000456CF000456C + F000446BF0006C8BF3000000000000000000000000004057A6006B85DC00355B + DA002F54CE003D62DC00365BD3003E63DB00365AD2003357CF00365AD2003256 + CE003E63DC003055CE003A5FDC002B50CD00647CCB00556FC700000000000000 + 000000000000000000000000000000000000000000004058A8005775D900375D + DD005576E3005D71B7008CA1E6004059AC006D81C4006883E300254FDB002D55 + DD004F70DF004159AC00BECCF5000000000000000000000000008CA1E6005374 + E300254FDB00335ADD00445BA8000000000000000000C3D0FA00B0C0F900AFC0 + F900AFC0F900AEBFF800AEBFF800ADBEF800ADBEF800ADBEF800ACBDF800ABBD + F800ABBDF800ABBDF800AABCF800AABCF800AABCF800A9BBF800A9BBF800A8BA + F800A7B9F800A7B9F8004962BA0000000000000000004F69C0007391F4005378 + F1005479F1005479F1005479F100829CF300819BEF007E98EE007E98EE007D97 + EE007D97EE007E98EE007E98EE00819BEF00718FF4005479F1005479F1005479 + F1005378F1007491F4000000000000000000000000005066B100758FE600476B + E300032597004A6AD700082A9C004B6BD700082A9C0003259700082A9C000325 + 97004B6BD700032597004768D600032597007B93E100485FAE00000000000000 + 00000000000000000000000000000000000000000000455EB2006482E6004167 + E7006180E7005168B600C6D1F50000000000BECCF500465FB6006E8BEB003A62 + E700335CE5005577E8005D75C600465FB6000000000000000000C6D1F5005477 + EA003D64E7003B62E700455EB2000000000000000000CBD6FB00BBCAFA00BBCA + FA004068F0004068F0004068F0004068F0004068F0004068F000B8C7F9004068 + F0004068F0004068F0004068F0004068F0004068F000B5C5F900B5C5F900B4C4 + F900B4C4F900B4C4F9004C65BC000000000000000000536DC400809BF500708E + F4007592F4007A96F40096ACF4002750D900053AEB00053AEB007B97F4007A96 + F4007A96F4007995F4007894F4007894F400667DCB0097ACF4007D98F5007592 + F400708EF400809BF500000000000000000000000000657BC5007F9AF1007490 + F0000328A000607DDD000328A000607DDD000328A0000328A0000328A0000328 + A000607DDD000328A000607DDD000328A0007D98F200758BD8005C76D2000000 + 000000000000000000000000000000000000000000004861B7006885E8004B70 + ED005E7FEE00556CBC00AEBDF2000000000000000000BFCCF5007187D0006E8B + EE004067EB003F66EB005D7EEC00627ACB00BFCCF50000000000AEBDF2005A7C + EE003C64EB00446AEB004861B7000000000000000000CED8FB00C1CEFA00C1CE + FA00496FF000496FF000496FF000496FF000496FF000496FF000BECCFA00BECC + FA00BDCBFA00BCCAFA00BCCAFA00BCCAFA00BCCAFA00BBCAFA00BBCAFA00BAC9 + FA00BAC9FA00B9C8F9004D67BE000000000000000000556EC500839EF5007A96 + F400859FF50099AFF700889ADE000D40EC000D40EC000D40EC00A2B6F800A1B5 + F7007D98F5007C97F4007B97F4007B97F400536FD000889BDE0098AEF700859F + F5007A96F400839EF5000000000000000000000000006C83D3008AA3F500859F + F4000328A4006D87E1000328A4006D87E1000328A4000328A4000328A4000328 + A4006D87E1000328A4006D87E1000328A4007A95F00094A9EF00526AC0000000 + 000000000000000000000000000000000000000000004B65BC006F8BEB005075 + F0006384F2005B73C50090A4EB000000000000000000000000004B65BE00748C + DB007290F300426AEF00466DEF006081F0004B65BE00BFCDF50090A4EB006384 + F200466DEF004D72F0004F68BC000000000000000000D1DBFB00C6D2FA00C6D2 + FA005176F1005176F1005176F1005176F1005176F1005176F100C4D1FA005176 + F1005176F1005176F1005176F1005176F1005176F1005176F1005176F1005176 + F100C0CEFA00BFCDFA004E68BF0000000000000000005770C700819BF5007491 + F4008FA7F6009DAFF0006078CB002553EE002553EE002553EE00B1C1F900B0C0 + F9002553EE002553EE002553EE002553EE002C58E9006078CB009EB0F000839E + F5007592F400839DF300000000000000000000000000748AD6008DA5F60095AC + F7000328A4007891E3000328A4007891E3000328A4000328A4000328A4000328 + A4007891E3000328A4007891E3000328A4006E88E20095ACF7006A80CB000000 + 000000000000000000000000000000000000000000006580D9007087D2006A8A + F3005B7EF2006A87EA00536CC00000000000000000000000000000000000BFCD + F6005069C3007995F4005479F1005479F1006685F000667FD000536CC0006384 + F300587CF2006686F300778FDE000000000000000000D8E0FC00D1DBFB00D1DB + FB006384F3006384F3006384F3006384F3006384F3006384F300CED8FB006384 + F3006384F3006384F3006384F3006384F3006384F3006384F3006384F3006384 + F300CBD6FB00CAD5FB00516BC200000000000000000093A8ED005872CA005872 + C9005872C9005A78DB00567AF200567AF200567AF200567AF200CBD6FB00CAD5 + FB00567AF200567AF200567AF200567AF200567AF200567AF2005A78DB005872 + C9005872C9005872CA000000000000000000000000007A91E200839EF50094AB + F6000328A4007D94E2000328A4007D94E2000328A4000328A4000328A4000328 + A4007D94E2000328A4007D94E2000328A4007991E20090A8F60098ACF0000000 + 000000000000000000000000000000000000000000009FB0EF005B74C5007B96 + F100567AF2006A8AF3006881D400000000000000000000000000000000000000 + 0000BFCDF6007D93DE007E99F5005F81F2006485F3007592F2008197E2006686 + F3006888F3007793F000B7C4F2000000000000000000DBE2FC00D6DFFC00D6DF + FC006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF300D3DCFB00D3DC + FB00D3DCFB00D2DBFB00D2DBFB00D2DBFB00D1DBFB00D1DBFB00D1DBFB00D0DA + FB00D0DAFB00CFD9FB00526CC30000000000000000000000000000000000556E + C500C0CEFA006F8DF3006F8DF3006F8DF3006F8DF3006F8DF300D6DFFC00D5DE + FC006F8DF3006F8DF3006F8DF3006F8DF3006F8DF3006F8DF3006F8DF300C3D0 + FA00556EC50000000000000000000000000000000000829BED007290F400849E + F5003C5BC30095AAF2003454BE008EA4ED00173AAF000328A4000D31A9000328 + A4007D94E2000328A4007D94E2000328A4007891E30088A2F60090A8F60092A7 + EC00000000000000000000000000000000000000000000000000516CC8008196 + DF005D80F2006283F2006C8AEF006681DA000000000000000000000000000000 + 000000000000526BC4007E94DF00849EF5007C97F400809BF5008FA7F6007592 + F4007D98F5007E94DF00000000000000000000000000DEE5FC00DAE2FC00DAE2 + FC007592F4007592F4007592F4007592F4007592F4007592F400D8E0FC007592 + F4007592F4007592F4007592F4007592F4007592F4007592F4007592F4007592 + F400D5DEFC00D4DDFC00546DC400000000000000000000000000000000005770 + C700DCE3FC00DFE6FC00E0E6FC00E1E7FD00E0E6FC00E0E6FC00DFE6FC00DFE6 + FC00DFE6FC00DEE5FC00DEE5FC00DEE5FC00DCE3FC00DCE3FC00D9E1FC00D7DF + F9005770C700000000000000000000000000000000008098E700859FF5008CA5 + F6009AAFF70092A9F60094ABF6008CA5F600859EF1008099EC006E89E100617C + D8009EB3F7003E5DC30095AAF200294AB9007D97EB007D98F5007D98F500617C + D800000000000000000000000000000000000000000000000000000000005D78 + CF00819CF3006787F3006888F300718EEF006C85D6005770C40092A5EC00AEBE + F300C8D2F60092A5EC005671CE005A73C600A7B9F8009AAFF70095ACF7008FA6 + F400788ED6005D78CF00000000000000000000000000E6EBFD00E2E8FD00E2E8 + FD00E2E8FD00E2E8FD00E2E8FD00E1E7FD00E1E7FD00E1E7FD00E1E7FD00E0E6 + FC00E0E6FC00E0E6FC00E0E6FC00DFE6FC00DFE6FC00DFE6FC00DEE5FC00DEE5 + FC00DEE5FC00DBE2FC005770C7000000000000000000000000000000000093A8 + ED005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + CA0093A8ED000000000000000000000000000000000000000000AFBFF300AFBF + F3007C92E5007C92E5007C92E5005E79D5005E79D500566FC700687ECD006A80 + CD006A80CD00768BD9007B91DB007F97E4008098E600809AEF007893EE006077 + CA0093A7ED00000000000000000000000000000000000000000000000000D3DB + F900859AE100859FF5006D8CF3007491F4007A96F4007892EC00647CCC006078 + C8006078C800647CCC006D85D9007F99EC00A3B6F8009DB2F7008EA6F600899E + E200526CC50000000000000000000000000000000000E7ECFB00E5EAFD00E4E9 + FD00E5EAFD00E6EBFD00E5EAFD00E5EAFD00E5EAFD00E5EAFD00E4E9FD00E4E9 + FD00E4E9FD00E3E9FD00E3E9FD00E3E9FD00E3E9FD00E2E8FD00E2E8FD00E1E7 + FD00DFE6FC00DEE5FC005871C800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F600AFBFF300859BE9007C93E5007C93E5005E79D6005E79D6005770C8004D6A + CC00647EDA000000000000000000000000000000000000000000000000000000 + 00005871C800869AE2008AA3F4007995F4007A96F400819BF500829DF5007F9A + F5007F9AF500859FF50088A2F6008FA7F60099AFF70095ACF70099AEF5005871 + C800BFCDF600000000000000000000000000000000009FAFE100E7ECFB00E8ED + FB00E8EDFB00E8EDFB00E8EDFB00E7ECFB00E7ECFB00E7ECFB00E7ECFB00E7EC + FB00E7ECFB00E6EBFB00E6EBFB00E6EBFB00E6EBFB00E5EAFB00E5EAFB00E5EA + FB00E4EAFB00E3E8FB006B85DE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006B85DE002C57 + E700647CCD00647CCD005A72CB00000000000000000000000000000000000000 + 000000000000D3DBF9006179D1008A9EE2009AAFF40099AFF70097ADF70097AD + F7009AAFF7009AAFF7009DB2F700A0B4F7008B9FE200687FCC005D78D5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005872 + C9005872C9005872C9005872CA00000000000000000000000000000000000000 + 00000000000000000000000000005772CD00637BCC007A8FD90092A8F00098AD + F0009AAEF10092A8F000879DE6007A8FD9005772CD0092A7ED00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000009FB1F000728BE0005771C8005771 + C8005771C8005771C8005A75D100728BE0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000DBDBDB002E3F79002632 + 5B0026325B0026325B0026325B0026325B0026325B0026325B0026325B002632 + 5B0026325B0026325B002E3E7700C5C5C500C5C5C500C5C5C500C7C7C7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000027366E004F65 + AE004F64AC00485B9B004F64AC004F64AC00485B9B004F64AC004F64AC00485B + 9B004F64AC004F64AC002736680026335C0026335B0026335B0026335B002632 + 5D002E3F7900CBCBCB0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000C4C4C400B9B9B9004558 + 9700253159002531590025315900253159002531590025315900253159002531 + 5900253159002531590025315900253159002531590025315900253159004558 + 9700BDBDBD00DADADA0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000002C3D7A004F69 + BE000328A200032082001D3EAC000328A200032082001D3EAC000328A2000320 + 82001D3EAC004F69BE002C3D7A001D3EAC000328A200032082001D3EAC004F69 + BE002C3D7A0000000000000000000000000000000000A6A4A400E2E2E200E2E2 + E200E2E2E200E2E2E200E2E2E200E2E2E200E2E2E200E2E2E200E2E2E200E2E2 + E200E2E2E200E2E2E200E2E2E200E2E2E200A6A4A400B6B5B500A09E9E000000 + 00000000000000000000000000000000000000000000000000002C3B75004B62 + AC0003279D0003279D0003279D0003279D0003279D0003279D0003279D000327 + 9D0003279D0003279D0003279D0003279D0003279D0003279D0003279D004B62 + AC002C3B75000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000002E407E004F69 + C200042AA900032187001D3FB100052AA900042288001E40B100052AA9000321 + 87001D3FB1004F69C2002E407E001D40B300062CAB00052389001F42B400506A + C4002F41800000000000000000000000000000000000A7A6A500E2E2E200D6D6 + D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6 + D600D6D6D600D6D6D600D6D6D600D6D6D600A7A6A500D8D8D800B7B6B600D5D5 + D5000000000000000000000000000000000000000000000000002B3D7900435E + BB00546393005A6792005A6792000328A300546393005A679200546393000328 + A300546393005A679200546393000328A3005A6792005A67920054639300435E + BB002B3D790000000000000000000000000000000000B1BCE500465792003441 + 6E00333F6800333F6800333F6800333F6800333F6800333F6800333F6800333F + 6800333F6800333F6800333F6800333F6800333F6800333F6800333F6800333F + 680034416E00485C9B0000000000000000000000000000000000304385004760 + B30005248C0006258D000E2C910009278D0009278D000F2D900009278D000827 + 8D000D2B90004760B300304385002346BC000E34B5000B2A91002548BD00516C + C9003144870000000000000000000000000000000000A8A7A600E2E2E200D6D6 + D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6 + D600D6D6D600D6D6D600D6D6D600D6D6D600A8A7A600ECECEC00D8D8D800A1A1 + A000D5D5D50000000000000000000000000000000000000000002D407F00435F + BF008190C2008194D4008194D400092EAC008190C2008194D4008392C300042A + AA007080B8008194D4007080B800092EAC008194D4008194D4008392C300435F + BF002D407F00000000000000000000000000000000002D3F7F0043548D004B60 + A8004A60A9004A60A9004A60A9004A60A9004A60A9004A60A9004A60A900495F + A700465BA000425698004256980042569800465BA000495FA7004A60A9004A60 + A9004B60A80044559000DBE2F80000000000000000000000000035498F00516E + CF001239BE00102F98002D50C600183EBF00133299002F52C600183EBF001231 + 99002B4FC600526FCF0035498F003256CE001F46C8001938A1003357CE005472 + D500384D950000000000000000000000000000000000AEACAB00E6E6E600DCDC + DC00DCDCDC00DCDCDC00DCDCDC00718BE400DCDCDC00DCDCDC00DCDCDC00718B + E400DCDCDC00DCDCDC00DCDCDC00718BE400AEACAB00EFEEEE00ECECEC00CDCD + CD00B6B5B400A3A1A1000000000000000000000000000000000032478A004261 + C800042DB600042DB600042DB600042DB600042DB600042DB600042DB600042D + B6008196DA008196DA008196DA00042DB600042DB600042DB600042DB6004261 + C80032478A00000000000000000000000000000000003E58B5001544DF000537 + E0001229760026387700042AAB00042AAB00042AAB00042AAB00182F7F004142 + 4A0079777700ADACAC00ADACAC00ADACAC007977770041424A00182F7F00042A + AB00042AAB001B3EB4003F519200000000000000000000000000374D94005371 + D4001840C50015359E003256CC001E45C70018379F003558CC001E45C6001736 + 9F003054CC005371D400374D94003A5ED600274ED100203FA8003A5ED6005574 + DB003B519D0000000000000000000000000000000000B3B1B100ECECEC00E4E4 + E400E4E4E400E4E4E400E4E4E400758FE800E4E4E400E4E4E400E4E4E400758F + E800E4E4E400E4E4E400E4E4E400758FE800BCBBBA00B3B1B100B3B1B100B3B1 + B100B3B1B100B3B1B10000000000000000000000000000000000354890004262 + CD0055659D005A699B005A699B00042FBD0055659D005A699B0055659D00042F + BD008196DE008196DE008196DE00042FBD005A699B005A699B0055659D004262 + CD0035489000000000000000000000000000000000003555BE000839DD000537 + E000032187002A3B7500042CB200042CB200042CB200042AAA004D4B4C009493 + 92009492920043414200454344004341420094929200949392004D4B4C004C66 + C0004B67C7001439B70041548F0000000000000000000000000039509A004B66 + C2001838A4001B3BA5002241A7001D3CA4001D3CA4002341A7001D3CA4001C3B + A4001F3EA6004B66C20039509A004064DC002F56DA002645AE004064DC005777 + E1003F56A40000000000000000000000000000000000B8B6B600F1F1F100EBEB + EB007892EB007892EB007892EB007892EB007892EB007892EB007892EB007892 + EB007892EB007892EB007892EB007892EB007B95EE007B95EE007B95EE00F1F1 + F100F1F1F100B8B6B60000000000000000000000000000000000384D96004364 + D3008192CB008197E1008197E1000934C5008192CB008197E1008494CD000934 + C50090A3E5008197E10092A5E5000934C5008197E1008197E1008494CD004364 + D300384D9600000000000000000000000000000000003555BE000537DE000537 + E000032187002C3C7600042DB700042DB700042DB600072AA0008F8E8D008483 + 82004342450024283900202537001E23360041404400848382008F8E8D004760 + B2004F6BCA00143BBC00455794000000000000000000000000003F56A5005676 + E1002951D9002545AF004468DE003259DA002847AF004669DE003259DA002645 + AE003F64DC005676E1003F56A5004F73EB003F66E8003352BA004E72EA00597B + EB00455FB30000000000000000000000000000000000C0BEBD00F9F9F900F6F6 + F600F6F6F600F6F6F600F6F6F6007E98F100F6F6F600F6F6F600F6F6F6007E98 + F100F6F6F600F6F6F600F6F6F6007E98F100F6F6F600F6F6F600F6F6F600F6F6 + F600F9F9F900C0BEBD00000000000000000000000000000000003C54A1004266 + DC000433D0000433D0000433D0000433D0000433D0000433D0000433D0000433 + D0000433D0000433D0000433D0000433D0000433D0000433D0000433D0004266 + DC003C54A100000000000000000000000000000000003555BE000537DE000537 + E000032187002F3F79000E38C6000E38C6000D34B500434757006D6B6B004242 + 4900333540002D2F3C00292C3B00262A3800313648002C303D006D6B6B004347 + 57000D34B5001B43C9004B5FA000000000000000000000000000425AAA005778 + E5003058DF002A4AB300496DE300385FE0002D4CB3004D70E300385EDF002B4A + B200456AE2005778E500425AAA005579F000476DEE003A59BF005478F0005A7D + F1004963BB0000000000000000000000000000000000C2C1C000FBFBFB00F9F9 + F9007F99F2007F99F2007F99F2004E73EF004E73EF004E73EF004E73EF004E73 + EF007F99F2007F99F2007F99F2007F99F2007F99F2007F99F2007F99F200F9F9 + F900FBFBFB00C2C1C000000000000000000000000000000000003F58A8004368 + E1005669A8005B6CA5005B6CA5000535D8005669A8005B6CA5005669A8000535 + D8005669A8005B6CA5005669A8000535D8005B6CA5005B6CA5005669A8004368 + E1003F58A800000000000000000000000000000000003555BE000537DE000537 + E0000321870030417A001B44CE001B44CE00193EBA004E4C4C004D4B4C004243 + 4A00393B42003537400032333F002E313E0025293800222839004D4B4C004E4C + 4C00193EBA00264DD0004E62A400000000000000000000000000445DB100506E + D2002A4AB7002F4FB8003553B9003251B8003251B7003856BA003251B8003150 + B8003150B9004F6DD200445DB1005D80F2005075F100405EC1005B7EF2005C7F + F2004C66BD0000000000000000000000000000000000C5C3C300FDFDFD00FCFC + FC00FCFCFC00FCFCFC00FCFCFC004F74F00099AEF50099AEF50099AEF5004F74 + F000FCFCFC00FCFCFC00FCFCFC00819BF400FCFCFC00FCFCFC00FCFCFC00FCFC + FC00FDFDFD00C5C3C30000000000000000000000000000000000425AAD004469 + E6008295D600819AEE00819AEE000A3ADE008295D600819AEE008598D7000A3A + DE008295D600819AEE008598D7000A3ADE00819AEE00819AEE008598D7004469 + E600425AAD00000000000000000000000000000000003555BE000537DE000537 + E0000321870032427C002951D6002951D6002448C0004F4D4E004F4D4E004545 + 4A006060650072737A0053555D00353741002B2F3D00272B3A004F4D4E005856 + 56002448C0003056D7005166AA000000000000000000000000004A64BB005A7D + F1004169EF003857BF005B7EF1004C71F0003D5BC0005E80F1004C71F0003B59 + BF005478F000597CF1004A64BB006684E8005F81F2004D68C2006482E8005E80 + F2004E68BF0000000000000000000000000000000000C8C7C600FFFFFF00FFFF + FF00829CF500829CF500829CF5005075F1005075F1005075F1005075F1005075 + F100829CF500829CF500829CF500829CF500829CF500829CF500829CF500FFFF + FF00FFFFFF00C8C7C600000000000000000000000000000000004862B9004A70 + F0001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC001C4C + EC001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC004C71 + F0004862B900000000000000000000000000000000003555BE000537DE000537 + E0000321870035457F004368E4004368E4003E60D1004F526000686666004E4C + 4D00959495008C8C8E008283880044444A00373944003A3C4400686666004F52 + 60003D5FD1004469E400586DB6000000000000000000000000004B65BD005C7F + F200466DF0003E5CC1006183F2005176F100425FC1006586F3005176F100405E + C100597CF2005B7EF2004B65BD006D89E9006787F300536DC2006986E8005F81 + F2004F69C10000000000000000000000000000000000CAC8C700FEFEFE00FEFE + FE00FEFEFE00FEFEFE00FEFEFE00829CF500FEFEFE00FEFEFE00FEFEFE00829C + F500FEFEFE00FEFEFE00FEFEFE00829CF500FEFEFE00FEFEFE00FEFEFE00FEFE + FE00FEFEFE00CAC8C700000000000000000000000000000000004A64BB004E73 + F1006777AC006777AC006777AC006777AC006777AC006777AC006777AC006777 + AC006777AC006777AC006777AC006777AC006777AC006777AC006777AC005075 + F1004A64BB00000000000000000000000000000000003555BE000537DE000537 + E00003218700324176005275EB005275EB004D6FDE004F5C8B008F8D8D005452 + 530071707000969496006F6E710049494E003A3B4300514F51008F8D8D004F5C + 8B004D6FDE004E72EA005C72BB000000000000000000000000004C66BD005473 + D9003D5BC100425FC1004965C2004763C1004864C1004C67C3004763C1004561 + C100425FC2005372D9004C66BD00728DE9006F8DF3005871C3006E8AE8006082 + F200516BC20000000000000000000000000000000000C9C7C600FCFCFC00FBFB + FB00FBFBFB00FBFBFB00FBFBFB00809AF300FBFBFB00FBFBFB00FBFBFB00809A + F300FBFBFB00FBFBFB00FBFBFB00809AF300FBFBFB00FBFBFB00FBFBFB00FBFB + FB00FCFCFC00C9C7C600000000000000000000000000000000004B65BC005075 + F10090A4E80099AFF70090A4E80090A4E80099AFF70090A4E80090A4E80099AF + F70090A4E80090A4E80099AFF70090A4E80090A4E80099AFF70090A4E8005479 + F1004B65BC0000000000000000000000000000000000465EB2001743D5001844 + D60019307D0039497A00809AF300657AC2006D84D1005D77D100908E8E007F7D + 7D00575555004F4D4D004D4B4D0047474A00545254007F7D7D00908E8E003E52 + 94004158A5004059AC005F75C1000000000000000000000000004E68BF005F81 + F200567AF2004C67C200718FF4006586F300516BC2007693F4006586F3004F69 + C2006888F3005D80F2004E68BF00829DF5007C97F4005D75C3007491F4005F81 + F200536DC40000000000000000000000000000000000BDBBBA00E8E8E800DEDE + DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE + DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE + DE00E8E8E800BDBBBA00000000000000000000000000000000004D67BE00587C + F2004C72F1004C72F1004C72F1004C72F1004C72F1004C72F1004C72F1004C72 + F1004C72F1004C72F1004C72F1004C72F1004C72F1004C72F1004C72F1005E80 + F2004D67BE00000000000000000000000000000000005E79D0006B86E2006179 + CA005669AB005669AB007B97F4006279C4006B84D6007B97F4006879B2005959 + 5F00757373008F8E8D008F8E8D008F8E8D007573730059595F006879B2005669 + AB004D62AA004B62AE00617AD3000000000000000000000000004F69C0006082 + F2005B7EF2004F6AC2007794F4006B8AF300566FC3007C97F4006B8AF300536D + C2006D8CF3005E80F2004F69C00086A0F5007995F400566FC3006989F3005C7F + F200556FC60000000000000000000000000000000000AEADAC00D2D2D200D2D2 + D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2 + D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2 + D200D2D2D200AEADAC00000000000000000000000000000000004D67BF005B7E + F2004D5B8B005563930055639300556393005563930055639300556393005563 + 9300556393005563930055639300556393005563930055639300556599006283 + F2004D67BF0000000000000000000000000000000000627ACE007592F4003E4E + 8000343D5D006071AB0089A2F60089A2F60089A2F60089A2F600829AEA007A8E + D5006A7191005A585800646262005A5858006A7191007A8ED500829AEA00829C + F5006D8CF3006F8CF1008EA3E900000000000000000000000000506AC1005775 + DA004D68C200546EC2005B73C4005A72C3005B73C3006077C4005B73C3005871 + C300526CC3005674DA00506AC1009CB1F70096ACF7007A91DC00819BEF006483 + EB005670C700000000000000000000000000000000005263A1005F6FA8005F6F + A8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6F + A8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6F + A8005F6FA8005263A100000000000000000000000000000000004E68C0005F81 + F2002C3B6C003242790032427900324279003242790032427900324279003242 + 7900324279003242790032427900324279003242790039497E005B6894006787 + F3004E68C000000000000000000000000000000000005C75CC00728ADD00404F + 8100404C72006575AC0091A8F60092A9F60092A9F60093AAF60097ADF70099AE + F30095A9EB008C9EDD008C9EDD008C9EDD0095A9EB0098ADF30094ABF600819B + F5007390F2006983D80000000000000000000000000000000000526CC3006283 + F2006989F3005D75C300859FF5007E99F500657BC3008DA5F6007F9AF5006279 + C4007A96F4006082F200526CC300375EE5003159E4002551E3005771C8000000 + 00000000000000000000000000000000000000000000556CBD005A79DF000536 + D900042EBB00042BAE00042EBB000536D9000536D9000536D9000536D9000536 + D9000536D9000536D9000536D9000536D900042EBB00042BAE00042EBB000536 + D9005A79DF00556CBD0000000000000000000000000000000000506AC1006686 + F30038446D003E4C7A003E4C7A003E4C7A003E4C7A003E4C7A003E4C7A003E4C + 7A007982A2005C688F00737D9E004A5782003E4C7A003E4C7A00646F9400708E + F400506AC1000000000000000000000000000000000000000000000000008DA2 + E800536DC400536DC4004E66B8004B62B0004E66B800536DC400546DC0005870 + BF007D8DC6008D9BC7008E9BC7008D9BC7007789C5004F69BE00556EC100637A + CE008DA2E8000000000000000000000000000000000000000000536DC4006283 + F2006C8BF3006077C3008AA3F600839EF5006B80C40092A9F600849EF500657B + C3007C97F4006183F200536DC4005771C8005771C8005771C8005A76D2000000 + 00000000000000000000000000000000000000000000566FC6006A89F200053A + EA005574DB006886EB005574DB00053AEA00053AEA00053AEA00053AEA00053A + EA00053AEA00053AEA00053AEA00053AEA004D6CD3006482E7004D6CD300053A + EA006A89F200566FC60000000000000000000000000000000000516BC2006A8A + F3003D486E0044517A0044517A0044517A0044517A0044517A0044517A004451 + 7A009097B0007881A000848CA8007881A00044517A0044517A00687294007491 + F400516BC2000000000000000000000000000000000000000000000000000000 + 000000000000DAE1F900637BCE00556FC600637BCE00DAE1F9006C84D800607B + D9007D98F500AABCF800ADBEF800AABCF8007491F4005775D9006C84D8000000 + 0000000000000000000000000000000000000000000000000000546EC5005876 + DA00566FC3006379C4006C81C5006E82C4007083C5007587C6006E82C400687D + C4005B73C4005775DA00546EC500000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005771C8007794F4001C4C + ED0090A7F4007995F40090A7F4001E4EED001E4EED001E4EED001E4EED001E4E + ED001E4EED001E4EED001E4EED001E4EED0090A7F4007995F40090A7F4001C4C + ED007794F4005771C80000000000000000000000000000000000526CC3006D8C + F300434D6E00485378004A557B004A557B004A557B004A557B004A557B004A55 + 7B004A557B004A557B004A557B004A557B004A557B004A557B006F7896007995 + F400526CC3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A8B8F0005570 + CB00466BE300CFD8F800CFD8F800CFD8F8004165E300546ECA00A8B8F0000000 + 00000000000000000000000000000000000000000000000000005670C7005D80 + F200587CF2005972C3008EA6F60093AAF600798AC500A3B6F80087A1F5005B73 + C3006989F3005B7EF2005670C700000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005872C900889FEB0091A6 + EC0097ABED0098ABED0098ABED0099ACED0099ACED0099ACED0099ACED0099AC + ED0099ACED0099ACED0099ACED0099ACED0099ACED0098ABED0097ABED0091A6 + EC00889FEB005872C900000000000000000000000000000000005670C6007794 + F400AABCF800ADBEF800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800ADBEF800A9BBF800829C + F500546EC5000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005771C8006583 + EB00809AEE007B92DD009BB0F700AEBFF8009FAEDF00B2C2F9009EB3F7007C92 + DD00809AEE006382EB005771C800000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005B76D2005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005B76D200000000000000000000000000000000005A74C7008CA3 + ED009BB0F700A6B9F800A9BBF800AABCF800AABCF800AABCF800AABCF800AABC + F800AABCF800AABCF800AABCF800AABCF800A9BBF800A5B8F80098AEF70092A7 + EF005972C6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005A76D2005771 + C8005771C8002A4DBF00425FC100566FC3005B73C3005A72C3004360C100294C + BF005771C8005771C8005A76D200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000728BDF007289 + D7009BAFF1009FB2F200A0B3F200A0B3F200A0B3F200A0B3F200A0B3F200A0B3 + F200A0B3F200A0B3F200A0B3F200A0B3F200A0B3F2009EB1F2009AAEF1007389 + D700728BDF000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005A76D2005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005A76D2000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003044890030448900000000000000000000000000000000000000 + 0000000000003044890000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000263569004F5E9400000000000000000000000000000000000000 + 0000536BBA002635690000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004D66 + BC007D94DF007B94E7007F97E7008098E7008199E7008199E7008199E7008199 + E7008199E7008199E7008199E7008199E7008098E7007F97E7007C94E5006377 + BB004D66BC000000000000000000000000000000000000000000000000000000 + 00000000000029397200627DD900334992000000000000000000000000003349 + 92005E71B3002939720000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003F58AD003D59B9003857BF003857 + BF003857BF003857BF003857BF003857BF003857BF003857BF003857BF003857 + BF003857BF003857BF003857BF003857BF003857BF003857BF003857BF003857 + BF003857BF003857BF003A5097005169BF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000D2DBF8004E66 + B7006686F3006888F3006F8DF3007592F4007693F4007693F4007693F4007693 + F4007693F4007693F4007693F4007693F4007391F4006F8DF3006888F3007F99 + F0004E66B700D2DBF80000000000000000000000000000000000000000000000 + 0000000000002C3C7700617DDA00445591007389D300000000007389D300495A + 9300526FD2002C3C770000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000283C82000730BA00042EB900042E + B900042EB900042EB900042EB900042EB900042EB900042EB900042EB900042E + B900042EB900042EB900042EB900042EB900042EB900042EB900042EB900042E + B900042EB900042EB9003453B900283C820000000000364C9A002C3E7D002C3E + 7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E + 7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E + 7D002C3E7D002C3E7D0000000000000000000000000000000000AEBDF100556C + BB00617FE30040508500576AAB00819BF500819BF500435180005D70B000829C + F500829CF5005A6CAB005C6FAF00819BF500425080005669AA005469AF007B97 + F400556CBB00AEBDF10000000000000000000000000000000000000000000000 + 0000000000002E3F7C00617DDB005872C70032478800CED7F70033478800647B + CB002447BB002E3F7C0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000027387A00042BAD00042BAD00042B + AD00042BAD00042BAD00042BAD00042BAD00042BAD00042BAD00042BAD00042B + AD00042BAD00042BAD00042BAD00042BAD00042BAD00042BAD00042BAD00042B + AD00042BAD00042BAD001035B10027387A00000000002F4284005872CB004F6B + C8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6B + C8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6B + C8004F6BC8005872CB00000000000000000000000000000000008FA3E900627A + CD004862BC0036488600445BA9006283F2006283F20031417700445BA9006283 + F2006283F200445BA900445BA9006283F20031417700445BA900445BA9007290 + F400627ACD008FA3E90000000000000000000000000000000000000000000000 + 00000000000032458600617EDF00173CBA005472D800435492005D7ADA001238 + B700042BAF003245860000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000002A3C7E00042BB000042BB000042B + B000042BB000042BB000042BB000042BB000042BB000042BB000042BB000042B + B000042BB000042BB000042BB000042BB000042BB000042BB000042BB000042B + B000042BB000042BB000042BB0002A3C7E0000000000354A92005875D600BBC2 + DA00D0D8F400D0D8F400D0D8F400CED6F300CED6F300CED6F300CED6F300CCD5 + F200CDD6F300CED6F300CED6F300D0D8F400D1D9F400D1D9F300D3DAF400D5DC + F400E9EDFA005875D60000000000000000000000000000000000768EE1006079 + CD003955B3002F458F003751A8005075F1005075F100273975003751A8005075 + F1005075F1003751A8003751A8005075F100273975003751A8003751A8006183 + F2006079CD00768EE10000000000000000000000000000000000000000000000 + 00000000000034478B00627FE100042CB4002E53CB005B73C7002E53CB00042C + B400042CB40034478B0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000002C408400042EB900042EB900042E + B900042EB900042EB900042EB900042EB900042EB900042EB900042EB900042E + B900042EB900042EB900042EB900042EB900042EB900042EB900042EB900042E + B900042EB900042EB900042EB9002C40840000000000384E99005876DB00BDC4 + DC00D2DAF500D1D9F500D1D9F500D1D9F500D1D9F500D1D9F500CFD7F400CFD7 + F400CED7F400CED7F400CED7F400CED7F500CED7F500CED7F500CED7F500CED7 + F500E6EBF9005876DB00000000000000000000000000000000007790E100657E + D3002844A200243D8E002C48A7003E67F0003E67F0001E3274002C48A7003E67 + F0003E67F0002C48A7002C48A7003E67F0001E3274002C48A7002C48A7005075 + F100657ED3007790E10000000000000000000000000000000000000000000000 + 000000000000374B8F006280E300042EB9000932BC004164D8000932BC00042E + B900042EB900374B8F0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000002F448C000430C2000430C2000430 + C2000430C2000430C2000430C2000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2002F448C00000000003C53A0005A79E000C0C7 + DE00D5DDF700D3DBF600D3DBF600D3DBF700D2DAF600D2DAF600D2DAF700D1D9 + F600D2DAF700D1D9F600D0D9F600D0D9F600D0D9F600CFD8F600CFD8F600CFD8 + F600E6EBFA005A79E00000000000000000000000000000000000516AC2005E7A + D8000D257600112D8A00123095001A45D6001A45D6000C216800123095001A45 + D6001A45D60012309500123095001A45D6000C2168001230950012309500335B + E1005E7AD800516AC20000000000000000000000000000000000000000000000 + 0000000000003B509A00617FE5000430C4000430C4000430C4000430C4000430 + C4000430C4003B509A0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000354B9B000534D4000534D4000534 + D4000534D4000534D4000534D4000534D4000534D4000534D400042AAA00042A + AA00042AAA00042EB9000534D4000534D4000534D4000534D4000534D4000534 + D4000534D4000534D4000534D400354B9B0000000000435CAF006181EC00C2C9 + E000D8E0FA00D8E0FA00D7DFFA00D7DFFA00D7DFFA00D7DFFA00D6DEFA00D6DE + FA00D6DEFA00D6DEFA00D6DEFA00D5DDFA00D5DDFA00D4DDFA00D4DDFA00D4DD + FA00E9EEFC006181EC00000000000000000000000000000000004D66BA005E7A + D80003185F0005207B00062489000833C3000832BD0004195F00062489000833 + C3000832BD0005218000062489000833C30004195F0005218000062489001A43 + CE005E7AD8004D66BA0000000000000000000000000000000000000000000000 + 0000000000003E539E006180E7000432C9000432C9000432C9000432C9000432 + C9000432C9003E539E0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003850A3000537DD000537DD000537 + DD000537DD000537DD000537DD000537DD000537DD000537DD00C5C3C200C3C1 + BF00C0BEBC00042EBC000537DD000537DD000537DD000537DD000537DD000537 + DD000537DD000537DD000537DD003850A300000000004660B6006182F100C5CB + E100DAE1FB00DAE1FB00DAE1FB00D9E1FB00D9E1FB00D9E1FB00D8E0FB00D8E0 + FB00D8E0FB00D7DFFB00D7DFFB00D7DFFB00D6DEFB00D6DEFB00D6DEFB00D6DE + FB00EBF0FD006182F100000000000000000000000000000000004960B2005D7D + EA0002175D000216580002165800042CB300042BAC0002175D0002175D00042C + B300042BAC000216580002175D00042CB30002175D000216580002165800173E + C2005D7DEA004960B20000000000000000000000000000000000000000000000 + 0000000000004056A3006180E9000433CE000433CE000433CE000433CE000433 + CE000433CE004056A30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003B54AA000539E5000537E0000434 + D1000433CE000433CE000433CE000433CE000433CE000433CE00D9D8D700D7D5 + D400D4D2D100042BB0000433CE000433CE000433CE000433CE000433CE000433 + CE000434D3000538E2000539E5003B54AA00000000004962BA006283F200C7CD + E300DEE5FC00DDE4FC00DDE4FC00DCE3FC00DCE3FC00DCE3FC00DBE2FC00DBE2 + FC00DBE2FC00DAE2FC00DAE2FC00DAE2FC00D9E1FC00D9E1FC00D8E0FC00D8E0 + FC00EBF0FD006283F2000000000000000000000000003C4E9300405190000D26 + 7800031F7D00031F7D00031F7D00031F7D00031F7D00031F7D00031F7D00031F + 7D00031F7D00031F7D00031F7D00031F7D00031F7D00031F7D00031F7D00031F + 7D000D2678003C4E8C00879DE200000000000000000000000000000000000000 + 000000000000455DAE006887ED001543DC001543DC001543DC001543DC001543 + DC001543DC00455DAE0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003F59B000193BAD004565CF005D7D + EA006082F2006082F2006082F2006082F2006082F2006082F200D9D7D600D3D1 + D000CDCBCA00516DCD006082F2006082F2006082F2006082F2006082F2006082 + F2005B7BE5003959C2001646E9003F59B000000000004C65BC006B8AF300CCD1 + E300E3E9FD00E2E8FD00E2E8FD00E2E8FD00E1E7FD00E1E7FD00E0E6FC00E0E6 + FC00E0E6FC00DFE6FC00DFE6FC00DFE6FC00DEE5FC00DEE5FC00DEE5FC00DDE4 + FC00EDF1FE006B8AF3000000000000000000000000007A93E4003F64E0004569 + E0004A6DE0004C6EE0004D6FE1004D6FE1004D6FE1004D6FE1004D6FE1004D6F + E1004D6FE1004D6FE1004D6FE1004D6FE1004D6FE1004D6FE1004C6EE000486B + E0004569E0004266DD004C64B700000000000000000000000000000000000000 + 0000000000004760B3006D8BF0001F4CE1001F4CE1001F4CE1001F4CE1001F4C + E1001F4CE1004760B30000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000415AB1005E7CE2005579F100486F + F000466DF000466DF000466DF000466DF000466DF000466DF000F1F0F000EFED + ED00ECEBEA003B5DCC00466DF000466DF000466DF000466DF000466DF000466D + F000486FF000587CF2002247C400415AB100000000004D67BE006B8AF300CED3 + E300E5EAFD00E5EAFD00E5EAFD00E4E9FD00E4E9FD00E4E9FD00E3E9FD00E3E9 + FD00E2E8FD00E2E8FD00E2E8FD00E1E7FD00E1E7FD00E1E7FD00E0E6FC00E0E6 + FC00EFF3FE006B8AF3000000000000000000000000007290F4006A8AF3006888 + F300708EF4007290F4007290F4007391F4007391F4007391F4005771CE00354A + 940032458D007391F4007391F4007391F4007290F4007290F4007290F4006E8D + F3006888F3006A8AF3005771C800000000000000000000000000000000000000 + 0000000000004A63B8006F8DF1002854E7002854E7002854E7002854E7002854 + E7002854E7004A63B8004A63B8004A63B8004A63B8004A63B800516BC7000000 + 000000000000000000000000000000000000425BB200597CF2005277F1005277 + F1005277F1005277F1005277F1005277F1005277F1005277F1004766CD004766 + CD004766CD004B6CDA005277F1005277F1005277F1005277F1005277F1005277 + F1005277F1005277F1004D68C400425BB200000000004E68BF006B8AF300CFD4 + E300E7ECFD00E6ECFD00E6ECFD00E6ECFD00E6EBFD00E6EBFD00E5EAFD00E5EA + FD00E5EAFD00E4E9FD00E4E9FD00E4E9FD00E3E9FD00E3E9FD00E3E9FD00E2E8 + FD00F0F3FE006B8AF3000000000000000000000000005872CA005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9003C53A3005072 + E2000535D7005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C90093A8ED00000000000000000000000000000000000000 + 0000000000004F69C0007894F4003D66EF003D66EF003D66EF003D66EF003D66 + EF003C65EF004F69C0003656C2005579F1005378F1007592F4004F69C0000000 + 000000000000000000000000000000000000445DB5006C8BF3006C8BF3006C8B + F3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8B + F3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8B + F3006C8BF3006C8BF3007491F400445DB50000000000516BC2006D8CF300D3D7 + E400EBF0FD00EAEFFD00EAEFFD00EAEFFD00E9EEFD00E9EEFD00E9EEFD00E9EE + FD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E7ECFD00E7ECFD00E7ECFD00E6EC + FD00F2F5FE006D8CF30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000425AAF004F73 + EB000538E3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000506AC1007C97F400476EF000476EF000476EF000476EF000476E + F000466DF000506AC1003555C2005176F1005075F1007290F400506AC1000000 + 000000000000000000000000000000000000455EB6007A96F4007A96F4007A96 + F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96 + F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96 + F4007A96F4007A96F4007A96F400455EB60000000000526CC3007491F400D6D9 + E400EDF1FE00EDF1FE00EDF1FE00ECF0FE00ECF0FE00EBF0FD00EBF0FD00EBF0 + FD00EAEFFD00EAEFFD00EAEFFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E8ED + FD00F4F7FE007491F40000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004760B8005075 + F100053AEB000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000516BC200819BF5005075F1005075F1005075F1005075F1005075 + F1005075F100516BC2002A4DBF004169F0004068F0006B8AF300516BC2000000 + 0000000000000000000000000000000000004660B70086A0F50086A0F50086A0 + F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0 + F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0 + F50086A0F50086A0F50086A0F5004660B70000000000546DC4007491F400D8DB + E400F0F3FE00EFF3FE00EFF3FE00EFF3FE00EEF2FE00EEF2FE00EDF1FE00EDF1 + FE00EDF1FE00ECF0FE00ECF0FE00ECF0FE00EBF0FD00EBF0FD00EBF0FD00EAEF + FD00F4F7FE007491F40000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004C65BD005075 + F100053AEB000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000536DC40088A2F6006485F3006485F3006485F3006485F3006485 + F3006384F300536DC4000F35B6001546EC001546EC00577BF200536DC4000000 + 0000000000000000000000000000000000005570CD00A3B6F500A0B4F700A0B4 + F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4 + F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4 + F700A0B4F700A0B4F7008798D6005570CD00000000005770C7007B97F4001B46 + D500254ED600274FD600274FD6002850D6002850D6002850D6002850D6002850 + D6002850D6002850D6002850D6002850D6002850D600274FD600274FD600214A + D5001B46D5007B97F40000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004E68BF005075 + F100053AEB000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000546DC4008BA4F6006F8DF3006F8DF3006F8DF3006F8DF3006F8D + F3006E8DF300546DC400042BB0000538E5000538E5005075EF00546DC4000000 + 000000000000000000000000000000000000000000004963BA004963BA004963 + BA004963BA004963BA004963BA003D5BC300042EBC003B57B9004963BA004963 + BA004963BA004963BA003B57B900042EBC004963BA004963BA004963BA004963 + BA004963BA004963BA005670CE0000000000000000005871C800829CF5003E67 + F0005176F1005579F100577BF200597CF200597CF200597CF200597CF200597C + F200597CF200597CF200597CF200597CF200587CF200577BF2005579F1004A70 + F0003E67F000829CF50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000516AC1005075 + F100053AEB000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000556EC6008FA7F6007995F4007995F4007995F4007995F4007995 + F4007995F400556EC600042AA9000434D3000434D3005073E900556EC6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004A64BB000430C4004760B300000000000000 + 000000000000000000004760B3000430C4000000000000000000000000000000 + 000000000000000000000000000000000000000000005872C90089A1F00093A9 + F2009DB0F2009FB2F400A0B3F400A1B4F400A1B4F400A1B4F400A1B4F400A1B4 + F400A1B4F400A1B4F400A1B4F400A1B4F400A0B3F400A0B3F4009FB2F40098AD + F20093A9F20089A1F00000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005971C7005075 + F1001345EC000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005770C8009DB1F3008CA5F6008CA5F6008CA5F6008CA5F6008CA5 + F6008CA5F600697ECB0003269B00042AAA000930B3005D78D6005770C7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000516ABE002049D4004862BD004D66BD004D66 + BD004D66BD004D66BD004862BD002049D3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005972CB006A86 + E4006A86E4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000647EDA0095A8E80097ADF70096ACF70096ACF70096ACF70096AC + F70096ACF700758AD4001A36940003269B002042B3005E78CF005874CF000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000536CC0006481E4000B39D4000434D3000434 + D3000434D3000434D3000B39D4006D88E3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000093A8ED005872 + CA005872CA000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000093A8ED007086D2009DB2F70098AEF7009CB1F7009DB2F7009AAF + F70095ACF70096A9EB005E74BF0016349A004D6ACB00657BC5007C93E6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000006680D9007489D400879FF200829DF500829D + F500829DF500829DF500879FF2007489D4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C900647EDB0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000031458E000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002E3E + 79002A396C0090A1D600C8C8C800B6C3EC00667CC4003D559D0025356A002535 + 6A00243468003C5198006277BD00ABB9E500C3C3C30090A1D6002A396C002E3E + 7900000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000008196DC002F42 + 820056659A002F4282008196DC00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000DADADA00CECECE00C0C0C000C0C0C0009EACDC00273360002631 + 590026315900384987008D9DD300C0C0C000C0C0C000CECECE00D3D3D3000000 + 0000000000000000000000000000000000000000000000000000000000003B51 + 9F0003279F0022377D002F3F79003C56AA002F4CAF001F3FA9000F31A3000F31 + A3000F31A3001F3FA9002F4CAF003C56AA002F3F790022377D0003279F003B51 + 9F00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000859AE000364C98004C5D99005F79CD003D5C + C4002447BD003D5CC4005F79CD00697CBD00364C9800859AE000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000002B3F800030458B0000000000000000000000 + 00000000000000000000000000004055A3007085D00000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000CED7F6002A3D7D0056669F004B5989002A3A + 73002A3A73007381AE005264A4002A3A73000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005871 + C1001C368C00374986003F57A9001639AD001034AB002344B1003553B7003553 + B7003553B7002344B1001034AB001639AD003F57A900374986001C368C005871 + C100000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000A9B9EE005062A1006E81C300627CD300294EC600294E + C600294EC600294EC600294EC6004161CD006E81C3005062A10039509E000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008196DB002E4187005366A6003F4E84007287D200000000000000 + 0000000000000000000090A3E30039487D003F4E84002E4187008196DB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004F65B600213783007181B600A3B4EB000000 + 000000000000354B97007281B300213783000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008297 + DE003C4E8D003C58B6002244B6002849B8005C73C1009EA8C800CCCCCC006C6C + 6C00CCCCCC009EA8C8005D74C200294AB9002244B6003C58B6003C4E8D008297 + DE00000000000000000000000000000000000000000000000000000000000000 + 000000000000627ACE00465A9E006882DB004A6AD6003E61D3003E61D3002E53 + CF002E53CF002E53CF002E53CF003257D0005674D900748CDD006E82C600627A + CE00000000000000000000000000000000000000000000000000000000000000 + 0000364C980047578E005568AB003C58B800576CAF0030428500000000000000 + 0000000000000000000030468D005568AB004B65BB005568AB0047578E000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000002F428600324CA4004F5E9300000000000000 + 000000000000A5B6EC004F5E9300324CA4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000D0D8F7003C4E + 91002348C300163DBE004B66C100DFDEDE00F5F5F500F8F8F800F9F9F900FAFA + FA00FAFAFA00FBFBFB00F8F8F800E2E2E2004D68C300163DBE002348C3003D50 + 9300D0D8F7000000000000000000000000000000000000000000000000000000 + 00005469B1008BA0E8005E7CE2005A6DB400445AA9004D67C0006F83C8007590 + EA004469E3003A60E1004E67BE00445DB200445AA9005A6DB4007388CF009FB0 + EA005469B100ABBBF00000000000000000000000000000000000000000000000 + 0000A8B7ED00495A96006A81CF00042DB6001C41BD005771C500BAC7F2000000 + 000000000000374B9400576FBE002045BE000E35B8006880CF004D5E9B000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000334689002440A30033468900000000000000 + 00000000000000000000334689001C399F000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000566FC400455C + A900113AC3004765CB00B1B4BB00E2E2E200F5F5F500F6F6F600F7F7F700F8F7 + F700F8F8F800F9F9F900F9F9F900FAFAFA00B7BAC1004967CD00113AC300455C + A900566FC40000000000000000000000000000000000000000004B66BF00435C + B4008F9FDA005878E0005B71BD009DAFED0000000000000000004860B5008299 + E7005B7DEC004E6EDD00455EB40000000000000000009DAFED00516AC600859C + E60092A3DB004761BA004B66BF00000000000000000000000000000000000000 + 000000000000455EB2006B7DB900042FBF00042FBF003C5DCC00465EB2000000 + 0000000000005267AE004161CE00042FBF004363CE007081BD00455EB2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000465EB100364A8F002B49AB00364A8F00000000000000 + 000000000000364A8F00364A8F001D3CA5000000000000000000000000000000 + 00000000000000000000000000000000000000000000D1DAF7003F539C004463 + CA003156CF00A2AAC700E1E1E100EEEDED00D6D6D600F3F3F300F4F4F400F5F5 + F500F6F5F500F7F6F600F7F7F700F8F7F700E9E9E900A8B1CE003055D0004463 + CA003F539C00D1DAF70000000000000000000000000000000000455FB600A4B4 + E900708CE9006076C4005169BB00000000000000000000000000627CD500798F + DC006A89F2005471D500627CD5000000000000000000000000004E67C5006076 + C400708CE9006E82CB00455FB600000000000000000000000000000000000000 + 000000000000D1DAF70044589E002048CD000431C7000E39CA00485CA000899D + E300A9B9EF005772D1001740CB000431C7007189D70044589E00BDC9F3000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000394D9500394D95003350B300394D9500000000000000 + 0000000000003953AE00394D95001E3EAC000000000000000000000000000000 + 00000000000000000000000000000000000000000000556EC7004B68C700385E + DD009CA5C800E5E4E400E9E8E800EAEAEA00EBEAEA00E1E0E000EEEDED00EBEB + EB00EFEFEF00F1F0F000F1F1F100F2F1F100F3F3F300F1F0F000A5AED100385E + DD004B67C700556EC700000000000000000000000000000000004861B8008CA3 + EF004F74F100607EE0004A63BC00000000000000000000000000AEBDF200657A + C400839EF500586FBF00AEBDF200000000000000000000000000BFCCF5008DA1 + E800839EF500587CF2004861B800000000000000000000000000000000000000 + 0000000000000000000000000000778DD7002C55DE000536D9004D6FE100576D + BA005369B4000D3DDA000536D9002751DE00455DB00000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000003E53A1003E53A1004260C2003E53A100000000000000 + 0000000000004260C2003E53A1002143B8000000000000000000000000000000 + 000000000000000000000000000000000000000000004960B3004C6DDB003A61 + E300C8C9D000E7E6E600E6E6E600E6E5E500E7E6E600E8E7E700BEBEBE00D2D2 + D200D5D4D400EDECEC00EEEDED00EEEEEE00F0EFEF00F1F0F000CFD1D8003960 + E2005473D9004660B700000000000000000000000000000000004962B9008FA4 + EF005E7DE500516ABD0090A4EA00000000000000000000000000D2DBF8006076 + C20087A1F500576FBF00D2DBF800000000000000000000000000000000005970 + C0008CA1EC00849EF5004962B900000000000000000000000000000000000000 + 00000000000000000000000000005C71BD006886EA000E3FE200204EE5005A78 + DE00607BDA000538E2000A3CE3005E7EEA00758CDE0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004157A7004157A7004A66C9004157A700000000000000 + 0000000000004A66C9004157A7002246BD000000000000000000000000000000 + 00000000000000000000000000000000000000000000455EB2005474E0004369 + E900E0E0E000EFEEEE00EDECEC00EAE9E900E9E8E800E7E6E6007B7979006A68 + 68007F7D7D00E9E8E800EAE9E900EBEAEA00ECECEC00EDECEC00DEDDDD004268 + E8005878E100455EB200000000000000000000000000000000004A63BA0092A8 + F0005971C4007790E2000000000000000000000000000000000000000000546C + BF0091A7F2005068BD0000000000000000000000000000000000000000007790 + E200697EC90091A7F2004A63BA00000000000000000000000000000000000000 + 00000000000000000000000000005570CC00768DD9004068EF00073BEA003560 + EE003A63EE00073BEA003963EE00778EDD000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000445CAD00445CAD00516ED000445CAD00000000000000 + 000000000000516ED000445CAD002449C4000000000000000000000000000000 + 000000000000000000000000000000000000000000004A64BB006E8BEE005A7D + F200E9E9E900F9F8F800F8F8F800F6F6F600F5F5F500F4F4F4009F9E9C009290 + 8E009F9D9B00EDECEC00EBEBEB00EAE9E900E7E6E600E6E5E500D7D6D600587C + F2007490EE004A64BB00000000000000000000000000000000004C65BC007A8D + D000000000000000000000000000000000000000000000000000000000004C65 + BC009AAEF1004C65BC0000000000000000000000000000000000000000000000 + 000000000000526CC9004C65BC0000000000000000005F7FE9006381E9006382 + E9006483E9006483E9006483E9006784EA006A87EA006484EE001A4AED001A4A + ED001A4AED002654EE006484EE006986EA006583E9006483E9006483E9006483 + E9006382E9006381E9004A64BB00000000000000000000000000000000000000 + 000000000000000000004963B9004963B900607CDC004963B900000000000000 + 000000000000607CDC004963B9003458D2000000000000000000000000000000 + 00000000000000000000000000000000000000000000526CC100819BEF006384 + F300DBDDE200FCFCFC00FBFBFB00FAFAFA00F9F9F900F9F8F800E0DFDF005856 + 5500DEDDDD00F3F3F300F2F1F100F1F0F000EEEDED00EDECEC00CCCDD2006183 + F20089A1F100526CC10000000000000000000000000000000000536ECA004F6A + C50000000000000000000000000000000000000000000000000000000000536E + CA009DB0F200536ECA0000000000000000000000000000000000000000000000 + 00000000000000000000536ECA000000000000000000587CF2001949ED001D4D + ED002050ED002150ED002150ED002352ED002352ED002352ED002352ED002352 + ED002352ED002352ED002352ED002352ED002251ED002150ED002150ED001F4F + ED001D4DED001949ED004B65BC00000000000000000000000000000000000000 + 000000000000000000004C66BD004C66BD006782E0004C66BD00000000000000 + 0000000000006782E0004C66BD003C60D7000000000000000000000000000000 + 000000000000000000000000000000000000000000005F79D2008DA1E6006D8C + F300BEC5DE00FAFAFA00FDFDFD00FDFCFC00FCFCFC00FCFBFB00FBFAFA007674 + 7300F9F9F900F8F7F700F7F7F700F6F6F600F4F4F400F0EFEF00B7BDD6006B8A + F30092A5E7005F79D20000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000546ECB006177C5006177 + C5007893ED006177C5006177C5005C73C4000000000000000000000000000000 + 000000000000000000000000000000000000000000005B7EF2001F4FED002453 + EE002957EE002A57EE002B58EE002D5AEE002D5AEE002D5AEE002D5AEE002D5A + EE002D5AEE002D5AEE002D5AEE002D5AEE002C59EE002B58EE002A57EE002755 + EE002453EE001F4FED004C66BD00000000000000000000000000000000000000 + 000000000000000000004D67BE004D67BE006E88E2004D67BE00000000000000 + 0000000000006E88E2004D67BE004365DA000000000000000000000000000000 + 00000000000000000000000000000000000000000000919FD0005C74C500A6B8 + F3009FB3F700C5CADA00EFEFEF00FFFFFF00FFFFFF00FFFEFE00FEFEFE008785 + 8400FEFEFE00FDFDFD00FDFDFD00FCFCFC00ECECEC00C4C9D9009DB2F600A3B5 + F3005D75C5008A97C60000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000556FCC005069C0005069 + C000A9BAF3005069C0005069C0005069C0000000000000000000000000000000 + 000000000000000000000000000000000000000000004E68BF004E68BF004E68 + BF004E68BF004E68BF004E68BF004E68BF005870C300829AEB00426AF000426A + F000426AF0004D72F100849CEE005870C3004E68BF004E68BF004E68BF004E68 + BF004E68BF004E68BF00546FCB00000000000000000000000000000000000000 + 000000000000000000004F69C0004F69C000879EE9004F69C000000000000000 + 000000000000879EE9004F69C0005171DE000000000000000000000000000000 + 000000000000000000000000000000000000000000007F7E7D008390C10092A3 + DD0091A8F600B2C1F300C2C3C700FFFFFF00FFFFFF00FFFFFF00FFFFFF009D9B + 9A00FFFFFF00FEFEFE00FEFEFE00EBEBEB00C0C1C500B1C1F3008DA5F50091A2 + DD00818FBE008785840000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000516A + C100B0C0F600516AC10000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005975D1007B90DA007592F4004D72F1007794 + F4007995F4004D72F1007592F4007D92DD000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000506AC100506AC1009AAEF0005D75C600000000000000 + 0000D3DBF9009AAEF000506AC1005977DF000000000000000000000000000000 + 00000000000000000000000000000000000000000000B2B0AF009A9CA6005E76 + C70096ACF700A3B6F800B8C4EC00E5E5E500FBFBFB00FFFFFF00FFFFFF00D7D6 + D600FFFFFF00FFFFFF00FBFBFB00E5E5E500B7C3EC00A0B4F70092A9F6005E76 + C7009498A100B5B4B30000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000092A7EC00526B + C200A0B3F400526BC20092A7EC00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000006278C800869EF2005F81F2006989F300A1B3 + EE00A3B3ED00567AF2005C7FF200859EF20092A5EC0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000516BC200516BC200A3B2E7008396D900000000000000 + 0000607BD700A3B2E700516BC200607DE1000000000000000000000000000000 + 00000000000000000000000000000000000000000000BDBCBB00A3A1A0007978 + 77007B90D300BAC8F600A9BBF800C9D5FB00D1D8F200D0D3DE00CECECE006D6D + 6D00CECECE00D0D3DE00D1D8F200C8D4FB00A5B8F800B8C6F6007B90D3007372 + 71009B999800B5B4B30000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000009FB1F000BDCAF6009FAE + E3007287CF00A6B4E400CAD5F800798DD2000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000007A92E4008CA4F4006D8CF3006A8AF30099ABEA00556F + CB00556FCB00859FF5006A8AF3006D8CF3007389D3007A92E400000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000546DC400546DC400718AE0007388CF00C9D3F500C9D3 + F500B2C0EC00718AE000546DC4006E89E4000000000000000000000000000000 + 00000000000000000000000000000000000000000000B4B3B200908E8D007D7B + 7A006C7BAA00758AD200B8C6F200B8C7F900C1CEFA00CED8FB00D5DEFC00D5DE + FC00D5DEFC00CDD8FB00BFCDFA00B6C6F900B6C4F200748AD200707DAE007371 + 700089888700B1B0AF0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000627DD8009AAAE1005973 + CF00D3DBF9005973CF00A4B2E300C0CBF1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005971C80086A0F5007592F4007C97F4006B81CC009FB1 + F000AEBEF300A7B9F5007F9AF5007592F40092A7EE005D75C800D3DBF9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000556EC500556EC500000000009FB1F000556EC500556E + C5005D78D50000000000556EC5007892E6000000000000000000000000000000 + 00000000000000000000000000000000000000000000A9A8A600898887006E6C + 6B008C8B8B00919BBC00637BCB00C6D1F700C0CEFA00BECCFA00BAC9FA00BAC9 + FA00B7C7F900BCCAFA00BECCFA00C4D0F700627ACB0097A1C200989796006F6E + 6D00817F7E00ADABAA0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000566FC7007085CF00D3DB + F90000000000D3DBF9007488D100C7D1F6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000006983DD007E92DA007F9AF5007F9AF5009AAFF7005D78D5000000 + 0000000000008DA0DF009CB1F7007F9AF50094ABF6008195DC00627DD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000566FC600566FC6000000000000000000000000000000 + 00000000000000000000566FC6008AA0EB000000000000000000000000000000 + 00000000000000000000000000000000000000000000B3B3B300A19F9D00CBCA + CA00F2F1F100DEDEDE00B9B9B9007D808B008891B2006B81D3005771C8005771 + C8005771C8006681D8008A93B4007D808B00A8A8A800D1D1D100F2F2F200D6D5 + D500A9A8A6009F9F9F0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000647EDA00B1BEE8005B76 + D200D3DBF9005B76D200AAB8E800A5B5ED000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000647EDA0090A3E4009DB2F70093AAF600AABCF7008497D900000000000000 + 0000000000007C93E5008497D900A9BBF7008BA4F60097ADF70093A6E8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000647EDA008B9FE2005B76D200AFBFF300000000000000 + 0000000000005B76D2008C9EDF00A2B2E7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B4B4B400AAA9 + A700E4E4E400D2D1D100BAB9B900A09F9D00A0A09F0000000000000000009896 + 94000000000000000000B4B4B400A09E9D00B1B0B000C9C9C900E1E0E000B1AF + AE00A0A09F000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000009FB2F000D3DCF900B2BF + E9007B8FD400AEBCE700CDD7F800798ED5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005B76D2008195D900AEBDF100A0B4F700A3B4ED005A74CF00000000000000 + 000000000000000000005A74CF00A1B1EC00ACBDF700A2B2EC00778CD5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000C1CDF600BFCBF200A2B1E600778BD3005872C9005872 + C9005872C900A0AFE300BCC9F2006F84D0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009F9D9B00A9A7A500A1A09E00C8C8C800000000000000000092918F009896 + 940092918F000000000000000000D5D5D5009F9D9B00A9A7A5009F9D9B00C8C8 + C800000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000758AD300BFCA + EF00D7DFF900C1CBEF00758AD3006B85DE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000007C93E6005C75CC00A5B6EF006F84D0009FB2F000000000000000 + 000000000000000000009FB2F0006F84D0008296DA005872CA00879CE9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000677ECE00A0B0E400C8D3F600CAD4F500CAD4 + F500CAD4F500A6B5E8006F85D00093A8ED000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 00000000000000000000DADADA00C1C1C1002C3C720025315900253159002531 + 590025315900253159002531590025315900C1C1C100C8C8C800DADADA000000 + 0000000000000000000000000000000000000000000000000000798CD2001926 + 54001F2E65002233700024367500243675002436750024367500243675002436 + 7500243675002436750024367500243675002436750024367500243675000000 + 0000000000000000000000000000000000000000003200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 00520000005200000052000000320000001E0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 00000000000000000000000000000000000027387100425CB10013339E001333 + 9E0013339E0013339E001F3DA300425CB1000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000001A2755002231 + 6A003655BD001C41BA00042CB300042CB300042CB300042CB300042CB300042C + B300042CB300042CB300042CB300042CB300072FB400193EB9003656C200273A + 7D00667DCD00000000000000000000000000031D3D85093C7BFF093C7BFF093C + 7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C + 7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C + 7BFF093C7BFF093C7BFF010D1D3A000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 000000000000000000000000000000000000293A7500435DB60003279E000327 + 9E0003279E0003279E001334A300435DB6000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000001B2957002333 + 6D003555BF00042DB700042DB700042DB700042DB700042DB700042DB700042D + B700042DB700042DB700042DB700042DB700042DB700042DB7003556C500AAAF + BE00293D80000000000000000000000000000C458BFF1D54ABFF1E54A9FF1E54 + A9FF1E54AAFF1E54AAFF1E54AAFF1E54AAFF1E54AAFF1E54AAFF1E54AAFF1E54 + AAFF1E54ABFF1E54ABFF1E54ABFF1E54ABFF1E54ABFF1E54ABFF1D54ABFF1D54 + ABFF1D54ABFF1C54AEFF0D468CFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000002C3D7B00435EBB000328A4000328 + A4000328A4000328A4001336AA00435EBB000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000001D2A5A002435 + 70003656C300042EBB00042EBB00042EBB00042EBB00042EBB00042EBB00042E + BB00042EBB00042EBB00042EBB00042EBB00042EBB00042EBB003658C800B6BB + C8002A3E84000000000000000000000000000F4791FF14439DFF14439DFF1544 + 9EFF15449EFF15449EFF15449EFF15449EFF15449EFF15449EFF15449EFF1544 + 9EFF15449EFF15449EFF15449EFF15449EFF15449EFF15449EFF15449EFF1544 + 9EFF15449EFF3E8AD8FF0C458BFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 000000000000000000000000000000000000314486004361C500042CB100042C + B100042CB100042CB1001439B6004361C5000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000001F2D5F002839 + 77003658C9000430C3000430C3000430C3000430C3000430C3000430C3000430 + C3000430C3000430C3000430C3000430C3000430C3000430C3003559CF00BEC3 + D1002E438D000000000000000000000000000F4792FF15459FFF1546A0FF1546 + A0FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647 + A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647 + A1FF1647A1FF1D55AFFF0C458BFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000033478C004362C900042DB700042D + B700042DB700042DB700143BBC004362C9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000203063002A3B + 7B00375ACD000633C8000633C8000633C7000633C7000633C7000633C7000633 + C7000633C7000633C7000633C7000633C7000633C8000633C800375BD300C3C8 + D600314691000000000000000000000000000F4892FF1749A3FF184CA6FF194D + A7FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4F + A9FF1A4FA9FF1B4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4F + A9FF1B51ABFF448EDAFF0C458BFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000364A91004363CF00042FBE00042F + BE00042FBE00042FBE00143CC3004363CF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000213164002B3D + 7E003D5FD1000F3BCD00103CCE00123ECF00123ECF00123ECF00123ECF00123E + CF00123ECF00123ECF00123ECF00123ECF00103CCE000F3BCE003D61D700C6CB + DA00324894000000000000000000000000000F4893FF1A4EA8FF1B51ABFF1C54 + AEFF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57 + B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57 + B1FF1E57B1FF4C92DCFF0B448AFF000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F80000000000000000000000000000000000000000003B519C003B519C003B51 + 9C003B519C003B519C003B519C003B519C003B519C004366D8000432CB000432 + CB000432CB000432CB00143FCE004366D8003B519C003B519C003B519C003B51 + 9C003B519C003B519C003B519C004B63BA00000000000000000025356A002E41 + 8400496BDA00214BD900244ED9002750D9002750D9002750D9006985E5006985 + E5006985E5002750D9002750D9002750D900244ED900204AD800486BDF00CFD4 + E400364D9C00000000000000000000000000104894FF1A4EA8FF1B52ACFF1C55 + AFFF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58 + B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58 + B2FF1E58B2FF1E58B2FF0B448AFF000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000004F6ED500516FD5005270 + D6005270D6005270D6005270D6005270D6005370D600496CDE000E3CD4000E3C + D4000E3CD4000E3CD400113ED4004A6DDF005270D6005270D6005270D6005270 + D6005270D6005270D600506ED4003E55A300000000000000000027366E003044 + 88004E6FDE002A53DE002E57DF00325ADF00325ADF005878E500112B8400112B + 8400112B8400325ADF00325ADF00325ADF002E57DF002A53DE004F72E400D3D8 + E8003951A000000000000000000000000000104894FF1A4EA8FF1B52ACFF1C55 + AFFF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58 + B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF053D82FF053D82FF0D4187FF053D + 82FF053D82FF053D82FF053D82FF03254F9B000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 00000000000000000000000000000000000000000000476BE300244FDD002852 + DE002953DE002953DE002953DE002953DE002A53DE00224DDD001C48DC001C48 + DC001C48DC001C48DC001C48DC00224DDD002953DE002953DE002953DE002953 + DE002953DE002852DE00496DE3004058AA000000000000000000283870003246 + 8C005475E200335BE300385FE3003C62E3003C62E3005268B000607FE8007792 + EC007792EC00607FE8003C62E3003C62E300385FE300325BE3005476E700D6DB + EC003B52A500000000000000000000000000114995FF1A4EA8FF1C53ADFF1D56 + B0FF1F59B3FF1F59B3FF1F59B3FF1F59B3FF1F59B3FF1F59B3FF1F59B3FF1F59 + B3FF1F59B3FF1F59B3FF1F59B3FF1F59B3FF1C54AEFF3D5978FF6C715CFF3458 + 88FF1C54AEFF1C54AEFF1A4FA9FF053D82FF000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000005175ED00325CEA003760 + EA003760EA003760EA003760EA003760EA003760EA003760EA003760EA003760 + EA003760EA003760EA003760EA003760EA003760EA003760EA003760EA003760 + EA003760EA003760EA00577AEE00465FB50000000000000000002B3B7500354A + 9400607FE800446AEA004A6FEB004F73EB004F73EB0042548F0042548F004F73 + EB0042548F0042548F004F73EB004F73EB004A6FEB004369EA006081EE00DFE4 + F5003F58AD00000000000000000000000000114A96FF194FA9FF1C53ADFF1D57 + B1FF1F5AB4FF1F5AB4FF1F5AB4FF1F5AB4FF1F5AB4FF1F5AB4FF1F5AB4FF1F5A + B4FF1F5AB4FF1F5AB4FF1F5AB4FF1F5AB4FF1C54AEFF3F463CFF32372CFF3B45 + 42FF1A4FA9FF1A4FA9FF1A4FA9FF053D82FF00000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 000000000000000000000000000000000000000000005579F1003E67EF00446B + EF00446BEF00446BEF00446BEF00446BEF00446BEF00446BEF00446BEF00446B + EF00446BEF00446BEF00446BEF00446BEF00446BEF00446BEF00446BEF00446B + EF00446BEF00446BEF005C7FF2004963BA0000000000000000002D3E7800384D + 97006685EC004C71EF005377EF00597CF000597CF00044569100364B90008BA3 + F400364B900044569100597CF000597CF0005377EF004B70EF006686F100E3E9 + FA00415BB100000000000000000000000000114A97FF1A4FA9FF1D54AEFF1E58 + B2FF205BB5FF205BB5FF205BB5FF205BB5FF205BB5FF205BB5FF205BB5FF205B + B5FF205BB5FF205BB5FF205BB5FF205BB5FF1C54AEFF43586CFFD3D6B6FF3956 + 7BFF1A4FA9FF1A4FA9FF1A4FA9FF053D82FF00000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000597CF2004B71F1005277 + F1005277F1005277F1005277F1005277F1005277F1005277F1005277F1005277 + F1005277F1005277F1005277F1005277F1005277F1005277F1005277F1005277 + F1005277F1005277F1006183F2004A64BB0000000000000000002E407A003A50 + 9A006B89EE005277F1005B7EF2006384F3006384F300394D91003B57B400223C + 90003B57B400394D91006384F3006384F3005B7EF2005277F1006C8BF300E6EC + FD00445DB400000000000000000000000000114B97FF1A50AAFF1D55AFFF1E59 + B3FF205CB6FF205CB6FF205CB6FF205CB6FF205CB6FF205CB6FF205CB6FF205C + B6FF205CB6FF205CB6FF205CB6FF205CB6FF5495DEFF3786D5FF327DCEFF327D + CEFF327DCEFF327DCFFF2D77C4FF032F65C788878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A500DCDBDB0088878700000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000587CF2005479F1006183 + F2006888F3006888F3006888F3006A8AF3006E8DF3006D8CF3006D8CF3006D8C + F3006D8CF3006D8CF3006D8CF3006E8DF3006A8AF3006989F3006888F3006888 + F3006686F3006183F2006082F2004C66BD00000000000000000030417B003C51 + 9C007792EF006283F2006C8BF3007592F4007592F4007592F400294190002941 + 9000294190007592F4007592F4007592F4006B8AF3006183F2007693F400E6EC + FD00465FB700000000000000000000000000124B98FF1A4FA9FF1D55AFFF1F59 + B3FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215C + B6FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215C + B6FF215CB6FF6EA7E8FF0B4489FF0000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00EBEBEB0085848300000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005A7BE9006987EA006E8A + EA00728EEA00738EEB00738EEB00748EEB007994EB00849EF5007B97F4007B97 + F4007B97F4007B97F4007C97F4008CA5F600748EEB00738EEB00738EEB00728E + EA00718DEA006E8AEA005E7EE9004D67BE00000000000000000031427C003D53 + 9C007C96F0006A8AF3007491F4007E99F5007E99F5007E99F5007E99F5007E99 + F5007E99F5007E99F5007E99F5007E99F5007491F4006888F3007C97F400E6EC + FD004761B800000000000000000000000000124C99FF1A50AAFF1D56B0FF1F59 + B3FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215D + B7FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215D + B7FF215DB7FF70A9EAFF0B4489FF000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A989700E7E7E6008C8A8800000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004E68BF004E68BF004E68 + BF004E68BF004E68BF004E68BF004E68BF004E68BF007391F40087A1F50087A1 + F50087A1F50087A1F5008BA4F600829DF5004E68BF004E68BF004E68BF004E68 + BF004E68BF004E68BF004E68BF00546FCB00000000000000000032437D003E53 + 9E007F99F000708EF4007B97F400849EF500849EF500849EF500849EF500849E + F500849EF500849EF500849EF500849EF5007A96F4006F8DF300819BF500E6EC + FD004862B900000000000000000000000000134C99FF2661B5FF3071C2FF3479 + C9FF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377D + CDFF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377C + CDFF387ECEFF2360B9FF0B448AFF000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA004863C0004D68 + C1004D68C2004D68C2004D68C2004D68C2004D68C2004C66C1004964C1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000506AC1007290F400A2B6F800A3B6 + F800A3B6F800A3B6F8009FB3F700859FF5000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000034447F004056 + A00088A0F1007B97F40086A0F50091A8F60094ABF60095ACF70095ACF70095AC + F70095ACF70095ACF70094ABF60091A8F600849EF5007A96F40089A2F600E6EC + FD004A64BB00000000000000000000000000134C9AFF2D6ABCFF377ACBFF3B81 + CFFF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84 + D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84 + D2FF3D84D2FF74ABEBFF0B448AFF0000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE00607EE4005D7C + E2005E7DE3005E7DE3005E7DE3005E7DE3005E7DE3005D7CE2006B87E5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000516BC2007693F400B0C0F900B1C1 + F900B1C1F900B1C1F900ABBDF8008AA3F6000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000034457F004156 + A1008DA4F2007F9AF50088A2F60094ABF60097ADF70098AEF7009AAFF7009AAF + F70099AFF70098AEF70097ADF70094ABF60087A1F5007E99F5008DA5F600E6EC + FD004C65BC00000000000000000000000000134D9BFF1E57B1FF6AA0E3FF70A6 + E7FF225FB9FF74ABEBFF74ABEBFF225FB9FF74ABEBFF74ABEBFF225FB9FF74AB + EBFF74ABEBFF225FB9FF74ABEBFF74ABEBFF225FB9FF74ABEBFF74ABEBFF225F + B9FF74ABEBFF74ABEBFF0C458AFF00000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF00728DEA0094A9 + ED0096AAEC0096AAEC0096AAEC0096AAEC0096AAEC0093A8ED007B95EB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000526CC3007A96F400BDCBFA00BDCB + FA00BDCBFA00BDCBFA00B5C5F9008FA7F6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000354681004157 + A2008FA6F100819BF50089A2F60093AAF60096ACF70097ADF70098AEF70098AE + F70098AEF70097ADF70095ACF70093AAF60087A1F5007F9AF5008FA7F600E6EC + FD004D66BD000000000000000000000000001A529AFF7FB5F2FF337ECFFF3481 + D1FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786 + D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786 + D5FF3786D5FF7FB5F2FF0C458BFF0000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB00ADACAC0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000536DC5007C97F400CBD6FB00CDD8 + FB00CDD8FB00CDD8FB00C0CEFA0093AAF6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000364882004156 + 9D006984E30097ADF7009AAFF7009DB2F7009EB3F7009FB3F7009FB3F7009FB3 + F7009FB3F7009EB3F7009EB3F7009DB2F70099AFF7009CB0F3007B8FD500E6EC + FD004F69C0000000000000000000000000000D468BFF1A4FA9FF1A4FA9FF1A4F + A9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4F + A9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4F + A9FF1A4FA9FF0C458BFF010D1C3800000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000546EC5007995F400C7D3FB00CCD7 + FB00CDD8FB00CAD5FB00B7C7F9008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004459A7003D4F + 91005366A900506AC100506AC100506AC100506AC100506AC100506AC100506A + C100506AC100506AC100506AC100506AC100506AC100506AC1006E82CB00E6EC + FD005069C000000000000000000000000000031C3B730D468BFF0D468BFF0D46 + 8BFF0D468BFF0D468BFF0D468CFF0D468CFF0D468CFF0D468CFF0D478CFF0D46 + 8CFF0D468CFF0D468CFF0D468CFF0D468CFF0D468CFF0D468CFF0D468CFF0D46 + 8CFF0D468CFF0D468CFF00000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000556FC6006F8DF300B2C2F900BECC + FA00C0CEFA00B6C6F900A2B6F800829CF5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B9C6F2003B4F + 950097A0C200C9D0E900E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6EC + FD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00CCD3 + F000506AC3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005A76D2005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000110000001C0000002E0000002E0000002E0000002E0000002E0000 + 002E0000002E0000002E0000002E0000002E0000002E0000002E0000001C0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000101020000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000005000000090000000C0000 + 000F00000016000000190000001D00000024000000260000002A0000002A0000 + 002A0000002A0000002A0000002A0000002A00000024000000200000001D0000 + 0016000000130000000F00000009000000060000000000000000000000000000 + 00000000000000000000339F70FF339F70FF339F70FF339F70FF339F70FF339F + 70FF339F70FF339F70FF339F70FF339F70FF339F70FF339F70FF000E0B120000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000003B2A9C75FF2A9C75FF2A9C75FF0000003E0000 + 003B000000330000002800000017000000140000000E0000000B000000080000 + 000300000002000000000000000000000000000000060000000D000000120000 + 001800000024A5A5A5E6CECECEFFE7E7E7FFE7E7E7FFE7E7E7FFE7E7E7FFE7E7 + E7FFE7E7E7FFE7E7E7FFE7E7E7FFE7E7E7FFE7E7E7FFE7E7E7FFCCCCCCFF2525 + 254D0000001D000000180000000D000000090000000000000000000000000000 + 0000000000000000000032A072FF12BC8EFF12BC8EFF12BC8EFF12BC8EFF12BC + 8EFF12BC8DFF12BC8EFF12BC8DFF12BC8EFF3CD7A7FF32A172FF000E0B120000 + 0000000000000000000000000000000000000000003200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 00520000005200000052000000320000001E0000000000000000000000000000 + 000000000000040F0B190000000035CD98FF15B081FF38D19BFF0D34276F0000 + 0024000000200000001800000014000000100000000900000006000000040000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000F0F0F17B3B3B3EFCECECEFFE4E4E4FFE4E4E4FFE4E4E4FFE3E3E3FFE3E3 + E3FFE3E3E3FFF2F2F2FFD4DDD9FFE2E2E2FFE1E1E1FFEFEFEFFFCCCCCCFF5B5B + 5B76000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000031A172FF12BD8EFF12BC8EFF12BD8EFF12BC8EFF12BD + 8EFF12BC8EFF12BD8EFF12BD8EFF12BD8EFF3CD7A7FF31A172FF000E0B120000 + 0000000000000000000000000000000000000000001E131313EF121212EF1111 + 11EF111111EF111111EF111111EF111111EF111111EF111111EF111111EF1111 + 11FD111111FD111111EF111111EF111111EF111111EF111111EF121212EF1212 + 12EF131313EF141414EF111111B6000000000000000000000000000000000000 + 00000209060F000000002A9C75FF13B082FF13B082FF17B687FF259771F1030C + 0914000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000033333349C2C2C2FCD5D5D5FFE4E4E4FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3 + F3FFE3E3E3FF5DB591FFBFD7CDFFF3F3F3FFF2F2F2FFEDEDEDFFD5D5D5FF8383 + 83AE000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000030A273FF11C090FF0DCB95FF0CCA94FF0DCB94FF0CCB + 95FF0CCB94FF0CCB95FF0CCA95FF0CCB95FF3CD7A7FF30A273FF000E0B120000 + 000000000000000000000000000000000000000000003B3B3BFF3C3C3CFF3C3C + 3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C + 3CFF3C3C3CFF3C3C3CFF3C3C3CFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D + 3DFF3D3D3DFF3D3D3DFF1B1B1BF6000000000000000000000000000000000000 + 00002A9C75FF32D59FFF14B183FF10CF9EFF10CF9DFF12C191FF31D39DFF23A0 + 78F60D3225520000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00008C8C8CC1CFCFCFFFE8E8E8FF6CC0A0FF38B284FF39B083FF3BB083FF3AAE + 82FF78C0A4FF3EAC80FF3BAC81FF3DAB7FFF3DAA7DFFD1DFD8FFE9E9E9FFACAC + ACE6000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002DA575FF11C291FF0CCD97FF0DCD97FF0CCC96FF0CCC + 96FF0CCC97FF0DCC96FF0DCC96FF0DCC97FF3BD7A7FF2EA574FF000E0B120000 + 000000000000000000000000000000000000000000002A2A2AFF2E2E2EFF3939 + 39FF393939FF393939FF393939FF393939FF393939FF393939FF3A3A3AFF3A3A + 3AFF3A3A3AFF3A3A3AFF3A3A3AFF3A3A3AFF3A3A3AFF3A3A3AFF3A3A3AFF3A3A + 3AFF3B3B3BFF323232FF1F1F1FC6000000000000000000000000000000000223 + 1A2C2BD19CFF14B284FF13B284FF16D2A1FF11D09EFF10D09EFF16B687FF27CB + 99FF259670F00000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009D9D9DD6D0D0D0FFEFEFEFFF39B285FF39B184FF5DBC98FF64BC9BFF58B8 + 94FFDEE3E1FF3CAB80FF92CAB3FF84C4AAFF3EAA7EFF96C9B3FFEEEEEEFFB9B9 + B9F5020202040000000000000000000000000000000000000000000000000000 + 000000000000000000002CA676FF11C392FF0DCE98FF0DCE98FF0DCD97FF0DCE + 97FF0DCD98FF0DCE98FF0DCD97FF0CCE97FF3BD7A7FF2CA676FF011C14220000 + 00000000000000000000000000000000000000000000323232FE343434FF3C3C + 3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3D3D3DFF3D3D + 3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D + 3DFF3E3E3EFF383838FF1212127100000000000000000000000001150F1A2AA0 + 75FF15B384FF13B283FF0FCE9BFF80EFD0FF6EE5BFFF0FD19EFF13B788FF24C9 + 96FF1FB78AFC0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000ACACACE8D0D0D0FFF1F1F1FF44B98EFF38B285FF41B288FFCFDFD9FFE6E6 + E6FFE6E6E6FF58B691FFA5D0BEFFB9D7CCFF3BAA7DFFAED1C2FFF0F0F0FFC4C4 + C4FE252525340000000000000000000000000000000000000000000000000000 + 000000000000000000002BA776FF10C492FF0DCE98FF0DCF99FF0DCF99FF0DCE + 98FF0DCF99FF0DCE99FF0DCE99FF0DCF99FF3AD7A6FF2BA877FF000E0B120000 + 00000000000000000000000000000000000000000000272727F04E4E4EFF4040 + 40FF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF404040FF4040 + 40FF404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040 + 40FF424242FF4B4B4BFF0505052200000000000000002AA078FF1BD09DFF1DD2 + 9FFF0FD09EFF16D4A3FF5DE7BFFF40AC89FF33A37EF255DCB3FF0FD29FFF11C0 + 90FF1ACC99FF259871EF02090710000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CACACAFEDADADAFFF2F2F2FFE0E7E4FF45B98FFF35B486FF8DCDB5FFE8E8 + E8FFE8E8E8FFE6E6E6FF6FC0A1FF3BAE82FFD7E1DCFFE5E5E5FFEEEEEEFFCDCD + CDFF838383B20000000000000000000000000000000000000000000000000000 + 0000000000000000000028AA79FF10C794FF0DD19BFF0DD19BFF0ED19BFF0DD1 + 9BFF0ED19BFF0DD19BFF0ED19BFF0DD19AFF38D7A6FF28AA79FF000E0B120000 + 0000000000000000000000000000000000000000000000000000121212612C2C + 2CE7686868FF616161FF555555FF464646FF464646FF464646FF464646FF4646 + 46FF464646FF464646FF464646FF474747FF494949FF535353FF5E5E5EFF4A4A + 4AFD303030F01313136500000000000000000001010218CF9CFF1CD4A0FF10D3 + A0FF16D5A3FF5CE8C0FF46CFA8E600000000071E162F269F77F147E4B9FF0FD3 + A0FF0FD3A0FF1DB78AFB1B7255B2000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D0D0D0FFE5E5E5FFEFEFEFFF59C09CFF39B88BFF35B587FFE7E9E8FFE6E8 + E7FFE8E8E8FFE8E8E8FFE5E6E6FF80C7ACFFE6E6E6FFE6E6E6FFEBEBEBFFCFCF + CFFF9A9A9ACF0000000000000000000000000000000000000000000000000000 + 0000000000000000000027AC7AFF10C795FF0DD29CFF0ED29CFF0ED29CFF0ED2 + 9CFF0ED29CFF0DD29DFF0DD29DFF0DD29CFF37D6A6FF26AB7AFF000E0B120000 + 0000000000000000000000000000000000000000000000000000000000000202 + 020B2F2F2FE83C3C3CEE525252FD6A6A6AFF4F4F4FFF494949FF4A4A4AFF4A4A + 4AFF4A4A4AFF4A4A4AFF4A4A4AFF515151FF6D6D6DFF585858FF434343F81C1C + 1C850202020B0000000000000000000000002AA379FF1AD5A1FF10D4A1FF0FD4 + A1FF5BEAC1FF4CD7B1EE2CAA7FFF0000000000000000071E162F51DCB3FF44E4 + B8FF0FD3A1FF1DD3A1FF23A178F40C2F234B0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D2D2D2FFEDEDEDFFEDEDEDFFEAEAEAFFEAEAEAFFDCE6E2FF3EB88CFF81CB + AFFFE5E8E7FF48B78EFF37AF82FF7FC5AAFFE7E7E7FFE6E6E6FFE8E8E8FFCFCF + CFFFA8A8A8E10000000000000000000000000000000000000000000000000000 + 0000000000000000000025AD7BFF11C996FF0ED39DFF0DD39DFF0ED39EFF0DD3 + 9EFF0ED39DFF0DD39EFF0ED39DFF0DD49DFF36D6A6FF25AD7BFF000E0B120000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000202020A0F0F0F481E1E1E8E3A3A3AF4656565FF585858FF4D4D4DFF4D4D + 4DFF4D4D4DFF4D4D4DFF606060FF6A6A6AFF333333E1202020950F0F0F480000 + 00000000000000000000000000000000000006140F1D3BCDA1FD3EE2B6FF56E9 + C0FF2EAF83FF00020103000000000000000000000000000000000820183127A4 + 7AF14DDCB2FF0FD5A1FF15D5A1FF1CB88BF90000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000B0B + 0B10D3D3D3FFF4F4F4FFEBEBEBFFEBEBEBFFEBEBEBFFEBEBEBFF31B686FF35B5 + 87FF94D1BAFF36B385FF3DB388FF2EAE80FFE9E9E9FFE8E8E8FFE8E8E8FFD0D0 + D0FFC6C6C6FC2C2C2C3F00000000000000000000000000000000000000000000 + 0000000000000000000022B17EFF10CB98FF0ED6A0FF0ED69FFF0ED6A0FF0ED6 + A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF33D7A6FF22B07DFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000001010105313131C3545454FF5454 + 54FF545454FF464646F9262626A0010101050000000000000000000000000000 + 00000000000000000000000000000000000000000000259E76E587EBCDFFFFFF + FFFF010504080000000000000000000000000000000000000000000000000821 + 183127A67AF136E0B3FF10D5A2FF13D4A1FF0C2E234800000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002C2C + 2C40D6D6D6FFF5F5F5FFECECECFFEBEBEBFFEBEBEBFFEBEBEBFF7CCCAFFF34B6 + 88FF35B587FF38B587FFCEE2DAFF96D0B8FFE9E9E9FFE9E9E9FFE9E9E9FFD6D6 + D6FFCDCDCDFF5C5C5C80000000000000000020B27FFF21B27FFF21B27FFF21B2 + 7FFF20B27FFF21B27FFF21B27FFF10CC99FF0ED7A2FF0ED7A1FF0FD7A1FF0ED7 + A1FF0ED8A1FF0ED7A1FF0ED7A1FF0ED7A1FF31D7A6FF21B27FFF20B27FFF21B2 + 7FFF20B27FFF20B27FFF21B27FFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000028282899595959FF5959 + 59FF595959FF444444F41B1B1B75000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000004100C1828A179E528A2 + 7AE3000000000000000000000000000000000000000000000000000000000000 + 00000822193249DCB1FF33E0B2FF0FD6A3FF259C74EC0209060E000000000000 + 0000000000000000000000000000000000000000000000000000000000005B5B + 5B8FD1D1D1FFE4E4E4FFDDDDDDFFDCDCDCFFDCDCDCFFDCDCDCFFD9DBDAFF30AB + 80FF30AA7FFF2AA77BFFDADBDAFFDBDBDBFFDADADAFFD9D9D9FFD9D9D9FFD1D1 + D1FFC2C2C2FF797979B8000000000000000005291D3842E6B8FF3EDCB0FF3EDC + B0FF3EDCB0FF3EDCB0FF3EDCB0FF11CE9BFF0ED9A3FF0ED8A2FF0ED8A3FF0ED8 + A3FF0ED8A2FF0ED8A2FF0ED8A3FF0FD9A2FF3EDCB0FF3EDCB0FF3EDCB0FF3EDC + B0FF3EDCB0FF38E3B4FF05291D38000000000000000000000000000000000000 + 000000000000000000000000000000000000040404113F3F3FF85D5D5DFF5D5D + 5DFF5D5D5DFF5A5A5AFF3B3B3BEE0303030E0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000008231A3427A77EF146DDB1FF10D6A3FF26A97EF30C2E22450000 + 0000000000000000000000000000000000000000000000000000000000007171 + 71DEA4A4A4FF949494FF929292FF929292FF929292FF929292FF929292FF9191 + 91FF919191FF909090FF909090FF909090FF909090FF909090FF909090FFA3A3 + A3FF8B8B8BFF767676E500000000000000000000000005291D381CB783FF52EB + C0FF0FDAA5FF0EDBA5FF0EDAA4FF0FDBA5FF0EDBA5FF0FDAA5FF0EDBA5FF0FDB + A5FF0FDBA5FF0EDBA5FF0FDBA5FF0FDBA5FF0FDBA4FF0EDBA5FF0EDBA5FF49E9 + BCFF1CB783FF05291D3800000000000000000000000000000000000000000000 + 000000000000000000000000000000000000434343DD5F5F5FFF636363FF6363 + 63FF636363FF636363FF606060FF333333B30000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000009241B3428AA7FF12BDFAFFF14D09EFF27A177EB0000 + 000000000000000000000000000000000000000000000E7C5AAA21B17FFF21B1 + 7FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B1 + 7FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B1 + 7FFF21B17FFF21B17FFF0E7C5AAA00000000000000000000000005291D381AB8 + 84FF0FDCA6FF0FDCA6FF0FDCA6FF0EDCA7FF0EDCA6FF0FDCA6FF0FDCA6FF0FDC + A6FF0EDCA6FF0FDCA6FF0EDDA6FF0FDCA6FF0FDCA6FF0FDCA6FF0FDCA6FF1AB8 + 84FF05291D380000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000020202064E4E4EFC656565FF666666FF6666 + 66FF666666FF666666FF666666FF414141DD0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000009241B3444DDB1FF28DFAFFF1DBC8EF80000 + 0000000000000000000000000000000000000000000021B17FFF1AC995FF1AC9 + 95FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC9 + 95FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC9 + 95FF1AC995FF1AC995FF21B17FFF000000000000000000000000000000000529 + 1D3860F0C7FF0FDDA7FF0EDDA7FF0FDDA7FF0FDDA7FF0EDDA7FF0FDEA7FF0FDD + A7FF0FDDA7FF0EDDA8FF0FDEA7FF0FDDA7FF0FDDA7FF0EDDA8FF5AEEC4FF0529 + 1D38000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000001313132F515151FF686868FF696969FF6969 + 69FF696969FF696969FF696969FF4A4A4AED0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000A261C372AAC7FF140DCB0FF29A4 + 7AEA0208060C0000000000000000000000000000000021B17FFF12C28EFF12C2 + 8EFF13C28DFF13C38EFF12C28EFF12C28EFF12C28DFF13C28EFF12C28EFF12C2 + 8EFF12C38DFF13C28EFF12C38EFF12C38EFF12C38EFF12C28EFF13C28EFF13C2 + 8EFF12C38EFF13C38EFF21B17FFF000000000000000000000000000000000000 + 000005291D3817BD87FF6FF3CDFF0FE0AAFF0FDFAAFF0FE0AAFF0FDFA9FF10DF + AAFF0FDFAAFF0FDFA9FF0FE0A9FF0FE0A9FF6AF2CBFF17BD88FF05291D380000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000002222224F5B5B5BFF6F6F6FFF707070FF7070 + 70FF707070FF707070FF707070FF585858F60000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000A271D372BAC80F126C1 + 94F81B7256A20000000000000000000000000000000021B17FFF12C490FF11C4 + 8FFF12C48FFF12C48FFF11C48FFF11C48FFF11C48FFF12C48FFF12C48FFF12C4 + 8FFF11C48FFF12C48FFF12C48FFF12C48FFF11C48FFF11C38FFF12C48FFF12C4 + 8FFF11C48FFF11C48FFF21B17FFF000000000000000000000000000000000000 + 00000000000005291D3815BE88FF10E0AAFF0FE0AAFF0FE1ABFF0FE0AAFF0FE1 + ABFF0FE0AAFF10E1ABFF0FE1AAFF0FE1ABFF15BE88FF05291D38000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000001D1D1D3F5A5A5AFF727272FF737373FF7373 + 73FF737373FF737373FF737373FF555555F00000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000000A271D373ADB + ADFF2BB285F40B2C213F00000000000000000000000021B17FFF11C590FF11C5 + 90FF11C590FF11C590FF11C590FF11C590FF11C590FF11C590FF11C590FF11C5 + 90FF11C590FF11C590FF11C590FF11C590FF11C590FF11C590FF11C590FF11C5 + 90FF11C590FF11C590FF21B17FFF000000000000000000000000000000000000 + 0000000000000000000005291D387BF6D2FF0FE1ACFF10E1ABFF0FE1ACFF0FE1 + ABFF0FE2ABFF0FE1ABFF0FE2ACFF78F5D1FF05291D3800000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000D0D0D1B5E5E5EFF757575FF767676FF7676 + 76FF767676FF767676FF767676FF565656E90000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000A29 + 1E392CAF84F232C093FC00000000000000000000000016BD88FF17E8B4FF17E8 + B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8 + B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8 + B4FF17E8B4FF17E8B4FF16BD88FF010604070000000000000000000000000000 + 000000000000000000000000000005291D3813C28BFF86F8D6FF10E4ADFF0FE3 + ADFF0FE4AEFF84F7D5FF12C18BFF05291D380000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003939398E696969FF7C7C7CFF7C7C + 7CFF7C7C7CFF818181FF676767FC191919500000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000B291F3A2CB185F413392C4B00000000000000000E382C4216BD88FF17E8 + B4FF299065FF289266FF25A171FF25A171FF25A171FF25A171FF25A171FF25A1 + 71FF25A171FF25A171FF25A171FF25A171FF25A171FF25A171FF25A171FF0CBE + 89FF46E7B5FF17E8B4FF0E372A40000000000000000000000000000000000000 + 00000000000000000000000000000000000005291D3812C38CFF10E4AEFF10E4 + AEFF10E4AEFF11C38CFF05291D38000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000002020207494949D58F8F8FFF8A8A + 8AFF898989FF707070FE444444CA020202070000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000B2B203C2FAE84EF0208060B00000000000000010F3C2E4616BD + 88FF48E6B5FF299065FF25A171FF25A171FF25A171FF25A171FF25A171FF25A1 + 71FF25A171FF25A171FF25A171FF25A171FF25A171FF25A171FF25A171FF4DEC + BAFF17E8B4FF16BD88FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000005291D388DF9D8FF10E4 + AFFF8DF9D8FF05291D3800000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000007070718525252EB5D5D + 5DF85D5D5DF8353535A307070718000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000B2B203C2EAE83F40000000000000000000000000001 + 010217DCA7FF10D197FF10D197FF10D197FF10D197FF10D197FF10D197FF10D1 + 97FF10D197FF10D197FF10D197FF10D197FF10D197FF10D197FF10D197FF16CE + 99FF0F3A2D440001010200000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000005291D380FC5 + 8EFF05291D380000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000001000000020000000300000006000000090000000C000000100000 + 001100000014000000100000000D0000000C0000000600000005000000030000 + 0001000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000003200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000032000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000200000004000000070000000C000000120000001C000000240000 + 0027339F70FF0000002E00000029000000210000000D0000000A000000060000 + 0002000000000000000000000000000000000000001E00000040000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 00520000005200000052000000270000001E0000001E319F70FF32A071FF319F + 70FF31A070FF319F71FF32A071FF32A070FF31A071FF32A070FFD58F6AFFD58F + 6AFFD58F6AFFD58F6AFFD58F6AFFD58F6AFFD58F6AFF000000001560BCFF1560 + BDFF1560BDFF1660BDFF00000000000000000000000000000000000000000000 + 0000000000000000000000000000FED6AEFFFED6AEFFFED6AEFFFED7B0FFFED7 + B0FFFED8B1FFFED9B4FFFEDAB6FFFEDAB6FFFEDCB9FFFEDCB9FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000032A071FF32A071FF0F342452000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000252422FF262624FF2625 + 23FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86 + F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86 + F2FF262524FF262524FF0000000000000000000000000DC992FF13B98CFF13B9 + 8CFF13B98CFF13B98CFF13B98CFF13B98CFF0EC992FF2FA171FFD58F6AFFEBA5 + 7DFFE19D79FFE19D79FFE19D79FFE19D79FFD58F6AFF000000001661BEFF076E + E6FF076EE6FF0578EAFF00000000000000000000000E00000013000000140000 + 0016000000191111113114141431FED4AAFFFED4AAFFFED4AAFFFED5ACFFFED5 + AEFFFED6AFFFFED8B2FFFED8B2FFFED9B4FFFEDAB7FFFFDBB9FF111111310000 + 00180000001600000014000000100000000E0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000031A172FF3BD7A7FF30A271FF0F3424520000000000000000000000000000 + 00000000000000000000000000000000000000000000262523FF282724FF2727 + 24FF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037F + EEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037F + EEFF272625FF000000000000000000000000000000000DCA93FF13B98CFF0DCA + 93FF0DCA93FF0DCA94FF0DCA93FF13B98CFF0DCA93FF2FA272FFD58F6AFFECA5 + 7DFFE29E79FFECA57DFFECA57CFFE29E79FFD58F6BFF000000001662C0FF057A + EBFF0388F0FF057BEAFF000000000000000000000017000000343F3F3F7FACAC + ACFFACACACFFACACACFF636262FFFFCD9DFFFFCD9DFFFFCE9FFFFFD0A3FFFFD2 + A6FFFFD4AAFFFFD7AFFFFFD8B1FFFFD9B5FFFFDDBCFFFFDDBCFF636363FFACAC + ACFFACACACFF4B4B4B8C00000030000000170000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000030A373FF10BF8EFF39D6A6FF30A373FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000272624FF292826FF2929 + 26FF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037F + EEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037F + EEFF2A2927FF292826FF0000000000000000000000000DCB95FF13BA8DFF0DCB + 95FF0DCC94FF0DCB94FF0DCB94FF13B98CFF0ECB94FF2EA273FFD68F6AFFECA5 + 7EFFE39E7AFFECA67DFFECA67DFFE39E7AFFD5906BFF000000001764C3FF057C + EBFF0389F0FF057CEBFF000000000000000000000000ACACACFFD1D1D1FFD1D1 + D1FFD1D1D1FFD1D1D1FF323232FFC49F7BFFC4A07EFFC4A17FFFC4A383FFC4A5 + 87FFC4A688FFC4A78BFFC4A88EFFC4A991FFC4AC96FFC4AC96FF323232FFCCCC + CCFFCCCCCCFFCCCCCCFF00000000000000000003020400040306000403060004 + 030600040306000403060009060C000403060004030600040306000403060000 + 00002DA575FF10BF8EFF10BF8EFF10BF8EFF2DA575FF0F342452000000000000 + 00000000000000000000000000000000000000000000292927FF2E2D2AFF2E2D + 2AFFFBE7D0FFFBE6D0FFFBE7CFFFFCE6CFFFFBE7D0FFFBE7D0FFFBE6D0FFFCE7 + D0FFFBE6CFFFFBE6CFFFFBE7D0FFFCE7CFFFFBE6D0FFFBE6CFFFFBE7CFFFFBE6 + CFFF2D2C2AFF2D2C2AFF0000000000000000000000000DCD97FF13BD8FFF0ECE + 97FF0ECE97FF0DCE97FF0ECE98FF13BC8EFF0ECD97FF2CA575FFD6906BFFEDA7 + 7FFFE5A17BFFECA77EFFECA77EFFE6A17BFFD6906BFF000000001A66C7FF0581 + EDFF038DF1FF0581EDFF000000000000000000000000ACACACFFD4D4D4FFD4D4 + D4FFD4D4D4FFD4D4D4FF333131FF9E8373FF9E8373FF9E8373FF9E8474FF9E84 + 74FF9E8475FF9E8576FF9E8576FF9E8577FF9E8577FF9E8577FF333131FFC8CC + CAFFCECECEFFCECECEFF00000000000000002CA676FF2CA776FF2CA676FF2CA6 + 75FF2CA675FF2BA676FF2BA675FF2CA675FF2BA676FF2CA676FF2CA676FF2CA6 + 76FF2BA776FF10BF8EFF0DCA94FF10C08EFF31D4A3FF2CA675FF0F3424520000 + 000000000000000000000000000000000000000000002B2927FF302E2CFF302E + 2DFFFBE7D0FFFCE7D0FFFCE7D0FFFBE7D1FFFBE7D1FFFCE7D0FFFBE7D1FFFBE7 + D1FFFBE7D0FFFBE7D1FFFBE7D0FFFBE7D0FFFCE7D1FFFBE7D1FFFCE7D0FFFBE7 + D0FF302E2CFF302F2CFF0000000000000000000000000ECF99FF12C090FF0ECF + 98FF0ECF99FF0ECF99FF0ECF99FF12BF8FFF0ECF99FF2BA675FFD6906CFFEDA8 + 7FFFE7A27CFFECA87FFFECA87FFFE7A27CFFD6906BFF000000001A68CBFF0482 + EDFF038EF1FF0483EEFF000000000000000000000000ACACACFFD7D7D7FFD7D7 + D7FFD7D7D7FFD7D7D7FFD6D6D6FFD6D6D6FFD5D5D5FFD5D5D5FFD5D5D5FFD4D4 + D4FFD4D4D4FFD4D4D4FFD3D3D3FFD3D3D3FFD3D3D3FFD2D2D2FFD2D2D2FF39A4 + 76FFC4CDCAFFD1D1D1FF00000000000000002AA777FF3CD7A7FF3CD7A7FF3CD7 + A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7 + A7FF3CD7A7FF10BF8EFF0DCB95FF0DCC95FF0FC18FFF2ED4A2FF2BA777FF0000 + 000000000000000000000000000000000000000000002C2A29FF33312EFF3231 + 2FFFC4D1D7FFC4D0D7FFC4D0D7FFC4D0D7FFC4D0D8FFC4D0D7FFC4D1D7FFC4D1 + D8FFC4D1D7FFC4D1D7FFC4D1D8FFC4D0D8FFC4D0D8FFC4D1D7FFC4D0D8FFC4D0 + D7FF33302FFF33302FFF0000000000000000000000000ED09AFF11C392FF0ED0 + 9AFF0ED09AFF0ED09AFF0ED09AFF11C191FF0FD09AFF2AA677FFD7906CFFEDA9 + 80FFE8A47DFFEDA980FFEDA980FFE8A47DFFD7906BFF000000001B6ACDFF0486 + EFFF038FF2FF0486EEFF000000000000000000000000ACACACFFDCDCDCFFEDED + EDFF269B6AFF279B6AFF279B6AFF279B69FF279A69FF289A69FF289A68FF289A + 68FF289A68FF289968FF289968FF289968FF289968FF289968FF289968FFCBE8 + DCFFEAEAEAFFD7D7D7FF000000000000000028AA7AFF10C18FFF10C18FFF10C1 + 8FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C1 + 8FFF10C18FFF0FC793FF0ECE98FF0DCE98FF0DCE98FF0DCE98FF0FC492FF27AA + 7AFF0F342452000604080000000000000000000000002F2E2BFF373534FF3735 + 34FFFBE8D4FFFBE9D3FFFCE9D4FFFBE8D4FFFCE9D3FFFCE8D4FFFBE8D3FFFCE9 + D4FFFBE9D4FFFBE8D3FFFBE9D3FFFBE8D3FFFCE9D3FFFBE9D4FFFCE8D4FFFCE8 + D4FF383634FF373633FF00000000000000000000000013D59FFF10CB97FF0ED3 + 9CFF0FD39DFF0ED39DFF0ED39DFF10C996FF14D5A0FF27AA78FFD7916DFFEDAB + 81FFEBA880FFEDAA82FFEEAA82FFECA880FFD8926CFF000000001E6ED2FF048C + F1FF0391F3FF048BF1FF000000000000000000000000A3A3A3ECE0E0E0FFF9FC + FBFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC + 9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF2899 + 68FFFFFFFFFFDADADAFF000000000000000026AB7BFF0FC390FF10C18FFF0EC9 + 95FF0ECF99FF0DD099FF0DD09AFF0DD099FF0DCF9AFF0DD09AFF0DD099FF0DD0 + 99FF0ED099FF0DCF9AFF0ED09AFF0ED099FF0ED09AFF0ECF9AFF0DCF99FF19C9 + 97FF26AC7BFF0F342452000000000000000000000000302E2CFF3A3836FF3A38 + 36FFC4D2DAFFC4D2DAFFC4D2DAFFC4D2DAFFC4D3DAFFC4D2DAFFC4D2DAFFC4D2 + DAFFC4D2DAFFC4D3DAFFC4D2DAFFC4D2DAFFC4D2DAFFC4D2DAFFC4D2DAFFC4D2 + DAFF3A3836FF3A3836FF00000000000000000000000016D7A2FF10CE9AFF0FD4 + 9EFF0ED59EFF0FD59EFF0ED49EFF10CC99FF17D7A2FF26AA79FFD8926DFFEDAB + 83FFEDAC82FFEEAC82FFEEAB83FFEEAC82FFD8926DFF000000001F6FD4FF038E + F1FF0393F2FF038EF1FF000000000000000000000000A1A1A1E6EAEAEAFFF4FA + F7FF47CA9DFF23A674FF23A674FF24A472FF24A472FF24A472FF24A472FF24A4 + 72FF24A472FF24A472FF24A472FF24A472FF24A472FF24A472FF23A674FF279B + 6BFFFFFFFFFFE5E5E5FF000000000000000024AD7CFF0FC492FF0ECA96FF0DD1 + 9BFF0DD29BFF0ED29BFF0DD19BFF0ED19AFF0DD19BFF0DD19BFF0ED29BFF0ED1 + 9BFF0DD29BFF0ED19BFF0DD19AFF0DD19BFF0DD19BFF0ED19BFF0ED19BFF0FC9 + 95FF19CB99FF24AD7CFF000403060000000000000000312F2EFF3D3B38FF3C3A + 39FFFCE9D5FFFCEAD5FFFCE9D5FFFBEAD6FFFCEAD5FFFCE9D5FFFCE9D6FFFCEA + D5FFFCEAD6FFFCEAD5FFFCEAD5FFFCEAD6FFFBEAD6FFFCE9D5FFFCEAD6FFFBE9 + D5FF3D3B39FF3D3B39FF0000000000000000000000001AD9A5FF0FD29DFF0ED5 + A0FF0FD5A0FF0FD6A0FF0FD69FFF10D19CFF1BD9A6FF25AC7AFFD9936DFFEEAE + 84FFEDAC83FFEEAC83FFEEAC83FFEEAC83FFD9926DFF000000002071D7FF0393 + F3FF0393F3FF0393F3FF000000000000000000000000A7A7A7E3FFFFFFFFEEFA + F5FF5AE0B6FF26C18FFF26C895FF26C895FF26C895FF26C895FF26C895FF26C8 + 95FF26C895FF26C895FF26C895FF26C895FF26C895FF26C895FF26C08EFF23A2 + 70FFFFFFFFFFFFFFFFFF000000000000000021B17FFF0FC995FF0ED49EFF0ED4 + 9EFF0DD49EFF0DD49EFF0ED49EFF0ED49EFF0ED49EFF0DD49EFF0ED49EFF0ED4 + 9DFF0ED49EFF0ED49EFF0ED49EFF0ED49EFF0ED49EFF0DD49EFF0ED49EFF0ED5 + 9EFF0ED49EFF0FCF9AFF22B07FFF0F34245200000000353331FF43403EFF4240 + 3EFFC4D3DCFFC4D4DCFFC4D4DCFFC4D4DCFFC4D4DBFFC4D3DCFFC4D4DCFFC4D4 + DCFFC4D4DCFFC4D3DCFFC4D3DCFFC4D4DCFFC4D4DCFFC4D4DCFFC4D3DBFFC4D3 + DCFF42403EFF43403EFF00000000000000000000000022DDABFF0ED9A3FF0FD9 + A3FF0FD9A3FF0ED8A3FF0ED9A2FF0FD8A3FF25DFACFF22B07EFFD9946EFFF0B2 + 8AFFEFAE85FFEEAE85FFEFAE84FFEFAE84FFD9946EFF000000001584EAFF5DC7 + FBFF5DC7FBFF5DC7FBFF000000000000000000000000A8A8A8E0FFFFFFFFE6F8 + F2FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEE + C8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF21A7 + 74FFFFFFFFFFFFFFFFFF000000000000000020B280FF0FCC98FF0ED5A0FF0ED6 + A0FF0ED69FFF0ED5A0FF0ED59FFF0ED6A0FF0ED69FFF0ED59FFF0ED5A0FF0ED6 + 9FFF0ED5A0FF0ED69FFF0ED69FFF0ED69FFF0ED69FFF0ED59FFF0ED6A0FF0ED5 + A0FF0ED69FFF0ED5A0FF2ADEACFF20B27FFF00000000363432FF454341FF4643 + 40FFFBEAD7FFFCEBD8FFFCEBD8FFFCEBD7FFFCEBD8FFFCEBD8FFFCEBD7FFFCEB + D7FFFCEBD7FFFCEBD7FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEAD8FFFCEB + D8FF454341FF454341FF00000000000000000000000027E0AEFF0EDAA4FF0EDA + A5FF0FDBA4FF0FDAA4FF0FDAA5FF0FDAA4FF29E0AEFF22B17FFFD9946EFFEFB4 + 8CFFEFAF86FFEEAF85FFEFAF85FFEFAF86FFDA936EFF00000000000000001584 + EAFF1584EAFF1584EAFF000000000000000000000000A0A0A0D5FFFFFFFFDDF7 + EFFF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEE + C8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF1EAB + 78FFFFFFFFFFFFFFFFFF00000000000000001FB381FF0FCF9AFF0ED7A1FF0ED7 + A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED6A1FF0ED7A2FF0ED7A1FF0ED7A1FF0ED7 + A1FF0ED7A1FF0ED7A1FF0ED6A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED7 + A1FF0ED7A1FF0FD7A1FF1EB381FF063C2C5200000000383634FF484643FF4846 + 43FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEB + D8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFB2A6 + 9AFF484543FF484543FF0000000000000000000000002CE2B1FF0FDBA6FF0FDC + A5FF0FDBA6FF0FDBA6FF0FDCA6FF0FDCA6FF2EE3B1FF21B381FFDA946EFFF0B7 + 8FFFEFAF86FFEFB086FFEFB086FFEFB086FFDA946FFF00000000000000000000 + 000000000000000000000000000000000000000000007B7B7BA8EFEFEFFFF6FC + FAFF5CE7BDFF23C08DFFECBD96FFECBE97FFECBE97FFECBE97FFECBE97FFECBE + 97FFECBE97FFECBE97FFECBE97FFECBE97FFECBE97FFECBE97FF24BD8BFF19B3 + 7FFFFFFFFFFFF3F3F3FF00000000000000001BB783FF0FD5A1FF0FDAA4FF0EDA + A4FF0EDAA4FF0FDAA4FF0FDAA4FF0FDAA4FF0EDAA4FF0EDAA4FF0EDAA4FF0FDA + A4FF0EDAA4FF0FD9A4FF0ED9A4FF0EDAA5FF0FDAA4FF0EDAA4FF0FDAA4FF0EDA + A4FF46E7BAFF1BB684FF0000000000000000000000003B3836FF4E4B49FF4E4A + 49FF4E4B49FF4E4B49FF4E4B48FF3D3A39FF3C3A39FF3C3A39FF3C3A38FF3D3A + 39FF3C3A39FF3D3A38FF3C3A39FF3C3A39FF3D3A38FF3D3A39FF3C3A39FF4E4B + 49FF4E4A48FF4D4A49FF00000000000000000000000037E6B5FF0FDEA9FF0FDE + A8FF0FDEA9FF0FDEA9FF10DEA9FF0FDEA9FF39E6B6FF20B885FFDB956FFFF1BD + 94FFF0B188FFEFB188FFEFB187FFEFB187FFDB956FFF00000000000000000000 + 000000000000000000000000000000000000000000000D0D0D13959595C6C3CE + CAFD54BF9EFF48B48FFEF1C9A0FFF3CCA3FFF3CCA3FFF3CCA3FFF3CCA3FFF3CC + A3FFF3CCA3FFF3CCA3FFF3CCA3FFF3CCA3FFF3CCA3FFF3CBA2FF46B28CFE18B7 + 83FFBDBDBDE99B9B9BCE000000000000000019B884FF0ED8A3FF0EDBA6FF0FDB + A6FF0EDBA6FF0FDBA6FF0EDBA5FF0FDCA6FF0EDCA6FF0EDBA5FF0FDBA5FF0FDC + A5FF0EDBA6FF0EDBA6FF0FDCA6FF0FDCA5FF0FDBA6FF0FDBA6FF0FDBA6FF4FEA + BFFF1AB885FF063C2C520000000000000000000000003C3938FF504D4BFF504E + 4BFF6D6B6AFF5F5B58FF5F5B58FFE8E8C2FFE8E8C2FFE8E8C2FFE8E8C2FFE8E8 + C2FFE8E8C2FFE8E8C2FFE8E8C2FFE8E8C2FFE8E8C2FFE8E8C2FF3E3C3AFF504D + 4BFF504D4BFF504D4BFF0000000000000000000000003DE8B8FF0FE0A9FF0FDF + AAFF0FDFAAFF10E0A9FF0FE0AAFF0FDFA9FF3EE8B9FF1FB986FFDB9570FFF2C0 + 97FFF0B188FFF0B187FFEFB288FFF0B188FFDB956FFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002222 + 22321616162000000000F5D1ABFFF9D8B2FFF8D8B2FFF9D8B2FFF8D8B1FFF9D8 + B2FFF9D8B2FFF8D8B1FFF9D8B1FFF9D8B2FFF9D8B1FFF7D5AFFF161817231616 + 16201010101800000000000000000000000018B985FF0FDCA6FF0FDDA7FF0EDD + A7FF0FDDA7FF0EDDA7FF0FDCA7FF0FDDA7FF0EDDA7FF0FDDA7FF0FDCA7FF0FDD + A7FF0EDDA7FF0FDDA7FF0FDCA7FF0FDDA7FF0FDCA7FF0FDDA7FF0FDCA7FF18BA + 85FF063C2C52000000000000000000000000000000003D3A39FF534F4DFF5350 + 4DFF5F5B58FF4A4645FF4A4645FFE9E8C4FFE9E9C4FFE9E9C4FFE9E9C5FFE8E9 + C4FFE8E9C4FFE9E8C4FF2F2E2CFF474341FFE9E9C5FFE9E9C5FF413D3CFF534F + 4DFF53504DFF53504EFF00000000000000000000000041E9BAFF0FE1ABFF0FE1 + ACFF0FE0ABFF10E0ABFF10E1ABFF0FE1ABFF43EABBFF1EBB88FFDC956FFFF2C2 + 99FFF0B288FFEFB389FFEFB288FFF0B288FFDC956FFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000F3CEA9FFFADBB7FFFADBB7FFF9DAB7FFFADBB7FFF9DB + B7FFF9DBB7FFF9DBB7FFF9DAB7FFFADBB7FFF9DBB7FFF5D2AEFF000000000000 + 00000000000000000000000000000000000013C08AFF13C08AFF13C08AFF13C0 + 8AFF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C0 + 8AFF16BC89FF0FE0AAFF0FDFAAFF0FE0AAFF0FE0A9FF6BF2CCFF16BC88FF0000 + 00000000000000000000000000000000000000000000403E3CFF575452FF5754 + 52FF5F5B58FF4A4645FF575452FFEBEBCDFFEBEBCCFFEBEBCCFFEBEBCCFFEBEC + CCFFEBEBCCFFEBEBCCFF2F2E2CFF474341FFEBEBCCFFEBEBCCFF444140FF5754 + 52FF575452FF575452FF0000000000000000000000004CECBEFF10E3AEFF0FE3 + ADFF10E2AEFF0FE2ADFF0FE3AEFF10E3ADFF4EECBFFF1DBE8BFFDC9670FFF5F9 + F7FFF7E1BAFFF7E1BAFFF7E1BAFFF7E1BAFFDC9670FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000F2CCA8FFFADDBAFFFADCBAFFFADCBAFFFADDBAFFF9DC + BAFFFADDBAFFFADCBAFFF9DCBAFFFADCBAFFFADCB9FFF4D0ADFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000014BD89FF0FE1ABFF10E0ABFF10E1ABFF73F4CFFF14BD89FF063C2C520000 + 00000000000000000000000000000000000000000000413E3DFF5A5654FF5A56 + 54FF5F5B58FF4A4645FF5A5654FFEDECD0FFEDEDD1FFEDEDD0FFEDEDD1FFECEC + D0FFEDEDD0FFECEDD0FF2F2E2CFF474341FFECEDD0FFECECD1FF464341FF5A56 + 54FF5A5654FF595554FF00000000000000000000000051EDC0FF0FE3AFFF10E4 + AFFF10E4AEFF10E4AFFF10E3AFFF10E4AEFF53EDC1FF1DC18DFF54392B58D796 + 70E3F2AF85FFF3AE85FFF2AE85FFF2AE85FF35261D3800000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000F1CBA6FFFADEBCFFFADEBDFFFADDBCFFFADDBCFFFADE + BDFFFADEBDFFFADDBDFFFADEBCFFFADEBDFFFADDBDFFF3CFACFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000013BE8BFF0FE2ACFF10E1ADFF0FE2ACFF13BF8AFF063C2C52000000000000 + 0000000000000000000000000000000000000000000042403EFF5B5855FF5B57 + 56FF5F5B58FF4A4645FF5C5855FFEEEED5FFEEEED5FFEEEED5FFEEEED5FFEEEE + D5FFEEEED5FFEEEED5FF2F2E2CFF474341FFEEEED5FFEEEED5FF484442FF5B57 + 56FF5C5856FF5B5856FF00000000000000000000000056EEC2FF10E5AFFF0FE5 + B0FF10E5B0FF10E4AFFF10E5B0FF10E5B0FF58EEC2FF1CC28FFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000EFC8A4FFFAE0C1FFFBE0C2FFFAE0C1FFFBE0C2FFFAE0 + C2FFFAE0C2FFFAE0C2FFFAE0C1FFFBE0C1FFFAE0C2FFF1CBA8FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000012C18CFF10E3AFFF89F8D7FF11C18CFF0000000000000000000000000000 + 00000000000000000000000000000000000000000000444140FF5F5A58FF5F5B + 58FF5F5B58FF4A4645FF5E5B59FFF0F1DEFFF1F1DDFFF1F1DEFFF1F1DEFFF0F1 + DEFFF1F1DEFFF0F1DEFF2F2E2CFF2F2E2CFFF1F1DDFFF0F1DEFF494645FF5F5A + 59FF5F5B59FF6D6B6AFF0000000000000000000000005FEFC4FF10E7B1FF10E7 + B1FF10E6B1FF10E7B1FF10E6B1FF10E6B1FF61EFC5FF1CC591FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000EEC7A4FFFBE2C3FFFAE1C4FFFBE1C3FFFAE2C3FFFBE1 + C4FFFAE1C4FFFBE1C4FFFBE1C3FFFBE1C3FFFBE1C4FFEFC8A6FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000011C28DFF8EF9D8FF10C28DFF063C2C520000000000000000000000000000 + 00000000000000000000000000000000000000000000454241FF8D8C8BFF6D6B + 6AFF5F5B58FF4A4645FF6D6B6AFFFBFBF5FFFBFBF5FFFBFBF5FFFBFBF5FFFBFB + F5FFFBFBF5FFFBFBF5FFFBFBF5FFFBFBF5FFFBFBF5FFFBFBF5FF555353FF6D6B + 6AFF8D8C8BFF454240FF00000000000000000000000063F0C5FF10E7B2FF10E7 + B2FF10E7B2FF10E7B2FF10E7B2FF10E7B2FF65F0C5FF1CC792FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000EFC7A4FFEFC7A4FFEFC7A4FFEFC7A4FFEFC7A4FFEFC7 + A4FFEFC7A4FFEFC7A4FFEFC7A4FFEFC7A4FFEFC7A4FFEFC7A5FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000010C28DFF0FC28DFF063C2C52000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003A37369B454241FF4542 + 40FF5F5B58FF4A4645FF454241FFC3C3B5FFC3C3B5FFC3C3B5FFC3C3B5FFC3C3 + B5FFC3C3B5FFC3C3B5FFC3C3B5FFC3C3B5FFC3C3B5FFF4F3E4FF363333FF4542 + 41FF454240FF1F1D1D5A00000000000000000000000068F0C7FF10E7B2FF10E7 + B2FF10E7B2FF10E7B2FF10E7B2FF10E7B2FF68F0C7FF1DC894FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000EC48FFF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000001BCB97F420CA97F421CB + 98F421CB98F421CB98F421CB98F41FCB97F418C390EC00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000020202220A0A0938000000380000003800000038000000380000 + 0038000000380000003800000038000000380A0A093C02020222000000000000 + 0000000000000000000000000000000000000000000000000002000000040000 + 0002000000000000000B000000180000002A0000002900000029000000290000 + 00290000002900000028000000260000001A0000000900000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000008E8F82FF8E8F82FF8E8F82FF8E8F82FF8E8F + 82FF8E8F82FF8E8F82FF8E8F82FF8E8F82FF1313122002020205000000000000 + 0000000000000000000000000000000000000000000000000004000000060000 + 00090000000C0000001000000025349E6FFF349E6FFF349E6FFF349E6FFF349E + 6FFF349E6FFF349E6FFF349E6FFF349E6FFF0000002400000021000000150000 + 000B000000090000000900000003000000020000001E00000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 00520000005200000052000000520000003200000000BD8B6BFBD39E7AFFD39E + 7BFFD39E7AFFD39E7AFFD39E7AFFD49E7AFFD49E7AFFD49E7AFFD49E7AFFD49E + 7AFFD49E7AFFD49F7AFFD49F7AFFD49F7AFFD49F7AFFD59F7AFFD59F7AFFD59F + 7AFFD59F7AFFD59F7AFF73513D9F000000000000000000000000000000000000 + 0000000000000000000000000000A5A69BFFC2C3B4FFC2C3B4FFC2C3B4FFC2C3 + B4FFC2C3B4FFC2C3B4FFC2C3B4FFA5A69BFF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000033A070FF3CD7A7FF13B98CFF13B98CFF13B9 + 8CFF13B98CFF13B98CFF3CD7A7FF329F70FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000CC8865FFEEA97AFFEEA9 + 7AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFF1361DFFF1361 + DFFF1361DFFF1361DFFF0F3EB0FFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA9 + 7AFFEEA97AFFEEA97AFFCC8865FF0000000000000000C29372FFF5C49CFFF3BD + 94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD + 94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD + 94FFF3BD94FFF5C49CFFD09775FF020101030000000000000000000000000000 + 0000000000000000000000000000C2C3B4FFF0F0ECFFF0F0ECFFF0F0ECFFF0F0 + ECFFF0F0ECFFF0F0ECFFF0F0ECFFC2C3B4FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000031A171FF39D7A6FF0CC78FFF0CC78FFF0CC7 + 8FFF0CC78FFF0CC78FFF39D7A6FF32A171FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000CC8865FFEEA97AFFE59E + 75FFDF9772FFDF9772FFDF9772FFDF9772FFDF9772FFDC936FFF0353DCFF0353 + DCFF0352DBFF0353DBFF0F3FB1FFDD946FFFDF9772FFDF9772FFDF9772FFDF97 + 72FFDF9772FFE59E75FFCC8865FF0000000000000000DDAB86FFC59674FFF5C9 + A3FFE8B690FFE8B690FFE8B690FFE8B690FFE8B690FFE8B690FFE8B690FFE8B6 + 90FFE8B690FFE8B68FFFE8B68FFFE8B68FFFE8B68FFFE8B68FFFE8B68FFFE8B6 + 8FFFF5C9A3FFCF9D7AFFD09775FF020201040000000000000000000000000000 + 000000000000000000000000000000000000A5A69BFFC2C3B4FFC2C3B4FFC2C3 + B4FFC2C3B4FFC2C3B4FFA5A69BFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000030A272FF34D5A4FF0CC790FF0CC790FF0CC7 + 90FF0CC790FF0CC790FF34D6A5FF31A272FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000CD8965FFEEA97AFFDF97 + 72FFDF9772FFDF9772FFDF9772FFDF9772FFDF9772FFDB916EFF0455DCFF0455 + DCFF0454DCFF0454DCFF0E40B3FFDC926EFFDF9772FFDF9772FFDF9772FFDF97 + 72FFDF9772FFDF9772FFCD8965FF0000000000000000F4C49BFFF0C198FFE7B8 + 91FFF7D3B4FFEBBD96FFF5C89FFFF5C79EFFF5C79EFFF5C79EFFF5C79EFFF5C7 + 9EFFF5C79EFFF5C79EFFF5C79EFFF5C79EFFF5C79EFFF5C79EFFEBBC96FFD8A6 + 82FFECB890FFF2BD94FFD09775FF020201040000000000000000000000000000 + 000000000000000000000000000000000000818277FF818277FF818277FF8182 + 77FF818277FF818277FF818277FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000002DA474FF29D3A1FF0DCA92FF0DCA92FF0DCA + 92FF0DCA92FF0DCA92FF29D3A1FF2EA473FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000CE8A66FFEEA97BFFE19A + 74FFECA77FFFECA77EFFECA77EFFECA87FFFECA87EFFE09873FF0657DEFF0657 + DEFF0657DFFF0657DFFF0E42B7FFE29974FFECA77FFFECA77FFFECA77FFFECA7 + 7FFFECA87FFFE19974FFCE8A66FF0000000000000000F5C89EFFF5C89EFFF4C7 + 9DFFD3A582FFF8D9BCFFF5CAA1FFF5CAA1FFF5CAA1FFF5CAA1FFF5CAA1FFF5CA + A1FFF5CAA1FFF5CAA1FFF5CAA1FFF5CAA1FFF5CAA1FFF5CAA1FFF8D9BCFFF1BE + 96FFF4C198FFF4C198FFD09775FF02020104A5A69BFFA5A69BFFA5A69BFFA5A6 + 9BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A6 + 9BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A6 + 9BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFF0000000000000000000000000000 + 00000000000000000000000000002CA675FF23D29FFF0DCB93FF0DCB93FF0DCB + 93FF0DCB93FF0DCB93FF23D19FFF2DA574FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000CF8A67FFEEA97CFFE39C + 76FFEDA981FFECA980FFECA980FFECA980FFECA980FFDE9671FF0759E0FF0759 + E0FF0759DFFF0759E0FF0D44BAFFE09772FFECA880FFEDA980FFECA980FFEDA9 + 80FFEDA980FFE39C76FFCF8B67FF0000000000000000F5C89EFFF5C89EFFF5C8 + 9EFFF3C59CFFDBAD88FFF9DFC5FFF2C59DFFF2C59DFFF2C59DFFF2C59DFFF2C5 + 9DFFF2C59DFFF2C59DFFF2C59DFFF2C59DFFF2C59DFFF9DFC7FFE2B38DFFF4C4 + 9BFFF4C49BFFF4C49BFFD09775FF03020104A5A69BFFC3C4B5FFC2C3B5FFC2C4 + B5FFC3C4B4FFC2C4B5FFC3C4B5FFC3C3B5FFC2C4B5FFC3C4B5FFC3C3B4FFC3C3 + B5FFC3C3B5FFC3C4B5FFC3C3B5FFC2C4B5FFC3C4B5FFC3C3B4FFC3C4B4FFC3C4 + B5FFC3C3B4FFC2C4B5FFC3C3B5FFA5A69BFF0000000000000000000000000000 + 00000000000000000000000000002BA676FF1DD09DFF0DCC94FF0DCC94FF0DCC + 94FF0DCC94FF0DCC94FF1DD19CFF2BA676FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000D08B68FFEEA97DFFE49F + 78FFEEAA81FFEEAB82FFEDAA82FFEDAB82FFEDAA82FFDC936FFF095AE1FF095A + E1FF085AE1FF095AE1FF0D45BDFFDD9470FFEEAB81FFEDAA82FFEEAA81FFEDAB + 82FFEEAA81FFE49F78FFCF8B67FF0000000000000000F6CDA4FFF6CDA4FFF6CD + A4FFF5CCA3FFF5CCA3FFF5CCA3FFFBE8D4FFE9B790FFE9B790FFE9B790FFE9B7 + 90FFE9B790FFE9B790FFE9B790FFE9B790FFECBF97FFF5C89FFFF5C89FFFF5C8 + 9EFFF5C89EFFF5C89EFFD09775FF03020104A5A69BFFE4E3DBFFE4E3DBFFE5E6 + DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6 + DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6 + DFFFE5E6DFFFE5E6DFFFC7C7B8FFA5A69BFF28AA7AFF28AA7AFF27AA79FF28AA + 79FF28AA79FF28AA79FF28AA79FF27AA79FF14CE99FF0DCF98FF0DCF98FF0DCF + 98FF0DCF98FF0DCF98FF13CF99FF28A979FF29A978FF28A979FF28A978FF29A9 + 78FF28A978FF29A978FF29A978FF0000000000000000D28E69FFEFAE82FFECA9 + 81FFF0B086FFF0B086FFF0B086FFF0AF86FFF0AF86FFD68A68FF0D60E4FF0D60 + E4FF0D60E4FF0D60E5FF0E4DC8FFD78B69FFF0B086FFF0B086FFF0B086FFF0AF + 86FFF0AF86FFECAA81FFD28D69FF0000000000000000F6D0A7FFF6D0A7FFF6D0 + A7FFF6CFA6FFF6CFA6FFF6CFA6FFFDF2E6FFFDF4EAFFFBEBD9FFFBEBD9FFFBEB + D9FFFBEBD9FFFBEBD9FFFDF4EAFFFDF4EAFFF5CBA2FFF5CBA2FFF5CBA2FFF5CA + A1FFF5CAA1FFF5CAA1FFD09775FF03020104A5A69BFFD69773FFD79774FFD797 + 74FFD79774FFD79774FFD79774FFD79774FFD79774FFD79774FFD79774FFD797 + 74FFD79774FFD79774FFD79774FFD79774FFD79774FFD79774FFD79774FFD797 + 74FFD79774FFD79774FFC7C9B9FFA5A69BFF26AC7BFF3EDCB0FF3EDCB0FF3EDC + B0FF3EDCB0FF3EDCB0FF3EDCB0FF3EDCB0FF11CE98FF0DD099FF0DD099FF0DD0 + 99FF0DD099FF0DD099FF11CE98FF3EDCB0FF3EDCB0FF3EDCB0FF3EDCB0FF3EDC + B0FF3EDCB0FF3EDCB0FF27AA79FF0000000000000000D38E69FFEAA77DFFE8A5 + 7EFFEBA880FFEBA880FFEBA880FFEBA880FFEBA880FFD38564FF0E62E6FF0E62 + E6FF0E61E5FF0E62E6FF0E50CCFFD38665FFEBA881FFEAA981FFEBA880FFEBA8 + 80FFEBA880FFE8A57DFFD38E6AFF0000000000000000F7D3AAFFF7D3AAFFF7D3 + AAFFF6D2A9FFF6D2A9FFF6D3AAFF3786A9FF0685C4FF0685C5FF0299E8FF0299 + ECFF0299EFFF038FE3FF038FE3FF4FA4D4FFF6D0A8FFF6CEA5FFF6CEA5FFF6CD + A4FFF6CDA4FFF6CDA4FFD09775FF03020104A5A69BFFE6A47EFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFC9CABBFFA5A69BFF24AE7CFF11C996FF11C996FF11C9 + 96FF11C996FF11C996FF11C996FF11C996FF11C996FF0DD29BFF0DD29BFF0DD2 + 9BFF0DD29BFF0DD29BFF0DD29BFF11C996FF11C996FF11C996FF11C996FF11C9 + 96FF11C996FF11C996FF26AC7BFF0000000000000000D48F6AFFDB926EFFDA90 + 6EFFDB926EFFDB926EFFDB926EFFDB926EFFDB926EFFCE7F5FFF1064E7FF1064 + E7FF1064E7FF1064E7FF1054D0FFCE8060FFDB916EFFDB926EFFDB926EFFDB92 + 6EFFDB916EFFDB926EFFD48F6BFF0000000000000000F7D5ADFFF7D5ADFFF7D5 + ADFFF7D7B1FFF9E2CAFF0C8ABAFF069AD6FF04AFF2FF03AFF5FF03ACF6FF02AA + F6FF02A8F6FF02A3F6FF01A2F7FF01A0F7FF019DF7FFF9E2CAFFF2D7B6FFF7D3 + AAFFF7D3AAFFF7D3AAFFD09775FF03020104A5A69BFFE6A37DFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFCCCDBEFFA5A69BFF21B17FFF0ED59EFF0ED59EFF0ED5 + 9EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED5 + 9EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED5 + 9EFF0ED59EFF0ED59EFF22AF7DFF0000000000000000D6916CFFCC7C5DFFCC7C + 5DFFCC7C5DFFCC7C5DFFCC7C5DFFCC7C5DFFCC7C5DFFCC7C5DFF1368E9FF1368 + E9FF1367EAFF1367EAFF125BD9FFCC7C5DFFCC7C5DFFCC7C5DFFCC7C5DFFCC7C + 5DFFCC7C5DFFCC7C5DFFD6906CFF0000000000000000F7D5ADFFF7D5ADFFF7D5 + ADFFF8DFC3FF0997CAFF0999CEFF05B5F4FF05B5F5FF04B4F5FF04B1F5FF03AE + F5FF03ACF6FF02A8F6FF02A7F6FF02A5F6FF01A0F7FF019FF7FFF8DFC3FFF7D8 + B2FFF7D5ADFFF7D5ADFFD09775FF03020104A5A69BFFE5A37DFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFCCCEBFFFA5A69BFF1FB280FF0ED6A0FF0ED6A0FF0ED6 + A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6 + A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6 + A0FF0ED6A0FF0ED6A0FF20B17FFF0000000000000000F4B78DFFF5B88DFFF4B8 + 8DFFF4B78DFFF4B78DFFF4B88DFFF4B88DFFF4B88DFFF0AF86FF1469EBFF1469 + EBFF166BEBFF1369EBFF135EDDFFF2B289FFF4B78DFFF4B78DFFF4B88DFFF4B8 + 8DFFF4B88DFFF5B78DFFF5BC93FFD7916CFF00000000F7D5ADFFF7D5ADFFEED2 + B0FB0B9BCAFF0AA5D6FF09AFE4FF06B9F5FF06B8F5FF05B6F5FF05B5F5FF04B2 + F5FF04B1F5FF03ACF5FF02ABF6FF02AAF6FF02A5F6FF02A3F6FF01A2F7FFF5D7 + B5FFF4D6B4FCF7D5ADFFD09775FF03020104A5A69BFFE5A37EFFE9A680FFE8A6 + 80FFE9A680FFE8A680FFE8A680FFE9A680FFE9A680FFE9A680FFE8A680FFE8A6 + 80FFE8A780FFE8A680FFE8A780FFE9A680FFE9A780FFE9A680FFE9A681FFE8A6 + 80FFE8A780FFE8A680FFCECFC0FFA5A69BFF1EB482FF10D8A1FF10D8A1FF10D8 + A1FF10D8A1FF0FD8A1FF0FD8A1FF0FD8A1FF0FD8A1FF0FD8A1FF0ED8A1FF0ED8 + A1FF0ED8A1FF0ED8A1FF0ED8A1FF0ED8A1FF0ED8A1FF0ED8A1FF0ED8A1FF0ED8 + A1FF0ED8A1FF0ED8A1FF20B280FF0000000000000000F5B98FFFEFB087FFEFB0 + 87FFEFB087FFEFB087FFEFB087FFEFAF87FFEFB087FFE8A57EFF146BECFF146B + ECFF2073EEFF156AECFF1462E0FFEAA780FFEFB087FFEFB087FFEFB087FFEFB0 + 87FFEFB087FFEFB087FFF5BD94FFD8926DFF00000000F1D3B3FBF5D8B7FFC9A5 + 8AFF35C4E7FF0BC3F4FF0BC3F4FF0AC1F4FF09C0F4FF08BEF4FF07BCF5FF06B9 + F5FF06B8F5FF05B5F5FF04B4F5FF04B2F5FF36AAD7FFA89D90FFC3A289FFE1B5 + 93FFF5D8B7FFF5D8B7FFDFB090FF03020104A5A69BFFE6A681FFEAAA84FFEAA9 + 84FFEBA983FFEBA983FFEBA984FFEAAA83FFEAAA83FFEBA983FFEAAA83FFEBAA + 83FFEAAA84FFEAAA83FFEBA983FFEAA983FFEAAA84FFEBAA83FFEBA983FFEAAA + 83FFEAAA84FFEAAA83FFD1D2C3FFA5A69BFF1AB784FF16DBA6FF16DBA6FF16DB + A6FF16DBA6FF15DBA6FF15DBA6FF15DBA6FF14DBA6FF14DBA6FF14DBA6FF14DB + A6FF13DBA6FF13DBA6FF13DBA6FF13DBA6FF13DBA6FF13DBA6FF13DBA6FF13DB + A5FF13DBA5FF12DBA5FF1CB683FF0000000000000000F7C79FFFF2B58CFFF6BB + 90FFF6BC90FFF6BB90FFF6BB91FFF6BB90FFF6BB90FFEAA780FF176DEEFF176D + EEFF5196F4FF176EEDFF1568E7FFEAA780FFF6BB90FFF7BB91FFF6BB91FFF6BB + 91FFF6BB90FFF6BB90FFF7C7A0FFD9936EFF00000000E8C2A2FDE6BA96FFE0B2 + 90FF9EA598FF55D2EAFF0CC5F3FF0BC3F4FF0BC3F4FF0AC2F4FF09C0F4FF08BD + F4FF07BCF5FF06B8F5FF05B6F5FF0AB6F3FFBE9F88FFCDA88CFFDEB593FFE8BB + 97FFE8BC97FFE8BC97FFC39071EA00000000A5A69BFFE6A881FFECAB85FFECAC + 86FFEBAC85FFEBAB85FFEBAB85FFECAB85FFEBAC85FFECAC85FFEBAC85FFEBAC + 85FFECAB85FFEBAC85FFEBAC85FFECAC85FFEBAB85FFECAC85FFECAB85FFECAC + 85FFECAC85FFEBAC85FFD3D4C5FFA5A69BFF18B885FF90F9D9FF90F9D9FF90F9 + D9FF90F9D9FF90F9D9FF90F9D9FFF5F9F7FF1FDDA9FF19DCA7FF19DCA7FF19DC + A7FF18DCA7FF18DCA7FF1DDDA9FFF5F9F7FF90F9D9FF90F9D9FF90F9D9FF90F9 + D9FF90F9D9FF90F9D9FF1AB784FF0000000000000000F8CCA6FFF3B78DFFF6BC + 91FFF7BC91FFF7BC91FFF7BC91FFF6BC91FFF6BD91FFEAA881FF176EEEFF1970 + EEFF69A8F7FF176FEEFF166BEAFFE6A27CFFF7BC91FFF7BD91FFF7BC91FFF6BC + 91FFF6BC92FFF6BC91FFF8CCA6FFDA946EFF00000000DAA886FFECCAACFEE7BB + 98FFD7AE90FFB3A793FF74D9EAFF0CC5F3FF0BC3F3FF0BC3F4FF0BC3F4FF0AC1 + F4FF09C0F4FF07BCF4FF21B7E6FF97A49DFFD8B292FFE4B996FFE9BD99FFE9BE + 99FFE9BE9AFFEECFB1FD5642356500000000A5A69BFFE8A983FFECAE87FFECAE + 87FFEDAE87FFEDAE87FFECAE87FFECAD87FFECAE87FFEDAE87FFEDAE88FFEDAE + 87FFECAE88FFEDAE87FFEDAE87FFECAD87FFEDAE87FFECAE87FFECAE87FFECAE + 87FFECAE88FFECAE87FFD4D5C8FFA5A69BFF17BA87FF17BB87FF17BA86FF17BA + 86FF18BA87FF17B986FF17BA87FF17BA86FF2AE0ADFF1DDDA9FF1DDDA9FF1DDD + A9FF1CDDA9FF1CDDA9FF28E0ADFF18B986FF18B986FF18B986FF18B986FF18B9 + 86FF18B986FF19B985FF19B985FF0000000000000000F9DFC7FFF7BE93FFF7BE + 93FFF7BE93FFF7BE93FFF7BE93FFF7BE93FFF7BE93FFE7A47EFF186FEFFF277A + F1FF7AB4F9FF186FEFFF186EEEFFE7A47EFFF7BE93FFF7BE93FFF7BE93FFF7BE + 93FFF7BE93FFF7BE93FFFAE8D8FFDA946FFF000000000000000055413464DAA8 + 86FFEAC09BFFE9BE99FFE5BB98FF9CE8F3FF11CDF2FF0FCAF3FF0DC8F3FF0CC5 + F3FF0EC9F4FFC1A78FFFDAB595FFE8BF9CFFECC29DFFECC29DFFECC39DFFF2D6 + B9FDDEAE8DFF564235650000000000000000A5A69BFFE8AC86FFEFB38CFFEFB3 + 8CFFEFB28CFFEFB28CFFEFB28CFFEFB38CFFEFB28CFFEFB38BFFEFB28CFFEFB3 + 8CFFEFB28BFFEFB28CFFEFB28CFFEFB28CFFEFB38CFFEFB38BFFEFB28CFFEFB3 + 8BFFEFB38BFFEFB28CFFD7D7CBFFA5A69BFF0000000000000000000000000000 + 000000000000000000000000000014BC88FF3FE4B3FF26DEABFF25DEABFF25DE + ABFF25DEABFF24DEABFF3CE3B2FF15BC88FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000DA9570FFAE8989FF3648 + 99FF1E3592FF454C91FF615178FFB67E62FFBF8260FF95654AC7146BECFF146B + ECFF146BECFF146BECFFBF8260FF95654AC7B67E63FF8C6B70FF7F708EFF203E + 9AFF1A3B9BFF374E9DFFDA9570FF8D654A8F0000000000000000000000005541 + 3464F2D8BDFDECC19EFFEBC19CFFCBB99EFFAFEEF8FF12CEF2FF10CCF3FF13CE + F3FF5CBFC8FFE3BD9AFFECC39EFFEEC59FFFEEC59FFFEEC59FFFEEC5A0FFDFB0 + 8EFF57433566000000000000000000000000A5A69BFFE9AD87FFF1B58EFFF1B5 + 8EFFF1B58EFFF0B58EFFF0B58DFFF0B58EFFF0B58EFFF1B58EFFF1B58EFFF0B5 + 8EFFF1B58EFFF1B58DFFF1B58EFFF1B58EFFF0B58DFFF1B58DFFF0B58DFFF0B5 + 8DFFF0B58EFFF1B58EFFD7D8CCFFA5A69BFF0000000000000000000000000000 + 000000000000000000000000000013BE8AFF46E5B5FF2ADEABFF29DEABFF29DE + ABFF29DEABFF29DEABFF45E5B5FF14BE89FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000017234F7C0E33A0FF1F5D + CEFF0D46BBFF0B4ECBFF0A44BBFF0C2890FF1C3796FF5B5684FF062E9EFF062E + 9EFF062E9EFF062E9EFF947272FF5C5984FF0F379EFF0D3FADFF0C4CC4FF0E48 + BEFF1662DFFF2063D4FF615A75C6000000010000000000000000000000000000 + 0000DCAA88FFF5DBC1FEEDC59FFFECC39DFFCDC2A6FFBFF1FAFF15D3F2FF5AC7 + CEFFDCB998FFEEC7A1FFEEC7A1FFEFC8A2FFEFC8A2FFEFC8A2FFF4DBC0FD5844 + 366800000000000000000000000000000000A5A69BFFEAAF89FFF1B78FFFF1B7 + 90FFF1B890FFF1B790FFF2B790FFF2B890FFF1B790FFF1B790FFF1B890FFF1B8 + 90FFF2B890FFF2B890FFF2B790FFF1B790FFF2B790FFF2B890FFF2B78FFFF2B7 + 8FFFF2B790FFF1B790FFD8DACEFFA5A69BFF0000000000000000000000000000 + 000000000000000000000000000013BF8BFF4CE6B7FF2EDEABFF2EDEABFF2DDE + ABFF2DDEABFF2DDEACFF4BE6B7FF13BF8BFF0000000000000000000000000000 + 000000000000000000000000000000000000000000000C317FB61653C5FF3880 + EDFF0E50CCFF0C5FE3FF0448CEFF0E35A5FF0E34A4FF0D35A6FF103CADFF4990 + F1FF4990F1FF103CADFF1345B2FF0E36A3FF0E35A5FF0E35A5FF0D40B5FF0E50 + CCFF387BECFF3880EDFF0C317FB6000000000000000000000000000000000000 + 00000000000058443668DDAD8BFFF0CAA3FFF1CBA4FFF1CBA4FFF0CBA4FFF1CC + A4FFF2CCA5FFF2CDA5FFF2CDA5FFF3CEA6FFF5DDC3FDE1B593FF5B46376B0000 + 000000000000000000000000000000000000A5A69BFFEBB18BFFF4BB93FFF3BB + 94FFF3BB94FFF3BB94FFF4BB93FFF4BB94FFF4BB93FFF4BB94FFF3BB94FFF3BB + 94FFF3BC94FFF4BB94FFF3BB94FFF3BB93FFF4BC93FFF3BB94FFF4BB93FFF4BB + 94FFF4BB94FFF4BB94FFDBDBD0FFA5A69BFF0000000000000000000000000000 + 000000000000000000000000000011C28CFF53E8B9FF35DDABFF34DDABFF34DD + ABFF34DEABFF34DEABFF53E8B9FF11C18CFF0000000000000000000000000000 + 000000000000000000000000000000000000000000000B317FB7215BCAFF5195 + F8FF0C5BDDFF0C5FE3FF0E60E3FF2672E6FF2A6CDDFF124FCBFF123AA3F4173F + A5EF1241AEFF1241ABF80E45B6FD0D4CCBFF206CE4FF2270E7FF0E60E3FF0C5B + DDFF5091F6FF5195F8FF0B317FB7000000000000000000000000000000000000 + 000000000000000000005A45376AF7DFC6FEF7DEC2FFF7DEC2FFF7DEC2FFF7DE + C2FFF7DFC2FFF7DFC3FFF7DFC3FFF8DFC3FFE2B695FF5D47386D000000000000 + 000000000000000000000000000000000000A5A69BFFEBB28CFFF4BD94FFF4BC + 95FFF4BC95FFF4BC95FFF5BD95FFF4BD95FFF4BC95FFF4BD95FFF4BD95FFF5BD + 95FFF4BC95FFF4BD95FFF4BD95FFF5BD95FFF5BD95FFF4BD95FFF4BD95FFF4BD + 95FFF4BD94FFF5BD94FFDBDCD0FFA5A69BFF0000000000000000000000000000 + 00000000000000000000000000000FC38DFF54E9BAFF37DDABFF37DDABFF37DD + ABFF37DDABFF37DDABFF54E9BAFF10C28DFF0000000000000000000000000000 + 000000000000000000000000000000000000000000000928699A2158C7FF579B + FDFF1C6CE6FF3781ECFF478AEBFF0D48C8FF0D40B8FE0D34A0F2000001030000 + 00000000000000000203061B486C0F3EA5F20D49C8FF2464D8FF478AEBFF1C6C + E6FF5698FCFF579BFDFF0928699A000000000000000000000000000000000000 + 0000000000000000000000000000B28B6FCDE8BC98FFE8BC98FFE8BC98FFE8BD + 98FFE8BD99FFE8BE99FFE8BE99FFE9BE99FF5E48386E00000000000000000000 + 000000000000000000000000000000000000A5A69BFFC98C6BFFC98C6BFFC98C + 6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C + 6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C + 6BFFC98C6BFFC98C6BFFDCDDD1FFA5A69BFF0000000000000000000000000000 + 00000000000000000000000000000EC38EFF79EDC8FF3ADCABFF39DCABFF39DC + ABFF39DCABFF39DDABFF79EDC8FF0FC38EFF0000000000000000000000000000 + 00000000000000000000000000000000000000000000061C4A6F1B50BEFF599C + FDFF97C3FAFF1859D4FF0D47C7FF0D36A4F70820629500030B11000000000000 + 000000000000000000000000000001040B110F40A9F70E46BCFF0D48C7FF97C3 + FAFF9BC8FDFF599CFDFF061C4A6F000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000C2C3B4FFC2C3B4FFC2C3B4FFC2C3 + B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3 + B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3 + B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FF0000000000000000000000000000 + 00000000000000000000000000000EC48FFF0EC48FFF0EC48FFF0EC48FFF0EC4 + 8FFF0EC48FFF0EC48FFF0EC48FFF0EC48FFF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000092963791143 + B8FF0C3296DC071C578501030C13000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000001040C130C3A + 9ADC0E42B0FB1249BBFF00000203000000000000000000000000000000000000 + 000000000001000000020000000300000006000000090000000C000000100000 + 001100000014000000100000000D0000000C0000000600000005000000030000 + 0001000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00010000000300000005000000060000000C0000000E00000010000000140000 + 0011000000100000000C00000009000000060000000300000002000000010000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000200000004000000070000000C000000120000001C0E33246A339F + 70FF0E33247F0000002E00000029000000210000000D0000000A000000060000 + 0002000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000001E000000320000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000003200000000000000000000000000000000000000000000 + 0002000000070000000A0000000C0000001C00000021000000240F34247F339F + 70FF0000002E00000021000000110000000D0000000600000003000000020000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000F3424523AD6A6FF13BA + 8CFF3AD6A6FF0F34245200000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002E54 + D4FF3569DCFF3569DCFF3569DCFF3569DCFF173BB6FF063384FF093889FF0938 + 89FF093889FF0C3C8FFF063384FF173BB6FF3568DCFF3568DCFF3568DCFF3568 + DCFF2E54D4FF0000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000F3424523CD7A7FF32A0 + 71FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000F34245232A171FF13BA8CFF13BA + 8CFF13BA8CFF31A071FF0F342452000402050000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002E54 + D4FF366DDDFF366DDDFF366DDDFF366CDDFF173BB6FF063384FF13469DFF1346 + 9DFF13469DFF0E3E92FF063384FF173BB6FF366CDDFF366CDDFF366CDDFF366C + DDFF2E54D4FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000F34245230A271FF17CA95FF31A1 + 72FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000F34245230A172FF35D5A5FF11BE8EFF12BD + 8EFF13BB8DFF35D5A5FF30A172FF0F3424520000000000000000000000000000 + 0000000000000000000000000000000000000000001800000021000000210000 + 00250000002A0000002A0000002A0000002A0000002A0000002A0000002A0000 + 002A0000002A0000002A0000002A0000002A0000002A0000002A000000280000 + 0021000000210000001B00000000000000000000000000000000000000002E54 + D4FF5799EBFF5799EBFF5799EBFF72B7FFFF173BB6FF063384FF1548A0FF1448 + A0FF14489FFF114297FF063384FF173BB6FF5799EBFF5799EBFF5799EBFF5799 + EBFF2E54D4FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000F34245230A373FF39D6A6FF1FCE9AFF30A3 + 73FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000F34245230D4A3FF12BD8EFF12BD8EFF0DCB95FF0DCB + 96FF0DCB95FF12BD8EFF12BD8EFF30D4A3FF0F34245200040205000000000000 + 00000000000000000000000000000000000000000010BD8462F1E8A97FFFEEA9 + 7AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA9 + 7AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFD595 + 70FF140E0B4A0000002700000000000000000000000000000000000000000000 + 0000D4D4D4FFBFBFBFFFBFBFBFFFBFBFBFFF9C9C9CFF063384FF194FA7FF184E + A7FF184EA7FF184EA5FF063384FF9C9C9CFFBFBFBFFFBFBFBFFFC3C3C3FFB3B3 + B3FF000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000F34245234D5A4FF10BF8EFF10BF8EFF30D4A2FF2DA5 + 75FF00000000000403060004030600040306000403060009060C000403060004 + 0306000403060004030600040306000302040000000000000000000000000000 + 0000000000000F3424522DA575FF12BE8FFF12BE8FFF0ECC97FF0ECC96FF0DCC + 96FF0ECC96FF0ECD97FF12BE8EFF12BF8FFF2DA575FF0F342452000000000000 + 00000000000000000000000000000000000000000000B57D5BEFF6BB91FFE09B + 73FFD5916AFFD6926BFFD8946CFFD8956DFFD9956DFFDA966FFFDB976FFFDB97 + 6FFFDB976FFFDD9971FFDE9971FFDE9971FFE09A72FFE09A72FFE09B73FFE09C + 74FFB07C5ECD0000000000000000000000000000000000000000000000000000 + 0000D4D5D5FFBFBFBFFFCBCBCBFFCDCDCDFF9C9C9CFF063384FF093889FF0938 + 89FF093889FF1951AAFF063384FF9C9C9CFFCBCBCBFFCBCBCBFFBFBFBFFFB3B3 + B3FF000000000000000000000000000000000000000000000000000000000000 + 00000008050A0F3424522CA675FF10C08FFF10C08EFF0DCA94FF37D6A5FF2BA7 + 76FF2CA676FF2CA676FF2CA676FF2BA676FF2BA676FF2BA675FF2BA676FF2CA6 + 76FF2CA675FF2CA676FF2BA675FF2CA676FF0000000000000000000000000000 + 00000F3424522CA676FF2AD3A2FF11C090FF0ECD98FF0ECD98FF0ECE97FF0ECD + 98FF0DCE97FF0ECE98FF0ECD98FF11C190FF2AD4A1FF2CA676FF0F3424520000 + 00000000000000000000000000000000000000000000B67E5CEEFDEFE2FFEDAC + 83FFE9A37AFFE9A37AFFE9A37AFFE9A37AFFE9A37AFFE9A37AFFE9A37AFFE9A3 + 7AFFE9A47AFFE9A47AFFE9A47BFFE9A47BFFE9A47BFFE9A47BFFE9A47BFFE19C + 74FFD3946FFB0000000000000000000000000000000000000000000000000000 + 0000D6D6D6FFC3C3C3FFD3D3D3FFD6D6D6FF9C9C9CFF063384FF1D58B0FF1D57 + B0FF1D57AFFF114498FF063384FF9C9C9CFFD6D6D6FFD3D3D3FFBFBFBFFFB3B3 + B3FF000000000000000000000000000000000000000000000000000000000000 + 00000F3424522BA777FF2ED4A2FF10C18FFF0DCC95FF0DCB95FF0DCB95FF3CD7 + A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7 + A7FF3CD7A7FF3CD7A7FF3CD7A7FF2AA777FF0000000000000000000000000F34 + 245224D4A1FF10C995FF10C995FF0ED09BFF0ED09AFF0ED09AFF0ED09BFF0ED0 + 9AFF0ED09AFF0ED09AFF0ED09AFF0ED09AFF10C996FF10C995FF24D4A1FF0F34 + 24520000000000000000000000000000000000000000B67E5DECF4C196FFEDB1 + 87FFE19C74FFEAA57CFFEAA57CFFEAA67DFFEAA67DFFEAA67DFFEAA67DFFEAA6 + 7DFFEAA67DFFEBA77DFFEBA77EFFEBA77EFFEBA87EFFEBA87EFFEBA87EFFEAA7 + 7EFFE6A57BFFC88D6BEE00000000000000000000000000000000000000000000 + 0000D9D9D9FFD0CFCFFFD8D8D9FFD8D9D9FF9C9C9CFF063384FF215EB8FF205D + B7FF205EB7FF1952A9FF063384FF9C9C9CFFD9D8D8FFD9D8D8FFC4C4C4FFB3B3 + B3FF000000000000000000000000000000000000000000000000000604080F34 + 245219C895FF0FC492FF0DCE98FF0DCF98FF0DCE98FF0ECE98FF10C18FFF10C1 + 8FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C1 + 8FFF10C18FFF10C18FFF19D29FFF28AA7AFF00000000000000000F34245227AB + 7AFF0FCC98FF0FCC97FF0ED19CFF0ED19CFF0ED19CFF0ED19BFF0FD19CFF0ED2 + 9CFF0ED19CFF0ED29BFF0ED19CFF0ED29CFF0ED19BFF0FCB97FF0FCC98FF27AA + 7AFF0F34245200000000000000000000000000000000B7805EEBF3C297FFCC8F + 69FFE19E76FFEAA67DFFEBA87EFFEBA87EFFEBA87EFFEBA87FFFECA97FFFECA9 + 7FFFECA97FFFECA97FFFECAA80FFECAA80FFECAA80FFECAA80FFEDAA80FFEDAB + 81FFE9A77EFFDB9C76FE00000000000000000000000000000000000000000000 + 0000DADADAFFD6D6D6FFDADADAFFDADADBFF9C9C9CFF063384FF3786D5FF3786 + D5FF3786D5FF1E5AB2FF063384FF9C9C9CFFDADADAFFDADADAFFCCCCCCFFB3B3 + B3FF0000000000000000000000000000000000000000000000000F34245226AC + 7BFF0FC793FF0DCF99FF0ECF9AFF0DD099FF0ED099FF0ED09AFF0DD099FF0ED0 + 99FF0DD099FF0ED099FF0DD09AFF0DCF9AFF0DCF9AFF0DD09AFF0DD099FF0DD0 + 9AFF0EC995FF10C18FFF20D6A2FF26AB7BFF000000000F34245226AC7BFF1ED4 + A1FF0FCF9AFF0ED39DFF0ED39DFF0ED29DFF0ED39DFF0ED29DFF0FD39DFF0ED3 + 9DFF0ED29DFF0ED39DFF0ED39DFF0ED39DFF0FD29DFF0ED39CFF10CE99FF1ED4 + A1FF26AC7AFF0F342452000000000000000000000000B77F5EE9F3C397FFC286 + 61FFE8AB82FFE5A47AFFECAA80FFEDAA80FFEDAB81FFEDAB81FFEDAB81FFEDAB + 81FFEDAC82FFEDAC82FFEDAC82FFEEAC83FFEEAD83FFEEAD83FFEEAD84FFEEAD + 84FFEDAD83FFE9AA80FF00000000000000000000000000000000000000000606 + 060BDCDBDBFFDCDCDBFFDBDCDBFFDBDBDCFF9C9C9CFF063384FF2260BAFF2260 + BAFF2260BAFF2260BAFF063384FF9C9C9CFFDBDBDBFFDBDBDCFFD3D3D3FFADAD + ADFF2C2C2C4B000000000000000000000000000000000F34245224AD7CFF19CB + 99FF0DD19BFF0ED19BFF0ED19BFF0ED19BFF0DD19BFF0DD19AFF0DD19BFF0DD2 + 9BFF0ED19BFF0ED19BFF0DD19BFF0DD19BFF0DD29BFF0DD19BFF0ED29BFF0ED1 + 9BFF0DD19BFF0ECA96FF27D9A6FF24AD7CFF0F342452D0F5EBFF57E7BEFF57E7 + BEFF56E9BFFF57EABFFFCEF5EBFF0ED59FFF0ED5A0FF0ED5A0FF0ED5A0FF0ED6 + A0FF0ED5A0FF0FD6A0FF0ED59FFF0ED59FFF23DBA9FFCEF5EBFF56EABFFF57E7 + BEFF57E7BEFFD0F5EBFF0F3424520000000000000000B78060E7F2C499FFCC90 + 6AFFEEC499FFEBAC83FFEDAD84FFF0B086FFF0B187FFF0B187FFF1B188FFF1B1 + 88FFF1B288FFF1B388FFF1B389FFF1B389FFF1B489FFF1B489FFF2B48AFFF2B4 + 8BFFF2B48BFFF3B58BFF936A50AD000000000000000000000000000000001935 + BFFF9F9F9FFFD4D4D5FFDEDFDEFFDFDEDEFF9C9C9CFF3786D5FF3786D5FF3786 + D5FF3786D5FF3786D5FF3786D5FF9C9C9CFFDEDEDFFFDEDEDFFFD1D0D0FFA3A3 + A3FE1226ADFF0000000000000000000000000F34245217D09CFF0FCF9AFF0ED4 + 9EFF0DD49EFF0ED49EFF0DD49EFF0ED49EFF0ED49EFF0ED49EFF0ED49EFF0ED4 + 9EFF0ED49DFF0ED49EFF0DD49EFF0ED49EFF0ED49EFF0ED49EFF0DD49EFF0ED4 + 9EFF0ED49EFF0ED49EFF34DFB0FF21B17FFF21B17EFF21B17FFF21B17FFF20B1 + 7FFF21B17FFF21B17FFF19B885FF0FD7A2FF0ED7A1FF0ED7A1FF0FD7A1FF0FD6 + A1FF0FD7A2FF0FD6A1FF0FD7A1FF0ED7A1FF27DEACFF18B985FF21B07EFF21B1 + 7FFF21B17EFF21B17EFF21B17FFF0000000000000000B88160E5F2C79AFFD195 + 6EFFE5B287FFEFC094FFECAF85FFF2B48AFFF2B48AFFF2B48BFFF3B58BFFF3B6 + 8BFFF3B68BFFF3B68BFFF3B68CFFF3B68CFFF4B78DFFF4B78DFFF4B78DFFF4B8 + 8EFFF4B88EFFF4B88EFFCA926FEE000000000000000000000000000000001935 + BFFFA1A1A1FF9F9F9FFFD5D5D5FFE0DFDFFFDFE0E0FFE0DFE0FF2A8F60FF0CC7 + 90FF2A8F60FFE0E0E0FFE0DFE0FFE0E0DFFFDFE0E0FFD2D2D2FF9C9C9CFF4275 + DBFF1226ADFF00000000000000000000000020B27FFF0ED6A0FF0ED5A0FF0ED6 + 9FFF0ED69FFF0ED6A0FF0ED59FFF0ED69FFF0ED69FFF0ED69FFF0ED5A0FF0ED5 + A0FF0ED69FFF0ED59FFF0ED59FFF0ED69FFF0ED5A0FF0ED59FFF0ED5A0FF0ED6 + 9FFF0ED6A0FF0ED5A0FF3CE2B4FF20B280FF0000000000000000000000000000 + 0000000000000000000017BB87FF0FD8A3FF0FD8A3FF0FD8A3FF0FD8A2FF0FD9 + A3FF0FD8A2FF0FD8A2FF0ED9A3FF0ED8A3FF2CE0AEFF17BA87FF000000000000 + 00000000000000000000000000000000000000000000B88261E4F1C89BFFD69A + 72FFD79B73FFF0C99CFFF2B58BFFF4B78DFFF4B88DFFF4B88EFFF4B88EFFF4B9 + 8EFFF4B98EFFF5B98FFFF5B98FFFF5BA8FFFF6BA90FFF6BB90FFF6BB90FFF6BB + 90FFF6BB90FFF6BB90FFE8AD85FF624836730000000000000000000000001935 + BFFF4275DBFFA2A2A2FF9F9F9FFFE1E1E1FFE1E1E1FFE1E1E1FF0CC790FF2A8F + 60FF2E54D4FF2A8F60FFE1E1E1FFE1E1E1FFD2D2D2FF9D9D9DFFA4A5A5FF4A8D + EBFF1226ADFF000000000000000000000000063C2C5233E1B1FF0FD7A1FF0ED7 + A1FF0FD7A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED6A1FF0ED7A1FF0ED7 + A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED7A2FF0ED7A1FF0ED7A1FF0ED7A1FF0FD6 + A1FF0ED7A1FF0ED7A1FF42E5B7FF1FB381FF0000000000000000000000000000 + 0000000000000000000014BD8AFF0FDBA5FF0FDBA6FF0FDBA6FF0FDBA6FF0FDA + A5FF0FDBA6FF0FDBA5FF0FDAA6FF0FDBA5FF35E4B4FF14BD8AFF000000000000 + 00000000000000000000000000000000000000000000B88362E1EFC99CFFDFA3 + 7BFFDFA37BFFE2A77FFFFFFAF1FFFDF1DFFFFDEFDBFFFDEDD9FFFCEAD2FFFBE9 + CFFFFAE7CCFFF9E2C4FFF9E1C1FFF8DFBEFFF8DDBAFFF7DCB8FFF7DCB8FFF6DB + B7FFF6DAB6FFF6DAB6FFF5D9B5FFD7A481FA0000000000000000000000001935 + BFFF3562DAFF5092EFFF4275DBFFA0A0A0FFD8D9D9FFE4E3E3FF154BA3FFF1B1 + 87FFF1B187FFE4E4E3FFE3E3E3FFD5D5D5FFA4A4A5FF4275DBFF4B8EECFF1934 + BFFF1226ADFF00000000000000000000000000000000063C2C521BB684FF46E7 + BAFF0FDAA4FF0FDAA4FF0EDAA4FF0EDAA4FF0EDAA5FF0ED9A4FF0FDAA4FF0EDA + A4FF0FDAA4FF0EDAA4FF0EDAA4FF0EDAA4FF0FDAA4FF0FDAA4FF0FDAA4FF0FDA + A4FF0EDAA4FF0FDAA4FF4EE9BEFF1BB783FF0000000000000000000000000000 + 0000000000000000000013BF8BFF0FDCA7FF0FDCA7FF0FDCA7FF0FDCA7FF0FDC + A6FF0FDCA6FF10DCA7FF0FDCA6FF0FDCA7FF39E6B7FF13BF8BFF000000000000 + 00000000000000000000000000000000000000000000B98363E0EFCA9CFFE3A8 + 7FFFE3A87FFFE3A87FFFE7AE87FFE9AF85FFE9AF85FFE9AF85FFE9AF85FFE9AF + 85FFE9AF85FFE9AF85FFE9AF85FFE9AF85FFE9AF85FFE9AF85FFE9AF85FFDBA0 + 79FF91674EB18A624AA7886149A43D2C21490000000000000000000000000C17 + 3A462E54D4FF3563DAFF5699F1FFA1A1A3FFA0A0A0FFDADAD9FF154BA3FFF1B1 + 87FFF1B187FFE5E5E5FFD5D5D6FF9D9D9DFF4275DBFF4B8EECFF2447CAFF1226 + ADFF060E34460000000000000000000000000000000000000000063C2C521AB8 + 85FF0EDBA5FF0FDBA6FF0FDBA6FF0FDBA5FF0FDCA5FF0FDCA6FF0EDBA5FF0EDB + A6FF0FDCA5FF0FDBA6FF0EDBA5FF0EDCA6FF0FDCA6FF0EDBA5FF0FDBA6FF0FDB + A6FF0FDBA6FF0EDBA6FF53EBC1FF19B884FF0000000000000000000000000000 + 0000000000000000000012C08CFF0FDDA8FF0FDDA8FF10DDA8FF0FDDA8FF0FDD + A8FF0FDDA8FF0FDEA8FF0FDEA8FF0FDDA8FF3DE7BAFF12C08CFF000000000000 + 00000000000000000000000000000000000000000000B88463DEEFCA9DFFE8AD + 84FFEFB58AFFEFB58BFFEFB58BFFEFB48AFFEEB48AFFEEB48AFFEDB389FFEDB3 + 89FFEDB389FFECB288FFECB188FFECB187FFEBB086FFEAB086FFEAAF86FFDCA0 + 79FF17100B1E0000000000000000000000000000000000000000000000000000 + 00001935BFFF2E54D4FF3664DAFF4275DBFFA1A1A3FFA0A0A0FF063384FF0633 + 84FF063384FFD6D6D6FF9D9D9DFFA4A5A5FF5093EFFF244ACBFF1934BFFF060E + 334500000000000000000000000000000000000000000000000000000000063C + 2C5258EDC3FF0FDCA7FF0FDDA7FF0FDDA7FF0FDDA7FF0FDCA7FF0EDCA7FF0EDD + A7FF0FDDA7FF0EDDA7FF0FDDA7FF0EDDA7FF0FDCA7FF0FDCA7FF0EDDA7FF0FDD + A7FF0EDDA7FF0FDDA7FF56EDC2FF18B985FF0000000000000000000000000000 + 0000000000000000000010C28DFF10E0ABFF10E0ABFF0FE0ABFF0FE0AAFF10E0 + AAFF10E0AAFF0FDFAAFF0FE0ABFF0FDFAAFF45EBBDFF10C28DFF000000000000 + 00000000000000000000000000000000000000000000BA8665DCEECC9FFFF6BC + 91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC + 91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFE2A7 + 7FFF140E0A1A0000000000000000000000000000000000000000000000000000 + 0000000000000B1535401935BFFF3664DBFF579BF2FF4275DBFFA0A0A0FFDBDC + DBFFD8D7D8FFA3A4A7FF4275DBFF579AF1FF878CA6FF1226ADFF060D2F400000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000063C2C5216BC88FF6BF2CCFF0FDFA9FF0FE0AAFF0FDFAAFF21E3B1FF16BC + 89FF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C0 + 8AFF13C08AFF13C08AFF13C08AFF13C08AFF0000000000000000000000000000 + 000000000000000000000FC38EFF0FE1ACFF0FE1ABFF0FE1ACFF10E1ACFF0FE1 + ACFF0FE1ACFF0FE1ABFF10E1ABFF0FE1ACFF4AECC0FF0FC38EFF000000000000 + 00000000000000000000000000000000000000000000BC8867DCEDCC9FFFF6BC + 91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFFADDB8FFFADD + B8FFFADDB8FFFADDB8FFFADDB8FFFADDB8FFFADDB8FFFADDB8FFFADDB8FFD198 + 73F4050302070000000000000000000000000000000000000000000000000000 + 000000000000000000000B14323D2E54D4FF3664DBFF589BF2FFA0A1A4FFA0A0 + A0FF9D9D9DFF4275DBFF579BF2FF061D94FFABABABFF050C2D3D000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000063C2C5214BD89FF10E0ABFF10E1ABFF10E0ABFF2DE6B6FF14BD + 89FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000FC38EFF0FE2ADFF10E2ADFF0FE2ADFF0FE2ADFF0FE2 + ADFF10E2ADFF10E2ADFF10E2ADFF10E2ADFF4DEDC1FF0FC38EFF000000000000 + 00000000000000000000000000000000000000000000BF8A69E0EDCD9FFFF6BC + 91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF3D2AEFFDDAC8EFFDDAC + 8EFFDDAC8EFFDDAC8EFFDDAC8EFFDDAC8EFFDDAC8EFFDDAC8EFFDDAC8EFF3B2B + 2045000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000001935BFFF2E54D4FF3664DBFF4275DBFF9FA1 + A5FF9D9FA7FF589CF2FF061D94FFA0A5BFFFABABABFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000063C2C527CF5D2FF0FE2ACFF10E1ADFF3AEABBFF13BE + 8BFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000EC48FFF10E4AFFF10E4AFFF10E4AFFF10E4AFFF10E4 + AEFF10E4AFFF10E4AFFF10E4AFFF0FE4AFFF53EFC5FF0EC48FFF000000000000 + 0000000000000000000000000000000000000000000087634C99D9A686FAD89D + 78FAD69C77F8D69B77F7D69B77F7D49A75F5C18B69E4271C1531000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000A122E381935BFFF3563DAFF72B7 + FFFF72B7FFFF1934BFFFABABABFFCCCCCCFFABABABFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000063C2C5211C18CFF89F8D7FF50EEC4FF12C1 + 8CFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000EC48FFF10E5B0FF10E5B0FF10E5B0FF10E5B0FF10E5 + B0FF10E5B0FF10E5B0FF0FE5B0FF0FE4B0FF55F0C5FF0EC48FFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000009112C352E54D4FF3F82 + E6FF3F82E6FF1226ADFFABABABFFCCCCCCFFABABABFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000063C2C5210C28DFF57F0C7FF11C2 + 8DFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000EC48FFF0FE5B1FF10E6B0FF10E6B0FF10E5B0FF0FE5 + B1FF10E6B1FF10E5B0FF10E6B1FF10E6B1FF57F0C8FF0EC48FFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000001935BFFF3F82 + E6FF3F82E6FF050A2634ABABABFFE4EBEBFFABABABFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000063C2C52F5F9F7FF10C2 + 8DFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000EC48FFF0EC48FFF0EC48FFF0EC48FFF0EC48FFF0EC4 + 8FFF0EC48FFF0EC48FFF0EC48FFF0EC48FFF0EC48FFF0EC48FFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000509 + 181E0206161E0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000EC4 + 8FFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000003200000040000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000032000000320000000000000017000000270000 + 0032000000400000004000000040000000400000004100000047000000400000 + 0040000000400000004500000047000000400000004000000040000000400000 + 0040000000250000001A00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000343433FF232323FF2222 + 22FF222222FF212121FF212121FF202020FF202020FF1F1F1FFF1F1F1FFF1E1E + 1EFF1E1E1EFF1D1D1DFF1D1D1DFF1D1D1DFF1C1C1CFF1C1C1CFF1B1B1BFF1B1B + 1BFF1B1B1BFF1A1A1AFF343433FF000000000000000000000000000000000534 + 6AFF12589FFF12589FFF12589FFF12589FFF12589FFF12589FFF12589FFF1258 + 9FFF12589FFF12589FFF12589FFF12589FFF12589FFF12589FFF12589FFF1258 + 9FFF05346AFF000000000000000000000000000000179D9E9EFF9D9E9EFF9D9E + 9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E + 9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E + 9EFF9D9E9EFF9D9E9EFF00000017000000000000000000000000000000150000 + 001BE2B798FFE1B696FFE1B696FFE1B696FFE1B696FFE1B696FFE1B696FFE1B6 + 96FFE1B696FFE1B696FFE1B696FFE1B696FFE1B696FFE1B696FFE1B696FFE1B6 + 96FFE1B696FFE1B696FF000000110000000000000000363635FFF4E0BDFFF7E2 + BFFFF7E2BEFFF7E2BEFFF7E1BDFFF7E1BCFFF7E1BCFFF7E0BBFFF7E0BBFFF7E0 + BAFFF7E0BAFFF7E0BAFFF7E0BAFFF7E0BAFFFAEFCCFFF9EED0FFF7EBCFFFF5E5 + C9FFF2DFC0FFF2DAB6FF343433FF000000000000000000000000000000000534 + 6AFF0F5094FF073B75FF073A74FF073973FF073972FF073871FF063770FF0637 + 6FFF06376FFF06366EFF06356DFF05356DFF05356CFF05346BFF05346BFF0E50 + 94FF05346AFF00000000000000000000000000000000CCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFF00000000000000000000000000000000000000000000 + 0000F9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5 + C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5 + C4FFF9E5C4FFE2B797FF000000000000000000000000393937FFF7E3C1FFF7E3 + C1FFF7E2C0FFF7E2BFFFF7E2BEFFF7E2BEFFF7E2BEFFF7E1BDFFF7E1BCFFF7E0 + BBFFF7E0BBFFF7E0BAFFF7E0BAFFF7E0BAFFF8E3BCFFFCF3CEFFFDF7D8FFFEF9 + E4FFFEF9E7FFF3DEBBFF343433FF000000000000000000000000000000000534 + 6AFF0F5195FFF6DDB6FFF6DDB5FFF6DDB4FFF6DDB4FFF6DCB3FFF6DCB3FFF6DC + B3FFF6DCB2FFF6DCB2FFF6DCB2FFF9E9C1FFFAEDD2FFF9E9CDFFF7E1BDFF0F51 + 95FF05346AFF00000000000000000000000000000000CCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFF00000000000000000000000000000000000000000000 + 0000F8E2BBFFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6 + B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6 + B1FFF8E0BAFFE2B898FF0000000000000000000000003E3D3BFFF8E4C4FFF8E4 + C4FFF7E4C3FFF7E4C3FFF7E3C2FFF7E3C1FFD8C7A9FF8C8171FFF7E2BFFFF7E2 + BEFFF7E2BEFFB4A48CFF756C5DFF736A5CFFF5DEBAFFF7E0BBFFF7E0BBFFFCF5 + D3FFFDF7DBFFF8EBD0FF343433FF000000000000000000000000000000000534 + 6AFF115499FFF6DFB9FFF6DFB8FFF6DEB7FFF6DEB7FFF6DDB5FFF6DDB4FFF6DD + B4FFF6DDB4FFF6DDB4FFF6DDB4FFF6DDB4FFF8E5BBFFFCF5D3FFFDF6DDFF1154 + 99FF05346AFF00000000000000000000000000000000CDCDCDFFCCCCCCFFDF98 + 71FFEBA279FFEBA279FFEAA279FFEAA279FFEAA279FFEAA279FFEAA279FFFCC8 + A5FFEAA279FFEAA279FFEBA279FFEAA279FFEAA279FFEAA279FFEAA279FFDF98 + 71FFCCCCCCFFCCCCCCFF00000000000000000000000000000000000000000000 + 0000F8E1BEFFF3D6B1FFF5DAB5FFF8E1BBFFF8E0BBFFF8E1BBFFF8E1BBFFF8E1 + BBFFF8E1BBFFF8E1BCFFF8E1BBFFF8E1BBFFF9E1BCFFF8E1BBFFF8E1BBFFF4D7 + B2FFF8E1BBFFE3B99AFF00000000000000000000000040403CFFF8E5C7FFF8E5 + C7FFF8E4C5FFF8E4C4FFF7E4C3FFF7E4C3FFB7AA94FF262626FFF7E3C1FFF7E2 + C0FFF7E2C0FF1D1D1DFF1C1C1CFF1F1F1EFF615A4EFFF5DFBBFFF7E1BCFFF7E1 + BCFFFBEFCCFFFAF1D2FF343433FF000000000000000000000000000000000535 + 6BFF11559BFFF6E0BBFFF6DFB9FFF6DFB8FFF6DEB8FFF6DEB7FFF6DDB6FFF6DD + B6FFF6DDB5FFF6DDB4FFF6DDB4FFF6DDB4FFF6DDB4FFF7DFB7FFFBF1CCFF1155 + 9AFF05356BFF00000000000000000000000000000000CECECEFFCDCDCDFFDE97 + 71FFEBA37AFFEBA27AFFEAA37AFFE9A178FFEAA179FFEBA37AFFEAA27AFFFCC8 + A5FFEAA27AFFEAA279FFEBA379FFEBA27AFFEAA37AFFEBA37AFFEBA27AFFDF98 + 71FFCDCDCDFFCDCDCDFF00000000000000000000000000000000000000000000 + 0000F8E2BFFFF3D7B2FFF8E2BCFFF8E1BCFFF8E1BCFFF8E1BCFFF8E2BCFFF8E1 + BCFFF8E1BCFFF8E1BCFFF8E2BCFFF8E1BCFFF8E1BCFFF9E1BCFFF8E1BCFFF5DA + B5FFF8E1BCFFE3BA9BFF00000000000000000000000042423EFFF8E6C9FFF8E6 + C9FFF8E5C8FFF8E5C7FFF8E4C5FFF8E4C4FFB9AB95FF292929FFF7E4C3FFF7E3 + C2FFE2D0B2FF252524FFC9B79DFFEDD9B7FF1B1B1BFFAA9C85FFF7E2BEFFF7E1 + BDFFF7E1BCFFF9E9C3FF343433FF000000000000000000000000000000000535 + 6CFF12569DFFF6E0BCFFF6E0BBFFF6E0BAFFF6E0BAFFF6DFB9FFF6DEB7FFF6DE + B7FFF6DEB7FFF6DDB6FFF6DDB5FFF6DDB5FFF6DDB5FFF6DDB5FFF6DEB5FF1256 + 9DFF06356CFF00000000000000000000000000000000CFCFCFFFCECECEFFDB94 + 6EFFEBA37AFFEAA37AFFE8A178FFDC9770FFE09971FFE8A079FFEAA37AFFFCC8 + A5FFEBA47AFFEBA37AFFEBA37BFFEBA37AFFEBA37AFFEBA37AFFEAA47BFFDF98 + 71FFCECECEFFCECECEFF00000000000000000000000000000000000000000000 + 0000F8E3BFFFF4D8B3FFF8E2BDFFF8E2BDFFF8E2BDFFF8E1BDFFF9E2BCFFF8E2 + BDFFF8E2BDFFF8E2BDFFF8E2BDFFF8E2BCFFF8E1BDFFF8E1BCFFF8E2BDFFF5DB + B6FFF8E1BDFFE3BC9CFF000000000000000000000000474742FFF8E7CCFFF8E7 + CCFFF8E7CBFFF8E7CBFFF8E6CAFFF8E6C9FFBBAF9AFF303030FFF8E5C7FFF8E4 + C5FFF8E4C5FFF7E4C3FFF7E4C3FFF7E4C3FF222222FF766E61FFF7E3C1FFF7E2 + C0FFF7E2BFFFF7E2BFFF343433FF000000000000000000000000000000000637 + 6FFF1359A0FFF7E2C0FFF7E2BFFFF7E2BEFFF7E2BEFFF6E0BDFFF6E0BBFFF6E0 + BBFFF6E0BBFFF6DFBAFFF6DFB9FFF6DFB9FFF6DFB9FFF6DEB8FFF6DEB8FF1359 + A1FF06366FFF00000000000000000000000000000000D1D1D1FFD0D0D0FFCC87 + 63FFD18C68FFCF8965FFCA8562FFCE9B81FFC7825FFFD18C68FFEBA47BFFFCC8 + A5FFECA57CFFECA57CFFE8A37BFFE9A27AFFEBA57CFFEBA57CFFECA57CFFDF9A + 73FFD0D0D0FFD0D0D0FF00000000000000000000000000000000000000000000 + 0000F9E4C3FFF4DAB5FFF8E2BFFFF8E3BFFFF8E3BFFFF9E3BFFFF8E2BEFFF8E3 + BEFFF9E3BFFFF8E2BFFFF8E2BFFFF8E3BFFFF8E2BFFFF8E2BEFFF8E3BEFFF5DC + B8FFF8E2BFFFE5BE9FFF0000000000000000000000004A4944FFF8E8CEFFF8E8 + CEFFF8E7CDFFF8E7CCFFF8E7CBFFF8E7CBFFBCB09DFF333333FFF8E6C9FFF8E5 + C8FFF6E3C5FF56524CFFBDAF99FFC9B9A1FF262626FFAB9F8BFFF7E4C3FFF7E3 + C2FFF7E3C1FFF7E3C1FF343433FF000000000000000000000000000000000737 + 70FF135AA3FFF7E3C1FFF7E2C0FFF7E2C0FFF7E2C0FFF7E2BFFFF7E1BEFFF7DF + BCFFF7E0BAFFF7E1BBFFF7E0BAFFF7E0BAFFF7E0BBFFF7E0BAFFF7E0BAFF135B + A3FF073771FF00000000000000000000000000000000D2D2D2FFD1D1D1FFD7A7 + 8EFFC78360FFCD8E6FFFDBBCACFFE4E2E1FFD49E81FFC98461FFE59F78FFFBC7 + A4FFEBA67DFFE6A279FFDE9A73FFDC9770FFEAA57DFFECA67DFFECA67DFFDF9A + 73FFD1D1D1FFD1D1D1FF00000000000000000000000000000000000000000000 + 0000F8E4C5FFF6DEBAFFF9E3BFFFF8E2BFFFF8E3C0FFF8E3C0FFF8E3C0FFF9E3 + C0FFF8E2C0FFF8E3C0FFF8E3BFFFF8E3C0FFF9E3C0FFF7E2BEFFF9E1BEFFF6DD + B9FFF7E1BDFFE5BFA0FF0000000000000000000000004C4C46FFF9E9CFFFF9E9 + CFFFF8E8CEFFF8E8CEFFF8E7CDFFF6E5CAFFBDB19FFF373737FFF8E7CBFFF8E6 + CAFFF8E6CAFF2E2E2EFF2D2D2DFF2C2C2CFF6E685EFFF7E3C3FFF8E4C4FFF7E4 + C3FFF7E4C3FFF7E4C3FF343433FF000000000000000000000000000000000738 + 72FF145BA4FFF8E3C3FFF7E3C2FFF7E3C1FFF7E3C1FFF7E2C0FFF7E2BFFFF7E1 + BDFFF6DFBAFFF7DFBAFFF7E1BBFFF7E1BCFFF7E1BCFFF7E0BBFFF7E0BBFF145C + A5FF073872FF00000000000000000000000000000000D3D3D3FFD2D2D2FFE6E4 + E3FFDFC4B5FFE6E4E3FFE6D6CCFFE8BBA1FFE5DED9FFCE906FFFDA956FFFF5BF + 9DFFEAA57DFFD9946DFFCB8763FFCA8663FFE8A37AFFEBA77EFFECA77EFFE09B + 74FFD2D2D2FFD2D2D2FF00000000000000000000000000000000000000000000 + 0000F9E5C5FFF7DFBDFFF8E3C0FFF9E3C0FFF9E3C1FFF8E3C0FFF8E3C0FFF9E3 + C0FFF9E3C0FFF8E2C0FFF9E3C1FFF9E4C1FFF7E2C0FFF8E3BFFFF7E2BFFFF5DD + BAFFF7E0BEFFE6C0A3FF000000000000000000000000515149FFF9EAD2FFF9EA + D2FFF9E9D1FFF9E9D1FFF9E9D0FF464544FF3E3E3EFF3D3D3DFFF8E8CEFFF8E7 + CDFFF8E7CDFF353535FF9E9485FFE2D3B9FFE2D2B8FFF3E2C4FFF8E6C9FFF8E5 + C8FFF8E5C7FFF8E5C7FF363634FF00000000000000000000000000000000073A + 76FF155EA9FFF8E5C4FFF8E4C3FFF8E4C3FFF8E4C3FFF8E4C3FFF7E3C2FFF7E2 + C1FFF6E1BEFFF5DAB4FFF5DCB3FFF6DEB9FFF7E3C0FFF7E2BFFFF7E2BEFF155F + A9FF083A76FF00000000000000000000000000000000D5D5D5FFD4D4D4FFE19C + 75FFECA980FFECA980FFEDA980FFEDA980FFECAA82FFE9DAD1FFCA8662FFCE8D + 6BFFCB8764FFE4D5CEFFE9E5E3FFDFBFAEFFD08D68FFE29F77FFECA87FFFE09C + 75FFD4D4D4FFD4D4D4FF00000000000000000000000000000000000000000000 + 0000F9E6C9FFF7E1BFFFF9E4C2FFF8E4C3FFF8E4C2FFF9E4C2FFF8E4C2FFF9E4 + C2FFF7E3C2FFF7E1BFFFF5DEBDFFF5DFBDFFF5DFBEFFF5DEBEFFF5DEBDFFF3DC + BAFFF3DCBCFFE8C3A5FF00000000000000000000000053534BFFF9EBD4FFF9EB + D4FFF9EAD3FFF9EAD2FFF9E9D1FFE1D3BDFF5D5B57FF414141FFF9E9CFFFF8E8 + CEFFF8E8CEFF393939FF383838FF363636FF333333FFCBBDA7FFF8E7CBFFF8E6 + CAFFF8E6C9FFF8E6C9FF363635FF00000000000000000000000000000000083B + 78FF1660ABFFF8E5C7FFF8E5C5FFF8E5C4FFF8E5C4FFF8E4C3FFF8E4C3FFF8E4 + C3FFF8E3C2FFF5DFB7FFF5DBB2FFF5DCB4FFF7E1BEFFF7E3C0FFF7E3C0FF1660 + ABFF083C78FF00000000000000000000000000000000D7D7D7FFD6D6D6FFEBB1 + 8FFFFCC9A6FFFCC9A6FFFCC9A6FFFCC9A6FFFCC9A6FFF9CAABFFDEB49DFFC887 + 65FFD6A991FFEBCDBAFFF4C4A6FFECE7E4FFCC8B69FFDCA07EFFF3BD9BFFEBB1 + 8FFFD5D5D5FFD5D5D5FF00000000000000000000000000000000000000000000 + 0000F9E7CAFFF7E2C0FFF9E5C4FFF8E4C3FFF9E5C4FFF8E5C4FFF9E5C3FFF9E4 + C4FFF8E3C1FFF4DEBEFFF2DCBCFFF3DDBDFFF4DDBEFFF5DEBEFFF4DEBDFFF4DD + BAFFF4DEBDFFE8C5A7FF00000000000000000000000053534BFFF9ECD5FFF9EC + D5FFF9EBD4FFF9EBD4FFF9EAD3FFF9EAD2FFDACEB9FF504F4DFFF9E9D1FFF9E9 + D0FFF9E9D0FF6B6760FF6A6660FF69655FFF67635CFFD7C9B1FFF8E7CCFFF8E7 + CBFFF8E7CBFFF8E7CBFF383836FF00000000000000000000000000000000093C + 7AFF1662ADFFF8E6C9FFF8E5C8FFF8E5C7FFF8E5C7FFF8E5C5FFF8E4C4FFF8E4 + C3FFF8E4C3FFF8E1BFFFF5DFB8FFF4DAB0FFF5DFBAFFF7E1BFFFF7E3C2FF1661 + ADFF093D7AFF00000000000000000000000000000000D8D8D8FFD7D7D7FFE19E + 77FFEDAB82FFEEAB82FFEEAB82FFEDAB82FFEDAB82FFEDAB82FFEEE9E7FFE7D1 + C3FFECE3DEFFEBA981FFEDAB82FFEBB99AFFD29B7EFFCA8663FFDB9772FFE19E + 77FFD7D7D7FFD7D7D7FF00000000000000000000000000000000000000000000 + 0000F9E8CCFFF8E5C4FFF9E5C5FFF9E5C5FFF9E5C5FFF9E5C4FFF8E5C4FFF8E4 + C4FFF8E3C2FFF2DCBDFFF3DCBDFFF2DBBAFFF2DBBBFFF2DCBCFFF3DCBCFFF3DD + BCFFF3DCBDFFE9C7A9FF00000000000000000000000058584FFF0C5DDDFF0B5C + DCFF0A5ADAFF0959D9FF0958D8FF0855D6FF0754D5FF0653D4FF0551D2FF0550 + D1FF044FD1FF034DCFFF034DCEFF024CCEFF024BCDFF024BCDFF024BCDFF024B + CDFF024BCDFF024BCDFF3A3A38FF000000000000000000000000000000000A3F + 7EFF1864B2FFF8E7CBFFF8E7CAFFF8E7CAFFF8E7CAFFF8E6C9FFF8E5C8FFF8E5 + C8FFF8E5C8FFF8E5C5FFF8E4C4FFF8E2C1FFF6DBB4FFF5DBB3FFF7E0BDFF1864 + B1FF0A3F7EFF00000000000000000000000000000000DADADAFFD9D9D9FFE19F + 78FFEEAD84FFEEAD84FFEEAD84FFEEAD84FFEEAD84FFEEAD84FFEEAD84FFFCC8 + A5FFEEAD85FFEEAD84FFEEAD84FFEEAD84FFEFD7C8FFECD9CFFFCA8663FFDA98 + 72FFD9D9D9FFD9D9D9FF00000000000000000000000000000000000000000000 + 0000F9E8CDFFF8E6C7FFF9E6C8FFF9E5C8FFF8E6C8FFF9E5C7FFF9E6C8FFF7E4 + C5FFF6E1C3FFEDD5B7FFEACFB1FFE8CCAFFFE7CBACFFE6CBADFFE7CBACFFE8CC + AFFFDEBEA3FFE7C3A8FF0101010200000000000000005A5A50FF0C5EDEFF0C5D + DEFF0B5BDCFF0A5ADBFF0A59DAFF0957D8FF0856D7FF0755D6FF0653D4FF0652 + D3FF0551D2FF044FD0FF044ED0FF034DCFFF024CCEFF024BCDFF024BCDFF024B + CDFF024BCDFF024BCDFF3C3C39FF000000000000000000000000000000000A41 + 81FF1965B3FFF8E8CCFFF8E7CBFFF8E7CBFFF8E7CBFFF8E7CAFFF8E6C9FFF8E6 + C9FFF8E6C9FFF8E5C8FFF8E5C7FFF8E5C7FFF6E0BBFFF5DAB3FFF6DCB6FF1865 + B3FF0A4081FF00000000000000000000000000000000DBDBDBFFDADADAFFE2A0 + 79FFEFAE85FFEEAE85FFEFAE85FFEEAE85FFEFAE85FFEFAE85FFEEAE85FFFCC9 + A6FFEEAE85FFEFAE85FFEEAE85FFEFAE85FFECAE87FFF2E4DCFFE5C7B5FFD28E + 6AFFDADADAFFDADADAFF00000000000000000000000000000000000000000000 + 0000F9E9CFFFF8E6C8FFF9E7C8FFF9E6C8FFF9E6C8FFF8E6C9FFF9E7C9FFF8E5 + C7FFF5E1C3FFEACFB3FFE4C5AAFFE2C0A5FFDBB89CFFDBB89CFFD9B69BFFD9B7 + 9BFFE8CDAEFFE7C3A8FF0000000000000000000000005D5C52FF0D5FE0FF0D5F + DFFF0C5DDDFF0B5CDDFF0B5BDCFF0A59DAFF0958D9FF0857D8FF0754D6FF0753 + D5FF0652D4FF0550D2FF044FD1FF044ED0FF034DCEFF034CCEFF024BCDFF024B + CDFF024BCDFF024BCDFF3E3E3BFF000000000000000000000000000000000B41 + 82FF1966B5FFF8E8CEFFF8E8CDFFF8E8CCFFF8E8CCFFF8E7CBFFF8E7CAFFF8E7 + CAFFF8E7CAFFF8E6C9FFF8E5C8FFF8E5C8FFF8E2C3FFF6E0BCFFF5DDB5FF1967 + B5FF0B4282FF00000000000000000000000000000000DCDCDCFFDBDBDBFFE2A1 + 79FFEFAF86FFEEAF86FFEEAE85FFEFAF86FFEFAF86FFEFAF86FFEFAF86FFFCC9 + A6FFEEAE86FFEEAF86FFEFAF86FFEFAF86FFEFAF86FFECB58FFFF5EFEBFFCC88 + 64FFDBDBDBFFDBDBDBFF00000000000000000000000000000000000000000000 + 0000F9E9CFFFF8E7C9FFF8E7C9FFF9E7C9FFF8E6C9FFF9E7CAFFF9E6C9FFF8E5 + C8FFF4E0C1FFE8CBAFFFE2C2A7FFE4C7AEFFDFBFA6FFE1C3A8FFEAD2B6FFF5DF + BCFFE8C5AAFF483B3252000000000000000000000000626156FF0E61E1FF0E61 + E1FF0D60E0FF2A70E4FF3D79E6FF3270E0FF0B5BDCFF0A5ADBFF0958D9FF0857 + D8FF0856D7FF0753D5FF0652D4FF2769DFFF3B77E5FF306CDDFF044ECFFF034C + CEFF024BCDFF024BCDFF43433FFF000000000000000000000000000000000C44 + 87FF1B69B9FFF9E9D0FFF8E9CFFF9B9280FF9B9280FF9B927FFF9B927FFF9B92 + 7FFF9B927EFF9B917EFF9B917DFF9B917DFF9B917DFFBFB299FFF8E5C7FF1B69 + B8FF0C4487FF00000000000000000000000000000000DEDEDEFFDDDDDDFFE3A1 + 7AFFEFB187FFEFB188FFEFB087FFEFB088FFEFB187FFEFB187FFEFB188FFFCCA + A7FFEFB187FFEFB187FFEFB188FFF0B188FFEFB188FFEFB088FFEFB088FFF5EA + E3FFDDDDDDFFDDDDDDFF00000000000000000000000000000000000000000000 + 0000F9EAD1FFF9E7CBFFF9E8CBFFF9E8CBFFF9E7CCFFF9E8CBFFF9E8CBFFF6E6 + C9FFF1DDC0FFFCF9F7FFF8F2ECFFFDF7EEFFFAECD5FFF8E3C3FFF7E0BBFF483D + 33520000000000000000000000000000000000000000646458FF0E61E1FF0E61 + E1FF1F6BE4FF2E65D0FF133896FF133896FF2A5CBFFF0B5CDCFF0A5ADAFF0959 + D9FF0957D8FF0855D6FF1B62DCFF2D63CEFF173271FF133896FF2A5EC5FF034D + CFFF034CCEFF024CCEFF454540FF000000000000000000000000000000000D45 + 8AFF1B6AB9FFF9EAD1FFF9E9D0FF565544FF575545FF575544FF575644FF5755 + 44FF565544FF575545FF575544FF575644FF86806CFF9B917DFFF8E7CAFF1B69 + BAFF0D4589FF00000000000000000000000000000000DFDFDFFFDEDEDEFFE3A3 + 7BFFEFB288FFF0B188FFEFB288FFF0B188FFEFB188FFEFB188FFF0B288FFFCCA + A7FFEFB288FFF0B188FFEFB288FFEFB289FFF0B188FFEFB188FFF0B188FFEFD1 + BDFFDEDEDEFFDEDEDEFF00000000000000000000000000000000000000000000 + 0000F9EBD2FFF9E8CCFFF8E7CCFFF9E8CCFFF9E7CCFFF9E8CCFFF8E7CBFFF7E4 + C8FFF2DDC0FFFEFAF5FFFCF6ECFFFBF0DDFFF8E3C2FFF7DFBAFFEDD0B4FF0000 + 0000000000000000000000000000000000000000000067665AFF0E61E1FF0E61 + E1FF1565E2FF133CA0FF526D97FF506C97FF163A8BFF0C59D5FF0B5BDCFF0A5A + DBFF0A59DAFF0957D8FF115BD9FF123BA0FF4774C5FF506C97FF1742A4FF044E + D0FF034ECFFF034DCFFF484842FF000000000000000000000000000000000D47 + 8CFF1C6BBBFFF9EAD2FFF9EAD1FF908974FF908974FF908974FF908974FF9089 + 74FF908974FF908974FF908974FF908974FF5A5A48FF9B917EFFF8E7CBFF1C6A + BBFF0D468CFF00000000000000000000000000000000E1E1E1FFE0E0E0FFE2A3 + 7BFFEFB289FFF0B289FFF0B289FFF0B289FFF0B288FFF0B289FFEFB289FFFCCA + A7FFF0B289FFEFB289FFEFB289FFEFB289FFEFB289FFEFB289FFF0B289FFE9B7 + 98FFDFDFDFFFDFDFDFFF00000000000000000000000000000000000000000000 + 0000F9EBD2FFF9E8CDFFF9E8CDFFF9E8CCFFF9E8CDFFF8E8CDFFF9E7CBFFF6E4 + C9FFF1DCBFFFFCF4E7FFFBEFDCFFF9E8CEFFF7DFB9FFEFD3B7FF493E35520000 + 000000000000000000000000000000000000000000006B6B5DFF579BF0FF579B + F0FF579BF0FF579BF0FF46453DFF48473FFF345E98FF4C89D6FF579BF0FF579B + F0FF579BF0FF579BF0FF579BF0FF579BF0FF3D3C36FF48473FFF345E98FF579B + F0FF579BF0FF579BF0FF4B4B45FF000000000000000000000000000000000E49 + 90FF3786D5FF3786D5FF3786D5FFF5F6EFFFE3E5D2FFD3D6B6FFD3D6B6FFD3D6 + B6FFD3D6B6FFD3D6B6FFD3D6B6FFDDDFC7FF64634FFF2F5B83FF3786D5FF3786 + D5FF0E4990FF00000000000000000000000000000000E3E3E3FFE2E2E2FFE3A3 + 7CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFEBB2 + 90FFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A3 + 7CFFE2E2E2FFE2E2E2FF00000000000000000000000000000000000000000000 + 0000F9EBD4FFF9E8CEFFF9E8CEFFF9E8CEFFF9E9CEFFF9E9CEFFF7E6CDFFF5E1 + C8FFF0DABEFFF7E2C0FFF7E1BEFFF7DFB9FF51463C5900000000000000000000 + 000000000000000000000000000000000000000000006E6D5FFF4078AFFF2380 + E4FF2380E4FF2380E4FF3D3C36FF3D3C36FF164883FF1F6EC5FF2380E4FF2380 + E4FF2380E4FF2380E4FF2380E4FF2380E4FF3D3C36FF3D3C36FF164883FF2380 + E4FF2380E4FF3770A9FF4F4E47FF000000000000000000000000000000000B39 + 71C70E4A93FF0E4B92FF0F4A92FF686754FF686754FF686754FF72725EFF7272 + 5EFF72725EFF72725EFF686854FF686754FF455C6DFF183A5EFF0E4B92FF0F4A + 92FF0B3971C700000000000000000000000000000000E4E4E4FFE3E3E3FFE3E3 + E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3 + E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3 + E3FFE3E3E3FFE3E3E3FF00000000000000000000000000000000000000000000 + 0000FAECD4FFF9E8CEFFF9E9CFFFF9E9CEFFF9E9CFFFF9E8CDFFF7E5CCFFF4E2 + C7FFF0DABFFFF7DFB9FFF7DFB9FFF1D8BCFF0000000000000000000000000000 + 000000000000000000000000000000000000000000006E6D5FFF6C6C5EFF6B6B + 5DFF6A695CFF69685BFFA9A98AFFB8B998FF32363FFF52544FFF636257FF6261 + 56FF626156FF5F5F54FF5E5E53FF5E5D53FFD4D4ABFFB8B998FF2C313BFF5858 + 4FFF58584FFF57564EFF79786DFF000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006C6B57FF646351FF6463 + 51FF646351FF646351FF6D6C58FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000 + 0000FAECD5FFF9E9CFFFF9E9CFFFF9E9CFFFF9E9CFFFF9E9CEFFF7E6CCFFF6E3 + C9FFF1DDC2FFF4DCB8FFF1D8BCFF6A5E50720000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000515044C7515044C70000000000000000000000000000 + 000000000000000000000000000000000000686758FF515044C7000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004545389B73725DFF7372 + 5DFF73725DFF73725DFF4545389B000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000F1D8BCFFF1D8BCFFF1D8BCFFF1D8BCFFF1D8BCFFF1D8BCFFF1D8BCFFF1D8 + BCFFF1D8BCFF7266587900000000000000000000000000000000000000000000 + 000000000000000000000000000000000000424D3E000000000000003E000000 + 2800000060000000A00500000100010000000000804300000000000000000000 + 000000000000000000000000FFFFFF0000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 + 0000FFFFFF8007FFE00007000000FFFFFF80FFFFC00007000000010101807FFF + E00007000000010101803FFFE00007800001010101801FFFE000078000030101 + 01800FFFE00007C000030101018007FFE00007E00007010101E003FFE00007E0 + 0007010101F001FFF0000FF0000FEFEFEFF000FFF8001FF0001FEFEFEFFC007F + FE00FFF0001FE0000FFE0007FF00FFF8001FFFEFFFFE0003FE00FFFC003FFE00 + FFFF8001FE007FFE007FFE00FFFFC000FE007FFE007FFE00FFFFC000FE007FFE + 00FFFE00FFFFF020FE007FFF00FFFE00FFFFF070FE007FFF00FFFE00FFFFF038 + FE00FFFFC1FFFE00FFFFF01CFE00FFFFC3FFFE00FFFFF81FFF00FFFFC7FFFE00 + FFFFF80FFFFFFFFFFFFFFFFFFFFFFE07FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFE00FF800001FFFFFF00003FFE00FF000000FFFFFF8000FFFE00FF + 000000FFFFFF8000FFFE00FF0000008007F98000FFFE00FF0000008007F18000 + FFFE00FF0000008007F18000FFFE00FF000000801FE18000FFFE00FF00000080 + 3FC38000FFFE00FF000000801F038000FFFE00FF0000008000038000F8FE00FF + 0000008000038000F8FE00FF0000008000078000F8FE00FF00000080000FFFE3 + F8E0000300000080000FFFE3F8E0000700000080001FFFE3F8F0000F000000FC + 003FFFE1F0F8001F000000FE00FFFFE1F0FC003F000000FF01FFFFE0E0FE007F + 800003FFFFFFFFF001FF00FFFFFFFFFFFFFFFFF803FF81FFFFFFFFFFFFFFFFFC + 07FFC3FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFC00007FE003FFFFFFFC0000FE0001FFE003F000000C0000FE0001F + FFC0FF800003C0000FE0001FFFC1FF800003C0000FE0001FFFC1FF800003C000 + 0FE0001FFFC1FF800003C0000FE0001FFFC1FF800003C0FC0FE0001FFFC1FF80 + 0003C0FC0FE0001FFFC1FF800003C0FC0FE0001FFFC1FF800001C0FC0FE0001F + FFC1FF800001C0FC0FE0001FFFC1FF800001C0FC0FE0001FFFC1FF800001C0C0 + 00E0001FFFC1FF800001C0C000E0001FFFC1FF800001C0C000E0001FF3C1E3FE + 007FC0F003E0001FF1C1E3FE007FC0F803800007F1C1C3FE007FC0F807800007 + F00003FFFFFFC0FE1F800007F00003FFFFFFE1FF1F800007F00003FFFFFFFFFF + 1FC0000FFFFFFFFFFFFFFFFFFFFF87FFF0000FFFFFFFFFFFFFFFFFFFF8001FFF + FFFFFFFFFFFF801FF0000FFFFFFFC00001FFE0FFE00007FFFFFFC00001FFC07F + C00003FFFFFFC00001FFC03F800001FFFFFFC00001FF001F000000FFFFFFC000 + 01FE000F000000FFFFFFC00001FE0007000000FFFFFFC00001F8000300000080 + 0003C00001F00001000000800003C00001F00000000000800003C00001C00001 + 000000E00007C00001800003000000E00007C00001800003000000F0000FC000 + 0180000F000000F0000FC0000180001F000000F0000FC0000180001F000000F0 + 000FC0000182007F800001F0001FC000018200FF800003F8001FC000018000FF + E00007FFFFFFFFFFFFC003FFF0000FFFFFFFFFFFFFE007FFF0001FFFFFFFFFFF + FFF007FFFC003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF000FF01C07FC0FFFFF87FFFFFC3FF07F0FF007FFFF87FFFFF83FF83E1F + F003FFFF87FFFFF83FF8181FC000FFF8007FFFE03FFC001FC0C0FFF8007FFFC0 + 3FFC001F81E0FFF8007FFC003FFC001F83F0FFFF03FFF0001FFE003F87F8FFFE + 00FFF0001FFE001F87F8FFFC00FFF0000FF8001F83F0FFF0003FF0000FE00003 + 81E0FFF0303FF0000FC00003C0C0C7F0781FF0000F800000E00047F0FC1FF000 + 1F800000F00007F1FE1FF0001FFF80FFF00007F1FE1FF0003FFF80FFFFF807F0 + FC1FFFC03FFFC1FFFFF807F0781FFFE03FFFC1FFFFE007F0303FFFF03FFFC3FF + FFE007F8007FFFF83FFFC3FFFFE007FC00FFFFFC3FFFE7FFFFFFFFFE00FFFFFE + 3FFFE7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00FFF03E0FC0 + 000FE00007FF81FFF07F0780001FF8003FFE00FFF07F0780001FF8003FFE007F + F03E0780001FF8003FFE007FF03C2780001FF8003FF8001FF01847F0001FF800 + 3FF0001FF00807F0001FF8003FF0001FF0000FF0001FF8003FF0000FF8001FF0 + 001FF8003FE00007FE003FF0001FF8003FE00007FF80FFF0001FF8003FC00003 + FF80FFF0001FF8003FC00003FF00FFF0001FF8003FC00003FE087FF0001FF800 + 3FC00003FE183FF0001FF8003FC00003FE183FF0001FF8003FC00003FC3E1FF0 + 0003F8003FC00003F87F1FF00003F8003FC00003F07F0FF00003F8003FC00003 + F1FF8FF00003F8003FFF81FFF1FFCFF00003F8003FFFC3FFF3FFEFF80003F800 + 3FFFC7FFFFFFFFFFFFFFF8003FFFE7FFFFFFFFFFFFFFFFFFFFFFFFFFE00003E0 + 0003FFFFFFFFFFFFFC001FFC001FC00003E00003F0000FF0000F800003C00003 + F00007F00007800003800003E00003E00003800003800003C00003C000038000 + 03800003C00003C0000380000380000380000180000180000380000380000180 + 0001800003800003800001800001800003800003800001800001800003800003 + 8000018000018000038000038000018000018000038000038000018000018000 + 03800003800001800001800003800003C00003C00003800003800003E00003E0 + 0003800003800003F00007F00007800003800003F00007F00007800003800003 + FC001FFC001F800003800003FE003FFE003FC00003800003FF00FFFF00FFE000 + 07800003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00003E0 + 0003E00003FFFFFFFC001FFC001FFC001FFC007FF0000FF0000FF0000FF8003F + F00007F00007F00007F0001FE00003E00003E00003E0000FC00003C00003C000 + 03C00007C00003C00003C0000380000380000180000180000180000380000180 + 0001800001800003800001800001800001800003800001800001800001800003 + 8000018000018000018000038000018000018000018000038000018000018000 + 01800003800001800001800001800003C00003C00003C00003800003E00003E0 + 0003E00003800003F00007F00007F00007C00007F00007F00007F00007E0000F + FC001FFC001FFC001FF0001FFE003FFE003FFE003FF8003FFF00FFFF00FFFF00 + FFFC007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFC3FFFFF8FFFC007FFFFFFFFF80E3FFF8FFF8003F + FFFFFFFF00C3FFF87FF0001FFFFFFFFE0001FFF81FE0000FFFFFFFFC0001FFF8 + 1FC00007FFFFFFF8000180000F800003800001F00003800003800003800001E0 + 0003800003800003800001E00003800001800003800001800001800001800003 + 8000018000018000018000038000018000018000038000038000018000018000 + 0780000380000180000180000F800003800001800001FFF81F800003FFFFFF80 + 0001FFF83F800003FFFFFF800001FFF87FC00007FFFFFF800001FFF8FFE0000F + FFFFFF801803FFFFFFF0001FFFFFFFC03803FFFFFFF8003FFFFFFFF03E07FFFF + FFFC007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC003F80 + 07FFFFFFFFFFFFFFFC003F83FFFF80007FFFFFFFF0001FC1FFFF80007FFFFFFF + F0000FE0FFFF80007FFFFFFF800003F03E7F8000639FFFFF800003F03C7F8000 + 439FE001800003F0187F8000418FE001800003FC007FC200018FF001800003FE + 007FE3000187F801800003FE007FFF000183F801800003FF803FC20001806001 + 800003FF001F800001C00001800003FE001F800001C00001C00003FC00078000 + 63E00001E00007FC000380007FF00001F0001FFC000080007FF00001F0001FFF + F80080007FF80019F0001FFFF801FE07FFFC003FF0001FFFFC03FC03FFFE007F + FC003FFFFF07F801FFFFFFFFFC003FFFFF0FF801FFFFFFFFFC003FFFFF1FF801 + FFFFFFFFFFFFFFFFFFFFFE07FFFFFFFFFFFFFF800001FFFFFFFFFFFFFFFFFFF0 + 0007800001FFFFFFFE0003F00007C00003F07FFFFC0003F00007C00003E03FFF + F80003F00007C00003C01FFFF00003F00007C000038007FFE00003F00007C000 + 038007FFE00003F00007C000038003FFE00003F00007C000038000FFE00003F0 + 0007C000038000FFE00003F00007C00003C0007FE00003F00007C00003E0001F + E00003F00007C00003F0001FE00003F00007C00003F0000FE00003F00007C000 + 03FC0007E00003F00007C00003FE0003E00003F00007C00003FE0003E00003F0 + 0007C00003FF8003E00003F00007C00003FFC003E00003F00007C00003FFC003 + E00003F00007C00003FFF007FFFFFFF00007C00003FFF80FFFFFFFFE493FC000 + 03FFFC1FFFFFFFFE493FFFFFFFFFFFFFC00FFFFFFFFFFFFFFFFFFFFFC07FFFFF + FFFFFFFFFFFE001F807FFFFFFFFF800003FFF8FF807FFFFFFFFF800003FFF0FF + 807E1FFC003F800003FFE0FF807807000000800003FFC0FFC078070000008000 + 03FF80C7E07807000000800003F00083F87807000000800003C00003F87807FC + 003F800003C00003F87C07FF00FF800003C00003F87F07FF00FF800003C00007 + F87F87FF00FF800003C00007F87F87FF00FFFC0003C00003F87F87FFC3FFFC00 + 03C00003F80F87FFC3FFFC0003C00003F80187FFC3FFFC0003E00003F80007FF + C3FFFC0003FF80C7F80007FFC3FFFC0003FFC0FFF80007FFC3FFFC0003FFC0FF + FC0007FFC3FFFC0003FFF0FFFF0007FFFFFFFFFFFFFFF8FFFFE007FFFFFFFFFF + FFFFF8FFFFFF87FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC003FF00007FF + FFFFFFFFFFFFC3FFFC001FF0001FFFFFFFFF00FFFC001FFC003FFFFFFFFE00FF + FC001FFC003FF8000FFE007FFC001FFF00FFFF181FFE007FFC001F000000FF18 + 1FFF81FFFC001F000000FE101FF381CFFC001F000000FE007FE381C3FC001F00 + 0000FE00FFC00003FC001F000000FC00FF800001FC001F000000F8007F000000 + FC001F000000F8003F000000FC001F000000F0003F000000FC001F000000F000 + FF800003FC001F000000F003FFC381C3FC001F000000F007FFE381C7FC001F00 + 0000E03FFFFF81FFFC001F000000C0FFFFFE007FFC001F000000C3FFFFFE007F + FC001F000000FFFFFFFE00FFFC001F000000FFFFFFFF00FFFC001F000000FFFF + FFFF81FFFFFFFFFFFFFFFFFFFFFFC7FFC0000FFFFFFFFFFFFFFFFFFFE07FFFFF + FFFFFFFFFFFFFFFF803FFF80000383FFFFFFFFFF801FFFE0000F81FFFFFFFFFF + 860FFFE0000F81FFFFFFFFFF8F07FFE0000FC07FFF8000018707FFE0000FE03F + FF8000018207FFE0000FF03FFF800001C007FFE0000FF80FFF800001E007FFE0 + 000FFC07FF800001F003FFE0000FFE07FF800001F8001FE0000FFF00CF800001 + FC000FE0000FFF8007800001FFC007F0001FFFC007800001FFE003F8FE3FFFE0 + 03800001FFE001F8FE3FFFE001800001FFE061F8FE3FFFE001800001FFF0F0F8 + 7C3FFFF803800001FFF070F87C3FFFF803800001FFF820F8383FFFF003800001 + FFFC01FC007FFFF003800001FFFE03FE00FFFFFE1FFFFFFFFFFF03FF01FFFFFF + 1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + E003FFFFFFFFFFFFFF3FFFFFFF01FFFFFFFFFFFFFE3FFFFFFF01800000800001 + FE3FFFFFFE01800000800003F83FFFFFF801900081800003F03FFFFFF8039000 + 81800003F00001FFF003900081800003C00001FFE00F900081800003800001F0 + 001F900081800003800001E0001F90008180000380000180007F9000FF800003 + 8000018000FF9000FF8000038000018001FF9000FF800003E000010001FF9000 + FF800003F000010001FF9FC0FF800003F03FFF0001FF9FC0FF800003FC3FFF00 + 01FF9FC0FF800003FE3FFF0001FF9FC0FF800003FE3FFF0001FF9FC0FF800003 + FFFFFF8003FF9FC0FFFFFFFFFFFFFF8007FF9FC0FFFFFFFFFFFFFFC007FF9FFF + FFFFFFFFFFFFFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 + 3FFFFFFFFFFFFFFF80007FC01FFFFFFFFF80000383FFFF800FFFFFFFFF800003 + 83FFFF8207FFFFFFFF80000381FFFF8F87FFFFFFFF800003807FFF8FC7FF8000 + 01800003C03FFF8FC7FF800001800003F00FFF8F07FF800001800003F000FF82 + 07FF800001800003F8003F8003FF800001800003FE001FE000FF800001800003 + FE0007F000FF800001800003FF0003FFC07F800001800003FF0003FFF01F8000 + 01800003FF0003FFF81F800001800003FF0203FFF80FEFFFFF800003FF8703FF + FE03E00003800003FF8707FFFF03FFFFFF800003FFC20FFFFF01FFFFFF800003 + FFE01FFFFF00FFFFFFFFFFFFFFE03FFFFF00FFFFFFFFFFFFFFF07FFFFF00FFFF + FFFFFFFFFFFFFFFFFFC7FFFFFFFFFFFFFFFFFFFFFFFFF00007FFFFFF800003FF + FFFFF0000FFFFFFFE00007FC007FF0000FF8001FE00007F8003FF0000FF8001F + E00007F0001FF0000FF8001FE00007E0000FF0000FF8001FE00007C00007F000 + 0FF8001FE00007800003F0000FF8001FE00007800003F0000FF8001FE0000780 + 0003F0000FF8001F800001800003F0000FF8001F800001800003F0000FF8001F + 800001800003F0000FF8001F800001800003F0000FF8001FC00003800003F000 + 0FF8001FE00007800003F0000FF8001FF0000F800003F0000FF8001FF8000F80 + 0003F0000FF8001FFC0007C00007F0000FF8001FFE0007E0000FF0000FF8001F + FF00FFF0001FF0000FF8001FFF81FFF8003FF0000FF8001FFFC3FFFC007FF000 + 0FF8001FFFFFFFFFFFFFF8001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFF + FFFFFC003FFE00FFF8001FFFFFFFFF81FFF6004FF0001FFFFFFFFF00FFE80003 + F0000FFFFFFFFE00FFC0001BC00003000000FC003FA00005C00003000000F800 + 1FE00005800003000000F0001FC00001800001000000E0000F803C0180000100 + 0000E00007807E01800001000000C0000380FF0180000100000080000380FF01 + 80000100000080000380FF0180000100000080000180FF018000010000008000 + 01807E01800001800001800001803C01800003800003800001C00001C00003E0 + 0007800001E00007C00003F0000F800001E00007E00007FFFFFF800001B0000F + F0001FFFFFFFC03803D80013F8001FFFFFFFF03E07CE0067FE007FFFFFFFFFFF + FFF300CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000FFFF + BFFFFFFFFFF0001FF1FFFFFF8FFF000000F8001FF1FFFFFF8FFF800001F8001F + F1FFFFFF87FF800001F8001FF1FFFFFF87FF800001C00003F1FFFFFF83FF8000 + 01800003F1FFFFFFC3FF800001800003F1FFFFFFC0FF800001C03C03F1FFFFFF + C0FF800001C07E03F1FFFFFFC0FF80000180FF03F00003FE007F80000181FF01 + F00003FE003F80000181FF01F00003FE003F80000180FF01F00003FE001F8000 + 01C07E03F00003FE001F800001C03C03F00003FE01FF800001801803F00003FE + 00FF800001800003F00003FE00FF800001C00003F00003FE00FF803FFFF8001F + F00003FE007F807FFFF8001FF001F3FE003F80FFFFF8001FF0FFFFFE003FFFFF + FFFCC33FF1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 + 0003800001FF9FFF807E03E00007CC0033FF87FF807E03E00007CC0033FF87FF + 80FF03E00007C00003FF83FF807E03E00007C00003FF81FF803C03E00007CC00 + 33FF81FF803803E00007CC0033FF81FF880013E00007C00003FF81FFFC003FE0 + 0007C00003FF81FFFE007FE00007CC0033FF81FFFF00FFE00007C00003FF00FF + FF00FFE00007C00003FE007FFE00FFE00007C00003FE003FFC003FE00007CC00 + 33F8001F880013E00007C00003F0000F801803E00007C00003F00007803C03E0 + 0007CC0033C00003807E03E00007CC003380000180FF03E00007C00003800001 + 807E03E00007C00003800001807E03E0000FCC0033800001807E03E0001FCC00 + 33800001FFFFFFE0003FC00003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFC00003800001C1FFFFFC007F800003800001C0FFFFF8003F + 800003800001E03FFFF0001F800003800001F00FFFE0000F800003800001F007 + FFC00007800003800001F007FF800003800003800001F001FF80000380000380 + 0001F800FF800003800003800001F800FF800003800003800001FE003F800003 + 800003800001FE001F800003800003800001FF001F800003800003800001FFC0 + 07800003800003800001FFC003800003800003800001FFE00380000380000380 + 0001FFF801800003800003803FFFFFF801C00007800003803FFFFFFC01E0000F + 80000380FFFFFFFF01F0001FC00003FFFFFFFFFF83F8003FE00007FFFFFFFFFF + C3FC007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0000FFFF7FFF03E0780 + 0001F0001FFFC7FFE07E07E00007F0001FFF81FFC03C03E00007F0001FFF00FF + 803803E00007F0001FFE00FF800001E00007F0001FFC003F800001E00007F000 + 1FF8001F800001E00007F0001FF0001FC00003E00007F0001FE00007E00007E0 + 0007F0001FE00003F0000FE00007F0001FE00007F8001FE00007F0001FFE00FF + F8001FE00007F0001FFE00FFF0001FE00007F0001FFE00FFE00007E00007F000 + 1FFE00FFC00003E00007F0001FFE00FF800003E00007F0001FFE00FF800001E0 + 0007F0001FFE00FF800001E00007F0001FFE00FF801801E00007F0001FFE00FF + C03C03E00007F0001FFE00FFE07E07E0000FF0001FFE00FFF0FF0FE0001FF000 + 1FFE00FFFFFFFFE0003FF0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + F0E3FF00FFFFFFFFFFF1FFFFF003FC001FE0000FFFE1FFFFF003F0000FE0000F + FFE1FFFFF003F00007E0000FFFC1FFFE001FE00003E0000FC00003FE001FC000 + 03E0000F800003FE001FC00003E0000F800001C0021F800001E0000F800001C0 + 021F800001E0000F800001C0021F800001E0000F800001C0021F800001E0000F + 800001C0021F800001E0000F800001C0021F800001E0000F800001C0021F8000 + 01E0000F800001C0021F800001E0000F800001C0021FC00003E0000F800001C0 + 021FE00003E0000F800001C0021FF00007E0000F800001C0021FF00007E0000F + 800001FE001FFC001FE0000F800001FE001FFE003FE0000F800003FE001FFF00 + FFF0001FFFFFFFFFFFFFFFFFFFFFFFFFF8001FFFFFFFFFFFFFFF00FFFC003FFF + FFFF800001FE003FF0000FFC03FFE00007F0000FE00007F803FFE00007F00007 + C00003F003FFE00007E00003800003E001FFE00007C00003800001C001FFE000 + 07800001800001C001FFE00007800001000000E000FFE00007800000000000F0 + 40FFE00007800000000800F0C0FFE00007800000003800FFE07FE00007800000 + 003C00FFE03FE00007800000003800FFF03FE00007800000000000FFF81FE000 + 07800000000000FFF81FE00007800000000000FFFC0FE00007800001800001FF + FF03E00007C00003800003FFFF03E00007C00003800003FFFF83E00007E00003 + E00007FFFFE1E00007F0000FF0000FFFFFFFF0000FF8001FF0001FFFFFFFFE00 + FFFE003FFE00FFFFFFFFFFC7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8001FFF + FFFFFFFFFFFFFFFFF8001FFFFFFF800003C1F0FFF0000F840023800003C0007F + F00007840021800003C000FFE00003840021800003E3F8FFC01E038E00618000 + 03FFFC7FC00F03840021800003FFFC7F80078180000180000380003F8003C180 + 000180000380003F8001C180000180000380003F8100C180000180000380001F + 81804180000180000380001F81C00180000180000380001F81E0018000018000 + 0380001F81F001800001E0000780000FC0F803800001E0000780000FE0000380 + 0001E00007C00007E00007800001FFFFFFFFE007F00007800001FFFFFFFFFFC1 + F8001FFFFFFFFFFFFFFFFFE1FE003FFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80001FFFFFFFFFFFFFFFFFFFC00003FF + FFFF800003FFFFFFC0000780001FC00007FFFFFFC0000780000FC00007800003 + C00007800007C00007800001C00007800003C00007800001C00007800003C000 + 07800001C00007800003C00007800001C00007800003C00007800001C0000780 + 0003C00007800001C00007800003C00007800001C00007800003C00007800001 + C00007800003C00007800001C00007800003C00007800001C00007800003C000 + 07800001C00007800003C00007800001C00007800003C00007800003C0001F80 + 0003C00007E00007C0001F800003C00007F8001FC001FF800003C00007FFC01F + C001FF800003C00007FFFFFFC001FF800003C00007FFFFFFC001FFFFFFFFC000 + 07FFFFFFF007FFFFFFFFFFFFFFFFFFFFFFFFFFF9FBFFFFFFFFFFFFFFFFFFFFF9 + F3FFFFFFFFFFFFFFE00007F8E3FF000000FFFFFFC00003F843FF000000800003 + C00003F803FF000000800003C00003F803FF000000800003C00003F803FF0000 + 00800003C00003F803FF000000800003C00003F803FF000000800003C00003F8 + 03FF000000800003C00003F803FF000000800003800001F803FF000000800003 + 800001F803FF000000800003800001F8001F000000800003800001F8001F0000 + 00800003FFC7FFF8001F000000800003FFC7FFF8001F000000800003FFC7FFF8 + 001F000000800003FFC7FFF8001F800001800003FFC7FFF8001FFE3CFF800003 + FFC7FFF8001FFE00FFFFFFFFFFC7FFF8001FFE00FFFFFFFFFFC7FFF8001FFE00 + FFFFFFFFFFFFFFFE007FFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFE0000FFF + C1FFFFFFFFF8001FE0000FFE003FFE7E7FFE00FFE0000FFC001FF83C1FFE18FF + E0000FF8000FF03C1FFE38FFC00007F00003F0181FFE3CFFC00007C0C181F818 + 1FFC38FF800003C1C1C1F8001FFC38FF800003C1C1C1FE007FFC38FF800003C1 + C1E1FE007FFC38FF800003C3E3E1FE00FFFC38FF800003CFE3F9800001FC38FF + 800003CFE3FD800001FC38FF800003FF80FF800001FC38FF800003FF80FF8000 + 01FC38FF800003FFE3FFFE00FFFC30FF800003FFC1FFFE007FFC30FF800003FF + 80FFFC003FFC00FF800003FF80FFFC001FFC84FF800003FF88FFF8181FFCFCFF + 800003FF80FFF0381FFC38FFC06C07FF80FFF03C1FFC00FFF0C60FFFC0FFF83C + 1FFE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + E003FC001FC0001F000000FFFF01FF00FFC00007000001FFFF01FF00FFC00007 + 000001FFFE01FF00FFC00007000001FFF801FF00FFC00007000001FFF803FF00 + FFC00007000001FFF003FF00FFC00007000001FFE00F800000C00007000001F0 + 001F800000C00007000000E0001F800000C0000700000080007F800000C00007 + 0000008000FF800000C000070000008001FF800000C000070000000001FF8000 + 00C000070000010001FF800000C000070000010001FF800000C0000700000100 + 001FFF00FFC0000700000100001FFF00FFC0000700000100001FFF00FFC00007 + 0000018003FFFF00FFC000070000018007FFFF00FFC00007000001C007FFFF00 + FFC00007FFFFFFF03FFFFF00FFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFE000F00 + 0000FC001FFFFFFFFC0007000000FC001F000000FA000FF0000FFC001F000001 + F00FFFF0000FFC001F800001F007FFF0000FFC001F800001E003FFF00007FC00 + 1F8000018003FFF00007FC001F8000018001FFF00007FC001FC000030001FFF0 + 0007FC001FE0000701807FF00003FC001FF0000F03C07FE00003FC003FFF00FF + 87E07FE00003000001FF81FF87F03FE00003000001FF00FFFFF81FE000018000 + 03FF00FFFFFC0F800001C00007FE00FFFFFE0F800001E0000FFE00FFFFFF0780 + 0001F0001FFE00FFFFFF87800001F8003FFE00FFFFFFC1800001FC007FFE00FF + FFFFE1800000FE00FFFF00FFFFFFF1800001FF01FFFF00FFFFFFF8800001FF83 + FFFF81FFFFFFFCE00003FFC7FFFFFFFFFFFFFFF0000FFFFFFF000001F8000FF0 + 000F000000000041FE003FFFF1FF800001800041000000FFF0FF800005800041 + 000000FFF07F80000180004180000100103F80000180004180000100000F8000 + 0180004180000100000780000180004180000100000380000180004180000100 + 0003800001800041800001000000800001800041800001000000800001800041 + 80000100000080000180006380000100000080000180007F8000010000018000 + 0180007F80000100000380000180007FE4000700000780000180007FFC003F00 + 000F80000180007FFC003FFFF01F80000180007FFC003FFFF03F800001803FFF + FC003FFFF07F800001803FFFFC003FFFF0FF800001803FFFFC003FFFF1FF8000 + 01803FFFFFFFFFFFF7FFFFFFFF807FFFFFFFFFF8003F88007FFFFFFF000000FE + 003F800000000000800001FE00FFFE00FF800001800000FE00FFFE00FF800001 + 800000FF01FFFE00FF800001800000FF01FFFE00FF800001800000000000FE00 + FF800001800000000000FE00FF80000180000000000000000180000180000000 + 0000000001800001800000000000000001800001800000000000000001800001 + 8000000000000000018000008000000000000000018000008000000000000000 + 01800000800001000000000001800000800001000000000001800000C0000300 + 0000FE00FF800000E00007000000FE00FF800000F0000F000000FE00FF800001 + F8001F000000FE00FF800001FC003F000000FE00FF801801FE007F000000FE00 + FF803E01FFFFFF000000FE00FFC1FFC1F0000FFFFFFFFFFFFFE0001FF0000FFF + FFFF800001E0001FFF83FFFFFFFFE00007FF8FFFFF00FFFFFFFFE00007FF0FFF + FE007F000001E00007FE0FFFFC003F000001F0000FFC0800F8003F800007F000 + 0FF00000F0000F800003F0000FE00000E0000F800003F0000FC00000C0000780 + 0001F0000FC00000800001800001E00007000000000001800001E00007000000 + 000001800001E00007000000FC003F800000E00007000000FC003F800000E000 + 07800000FC003F800000E00007C00000FC003F800007F0000FE00000FC003F80 + 0007F8001FF00000FC003F800007FC003FF80FFFFC003F80000FFE007FFC0FFF + FC003F803FFFFF007FFE0FFFFC003FFFFFFFFF807FFF0FFFFC003FFFFFFFFFC0 + 7FFF8FFFFC003FFFFFFFFFE7FFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFF00000080 + 0001000001E00001800001E00007000001C00001800001E00007800001F00003 + 800001E00007800001F00003800001E00007800001F00003800001E000078000 + 01F00003800001E00007800001F00003800001E00007800001F00003800001E0 + 0007800001F00003800001E00007800001F00003800001E00007800001F00003 + 800001E00007800001F00003800001E00007800001F00001800001E000078000 + 01F00001800001E00007800001F00001800001E00007800001F00003800001E0 + 0007800001F0000F800001E00007800001F0000F800001E00007800001F0001F + 800001E00007800001F0007F800001E00007800001F0007F800001FF81FF8000 + 01F000FFFCFF3FFF81FFFFFFFFF003FF00000000000000000000000000000000 + 000000000000} + end + object ThreeLookAndFeelCol: TcxLookAndFeelController + Kind = lfStandard + NativeStyle = False + Left = 253 + Top = 12 + end + object ThreeColorBase: TcxStyleRepository + Left = 139 + Top = 80 + PixelsPerInch = 96 + object SHuangSe: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = 4707838 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + TextColor = clBtnText + end + object SkyBlue: TcxStyle + AssignedValues = [svColor, svFont] + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + end + object Default: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object QHuangSe: TcxStyle + AssignedValues = [svColor, svFont] + Color = 8454143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + end + object Red: TcxStyle + AssignedValues = [svColor, svFont] + Color = clRed + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + end + object FontBlue: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlue + end + object TextSHuangSe: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlack + end + object FonePurple: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindow + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlack + end + object FoneClMaroon: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clMaroon + end + object FoneRed: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clRed + end + object RowColor: TcxStyle + AssignedValues = [svColor] + Color = 16311512 + end + object handBlack: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxBlue: TcxStyle + AssignedValues = [svColor, svFont] + Color = 16711731 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + end + end + object Timer_link: TTimer + Interval = 15000 + OnTimer = Timer_linkTimer + Left = 232 + Top = 132 + end +end diff --git a/打卷检验管理/U_DataLink.pas b/打卷检验管理/U_DataLink.pas new file mode 100644 index 0000000..4c58cd6 --- /dev/null +++ b/打卷检验管理/U_DataLink.pas @@ -0,0 +1,134 @@ +unit U_DataLink; + +interface + +uses + SysUtils, Classes, DB, ADODB, ImgList, Controls, cxStyles, cxLookAndFeels, + Windows,Messages,forms,OleCtnrs,DateUtils, cxClasses, ExtCtrls,SyncObjs, + dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, + dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle, + dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, + dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, + dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis, + dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black, + dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, + dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, + dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, + dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin, + dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, + dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, + dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine, + dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue; +type + TMyThread = class(TThread) + protected + procedure Execute; override; + end; +var + DConString:String; {ȫַ} + server, dtbase, user, pswd: String; {ݿӲ} + DCurHandle:hwnd; //ǰ + DName:string ; //#û#// + DCode:string ; //#û#// + PicSvr:string; //#IPַ#// + Ddatabase:string; //#ݿ#// + DTitCaption:string; //##// + DParameters1,DParameters2,DParameters3,DParameters4,DParameters5:string;// ⲿ + DParameters6,DParameters7,DParameters8,DParameters9,DParameters10:string;//ⲿ + OldDllApp:Tapplication; //ԭо + NewDllApp: Tapplication;//ǰ + MainApplication: Tapplication ; + DFormCode:integer; //ǰں + IsDelphiLanguage:integer; + DServerDate:TdateTime; //ʱ + DCompany:string; //˾ + IpCall:Integer; + IpWLDZStr:string; + UserDataFlag:string; +type + TDataLink_TradeManage = class(TDataModule) + AdoDataLink: TADOQuery; + ADOLink: TADOConnection; + ThreeImgList: TImageList; + ThreeLookAndFeelCol: TcxLookAndFeelController; + ThreeColorBase: TcxStyleRepository; + SHuangSe: TcxStyle; + SkyBlue: TcxStyle; + Default: TcxStyle; + QHuangSe: TcxStyle; + Red: TcxStyle; + FontBlue: TcxStyle; + TextSHuangSe: TcxStyle; + FonePurple: TcxStyle; + FoneClMaroon: TcxStyle; + FoneRed: TcxStyle; + RowColor: TcxStyle; + handBlack: TcxStyle; + cxBlue: TcxStyle; + Timer_link: TTimer; + procedure DataModuleDestroy(Sender: TObject); + procedure DataModuleCreate(Sender: TObject); + procedure Timer_linkTimer(Sender: TObject); + + private + { Private declarations } + public + { Public declarations } + end; + TMakebar = procedure(ucData:pchar;nDataLen:integer;nErrLevel:integer;nMask:integer;nBarEdition:integer;szBmpFileName:pchar;nScale:integer);stdcall; + TMixtext = procedure( szSrcBmpFileName:PChar;szDstBmpFileName:PChar;sztext:PChar;fontsize,txtheight,hmargin,vmargin,txtcntoneline:integer);stdcall; +var + DataLink_TradeManage: TDataLink_TradeManage; + CriticalSection:TCriticalSection; {ٽ} +implementation +{$R *.dfm} + +procedure TMyThread.Execute; +begin + FreeOnTerminate := True; + CriticalSection.Enter; + try + with DataLink_TradeManage.AdoDataLink do + begin + close; + sql.Clear; + sql.Add('select getdate()'); + open; + end; + except + try + with DataLink_TradeManage.ADOLink do + begin + Connected:=false; + ConnectionString:=DConString; + LoginPrompt:=false; + Connected:=true; + end; + except + + end; + end; + CriticalSection.Leave; +end; + +procedure TDataLink_TradeManage.DataModuleDestroy(Sender: TObject); +begin + CriticalSection.Free; + DataLink_TradeManage:=nil; +end; + +procedure TDataLink_TradeManage.DataModuleCreate(Sender: TObject); +begin + CriticalSection:=TCriticalSection.Create; +end; + +procedure TDataLink_TradeManage.Timer_linkTimer(Sender: TObject); +begin + TMyThread.Create(False); +end; + +end. + + + + diff --git a/打卷检验管理/U_FjList.dfm b/打卷检验管理/U_FjList.dfm new file mode 100644 index 0000000..d958462 --- /dev/null +++ b/打卷检验管理/U_FjList.dfm @@ -0,0 +1,126 @@ +object frmFjList: TfrmFjList + Left = 315 + Top = 185 + Width = 639 + Height = 394 + BorderIcons = [biSystemMenu, biMinimize] + Caption = #38468#20214#20449#24687 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ListView1: TListView + Left = 4 + Top = 16 + Width = 429 + Height = 301 + Columns = <> + TabOrder = 0 + OnDblClick = ListView1DblClick + end + object Panel1: TPanel + Left = 472 + Top = 0 + Width = 151 + Height = 356 + Align = alRight + TabOrder = 1 + object FileName: TcxButton + Left = 30 + Top = 60 + Width = 75 + Height = 25 + Hint = 'Filesother' + Caption = #28155#21152 + TabOrder = 0 + OnClick = FileNameClick + LookAndFeel.Kind = lfOffice11 + end + object cxButton1: TcxButton + Left = 30 + Top = 96 + Width = 75 + Height = 25 + Hint = 'Filesother' + Caption = #21024#38500 + TabOrder = 1 + OnClick = cxButton1Click + LookAndFeel.Kind = lfOffice11 + end + object cxButton2: TcxButton + Left = 30 + Top = 132 + Width = 75 + Height = 25 + Hint = 'Filesother' + Caption = #20445#23384 + TabOrder = 2 + OnClick = cxButton2Click + LookAndFeel.Kind = lfOffice11 + end + object cxButton3: TcxButton + Left = 30 + Top = 172 + Width = 75 + Height = 25 + Hint = 'Filesother' + Caption = #20851#38381 + TabOrder = 3 + Visible = False + OnClick = cxButton3Click + LookAndFeel.Kind = lfOffice11 + end + end + object Panel2: TPanel + Left = 176 + Top = 140 + Width = 193 + Height = 41 + BevelInner = bvRaised + BevelOuter = bvLowered + Caption = 'Panel2' + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + OnDblClick = Panel2DblClick + end + object ADOQueryTmp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 520 + Top = 28 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 568 + Top = 32 + end + object ImageList1: TImageList + Left = 536 + Top = 228 + end + object IdFTP1: TIdFTP + MaxLineAction = maException + ReadTimeout = 0 + ProxySettings.ProxyType = fpcmNone + ProxySettings.Port = 0 + Left = 500 + Top = 198 + end +end diff --git a/打卷检验管理/U_FjList.pas b/打卷检验管理/U_FjList.pas new file mode 100644 index 0000000..4fff8af --- /dev/null +++ b/打卷检验管理/U_FjList.pas @@ -0,0 +1,360 @@ +unit U_FjList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, ExtCtrls, ComCtrls, Menus, cxLookAndFeelPainters, StdCtrls, + cxButtons, DB, ADODB, ImgList,shellapi, IdBaseComponent, IdComponent, + IdTCPConnection, IdTCPClient, IdFTP; + +type + TfrmFjList = class(TForm) + ListView1: TListView; + Panel1: TPanel; + FileName: TcxButton; + cxButton1: TcxButton; + cxButton2: TcxButton; + cxButton3: TcxButton; + ADOQueryTmp: TADOQuery; + ADOQueryCmd: TADOQuery; + ImageList1: TImageList; + Panel2: TPanel; + IdFTP1: TIdFTP; + procedure cxButton3Click(Sender: TObject); + procedure FormDestroy(Sender: TObject); + procedure FileNameClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure ListView1DblClick(Sender: TObject); + procedure cxButton1Click(Sender: TObject); + procedure cxButton2Click(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure Panel2DblClick(Sender: TObject); + private + procedure InitData(); + { Private declarations } + public + fkeyNO:string; + fType:string; + fId:integer; + { Public declarations } + end; + +var +frmFjList: TfrmFjList; + +implementation +uses + U_DataLink,U_Fun10; +{$R *.dfm} +procedure TfrmFjList.InitData(); +var + ListItem: TListItem; + Flag: Cardinal; + info: SHFILEINFOA; + Icon: TIcon; +begin + ListView1.Items.Clear; + try + + with adoqueryTmp do + begin + close; + sql.Clear; + sql.Add('select fileName from TP_File '); + sql.Add('where WBID='+quotedstr(trim(fkeyNO))); + sql.Add('and TFType='+quotedstr(trim(fType))); + open; + if not IsEmpty then + begin + while not eof do + begin + with ListView1 do + begin + LargeImages := ImageList1; + Icon := TIcon.Create; + ListItem := Items.Add; + Listitem.Caption := trim(fieldbyname('fileName').AsString); + // Listitem.SubItems.Add(OpenDiaLog.FileName); + Flag := (SHGFI_SMALLICON or SHGFI_ICON or SHGFI_USEFILEATTRIBUTES); + SHGetFileInfo(Pchar(trim(fieldbyname('fileName').AsString)), 0, info, Sizeof(info), Flag); + Icon.Handle := info.hIcon; + ImageList1.AddIcon(Icon); + ListItem.ImageIndex := ImageList1.Count - 1; + end; + next; + end; + end; + end; + except + end; +end; + +procedure TfrmFjList.cxButton3Click(Sender: TObject); +begin + ADOQueryTmp.Close; + ADOQuerycmd.Close; + ListView1.Items.Free; + ModalResult:=-1; +end; + +procedure TfrmFjList.FormDestroy(Sender: TObject); +begin + frmFjList:=nil; +end; + +procedure TfrmFjList.FileNameClick(Sender: TObject); +var + OpenDiaLog: TOpenDialog; + fFileName:string; + fFilePath:string; + maxNo:string; +// myStream: TADOBlobStream; +// FJStream : TMemoryStream; +begin + + try + OpenDiaLog := TOpenDialog.Create(Self); + if OpenDiaLog.Execute then + begin + + Panel2.Caption:='ϴݣԵ...'; + Panel2.Visible:=true; + application.ProcessMessages; + + fFilePath:=OpenDiaLog.FileName; + fFileName:=ExtractFileName(OpenDiaLog.FileName); + + with adoqueryCmd do + begin + close; + sql.Clear; + sql.Add('delete from TP_File '); + sql.Add('where WBID='+quotedstr(trim(fkeyNO))); + sql.Add('and TFType='+quotedstr(trim(fType))); + sql.Add('and FileName='+quotedstr(trim(fFileName))); + execsql; + end; + + if GetLSNo(ADOQueryCmd,maxNo,'FJ','TP_File',4,1)=False then + begin + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + + adoqueryCmd.Connection.BeginTrans; + try + with adoqueryCmd do + begin + close; + sql.Clear; + sql.Add('select * from TP_File '); + sql.Add('where WBID='+quotedstr(trim(fkeyNO))); + sql.Add('and TFType='+quotedstr(trim(fType))); + sql.Add('and FileName='+quotedstr(trim(fFileName))); + open; + append; + fieldbyname('TFID').Value:=trim(maxNO); + fieldbyname('WBID').Value:=trim(fkeyNO); + fieldbyname('TFType').Value:=trim(fType); + fieldbyname('FileName').Value:=trim(fFileName); + tblobfield(FieldByName('Filesother')).LoadFromFile(fFilePath); + post; + end; + + if fFilePath <> '' then + begin + try + IdFTP1.Host := PicSvr; + IdFTP1.Username:='three'; + IdFTP1.Password:='641010'; + IdFTP1.Connect(); + IdFTP1.Put(fFilePath, UserDataFlag+'FJ\' + Trim(fFileName)); + IdFTP1.Quit; + except + IdFTP1.Quit; + Application.MessageBox('ϴͻͼļʧܣļ', 'ʾ', MB_ICONWARNING); + end; + end; + IdFTP1.Quit; + + Panel2.Visible:=false; + initdata(); + finally + //OpenDiaLog.Free; + end; + end; + adoqueryCmd.Connection.CommitTrans; + except + adoqueryCmd.Connection.RollbackTrans; + application.MessageBox('ʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmFjList.FormCreate(Sender: TObject); +begin + ListView1.Align:=alclient; +end; + +procedure TfrmFjList.FormShow(Sender: TObject); +begin + initdata(); +end; + +procedure TfrmFjList.ListView1DblClick(Sender: TObject); +var + sFieldName:string; + fileName:string; +begin + if ListView1.Items.Count<1 THEN EXIT; + + if listView1.SelCount<1 then exit; + sFieldName:='D:\ͼƬ鿴'; + + if not DirectoryExists(pchar(sFieldName)) then + CreateDirectory(pchar(sFieldName),nil); + + fileName:=ListView1.Selected.Caption; + + sFieldName:=sFieldName+'\'+trim(fileName); + + try + IdFTP1.Host := PicSvr; + IdFTP1.Username := 'three'; + IdFTP1.Password := '641010'; + IdFTP1.Connect(); + except + ; + end; + + if IdFTP1.Connected then + begin + + Panel2.Caption:='ݣԵ...'; + Panel2.Visible:=true; + application.ProcessMessages; + try + IdFTP1.Get(UserDataFlag+'FJ\'+ Trim(fileName), sFieldName,false, true); + except + Panel2.Visible:=false; + Application.MessageBox('ͻͼļ', 'ʾ', MB_ICONWARNING); + IdFTP1.Quit; + Exit; + end; + end + else + begin + Panel2.Visible:=false; + Application.MessageBox('޷ļ', 'ʾ', MB_ICONWARNING); + IdFTP1.Quit; + Exit; + end; + Panel2.Visible:=false; + if IdFTP1.Connected then IdFTP1.Quit; + ShellExecute(Handle, 'open',PChar(sFieldName),'', '', SW_SHOWNORMAL); + +end; + +procedure TfrmFjList.cxButton1Click(Sender: TObject); +var + fFileName:string; + fFilePath:string; +begin + if listView1.SelCount<1 then exit; + + try + fFileName:=ListView1.Selected.Caption; + // ADOQueryTmp.Locate('fileName',fFileName,[]); + + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('delete from TP_File '); + sql.Add('where WBID='+quotedstr(trim(fkeyNO))); + sql.Add('and TFType='+quotedstr(trim(fType))); + sql.Add('and FileName='+quotedstr(trim(fFileName))); + execsql; + end; + + initData(); + + except + end; + +end; + +procedure TfrmFjList.cxButton2Click(Sender: TObject); +var + SaveDialog: TSaveDialog; + fFileName:string; + fFilePath:string; +begin + if listView1.SelCount<1 then exit; + + try + + fFileName:=ListView1.Selected.Caption; + + SaveDialog := TSaveDialog.Create(Self); + + SaveDialog.FileName:=fFileName; + if SaveDialog.Execute then + begin + Panel2.Caption:='ڱݣԵ...'; + Panel2.Visible:=true; + application.ProcessMessages; + fFilePath:=SaveDialog.FileName; + try + IdFTP1.Host := PicSvr; + IdFTP1.Username := 'three'; + IdFTP1.Password := '641010'; + IdFTP1.Connect(); + except + ; + end; + + if IdFTP1.Connected then + begin + + Panel2.Caption:='ݣԵ...'; + Panel2.Visible:=true; + application.ProcessMessages; + try + IdFTP1.Get(UserDataFlag+'FJ\'+ Trim(fFileName), fFilePath,false, true); + except + Panel2.Visible:=false; + Application.MessageBox('ͻͼļ', 'ʾ', MB_ICONWARNING); + IdFTP1.Quit; + Exit; + end; + end + else + begin + Panel2.Visible:=false; + Application.MessageBox('޷ļ', 'ʾ', MB_ICONWARNING); + IdFTP1.Quit; + Exit; + end; + Panel2.Visible:=false; + if IdFTP1.Connected then IdFTP1.Quit; + end; + except + Panel2.Visible:=false; + end; +end; + +procedure TfrmFjList.FormClose(Sender: TObject; var Action: TCloseAction); +begin + if fId=10 then Action:=cafree + else + Action:=cahide; +end; + +procedure TfrmFjList.Panel2DblClick(Sender: TObject); +begin + Panel2.Visible:=false; +end; + +end. diff --git a/打卷检验管理/U_GetDllForm.pas b/打卷检验管理/U_GetDllForm.pas new file mode 100644 index 0000000..fa50c80 --- /dev/null +++ b/打卷检验管理/U_GetDllForm.pas @@ -0,0 +1,551 @@ +unit U_GetDllForm; + +interface + +uses + Windows, Messages, forms, OleCtnrs, DateUtils, SysUtils, ADODB, inifiles, + dxCore, ActiveX; + +function GetDllForm(App: Tapplication; FormH: hwnd; FormID: integer; Language: integer; WinStyle: integer; GCode: Pchar; GName: Pchar; DataBase: Pchar; Title: PChar; Parameters1: PChar; Parameters2: PChar; Parameters3: PChar; Parameters4: PChar; Parameters5: PChar; Parameters6: PChar; Parameters7: PChar; Parameters8: PChar; Parameters9: PChar; Parameters10: PChar; DataBaseStr: PChar): hwnd; export; stdcall; + +function ConnData(): Boolean; + +function GetsysParam(muserId: pchar; fparam1: pchar): Boolean; + +implementation + +uses + U_DataLink, U_Fun, U_iniParam, U_MJManageNewFDNew, U_ProductOrderList, + U_ProductOrderAnPai, U_MJEdit, U_JYOrderCDOne, U_JYOrderCDMore, + U_CpCkSaoMNewSel, U_CKProductBCPInList, U_CKProductBCPOutList, U_BanCpHCSaoM, + U_CKProductBCPHCList, U_CKProductBCPKCList, U_CKProductBCPKCHZList, + U_CpRkSaoMNew, U_ClothContractList, U_ClothContractKCList, + U_ProductOrderNewList, U_ClothPDInfoList, U_ClothHCList, U_ContractListNX, + U_ClothContractListSX, U_ClothContractListHZ, U_ProductOrderLBNameSet, + U_ProductOrderNewList_JD, U_CKJYList, U_CKProductJYHZList, U_ModulePromptList, + U_CPDBAO, U_JYOrderOther_Main; + + ///////////////////////////////////////////////////////////////// + // ˵:ȡDllеô // + // ˵App>>Ӧó // + // FormH>>ôھ // + // FormID>>ں; // + // Language>>; // + // WinStyle>>ͣ // +///////////////////////////////////////////////////////////////// +function GetDllForm(App: Tapplication; FormH: hwnd; FormID: integer; Language: integer; WinStyle: integer; GCode: Pchar; GName: Pchar; DataBase: Pchar; Title: PChar; Parameters1: PChar; Parameters2: PChar; Parameters3: PChar; Parameters4: PChar; Parameters5: PChar; Parameters6: PChar; Parameters7: PChar; Parameters8: PChar; Parameters9: PChar; Parameters10: PChar; DataBaseStr: PChar): hwnd; +var + mnewHandle: hwnd; + mstyle: TFormStyle; // 0:Ӵ; 1ͨ + mstate: TWindowState; + mborderstyle: TFormBorderStyle; +begin + mnewHandle := 0; + DName := GName; + DCode := GCode; + DdataBase := DataBase; + DTitCaption := Title; + DParameters1 := Parameters1; + DParameters2 := Parameters2; + DParameters3 := Parameters3; + DParameters4 := Parameters4; + DParameters5 := Parameters5; + DParameters6 := Parameters6; + DParameters7 := Parameters7; + DParameters8 := Parameters8; + DParameters9 := Parameters9; + DParameters10 := Parameters10; + + MainApplication := App; + DCurHandle := FormH; + IsDelphiLanguage := Language; + + Application := TApplication(App); + DCurHandle := 0; + + + //ֵַ + SetLength(server, 255); + SetLength(dtbase, 255); + SetLength(user, 255); + SetLength(pswd, 255); + + server := '101.132.143.144,7781'; +// server:='.'; + dtbase := 'leigejydata'; + user := 'rtsa'; + pswd := 'rightsoft@5740'; + DConString := 'Provider=SQLOLEDB.1;Password=' + pswd + ';Persist Security Info=True;User ID=' + user + ';Initial Catalog=' + dtbase + ';Data Source=' + server; + + IF trim(DataBaseStr)<>''then + DConString := DataBaseStr; + + DParameters1:='Ȩ'; + //DCode:='ADMIN'; + //DName:='ADMIN'; +// DParameters2:='Ʒ'; //12 +// DParameters2:=''; + if not ConnData() then + begin + result := 0; + exit; + end; + if IsINIFile() then + ReadINIFile() + else + WriteINIFile; + GetsysParam('', ''); + // 崰 ״̬ + if WinStyle = 0 then + begin + mstyle := fsMDIChild; + mstate := wsMaximized; + mborderstyle := bsSizeable; + end + else + begin + mstyle := fsNormal; + mstate := wsNormal; + mborderstyle := bsSizeable; + end; + //////////////////// + ///////////////////// + //ģ鴰 + case FormID of + 201: //ָʾ + begin + if frmProductOrderNewList = nil then + begin + frmProductOrderNewList := TfrmProductOrderNewList.Create(application.MainForm); + with frmProductOrderNewList do + begin + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmProductOrderNewList.BringToFront; + // + mnewHandle := frmProductOrderNewList.Handle; + end; + + 202: //Ϣ + begin + if FrmJYOrderOther = nil then + begin + FrmJYOrderOther := TFrmJYOrderOther.Create(application.MainForm); + with FrmJYOrderOther do + begin + caption := Trim(Title); + fdatabase := trim(DataBase); + // fdatabase:=trim('ѯ'); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + FrmJYOrderOther.BringToFront; + // + mnewHandle := FrmJYOrderOther.Handle; + end; + + 2: // Ʒ + begin + if frmMJManageNewFDNewSF = nil then + begin + frmMJManageNewFDNewSF := TfrmMJManageNewFDNewSF.Create(application.MainForm); + with frmMJManageNewFDNewSF do + begin + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmMJManageNewFDNewSF.BringToFront; + // + mnewHandle := frmMJManageNewFDNewSF.Handle; + end; + 11: //ǩƤ + begin + if frmProductOrderLBNameSet = nil then + begin + frmProductOrderLBNameSet := TfrmProductOrderLBNameSet.Create(application.MainForm); + with frmProductOrderLBNameSet do + begin + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmProductOrderLBNameSet.BringToFront; + // + mnewHandle := frmProductOrderLBNameSet.Handle; + + end; + 12: //ƥ + begin + if frmMJEdit = nil then + begin + frmMJEdit := TfrmMJEdit.Create(application.MainForm); + with frmMJEdit do + begin + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmMJEdit.BringToFront; + // + mnewHandle := frmMJEdit.Handle; + + end; + 13: //ɨ + begin + if frmCpRkSaoMNew = nil then + begin + frmCpRkSaoMNew := TfrmCpRkSaoMNew.Create(application.MainForm); + with frmCpRkSaoMNew do + begin + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmCpRkSaoMNew.BringToFront; + // + mnewHandle := frmCpRkSaoMNew.Handle; + + end; + 14: //Ʒ + begin + if frmCpCkSaoMNewSel = nil then + begin + frmCpCkSaoMNewSel := TfrmCpCkSaoMNewSel.Create(application.MainForm); + with frmCpCkSaoMNewSel do + begin + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmCpCkSaoMNewSel.BringToFront; + // + mnewHandle := frmCpCkSaoMNewSel.Handle; + + end; + 15: //Ʒб + begin + if frmCKProductBCPInList = nil then + begin + frmCKProductBCPInList := TfrmCKProductBCPInList.Create(application.MainForm); + with frmCKProductBCPInList do + begin + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmCKProductBCPInList.BringToFront; + // + mnewHandle := frmCKProductBCPInList.Handle; + + end; + 16: //Ʒб + begin + if frmCKProductBCPOutList = nil then + begin + frmCKProductBCPOutList := TfrmCKProductBCPOutList.Create(application.MainForm); + with frmCKProductBCPOutList do + begin + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmCKProductBCPOutList.BringToFront; + // + mnewHandle := frmCKProductBCPOutList.Handle; + + end; + 17: //б + begin + if frmCKProductBCPKCList = nil then + begin + frmCKProductBCPKCList := TfrmCKProductBCPKCList.Create(application.MainForm); + with frmCKProductBCPKCList do + begin + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmCKProductBCPKCList.BringToFront; + // + mnewHandle := frmCKProductBCPKCList.Handle; + + end; + 18: //б + begin + if frmCKProductBCPKCHZList = nil then + begin + frmCKProductBCPKCHZList := TfrmCKProductBCPKCHZList.Create(application.MainForm); + with frmCKProductBCPKCHZList do + begin + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmCKProductBCPKCHZList.BringToFront; + // + mnewHandle := frmCKProductBCPKCHZList.Handle; + + end; + 19: //鱨 + begin + if frmJYOrderCDOne = nil then + begin + frmJYOrderCDOne := TfrmJYOrderCDOne.Create(application.MainForm); + with frmJYOrderCDOne do + begin + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmJYOrderCDOne.BringToFront; + // + mnewHandle := frmJYOrderCDOne.Handle; + + end; + + 22: //ָʾѡ + begin + if frmClothHCList = nil then + begin + frmClothHCList := TfrmClothHCList.Create(application.MainForm); + with frmClothHCList do + begin + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmClothHCList.BringToFront; + // + mnewHandle := frmClothHCList.Handle; + + end; + + 23: //ָʾȲѯ + begin + if frmProductOrderNewList_JD = nil then + begin + frmProductOrderNewList_JD := TfrmProductOrderNewList_JD.Create(application.MainForm); + with frmProductOrderNewList_JD do + begin + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmProductOrderNewList_JD.BringToFront; + // + mnewHandle := frmProductOrderNewList_JD.Handle; + + end; + + 28: // + begin + if frmCPDBao = nil then + begin + frmCPDBao := TfrmCPDBao.Create(application.MainForm); + with frmCPDBao do + begin + caption := Trim(Title); + //ftype:=''; + //ftype:=trim(DataBase); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmCPDBao.BringToFront; + // + mnewHandle := frmCPDBao.Handle; + end; + + 29: // + begin + if frmCKProductJYHZList = nil then + begin + frmCKProductJYHZList := TfrmCKProductJYHZList.Create(application.MainForm); + with frmCKProductJYHZList do + begin + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmCKProductJYHZList.BringToFront; + // + mnewHandle := frmCKProductJYHZList.Handle; + end; + + 32: //ͳ + begin + if frmCKJYList = nil then + begin + frmCKJYList := TfrmCKJYList.Create(application.MainForm); + with frmCKJYList do + begin + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmCKJYList.BringToFront; + // + mnewHandle := frmCKJYList.Handle; + end; + + 61: //ʾ + begin + if frmModulePromptList = nil then + begin + frmModulePromptList := TfrmModulePromptList.Create(application.MainForm); + with frmModulePromptList do + begin + caption := Trim(Title); + FormStyle := mstyle; + windowState := mstate; + BorderStyle := mborderstyle; + //show; + end; + end + else + frmModulePromptList.BringToFront; + // + mnewHandle := frmModulePromptList.Handle; + + end; + + end; // end case + + Result := mnewHandle; +// NewDllApp := Application; +end; + +function GetsysParam(muserId: pchar; fparam1: pchar): Boolean; +begin + result := true; + ////////////////////////////// + shortDateFormat := 'yyyy-MM-dd'; + // + with DataLink_TradeManage.AdoDataLink do + begin + close; + sql.Clear; + sql.Add('select getDate()as dt'); + open; + DServerDate := fieldByName('dt').AsDatetime; + end; + result := true; +end; +//=========================================================== + //ݿӳ +//=========================================================== + +function ConnData(): Boolean; +var + IniFile: TIniFile; +begin + try + IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'SYSTEMSET.INI'); + PicSvr := IniFile.ReadString('SERVER', 'ַ', '127.0.0.1'); + UserDataFlag := IniFile.ReadString('SERVER', 'ַ', ''); + if (UserDataFlag = '0') or (UserDataFlag = '10') then + UserDataFlag := ''; + finally + IniFile.Free; + end; + if not Assigned(DataLink_TradeManage) then + DataLink_TradeManage := TDataLink_TradeManage.Create(Application); + try + with DataLink_TradeManage.ADOLink do + begin + if not Connected then + begin + Connected := false; + ConnectionString := DConString; + LoginPrompt := false; + Connected := true; + end; + end; + Result := true; + except + Result := false; + application.MessageBox('ݿʧܣ', '', mb_Ok + MB_ICONERROR); + end; +end; + +initialization + CoInitialize(nil); + dxUnitsLoader.Initialize; + +finalization + DataLink_TradeManage.Free; + application := NewDllApp; + dxUnitsLoader.Finalize; + +end. + diff --git a/打卷检验管理/U_GetPGJBInList.dfm b/打卷检验管理/U_GetPGJBInList.dfm new file mode 100644 index 0000000..b91fa9a --- /dev/null +++ b/打卷检验管理/U_GetPGJBInList.dfm @@ -0,0 +1,400 @@ +object frmGetPGJBInList: TfrmGetPGJBInList + Left = 67 + Top = 20 + Width = 765 + Height = 623 + Caption = #24211#23384#21015#34920 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 757 + Height = 31 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Images = DataLink_WFBProducttion.ThreeImgList + List = True + ParentColor = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = TBRafreshClick + end + object ToolButton1: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #30830#23450 + ImageIndex = 41 + OnClick = ToolButton1Click + end + object TBFind: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBExport: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + Visible = False + OnClick = TBExportClick + end + object TBClose: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 31 + Width = 757 + Height = 42 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label3: TLabel + Left = 40 + Top = 15 + Width = 48 + Height = 12 + Caption = #29289#26009#21517#31216 + end + object Label4: TLabel + Left = 216 + Top = 15 + Width = 36 + Height = 12 + Caption = #35268' '#26684 + end + object Label7: TLabel + Left = 376 + Top = 15 + Width = 48 + Height = 12 + Caption = #20379' '#24212' '#21830 + end + object YCLName: TEdit + Tag = 2 + Left = 89 + Top = 12 + Width = 100 + Height = 20 + TabOrder = 0 + OnChange = YCLNameChange + end + object YCLSpec: TEdit + Tag = 2 + Left = 254 + Top = 12 + Width = 100 + Height = 20 + TabOrder = 1 + OnChange = YCLNameChange + end + object GYSName: TEdit + Tag = 2 + Left = 425 + Top = 12 + Width = 100 + Height = 20 + TabOrder = 2 + OnChange = YCLNameChange + end + end + object cxSplitter1: TcxSplitter + Left = 0 + Top = 313 + Width = 757 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + Control = cxGrid3 + end + object cxGrid1: TcxGrid + Left = 24 + Top = 80 + Width = 697 + Height = 217 + TabOrder = 3 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'DefStr1' + end + item + Format = 'DefStr2' + Column = v1ShortName + end + item + Format = 'RollUnit' + Column = v1UnitName + end + item + Format = 'YCLCode' + Column = v1P_ChnName + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1Quantity + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = DataLink_WFBProducttion.Default + object v1P_ChnName: TcxGridDBColumn + Tag = 2 + Caption = #29289#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Width = 98 + end + object v1Column2: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Width = 72 + end + object v1ShortName: TcxGridDBColumn + Caption = #20379#24212#21830 + DataBinding.FieldName = 'GYSName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Width = 72 + end + object v1Quantity: TcxGridDBColumn + Tag = 2 + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'KCQty' + HeaderAlignmentHorz = taCenter + Width = 78 + end + object v1UnitName: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'KCUint' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Width = 73 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGrid3: TcxGrid + Left = 0 + Top = 321 + Width = 757 + Height = 265 + Align = alBottom + TabOrder = 4 + object TV2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TV2CellDblClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'DefStr1' + end + item + Format = 'DefStr2' + Column = cxGridDBColumn15 + end + item + Format = 'RollUnit' + Column = cxGridDBColumn17 + end + item + Format = 'YCLCode' + Column = cxGridDBColumn13 + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = cxGridDBColumn16 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = DataLink_WFBProducttion.Default + object cxGridDBColumn13: TcxGridDBColumn + Tag = 2 + Caption = #29289#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Width = 190 + end + object cxGridDBColumn14: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Width = 171 + end + object cxGridDBColumn15: TcxGridDBColumn + Caption = #20379#24212#21830 + DataBinding.FieldName = 'GYSName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Width = 144 + end + object cxGridDBColumn16: TcxGridDBColumn + Tag = 2 + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'KCQty' + HeaderAlignmentHorz = taCenter + Width = 101 + end + object cxGridDBColumn17: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'KCUint' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Width = 68 + end + end + object cxGridLevel2: TcxGridLevel + GridView = TV2 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + PopupMenus = <> + Left = 256 + Top = 232 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 360 + Top = 232 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 400 + Top = 232 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 432 + Top = 232 + end + object DataSource1: TDataSource + DataSet = ClientDataSet1 + Left = 288 + Top = 232 + end + object DataSource2: TDataSource + DataSet = ClientDataSet2 + Left = 680 + Top = 512 + end + object ADOQuery2: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 712 + Top = 512 + end + object ClientDataSet1: TClientDataSet + Aggregates = <> + Params = <> + Left = 320 + Top = 232 + end + object ClientDataSet2: TClientDataSet + Aggregates = <> + Params = <> + Left = 744 + Top = 512 + end + object cxGridPopupMenu2: TcxGridPopupMenu + PopupMenus = <> + Left = 512 + Top = 584 + end +end diff --git a/打卷检验管理/U_GetPGJBInList.pas b/打卷检验管理/U_GetPGJBInList.pas new file mode 100644 index 0000000..82f8843 --- /dev/null +++ b/打卷检验管理/U_GetPGJBInList.pas @@ -0,0 +1,268 @@ +unit U_GetPGJBInList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, cxCalendar, cxButtonEdit, cxDropDownEdit, + DBClient, cxSplitter; + +type + TfrmGetPGJBInList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBClose: TToolButton; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + TBExport: TToolButton; + Panel1: TPanel; + ToolButton1: TToolButton; + cxSplitter1: TcxSplitter; + DataSource2: TDataSource; + ADOQuery2: TADOQuery; + ClientDataSet1: TClientDataSet; + ClientDataSet2: TClientDataSet; + cxGridPopupMenu2: TcxGridPopupMenu; + Label3: TLabel; + Label4: TLabel; + Label7: TLabel; + YCLName: TEdit; + YCLSpec: TEdit; + GYSName: TEdit; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1P_ChnName: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1ShortName: TcxGridDBColumn; + v1Quantity: TcxGridDBColumn; + v1UnitName: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + cxGrid3: TcxGrid; + TV2: TcxGridDBTableView; + cxGridDBColumn13: TcxGridDBColumn; + cxGridDBColumn14: TcxGridDBColumn; + cxGridDBColumn15: TcxGridDBColumn; + cxGridDBColumn16: TcxGridDBColumn; + cxGridDBColumn17: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure PlanNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure P_ChnNameChange(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TV2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure YCLNameChange(Sender: TObject); + private + procedure InitGrid(); + procedure InitGrid10(); + procedure InitForm(); + function DelData():Boolean; + { Private declarations } + public + { Public declarations } + end; + +var + frmGetPGJBInList: TfrmGetPGJBInList; + +implementation +uses + U_DataLink,U_Fun,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmGetPGJBInList.FormDestroy(Sender: TObject); +begin + frmGetPGJBInList:=nil; +end; + +procedure TfrmGetPGJBInList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmGetPGJBInList.FormCreate(Sender: TObject); +begin + cxgrid1.Align:=alClient; +end; + +procedure TfrmGetPGJBInList.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('б',Tv1,'ԭϲֿ'); + WriteCxGrid('бѡ',Tv2,'ԭϲֿ'); +end; + +procedure TfrmGetPGJBInList.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add(' select YCLName=(select ZdyName from KH_Zdy KK where KK.ZdyNo=A.YCLCode), '); + sql.Add(' A.*,GYSName=(select ZdyName from KH_ZDY B where A.GYS=B.ZdyNo) '); + sql.Add(' from CK_YCL_KC A where A.KCQty>0'); + sql.Add(' and A.CKName=''ԭϲֿ'' '); + Open; + SCreateCDS20(ADOQueryMain,ClientDataSet1); + SInitCDSData20(ADOQueryMain,ClientDataSet1); + end; + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmGetPGJBInList.InitGrid10(); +begin + try + ADOQuery2.DisableControls; + with ADOQuery2 do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add(' select YCLName=(select ZdyName from KH_Zdy KK where KK.ZdyNo=A.YCLCode), '); + sql.Add(' A.*,GYSName=(select ZdyName from KH_ZDY B where A.GYS=B.ZdyNo) '); + sql.Add('from CK_YCL_KC A where 1<>1'); + Open; + SCreateCDS20(ADOQuery2,ClientDataSet2); + SInitCDSData20(ADOQuery2,ClientDataSet2); + end; + finally + ADOQuery2.EnableControls; + end; +end; + +procedure TfrmGetPGJBInList.InitForm(); +begin + ReadCxGrid('б',Tv1,'ԭϲֿ'); + ReadCxGrid('бѡ',Tv2,'ԭϲֿ'); + InitGrid(); + InitGrid10(); +end; + +procedure TfrmGetPGJBInList.TBFindClick(Sender: TObject); +begin + if not ADOQueryMain.Active then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,ClientDataSet1); + SInitCDSData20(ADOQueryMain,ClientDataSet1); +end; + +function TfrmGetPGJBInList.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add(''); + ExecSQL; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmGetPGJBInList.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + TcxGridToExcel('б',cxGrid1); +end; + +procedure TfrmGetPGJBInList.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmGetPGJBInList.PlanNoChange(Sender: TObject); +begin + if ADOQueryMain.Active then + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); +end; + +procedure TfrmGetPGJBInList.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmGetPGJBInList.ToolButton1Click(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then + ModalResult:=-1 + else + ModalResult:=1; +end; + +procedure TfrmGetPGJBInList.P_ChnNameChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmGetPGJBInList.Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + i:Integer; +begin + if ClientDataSet1.IsEmpty then exit; + ClientDataSet2.Append; + for i:=0 to ClientDataSet2.FieldCount-1 do + begin + ClientDataSet2.Fields[i].Value:=ClientDataSet1.Fields[i].Value; + end; + ClientDataSet2.Post; + ClientDataSet1.Delete; +end; + +procedure TfrmGetPGJBInList.TV2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + i:Integer; +begin + if ClientDataSet2.IsEmpty then exit; + ClientDataSet1.Append; + for i:=0 to ClientDataSet1.FieldCount-1 do + begin + ClientDataSet1.Fields[i].Value:=ClientDataSet2.Fields[i].Value; + end; + ClientDataSet1.Post; + ClientDataSet2.Delete; +end; + +procedure TfrmGetPGJBInList.YCLNameChange(Sender: TObject); +begin + TBFind.Click; +end; + +end. diff --git a/打卷检验管理/U_GetPGJBOneTwoInList.dfm b/打卷检验管理/U_GetPGJBOneTwoInList.dfm new file mode 100644 index 0000000..c62958a --- /dev/null +++ b/打卷检验管理/U_GetPGJBOneTwoInList.dfm @@ -0,0 +1,412 @@ +object frmGetPGJBOneTwoInList: TfrmGetPGJBOneTwoInList + Left = 238 + Top = 101 + Width = 765 + Height = 623 + Caption = #24211#23384#21015#34920 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 757 + Height = 31 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Images = DataLink_WFBProducttion.ThreeImgList + List = True + ParentColor = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = TBRafreshClick + end + object ToolButton1: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #30830#23450 + ImageIndex = 41 + OnClick = ToolButton1Click + end + object TBFind: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBExport: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + Visible = False + OnClick = TBExportClick + end + object TBClose: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 31 + Width = 757 + Height = 42 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label3: TLabel + Left = 40 + Top = 15 + Width = 48 + Height = 12 + Caption = #29289#26009#21517#31216 + end + object Label4: TLabel + Left = 216 + Top = 15 + Width = 36 + Height = 12 + Caption = #35268' '#26684 + end + object Label7: TLabel + Left = 376 + Top = 15 + Width = 48 + Height = 12 + Caption = #20379' '#24212' '#21830 + end + object YCLName: TEdit + Tag = 2 + Left = 89 + Top = 12 + Width = 100 + Height = 20 + TabOrder = 0 + OnChange = YCLNameChange + end + object YCLSpec: TEdit + Tag = 2 + Left = 254 + Top = 12 + Width = 100 + Height = 20 + TabOrder = 1 + OnChange = YCLNameChange + end + object GYSName: TEdit + Tag = 2 + Left = 425 + Top = 12 + Width = 100 + Height = 20 + TabOrder = 2 + OnChange = YCLNameChange + end + end + object cxSplitter1: TcxSplitter + Left = 0 + Top = 313 + Width = 757 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + Control = cxGrid3 + end + object cxGrid1: TcxGrid + Left = 8 + Top = 80 + Width = 713 + Height = 217 + TabOrder = 3 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'DefStr1' + end + item + Format = 'DefStr2' + Column = v1ShortName + end + item + Format = 'RollUnit' + Column = v1UnitName + end + item + Format = 'YCLCode' + Column = v1P_ChnName + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1Quantity + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = DataLink_WFBProducttion.Default + object v1Column1: TcxGridDBColumn + Caption = #20179#24211 + DataBinding.FieldName = 'CKName' + HeaderAlignmentHorz = taCenter + Width = 82 + end + object v1P_ChnName: TcxGridDBColumn + Tag = 2 + Caption = #29289#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Width = 112 + end + object v1Column2: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Width = 72 + end + object v1ShortName: TcxGridDBColumn + Caption = #20379#24212#21830 + DataBinding.FieldName = 'GYSName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Width = 72 + end + object v1Quantity: TcxGridDBColumn + Tag = 2 + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'KCQty' + HeaderAlignmentHorz = taCenter + Width = 78 + end + object v1UnitName: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'KCUint' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Width = 73 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGrid3: TcxGrid + Left = 0 + Top = 321 + Width = 757 + Height = 265 + Align = alBottom + TabOrder = 4 + object TV2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TV2CellDblClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'DefStr1' + end + item + Format = 'DefStr2' + Column = cxGridDBColumn15 + end + item + Format = 'RollUnit' + Column = cxGridDBColumn17 + end + item + Format = 'YCLCode' + Column = cxGridDBColumn13 + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = cxGridDBColumn16 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = DataLink_WFBProducttion.Default + object V2Column1: TcxGridDBColumn + Caption = #20179#24211 + DataBinding.FieldName = 'CKName' + HeaderAlignmentHorz = taCenter + Width = 85 + end + object cxGridDBColumn13: TcxGridDBColumn + Tag = 2 + Caption = #29289#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Width = 190 + end + object cxGridDBColumn14: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Width = 171 + end + object cxGridDBColumn15: TcxGridDBColumn + Caption = #20379#24212#21830 + DataBinding.FieldName = 'GYSName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Width = 144 + end + object cxGridDBColumn16: TcxGridDBColumn + Tag = 2 + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'KCQty' + HeaderAlignmentHorz = taCenter + Width = 101 + end + object cxGridDBColumn17: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'KCUint' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Width = 68 + end + end + object cxGridLevel2: TcxGridLevel + GridView = TV2 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + PopupMenus = <> + Left = 256 + Top = 232 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 360 + Top = 232 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 400 + Top = 232 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 432 + Top = 232 + end + object DataSource1: TDataSource + DataSet = ClientDataSet1 + Left = 288 + Top = 232 + end + object DataSource2: TDataSource + DataSet = ClientDataSet2 + Left = 680 + Top = 512 + end + object ADOQuery2: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 712 + Top = 512 + end + object ClientDataSet1: TClientDataSet + Aggregates = <> + Params = <> + Left = 320 + Top = 232 + end + object ClientDataSet2: TClientDataSet + Aggregates = <> + Params = <> + Left = 744 + Top = 512 + end + object cxGridPopupMenu2: TcxGridPopupMenu + PopupMenus = <> + Left = 512 + Top = 584 + end +end diff --git a/打卷检验管理/U_GetPGJBOneTwoInList.pas b/打卷检验管理/U_GetPGJBOneTwoInList.pas new file mode 100644 index 0000000..2031df2 --- /dev/null +++ b/打卷检验管理/U_GetPGJBOneTwoInList.pas @@ -0,0 +1,270 @@ +unit U_GetPGJBOneTwoInList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, cxCalendar, cxButtonEdit, cxDropDownEdit, + DBClient, cxSplitter; + +type + TfrmGetPGJBOneTwoInList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBClose: TToolButton; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + TBExport: TToolButton; + Panel1: TPanel; + ToolButton1: TToolButton; + cxSplitter1: TcxSplitter; + DataSource2: TDataSource; + ADOQuery2: TADOQuery; + ClientDataSet1: TClientDataSet; + ClientDataSet2: TClientDataSet; + cxGridPopupMenu2: TcxGridPopupMenu; + Label3: TLabel; + Label4: TLabel; + Label7: TLabel; + YCLName: TEdit; + YCLSpec: TEdit; + GYSName: TEdit; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1P_ChnName: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1ShortName: TcxGridDBColumn; + v1Quantity: TcxGridDBColumn; + v1UnitName: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + cxGrid3: TcxGrid; + TV2: TcxGridDBTableView; + cxGridDBColumn13: TcxGridDBColumn; + cxGridDBColumn14: TcxGridDBColumn; + cxGridDBColumn15: TcxGridDBColumn; + cxGridDBColumn16: TcxGridDBColumn; + cxGridDBColumn17: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + v1Column1: TcxGridDBColumn; + V2Column1: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure PlanNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure P_ChnNameChange(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TV2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure YCLNameChange(Sender: TObject); + private + procedure InitGrid(); + procedure InitGrid10(); + procedure InitForm(); + function DelData():Boolean; + { Private declarations } + public + { Public declarations } + end; + +var + frmGetPGJBOneTwoInList: TfrmGetPGJBOneTwoInList; + +implementation +uses + U_DataLink,U_Fun,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmGetPGJBOneTwoInList.FormDestroy(Sender: TObject); +begin + frmGetPGJBOneTwoInList:=nil; +end; + +procedure TfrmGetPGJBOneTwoInList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmGetPGJBOneTwoInList.FormCreate(Sender: TObject); +begin + cxgrid1.Align:=alClient; +end; + +procedure TfrmGetPGJBOneTwoInList.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('б',Tv1,'ԭϲֿ'); + WriteCxGrid('бѡ',Tv2,'ԭϲֿ'); +end; + +procedure TfrmGetPGJBOneTwoInList.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add(' select YCLName=(select ZdyName from KH_Zdy KK where KK.ZdyNo=A.YCLCode), '); + sql.Add(' A.*,GYSName=(select ZdyName from KH_ZDY B where A.GYS=B.ZdyNo) '); + sql.Add(' from CK_YCL_KC A where A.KCQty>0'); + sql.Add(' and A.CKName in(''ԭϲֿ'',''ԭ϶'') '); + Open; + SCreateCDS20(ADOQueryMain,ClientDataSet1); + SInitCDSData20(ADOQueryMain,ClientDataSet1); + end; + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmGetPGJBOneTwoInList.InitGrid10(); +begin + try + ADOQuery2.DisableControls; + with ADOQuery2 do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add(' select YCLName=(select ZdyName from KH_Zdy KK where KK.ZdyNo=A.YCLCode), '); + sql.Add(' A.*,GYSName=(select ZdyName from KH_ZDY B where A.GYS=B.ZdyNo) '); + sql.Add('from CK_YCL_KC A where 1<>1'); + Open; + SCreateCDS20(ADOQuery2,ClientDataSet2); + SInitCDSData20(ADOQuery2,ClientDataSet2); + end; + finally + ADOQuery2.EnableControls; + end; +end; + +procedure TfrmGetPGJBOneTwoInList.InitForm(); +begin + ReadCxGrid('б',Tv1,'ԭϲֿ'); + ReadCxGrid('бѡ',Tv2,'ԭϲֿ'); + InitGrid(); + InitGrid10(); +end; + +procedure TfrmGetPGJBOneTwoInList.TBFindClick(Sender: TObject); +begin + if not ADOQueryMain.Active then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,ClientDataSet1); + SInitCDSData20(ADOQueryMain,ClientDataSet1); +end; + +function TfrmGetPGJBOneTwoInList.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add(''); + ExecSQL; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmGetPGJBOneTwoInList.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + TcxGridToExcel('б',cxGrid1); +end; + +procedure TfrmGetPGJBOneTwoInList.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmGetPGJBOneTwoInList.PlanNoChange(Sender: TObject); +begin + if ADOQueryMain.Active then + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); +end; + +procedure TfrmGetPGJBOneTwoInList.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmGetPGJBOneTwoInList.ToolButton1Click(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then + ModalResult:=-1 + else + ModalResult:=1; +end; + +procedure TfrmGetPGJBOneTwoInList.P_ChnNameChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmGetPGJBOneTwoInList.Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + i:Integer; +begin + if ClientDataSet1.IsEmpty then exit; + ClientDataSet2.Append; + for i:=0 to ClientDataSet2.FieldCount-1 do + begin + ClientDataSet2.Fields[i].Value:=ClientDataSet1.Fields[i].Value; + end; + ClientDataSet2.Post; + ClientDataSet1.Delete; +end; + +procedure TfrmGetPGJBOneTwoInList.TV2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + i:Integer; +begin + if ClientDataSet2.IsEmpty then exit; + ClientDataSet1.Append; + for i:=0 to ClientDataSet1.FieldCount-1 do + begin + ClientDataSet1.Fields[i].Value:=ClientDataSet2.Fields[i].Value; + end; + ClientDataSet1.Post; + ClientDataSet2.Delete; +end; + +procedure TfrmGetPGJBOneTwoInList.YCLNameChange(Sender: TObject); +begin + TBFind.Click; +end; + +end. diff --git a/打卷检验管理/U_HCList.dfm b/打卷检验管理/U_HCList.dfm new file mode 100644 index 0000000..d1242ae --- /dev/null +++ b/打卷检验管理/U_HCList.dfm @@ -0,0 +1,724 @@ +object frmHCList: TfrmHCList + Left = 95 + Top = 128 + Width = 1140 + Height = 555 + Caption = #25104#21697#24211#23384#27719#24635#21015#34920 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1124 + Height = 33 + ButtonHeight = 30 + ButtonWidth = 95 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBExport: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object Tprint: TToolButton + Left = 189 + Top = 0 + Caption = #25171#21360#32568#26631#31614 + ImageIndex = 96 + Visible = False + end + object TBClose: TToolButton + Left = 284 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 33 + Width = 1124 + Height = 64 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label3: TLabel + Left = 259 + Top = 16 + Width = 48 + Height = 12 + Caption = #20135#21697#21517#31216 + end + object Label4: TLabel + Left = 260 + Top = 40 + Width = 48 + Height = 12 + Caption = #39068' '#33394 + end + object Label1: TLabel + Left = 48 + Top = 16 + Width = 48 + Height = 12 + Caption = #22238#20179#26102#38388 + end + object Label2: TLabel + Left = 84 + Top = 36 + Width = 12 + Height = 12 + Caption = #33267 + end + object Label5: TLabel + Left = 472 + Top = 16 + Width = 48 + Height = 12 + Caption = #20219#21153#21333#21495 + end + object Label6: TLabel + Left = 36 + Top = 76 + Width = 48 + Height = 12 + Caption = #26465' '#30721 + end + object Label8: TLabel + Left = 195 + Top = 92 + Width = 48 + Height = 12 + Caption = #20811' '#37325 + end + object Label9: TLabel + Left = 428 + Top = 92 + Width = 24 + Height = 12 + Caption = #38376#24133 + end + object Label7: TLabel + Left = 510 + Top = 68 + Width = 24 + Height = 12 + Caption = #31867#22411 + end + object Label10: TLabel + Left = 472 + Top = 40 + Width = 48 + Height = 12 + Caption = #32568' '#21495 + end + object Label11: TLabel + Left = 668 + Top = 16 + Width = 36 + Height = 12 + Caption = #21152#24037#21378 + end + object C_CodeName: TEdit + Tag = 2 + Left = 312 + Top = 13 + Width = 100 + Height = 20 + TabOrder = 0 + OnChange = C_CodeNameChange + end + object C_Color: TEdit + Tag = 2 + Left = 312 + Top = 37 + Width = 100 + Height = 20 + TabOrder = 1 + OnChange = C_CodeNameChange + end + object BegDate: TDateTimePicker + Left = 97 + Top = 13 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Format = 'yyyy-MM-dd' + Time = 40768.458268587970000000 + TabOrder = 2 + end + object EndDate: TDateTimePicker + Left = 97 + Top = 37 + Width = 87 + Height = 20 + Date = 40768.458268587970000000 + Format = 'yyyy-MM-dd' + Time = 40768.458268587970000000 + TabOrder = 3 + end + object conNO: TEdit + Tag = 2 + Left = 522 + Top = 13 + Width = 100 + Height = 20 + TabOrder = 4 + OnChange = C_CodeNameChange + end + object MJID: TEdit + Tag = 2 + Left = 86 + Top = 73 + Width = 109 + Height = 20 + TabOrder = 5 + OnChange = C_CodeNameChange + end + object KZ: TEdit + Tag = 2 + Left = 240 + Top = 89 + Width = 100 + Height = 20 + TabOrder = 6 + OnChange = C_CodeNameChange + end + object MF: TEdit + Tag = 2 + Left = 452 + Top = 88 + Width = 100 + Height = 20 + TabOrder = 7 + OnChange = C_CodeNameChange + end + object CPType: TComboBox + Tag = 2 + Left = 536 + Top = 64 + Width = 68 + Height = 20 + Style = csDropDownList + ItemHeight = 12 + TabOrder = 8 + OnChange = TBFindClick + Items.Strings = ( + #27491#21697 + #27425#21697 + #30041#26679 + '') + end + object AOrddefstr1: TEdit + Tag = 2 + Left = 522 + Top = 37 + Width = 100 + Height = 20 + TabOrder = 9 + OnChange = C_CodeNameChange + end + object AOrddefstr4: TEdit + Tag = 2 + Left = 714 + Top = 13 + Width = 100 + Height = 20 + TabOrder = 10 + OnChange = C_CodeNameChange + end + object CheckBox1: TCheckBox + Left = 716 + Top = 40 + Width = 97 + Height = 17 + Caption = #20840#36873 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + OnClick = CheckBox1Click + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 97 + Width = 1124 + Height = 396 + Align = alTop + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCustomDrawCell = Tv1CustomDrawCell + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column7 + end + item + Kind = skSum + Column = v1Column8 + end + item + Kind = skSum + Column = v1Column9 + end + item + Kind = skSum + Column = v1Column10 + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column16 + end + item + Kind = skSum + Column = v1Column15 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + OptionsView.IndicatorWidth = 20 + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + OnCustomDrawIndicatorCell = Tv1CustomDrawIndicatorCell + object v1Column17: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'Ssel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.Alignment = taCenter + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + Visible = False + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column1: TcxGridDBColumn + Caption = #22238#20179#26102#38388 + DataBinding.FieldName = 'ADefDate1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 100 + end + object v1Column2: TcxGridDBColumn + Caption = #21152#24037#21378 + DataBinding.FieldName = 'AOrddefstr4' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 90 + end + object v1Column13: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'orderNo' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v1Column14: TcxGridDBColumn + Caption = 'PO#' + DataBinding.FieldName = 'KHConNO' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v1Column3: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'conNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object v1Column4: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'AOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 70 + end + object v1Column5: TcxGridDBColumn + Caption = #21697#21517 + DataBinding.FieldName = 'C_CodeName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 100 + end + object v1Column6: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'C_Color' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 70 + end + object v1Column7: TcxGridDBColumn + Caption = #22238#20179#21305#25968 + DataBinding.FieldName = 'HC_ps' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle_fontclBlue + Styles.Footer = cxStyle_fontclBlue + Styles.Header = cxStyle_fontclBlue + Width = 60 + end + object v1Column8: TcxGridDBColumn + Caption = #22238#20179#25968#37327 + DataBinding.FieldName = 'AOrdQty1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle_fontclBlue + Styles.Footer = cxStyle_fontclBlue + Styles.Header = cxStyle_fontclBlue + Width = 66 + end + object v1Column18: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'Aorddefstr2' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column9: TcxGridDBColumn + Caption = #26816#39564#21305#25968 + DataBinding.FieldName = 'JY_ps' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle_fontclFuchsia + Styles.Footer = cxStyle_fontclFuchsia + Styles.Header = cxStyle_fontclFuchsia + Width = 80 + end + object v1Column10: TcxGridDBColumn + Caption = #26816#39564#25968#37327'(KG)' + DataBinding.FieldName = 'JY_Qty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle_fontclFuchsia + Styles.Footer = cxStyle_fontclFuchsia + Styles.Header = cxStyle_fontclFuchsia + Width = 87 + end + object v1Column16: TcxGridDBColumn + Caption = #20837#24211#21305#25968 + DataBinding.FieldName = 'RK_RollNum' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle_fontclGreen + Styles.Footer = cxStyle_fontclGreen + Styles.Header = cxStyle_fontclGreen + Width = 80 + end + object v1Column15: TcxGridDBColumn + Caption = #20837#24211#25968#37327'(KG)' + DataBinding.FieldName = 'RK_Qty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle_fontclGreen + Styles.Footer = cxStyle_fontclGreen + Styles.Header = cxStyle_fontclGreen + Width = 85 + end + object v1Column11: TcxGridDBColumn + Caption = #21046#21333#21592 + DataBinding.FieldName = 'Filler' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 74 + end + object v1Column12: TcxGridDBColumn + Caption = #21046#21333#26102#38388 + DataBinding.FieldName = 'FillTime' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 99 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = Tv1 + end + end + object MovePanel2: TMovePanel + Left = 408 + Top = 188 + Width = 289 + Height = 49 + BevelInner = bvLowered + Caption = #27491#22312#26597#35810#25968#25454#65292#35831#31245#21518#12290#12290#12290 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 968 + Top = 40 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 984 + Top = 40 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 944 + Top = 32 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 920 + Top = 152 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 856 + Top = 144 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 896 + Top = 128 + end + object cxStyleRepository1: TcxStyleRepository + Left = 69 + Top = 130 + object cxStyle1: TcxStyle + AssignedValues = [svColor] + Color = clInactiveCaption + end + object cxStyle2: TcxStyle + AssignedValues = [svColor, svTextColor] + Color = 4707838 + TextColor = clBtnText + end + object cxStyle_gridRow: TcxStyle + AssignedValues = [svColor, svFont] + Color = 16311512 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + end + object cxStyle_gridFoot: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clBlack + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_gridHead: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_gridGroupBox: TcxStyle + AssignedValues = [svColor, svFont] + Color = clMoneyGreen + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_yellow: TcxStyle + AssignedValues = [svColor, svFont] + Color = 8454143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + end + object cxStyle_Red: TcxStyle + AssignedValues = [svColor, svFont] + Color = clRed + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + end + object cxStyle_fontBlack: TcxStyle + AssignedValues = [svFont] + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_fontclFuchsia: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clFuchsia + end + object cxStyle_fontclPurple: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clPurple + end + object cxStyle_fontclGreen: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clGreen + end + object cxStyle_fontclBlue: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlue + end + object cxStyle_fontclTeal: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + TextColor = clTeal + end + object cxStyle_fontclOlive: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + TextColor = clOlive + end + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 496 + Top = 208 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 448 + Top = 200 + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 752 + Top = 192 + end +end diff --git a/打卷检验管理/U_HCList.pas b/打卷检验管理/U_HCList.pas new file mode 100644 index 0000000..ea8c0ab --- /dev/null +++ b/打卷检验管理/U_HCList.pas @@ -0,0 +1,279 @@ +unit U_HCList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, + cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, + cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, + cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, + cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, MovePanel, cxCheckBox, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport; + +type + TfrmHCList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBExport: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + cxGridPopupMenu1: TcxGridPopupMenu; + Label3: TLabel; + Label4: TLabel; + C_CodeName: TEdit; + C_Color: TEdit; + Label1: TLabel; + Label2: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + CDS_Main: TClientDataSet; + Tv1: TcxGridDBTableView; + cxGrid2Level1: TcxGridLevel; + cxGrid2: TcxGrid; + Label5: TLabel; + conNO: TEdit; + Label6: TLabel; + MJID: TEdit; + Label8: TLabel; + KZ: TEdit; + Label9: TLabel; + MF: TEdit; + Label7: TLabel; + CPType: TComboBox; + MovePanel2: TMovePanel; + v1Column1: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + Label10: TLabel; + AOrddefstr1: TEdit; + Label11: TLabel; + AOrddefstr4: TEdit; + v1Column11: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + v1Column15: TcxGridDBColumn; + v1Column16: TcxGridDBColumn; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxStyle2: TcxStyle; + cxStyle_gridRow: TcxStyle; + cxStyle_gridFoot: TcxStyle; + cxStyle_gridHead: TcxStyle; + cxStyle_gridGroupBox: TcxStyle; + cxStyle_yellow: TcxStyle; + cxStyle_Red: TcxStyle; + cxStyle_fontBlack: TcxStyle; + cxStyle_fontclFuchsia: TcxStyle; + cxStyle_fontclPurple: TcxStyle; + cxStyle_fontclGreen: TcxStyle; + cxStyle_fontclBlue: TcxStyle; + cxStyle_fontclTeal: TcxStyle; + cxStyle_fontclOlive: TcxStyle; + v1Column17: TcxGridDBColumn; + Tprint: TToolButton; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + ADOQueryPrint: TADOQuery; + CheckBox1: TCheckBox; + v1Column13: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + v1Column18: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ConNoMChange(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure C_CodeNameChange(Sender: TObject); + procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + procedure Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; + var ADone: Boolean); + procedure CheckBox1Click(Sender: TObject); + private + procedure InitGrid(); + { Private declarations } + public + { Public declarations } + end; + +var + frmHCList: TfrmHCList; + +implementation +uses + U_DataLink,U_Fun; + +{$R *.dfm} + +procedure TfrmHCList.FormDestroy(Sender: TObject); +begin + frmHCList:=nil; +end; + +procedure TfrmHCList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmHCList.FormCreate(Sender: TObject); +begin + cxGrid2.Align:=alClient; + BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp) +end; + +procedure TfrmHCList.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + + Close; + sql.Clear; + Filtered:=False; + sql.Add('select A.*,hC_ps=A.AordQty2,JY_ps=(select count(MainID) from WFB_MJJY X where X.APID=A.APID),'); + sql.Add('JY_Qty=(select sum(MJMaoZ) from WFB_MJJY X where X.APID=A.APID), '); + sql.Add('RK_RollNum=(select count(MainID) from CK_BanCP_CR X where X.APID=A.APID and X.CRType=''''),'); + sql.Add('RK_Qty=(select sum(KGQty) from CK_BanCP_CR X where X.APID=A.APID and X.CRType=''''), '); + sql.Add('KHCOnNO=(select KHCOnNo from JYOrdercon_Main X where X.conNO=B.conNO), '); + sql.Add('B.OrderNo,B.ConNO,C.PRTColor,B.MPrtCodeName,B.Mprtspec '); + sql.Add('from JYOrder_sub_anPai A '); + sql.Add('inner join JYOrder_Main B on B.mainID=A.mainID ') ; + sql.Add('inner join JYOrder_Sub C on C.subID=A.subID ') ; + SQL.Add('WHERE ADefDate1>='''+formatdateTime('yyyy-MM-dd',BegDate.DateTime)+''' '); + SQL.Add('AND ADefDate1<'''+formatdateTime('yyyy-MM-dd',enddate.DateTime+1)+''' '); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + TBFind.Click; + end; +end; + +procedure TfrmHCList.TBRafreshClick(Sender: TObject); +begin + //BegDate.SetFocus; + MovePanel2.Visible:=True; + MovePanel2.Refresh; + InitGrid(); + MovePanel2.Visible:=False; +end; + +procedure TfrmHCList.ConNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + end; +end; + +procedure TfrmHCList.TBCloseClick(Sender: TObject); +begin + WriteCxGrid(self.Caption,Tv1,'Ʒֿ'); + Close; +end; + +procedure TfrmHCList.FormShow(Sender: TObject); +begin + + ReadCxGrid(self.Caption,Tv1,'Ʒֿ'); + + //InitGrid(); +end; + +procedure TfrmHCList.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then exit; + TcxGridToExcel(self.Caption,cxGrid2); +end; + +procedure TfrmHCList.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active then + begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + end; +end; + +procedure TfrmHCList.C_CodeNameChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmHCList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); +begin + IF AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('HC_PS').Index]<>AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('JY_ps').Index] then + begin + ACanvas.Brush.Color:=clSkyBlue; + end; +end; + +procedure TfrmHCList.Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; + var ADone: Boolean); +var + FValue: string; + FBounds: TRect; + begin + FBounds := AViewInfo.Bounds; + if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then + begin + ACanvas.FillRect(FBounds); + ACanvas.DrawComplexFrame(FBounds, clBtnHighlight, clBtnShadow, [bBottom, bLeft, bRight], 1); + FValue :=IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index+1); + InflateRect(FBounds, -1, -1) ; + ACanvas.Font.Color := clBlack; + ACanvas.Brush.Style := bsClear; + ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop); + ADone := True; + end; + end; + + +procedure TfrmHCList.CheckBox1Click(Sender: TObject); +begin + IF CDS_Main.IsEmpty then exit; + with CDS_Main do + begin + DisableControls; + first; + while not eof do + begin + edit; + fieldbyname('ssel').Value:=checkbox1.Checked; + post; + next; + end; + First; + EnableControls; + end; +end; + +end. diff --git a/打卷检验管理/U_JBData.dfm b/打卷检验管理/U_JBData.dfm new file mode 100644 index 0000000..2f0bc9f --- /dev/null +++ b/打卷检验管理/U_JBData.dfm @@ -0,0 +1,265 @@ +object frmJBData: TfrmJBData + Left = 133 + Top = 13 + Width = 1056 + Height = 704 + Caption = #20132#29677 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 13 + object Label1: TLabel + Left = 686 + Top = 139 + Width = 49 + Height = 97 + Caption = 'M' + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -96 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 295 + Top = 25 + Width = 388 + Height = 97 + Caption = #20132#29677#21367#38271 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -96 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Button1: TButton + Left = 291 + Top = 488 + Width = 154 + Height = 97 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -56 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = Button1Click + end + object MJLen: TEdit + Left = 291 + Top = 134 + Width = 390 + Height = 105 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -96 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + end + object Panel3: TPanel + Left = 192 + Top = 248 + Width = 617 + Height = 211 + BevelInner = bvRaised + BevelOuter = bvLowered + ParentColor = True + TabOrder = 2 + object SpeedButton1: TSpeedButton + Left = 411 + Top = 106 + Width = 100 + Height = 100 + Caption = '0' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton2: TSpeedButton + Left = 3 + Top = 2 + Width = 100 + Height = 100 + Caption = '1' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton3: TSpeedButton + Left = 105 + Top = 2 + Width = 100 + Height = 100 + Caption = '2' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton4: TSpeedButton + Left = 207 + Top = 2 + Width = 100 + Height = 100 + Caption = '3' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton5: TSpeedButton + Left = 309 + Top = 2 + Width = 100 + Height = 100 + Caption = '4' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton6: TSpeedButton + Left = 411 + Top = 2 + Width = 100 + Height = 100 + Caption = '5' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton7: TSpeedButton + Left = 3 + Top = 106 + Width = 100 + Height = 100 + Caption = '6' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton8: TSpeedButton + Left = 105 + Top = 106 + Width = 100 + Height = 100 + Caption = '7' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton9: TSpeedButton + Left = 207 + Top = 106 + Width = 100 + Height = 100 + Caption = '8' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton10: TSpeedButton + Left = 309 + Top = 106 + Width = 100 + Height = 100 + Caption = '9' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton12: TSpeedButton + Left = 513 + Top = 2 + Width = 100 + Height = 100 + Caption = #8592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton12Click + end + end + object Button2: TButton + Left = 534 + Top = 488 + Width = 154 + Height = 97 + Caption = #36864#20986 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -56 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = Button2Click + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_RCInspection.ADOLink + Parameters = <> + Left = 384 + Top = 8 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_RCInspection.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 448 + Top = 8 + end +end diff --git a/打卷检验管理/U_JBData.pas b/打卷检验管理/U_JBData.pas new file mode 100644 index 0000000..43dfa43 --- /dev/null +++ b/打卷检验管理/U_JBData.pas @@ -0,0 +1,260 @@ +unit U_JBData; //ʹϵͳһֹࡣ + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, DB, ADODB, StdCtrls, Buttons, ExtCtrls; + +type + TfrmJBData = class(TForm) + Button1: TButton; + MJLen: TEdit; + Label1: TLabel; + ADOQueryCmd: TADOQuery; + Label2: TLabel; + Panel3: TPanel; + SpeedButton1: TSpeedButton; + SpeedButton2: TSpeedButton; + SpeedButton3: TSpeedButton; + SpeedButton4: TSpeedButton; + SpeedButton5: TSpeedButton; + SpeedButton6: TSpeedButton; + SpeedButton7: TSpeedButton; + SpeedButton8: TSpeedButton; + SpeedButton9: TSpeedButton; + SpeedButton10: TSpeedButton; + SpeedButton12: TSpeedButton; + ADOQueryTemp: TADOQuery; + Button2: TButton; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormShow(Sender: TObject); + procedure SpeedButton1Click(Sender: TObject); + procedure SpeedButton12Click(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + end; + +var + frmJBData: TfrmJBData; + +implementation +Uses +U_DataLink,U_Fun,U_ZDYHelp,U_iniParam; + +{$R *.dfm} + +procedure TfrmJBData.FormDestroy(Sender: TObject); +begin + frmJBData:=nil; +end; + +procedure TfrmJBData.FormClose(Sender: TObject; var Action: TCloseAction); +begin + + Action:=caFree; +end; + +procedure TfrmJBData.FormShow(Sender: TObject); +begin + MJLen.SetFocus; +end; + +procedure TfrmJBData.SpeedButton1Click(Sender: TObject); +begin + MJLen.Text:=Trim(MJLen.Text)+Trim(TSpeedButton(Sender).Caption); + MJLen.SelectAll; +end; + +procedure TfrmJBData.SpeedButton12Click(Sender: TObject); +begin + if Trim(MJLen.Text)<>'' then + begin + MJLen.Text:=Copy(Trim(MJLen.Text),1,Length(Trim(MJLen.Text))-1); + MJLen.SelectAll; + end; +end; + +procedure TfrmJBData.Button1Click(Sender: TObject); +var + FFMJLen:Double; + MJIDInt:Integer; + maxno,maxno10,FBanZu,maxno100,maxno200,maxno300:String; +begin + if Trim(MJLen.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + MJLen.SetFocus; + exit; + end; + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select isnull(Max(Cast(MJID as int)),0) MJIDInt from WFB_MJJY'); + if Trim(SCXFlag)<>'' then + begin + sql.Add(' where JTType='''+Trim(SCXFlag)+''''); + end; + Open; + end; + + MJIDInt:=ADOQueryTemp.fieldbyname('MJIDInt').Value; + maxno100:=Trim(FormatDateTime('yyyyMMdd',SGetServerDateTime(ADOQueryTemp))); + maxno100:=Trim(SCXFlag)+Trim(Copy(maxno100,3,6)); + maxno200:=IntToStr(MJIDInt); + maxno200:=Copy(maxno200,1,7); + if StrToInt(maxno100)>StrToInt(maxno200) then + begin + maxno300:=Trim(maxno100)+'01'; + end else + begin + maxno300:=IntToStr(MJIDInt+1); + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_JYResult where MJID='''+Trim(maxno300)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + Application.MessageBox('δ鲻ܽ࣡','ʾ',0); + Exit; + end; + // ʹϵͳһֹࡣ + if MJIDInt>0 then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_JB where MJID='''+Trim(Inttostr(MJIDInt+1))+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + Application.MessageBox('ѵǼǣ','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪִвȷݽ޸ģ','ʾ',32+4)<>IDYES then + begin + MJLen.Text:=''; + MJLen.SetFocus; + Exit; + end; + try + ADOQueryCmd.Connection.BeginTrans; + //潻 + if GetLSNo(ADOQueryCmd,maxno,'JB','WFB_JB',2,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡID쳣','ʾ',0); + Exit; + end; + + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select * from SY_User where UserId='''+Trim(DCode)+''''); + Open; + end; + FBanZu:=Trim(ADOQueryTemp.fieldbyname('BanZu').AsString); + FFMJLen:=StrToFloat(MJLen.Text); + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_JB where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('JBID').Value:=Trim(maxno); + FieldByName('MJID').Value:=Trim(maxno300); + FieldByName('MJLen').Value:=FFMJLen; + FieldByName('Filler').Value:=Trim(DName); + FieldByName('BanZu').Value:=Trim(FBanZu); + if Trim(SCXFlag)<>'' then + begin + FieldByName('JTType').Value:=Trim(SCXFlag); + end; + Post; + end; + //潻 + //Ա + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from SY_User where BanZu='''+Trim(FBanZu)+''''); + Open; + end; + with ADOQueryTemp do + begin + First; + while not eof do + begin + if GetLSNo(ADOQueryCmd,maxno10,'BZ','WFB_BanZu',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_BanZu where 1<>1'); + open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('BZID').Value:=Trim(maxno10); + FieldByName('BanZu').Value:=Trim(FBanZu); + FieldByName('MJID').Value:=Trim(maxno300); + // FieldByName('MJID').Value:=Trim(IntToStr(MJIDInt+1)); + FieldByName('MJLen').Value:=StrToFloat(MJLen.Text); + FieldByName('UserId').Value:=Trim(ADOQueryTemp.fieldbyname('UserId').AsString); + FieldByName('UserName').Value:=Trim(ADOQueryTemp.fieldbyname('UserName').AsString); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('JBID').Value:=Trim(maxno); + Post; + end; + Next; + end; + end; + + //Ա + ADOQueryCmd.Connection.CommitTrans; + //Application.MessageBox('Ǽdzɹ!','ʾ',0); + Exit; + except + + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; + end else + begin + Application.MessageBox('ʹϵͳһֹ࣡','ʾ',0); + Exit; + end; + +end; + +procedure TfrmJBData.Button2Click(Sender: TObject); +begin + Close; +end; + +end. diff --git a/打卷检验管理/U_JYOrderCDMore.dfm b/打卷检验管理/U_JYOrderCDMore.dfm new file mode 100644 index 0000000..72212ef --- /dev/null +++ b/打卷检验管理/U_JYOrderCDMore.dfm @@ -0,0 +1,619 @@ +object frmJYOrderCDMore: TfrmJYOrderCDMore + Left = 192 + Top = 166 + Width = 999 + Height = 552 + Caption = #26816#39564#20998#26512 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 991 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBExport: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBClose: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 991 + Height = 67 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 15 + Width = 52 + Height = 12 + Caption = #26816#39564#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 177 + Top = 15 + Width = 53 + Height = 12 + Caption = #35746' '#21333' '#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object TLabel + Left = 322 + Top = 15 + Width = 26 + Height = 12 + Caption = #38376#24133 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 322 + Top = 39 + Width = 26 + Height = 12 + Caption = #39068#33394 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 444 + Top = 15 + Width = 47 + Height = 12 + Caption = #20811' '#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 177 + Top = 39 + Width = 54 + Height = 12 + Caption = #32568' '#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 444 + Top = 39 + Width = 52 + Height = 12 + Caption = #20013#25991#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 11 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 75 + Top = 35 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object RadioGroup1: TRadioGroup + Left = 588 + Top = -5 + Width = 185 + Height = 71 + Columns = 2 + ItemIndex = 0 + Items.Strings = ( + #25353#35746#21333 + #25353#32568#21495) + TabOrder = 2 + OnClick = RadioGroup1Click + end + object OrderNo: TEdit + Tag = 2 + Left = 230 + Top = 11 + Width = 77 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + OnChange = TBFindClick + OnKeyPress = OrderNoKeyPress + end + object MPRTMF: TEdit + Tag = 2 + Left = 350 + Top = 11 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnChange = TBFindClick + end + object PRTColor: TEdit + Tag = 2 + Left = 350 + Top = 35 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 5 + OnChange = TBFindClick + end + object MPRTKZ: TEdit + Tag = 2 + Left = 498 + Top = 11 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + OnChange = TBFindClick + end + object gangno: TEdit + Tag = 2 + Left = 230 + Top = 35 + Width = 77 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 7 + OnChange = TBFindClick + end + object MPRTCodeName: TEdit + Tag = 2 + Left = 498 + Top = 35 + Width = 77 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 8 + OnChange = TBFindClick + end + end + object cxGrid1: TcxGrid + Left = 24 + Top = 128 + Width = 961 + Height = 369 + TabOrder = 2 + object Tv1: TcxGridDBTableView + OnMouseUp = Tv1MouseUp + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1Column11 + end + item + Kind = skSum + Column = v1Column7 + end + item + Kind = skSum + Column = v1Column8 + end + item + Kind = skSum + Column = v1Column9 + end + item + Kind = skSum + Column = v1Column12 + end + item + Kind = skSum + Column = v1Column13 + end + item + Kind = skSum + Column = v1Column14 + end + item + Kind = skSum + Column = v1Column15 + end + item + Kind = skSum + Column = v1Column16 + end + item + Kind = skSum + Column = v1Column17 + end + item + Kind = skSum + Column = v1Column18 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Width = 103 + end + object v1Column2: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'gangno' + Visible = False + HeaderAlignmentHorz = taCenter + Width = 88 + end + object v1Column3: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1Column5: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'MPRTMF' + HeaderAlignmentHorz = taCenter + Width = 62 + end + object v1Column4: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Width = 58 + end + object v1Column6: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'MPRTKZ' + HeaderAlignmentHorz = taCenter + Width = 57 + end + object v1Column18: TcxGridDBColumn + Caption = #32568#25968#37327 + DataBinding.FieldName = 'GangQty' + HeaderAlignmentHorz = taCenter + Width = 55 + end + object v1Column11: TcxGridDBColumn + Caption = #21305#25968#37327 + DataBinding.FieldName = 'JQty' + HeaderAlignmentHorz = taCenter + Width = 53 + end + object v1Column7: TcxGridDBColumn + Caption = #38271#24230 + DataBinding.FieldName = 'MJLen' + HeaderAlignmentHorz = taCenter + Width = 59 + end + object v1Column14: TcxGridDBColumn + Caption = #27491#21697#21305#25968 + DataBinding.FieldName = 'ZPPS' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column12: TcxGridDBColumn + Caption = #27491#21697#25968#37327 + DataBinding.FieldName = 'ZPQty' + HeaderAlignmentHorz = taCenter + Width = 64 + end + object v1Column15: TcxGridDBColumn + Caption = #27425#21697#21305#25968 + DataBinding.FieldName = 'CPPS' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column13: TcxGridDBColumn + Caption = #27425#21697#25968#37327 + DataBinding.FieldName = 'CPQty' + HeaderAlignmentHorz = taCenter + Width = 67 + end + object v1Column16: TcxGridDBColumn + Caption = #22810#25340#21305#25968 + DataBinding.FieldName = 'LYPS' + HeaderAlignmentHorz = taCenter + Width = 61 + end + object v1Column17: TcxGridDBColumn + Caption = #22810#25340#25968#37327 + DataBinding.FieldName = 'LYQty' + HeaderAlignmentHorz = taCenter + Width = 58 + end + object v1Column10: TcxGridDBColumn + Caption = #38271#24230#21333#20301 + DataBinding.FieldName = 'CDUnit' + Width = 60 + end + object v1Column8: TcxGridDBColumn + Caption = #20844#26020#25968 + DataBinding.FieldName = 'MJMaoZ' + HeaderAlignmentHorz = taCenter + Width = 58 + end + object v1Column9: TcxGridDBColumn + Caption = #30133#28857#25968#37327 + DataBinding.FieldName = 'CDQty' + HeaderAlignmentHorz = taCenter + Width = 68 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel4: TPanel + Left = 62 + Top = 180 + Width = 294 + Height = 213 + TabOrder = 3 + Visible = False + object Label11: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 292 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #20107#20214#35828#26126 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnMouseMove = Panel10MouseMove + object Image2: TImage + Left = 269 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object RichEdit1: TRichEdit + Left = 1 + Top = 24 + Width = 292 + Height = 188 + Align = alClient + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + TabOrder = 1 + end + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 99 + Width = 991 + Height = 21 + Align = alTop + Style = 9 + TabIndex = 0 + TabOrder = 4 + Tabs.Strings = ( + #25968#37327#32479#35745 + #20010#25968#32479#35745) + OnChange = cxTabControl1Change + ClientRectBottom = 21 + ClientRectRight = 991 + ClientRectTop = 19 + end + object MovePanel2: TMovePanel + Left = 408 + Top = 192 + Width = 289 + Height = 49 + BevelInner = bvLowered + Caption = #27491#22312#26597#35810#25968#25454#65292#35831#31245#21518#12290#12290#12290 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 432 + Top = 200 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 464 + Top = 200 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 496 + Top = 200 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 528 + Top = 200 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 368 + Top = 200 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 400 + Top = 200 + end +end diff --git a/打卷检验管理/U_JYOrderCDMore.pas b/打卷检验管理/U_JYOrderCDMore.pas new file mode 100644 index 0000000..981c9e4 --- /dev/null +++ b/打卷检验管理/U_JYOrderCDMore.pas @@ -0,0 +1,362 @@ +unit U_JYOrderCDMore; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, + Menus, cxPC, MovePanel; + +type + TfrmJYOrderCDMore = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + TBExport: TToolButton; + Order_Main: TClientDataSet; + Panel4: TPanel; + Label11: TLabel; + Panel10: TPanel; + Image2: TImage; + RichEdit1: TRichEdit; + v1Column1: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + RadioGroup1: TRadioGroup; + cxTabControl1: TcxTabControl; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + Label3: TLabel; + Label7: TLabel; + Label8: TLabel; + Label9: TLabel; + Label10: TLabel; + OrderNo: TEdit; + MPRTMF: TEdit; + PRTColor: TEdit; + MPRTKZ: TEdit; + gangno: TEdit; + MPRTCodeName: TEdit; + v1Column11: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + v1Column13: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + v1Column15: TcxGridDBColumn; + v1Column16: TcxGridDBColumn; + v1Column17: TcxGridDBColumn; + v1Column18: TcxGridDBColumn; + MovePanel2: TMovePanel; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure AOrdDefNote4Change(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, + Y: Integer); + procedure Image2Click(Sender: TObject); + procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure RadioGroup1Click(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + procedure OrderNoKeyPress(Sender: TObject; var Key: Char); + private + DQdate:TDateTime; + FLeft,FTop:Integer; + procedure InitGrid(); + procedure InitGrid10(); + procedure InitForm(); + { Private declarations } + public + FFInt:Integer; + { Public declarations } + end; + +var + frmJYOrderCDMore: TfrmJYOrderCDMore; + +implementation +uses + U_DataLink,U_OrderInPut,U_Fun; + +{$R *.dfm} + +procedure TfrmJYOrderCDMore.FormDestroy(Sender: TObject); +begin + frmJYOrderCDMore:=nil; +end; + +procedure TfrmJYOrderCDMore.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmJYOrderCDMore.FormCreate(Sender: TObject); +begin + cxgrid1.Align:=alClient; + DQdate:=SGetServerDate(ADOQueryTemp); +end; + +procedure TfrmJYOrderCDMore.TBCloseClick(Sender: TObject); +begin + Close; + //WriteCxGrid('鱨J',Tv1,'Ⱦ'); +end; + +procedure TfrmJYOrderCDMore.InitGrid(); +var + i:integer; + j,z:Integer; +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec P_JYOrder_HZFX :begdate,:enddate,:PState,:FFsql '); + Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.DateTime); + Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',enddate.DateTime+1); + if cxTabControl1.TabIndex=0 then + Parameters.ParamByName('PState').Value:=RadioGroup1.ItemIndex+1 + else + Parameters.ParamByName('PState').Value:=RadioGroup1.ItemIndex+4; + Parameters.ParamByName('FFsql').Value:=''; + Open; + end; + SCreateCDSOnly(ADOQueryMain,Order_Main); + SInitCDSDataOnly(ADOQueryMain,Order_Main); + for i:=18 to Order_Main.FieldCount-1 do + begin + if Tv1.ColumnCount>i then + begin + + end else + Tv1.CreateColumn; + Tv1.Columns[i].Width:=68; + Tv1.Columns[i].DataBinding.FieldName:=Order_Main.Fields[i].FieldName; + Tv1.Columns[i].Caption:=Trim(Order_Main.Fields[i].FieldName); + tv1.Columns[i].Summary.FooterKind:=skSum; + end; + finally + ADOQueryMain.EnableControls; + end; +end; +procedure TfrmJYOrderCDMore.InitGrid10(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec P_JYOrder_HZFX :begdate,:enddate,:PState '); + Parameters.ParamByName('begdate').Value:='2012-01-01'; + Parameters.ParamByName('enddate').Value:='2011-01-01'; + Parameters.ParamByName('PState').Value:=RadioGroup1.ItemIndex+1; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmJYOrderCDMore.InitForm(); +begin + if SGetServerDate(ADOQueryTemp)>StrToDate('2014-07-11') then + begin + ToolBar1.Visible:=False; + Application.MessageBox('ҪϵӦ̣','ʾ',0); + Exit; + end; + InitGrid(); + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + +end; + +procedure TfrmJYOrderCDMore.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + + +procedure TfrmJYOrderCDMore.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + if RadioGroup1.ItemIndex=0 then + SelExportData(Tv1,ADOQueryMain,'') + else + if RadioGroup1.ItemIndex=1 then + SelExportData(Tv1,ADOQueryMain,''); +end; + +procedure TfrmJYOrderCDMore.TBRafreshClick(Sender: TObject); +begin + MovePanel2.Visible:=True; + MovePanel2.Refresh; + InitGrid(); + MovePanel2.Visible:=False; +end; + +procedure TfrmJYOrderCDMore.AOrdDefNote4Change(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFiltersHint(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmJYOrderCDMore.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmJYOrderCDMore.Panel10MouseMove(Sender: TObject; + Shift: TShiftState; X, Y: Integer); +begin + ReleaseCapture; + TWinControl(Panel4).Perform(WM_SYSCOMMAND,$F012,0); +end; + +procedure TfrmJYOrderCDMore.Image2Click(Sender: TObject); +begin + Panel4.Visible:=False; +end; + +procedure TfrmJYOrderCDMore.Tv1MouseUp(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FLeft:=X; + FTop:=Y; +end; + +procedure TfrmJYOrderCDMore.Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + {Panel4.Left:=FLeft; + Panel4.Top:=FTop+110; + Panel4.Visible:=True; + Panel4.Refresh; + Panel10.Caption:=Trim(TV1.Controller.FocusedColumn.Caption); + RichEdit1.Text:=Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString; } +end; + +procedure TfrmJYOrderCDMore.RadioGroup1Click(Sender: TObject); +begin + if RadioGroup1.ItemIndex=0 then + begin + GangNo.Text:=''; + GangNo.ReadOnly:=True; + v1Column2.Visible:=False; + end else + begin + GangNo.ReadOnly:=False; + v1Column2.Visible:=True; + end; + TBRafresh.Click; +end; + +procedure TfrmJYOrderCDMore.cxTabControl1Change(Sender: TObject); +begin + TBRafresh.Click; + if cxTabControl1.TabIndex=0 then + v1Column9.Caption:='õ' + else + v1Column9.Caption:='õ'; +end; + +procedure TfrmJYOrderCDMore.OrderNoKeyPress(Sender: TObject; + var Key: Char); +var + i:Integer; +begin + if Key=#13 then + begin + if Length(Trim(OrderNo.Text))<4 then Exit; + MovePanel2.Visible:=True; + MovePanel2.Refresh; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec P_JYOrder_HZFX :begdate,:enddate,:PState,:FFsql '); + Parameters.ParamByName('begdate').Value:='2010-01-01'; + Parameters.ParamByName('enddate').Value:='2050-01-01'; + if cxTabControl1.TabIndex=0 then + begin + Parameters.ParamByName('PState').Value:=RadioGroup1.ItemIndex+1; + Parameters.ParamByName('FFSql').Value:=' where C.OrderNo like '''+'%'+Trim(OrderNo.Text)+'%'+''''; + end + else + begin + Parameters.ParamByName('PState').Value:=RadioGroup1.ItemIndex+4; + Parameters.ParamByName('FFSql').Value:=' where C.OrderNo like '''+'%'+Trim(OrderNo.Text)+'%'+''''; + end; + + Open; + end; + SCreateCDSOnly(ADOQueryMain,Order_Main); + SInitCDSDataOnly(ADOQueryMain,Order_Main); + for i:=18 to Order_Main.FieldCount-1 do + begin + if Tv1.ColumnCount>i then + begin + + end else + Tv1.CreateColumn; + Tv1.Columns[i].Width:=68; + Tv1.Columns[i].DataBinding.FieldName:=Order_Main.Fields[i].FieldName; + Tv1.Columns[i].Caption:=Trim(Order_Main.Fields[i].FieldName); + tv1.Columns[i].Summary.FooterKind:=skSum; + end; + finally + ADOQueryMain.EnableControls; + end; + MovePanel2.Visible:=False; + end; + +end; + +end. diff --git a/打卷检验管理/U_JYOrderCDOne.dfm b/打卷检验管理/U_JYOrderCDOne.dfm new file mode 100644 index 0000000..40ebcab --- /dev/null +++ b/打卷检验管理/U_JYOrderCDOne.dfm @@ -0,0 +1,2120 @@ +object frmJYOrderCDOne: TfrmJYOrderCDOne + Left = 296 + Top = 178 + Width = 1400 + Height = 757 + Caption = #26816#39564#25253#21578 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + WindowState = wsMaximized + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1384 + Height = 62 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 119 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBZF: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #20316#24223 + ImageIndex = 48 + OnClick = TBZFClick + end + object TBManage: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #32534#36753 + ImageIndex = 58 + OnClick = TBManageClick + end + object ToolButton6: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #20986#24211 + ImageIndex = 16 + OnClick = ToolButton6Click + end + object ToolButton10: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #25195#25551#20986#24211 + ImageIndex = 16 + OnClick = ToolButton10Click + end + object ToolButton7: TToolButton + Left = 402 + Top = 0 + AutoSize = True + Caption = #25764#38144#20986#24211 + ImageIndex = 86 + OnClick = ToolButton7Click + end + object ToolButton11: TToolButton + Left = 489 + Top = 0 + Caption = #25209#37327#20462#25913#32568#21495 + ImageIndex = 54 + OnClick = ToolButton11Click + end + object TBDW: TToolButton + Left = 608 + Top = 0 + AutoSize = True + Caption = #20462#25913#25968#37327#21333#20301 + ImageIndex = 54 + OnClick = TBDWClick + end + object ToolButton4: TToolButton + Left = 719 + Top = 0 + AutoSize = True + Caption = #25209#37327#35843#25972#31859#25968 + ImageIndex = 54 + OnClick = ToolButton4Click + end + object ToolButton13: TToolButton + Left = 830 + Top = 0 + AutoSize = True + Caption = #25209#37327#20928#37325#36716#38271#24230 + ImageIndex = 54 + Visible = False + OnClick = ToolButton13Click + end + object ToolButton8: TToolButton + Left = 953 + Top = 0 + AutoSize = True + Caption = #25209#37327#20462#25913#30382#37325 + ImageIndex = 54 + Wrap = True + OnClick = ToolButton8Click + end + object ToolButton1: TToolButton + Left = 0 + Top = 30 + AutoSize = True + Caption = #25171#21360#26631#31614 + ImageIndex = 96 + OnClick = ToolButton1Click + end + object TCPDB: TToolButton + Left = 87 + Top = 30 + AutoSize = True + Caption = #25104#21697#25171#21253 + ImageIndex = 57 + OnClick = TCPDBClick + end + object ToolButton3: TToolButton + Left = 174 + Top = 30 + AutoSize = True + Caption = #25171#21360#21253#26631#31614 + ImageIndex = 12 + Visible = False + OnClick = ToolButton3Click + end + object ToolButton2: TToolButton + Left = 273 + Top = 30 + AutoSize = True + Caption = #25171#21360#26816#39564#25253#21578 + ImageIndex = 12 + OnClick = ToolButton2Click + end + object ToolButton5: TToolButton + Left = 384 + Top = 30 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + OnClick = ToolButton5Click + end + object Edit3: TEdit + Left = 447 + Top = 30 + Width = 68 + Height = 30 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 1 + Visible = False + OnKeyPress = Edit3KeyPress + end + object ComboBox1: TComboBox + Left = 515 + Top = 33 + Width = 149 + Height = 24 + Style = csDropDownList + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ItemHeight = 16 + ItemIndex = 0 + ParentFont = False + TabOrder = 0 + Text = #26816#39564#30721#21333'('#33521#25991')' + OnChange = ComboBox1Change + Items.Strings = ( + #26816#39564#30721#21333'('#33521#25991')' + #26816#39564#30721#21333'('#20013#25991')' + #26816#39564#30721#21333'('#26579#33394')' + #26816#39564#30721#21333'('#21360#33457')' + #26816#39564#30721#21333'('#27719#24635')' + #26816#39564#30721#21333) + end + object Edit4: TEdit + Left = 664 + Top = 30 + Width = 121 + Height = 30 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 2 + Visible = False + end + object ToolButton12: TToolButton + Left = 785 + Top = 30 + Caption = #20462#25913#30721#21333 + ImageIndex = 54 + Visible = False + OnClick = ToolButton12Click + end + object ToolButton9: TToolButton + Left = 904 + Top = 30 + AutoSize = True + Caption = #24322#24120#25968#25454 + ImageIndex = 2 + OnClick = ToolButton9Click + end + object TBExport: TToolButton + Left = 991 + Top = 30 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBClose: TToolButton + Left = 1054 + Top = 30 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 62 + Width = 1384 + Height = 88 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label3: TLabel + Left = 179 + Top = 15 + Width = 53 + Height = 12 + Caption = #35746' '#21333' '#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object TLabel + Left = 322 + Top = 15 + Width = 26 + Height = 12 + Caption = #38376#24133 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 322 + Top = 38 + Width = 26 + Height = 12 + Caption = #39068#33394 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 444 + Top = 15 + Width = 39 + Height = 12 + Caption = #25171#30721#20154 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 443 + Top = 38 + Width = 39 + Height = 12 + Caption = #21367#26465#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 587 + Top = 15 + Width = 54 + Height = 12 + Caption = #30133' '#28857 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 179 + Top = 38 + Width = 52 + Height = 12 + Caption = #20013#25991#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 975 + Top = 66 + Width = 52 + Height = 12 + Caption = #20837#24211#29366#24577 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label4: TLabel + Left = 747 + Top = 15 + Width = 40 + Height = 12 + Caption = #21253' '#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 747 + Top = 38 + Width = 39 + Height = 12 + Caption = #21253#26465#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 1216 + Top = 68 + Width = 46 + Height = 12 + Caption = #21253#25968#65306'0' + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 887 + Top = 15 + Width = 40 + Height = 12 + Caption = #33394' '#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label14: TLabel + Left = 887 + Top = 39 + Width = 39 + Height = 12 + Caption = #33457#22411#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label15: TLabel + Left = 1019 + Top = 15 + Width = 40 + Height = 12 + Caption = #32568' '#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label16: TLabel + Left = 1019 + Top = 39 + Width = 40 + Height = 12 + Caption = #27454' '#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label20: TLabel + Left = 537 + Top = 64 + Width = 38 + Height = 19 + Caption = #37329#39069 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label21: TLabel + Left = 359 + Top = 64 + Width = 38 + Height = 19 + Caption = #25968#37327 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label22: TLabel + Left = 180 + Top = 64 + Width = 38 + Height = 19 + Caption = #21305#25968 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label23: TLabel + Left = 716 + Top = 64 + Width = 38 + Height = 19 + Caption = #37329#39069 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label1: TLabel + Left = 587 + Top = 39 + Width = 52 + Height = 12 + Caption = #20986#24211#29366#24577 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object EndDate: TDateTimePicker + Left = 84 + Top = 34 + Width = 85 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + TabOrder = 9 + end + object OrderNo: TEdit + Tag = 2 + Left = 232 + Top = 11 + Width = 77 + Height = 20 + TabOrder = 2 + OnChange = PRTCodeNameChange + OnKeyPress = OrderNoKeyPress + end + object PRTMF: TEdit + Tag = 1 + Left = 350 + Top = 11 + Width = 76 + Height = 20 + TabOrder = 3 + OnChange = PRTCodeNameChange + end + object MJID: TEdit + Tag = 2 + Left = 485 + Top = 34 + Width = 77 + Height = 20 + TabOrder = 12 + OnChange = PRTCodeNameChange + end + object CDList: TEdit + Tag = 2 + Left = 644 + Top = 11 + Width = 77 + Height = 20 + TabOrder = 5 + OnChange = PRTCodeNameChange + end + object PRTCodeName: TEdit + Tag = 2 + Left = 232 + Top = 34 + Width = 77 + Height = 20 + TabOrder = 10 + OnChange = PRTCodeNameChange + end + object MJStr2: TComboBox + Tag = 2 + Left = 1032 + Top = 62 + Width = 78 + Height = 20 + Style = csDropDownList + ItemHeight = 12 + TabOrder = 13 + Visible = False + OnChange = PRTCodeNameChange + Items.Strings = ( + #26410#20837#24211 + #24050#20837#24211 + #24050#20986#24211 + '' + '') + end + object Filler: TComboBox + Tag = 1 + Left = 485 + Top = 11 + Width = 78 + Height = 20 + Style = csDropDownList + ItemHeight = 12 + TabOrder = 4 + OnChange = PRTCodeNameChange + end + object RadioGroup1: TRadioGroup + Left = 1272 + Top = -1 + Width = 89 + Height = 92 + Columns = 3 + ItemIndex = 0 + Items.Strings = ( + #27491#24120 + #22238#20462 + #20840#37096) + TabOrder = 0 + Visible = False + OnClick = RadioGroup1Click + end + object PRTColor: TComboBox + Tag = 1 + Left = 350 + Top = 34 + Width = 77 + Height = 20 + ItemHeight = 12 + TabOrder = 11 + OnChange = PRTColorChange + end + object CheckBox1: TCheckBox + Left = 697 + Top = 107 + Width = 131 + Height = 17 + Caption = #26816#39564#25253#21578#33521#25991 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 18 + Visible = False + end + object MJType: TEdit + Left = 806 + Top = 101 + Width = 93 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 17 + Visible = False + end + object BAOID: TEdit + Tag = 2 + Left = 791 + Top = 34 + Width = 77 + Height = 20 + TabOrder = 14 + OnChange = PRTCodeNameChange + end + object BAONO: TEdit + Tag = 2 + Left = 790 + Top = 11 + Width = 77 + Height = 20 + TabOrder = 6 + OnChange = PRTCodeNameChange + end + object SOrddefstr1: TEdit + Tag = 1 + Left = 930 + Top = 11 + Width = 77 + Height = 20 + TabOrder = 7 + OnChange = PRTCodeNameChange + end + object PRTHX: TEdit + Tag = 2 + Left = 930 + Top = 34 + Width = 77 + Height = 20 + TabOrder = 15 + OnChange = PRTCodeNameChange + end + object gangno: TEdit + Tag = 2 + Left = 1062 + Top = 11 + Width = 77 + Height = 20 + TabOrder = 8 + OnChange = PRTCodeNameChange + end + object PRTkuanNo: TEdit + Tag = 2 + Left = 1062 + Top = 34 + Width = 77 + Height = 20 + TabOrder = 16 + OnChange = PRTCodeNameChange + end + object CheckBox2: TCheckBox + Left = 13 + Top = 13 + Width = 97 + Height = 17 + Caption = #26816#39564#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 19 + end + object BegDate: TDateTimePicker + Left = 84 + Top = 11 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + TabOrder = 1 + end + object CKFlag: TComboBox + Tag = 2 + Left = 644 + Top = 34 + Width = 78 + Height = 20 + Style = csDropDownList + ItemHeight = 12 + TabOrder = 20 + OnChange = PRTCodeNameChange + Items.Strings = ( + '' + #24050#20986#24211 + #26410#20986#24211 + '') + end + object CheckBox3: TCheckBox + Left = 1148 + Top = 8 + Width = 105 + Height = 57 + Caption = #31934#30830#25628#32034 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 21 + OnClick = CheckBox3Click + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 173 + Width = 1384 + Height = 545 + Align = alClient + PopupMenu = PopupMenu1 + TabOrder = 3 + object Tv1: TcxGridDBTableView + OnMouseUp = Tv1MouseUp + Navigator.Buttons.CustomButtons = <> + OnCellClick = Tv1CellClick + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Filter.AutoDataSetFilter = True + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1Column8 + end + item + Kind = skSum + Column = v1Column9 + end + item + Kind = skSum + Column = v1Column10 + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column25 + end + item + Kind = skSum + Column = v1Column27 + end + item + Kind = skSum + Column = v1Column28 + end + item + Kind = skSum + Column = v1Column14 + end + item + Kind = skCount + Column = v1Column23 + end> + DataController.Summary.SummaryGroups = <> + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1Column22: TcxGridDBColumn + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + Properties.OnChange = v1Column22PropertiesChange + HeaderAlignmentHorz = taCenter + Width = 48 + end + object v1Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 103 + end + object v1PRTCodeName: TcxGridDBColumn + Caption = #21697#21517#20013#25991 + DataBinding.FieldName = 'PRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object v1Column4: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'MJstr4' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column2: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 70 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 58 + end + object v1BaoNo: TcxGridDBColumn + Caption = #21253#21495 + DataBinding.FieldName = 'BaoNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 65 + end + object v1BaoID: TcxGridDBColumn + Caption = #21253#26465#30721 + DataBinding.FieldName = 'BaoID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 65 + end + object v1Column23: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'MJXH' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column6: TcxGridDBColumn + Caption = #21367#26465#30721 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 84 + end + object v1Column27: TcxGridDBColumn + Caption = #30382#37325 + DataBinding.FieldName = 'MJQty3' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 58 + end + object v1Column28: TcxGridDBColumn + Caption = #20928#37325 + DataBinding.FieldName = 'MJQty4' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 53 + end + object v1Column8: TcxGridDBColumn + Caption = #27611#37325 + DataBinding.FieldName = 'MJMaoZ' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 54 + end + object v1Column10: TcxGridDBColumn + Caption = #21367#38271#24230 + DataBinding.FieldName = 'MJLen' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 56 + end + object v1Column11: TcxGridDBColumn + Caption = #38271#24230#21333#20301 + DataBinding.FieldName = 'MJTypeOther' + Options.Editing = False + Width = 58 + end + object v1Column25: TcxGridDBColumn + Caption = #36192#36865#25968#37327 + DataBinding.FieldName = 'MJQty2' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 57 + end + object v1Column3: TcxGridDBColumn + Caption = #33457#22411#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 70 + end + object v1Column12: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'MJType' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 57 + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'MJFK' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 67 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'MJSJKZ' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 64 + end + object v1Column9: TcxGridDBColumn + Caption = #30133#28857#25968#37327 + DataBinding.FieldName = 'CDQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 65 + end + object v1Column7: TcxGridDBColumn + Caption = #30133#28857#24773#20917 + DataBinding.FieldName = 'CDList' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 66 + end + object v1Column16: TcxGridDBColumn + Caption = #23454#38469#20811#37325'(g/'#13217')' + DataBinding.FieldName = 'MJSJKZ' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 105 + end + object v1Column17: TcxGridDBColumn + Caption = #20837#24211#29366#24577 + DataBinding.FieldName = 'MJStr2' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 63 + end + object v1Column24: TcxGridDBColumn + Caption = #22238#20462 + DataBinding.FieldName = 'HXFlag' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + Visible = False + HeaderAlignmentHorz = taCenter + Width = 48 + end + object v1Column14: TcxGridDBColumn + Caption = #25187#20998 + DataBinding.FieldName = 'KouFenQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 55 + end + object v1Column15: TcxGridDBColumn + Caption = #21028#23450 + DataBinding.FieldName = 'PanDing' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column15PropertiesEditValueChanged + Visible = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 61 + end + object v1Column20: TcxGridDBColumn + Caption = #25171#30721#20154 + DataBinding.FieldName = 'Filler' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 73 + end + object v1Column21: TcxGridDBColumn + Caption = #25171#30721#26102#38388 + DataBinding.FieldName = 'FillTime' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 94 + end + object v1Column5: TcxGridDBColumn + Caption = #23458#25143#35746#21333#21495 + DataBinding.FieldName = 'KHorderNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object v1Column13: TcxGridDBColumn + Caption = #26579#21378#32568#21495 + DataBinding.FieldName = 'MJStr5' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column18: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'Note' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object v1Column19: TcxGridDBColumn + Caption = #27454#21495 + DataBinding.FieldName = 'PRTkuanNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object Tv1Column1: TcxGridDBColumn + Caption = #20986#24211#29366#24577 + DataBinding.FieldName = 'CKFlag' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object Tv1Column2: TcxGridDBColumn + Caption = #30721#25968 + DataBinding.FieldName = 'MJMA' + HeaderAlignmentHorz = taCenter + Width = 60 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel4: TPanel + Left = 66 + Top = 180 + Width = 294 + Height = 212 + TabOrder = 2 + Visible = False + object Label11: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 292 + Height = 24 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #20107#20214#35828#26126 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnMouseMove = Panel10MouseMove + object Image2: TImage + Left = 269 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object RichEdit1: TRichEdit + Left = 1 + Top = 25 + Width = 292 + Height = 186 + Align = alClient + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + TabOrder = 1 + end + end + object MovePanel2: TMovePanel + Left = 416 + Top = 192 + Width = 289 + Height = 49 + BevelInner = bvLowered + Caption = #27491#22312#26597#35810#25968#25454#65292#35831#31245#21518#12290#12290#12290 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -13 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + end + object Panel5: TPanel + Left = 736 + Top = 188 + Width = 273 + Height = 101 + Color = clSkyBlue + TabOrder = 4 + Visible = False + object Label28: TLabel + Left = 48 + Top = 28 + Width = 48 + Height = 12 + Caption = #25968#37327#21333#20301 + end + object ComboBox5: TComboBox + Left = 100 + Top = 24 + Width = 145 + Height = 20 + Style = csDropDownList + ItemHeight = 12 + TabOrder = 0 + Items.Strings = ( + '' + 'M' + 'Y') + end + object Button5: TButton + Left = 32 + Top = 64 + Width = 60 + Height = 25 + Caption = #30830#23450 + TabOrder = 1 + OnClick = Button5Click + end + object Button6: TButton + Left = 172 + Top = 64 + Width = 60 + Height = 25 + Caption = #20851#38381 + TabOrder = 2 + OnClick = Button6Click + end + end + object Panel2: TPanel + Left = 496 + Top = 336 + Width = 273 + Height = 101 + Color = clSkyBlue + TabOrder = 8 + Visible = False + object Label17: TLabel + Left = 40 + Top = 12 + Width = 48 + Height = 12 + Caption = #35843#25972#26041#24335 + end + object Label18: TLabel + Left = 40 + Top = 40 + Width = 48 + Height = 12 + Caption = #35843#25972#25968#37327 + end + object TZFS: TComboBox + Left = 92 + Top = 8 + Width = 101 + Height = 20 + Style = csDropDownList + ItemHeight = 12 + TabOrder = 0 + Items.Strings = ( + '' + #22686#21152 + #20943#23569) + end + object Button1: TButton + Left = 32 + Top = 64 + Width = 60 + Height = 25 + Caption = #30830#23450 + TabOrder = 2 + OnClick = Button1Click + end + object Button2: TButton + Left = 172 + Top = 64 + Width = 60 + Height = 25 + Caption = #20851#38381 + TabOrder = 3 + OnClick = Button2Click + end + object TZSL: TEdit + Left = 92 + Top = 35 + Width = 101 + Height = 20 + TabOrder = 1 + end + end + object Panel3: TPanel + Left = 503 + Top = 203 + Width = 231 + Height = 216 + TabOrder = 6 + Visible = False + object Label19: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Panel6: TPanel + Left = 1 + Top = 1 + Width = 229 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #25253#34920#21517#31216 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnMouseMove = Panel10MouseMove + object Image1: TImage + Left = 206 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image1Click + end + end + object Button7: TButton + Left = 83 + Top = 180 + Width = 75 + Height = 25 + Caption = #30830#23450 + TabOrder = 2 + OnClick = Button7Click + end + object RadioGroup2: TRadioGroup + Left = 56 + Top = 24 + Width = 129 + Height = 145 + ItemIndex = 0 + Items.Strings = ( + #26816#39564#25253#21578#26222#36890#29256) + TabOrder = 1 + end + end + object Panel7: TPanel + Left = 409 + Top = 207 + Width = 231 + Height = 170 + TabOrder = 7 + Visible = False + object Label24: TLabel + Left = 32 + Top = 80 + Width = 40 + Height = 20 + Caption = #36215#22987 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label25: TLabel + Left = 32 + Top = 112 + Width = 40 + Height = 20 + Caption = #32467#26463 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label26: TLabel + Left = 33 + Top = 53 + Width = 40 + Height = 20 + Caption = #39068#33394 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object Label27: TLabel + Left = 88 + Top = 53 + Width = 30 + Height = 20 + Caption = '111' + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object Label29: TLabel + Left = 17 + Top = 26 + Width = 60 + Height = 20 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label30: TLabel + Left = 88 + Top = 26 + Width = 30 + Height = 20 + Caption = '111' + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Panel8: TPanel + Left = 1 + Top = 1 + Width = 229 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #21367#21495#33539#22260 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + object Image3: TImage + Left = 206 + Top = 0 + Width = 22 + Height = 17 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image3Click + end + end + object Button9: TButton + Left = 75 + Top = 140 + Width = 75 + Height = 25 + Caption = #30830#23450 + TabOrder = 3 + OnClick = Button9Click + end + object Edit1: TEdit + Left = 88 + Top = 80 + Width = 65 + Height = 28 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [] + ImeName = #20013#25991'('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + TabOrder = 1 + end + object Edit2: TEdit + Left = 88 + Top = 111 + Width = 65 + Height = 28 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [] + ImeName = #20013#25991'('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + TabOrder = 2 + end + end + object Panel9: TPanel + Left = 804 + Top = 244 + Width = 225 + Height = 117 + Color = clSkyBlue + TabOrder = 9 + Visible = False + object Label32: TLabel + Left = 24 + Top = 44 + Width = 24 + Height = 12 + Caption = #30382#37325 + end + object Button11: TButton + Left = 32 + Top = 72 + Width = 60 + Height = 25 + Caption = #30830#23450 + TabOrder = 1 + OnClick = Button11Click + end + object Button12: TButton + Left = 128 + Top = 72 + Width = 60 + Height = 25 + Caption = #20851#38381 + TabOrder = 2 + OnClick = Button12Click + end + object cxCurrencyEdit2: TcxCurrencyEdit + Left = 52 + Top = 40 + Properties.DecimalPlaces = 4 + Properties.DisplayFormat = '0.####' + Properties.Nullstring = '0' + TabOrder = 0 + Width = 121 + end + end + object Panel_SMCK: TPanel + Left = 412 + Top = 180 + Width = 317 + Height = 97 + Color = clSkyBlue + TabOrder = 10 + Visible = False + object Label31: TLabel + Left = 16 + Top = 24 + Width = 64 + Height = 16 + Caption = #20986#24211#26465#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Edit_CKMJID: TEdit + Left = 88 + Top = 20 + Width = 177 + Height = 24 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 0 + OnKeyPress = Edit_CKMJIDKeyPress + end + object Button_CKSM: TButton + Left = 212 + Top = 64 + Width = 60 + Height = 25 + Caption = #20851#38381 + TabOrder = 1 + OnClick = Button_CKSMClick + end + end + object Panel11: TPanel + Left = 908 + Top = 384 + Width = 225 + Height = 117 + Color = clSkyBlue + TabOrder = 11 + Visible = False + object Label33: TLabel + Left = 24 + Top = 44 + Width = 24 + Height = 12 + Caption = #32568#21495 + end + object Button3: TButton + Left = 32 + Top = 72 + Width = 60 + Height = 25 + Caption = #30830#23450 + TabOrder = 1 + OnClick = Button3Click + end + object Button4: TButton + Left = 128 + Top = 72 + Width = 60 + Height = 25 + Caption = #20851#38381 + TabOrder = 2 + OnClick = Button4Click + end + object cxCurrencyEdit1: TcxCurrencyEdit + Left = 60 + Top = 4 + Properties.DecimalPlaces = 4 + Properties.DisplayFormat = '0.####' + Properties.Nullstring = '0' + TabOrder = 0 + Visible = False + Width = 121 + end + object Edit6: TEdit + Left = 56 + Top = 40 + Width = 125 + Height = 20 + TabOrder = 3 + end + end + object Panel12: TPanel + Left = 612 + Top = 444 + Width = 225 + Height = 117 + Color = clSkyBlue + TabOrder = 12 + Visible = False + object Label34: TLabel + Left = 8 + Top = 44 + Width = 48 + Height = 12 + Caption = #36716#25442#31995#25968 + end + object Button8: TButton + Left = 44 + Top = 72 + Width = 60 + Height = 25 + Caption = #30830#23450 + TabOrder = 1 + OnClick = Button8Click + end + object Button10: TButton + Left = 140 + Top = 72 + Width = 60 + Height = 25 + Caption = #20851#38381 + TabOrder = 2 + OnClick = Button10Click + end + object cxCurrencyEdit3: TcxCurrencyEdit + Left = 64 + Top = 8 + Properties.DecimalPlaces = 4 + Properties.DisplayFormat = '0.####' + Properties.Nullstring = '0' + TabOrder = 0 + Visible = False + Width = 121 + end + object Edit5: TEdit + Left = 64 + Top = 40 + Width = 125 + Height = 20 + TabOrder = 3 + end + end + object Panel13: TPanel + Left = 120 + Top = 376 + Width = 273 + Height = 129 + Color = clSkyBlue + TabOrder = 13 + Visible = False + object Label35: TLabel + Left = 32 + Top = 20 + Width = 48 + Height = 12 + Caption = #26631#31614#36873#25321 + end + object Label36: TLabel + Left = 32 + Top = 53 + Width = 48 + Height = 12 + Caption = #26631#31614#20221#25968 + end + object ComboBox2: TComboBox + Left = 92 + Top = 16 + Width = 145 + Height = 20 + Style = csDropDownList + ItemHeight = 12 + TabOrder = 0 + Items.Strings = ( + #20013#25991#23383#27573#26631#31614 + #33521#25991#23383#27573#26631#31614) + end + object Button13: TButton + Left = 32 + Top = 86 + Width = 60 + Height = 25 + Caption = #30830#23450 + TabOrder = 1 + OnClick = Button13Click + end + object Button14: TButton + Left = 172 + Top = 86 + Width = 60 + Height = 25 + Caption = #20851#38381 + TabOrder = 2 + OnClick = Button14Click + end + object ComboBox3: TComboBox + Left = 92 + Top = 49 + Width = 145 + Height = 20 + Style = csDropDownList + ItemHeight = 12 + ItemIndex = 0 + TabOrder = 3 + Text = '1' + Items.Strings = ( + '1' + '2' + '3' + '4') + end + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 150 + Width = 1384 + Height = 23 + Align = alTop + TabOrder = 14 + Properties.CustomButtons.Buttons = <> + Properties.Style = 9 + Properties.TabIndex = 0 + Properties.Tabs.Strings = ( + #26410#20986#24211 + #24050#20986#24211 + #20840#37096) + OnChange = cxTabControl1Change + ClientRectBottom = 23 + ClientRectRight = 1384 + ClientRectTop = 19 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 600 + Top = 184 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 440 + Top = 356 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 436 + Top = 336 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 404 + Top = 276 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 368 + Top = 200 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 400 + Top = 200 + end + object PopupMenu1: TPopupMenu + Left = 432 + Top = 444 + object N1: TMenuItem + Caption = #20840#36873 + OnClick = N1Click + end + object N2: TMenuItem + Caption = #20840#24323 + OnClick = N2Click + end + object N3: TMenuItem + Caption = #36873#25321#21367#21495 + OnClick = N3Click + end + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 528 + Top = 552 + ReportData = {} + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 488 + Top = 552 + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 448 + Top = 552 + end + object CDS_CD: TClientDataSet + Aggregates = <> + Params = <> + Left = 480 + Top = 336 + end + object RMCD: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbSaveToXLS, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBCD + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 576 + Top = 304 + ReportData = {} + end + object RMDBCD: TRMDBDataSet + Visible = True + DataSet = CDS_CD + Left = 608 + Top = 304 + end + object CDS_LS: TClientDataSet + Aggregates = <> + Params = <> + Left = 656 + Top = 368 + end + object CDS_HZ: TClientDataSet + Aggregates = <> + Params = <> + Left = 764 + Top = 296 + end + object RMDBHZ: TRMDBDataSet + Visible = True + DataSet = CDS_HZ + Left = 764 + Top = 340 + end + object RM3: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbSaveToXLS, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 492 + Top = 300 + ReportData = {} + end + object CDS_PRT: TClientDataSet + Aggregates = <> + Params = <> + Left = 520 + Top = 240 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbSaveToXLS, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 368 + Top = 168 + ReportData = {} + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 100 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 376 + Top = 264 + end + object RM4: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main1 + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 528 + Top = 592 + ReportData = {} + end + object ADOQueryPrint1: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 448 + Top = 592 + end + object RMDB_Main1: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint1 + Left = 488 + Top = 592 + end +end diff --git a/打卷检验管理/U_JYOrderCDOne.pas b/打卷检验管理/U_JYOrderCDOne.pas new file mode 100644 index 0000000..3904820 --- /dev/null +++ b/打卷检验管理/U_JYOrderCDOne.pas @@ -0,0 +1,2420 @@ +unit U_JYOrderCDOne; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, + cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, + cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System, + RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, MovePanel, cxTextEdit, + cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, cxContainer, ShellAPI, + cxCurrencyEdit, MMSystem, dxSkinsCore, dxSkinBlack, dxSkinBlue, + dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, + dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy, + dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, + dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis, + dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black, + dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, + dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, + dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray, + dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, + dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust, + dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, + dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue, + dxSkinscxPCPainter, dxBarBuiltInMenu, cxPC; + +type + TfrmJYOrderCDOne = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + OrderNo: TEdit; + TBExport: TToolButton; + Order_Main: TClientDataSet; + PRTMF: TEdit; + Label7: TLabel; + Label8: TLabel; + Label10: TLabel; + MJID: TEdit; + Label2: TLabel; + CDList: TEdit; + Panel4: TPanel; + Label11: TLabel; + Panel10: TPanel; + Image2: TImage; + RichEdit1: TRichEdit; + v1Column1: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column11: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + v1PRTCodeName: TcxGridDBColumn; + Label5: TLabel; + PRTCodeName: TEdit; + v1Column16: TcxGridDBColumn; + Label6: TLabel; + MJStr2: TComboBox; + v1Column17: TcxGridDBColumn; + v1Column20: TcxGridDBColumn; + v1Column21: TcxGridDBColumn; + Filler: TComboBox; + TBManage: TToolButton; + v1Column22: TcxGridDBColumn; + v1Column23: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N1: TMenuItem; + N2: TMenuItem; + TBZF: TToolButton; + ToolButton1: TToolButton; + RM2: TRMGridReport; + RMDB_Main: TRMDBDataSet; + ADOQueryPrint: TADOQuery; + v1Column25: TcxGridDBColumn; + v1Column24: TcxGridDBColumn; + RadioGroup1: TRadioGroup; + MovePanel2: TMovePanel; + PRTColor: TComboBox; + v1Column27: TcxGridDBColumn; + v1Column28: TcxGridDBColumn; + ToolButton2: TToolButton; + v1Column14: TcxGridDBColumn; + CDS_CD: TClientDataSet; + RMCD: TRMGridReport; + RMDBCD: TRMDBDataSet; + CDS_LS: TClientDataSet; + v1Column15: TcxGridDBColumn; + CheckBox1: TCheckBox; + MJType: TEdit; + TCPDB: TToolButton; + v1BaoNo: TcxGridDBColumn; + v1BaoID: TcxGridDBColumn; + Label4: TLabel; + Label9: TLabel; + BAOID: TEdit; + BAONO: TEdit; + ToolButton3: TToolButton; + v1Column2: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + Label12: TLabel; + SOrddefstr1: TEdit; + Label13: TLabel; + Label14: TLabel; + PRTHX: TEdit; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + gangno: TEdit; + Label15: TLabel; + v1Column13: TcxGridDBColumn; + v1Column18: TcxGridDBColumn; + v1Column19: TcxGridDBColumn; + PRTkuanNo: TEdit; + Label16: TLabel; + CDS_HZ: TClientDataSet; + RMDBHZ: TRMDBDataSet; + RM3: TRMGridReport; + Panel5: TPanel; + Label28: TLabel; + ComboBox5: TComboBox; + Button5: TButton; + Button6: TButton; + TBDW: TToolButton; + ToolButton4: TToolButton; + Panel2: TPanel; + Label17: TLabel; + TZFS: TComboBox; + Button1: TButton; + Button2: TButton; + TZSL: TEdit; + Label18: TLabel; + Panel3: TPanel; + Label19: TLabel; + Panel6: TPanel; + Image1: TImage; + Button7: TButton; + RadioGroup2: TRadioGroup; + ComboBox1: TComboBox; + ToolButton5: TToolButton; + CDS_PRT: TClientDataSet; + RM1: TRMGridReport; + RMXLSExport1: TRMXLSExport; + Panel7: TPanel; + Label24: TLabel; + Label25: TLabel; + Label26: TLabel; + Label27: TLabel; + Label29: TLabel; + Label30: TLabel; + Panel8: TPanel; + Image3: TImage; + Button9: TButton; + Edit1: TEdit; + Edit2: TEdit; + N3: TMenuItem; + Label20: TLabel; + Label21: TLabel; + Label22: TLabel; + Label23: TLabel; + Edit3: TEdit; + Tv1Column1: TcxGridDBColumn; + CheckBox2: TCheckBox; + ToolButton6: TToolButton; + Label1: TLabel; + CKFlag: TComboBox; + ToolButton7: TToolButton; + Panel9: TPanel; + Label32: TLabel; + Button11: TButton; + Button12: TButton; + cxCurrencyEdit2: TcxCurrencyEdit; + ToolButton8: TToolButton; + ToolButton9: TToolButton; + ToolButton10: TToolButton; + Panel_SMCK: TPanel; + Label31: TLabel; + Edit_CKMJID: TEdit; + Button_CKSM: TButton; + CheckBox3: TCheckBox; + ToolButton11: TToolButton; + Panel11: TPanel; + Label33: TLabel; + Button3: TButton; + Button4: TButton; + cxCurrencyEdit1: TcxCurrencyEdit; + ToolButton12: TToolButton; + Edit4: TEdit; + ToolButton13: TToolButton; + Panel12: TPanel; + Label34: TLabel; + Button8: TButton; + Button10: TButton; + cxCurrencyEdit3: TcxCurrencyEdit; + Edit5: TEdit; + Panel13: TPanel; + Label35: TLabel; + ComboBox2: TComboBox; + Button13: TButton; + Button14: TButton; + RM4: TRMGridReport; + ADOQueryPrint1: TADOQuery; + RMDB_Main1: TRMDBDataSet; + Label36: TLabel; + ComboBox3: TComboBox; + Edit6: TEdit; + cxTabControl1: TcxTabControl; + Tv1Column2: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure OrderNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); + procedure Image2Click(Sender: TObject); + procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); + procedure TBManageClick(Sender: TObject); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure TBZFClick(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure RadioGroup1Click(Sender: TObject); + procedure OrderNoKeyPress(Sender: TObject; var Key: Char); + procedure PRTColorChange(Sender: TObject); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); + procedure ToolButton2Click(Sender: TObject); + procedure v1Column15PropertiesEditValueChanged(Sender: TObject); + procedure TCPDBClick(Sender: TObject); + procedure PRTCodeNameChange(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure Button6Click(Sender: TObject); + procedure Button5Click(Sender: TObject); + procedure TBDWClick(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure ToolButton4Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure Button7Click(Sender: TObject); + procedure ToolButton5Click(Sender: TObject); + procedure N3Click(Sender: TObject); + procedure Image3Click(Sender: TObject); + procedure Button9Click(Sender: TObject); + procedure ComboBox1Change(Sender: TObject); + procedure Edit3KeyPress(Sender: TObject; var Key: Char); + procedure ToolButton6Click(Sender: TObject); + procedure ToolButton7Click(Sender: TObject); + procedure Button11Click(Sender: TObject); + procedure Button12Click(Sender: TObject); + procedure ToolButton8Click(Sender: TObject); + procedure ToolButton9Click(Sender: TObject); + procedure v1Column22PropertiesChange(Sender: TObject); + procedure Image1Click(Sender: TObject); + procedure Edit_CKMJIDKeyPress(Sender: TObject; var Key: Char); + procedure Button_CKSMClick(Sender: TObject); + procedure ToolButton10Click(Sender: TObject); + procedure CheckBox3Click(Sender: TObject); + procedure ToolButton11Click(Sender: TObject); + procedure ToolButton12Click(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure ToolButton13Click(Sender: TObject); + procedure Button10Click(Sender: TObject); + procedure Button8Click(Sender: TObject); + procedure Button14Click(Sender: TObject); + procedure Button13Click(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); +// procedure Edit5Click(Sender: TObject); +// procedure CheckBox3Click(Sender: TObject); + private + DQdate: TDateTime; + FLeft, FTop: Integer; + FID: string; + procedure InitGrid(); + procedure InitSum(); + procedure InitForm(); + procedure GetCDSData(); + procedure GetBGData(); + procedure JSbaoNum(); + { Private declarations } + public + FFInt: Integer; + + { Public declarations } + end; + +var + frmJYOrderCDOne: TfrmJYOrderCDOne; + +implementation + +uses + U_DataLink, U_OrderInPut, U_Fun, U_MJEdit, U_CPDBAO, U_MJSJFX; + +{$R *.dfm} +procedure TfrmJYOrderCDOne.JSbaoNum(); +var + i: integer; + baoID: string; + strlist: Tstringlist; +begin + i := 0; + baoID := ''; + if Order_Main.IsEmpty then + begin + Label12.Caption := '0'; + exit; + end; + strlist := Tstringlist.Create; + try + with Order_Main do + begin + DisableControls; + first; + while not eof do + begin + + if (trim(fieldbyname('BaoNO').AsString) <> '') then + begin + if strlist.IndexOf(trim(fieldbyname('subID').AsString) + trim(fieldbyname('BaoNO').AsString)) < 0 then + begin + strlist.Add(trim(fieldbyname('subID').AsString) + trim(fieldbyname('BaoNO').AsString)); + end; + end; + { IF (trim(fieldbyname('BaoID').AsString)<>trim(baoID)) and (trim(fieldbyname('BaoID').AsString)<>'') then + begin + i:=i+1; + baoID:=trim(fieldbyname('BaoID').AsString); + end; } + Next; + end; + EnableControls; + end; + Label12.Caption := '' + inttostr(strlist.Count); + finally + strlist.Free; + end; +end; + +procedure TfrmJYOrderCDOne.FormDestroy(Sender: TObject); +begin + frmJYOrderCDOne := nil; +end; + +procedure TfrmJYOrderCDOne.FormClose(Sender: TObject; var Action: TCloseAction); +begin + Action := caFree; +end; + +procedure TfrmJYOrderCDOne.FormCreate(Sender: TObject); +begin + cxgrid1.Align := alClient; + DQdate := SGetServerDate(ADOQueryTemp); +end; + +procedure TfrmJYOrderCDOne.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('鱨JF', Tv1, ''); +end; + +procedure TfrmJYOrderCDOne.InitGrid(); +var + i: integer; + j: Integer; + strwhere: string; +begin + if cxTabControl1.TabIndex < 2 then + begin + strwhere := strwhere + ' and isnull(A.status,''0'')=''' + inttostr(cxTabControl1.TabIndex) + ''''; + end; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + Filtered := False; + sql.Clear; + sql.Add('select A.*,mjma=round((mjlen/0.9144),(select XSWS from JYOrder_sub X where X.subid=B.subid)),'); + SQL.Add('cast(A.MJSTR4 as varchar(20)) as gangno,'); + sql.Add('C.OrderNo,C.MPRTCodeName,C.MPRTMF,C.MPRTKZ,B.*,'); + sql.Add('KouFenQty=(select Sum(X.KouFenQty) from WFB_MJJY_CD X where X.MJID=A.MJID),'); + sql.Add('CDQty=(select count(X.MJID) from WFB_MJJY_CD X where X.MJID=A.MJID)'); + SQL.Add('from WFB_MJJY A'); + sql.Add('inner join JYOrder_sub B on B.subID=A.subID '); + sql.Add('inner join JYOrder_Main C on C.MainID=A.MainID '); + sql.Add('where A.FillTime>=''' + FormatDateTime('yyyy-MM-dd', BegDate.DateTime) + ''' '); + sql.Add('and A.FillTime<''' + FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1) + ''' '); + if cxTabControl1.TabIndex = 0 then + begin + sql.add('and CKFlag=''δ'' '); + end; + if cxTabControl1.TabIndex = 1 then + begin + sql.add('and CKFlag=''ѳ'' '); + end; + if Trim(DParameters2) = 'Ʒ' then + begin + sql.add('and mjtype=''Ʒ'' '); + end; + sql.add('order by A.mainid,B.prtcolor,gangno,A.mjxh'); +// ShowMessage(SQL.text); + Open; + end; + SCreateCDS20(ADOQueryMain, Order_Main); + SInitCDSData20(ADOQueryMain, Order_Main); + finally + ADOQueryMain.EnableControls; + end; + tbfind.Click; +end; + +procedure TfrmJYOrderCDOne.InitSum(); +var + sumP, sumLen, sumMZ, sumJZ: double; +begin + if Order_Main.IsEmpty then + exit; + try + sumP := 0; + sumLen := 0; + sumMZ := 0; + sumJZ := 0; + with Order_Main do + begin + DisableControls; + First; + while not eof do + begin + if Fieldbyname('ssel').AsBoolean then + begin + sumP := sumP + 1; + sumLen := RoundFloat(sumLen + Order_Main.fieldbyname('mjlen').AsFloat, 2); + sumMZ := RoundFloat(sumMZ + Order_Main.fieldbyname('mjmaoz').AsFloat, 2); + sumJZ := RoundFloat(sumJZ + Order_Main.fieldbyname('mjqty4').AsFloat, 2)// sumMZ := sumMZ + Order_Main.fieldbyname('mjmaoz').AsFloat; +// sumJZ := sumJZ + Order_Main.fieldbyname('mjqty4').AsFloat; + end; + + next; + end; + EnableControls; + end; + + label22.Caption := 'ƥ:' + floattostr(sumP); + label21.Caption := ':' + floattostr(sumLen); + label20.Caption := 'ë:' + floattostr(sumMZ); + label23.Caption := ':' + floattostr(sumJZ); + Order_Main.Locate('mjid', fid, []); + except + application.MessageBox('ʧܣ', 'ʾϢ', 0); + end; +end; + +procedure TfrmJYOrderCDOne.InitForm(); +var + fsj, Strmd: string; +begin + ReadCxGrid('鱨JF', Tv1, ''); + fsj := 'select distinct(Filler) name from WFB_MJJY '; + Strmd := 'select distinct(text) name,index1 from A_MaDan order by index1 '; + SInitComBoxBySql(ADOQueryCmd, Filler, False, fsj); + SInitComBoxBySql(ADOQueryCmd, ComboBox1, False, Strmd); + BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 1; + EndDate.DateTime := SGetServerDate10(ADOQueryTemp); + InitGrid(); +end; + +procedure TfrmJYOrderCDOne.TBFindClick(Sender: TObject); +var + fsj: string; +begin + if ADOQueryMain.Active = False then + Exit; + if RadioGroup1.ItemIndex = 0 then + begin + fsj := ' HXFlag=0 '; + end + else if RadioGroup1.ItemIndex = 1 then + begin + fsj := ' HXFlag=1 '; + end + else if RadioGroup1.ItemIndex = 0 then + begin + fsj := ''; + end; + if Trim(SGetFilters(Panel1, 1, 2)) = '' then + begin + fsj := fsj; + end + else + begin + fsj := SGetFilters(Panel1, 1, 2) + ' and ' + fsj; + end; + SDofilter(ADOQueryMain, fsj); + SCreateCDS20(ADOQueryMain, Order_Main); + SInitCDSData20(ADOQueryMain, Order_Main); + JSbaoNum(); +end; + +procedure TfrmJYOrderCDOne.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then + Exit; + SelExportData(Tv1, ADOQueryMain, '鱨'); +end; + +procedure TfrmJYOrderCDOne.TBRafreshClick(Sender: TObject); +begin + Tv1.DataController.Filter.AutoDataSetFilter := false; + OrderNo.SetFocus; + MovePanel2.Visible := True; + MovePanel2.Refresh; + InitGrid(); + MovePanel2.Visible := False; +end; + +procedure TfrmJYOrderCDOne.OrderNoChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmJYOrderCDOne.FormShow(Sender: TObject); +begin + InitForm(); + if Trim(DParameters2) = '' then + begin + TBZF.Visible := True; + TBManage.Visible := True; + v1Column22.visible := True; + v1Column15.Options.Focusing := True; + ToolButton1.Visible := True; + TCPDB.Visible := True; + ToolButton3.Visible := True; + end; + if Trim(DParameters2) = 'Ʒ' then + begin + v1Column22.visible := False; +// TCPDB.Visible:=True; +// ToolButton3.Visible := True; + end; + if Trim(DParameters2) = '' then + begin + TBZF.Visible := False; + TBManage.Visible := False; + Toolbutton1.visible := False; + Toolbutton3.visible := False; + v1Column22.visible := False; +// TCPDB.Visible:=False; + end; +end; + +procedure TfrmJYOrderCDOne.Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); +begin + ReleaseCapture; + TWinControl(Panel4).Perform(WM_SYSCOMMAND, $F012, 0); +end; + +procedure TfrmJYOrderCDOne.Image2Click(Sender: TObject); +begin + Panel4.Visible := False; +end; + +procedure TfrmJYOrderCDOne.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FLeft := X; + FTop := Y; +end; + +procedure TfrmJYOrderCDOne.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); +begin + Panel4.Left := FLeft; + Panel4.Top := FTop + 110; + Panel4.Visible := True; + Panel4.Refresh; + Panel10.Caption := Trim(TV1.Controller.FocusedColumn.Caption); + RichEdit1.Text := Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString; +end; + +procedure TfrmJYOrderCDOne.TBManageClick(Sender: TObject); +begin + try + frmMJEdit := TfrmMJEdit.Create(Application); + with frmMJEdit do + begin + MJID.Text := Trim(Self.Order_Main.fieldbyname('MJID').AsString); + with ADOTmp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,AOrddefstr3=(select AOrddefstr3 from JYOrder_Sub_AnPai B where B.APID=A.APID), '); + sql.Add('AOrddefstr2=(select AOrddefstr2 from JYOrder_Sub_AnPai B where B.APID=A.APID) from WFB_MJJY A'); + sql.Add(' where A.MJID=''' + Trim(MJID.Text) + ''''); + Open; + end; + if ADOTmp.IsEmpty then + begin + MJID.Text := ''; + Label2.Caption := ''; + Label2.Visible := False; + Application.MessageBox('!', 'ʾ', 0); + Exit; + end; + MJstr4.Text := Trim(ADOTmp.fieldbyname('MJstr4').AsString); + MJXH.Text := Trim(ADOTmp.fieldbyname('MJXH').AsString); + MJMaoZ.Text := Trim(ADOTmp.fieldbyname('MJMaoZ').AsString); + MJLen.Text := Trim(ADOTmp.fieldbyname('MJLen').AsString); + MJQty1.Text := Trim(ADOTmp.fieldbyname('MJQty1').AsString); + MJQty2.Text := Trim(ADOTmp.fieldbyname('MJQty2').AsString); + MJQty4.Text := Trim(ADOTmp.fieldbyname('MJQty4').AsString); + MJFK.Text := Trim(ADOTmp.fieldbyname('MJFK').AsString); + MJSJKZ.Text := Trim(ADOTmp.fieldbyname('MJSJKZ').AsString); + M.Caption := Trim(Trim(ADOTmp.fieldbyname('MJTypeOther').AsString)); + Ma.Caption := Trim(Trim(ADOTmp.fieldbyname('MJStr1').AsString)); + if Trim(m.Caption) = '' then + begin + m.Caption := Trim(ADOTmp.fieldbyname('AOrddefstr3').AsString); + end; + if Trim(Ma.Caption) = '' then + begin + Ma.Caption := Trim(ADOTmp.fieldbyname('AOrddefstr2').AsString); + end; + if Trim(Trim(ADOTmp.fieldbyname('MJType').AsString)) = 'Ʒ' then + begin + RadioGroup1.ItemIndex := 0 + end + else if Trim(Trim(ADOTmp.fieldbyname('MJType').AsString)) = 'Ʒ' then + begin + RadioGroup1.ItemIndex := 1; + end + else if Trim(Trim(ADOTmp.fieldbyname('MJType').AsString)) = '' then + begin + RadioGroup1.ItemIndex := 2; + end; + with ADOTmp do + begin + Close; + sql.Clear; + SQL.Add('select * from WFB_MJJY_CD A where A.MJID=''' + Trim(MJID.Text) + ''''); + Open; + end; + Label2.Caption := Trim(MJID.Text); + Label2.Visible := True; + MJID.Text := ''; + SCreateCDS20(ADOTmp, Order_MJ); + SInitCDSData20(ADOTmp, Order_MJ); + if ShowModal = 1 then + begin + TBRafresh.Click; + end; + end; + finally + frmMJEdit.Free; + end; +end; + +procedure TfrmJYOrderCDOne.N1Click(Sender: TObject); +begin +// SelOKNo(Order_Main, True); + SelOKNoFiler(Tv1, True); + InitSum(); +end; + +procedure TfrmJYOrderCDOne.N2Click(Sender: TObject); +begin +// SelOKNo(Order_Main, False); + SelOKNoFiler(Tv1, False); + InitSum(); +end; + +procedure TfrmJYOrderCDOne.TBZFClick(Sender: TObject); +begin + if Order_Main.Locate('ssel', True, []) = False then + begin + Application.MessageBox('ûѡ!', 'ʾ', 0); + Exit; + end; + if Application.MessageBox('ȷҪϺݲָܻ', 'ʾ', 32 + 4) <> IDYES then + Exit; + Order_Main.DisableControls; + with Order_Main do + begin + First; + while not Eof do + begin + if Order_Main.FieldByName('SSel').AsBoolean = True then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_CR where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); + Open; + end; + if ADOQueryTemp.IsEmpty = False then + begin + Order_Main.EnableControls; + Application.MessageBox('Ѳݲɾ!', 'ʾ', 0); + Exit; + end + else + begin + //begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.add('insert into WFB_MJJY_Del select * from WFB_MJJY where mjid=''' + trim(Order_Main.fieldbyname('MJID').AsString) + ''' '); + sql.Add('update WFB_MJJY_Del Set DelTime=Getdate(),Deler=''' + trim(DName) + ''' where mjid=''' + trim(Order_Main.fieldbyname('MJID').AsString) + ''' '); + sql.Add('delete WFB_MJJY where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); + sql.Add('delete WFB_MJJY_CD where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' ' + quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(trim('ɾ'))); + sql.Add(',' + quotedstr(trim(':' + trim(Order_Main.FieldByName('MJID').AsString) + ' ָʾ:' + trim(Order_Main.FieldByName('subID').AsString) + '׺:' + trim(Order_Main.FieldByName('MJstr4').AsString) + ':' + trim(Order_Main.FieldByName('MJXH').AsString) + ':' + trim(Order_Main.FieldByName('MJLen').AsString) + ':' + trim(Order_Main.FieldByName('MJQty4').AsString)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + ExecSQL; + end; + // end; + end; + Order_Main.Delete; + end + else + Next; + end; + end; + Order_Main.EnableControls; + +end; + +procedure TfrmJYOrderCDOne.ToolButton1Click(Sender: TObject); +//var +// fPrintFile: string; +// Txt, fImagePath: string; +// Moudle: THandle; +// Makebar: TMakebar; +// Mixtext: TMixtext; +begin + + if Order_Main.IsEmpty then + Exit; + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡ!', 'ʾ', 0); + Exit; + end; + Panel13.Left := (self.Width - Panel11.Width) div 2; + Panel13.Visible := true; +// Order_Main.DisableControls; +// with Order_Main do +// begin +// First; +// while not Eof do +// begin +// if Order_Main.FieldByName('SSel').AsBoolean = True then +// begin +// with ADOQueryCmd do +// begin +// Close; +// sql.Clear; +// sql.Add('Update WFB_MJJY Set PrtAgnFlag=1,PrtAgnDate=getdate(),PrtAgnPerson=''' + Trim(DName) + ''''); +// sql.Add(' where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); +// ExecSQL; +// end; +// try +// Moudle := LoadLibrary('MakeQRBarcode.dll'); +// @Makebar := GetProcAddress(Moudle, 'Make'); +// @Mixtext := GetProcAddress(Moudle, 'MixText'); +// Txt := Trim(Order_Main.fieldbyname('MJID').AsString); +// fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp'; +// if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then +// CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); +// if FileExists(fImagePath) then +// DeleteFile(fImagePath); +// Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); +// except +// application.MessageBox('ʧܣ', 'ʾϢ', MB_ICONERROR); +// Order_Main.EnableControls; +// exit; +// end; +//// with ADOQueryPrint do +//// begin +//// Close; +//// SQL.Clear; +//// sql.Add('select A.MJID,A.mjstr3,QtyUnit=A.MJTypeOther,B.orderNo,B.customerNoName,B.LBName '); +//// sql.Add(',EngColor=(select max(Note) from KH_Zdy X where X.ZDYName=C.PRTColor and X.Type=''OrdColor'' ) '); +//// sql.Add(',B.MPRTCF,C.*,A.* '); +//// sql.Add(' from WFB_MJJY A'); +//// sql.Add(' inner join JYOrder_Main B On A.Mainid=B.Mainid'); +//// sql.Add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); +//// SQL.Add(' where A.MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); +//// Open; +//// end; +// +// with ADOQueryPrint do +// begin +// Close; +// SQL.Clear; +// sql.Add('exec P_Print_RollLabel'); +// sql.Add('@MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''' '); +// Open; +// end; +// if Trim(ADOQueryPrint.fieldbyname('SLbName').AsString) <> '' then +// begin +// ExportFtErpFile(Trim(ADOQueryPrint.fieldbyname('SLbName').AsString), ADOQueryCmd); +// fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('SLbName').AsString); +// end +// else +// begin +// ExportFtErpFile('ͨñǩ.rmf', ADOQueryCmd); +// fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ͨñǩ.rmf'; +// end; +// +// if FileExists(fPrintFile) then +// begin +// RMVariables['QRBARCODE'] := fImagePath; +// RM2.LoadFromFile(fPrintFile); +// //RM2.ShowReport; +// RM2.PrintReport; +// end +// else +// begin +// Order_Main.EnableControls; +// Application.MessageBox(PChar('û' + ExtractFilePath(Application.ExeName) + 'Report\ǩ.rmf'), 'ʾ', 0); +// Exit; +// end; +// end; +// Next; +// end; +// end; +// Order_Main.EnableControls; +end; + +procedure TfrmJYOrderCDOne.RadioGroup1Click(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmJYOrderCDOne.OrderNoKeyPress(Sender: TObject; var Key: Char); +begin + if Key = #13 then + begin + if Length(OrderNo.Text) < 2 then + Exit; + MovePanel2.Visible := True; + MovePanel2.Refresh; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + Filtered := False; + sql.Clear; + sql.Add('select A.*,'); + sql.Add('C.OrderNo,C.MPRTCodeName,C.MPRTMF,C.MPRTKZ,B.*,'); + sql.Add('KouFenQty=(select Sum(X.KouFenQty) from WFB_MJJY_CD X where X.MJID=A.MJID),'); + sql.Add('CDQty=(select count(X.MJID) from WFB_MJJY_CD X where X.MJID=A.MJID)'); + SQL.Add('from WFB_MJJY A'); + sql.Add('inner join JYOrder_sub B on B.subID=A.subID '); + sql.Add('inner join JYOrder_Main C on C.MainID=A.MainID '); + sql.Add('where C.orderNo=' + quotedstr(trim(orderNo.Text))); + if CheckBox2.Checked = True then + begin + sql.Add('and A.FillTime>=''' + FormatDateTime('yyyy-MM-dd', BegDate.DateTime) + ''' '); + sql.Add('and A.FillTime<''' + FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1) + ''' '); + end; + Open; + end; + SCreateCDS20(ADOQueryMain, Order_Main); + SInitCDSData20(ADOQueryMain, Order_Main); + finally + ADOQueryMain.EnableControls; + end; + MovePanel2.Visible := False; + // JSbaoNum(); + end; + +end; + +procedure TfrmJYOrderCDOne.PRTColorChange(Sender: TObject); +begin + TBFind.Click; + if Order_Main.IsEmpty = False then + begin + //InitOrderColor(Trim(Order_Main.fieldbyname('MainId').AsString),PRTColor,ADOQueryTemp); + //InitBCGangNo(Trim(Order_Main.fieldbyname('SubId').AsString),AOrdDefStr1,ADOQueryTemp); + end; +end; + +procedure TfrmJYOrderCDOne.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); +begin + if Order_Main.IsEmpty = False then + begin + InitOrderColor(Trim(Order_Main.fieldbyname('MainId').AsString), PRTColor, ADOQueryTemp); + //InitBCGangNo(Trim(Order_Main.fieldbyname('SubId').AsString),AOrdDefStr1,ADOQueryTemp); + //InitRCGangNo(Trim(Order_Main.fieldbyname('SubId').AsString),GangNo,ADOQueryTemp); + end; +end; + +procedure TfrmJYOrderCDOne.GetCDSData(); +begin + CDS_CD.FieldByName('MJXH').Value := CDS_LS.fieldbyname('MJXH').Value; + CDS_CD.FieldByName('GangNo').Value := CDS_LS.fieldbyname('Aorddefstr1').Value; + CDS_CD.FieldByName('PRTColor').Value := CDS_LS.fieldbyname('PRTColor').Value; + CDS_CD.FieldByName('PRTEColor').Value := CDS_LS.fieldbyname('SOrddefstr4').Value; + CDS_CD.FieldByName('MJLen').Value := CDS_LS.fieldbyname('MJLen').Value; + CDS_CD.FieldByName('MJJZ').Value := CDS_LS.fieldbyname('MJQty4').Value; + CDS_CD.FieldByName('MJMZ').Value := CDS_LS.fieldbyname('MJMaoZ').Value; + CDS_CD.FieldByName('MJFK').Value := CDS_LS.fieldbyname('MJFK').Value; + CDS_CD.FieldByName('KFQtyHZ').Value := CDS_LS.fieldbyname('KFQtyHZ').Value; + CDS_CD.FieldByName('DengJi').Value := CDS_LS.fieldbyname('DengJi').Value; + CDS_CD.FieldByName('PanDing').Value := CDS_LS.fieldbyname('PanDing').Value; + CDS_CD.FieldByName('MJID').Value := CDS_LS.fieldbyname('MJID').Value; +end; + +procedure TfrmJYOrderCDOne.ToolButton2Click(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡ', 'ʾ', 0); + Exit; + end; + panel3.Visible := true; + +end; + +procedure TfrmJYOrderCDOne.GetBGData(); +var + FMJId: string; + i, j, z: Integer; +begin + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select MJXH=Cast(0 as int),GangNo=Cast('''' as varchar(20)),PRTColor=Cast('''' as varchar(20)),MJID=Cast('''' as varchar(20))'); + sql.Add(',PRTEColor=Cast('''' as varchar(20)),MJLen=Cast(0 as decimal(18,2)),MJJZ=Cast(0 as decimal(18,2)),XH=Cast(0 as int)'); + sql.Add(',MJMZ=Cast(0 as decimal(18,2)),MJFK=Cast(0 as decimal(18,2)),KFQtyHZ=Cast(0 as int),DengJi=Cast('''' as varchar(20)),PanDing=Cast('''' as varchar(20))'); + sql.Add(',CDName0=Cast('''' as varchar(20)),CDBeg0=Cast('''' as varchar(20)),KFQty0=Cast(0 as int)'); + sql.Add(',CDName1=Cast('''' as varchar(20)),CDBeg1=Cast('''' as varchar(20)),KFQty1=Cast(0 as int)'); + sql.Add(',CDName2=Cast('''' as varchar(20)),CDBeg2=Cast('''' as varchar(20)),KFQty2=Cast(0 as int)'); + sql.Add(',CDName3=Cast('''' as varchar(20)),CDBeg3=Cast('''' as varchar(20)),KFQty3=Cast(0 as int)'); + sql.Add(',CDName4=Cast('''' as varchar(20)),CDBeg4=Cast('''' as varchar(20)),KFQty4=Cast(0 as int)'); + sql.Add(',CDName5=Cast('''' as varchar(20)),CDBeg5=Cast('''' as varchar(20)),KFQty5=Cast(0 as int)'); + sql.Add(',CDName6=Cast('''' as varchar(20)),CDBeg6=Cast('''' as varchar(20)),KFQty6=Cast(0 as int)'); + sql.Add(',CDName7=Cast('''' as varchar(20)),CDBeg7=Cast('''' as varchar(20)),KFQty7=Cast(0 as int)'); + sql.Add(',CDName8=Cast('''' as varchar(20)),CDBeg8=Cast('''' as varchar(20)),KFQty8=Cast(0 as int)'); + sql.Add(',CDName9=Cast('''' as varchar(20)),CDBeg9=Cast('''' as varchar(20)),KFQty9=Cast(0 as int)'); + Open; + end; + SCreateCDS20(ADOQueryTemp, CDS_CD); + SInitCDSData20(ADOQueryTemp, CDS_CD); + if CDS_CD.IsEmpty = False then + CDS_CD.Delete; + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select A.*,Case when isnull(MJType,'''')=''Ʒ'' and KFQtyHZ<26 then ''A'' '); + sql.Add(' when isnull(MJType,'''')=''Ʒ'' and KFQtyHZ>33 then ''C'''); + sql.Add(' when isnull(MJType,'''')=''Ʒ'' and KFQtyHZ>25 and A.KFQtyHZ<34 then ''B'''); + sql.Add(' else MJType end as DengJi'); + sql.Add('from (select A.CDBeg,A.CDName,A.KouFenQty,B.MJXH,C.Aorddefstr1,JS.PRTColor,JS.SOrddefstr4,B.MJID '); + sql.Add(',CDEName=(select Note from KH_Zdy KZ where KZ.ZdyName=A.CDName and KZ.Type=''WFBCD'' )'); + sql.Add(',B.MJLen,B.MJQty4,B.MJMaoZ,B.MJTypeOther,B.MJSJKZ,B.MJFK,B.MJType,B.PanDing'); + sql.Add(',KFQtyHZ=(select Sum(KouFenQty) from WFB_MJJY_CD MCD where MCD.MJID=B.MJID)'); + sql.Add(' from WFB_MJJY B inner join WFB_MJJY_CD A on B.MJID=A.MJID'); + sql.Add(' inner join JYOrder_Sub_AnPai C on B.APID=C.APID'); + sql.Add(' inner join JYOrder_Sub JS on C.SubId=JS.SubId'); + SQL.Add(' where B.MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); + if Trim(MJType.Text) <> '' then + begin + sql.Add(' and isnull(B.MJType,'''')=''' + Trim(MJType.Text) + ''''); + end; + + sql.Add(')A order by PRTColor,Cast(Aorddefstr1 as int),MJID,MJXH'); + Open; + end; + //ShowMessage(ADOQueryTemp.SQL.Text); + //ShowMessage(IntToStr(ADOQueryTemp.RecordCount)); + SCreateCDS20(ADOQueryTemp, CDS_LS); + SInitCDSData20(ADOQueryTemp, CDS_LS); + CDS_LS.DisableControls; + with CDS_LS do + begin + First; + while not Eof do + begin + if CDS_CD.IsEmpty then + begin + with CDS_CD do + begin + Append; + GetCDSData(); + if CheckBox1.Checked = True then + FieldByName('CDName0').Value := CDS_LS.fieldbyname('CDEName').Value + else + FieldByName('CDName0').Value := CDS_LS.fieldbyname('CDName').Value; + FieldByName('CDBeg0').Value := CDS_LS.fieldbyname('CDBeg').Value; + FieldByName('KFQty0').Value := CDS_LS.fieldbyname('KouFenQty').Value; + FieldByName('XH').Value := 0; + Post; + FMJId := Trim(CDS_LS.fieldbyname('MJID').AsString); + i := 0; //к + j := 0; + z := 0; //к + end; + end + else + begin + if Trim(CDS_LS.fieldbyname('MJID').AsString) = FMJId then + begin + i := i + 1; + if i < 10 then + begin + with CDS_CD do + begin + Edit; + GetCDSData(); + if CheckBox1.Checked = True then + FieldByName('CDName' + Trim(IntToStr(i))).Value := CDS_LS.fieldbyname('CDEName').Value + else + FieldByName('CDName' + Trim(IntToStr(i))).Value := CDS_LS.fieldbyname('CDName').Value; + FieldByName('CDBeg' + Trim(IntToStr(i))).Value := CDS_LS.fieldbyname('CDBeg').Value; + FieldByName('KFQty' + Trim(IntToStr(i))).Value := CDS_LS.fieldbyname('KouFenQty').Value; + Post; + end; + end + else + begin + i := 0; + with CDS_CD do + begin + Append; + GetCDSData(); + if CheckBox1.Checked = True then + FieldByName('CDName' + Trim(IntToStr(i))).Value := CDS_LS.fieldbyname('CDEName').Value + else + FieldByName('CDName' + Trim(IntToStr(i))).Value := CDS_LS.fieldbyname('CDName').Value; + FieldByName('CDBeg' + Trim(IntToStr(i))).Value := CDS_LS.fieldbyname('CDBeg').Value; + FieldByName('KFQty' + Trim(IntToStr(i))).Value := CDS_LS.fieldbyname('KouFenQty').Value; + Post; + end; + end; + end + else + begin + i := 0; + with CDS_CD do + begin + Append; + GetCDSData(); + if CheckBox1.Checked = True then + FieldByName('CDName' + Trim(IntToStr(i))).Value := CDS_LS.fieldbyname('CDEName').Value + else + FieldByName('CDName' + Trim(IntToStr(i))).Value := CDS_LS.fieldbyname('CDName').Value; + FieldByName('CDBeg' + Trim(IntToStr(i))).Value := CDS_LS.fieldbyname('CDBeg').Value; + FieldByName('KFQty' + Trim(IntToStr(i))).Value := CDS_LS.fieldbyname('KouFenQty').Value; + Post; + end; + FMJId := Trim(CDS_LS.fieldbyname('MJID').AsString); + end; + end; + Next; + end; + end; + CDS_LS.EnableControls; +end; + +procedure TfrmJYOrderCDOne.v1Column15PropertiesEditValueChanged(Sender: TObject); +var + mvalue: string; +begin + mvalue := TcxTextEdit(Sender).EditingText; + with Order_Main do + begin + Edit; + FieldByName('PanDing').Value := Trim(mvalue); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFB_MJJY Set PanDing=''' + Trim(mvalue) + ''''); + SQL.Add(' where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); + ExecSQL; + end; +end; + +procedure TfrmJYOrderCDOne.TCPDBClick(Sender: TObject); +begin + frmCPDBao := TfrmCPDBao.Create(Application); + with frmCPDBao do + begin + show; + end; +end; + +procedure TfrmJYOrderCDOne.PRTCodeNameChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmJYOrderCDOne.ToolButton3Click(Sender: TObject); +var + fPrintFile: string; + Txt, fImagePath: string; + Moudle: THandle; + Makebar: TMakebar; + Mixtext: TMixtext; +begin + if Order_Main.IsEmpty then + Exit; + if trim(Order_Main.FieldByName('BaoID').AsString) = '' then + begin + application.MessageBox('δܴӡ', 'ʾ'); + exit; + end; + try + Moudle := LoadLibrary('MakeQRBarcode.dll'); + @Makebar := GetProcAddress(Moudle, 'Make'); + @Mixtext := GetProcAddress(Moudle, 'MixText'); + Txt := Trim(Order_Main.fieldbyname('BaoID').AsString); + fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp'; + if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then + CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); + if FileExists(fImagePath) then + DeleteFile(fImagePath); + Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); + except + application.MessageBox('ʧܣ', 'ʾϢ', MB_ICONERROR); + Order_Main.EnableControls; + exit; + end; + with ADOQueryPrint do + begin + Close; + SQL.Clear; + sql.Add('select A.Baoid,A.BaoNo,A.MJTypeOther as QtyUnit,D.OrderNo,D.conNo,D.customerNoName,D.MprtCodeName,D.Mprtspec,D.OrdPerson1,D.MPRTKuanNO,D.LBName,D.NLBName,C.KHorderNo,'); + sql.Add('PRTCodeName=DBO.F_Get_Order_SubStr(BaoID,''BNCodeName''),'); + sql.Add('PRTColor=DBO.F_Get_Order_SubStr(BaoID,''BNColor''),SOrddefstr1=DBO.F_Get_Order_SubStr(BaoID,''BNSOrddefstr1''),'); + sql.Add('SOrddefstr4=DBO.F_Get_Order_SubStr(BaoID,''BNSOrddefstr4''),PRtHX=DBO.F_Get_Order_SubStr(BaoID,''BNPRtHX''), '); + sql.Add('Mjstr4=DBO.F_Get_Order_SubStr(BaoID,''BNGangNo''), '); + sql.Add('MJXH=DBO.F_Get_Order_SubStr(BaoID,''BNMJXH''), '); + sql.Add('BNMJLENLIST=DBO.F_Get_Order_SubStr(BaoID,''BNMJLENLIST''), '); + sql.Add('PRTkuanNo=DBO.F_Get_Order_SubStr(BaoID,''BNPrtkuanno''),'); + sql.Add('khConNo=(select top 1 khConNo from JYOrderCon_Main X where X.ConNO=D.conNO), '); + sql.Add('MprtCodeNameEng=(select top 1 Note from KH_Zdy X where X.zdyName=D.MprtCodeName), '); + SQL.ADD('count(A.MJID) as JSl,sum(A.MJMaoZ) MJMAOZ,sum(MJQty3) as MJQty3,sum(MJQty4) as MJQty4,SUM(A.MJLen)as MJLen'); + sql.Add('from WFB_MJJY A'); + sql.Add(' inner join JYOrder_Sub C on C.SubID=A.SubID'); + sql.Add(' inner join JYOrder_Main D on D.MainID=A.MainID'); + SQL.Add(' where A.BaoID=''' + Trim(Order_Main.fieldbyname('BaoID').AsString) + ''''); + SQL.ADD('group by A.Baoid,A.BaoNo,A.MJTypeOther,D.OrderNo,D.conNo,D.customerNoName,D.MprtCodeName,D.Mprtspec,D.OrdPerson1,D.MPRTKuanNO,D.LBName,D.NLBName,C.KHorderNo'); + Open; + end; + if Trim(ADOQueryPrint.fieldbyname('NLBName').AsString) <> '' then + begin + ExportFtErpFile(Trim(ADOQueryPrint.fieldbyname('NLBName').AsString), ADOQueryCmd); + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('NLBName').AsString); + end + else + begin + ExportFtErpFile('ͨðǩ.rmf', ADOQueryCmd); + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ͨðǩ.rmf'; + end; + + if FileExists(fPrintFile) then + begin + RMVariables['QRBARCODE'] := fImagePath; + RM2.LoadFromFile(fPrintFile); + RM2.ShowReport; + //RM2.printReport; + end + else + begin + Order_Main.EnableControls; + Application.MessageBox(PChar('û' + trim(fPrintFile)), 'ʾ', 0); + Exit; + end; +end; + +procedure TfrmJYOrderCDOne.Button6Click(Sender: TObject); +begin + Panel5.Visible := false; +end; + +procedure TfrmJYOrderCDOne.Button5Click(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡ!', 'ʾ', 0); + Exit; + end; + if trim(ComboBox5.Text) = '' then + begin + Application.MessageBox('λΪ!', 'ʾ', 0); + Exit; + end; + try + Order_Main.DisableControls; + ADOQueryCmd.Connection.BeginTrans; + with Order_Main do + begin + First; + while not Eof do + begin + if Order_Main.FieldByName('SSel').AsBoolean = True then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set MJTypeOther=''' + trim(ComboBox5.Text) + ''' '); + sql.Add('where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); + ExecSQL; + end; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Order_Main.EnableControls; + application.MessageBox('ݱɹ', 'ʾϢ'); + Panel5.Visible := false; + TBRafresh.Click; + except + ADOQueryCmd.Connection.RollbackTrans; + Order_Main.EnableControls; + application.MessageBox('ݱʧܣ', 'ʾϢ', 0); + end; +end; + +procedure TfrmJYOrderCDOne.TBDWClick(Sender: TObject); +begin + Panel5.Left := (self.Width - Panel5.Width) div 2; + Panel5.Visible := true; +end; + +procedure TfrmJYOrderCDOne.Button1Click(Sender: TObject); +var + SL: string; +begin + if Order_Main.IsEmpty then + Exit; + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡ!', 'ʾ', 0); + Exit; + end; + if trim(TZFS.Text) = '' then + begin + Application.MessageBox('ʽΪ!', 'ʾ', 0); + Exit; + end; + if trim(TZSL.Text) = '' then + begin + Application.MessageBox('Ϊ!', 'ʾ', 0); + Exit; + end; + try + Order_Main.DisableControls; + ADOQueryCmd.Connection.BeginTrans; + with Order_Main do + begin + First; + while not Eof do + begin + if Order_Main.FieldByName('SSel').AsBoolean = True then + begin + if Trim(TZFS.Text) = '' then + begin + SL := FloatToStr(Order_Main.fieldbyname('MJLen').AsFloat + strtofloat(TZSL.Text)); + end; + if Trim(TZFS.Text) = '' then + begin + SL := FloatToStr(Order_Main.fieldbyname('MJLen').AsFloat - strtofloat(TZSL.Text)); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set MJLen=''' + SL + ''' '); + sql.Add('where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update CK_BanCP_CR Set Qty=''' + SL + ''' '); + sql.Add('where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); + ExecSQL; + end; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Order_Main.EnableControls; + application.MessageBox('ݱɹ', 'ʾϢ'); + Panel2.Visible := false; + TZFS.Text := ''; + TZSL.Text := ''; + TBRafresh.Click; + except + ADOQueryCmd.Connection.RollbackTrans; + Order_Main.EnableControls; + application.MessageBox('ݱʧܣ', 'ʾϢ', 0); + end; +end; + +procedure TfrmJYOrderCDOne.ToolButton4Click(Sender: TObject); +begin + Panel2.Left := (self.Width - Panel2.Width) div 2; + Panel2.Visible := true; +end; + +procedure TfrmJYOrderCDOne.Button2Click(Sender: TObject); +begin + Panel2.Visible := false; +end; + +procedure TfrmJYOrderCDOne.Button7Click(Sender: TObject); +var + fPrintFile, fPrintFile10, FMainID, LBName: string; +begin + if Order_Main.IsEmpty then + Exit; + + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡ', 'ʾ', 0); + Exit; + end; + + LBName := RadioGroup2.Items.Strings[RadioGroup2.ItemIndex]; + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(LBName) + '.rmf'; + ExportFtErpFile(Trim(LBName) + '.rmf', ADOQueryCmd); + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete TBSubID where DName=''' + Trim(DCode) + ''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('SELECT * FROM TBSubID where 1=2 '); + open; + end; + FMainID := ''; + Order_Main.DisableControls; + try + ADOQueryCmd.Connection.BeginTrans; + with Order_Main do + begin + First; + while not Eof do + begin + if Fieldbyname('Ssel').AsBoolean then + begin + if FMainID = '' then + begin + FMainID := Trim(Order_Main.fieldbyname('APID').AsString); + end + else + begin +// IF Trim(Order_Main.fieldbyname('APID').AsString)<>FMainID then +// begin +// application.MessageBox('ѡIJͬһָʾһӡ','ʾϢ',0); +// ADOQueryCmd.Connection.RollbackTrans; +// EnableControls; +// exit; +// end; + end; + ADOQueryCmd.append; + ADOQueryCmd.fieldbyname('SubId').Value := Trim(Order_Main.fieldbyname('MJID').AsString); + ADOQueryCmd.fieldbyname('Dname').Value := Trim(DCode); + ADOQueryCmd.post; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + except + ADOQueryCmd.Connection.RollbackTrans; + end; + Order_Main.EnableControls; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.add('exec P_Do_Print_JYBB '); + sql.add('@mainID=' + quotedstr(Trim(''))); + sql.add(',@DName=' + quotedstr(Trim(DCode))); + sql.add(',@flag=''0'' '); + Open; + end; + SCreateCDS20(ADOQueryCmd, CDS_HZ); + SInitCDSData20(ADOQueryCmd, CDS_HZ); +// fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\鱨ͨ.rmf'; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + RM2.ShowReport; + end + else + begin + Application.MessageBox(PChar('û' + trim(fPrintFile)), 'ʾϢ', 0); + exit; + end; + +end; + +procedure TfrmJYOrderCDOne.ToolButton5Click(Sender: TObject); +var + fPrintFile, fPrintFile10, FMainID: string; + sqlStr: string; +begin +// if (ComboBox1.ItemIndex = 4) and (Edit3.Text = '') then +// begin +// Application.MessageBox('붨', 'ʾ', 0); +// Exit; +// end; + + if Order_Main.IsEmpty then + Exit; + if trim(ComboBox1.Text) = '' then + exit; + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡ', 'ʾ', 0); + Exit; + end; + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + trim(ComboBox1.Text) + '.rmf'; + + ExportFtErpFile(Trim(ComboBox1.Text) + '.rmf', ADOQueryCmd); + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete TBSubID where DName=''' + Trim(DCode) + ''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('SELECT * FROM TBSubID where 1=2 '); + open; + end; + sqlStr := ''; + FMainID := ''; + Order_Main.DisableControls; + try + ADOQueryCmd.Connection.BeginTrans; + with Order_Main do + begin + First; + while not Eof do + begin + if Fieldbyname('Ssel').AsBoolean then + begin + if FMainID = '' then + begin + FMainID := Trim(Order_Main.fieldbyname('mainID').AsString); + end + else + begin + if Trim(Order_Main.fieldbyname('mainID').AsString) <> FMainID then + begin + application.MessageBox('ѡIJͬһָʾһӡ', 'ʾϢ', 0); + ADOQueryCmd.Connection.RollbackTrans; + EnableControls; + exit; + end; + end; + sqlStr := sqlStr + 'insert into TBSubID(SubId,Dname) '; + sqlStr := sqlStr + ' values( '; + sqlStr := sqlStr + ' ''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''', '; + sqlStr := sqlStr + ' ''' + Trim(DCode) + ''' '; + sqlStr := sqlStr + ' ) '; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + except + ADOQueryCmd.Connection.RollbackTrans; + end; + + Order_Main.EnableControls; + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add(sqlStr); +// showmessage(sql.text); + ExecSQL; + end; + if (trim(ComboBox1.Text) = 'ϸ뵥') or (trim(ComboBox1.Text) = 'ϸ뵥()') then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Print_CKMDYDL_CKMX '); + sql.add('@DName=' + quotedstr(Trim(DCode))); +// ShowMessage(sql.text); + Open; + end; + SCreateCDS20(ADOQueryTemp, CDS_HZ); + SInitCDSData20(ADOQueryTemp, CDS_HZ); + + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID=' + quotedstr(Trim(''))); + sql.add(',@DName=' + quotedstr(Trim(DCode))); + sql.add(',@flag=''2'' '); + Open; + end; + end; + if (trim(ComboBox1.Text) = '뵥') then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Print_CKMDHAEIL_copy1 '); + sql.add('@DName=' + quotedstr(Trim(DCode))); + Open; + end; + SCreateCDS20(ADOQueryTemp, CDS_HZ); + SInitCDSData20(ADOQueryTemp, CDS_HZ); + + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID=' + quotedstr(Trim(''))); + sql.add(',@DName=' + quotedstr(Trim(DCode))); + sql.add(',@flag=''2'' '); + Open; + end; + end; + if (trim(ComboBox1.Text) = '뵥(Ӣ)') then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Print_CKMDHAEIL '); + sql.add('@DName=' + quotedstr(Trim(DCode))); + Open; + end; + SCreateCDS20(ADOQueryTemp, CDS_HZ); + SInitCDSData20(ADOQueryTemp, CDS_HZ); + + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID=' + quotedstr(Trim(''))); + sql.add(',@DName=' + quotedstr(Trim(DCode))); + sql.add(',@flag=''2'' '); + Open; + end; + end; + if (trim(ComboBox1.Text) = '뵥()') then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Print_CKMDHAEIL '); + sql.add('@DName=' + quotedstr(Trim(DCode))); + Open; + end; + SCreateCDS20(ADOQueryTemp, CDS_HZ); + SInitCDSData20(ADOQueryTemp, CDS_HZ); + + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID=' + quotedstr(Trim(''))); + sql.add(',@DName=' + quotedstr(Trim(DCode))); + sql.add(',@flag=''2'' '); + Open; + end; + end; + + if (trim(ComboBox1.Text) = '뵥()') then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Print_CKMDHZ '); + SQL.Add('@mainid='''' '); + sql.add(',@DName=' + quotedstr(Trim(DCode))); +// SQL.Add(',@DLen =' + edit3.Text); + Open; + end; + SCreateCDS20(ADOQueryTemp, CDS_HZ); + SInitCDSData20(ADOQueryTemp, CDS_HZ); + + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID=' + quotedstr(Trim(''))); + sql.add(',@DName=' + quotedstr(Trim(DCode))); + sql.add(',@flag=''2'' '); + Open; + end; + end; + + if (trim(ComboBox1.Text) = '뵥') then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Print_CKMDYDL '); + sql.add('@DName=' + quotedstr(Trim(DCode))); + Open; + end; + SCreateCDS20(ADOQueryTemp, CDS_HZ); + SInitCDSData20(ADOQueryTemp, CDS_HZ); + + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID=' + quotedstr(Trim(''))); + sql.add(',@DName=' + quotedstr(Trim(DCode))); + sql.add(',@flag=''2'' '); + Open; + end; + end; + if (trim(ComboBox1.Text) = 'Ϻ') then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Print_CKMDYDL_SH '); + sql.add('@DName=' + quotedstr(Trim(DCode))); + Open; + end; + SCreateCDS20(ADOQueryTemp, CDS_HZ); + SInitCDSData20(ADOQueryTemp, CDS_HZ); + + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID=' + quotedstr(Trim(''))); + sql.add(',@DName=' + quotedstr(Trim(DCode))); + sql.add(',@flag=''22'' '); + Open; + end; + end; + if (trim(ComboBox1.Text) = '') then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Print_CKMDYDL_SH '); + sql.add('@DName=' + quotedstr(Trim(DCode))); + Open; + end; + SCreateCDS20(ADOQueryTemp, CDS_HZ); + SInitCDSData20(ADOQueryTemp, CDS_HZ); + + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID=' + quotedstr(Trim(''))); + sql.add(',@DName=' + quotedstr(Trim(DCode))); + sql.add(',@flag=''2'' '); + Open; + end; + end; + if (trim(ComboBox1.Text) = '뵥(ʽ)') then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Print_CKMDYDL_copy1 '); + sql.add('@DName=' + quotedstr(Trim(DCode))); + Open; + end; + SCreateCDS20(ADOQueryTemp, CDS_HZ); + SInitCDSData20(ADOQueryTemp, CDS_HZ); + + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID=' + quotedstr(Trim(''))); + sql.add(',@DName=' + quotedstr(Trim(DCode))); + sql.add(',@flag=''2'' '); + Open; + end; + end; + + if (trim(ComboBox1.Text) = '뵥(Ⱦɫ)') then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Print_CKMD '); + sql.add('@mainID=' + quotedstr(Trim(''))); + sql.add(',@DName=' + quotedstr(Trim(DCode))); + Open; + end; + SCreateCDS20(ADOQueryTemp, CDS_HZ); + SInitCDSData20(ADOQueryTemp, CDS_HZ); + + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID=' + quotedstr(Trim(''))); + sql.add(',@DName=' + quotedstr(Trim(DCode))); + sql.add(',@flag=''2'' '); + Open; + end; + end; + if (trim(ComboBox1.Text) = '뵥(ӡ)') then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.add('exec P_Print_CKMD '); + sql.add('@mainID=' + quotedstr(Trim(''))); + sql.add(',@DName=' + quotedstr(Trim(DCode))); + Open; + end; + SCreateCDS20(ADOQueryTemp, CDS_HZ); + SInitCDSData20(ADOQueryTemp, CDS_HZ); + + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.add('exec P_Do_PrintMd_HZ '); + sql.add('@mainID=' + quotedstr(Trim(''))); + sql.add(',@DName=' + quotedstr(Trim(DCode))); + sql.add(',@flag=''2'' '); + Open; + end; + end; + if FileExists(fPrintFile) then + begin + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end + else + begin + Application.MessageBox(PChar('û' + fPrintFile), 'ʾ', 0); + end; +end; + +procedure TfrmJYOrderCDOne.N3Click(Sender: TObject); +begin + panel7.Visible := true; + Label27.Caption := trim(Order_Main.Fieldbyname('prtcolor').AsString); + Label30.Caption := trim(Order_Main.Fieldbyname('orderno').AsString); + FID := trim(Order_Main.Fieldbyname('MJID').AsString); +end; + +procedure TfrmJYOrderCDOne.Image3Click(Sender: TObject); +begin + panel7.Visible := False; +end; + +procedure TfrmJYOrderCDOne.Button9Click(Sender: TObject); +begin + Tv1.DataController.Filter.AutoDataSetFilter := True; + with Order_Main do + begin + DisableControls; + First; + while not Eof do + begin + if fieldbyname('orderno').Asstring = Label30.Caption then + begin + if (fieldbyname('mjxh').asfloat >= strtofloat(edit1.Text)) and (fieldbyname('mjxh').asfloat <= strtofloat(edit2.Text)) then + begin + Edit; + FieldByName('Ssel').Value := True; + Post; + end; + end; + next; + end; + EnableControls; + end; + panel7.Visible := false; + Label30.Caption := ''; + Label27.Caption := ''; + edit1.Text := ''; + edit2.text := ''; + InitSum(); +end; + +procedure TfrmJYOrderCDOne.ComboBox1Change(Sender: TObject); +begin +// edit3.Visible := False; +// Edit3.Text := ''; +// if ComboBox1.ItemIndex = 4 then +// begin +// edit3.Visible := True; +// end; +end; + +procedure TfrmJYOrderCDOne.Edit3KeyPress(Sender: TObject; var Key: Char); +begin + if not (Key in ['0'..'9', '.', #8]) then + Key := #0 +end; + +procedure TfrmJYOrderCDOne.ToolButton6Click(Sender: TObject); +begin + if Order_Main.Locate('ssel', True, []) = False then + begin + Application.MessageBox('ûѡ!', 'ʾ', 0); + Exit; + end; + if Application.MessageBox('ȷҪ', 'ʾ', 32 + 4) <> IDYES then + Exit; + Order_Main.DisableControls; + with Order_Main do + begin + First; + while not Eof do + begin + if Order_Main.FieldByName('SSel').AsBoolean = True then + begin + //begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('update WFB_MJJY set CKFlag=''ѳ'',CKTime=format(getdate(),''yyyy-MM-dd'') where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); + ExecSQL; + end; + + Edit; + FieldByName('CKFlag').Value := 'ѳ'; + Post; + + Next; + end + else + Next; + end; + end; + Order_Main.EnableControls; + +end; + +procedure TfrmJYOrderCDOne.ToolButton7Click(Sender: TObject); +begin + if Order_Main.Locate('ssel', True, []) = False then + begin + Application.MessageBox('ûѡ!', 'ʾ', 0); + Exit; + end; + if Application.MessageBox('ȷҪ', 'ʾ', 32 + 4) <> IDYES then + Exit; + Order_Main.DisableControls; + with Order_Main do + begin + First; + while not Eof do + begin + if Order_Main.FieldByName('SSel').AsBoolean = True then + begin + //begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('update WFB_MJJY set CKFlag=''δ'',CKTime=null where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); + ExecSQL; + end; + + Edit; + FieldByName('CKFlag').Value := 'δ'; + FieldByName('SSel').AsBoolean := False; + Post; + Next; + end + else + Next; + end; + end; + Order_Main.EnableControls; + +end; + +procedure TfrmJYOrderCDOne.Button11Click(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡ!', 'ʾ', 0); + Exit; + end; + try + Order_Main.DisableControls; + ADOQueryCmd.Connection.BeginTrans; + with Order_Main do + begin + First; + while not Eof do + begin + if Order_Main.FieldByName('SSel').AsBoolean = True then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set MJQTY3=''' + trim(cxCurrencyEdit2.Text) + ''' '); + sql.Add('where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); + sql.Add('Update WFB_MJJY Set MJMaoZ=MJQty4+MJQty3 '); + sql.Add('where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); + ExecSQL; + end; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Order_Main.EnableControls; + application.MessageBox('ݱɹ', 'ʾϢ'); + Panel9.Visible := false; + TBRafresh.Click; + except + ADOQueryCmd.Connection.RollbackTrans; + Order_Main.EnableControls; + application.MessageBox('ݱʧܣ', 'ʾϢ', 0); + end; +end; + +procedure TfrmJYOrderCDOne.Button12Click(Sender: TObject); +begin + Panel9.Visible := false; +end; + +procedure TfrmJYOrderCDOne.ToolButton8Click(Sender: TObject); +begin + Panel9.Left := (self.Width - Panel9.Width) div 2; + Panel9.Visible := true; +end; + +procedure TfrmJYOrderCDOne.ToolButton9Click(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + try + + frmMJSJFX := TfrmMJSJFX.Create(Application); + with frmMJSJFX do + begin + frmMJSJFX.OrderNo.Text := Self.Order_Main.fieldbyname('orderno').AsString; + frmMJSJFX.OrderNo.Hint := Self.Order_Main.fieldbyname('Mainid').AsString; + if ShowModal = 1 then + begin + + end; + + end; + finally + frmMJSJFX.Free; + end; +end; + +procedure TfrmJYOrderCDOne.v1Column22PropertiesChange(Sender: TObject); +begin + FID := trim(Order_Main.Fieldbyname('MJID').AsString); + Order_Main.Edit; + if Order_Main.FieldByName('ssel').AsBoolean = false then + begin + Order_Main.FieldByName('ssel').AsBoolean := True; + end + else + Order_Main.FieldByName('ssel').AsBoolean := False; + + InitSum(); +end; + +procedure TfrmJYOrderCDOne.Image1Click(Sender: TObject); +begin + panel3.Visible := false; +end; + +procedure TfrmJYOrderCDOne.Edit_CKMJIDKeyPress(Sender: TObject; var Key: Char); +begin + if Key = #13 then + begin + if trim(Edit_CKMJID.Text) = '' then + exit; + + try + with ADOQueryCmd do + begin + Close; + sql.Clear; +// sql.Add('update WFB_MJJY set CKFlag=''ѳ'' where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); + sql.Add('update WFB_MJJY set CKFlag=''ѳ'',CKTime=format(getdate(),''yyyy-MM-dd'') where MJID=''' + Trim(Edit_CKMJID.text) + ''''); + ExecSQL; + end; + PlaySound('wav\ȷ.wav', 0, SND_FILENAME or SND_ASYNC); + except + PlaySound('wav\ɨ.wav', 0, SND_FILENAME or SND_ASYNC); + end; + Edit_CKMJID.Text := ''; + end; +end; + +procedure TfrmJYOrderCDOne.Button_CKSMClick(Sender: TObject); +begin + Panel_SMCK.Visible := false; +end; + +procedure TfrmJYOrderCDOne.ToolButton10Click(Sender: TObject); +begin + Panel_SMCK.Left := (self.Width - Panel_SMCK.Width) div 2; + Panel_SMCK.Visible := true; + edit_CKMJID.SetFocus; +end; + +procedure TfrmJYOrderCDOne.CheckBox3Click(Sender: TObject); +var + i: Integer; +begin + if CheckBox3.Checked then + begin + with Panel1 do + begin + for i := 0 to ControlCount - 1 do + begin + if Controls[i] is TEdit then + begin + Controls[i].Tag := 1 + end; + end; + end; + end + else + begin + with Panel1 do + begin + for i := 0 to ControlCount - 1 do + begin + if Controls[i] is TEdit then + begin + Controls[i].Tag := 2 + end; + end; + end; + end; +end; + +procedure TfrmJYOrderCDOne.ToolButton11Click(Sender: TObject); +begin + Panel11.Left := (self.Width - Panel11.Width) div 2; + Panel11.Visible := true; +end; + +procedure TfrmJYOrderCDOne.ToolButton12Click(Sender: TObject); +var + index: Integer; +begin + if Edit4.Text = '' then + begin + Exit; + end + else + begin + index := ComboBox1.Items.IndexOf(ComboBox1.text); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from A_MaDan where text=''' + Edit4.Text + ''' '); +// ShowMessage(SQL.Text); + Open; + end; + if ADOQueryTemp.IsEmpty = false then + begin + ShowMessage('뵥ظ'); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('update A_MaDan set text=''' + Edit4.Text + '''where index1=''' + inttostr(index) + ''''); +// ShowMessage(SQL.text); +// sql.Add('update WFB_MJJY set CKFlag=''ѳ'' where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); + ExecSQL; + ExecSQL; + end + + end; + InitForm(); +end; + +procedure TfrmJYOrderCDOne.Button3Click(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡ!', 'ʾ', 0); + Exit; + end; + try + Order_Main.DisableControls; + ADOQueryCmd.Connection.BeginTrans; + with Order_Main do + begin + First; + while not Eof do + begin + if Order_Main.FieldByName('SSel').AsBoolean = True then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set MJstr4=''' + trim(Edit6.Text) + ''' '); + sql.Add('where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); + ExecSQL; + end; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Order_Main.EnableControls; + application.MessageBox('ݱɹ', 'ʾϢ'); + Panel11.Visible := false; + TBRafresh.Click; + except + ADOQueryCmd.Connection.RollbackTrans; + Order_Main.EnableControls; + application.MessageBox('ݱʧܣ', 'ʾϢ', 0); + end; +end; + +procedure TfrmJYOrderCDOne.Button4Click(Sender: TObject); +begin + Panel11.Visible := false; +end; + +procedure TfrmJYOrderCDOne.ToolButton13Click(Sender: TObject); +begin + Panel12.Left := (self.Width - Panel12.Width) div 2; + Panel12.Visible := true; +end; + +procedure TfrmJYOrderCDOne.Button10Click(Sender: TObject); +begin + Panel12.Visible := false; +end; + +procedure TfrmJYOrderCDOne.Button8Click(Sender: TObject); +begin +// if Order_Main.IsEmpty then +// Exit; +// if Order_Main.Locate('SSel', True, []) = False then +// begin +// Application.MessageBox('ûѡ!', 'ʾ', 0); +// Exit; +// end; +// +// try +// Order_Main.DisableControls; +// ADOQueryCmd.Connection.BeginTrans; +// with Order_Main do +// begin +// First; +// while not Eof do +// begin +// if Order_Main.FieldByName('SSel').AsBoolean = True then +// begin +// with ADOQueryCmd do +// begin +// Close; +// sql.Clear; +// sql.Add('Update JYOrder_Sub Set kmxs=''' + trim(Edit5.Text) + ''' '); +// sql.Add('where subid=''' + Trim(Order_Main.fieldbyname('subid').AsString) + ''''); +// sql.Add('Update WFB_MJJY A,JYOrder_Sub B Set A.MJLen=A.MJQty4*B.kmxs '); +// sql.Add('where A.subid=B.subid and MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); +// ShowMessage(SQL.Text); +// ExecSQL; +// end; +// end; +// Next; +// end; +// end; +// ADOQueryCmd.Connection.CommitTrans; +// Order_Main.EnableControls; +// application.MessageBox('ݱɹ', 'ʾϢ'); +// Panel12.Visible := false; +// TBRafresh.Click; +// except +// ADOQueryCmd.Connection.RollbackTrans; +// Order_Main.EnableControls; +// application.MessageBox('ݱʧܣ', 'ʾϢ', 0); +// end; +end; + +procedure TfrmJYOrderCDOne.Button14Click(Sender: TObject); +begin + Panel13.Visible := false; +end; + +procedure TfrmJYOrderCDOne.Button13Click(Sender: TObject); +var + fPrintFile: string; + Txt, fImagePath: string; + Moudle: THandle; + Makebar: TMakebar; + Mixtext: TMixtext; +begin +// if Order_Main.IsEmpty then +// Exit; +// if Order_Main.Locate('SSel', True, []) = False then +// begin +// Application.MessageBox('ûѡ!', 'ʾ', 0); +// Exit; +// end; + if trim(ComboBox2.text) = '' then + begin + application.MessageBox('ǩѡΪ', 'ʾ'); + + exit; + end; + + Order_Main.DisableControls; + with Order_Main do + begin + First; + while not Eof do + begin + if Order_Main.FieldByName('SSel').AsBoolean = True then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set PrtAgnFlag=1,PrtAgnDate=getdate(),PrtAgnPerson=''' + Trim(DName) + ''''); + sql.Add(' where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); + ExecSQL; + end; + try + Moudle := LoadLibrary('MakeQRBarcode.dll'); + @Makebar := GetProcAddress(Moudle, 'Make'); + @Mixtext := GetProcAddress(Moudle, 'MixText'); + Txt := Trim(Order_Main.fieldbyname('MJID').AsString); + fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp'; + if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then + CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); + if FileExists(fImagePath) then + DeleteFile(fImagePath); + Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); + except + application.MessageBox('ʧܣ', 'ʾϢ', MB_ICONERROR); + Order_Main.EnableControls; + exit; + end; + with ADOQueryPrint do + begin + Close; + SQL.Clear; + sql.Add('select A.MJID,A.mjstr3,QtyUnit=A.MJTypeOther,B.orderNo,B.customerNoName,B.LBName '); + sql.Add(',EngColor=(select max(Note) from KH_Zdy X where X.ZDYName=C.PRTColor and X.Type=''OrdColor'' ) '); + sql.Add(',B.MPRTCF,C.*,A.* '); + sql.Add(' from WFB_MJJY A'); + sql.Add(' inner join JYOrder_Main B On A.Mainid=B.Mainid'); + sql.Add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); + SQL.Add(' where A.MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''''); + Open; + end; + + with ADOQueryPrint1 do + begin + Close; + SQL.Clear; + sql.Add('exec P_Print_RollLabel'); + sql.Add('@MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + ''' '); + Open; + end; + if Trim(ADOQueryPrint.fieldbyname('SLbName').AsString) <> '' then + begin + ExportFtErpFile(Trim(ADOQueryPrint.fieldbyname('SLbName').AsString), ADOQueryCmd); + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('SLbName').AsString); + end + else + begin + ExportFtErpFile('ͨñǩ.rmf', ADOQueryCmd); + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ͨñǩ.rmf'; + end; + + if Trim(ADOQueryPrint1.fieldbyname('SLbName').AsString) <> '' then + begin + ExportFtErpFile(Trim(ADOQueryPrint1.fieldbyname('SLbName').AsString), ADOQueryCmd); + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint1.fieldbyname('SLbName').AsString); + end + else + begin + ExportFtErpFile('ͨñǩ.rmf', ADOQueryCmd); + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ͨñǩ.rmf'; + end; + + if FileExists(fPrintFile) then + begin + RMVariables['QRBARCODE'] := fImagePath; + if ComboBox2.Text = 'Ӣֶαǩ' then + begin + RM2.LoadFromFile(fPrintFile); + RM2.DefaultCopies := strtointdef(trim(ComboBox3.Text), 1); +// RM2.ShowReport; + RM2.PrintReport; + end; + + if ComboBox2.Text = 'ֶαǩ' then + begin + RM4.LoadFromFile(fPrintFile); + RM4.DefaultCopies := strtointdef(trim(ComboBox3.Text), 1); +// RM4.ShowReport; + RM4.PrintReport; + end; + Panel13.Visible := false; + end + else + begin + Order_Main.EnableControls; + Application.MessageBox(PChar('û' + ExtractFilePath(Application.ExeName) + 'Report\ǩ.rmf'), 'ʾ', 0); + Exit; + end; + end; + + Next; + end; + end; + Order_Main.EnableControls; + +end; + +procedure TfrmJYOrderCDOne.cxTabControl1Change(Sender: TObject); +begin + InitGrid(); +end; + +end. + diff --git a/打卷检验管理/U_JYOrderOther_Main.dfm b/打卷检验管理/U_JYOrderOther_Main.dfm new file mode 100644 index 0000000..0645f11 --- /dev/null +++ b/打卷检验管理/U_JYOrderOther_Main.dfm @@ -0,0 +1,553 @@ +object FrmJYOrderOther: TFrmJYOrderOther + Left = 215 + Top = 70 + Width = 1003 + Height = 548 + Caption = #35746#21333#20449#24687 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 987 + Height = 54 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 0 + object Label1: TLabel + Left = 47 + Top = 15 + Width = 75 + Height = 24 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object OrderNo: TEdit + Tag = 2 + Left = 131 + Top = 11 + Width = 232 + Height = 32 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + TabOrder = 0 + OnChange = OrderNoChange + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 86 + Width = 457 + Height = 424 + Align = alLeft + TabOrder = 1 + object Tv1: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Header = DataLink_TradeManage.FonePurple + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Width = 140 + end + object v1PRTCodeName: TcxGridDBColumn + Caption = #21697#21517 + DataBinding.FieldName = 'PRTCodeName' + HeaderAlignmentHorz = taCenter + Width = 140 + end + object v1CustomerNoName: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Width = 140 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 987 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 67 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 2 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 71 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBClose: TToolButton + Left = 142 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel2: TPanel + Left = 457 + Top = 86 + Width = 530 + Height = 424 + Align = alClient + TabOrder = 3 + object ToolBar3: TToolBar + Left = 1 + Top = 1 + Width = 528 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 67 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object ToolButton11: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton2Click + end + object ToolButton12: TToolButton + Left = 71 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton3Click + end + object ToolButton1: TToolButton + Left = 142 + Top = 0 + Caption = #20445#23384 + ImageIndex = 14 + OnClick = ToolButton1Click + end + end + object cxGrid2: TcxGrid + Left = 1 + Top = 33 + Width = 528 + Height = 390 + Align = alClient + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 1 + object TV2: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = TVQty + end + item + Kind = skSum + Column = TVLength + end + item + Kind = skSum + Column = TVHeight + end + item + Kind = skSum + Column = TVwidth + end + item + Kind = skSum + Column = TVWeight + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusFirstCellOnNewRecord = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsData.Deleting = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + OptionsView.IndicatorWidth = 20 + Styles.Header = DataLink_TradeManage.handBlack + OnCustomDrawIndicatorCell = TV2CustomDrawIndicatorCell + object TVQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'Qty' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 140 + end + object TVWeight: TcxGridDBColumn + Caption = #37325#37327 + DataBinding.FieldName = 'Weight' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 140 + end + object TVLength: TcxGridDBColumn + Caption = #38271 + DataBinding.FieldName = 'Length' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 140 + end + object TVwidth: TcxGridDBColumn + Caption = #23485 + DataBinding.FieldName = 'width' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 140 + end + object TVHeight: TcxGridDBColumn + Caption = #39640 + DataBinding.FieldName = 'Height' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 140 + end + end + object cxGridLevel1: TcxGridLevel + GridView = TV2 + end + end + object Panel3: TPanel + Left = 592 + Top = 143 + Width = 283 + Height = 279 + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 2 + Visible = False + object SpeedButton1: TSpeedButton + Left = 2 + Top = 207 + Width = 140 + Height = 70 + Caption = '0' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton2: TSpeedButton + Left = 2 + Top = 139 + Width = 70 + Height = 70 + Caption = '1' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton3: TSpeedButton + Left = 72 + Top = 139 + Width = 70 + Height = 70 + Caption = '2' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton4: TSpeedButton + Left = 142 + Top = 139 + Width = 70 + Height = 70 + Caption = '3' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton5: TSpeedButton + Left = 2 + Top = 71 + Width = 70 + Height = 70 + Caption = '4' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton6: TSpeedButton + Left = 73 + Top = 71 + Width = 70 + Height = 70 + Caption = '5' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton7: TSpeedButton + Left = 142 + Top = 71 + Width = 70 + Height = 70 + Caption = '6' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton8: TSpeedButton + Left = 2 + Top = 2 + Width = 70 + Height = 70 + Caption = '7' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton9: TSpeedButton + Left = 72 + Top = 2 + Width = 70 + Height = 70 + Caption = '8' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton10: TSpeedButton + Left = 142 + Top = 2 + Width = 70 + Height = 70 + Caption = '9' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton11: TSpeedButton + Tag = 9 + Left = 142 + Top = 209 + Width = 70 + Height = 68 + Caption = '.' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton12: TSpeedButton + Left = 211 + Top = 2 + Width = 70 + Height = 70 + Caption = #8592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton12Click + end + object SpeedButton49: TSpeedButton + Tag = 9 + Left = 211 + Top = 72 + Width = 70 + Height = 206 + Caption = #38544#34255 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton49Click + end + end + end + object Order_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 282 + Top = 215 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 478 + Top = 201 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 326 + Top = 195 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 393 + Top = 172 + end + object DataSource2: TDataSource + DataSet = Order_Sub + Left = 373 + Top = 203 + end + object ADOQuerySub: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 432 + Top = 191 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 521 + Top = 200 + end + object cxGridPopupMenu2: TcxGridPopupMenu + PopupMenus = <> + Left = 558 + Top = 177 + end +end diff --git a/打卷检验管理/U_JYOrderOther_Main.pas b/打卷检验管理/U_JYOrderOther_Main.pas new file mode 100644 index 0000000..75ae7ce --- /dev/null +++ b/打卷检验管理/U_JYOrderOther_Main.pas @@ -0,0 +1,340 @@ +unit U_JYOrderOther_Main; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel, + cxClasses, cxControls, cxGridCustomView, cxGrid, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, DBClient, Buttons, cxTextEdit, + cxButtonEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; + +type + TFrmJYOrderOther = class(TForm) + Panel1: TPanel; + OrderNo: TEdit; + Label1: TLabel; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + v1OrderNo: TcxGridDBColumn; + v1CustomerNoName: TcxGridDBColumn; + v1PRTCodeName: TcxGridDBColumn; + Order_Sub: TClientDataSet; + Order_Main: TClientDataSet; + DataSource1: TDataSource; + cxGridPopupMenu1: TcxGridPopupMenu; + DataSource2: TDataSource; + ADOQuerySub: TADOQuery; + ADOQueryMain: TADOQuery; + cxGridPopupMenu2: TcxGridPopupMenu; + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBClose: TToolButton; + Panel2: TPanel; + ToolBar3: TToolBar; + ToolButton11: TToolButton; + ToolButton12: TToolButton; + cxGrid2: TcxGrid; + TV2: TcxGridDBTableView; + TVQty: TcxGridDBColumn; + TVWeight: TcxGridDBColumn; + TVLength: TcxGridDBColumn; + TVHeight: TcxGridDBColumn; + TVwidth: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + Panel3: TPanel; + SpeedButton1: TSpeedButton; + SpeedButton2: TSpeedButton; + SpeedButton3: TSpeedButton; + SpeedButton4: TSpeedButton; + SpeedButton5: TSpeedButton; + SpeedButton6: TSpeedButton; + SpeedButton7: TSpeedButton; + SpeedButton8: TSpeedButton; + SpeedButton9: TSpeedButton; + SpeedButton10: TSpeedButton; + SpeedButton11: TSpeedButton; + SpeedButton12: TSpeedButton; + SpeedButton49: TSpeedButton; + ToolButton1: TToolButton; + procedure TBCloseClick(Sender: TObject); + procedure OrderNoChange(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; + APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); + procedure ToolButton3Click(Sender: TObject); + procedure TV2CustomDrawIndicatorCell(Sender: TcxGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; + var ADone: Boolean); + procedure SpeedButton1Click(Sender: TObject); + procedure SpeedButton12Click(Sender: TObject); + procedure SpeedButton49Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + private + Procedure InitData(); + Procedure Savedata(); + function JsXj(str1:string):string; + { Private declarations } + public + fdatabase:string; + { Public declarations } + end; + +var + FrmJYOrderOther: TFrmJYOrderOther; + +implementation + +uses U_Fun,U_DataLink; +{$R *.dfm} + +function TFrmJYOrderOther.JsXj(str1:string):string; +begin + {str1:=trim(str1); + result:=str1; + str1:=StringReplace(str1,'.','',[rfReplaceAll]); + IF length(str1)<1 then exit; + + try + //IF length(str1)>1 then + //str1:=inttostr(strtoint(copy(str1,1,length(str1)-1)))+'.'+copy(str1,length(str1),1) + //else + str1:=copy(str1,length(str1),1); + result:=str1; + except + end;} +end; + +Procedure TFrmJYOrderOther.Savedata(); +var + FMainid: string; +begin + + try + with order_Sub do + begin + first; + while not eof do + begin + if Trim(Order_Sub.fieldbyname('Mainid').AsString)='' then + begin + if GetLSNo(ADOQuerySub,FMainid,'DD','JYOrder_Other',4,1)=False then + begin + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + FMainid:=Trim(Order_Sub.fieldbyname('Mainid').AsString); + end; + with ADOQuerySub do + begin + close; + sql.clear; + sql.add('select * from JYOrder_Other '); + sql.Add('where OrderNo='''+trim(Order_Main.fieldbyname('OrderNo').AsString)+''' '); + sql.add('and PRTCodeName='''+trim(Order_Main.fieldbyname('PRTCodeName').AsString)+''' '); + sql.add('and Mainid='''+trim(FMainid)+''''); + open; + if isempty then + append + else + edit; + fieldbyname('Mainid').asstring:=Trim(FMainid); + fieldbyname('OrderNo').asstring:=Trim(Order_Main.fieldbyname('OrderNo').AsString); + fieldbyname('PRTCodeName').asstring:=Trim(Order_Main.fieldbyname('PRTCodeName').AsString); + fieldbyname('Qty').Value:=Order_Sub.fieldbyname('Qty').AsFloat; + fieldbyname('Weight').Value:=Order_Sub.fieldbyname('Weight').AsFloat; + fieldbyname('Length').Value:=Order_Sub.fieldbyname('Length').AsFloat; + fieldbyname('width').Value:=Order_Sub.fieldbyname('width').AsFloat; + fieldbyname('Height').Value:=Order_Sub.fieldbyname('Height').AsFloat; + post; + end; + next; + end; + end; + application.MessageBox('ɹ','ʾ'); + except + application.MessageBox('ʧ','ʾ',0); + end; +end; + +Procedure TFrmJYOrderOther.InitData(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + close; + sql.Clear; + sql.add('select A.OrderNo,A.CustomerNoName,isnull(B.PRTCodeName,'''') as PRTCodeName from JYOrder_Main A '); + sql.add('Inner join JYOrder_Sub B on B.Mainid=A.Mainid '); + sql.add('where 1=1 '); + sql.add('Group by A.OrderNo,A.CustomerNoName,B.PRTCodeName'); + open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TFrmJYOrderOther.TBCloseClick(Sender: TObject); +begin + close; + WriteCxGrid(self.Caption+Tv1.Name,Tv1,'Ͷ1'); + WriteCxGrid(self.Caption+Tv2.Name,Tv2,'Ͷ2'); +end; + +procedure TFrmJYOrderOther.OrderNoChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TFrmJYOrderOther.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TFrmJYOrderOther.FormShow(Sender: TObject); +begin + ReadCxGrid(self.Caption+Tv1.Name,Tv1,'Ͷ1'); + ReadCxGrid(self.Caption+Tv2.Name,Tv2,'Ͷ2'); + + IF trim(fdatabase)='ѯ'then + begin + ToolBar3.Visible:=false; + tv2.OptionsData.Editing:=false; + end; + InitData(); +end; + +procedure TFrmJYOrderOther.TBRafreshClick(Sender: TObject); +begin + ToolBar1.SetFocus; + InitData(); +end; + +procedure TFrmJYOrderOther.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TFrmJYOrderOther.FormDestroy(Sender: TObject); +begin + FrmJYOrderOther:=nil; +end; + +procedure TFrmJYOrderOther.ToolButton2Click(Sender: TObject); +begin + with Order_Sub do + begin + append; + post; + end; +end; + +procedure TFrmJYOrderOther.Tv1FocusedRecordChanged( + Sender: TcxCustomGridTableView; APrevFocusedRecord, + AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); +begin + if Order_Main.IsEmpty then exit; + with ADOQuerySub do + begin + close; + sql.clear; + sql.Add('select * from JYOrder_Other '); + sql.add('where OrderNo='''+trim(Order_Main.fieldbyname('OrderNo').AsString)+''' '); + sql.add('and PRTCodeName='''+trim(Order_Main.fieldbyname('PRTCodeName').AsString)+''' '); + open; + end; + SCreateCDS20(ADOQuerySub,Order_Sub); + SInitCDSData20(ADOQuerySub,Order_Sub); +end; + +procedure TFrmJYOrderOther.ToolButton3Click(Sender: TObject); +begin + if Order_Sub.IsEmpty then exit; + if application.MessageBox('ȷҪɾ','ʾ',1)=2 then exit; + with ADOQueryMain do + begin + close; + sql.Clear; + sql.add('delete from JYOrder_Other where Mainid='''+trim(Order_Sub.fieldbyname('Mainid').AsString)+''''); + execsql; + end; + order_Sub.Delete; +end; + +procedure TFrmJYOrderOther.TV2CustomDrawIndicatorCell( + Sender: TcxGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean); +var + FValue: string; + FBounds: TRect; +begin + FBounds := AViewInfo.Bounds; + if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then + begin + ACanvas.FillRect(FBounds); + ACanvas.DrawComplexFrame(FBounds, clDefault, clDefault, [bBottom, bLeft, bRight], 1); + FValue :=IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index+1); + InflateRect(FBounds, -3, -2); + ACanvas.Font.Color := clDefault; + ACanvas.Brush.Style := bsClear; + ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop); + ADone := True; + end; +end; + +procedure TFrmJYOrderOther.SpeedButton1Click(Sender: TObject); +var + fsj:string; +begin + fsj:=Trim(TSpeedButton(Sender).Hint); + showmessage(Trim(TSpeedButton(Sender).Hint)); + if Trim(fsj)='' then Exit; + fsj:=Trim(TcxTextEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).EditingText); + TcxTextEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).EditingText:=fsj+Trim(TSpeedButton(Sender).Caption); + TcxTextEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TFrmJYOrderOther.SpeedButton12Click(Sender: TObject); +var + fsj:string; +begin + fsj:=Trim(TcxTextEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).EditingText); + if Trim(fsj)='' then Exit; + TcxTextEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).EditingText:=Copy(fsj,1,Length(fsj)-1); + TcxTextEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TFrmJYOrderOther.SpeedButton49Click(Sender: TObject); +begin + Panel3.Visible:=False; +end; + +procedure TFrmJYOrderOther.ToolButton1Click(Sender: TObject); +begin + if order_Sub.IsEmpty then exit; + Savedata(); + // initData(); +end; + +end. diff --git a/打卷检验管理/U_JYResult.dfm b/打卷检验管理/U_JYResult.dfm new file mode 100644 index 0000000..580b681 --- /dev/null +++ b/打卷检验管理/U_JYResult.dfm @@ -0,0 +1,527 @@ +object frmJYResult: TfrmJYResult + Left = 134 + Top = 55 + Width = 1079 + Height = 664 + Caption = #26816#39564#32467#26524 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 13 + object Label1: TLabel + Left = 63 + Top = 59 + Width = 74 + Height = 35 + Caption = #20811#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 63 + Top = 122 + Width = 74 + Height = 35 + Caption = #21402#24230 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 142 + Top = 204 + Width = 74 + Height = 35 + Caption = #21560#27700 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 867 + Top = 52 + Width = 70 + Height = 35 + Caption = 'g/'#13217 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 880 + Top = 120 + Width = 38 + Height = 35 + Caption = 'mm' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 385 + Top = 204 + Width = 74 + Height = 35 + Caption = #27668#21619 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 625 + Top = 204 + Width = 111 + Height = 35 + Caption = #33394#29282#24230 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object KZ1: TEdit + Left = 142 + Top = 55 + Width = 140 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = KZ1Click + end + object KZ2: TEdit + Left = 288 + Top = 55 + Width = 140 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = KZ2Click + end + object KZ3: TEdit + Left = 434 + Top = 55 + Width = 140 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = KZ3Click + end + object KZ4: TEdit + Left = 580 + Top = 55 + Width = 140 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = KZ4Click + end + object KZ5: TEdit + Left = 726 + Top = 55 + Width = 140 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + OnClick = KZ5Click + end + object HD1: TEdit + Left = 142 + Top = 118 + Width = 140 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + OnClick = HD1Click + end + object HD2: TEdit + Left = 288 + Top = 118 + Width = 140 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + OnClick = HD2Click + end + object HD3: TEdit + Left = 434 + Top = 118 + Width = 140 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + OnClick = HD3Click + end + object HD4: TEdit + Left = 580 + Top = 118 + Width = 140 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + OnClick = HD4Click + end + object HD5: TEdit + Left = 726 + Top = 118 + Width = 140 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + OnClick = HD5Click + end + object XSWater: TComboBox + Left = 216 + Top = 195 + Width = 129 + Height = 56 + Style = csDropDownList + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ItemHeight = 48 + ParentFont = False + TabOrder = 10 + Items.Strings = ( + #22909 + #23578#21487 + #27424#20339) + end + object QiWei: TComboBox + Left = 460 + Top = 195 + Width = 129 + Height = 56 + Style = csDropDownList + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ItemHeight = 48 + ParentFont = False + TabOrder = 11 + Items.Strings = ( + #26377 + #26080) + end + object Button1: TButton + Left = 296 + Top = 514 + Width = 120 + Height = 90 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 12 + OnClick = Button1Click + end + object Button2: TButton + Left = 592 + Top = 514 + Width = 120 + Height = 90 + Caption = #36864#20986 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 13 + OnClick = Button2Click + end + object Panel3: TPanel + Left = 187 + Top = 272 + Width = 618 + Height = 212 + BevelInner = bvRaised + BevelOuter = bvLowered + ParentColor = True + TabOrder = 14 + object SpeedButton1: TSpeedButton + Left = 412 + Top = 108 + Width = 100 + Height = 100 + Caption = '0' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton2: TSpeedButton + Left = 3 + Top = 2 + Width = 100 + Height = 100 + Caption = '1' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton3: TSpeedButton + Left = 105 + Top = 2 + Width = 100 + Height = 100 + Caption = '2' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton4: TSpeedButton + Left = 207 + Top = 2 + Width = 100 + Height = 100 + Caption = '3' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton5: TSpeedButton + Left = 309 + Top = 2 + Width = 100 + Height = 100 + Caption = '4' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton6: TSpeedButton + Left = 411 + Top = 2 + Width = 100 + Height = 100 + Caption = '5' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton7: TSpeedButton + Left = 4 + Top = 108 + Width = 100 + Height = 100 + Caption = '6' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton8: TSpeedButton + Left = 106 + Top = 108 + Width = 100 + Height = 100 + Caption = '7' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton9: TSpeedButton + Left = 208 + Top = 108 + Width = 100 + Height = 100 + Caption = '8' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton10: TSpeedButton + Left = 310 + Top = 108 + Width = 100 + Height = 100 + Caption = '9' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton11: TSpeedButton + Tag = 9 + Left = 514 + Top = 108 + Width = 100 + Height = 100 + Caption = '.' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton12: TSpeedButton + Left = 513 + Top = 2 + Width = 100 + Height = 100 + Caption = #8592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -96 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton12Click + end + end + object SeLD: TComboBox + Left = 737 + Top = 195 + Width = 129 + Height = 56 + Style = csDropDownList + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ItemHeight = 48 + ParentFont = False + TabOrder = 15 + Items.Strings = ( + #22909 + #19981#22909 + #20813#26816) + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 960 + Top = 528 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 984 + Top = 456 + end +end diff --git a/打卷检验管理/U_JYResult.pas b/打卷检验管理/U_JYResult.pas new file mode 100644 index 0000000..ad818b0 --- /dev/null +++ b/打卷检验管理/U_JYResult.pas @@ -0,0 +1,480 @@ +unit U_JYResult; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, DB, ADODB, Buttons, ExtCtrls; + +type + TfrmJYResult = class(TForm) + Label1: TLabel; + KZ1: TEdit; + KZ2: TEdit; + KZ3: TEdit; + KZ4: TEdit; + KZ5: TEdit; + Label2: TLabel; + HD1: TEdit; + HD2: TEdit; + HD3: TEdit; + HD4: TEdit; + HD5: TEdit; + Label3: TLabel; + Label4: TLabel; + Label5: TLabel; + XSWater: TComboBox; + Label6: TLabel; + QiWei: TComboBox; + Button1: TButton; + Button2: TButton; + ADOQueryCmd: TADOQuery; + ADOQueryTemp: TADOQuery; + Panel3: TPanel; + SpeedButton1: TSpeedButton; + SpeedButton2: TSpeedButton; + SpeedButton3: TSpeedButton; + SpeedButton4: TSpeedButton; + SpeedButton5: TSpeedButton; + SpeedButton6: TSpeedButton; + SpeedButton7: TSpeedButton; + SpeedButton8: TSpeedButton; + SpeedButton9: TSpeedButton; + SpeedButton10: TSpeedButton; + SpeedButton11: TSpeedButton; + SpeedButton12: TSpeedButton; + Label7: TLabel; + SeLD: TComboBox; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure KZ1Click(Sender: TObject); + procedure SpeedButton1Click(Sender: TObject); + procedure SpeedButton12Click(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure KZ2Click(Sender: TObject); + procedure KZ3Click(Sender: TObject); + procedure KZ4Click(Sender: TObject); + procedure KZ5Click(Sender: TObject); + procedure HD1Click(Sender: TObject); + procedure HD2Click(Sender: TObject); + procedure HD3Click(Sender: TObject); + procedure HD4Click(Sender: TObject); + procedure HD5Click(Sender: TObject); + private + Fint:Integer; + { Private declarations } + public + { Public declarations } + end; + +var + frmJYResult: TfrmJYResult; + +implementation +uses +U_DataLink,U_Fun,U_iniParam; + +{$R *.dfm} + +procedure TfrmJYResult.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + DataLink_WFBProducttion.ADOLink.Connected:=False; + Action:=caFree; +end; + +procedure TfrmJYResult.FormDestroy(Sender: TObject); +begin + frmJYResult:=nil; +end; + +procedure TfrmJYResult.Button1Click(Sender: TObject); +var + MJIDInt:Integer; + maxno,maxno10,maxno20,FBanZu:String; +begin + if( (Trim(KZ1.Text)<>'') and (Trim(KZ2.Text)<>'') and (Trim(KZ3.Text)<>'') and + (Trim(KZ4.Text)<>'') and (Trim(KZ5.Text)<>'') )=False then + begin + Application.MessageBox('ݲȫ','ʾ',0); + Exit; + end; + if( (Trim(HD1.Text)<>'') and (Trim(HD2.Text)<>'') and (Trim(HD3.Text)<>'') and + (Trim(HD4.Text)<>'') and (Trim(HD5.Text)<>'') )=False then + begin + Application.MessageBox('ݲȫ','ʾ',0); + Exit; + end; + if Trim(XSWater.Text)='' then + begin + Application.MessageBox('ˮΪգ','ʾ',0); + Exit; + end; + if Trim(QiWei.Text)='' then + begin + Application.MessageBox('ζΪգ','ʾ',0); + Exit; + end; + if Trim(SeLD.Text)='' then + begin + Application.MessageBox('ɫζȲΪգ','ʾ',0); + Exit; + end; + DataLink_WFBProducttion.ADOLink.Connected:=False; + DataLink_WFBProducttion.ADOLink.Connected:=True; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select * from WFB_MJJY where Cast(MJID as int)='); + sql.Add('(select Max(Cast(MJID as int) ) from WFB_JYResult'); + if Trim(SCXFlag)<>'' then + begin + sql.Add(' where JTType='''+Trim(SCXFlag)+''''); + end; + sql.Add(')'); + if Trim(SCXFlag)<>'' then + begin + sql.Add(' and JTType='''+Trim(SCXFlag)+''''); + end; + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + with ADOQueryCmd do + begin + close; + SQL.Clear; + SQL.Add('select Top 1* from WFB_JYResult'); + if Trim(SCXFlag)<>'' then + begin + sql.Add(' where JTType='''+Trim(SCXFlag)+''''); + end; + Open; + end; + if ADOQueryCmd.IsEmpty=False then + begin + Application.MessageBox('ϾδӡǩԽ飡','ʾ',0); + Exit; + end; + end; + if Application.MessageBox('ȷҪִвȷݽ޸ģ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select isnull(Max(Cast(MJID as int)),0) MJIDInt from WFB_MJJY'); + if Trim(SCXFlag)<>'' then + begin + sql.Add(' where JTType='''+Trim(SCXFlag)+''''); + end; + Open; + end; + // 112091201 20120914 + MJIDInt:=ADOQueryTemp.fieldbyname('MJIDInt').Value; + maxno10:=Trim(FormatDateTime('yyyyMMdd',SGetServerDateTime(ADOQueryTemp))); + maxno10:=Trim(SCXFlag)+Trim(Copy(maxno10,3,6)); + maxno20:=IntToStr(MJIDInt); + maxno20:=Copy(maxno20,1,7); + try + ADOQueryCmd.Connection.BeginTrans; + if MJIDInt>0 then + begin + if StrToInt(maxno10)>StrToInt(maxno20) then + begin + if GetLSNo(ADOQueryCmd,maxno,Trim(SCXFlag),'WFB_MJJY',2,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + end else + maxno:=Trim(IntToStr(MJIDInt+1)) + end else + begin + with ADOQueryTemp do + begin + Close; + SQL.Clear; + SQL.Add('select * from WFB_JB '); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + if GetLSNo(ADOQueryCmd,maxno,Trim(SCXFlag),'WFB_MJJY',2,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(ADOQueryTemp.fieldbyname('MJID').AsString); + end; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_JYResult where MJID='''+Trim(maxno)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('Ѿ飡','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select * from SY_User where UserId='''+Trim(DCode)+''''); + Open; + end; + FBanZu:=Trim(ADOQueryTemp.fieldbyname('BanZu').AsString); + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_JYResult where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MJID').Value:=Trim(maxno); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('BanZu').Value:=Trim(FBanZu); + FieldByName('KZ1').Value:=Trim(KZ1.Text); + FieldByName('KZ2').Value:=Trim(KZ2.Text); + FieldByName('KZ3').Value:=Trim(KZ3.Text); + FieldByName('KZ4').Value:=Trim(KZ4.Text); + FieldByName('KZ5').Value:=Trim(KZ5.Text); + FieldByName('HD1').Value:=Trim(HD1.Text); + FieldByName('HD2').Value:=Trim(HD2.Text); + FieldByName('HD3').Value:=Trim(HD3.Text); + FieldByName('HD4').Value:=Trim(HD4.Text); + FieldByName('HD5').Value:=Trim(HD5.Text); + FieldByName('XSWater').Value:=Trim(XSWater.Text); + FieldByName('QiWei').Value:=Trim(QiWei.Text); + FieldByName('SeLD').Value:=Trim(SeLD.Text); + if Trim(SCXFlag)<>'' then + begin + FieldByName('JTType').Value:=Trim(SCXFlag); + end; + Post; + end; + ADOQueryCmd.Connection.CommitTrans; + //Application.MessageBox('ɹ','ʾ',0); + Exit; + except + DataLink_WFBProducttion.ADOLink.Connected:=False; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; + DataLink_WFBProducttion.ADOLink.Connected:=False; +end; + +procedure TfrmJYResult.Button2Click(Sender: TObject); +begin + Close; +end; + +procedure TfrmJYResult.KZ1Click(Sender: TObject); +begin + Fint:=1; +end; + +procedure TfrmJYResult.SpeedButton1Click(Sender: TObject); +begin + if Fint=1 then + begin + KZ1.Text:=Trim(KZ1.Text)+Trim(TSpeedButton(Sender).Caption); + KZ1.SelectAll; + end else + if Fint=2 then + begin + KZ2.Text:=Trim(KZ2.Text)+Trim(TSpeedButton(Sender).Caption); + KZ2.SelectAll; + end else + if Fint=3 then + begin + KZ3.Text:=Trim(KZ3.Text)+Trim(TSpeedButton(Sender).Caption); + KZ3.SelectAll; + end else + if Fint=4 then + begin + KZ4.Text:=Trim(KZ4.Text)+Trim(TSpeedButton(Sender).Caption); + KZ4.SelectAll; + end else + if Fint=5 then + begin + KZ5.Text:=Trim(KZ5.Text)+Trim(TSpeedButton(Sender).Caption); + KZ5.SelectAll; + end else + if Fint=6 then + begin + HD1.Text:=Trim(HD1.Text)+Trim(TSpeedButton(Sender).Caption); + HD1.SelectAll; + end else + if Fint=7 then + begin + HD2.Text:=Trim(HD2.Text)+Trim(TSpeedButton(Sender).Caption); + HD2.SelectAll; + end else + if Fint=8 then + begin + HD3.Text:=Trim(HD3.Text)+Trim(TSpeedButton(Sender).Caption); + HD3.SelectAll; + end else + if Fint=9 then + begin + HD4.Text:=Trim(HD4.Text)+Trim(TSpeedButton(Sender).Caption); + HD4.SelectAll; + end else + if Fint=10 then + begin + HD5.Text:=Trim(HD5.Text)+Trim(TSpeedButton(Sender).Caption); + HD5.SelectAll; + end; +end; + +procedure TfrmJYResult.SpeedButton12Click(Sender: TObject); +begin + if Fint=1 then + begin + if Trim(KZ1.Text)<>'' then + begin + KZ1.Text:=Copy(Trim(KZ1.Text),1,Length(Trim(KZ1.Text))-1); + KZ1.SelectAll; + end; + end else + if Fint=2 then + begin + if Trim(KZ2.Text)<>'' then + begin + KZ2.Text:=Copy(Trim(KZ2.Text),1,Length(Trim(KZ2.Text))-1); + KZ2.SelectAll; + end; + end else + if Fint=3 then + begin + if Trim(KZ3.Text)<>'' then + begin + KZ3.Text:=Copy(Trim(KZ3.Text),1,Length(Trim(KZ3.Text))-1); + KZ3.SelectAll; + end; + end else + if Fint=4 then + begin + if Trim(KZ4.Text)<>'' then + begin + KZ4.Text:=Copy(Trim(KZ4.Text),1,Length(Trim(KZ4.Text))-1); + KZ4.SelectAll; + end; + end else + if Fint=5 then + begin + if Trim(KZ5.Text)<>'' then + begin + KZ5.Text:=Copy(Trim(KZ5.Text),1,Length(Trim(KZ5.Text))-1); + KZ5.SelectAll; + end; + end else + if Fint=6 then + begin + if Trim(HD1.Text)<>'' then + begin + HD1.Text:=Copy(Trim(HD1.Text),1,Length(Trim(HD1.Text))-1); + HD1.SelectAll; + end; + end else + if Fint=7 then + begin + if Trim(HD2.Text)<>'' then + begin + HD2.Text:=Copy(Trim(HD2.Text),1,Length(Trim(HD2.Text))-1); + HD2.SelectAll; + end; + end else + if Fint=8 then + begin + if Trim(HD3.Text)<>'' then + begin + HD3.Text:=Copy(Trim(HD3.Text),1,Length(Trim(HD3.Text))-1); + HD3.SelectAll; + end; + end else + if Fint=9 then + begin + if Trim(HD4.Text)<>'' then + begin + HD4.Text:=Copy(Trim(HD4.Text),1,Length(Trim(HD4.Text))-1); + HD4.SelectAll; + end; + end else + if Fint=10 then + begin + if Trim(HD5.Text)<>'' then + begin + HD5.Text:=Copy(Trim(HD5.Text),1,Length(Trim(HD5.Text))-1); + HD5.SelectAll; + end; + end; +end; + +procedure TfrmJYResult.FormShow(Sender: TObject); +begin + Fint:=1; + KZ1.SetFocus; +end; + +procedure TfrmJYResult.KZ2Click(Sender: TObject); +begin + Fint:=2; +end; + +procedure TfrmJYResult.KZ3Click(Sender: TObject); +begin + Fint:=3; +end; + +procedure TfrmJYResult.KZ4Click(Sender: TObject); +begin + Fint:=4; +end; + +procedure TfrmJYResult.KZ5Click(Sender: TObject); +begin + Fint:=5; +end; + +procedure TfrmJYResult.HD1Click(Sender: TObject); +begin + Fint:=6; +end; + +procedure TfrmJYResult.HD2Click(Sender: TObject); +begin + Fint:=7; +end; + +procedure TfrmJYResult.HD3Click(Sender: TObject); +begin + Fint:=8; +end; + +procedure TfrmJYResult.HD4Click(Sender: TObject); +begin + Fint:=9; +end; + +procedure TfrmJYResult.HD5Click(Sender: TObject); +begin + Fint:=10; +end; + +end. diff --git a/打卷检验管理/U_JiangLiaoSet.dfm b/打卷检验管理/U_JiangLiaoSet.dfm new file mode 100644 index 0000000..0fbe367 --- /dev/null +++ b/打卷检验管理/U_JiangLiaoSet.dfm @@ -0,0 +1,968 @@ +object frmJiangLiaoSet: TfrmJiangLiaoSet + Left = 36 + Top = 5 + Width = 1225 + Height = 754 + Caption = #27974#26009#37197#21046#21333 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 14 + object Label12: TLabel + Left = 664 + Top = 15 + Width = 30 + Height = 14 + Caption = #39068#33394 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1217 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 63 + Caption = 'ToolBar1' + Color = clSkyBlue + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBProducttion.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 67 + Top = 0 + Caption = #25764#38144 + ImageIndex = 7 + OnClick = ToolButton2Click + end + object TBClose: TToolButton + Left = 130 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 29 + Width = 1217 + Height = 42 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 15 + Width = 60 + Height = 14 + Caption = #31614#21457#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 187 + Top = 15 + Width = 21 + Height = 14 + Caption = '---' + end + object Label3: TLabel + Left = 328 + Top = 15 + Width = 45 + Height = 14 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 528 + Top = 15 + Width = 30 + Height = 14 + Caption = #23458#25143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 688 + Top = 15 + Width = 30 + Height = 14 + Caption = #39068#33394 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 824 + Top = 15 + Width = 60 + Height = 14 + Caption = #37197#27974#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 83 + Top = 11 + Width = 105 + Height = 22 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 201 + Top = 11 + Width = 103 + Height = 22 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + TabOrder = 1 + end + object OrderNo: TEdit + Tag = 2 + Left = 376 + Top = 11 + Width = 137 + Height = 22 + TabOrder = 2 + OnChange = OrderNoChange + end + object CustomNoName: TEdit + Tag = 2 + Left = 560 + Top = 11 + Width = 105 + Height = 22 + TabOrder = 3 + OnChange = OrderNoChange + end + object SWFBColor: TComboBox + Tag = 1 + Left = 721 + Top = 11 + Width = 78 + Height = 22 + Style = csDropDownList + ItemHeight = 14 + TabOrder = 4 + OnChange = OrderNoChange + end + object ZuHeID: TEdit + Tag = 2 + Left = 885 + Top = 11 + Width = 137 + Height = 22 + TabOrder = 5 + OnChange = OrderNoChange + end + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 71 + Width = 1217 + Height = 24 + Align = alTop + Style = 9 + TabIndex = 0 + TabOrder = 2 + Tabs.Strings = ( + #24453#37197#21046 + #24050#37197#21046) + OnChange = cxTabControl1Change + ClientRectBottom = 24 + ClientRectRight = 1217 + ClientRectTop = 21 + end + object cxGrid4: TcxGrid + Left = 0 + Top = 95 + Width = 1217 + Height = 242 + Align = alClient + TabOrder = 3 + object TvOrdNo: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = TvOrdNoCellClick + DataController.DataSource = DSOrdNo + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_WFBProducttion.SHuangSe + Styles.IncSearch = DataLink_WFBProducttion.SHuangSe + Styles.Selection = DataLink_WFBProducttion.SHuangSe + object vOrderBakColumn1: TcxGridDBColumn + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 39 + end + object vOrderBakColumn2: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 118 + end + object vOrderBakColumn3: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomNoName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 52 + end + object vOrdNoColumn2: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'OrderQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 69 + end + object vOrdNoColumn3: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 76 + end + object vOrderBakColumn4: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 45 + end + object vOrderBakColumn5: TcxGridDBColumn + Caption = #23457#26680#29366#24577 + DataBinding.FieldName = 'ChkStatus' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 60 + end + object vOrdNoColumn1: TcxGridDBColumn + Caption = #37197#27974#21333#21495 + DataBinding.FieldName = 'ZuHeID' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 117 + end + end + object cxGrid4Level1: TcxGridLevel + GridView = TvOrdNo + end + end + object Panel2: TPanel + Left = 0 + Top = 337 + Width = 1217 + Height = 71 + Align = alBottom + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 4 + object Label4: TLabel + Left = 5 + Top = 41 + Width = 80 + Height = 15 + Caption = #37197#21046#25968#37327#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 162 + Top = 41 + Width = 18 + Height = 15 + Caption = 'KG' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label14: TLabel + Left = 5 + Top = 12 + Width = 80 + Height = 15 + Caption = #20135#21697#22411#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label16: TLabel + Left = 183 + Top = 12 + Width = 48 + Height = 15 + Caption = #23380#30446#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label17: TLabel + Left = 183 + Top = 41 + Width = 48 + Height = 15 + Caption = #33457#22411#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 453 + Top = 41 + Width = 80 + Height = 15 + Caption = #37197#21046#25968#37327#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 610 + Top = 41 + Width = 18 + Height = 15 + Caption = 'KG' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object MCQty: TEdit + Tag = 2 + Left = 76 + Top = 37 + Width = 84 + Height = 23 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnChange = MCQtyChange + OnKeyPress = MCQtyKeyPress + end + object WFBCpSpec: TcxButtonEdit + Left = 76 + Top = 10 + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = SWFBCodeNamePropertiesButtonClick + TabOrder = 1 + Width = 84 + end + object WKMS: TcxButtonEdit + Left = 222 + Top = 10 + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = WKMSPropertiesButtonClick + TabOrder = 2 + Width = 58 + end + object SWFBHW: TcxButtonEdit + Left = 222 + Top = 38 + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = cxButtonEdit2PropertiesButtonClick + TabOrder = 3 + Width = 58 + end + object BtnSave: TButton + Left = 376 + Top = 10 + Width = 54 + Height = 22 + Caption = #20445#23384 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + OnClick = BtnSaveClick + end + object BtnPrint: TButton + Left = 376 + Top = 38 + Width = 55 + Height = 22 + Caption = #25171#21360 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + OnClick = BtnPrintClick + end + object BtnChkNo: TButton + Left = 288 + Top = 38 + Width = 80 + Height = 22 + Caption = #23457#26680#19981#36890#36807 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + OnClick = BtnChkNoClick + end + object BtnChkOk: TButton + Left = 288 + Top = 10 + Width = 80 + Height = 22 + Caption = #23457#26680#36890#36807 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + OnClick = BtnChkOkClick + end + object MCQty10: TEdit + Tag = 2 + Left = 524 + Top = 37 + Width = 84 + Height = 23 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + OnChange = MCQty10Change + OnKeyPress = MCQtyKeyPress + end + end + object Panel3: TPanel + Left = 0 + Top = 408 + Width = 1217 + Height = 309 + Align = alBottom + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 5 + object Label7: TLabel + Left = 1100 + Top = 51 + Width = 45 + Height = 14 + Caption = #22791#27880#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label8: TLabel + Left = 1100 + Top = 131 + Width = 45 + Height = 14 + Caption = #22791#27880#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label9: TLabel + Left = 1100 + Top = 211 + Width = 45 + Height = 14 + Caption = #22791#27880#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object cxGrid1: TcxGrid + Left = 2 + Top = 2 + Width = 435 + Height = 305 + Align = alLeft + PopupMenu = PopupMenu3 + TabOrder = 0 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DSSub + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1Column5 + end + item + Kind = skSum + Column = v1Column4 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object v1Column1: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + SortIndex = 0 + SortOrder = soAscending + Width = 53 + end + object v1Column3: TcxGridDBColumn + Caption = #21407#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 104 + end + object v1Column4: TcxGridDBColumn + Caption = #39044#20272#25968#37327'(kg)' + DataBinding.FieldName = 'YGQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 91 + end + object v1Column2: TcxGridDBColumn + Tag = 2 + Caption = #37197#27604#37327 + DataBinding.FieldName = 'PBQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 73 + end + object v1Column5: TcxGridDBColumn + Tag = 2 + Caption = #23454#38469#25968#37327'(kg)' + DataBinding.FieldName = 'SJQty' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Width = 91 + end + end + object cxGrid1Level4: TcxGridLevel + GridView = Tv1 + end + end + object cxGrid3: TcxGrid + Left = 437 + Top = 2 + Width = 337 + Height = 305 + Align = alLeft + PopupMenu = PopupMenu1 + TabOrder = 1 + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DSJYFZ + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column4 + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object v2Column1: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + SortIndex = 0 + SortOrder = soAscending + Width = 59 + end + object cxGridDBColumn1: TcxGridDBColumn + Caption = #21407#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 112 + end + object v2Column2: TcxGridDBColumn + Caption = #37197#27604#37327 + DataBinding.FieldName = 'PBQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v2Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 69 + end + object v2Column4: TcxGridDBColumn + Tag = 2 + Caption = #23454#38469#25968#37327'(kg)' + DataBinding.FieldName = 'SJQty' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Width = 92 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv2 + end + end + object Panel4: TPanel + Left = 774 + Top = 2 + Width = 153 + Height = 305 + Align = alLeft + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 2 + object Panel8: TPanel + Left = 2 + Top = 2 + Width = 149 + Height = 25 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Caption = #22791#27880 + TabOrder = 0 + end + object MCNote: TRichEdit + Left = 2 + Top = 27 + Width = 149 + Height = 276 + Align = alClient + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + Lines.Strings = ( + '') + ParentFont = False + ScrollBars = ssBoth + TabOrder = 1 + end + end + object Panel5: TPanel + Left = 927 + Top = 2 + Width = 154 + Height = 305 + Align = alLeft + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 3 + object Panel6: TPanel + Left = 2 + Top = 2 + Width = 150 + Height = 25 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Caption = #35746#21333#21495 + TabOrder = 0 + end + object OrderNoSL: TRichEdit + Left = 2 + Top = 27 + Width = 150 + Height = 276 + Align = alClient + ScrollBars = ssBoth + TabOrder = 1 + end + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid4 + PopupMenus = <> + Left = 208 + Top = 256 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 144 + Top = 255 + end + object DSOrdNo: TDataSource + DataSet = CDS_Main + Left = 240 + Top = 256 + end + object ADOCmd: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 934 + Top = 469 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 176 + Top = 258 + end + object cxGridPopupMenu2: TcxGridPopupMenu + PopupMenus = <> + Left = 690 + Top = 272 + end + object DSSub: TDataSource + DataSet = CDS_Sub + Left = 586 + Top = 264 + end + object CDS_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 642 + Top = 264 + end + object PopupMenu3: TPopupMenu + Left = 298 + Top = 525 + object MenuItem3: TMenuItem + Caption = #22686#34892 + OnClick = MenuItem3Click + end + object MenuItem4: TMenuItem + Caption = #21024#34892 + OnClick = MenuItem4Click + end + end + object cxStyleRepository1: TcxStyleRepository + Left = 408 + Top = 8 + object cxStyle1: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = CDS_Main + Left = 830 + Top = 488 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBZY + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 870 + Top = 504 + ReportData = {} + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 966 + Top = 466 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 806 + Top = 392 + end + object cxGridPopupMenu3: TcxGridPopupMenu + PopupMenus = <> + Left = 618 + Top = 460 + end + object RMDBZY: TRMDBDataSet + Visible = True + DataSet = CDS_Sub + Left = 830 + Top = 488 + end + object RMDBFZ: TRMDBDataSet + Visible = True + Left = 806 + Top = 496 + end + object ADOTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 754 + Top = 471 + end + object DSJYFZ: TDataSource + DataSet = CDS_JYFZ + Left = 842 + Top = 575 + end + object CDS_JYFZ: TClientDataSet + Aggregates = <> + Params = <> + Left = 898 + Top = 511 + end + object PopupMenu1: TPopupMenu + Left = 514 + Top = 519 + object MenuItem1: TMenuItem + Caption = #22686#34892 + OnClick = MenuItem1Click + end + object MenuItem2: TMenuItem + Caption = #21024#34892 + OnClick = MenuItem2Click + end + end +end diff --git a/打卷检验管理/U_JiangLiaoSet.pas b/打卷检验管理/U_JiangLiaoSet.pas new file mode 100644 index 0000000..43e3835 --- /dev/null +++ b/打卷检验管理/U_JiangLiaoSet.pas @@ -0,0 +1,1182 @@ +unit U_JiangLiaoSet; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, ADODB, DBClient, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGrid, cxPC, StdCtrls, ComCtrls, ExtCtrls, + ToolWin, cxCheckBox, Menus, cxTextEdit, RM_Common, RM_Class, + RM_GridReport, RM_System, RM_Dataset, RM_e_Xls, cxContainer, cxMaskEdit, + cxButtonEdit; + +type + TfrmJiangLiaoSet = class(TForm) + ToolBar1: TToolBar; + TBClose: TToolButton; + Panel1: TPanel; + Label1: TLabel; + Label2: TLabel; + Label3: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + OrderNo: TEdit; + cxTabControl1: TcxTabControl; + cxGridPopupMenu1: TcxGridPopupMenu; + CDS_Main: TClientDataSet; + DSOrdNo: TDataSource; + ADOCmd: TADOQuery; + ADOQueryMain: TADOQuery; + cxGridPopupMenu2: TcxGridPopupMenu; + DSSub: TDataSource; + CDS_Sub: TClientDataSet; + ToolButton1: TToolButton; + PopupMenu3: TPopupMenu; + MenuItem3: TMenuItem; + MenuItem4: TMenuItem; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + RMDBMain: TRMDBDataSet; + RM1: TRMGridReport; + ADOQueryPrint: TADOQuery; + RMXLSExport1: TRMXLSExport; + Label10: TLabel; + CustomNoName: TEdit; + Label11: TLabel; + Label12: TLabel; + cxGridPopupMenu3: TcxGridPopupMenu; + TvOrdNo: TcxGridDBTableView; + cxGrid4Level1: TcxGridLevel; + cxGrid4: TcxGrid; + vOrderBakColumn1: TcxGridDBColumn; + vOrderBakColumn2: TcxGridDBColumn; + vOrderBakColumn3: TcxGridDBColumn; + vOrderBakColumn4: TcxGridDBColumn; + vOrderBakColumn5: TcxGridDBColumn; + RMDBZY: TRMDBDataSet; + RMDBFZ: TRMDBDataSet; + SWFBColor: TComboBox; + vOrdNoColumn1: TcxGridDBColumn; + Label18: TLabel; + ZuHeID: TEdit; + vOrdNoColumn2: TcxGridDBColumn; + vOrdNoColumn3: TcxGridDBColumn; + Panel2: TPanel; + Label4: TLabel; + Label5: TLabel; + Label14: TLabel; + Label16: TLabel; + Label17: TLabel; + MCQty: TEdit; + WFBCpSpec: TcxButtonEdit; + WKMS: TcxButtonEdit; + SWFBHW: TcxButtonEdit; + BtnSave: TButton; + BtnPrint: TButton; + BtnChkNo: TButton; + BtnChkOk: TButton; + Panel3: TPanel; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1Column1: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + cxGrid1Level4: TcxGridLevel; + cxGrid3: TcxGrid; + Tv2: TcxGridDBTableView; + v2Column1: TcxGridDBColumn; + cxGridDBColumn1: TcxGridDBColumn; + v2Column4: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + Label7: TLabel; + Label8: TLabel; + Label9: TLabel; + ADOTemp: TADOQuery; + DSJYFZ: TDataSource; + CDS_JYFZ: TClientDataSet; + PopupMenu1: TPopupMenu; + MenuItem1: TMenuItem; + MenuItem2: TMenuItem; + v1Column2: TcxGridDBColumn; + Panel4: TPanel; + Panel5: TPanel; + Panel8: TPanel; + MCNote: TRichEdit; + Panel6: TPanel; + OrderNoSL: TRichEdit; + ToolButton2: TToolButton; + v2Column2: TcxGridDBColumn; + Label6: TLabel; + Label13: TLabel; + MCQty10: TEdit; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + procedure OrderNoChange(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure MenuItem3Click(Sender: TObject); + procedure MenuItem4Click(Sender: TObject); + procedure BtnSaveClick(Sender: TObject); + procedure TvOrdNoCellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure MCQtyKeyPress(Sender: TObject; var Key: Char); + procedure BtnChkOkClick(Sender: TObject); + procedure BtnChkNoClick(Sender: TObject); + procedure BtnPrintClick(Sender: TObject); + procedure MenuItem1Click(Sender: TObject); + procedure MenuItem2Click(Sender: TObject); + procedure SWFBCodeNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WKMSPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure cxButtonEdit2PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column2PropertiesEditValueChanged(Sender: TObject); + procedure MCQtyChange(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure MCQty10Change(Sender: TObject); + procedure v2Column2PropertiesEditValueChanged(Sender: TObject); + private + { Private declarations } + ChkInt:Integer; + procedure InitGridMain(); + procedure InitGrid(); + procedure MCData(); + procedure InitGridMainSel(); + public + { Public declarations } + end; + +var + frmJiangLiaoSet: TfrmJiangLiaoSet; + +implementation +uses + U_DataLink,U_Fun,U_GetPGJBOneTwoInList,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmJiangLiaoSet.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmJiangLiaoSet.FormDestroy(Sender: TObject); +begin + frmJiangLiaoSet:=nil; +end; + +procedure TfrmJiangLiaoSet.InitGrid(); +begin + try + ADOTemp.DisableControls; + with ADOTemp do + begin + Close; + SQL.Clear; + if cxTabControl1.TabIndex=0 then + begin + sql.Add('select * from WFBYCL_JiangYe where MCID='''+Trim(CDS_Main.fieldbyname('MCID').AsString)+''''); + end else + sql.Add('select * from WFBYCL_JiangYe where ZuHeID='''+Trim(CDS_Main.fieldbyname('ZuHeID').AsString)+''''); + sql.Add(' and JYType=''ҪҺ'' '); + sql.Add(' order by OrderNo'); + Open; + end; + SCreateCDS20(ADOTemp,CDS_Sub); + SInitCDSData20(ADOTemp,CDS_Sub); + with ADOTemp do + begin + Close; + SQL.Clear; + if cxTabControl1.TabIndex=0 then + begin + sql.Add('select * from WFBYCL_JiangYe where MCID='''+Trim(CDS_Main.fieldbyname('MCID').AsString)+''''); + end else + sql.Add('select * from WFBYCL_JiangYe where ZuHeID='''+Trim(CDS_Main.fieldbyname('ZuHeID').AsString)+''''); + sql.Add(' and JYType=''Һ'' '); + sql.Add(' order by OrderNo'); + Open; + end; + SCreateCDS20(ADOTemp,CDS_JYFZ); + SInitCDSData20(ADOTemp,CDS_JYFZ); + finally + ADOTemp.EnableControls; + end; +end; + +procedure TfrmJiangLiaoSet.InitGridMain(); +begin + //BegDate.SetFocus; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + SQL.Clear; + sql.Add(' select A.*,OrderNo=(select OrderNo from WFBOrder_Main B where B.MainId=A.MainId), '); + sql.Add(' OrderQty=(select Sum(SOrdQty) from WFBOrder_Sub WS where WS.MainId=A.MainId and WS.SWFBColor=A.SWFBColor),'); + SQL.Add(' OrderUnit=(select OrdUnit from WFBOrder_Main B where B.MainId=A.MainId),'); + sql.Add(' OrderNoSL=dbo.F_Get_WFBOrder_SubStr(A.ZuHeId,''OrderNoSL''),'); + sql.Add(' CustomNoName=(select ZdyName from KH_Zdy B inner join WFBOrder_Main C on B.ZdyNo=C.CustomNo'); + sql.Add(' where C.MainId=A.MainId)'); + sql.Add(' from WFBYCL_MainIdColor_JiangYe A '); + SQL.Add(' inner join WFBOrder_Main C on A.MainId=C.MainId where C.ChkStatus=''ͨ'' '); + if cxTabControl1.TabIndex=0 then + SQL.Add(' and not exists(select * from WFBYCL_JiangYe WJY where WJY.ZuHeId=A.ZuHeId)') + else + if cxTabControl1.TabIndex>0 then + begin + sql.Add('and exists(select * from WFBYCL_JiangYe WJY where WJY.ZuHeId=A.ZuHeId) and A.FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+''''); + sql.Add('and A.FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+''''); + end; + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; +end; +procedure TfrmJiangLiaoSet.InitGridMainSel(); +begin + //BegDate.SetFocus; + { try + ADOTemp.DisableControls; + with ADOTemp do + begin + Filtered:=False; + Close; + SQL.Clear; + SQL.Add(' select A.*,OrderNo=(select OrderNo from WFBOrder_Main B '); + sql.Add(' where B.MainId=A.MainId), '); + sql.Add(' CustomNoName=(select ZdyName from KH_Zdy B inner join WFBOrder_Main C on B.ZdyNo=C.CustomNo'); + sql.Add(' where C.MainId=A.MainId)'); + sql.Add(' from WFBYCL_MainIdColor_JiangYe A '); + sql.Add(' where A.ZuHeId='''+Trim(CDS_Main.fieldbyname('ZuHeId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Sel); + SInitCDSData20(ADOQueryMain,CDS_Sel); + finally + ADOQueryMain.EnableControls; + end; } +end; + +procedure TfrmJiangLiaoSet.ToolButton1Click(Sender: TObject); +begin + InitGridMain(); +end; + +procedure TfrmJiangLiaoSet.FormShow(Sender: TObject); +var + fsj:String; +begin + fsj:='select ZdyName name from KH_Zdy where Type=''WFBColor'' '; + SInitComBoxBySql(ADOTemp,SWFBColor,False,fsj); + EndDate.DateTime:=SGetServerDate(ADOTemp); + BegDate.DateTime:=EndDate.DateTime-30; + ReadCxGrid('New',Tv1,'޷IJ'); + ReadCxGrid('FZ',Tv2,'޷IJ'); + ReadCxGrid('ɫ',TvOrdNo,'޷IJ'); + InitGridMain(); + if Trim(DParameters1)='' then + begin + BtnSave.Visible:=False; + vOrderBakColumn1.Visible:=False; + v1Column1.Options.Focusing:=False; + v1Column2.Options.Focusing:=False; + v2Column1.Options.Focusing:=False; + v1Column5.Options.Focusing:=False; + v2Column4.Options.Focusing:=False; + MCQty.ReadOnly:=True; + MCQty10.ReadOnly:=True; + end else + begin + BtnChkOk.Visible:=False; + BtnChkNo.Visible:=False; + vOrderBakColumn1.Visible:=True; + end; + + //InitGrid(); +end; + +procedure TfrmJiangLiaoSet.cxTabControl1Change(Sender: TObject); +begin + InitGridMain(); + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + InitGrid(); + MCQty.Text:=Trim(CDS_Main.fieldbyname('MCQty').AsString); + MCQty10.Text:=Trim(CDS_Main.fieldbyname('MCQtySJ').AsString); + MCNote.Text:=Trim(CDS_Main.fieldbyname('MCNote').AsString); + if cxTabControl1.TabIndex>0 then + begin + Label7.Visible:=True; + Label8.Visible:=True; + Label9.Visible:=True; + Label7.Caption:='Ƶˣ'+Trim(CDS_Main.fieldbyname('Filler').AsString); + Label8.Caption:='ˣ'+Trim(CDS_Main.fieldbyname('Chker').AsString); + Label9.Caption:='״̬'+Trim(CDS_Main.fieldbyname('ChkStatus').AsString); + end else + begin + Label7.Visible:=False; + Label8.Visible:=False; + Label9.Visible:=False; + end; +end; + +procedure TfrmJiangLiaoSet.OrderNoChange(Sender: TObject); +begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); +end; + +procedure TfrmJiangLiaoSet.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('New',Tv1,'޷IJ'); + WriteCxGrid('FZ',Tv2,'޷IJ'); + WriteCxGrid('ɫ',TvOrdNo,'޷IJ'); +end; + +procedure TfrmJiangLiaoSet.MenuItem3Click(Sender: TObject); +begin + if BtnSave.Visible=False then Exit; + try + frmGetPGJBOneTwoInList:=TfrmGetPGJBOneTwoInList.Create(Application); + with frmGetPGJBOneTwoInList do + begin + if ShowModal=1 then + begin + with ClientDataSet2 do + begin + First; + while not Eof do + begin + with CDS_Sub do + begin + Append; + CDS_Sub.FieldByName('YCLCode').Value:=Trim(ClientDataSet2.fieldbyname('YCLCode').AsString); + CDS_Sub.FieldByName('YCLName').Value:=Trim(ClientDataSet2.fieldbyname('YCLName').AsString); + //CDS_Sub.FieldByName('CRID').Value:=Trim(ClientDataSet2.fieldbyname('CRID').AsString); + Post; + end; + Next; + end; + end; + end; + end; + finally + frmGetPGJBOneTwoInList.Free; + end; +end; + +procedure TfrmJiangLiaoSet.MenuItem4Click(Sender: TObject); +begin + if BtnSave.Visible=False then Exit; + if CDS_Sub.IsEmpty then Exit; + if Trim(CDS_Sub.FieldByName('YJID').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFBYCL_JiangYe where YJID='''+Trim(CDS_Sub.FieldByName('YJID').AsString)+''''); + ExecSQL; + end; + end; + CDS_Sub.Delete; + {if CDS_Sub.IsEmpty=False then + MCQty.Text:=FloatToStr(Tv1.DataController.Summary.FooterSummaryValues[0]) + else + MCQty.Text:='0'; } +end; + +procedure TfrmJiangLiaoSet.BtnSaveClick(Sender: TObject); +var + maxno,FMCQty,FColor,FZuHeId:string; +begin + if ChkInt<>1 then + begin + if Trim(CDS_Main.fieldbyname('ChkStatus').AsString)='ͨ' then + begin + Application.MessageBox('ͨݲ޸ģ','ʾ',0); + Exit; + end; + end else + begin + if Trim(CDS_Main.fieldbyname('ChkStatus').AsString)='ͨ' then + begin + if Application.MessageBox('ͨȷҪ','ʾ',32+4)<>IDYES then + begin + ChkInt:=2; + Exit; + end; + end; + end; + + + if CDS_Main.IsEmpty then Exit; + if CDS_Sub.IsEmpty then Exit; + if CDS_Main.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡݣ','ʾ',0); + Exit; + end; + CDS_Main.DisableControls; + with CDS_Main do + begin + First; + while not Eof do + begin + if CDS_Main.FieldByName('SSel').AsBoolean=True then + begin + if Trim(FColor)='' then + FColor:=Trim(CDS_Main.fieldbyname('SWFBColor').AsString) + else + if Trim(CDS_Main.fieldbyname('SWFBColor').AsString)<>FColor then + begin + CDS_Main.EnableControls; + Application.MessageBox('ɫͬܺϲƣ','ʾ',0); + Exit; + end; + end; + Next; + end; + end; + CDS_Main.EnableControls; + if Trim(MCQty.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + try + BegDate.SetFocus; + ADOCmd.Connection.BeginTrans; + if GetLSNo(ADOCmd,FZuHeId,'ZH','WFBYCL_MainIdColor_JiangYe',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡIDʧܣ','ʾ',0); + Exit; + end; + with CDS_Sub do + begin + First; + while not eof do + begin + if Trim(CDS_Sub.fieldbyname('YJID').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'YJ','WFBYCL_JiangYe',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_Sub.fieldbyname('YJID').AsString); + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_JiangYe where YJID='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_Sub.fieldbyname('YJID').AsString)='' then + begin + Append; + FieldByName('Filler').Value:=Trim(DName); + FieldByName('FillTime').Value:=SGetServerDateTime(ADOTemp); + end else + begin + Edit; + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + if Trim(CDS_Sub.fieldbyname('MCID').AsString)<>'' then + begin + FieldByName('MCID').Value:=Trim(CDS_Sub.fieldbyname('MCID').AsString); + FieldByName('MainId').Value:=Trim(CDS_Sub.fieldbyname('MainId').AsString); + FieldByName('SWFBColor').Value:=Trim(CDS_Sub.fieldbyname('SWFBColor').AsString); + end else + begin + FieldByName('MCID').Value:='HB'; + FieldByName('MainId').Value:='HB'; + FieldByName('SWFBColor').Value:='HB'; + end; + + FieldByName('YJID').Value:=Trim(maxno); + FieldByName('JYType').Value:='ҪҺ'; + + FieldByName('YCLCode').Value:=Trim(CDS_Sub.fieldbyname('YCLCode').AsString); + FieldByName('YCLName').Value:=Trim(CDS_Sub.fieldbyname('YCLName').AsString); + If Trim(CDS_Sub.fieldbyname('YGQty').AsString)<>'' then + FieldByName('YGQty').Value:=Trim(CDS_Sub.fieldbyname('YGQty').AsString) + else + FieldByName('YGQty').Value:=0; + If Trim(CDS_Sub.fieldbyname('SJQty').AsString)<>'' then + FieldByName('SJQty').Value:=CDS_Sub.fieldbyname('SJQty').Value + else + FieldByName('SJQty').Value:=0; + If Trim(CDS_Sub.fieldbyname('OrderNo').AsString)<>'' then + FieldByName('OrderNo').Value:=CDS_Sub.fieldbyname('OrderNo').Value + else + FieldByName('OrderNo').Value:=99; + If Trim(CDS_Sub.fieldbyname('PBQty').AsString)<>'' then + FieldByName('PBQty').Value:=CDS_Sub.fieldbyname('PBQty').Value + else + FieldByName('PBQty').Value:=0; + FieldByName('ZuHeId').Value:=Trim(FZuHeId); + Post; + end; + with CDS_Sub do + begin + Edit; + FieldByName('YJID').Value:=Trim(maxno); + Post; + end; + Next; + end; + end; + with CDS_JYFZ do + begin + First; + while not eof do + begin + if Trim(CDS_JYFZ.fieldbyname('YJID').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'YF','WFBYCL_JiangYe',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_JYFZ.fieldbyname('YJID').AsString); + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_JiangYe where YJID='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_JYFZ.fieldbyname('YJID').AsString)='' then + begin + Append; + FieldByName('Filler').Value:=Trim(DName); + FieldByName('FillTime').Value:=SGetServerDateTime(ADOTemp); + end else + begin + Edit; + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + if Trim(CDS_JYFZ.fieldbyname('MCID').AsString)<>'' then + begin + FieldByName('MCID').Value:=Trim(CDS_JYFZ.fieldbyname('MCID').AsString); + FieldByName('MainId').Value:=Trim(CDS_JYFZ.fieldbyname('MainId').AsString); + FieldByName('SWFBColor').Value:=Trim(CDS_JYFZ.fieldbyname('SWFBColor').AsString); + end else + begin + FieldByName('MCID').Value:='HB'; + FieldByName('MainId').Value:='HB'; + FieldByName('SWFBColor').Value:='HB'; + end; + FieldByName('YJID').Value:=Trim(maxno); + FieldByName('JYType').Value:='Һ'; + FieldByName('YCLCode').Value:=Trim(CDS_JYFZ.fieldbyname('YCLCode').AsString); + FieldByName('YCLName').Value:=Trim(CDS_JYFZ.fieldbyname('YCLName').AsString); + If Trim(CDS_JYFZ.fieldbyname('SJQty').AsString)<>'' then + FieldByName('SJQty').Value:=CDS_JYFZ.fieldbyname('SJQty').Value + else + FieldByName('SJQty').Value:=0; + If Trim(CDS_JYFZ.fieldbyname('OrderNo').AsString)<>'' then + FieldByName('OrderNo').Value:=CDS_JYFZ.fieldbyname('OrderNo').Value + else + FieldByName('OrderNo').Value:=0; + If Trim(CDS_Sub.fieldbyname('PBQty').AsString)<>'' then + FieldByName('PBQty').Value:=CDS_Sub.fieldbyname('PBQty').Value + else + FieldByName('PBQty').Value:=0; + FieldByName('ZuHeId').Value:=Trim(FZuHeId); + Post; + end; + with CDS_JYFZ do + begin + Edit; + FieldByName('YJID').Value:=Trim(maxno); + Post; + end; + Next; + end; + end; + if Trim(MCQty.Text)='' then + FMCQty:='0' + else + FMCQty:=MCQty.Text; + CDS_Main.DisableControls; + with CDS_Main do + begin + First; + while not Eof do + begin + if CDS_Main.FieldByName('SSel').AsBoolean=True then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_MainIdColor_JiangYe where MCID='''+Trim(CDS_Main.fieldbyname('MCID').AsString)+''''); + Open; + end; + with ADOCmd do + begin + Edit; + FieldByName('MCQty').Value:=FMCQty; + if Trim(MCQty10.Text)='' then + FieldByName('MCQtySJ').Value:=0 + else + FieldByName('MCQty').Value:=StrToFloat(MCQty10.Text); + FieldByName('MCNote').Value:=Trim(MCNote.Text); + FieldByName('WFBCpSpec').Value:=Trim(WFBCpSpec.Text); + FieldByName('WKMS').Value:=Trim(WKMS.Text); + FieldByName('SWFBHW').Value:=Trim(SWFBHW.Text); + FieldByName('ZuHeId').Value:=Trim(FZuHeId); + if Trim(CDS_Main.fieldbyname('ChkStatus').AsString)='˲ͨ' then + begin + FieldByName('ChkStatus').Value:='޸'; + FieldByName('Chker').Value:=''; + with CDS_Main do + begin + Edit; + FieldByName('ChkStatus').Value:='޸'; + + Post; + end; + end; + if Trim(CDS_Main.fieldbyname('Filler').AsString)='' then + begin + fieldbyname('Filler').Value:=Trim(DName); + fieldbyname('FillTime').Value:=SGetServerDateTime(ADOTemp); + with CDS_Main do + begin + Edit; + FieldByName('Filler').Value:=Trim(DName); + Post; + end; + end else + begin + fieldbyname('Editer').Value:=Trim(DName); + fieldbyname('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + Post; + end; + with CDS_Main do + begin + Edit; + FieldByName('ZuHeId').Value:=Trim(FZuHeId); + Post; + end; + if cxTabControl1.TabIndex=0 then + begin + CDS_Main.Delete; + end else + Next; + end else + Next; + end; + end; + CDS_Main.EnableControls; + + ADOCmd.Connection.CommitTrans; + if ChkInt<>1 then + Application.MessageBox('ɹ','ʾ',0); + InitGrid(); + Exit; + except + ADOCmd.Connection.RollbackTrans; + if ChkInt<>1 then + Application.MessageBox('ʧ!','ʾ',0) + else + Application.MessageBox('쳣!','ʾ',0); + Exit; + end; +end; + +procedure TfrmJiangLiaoSet.TvOrdNoCellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + var + FFHBID,maxno:string; +begin + FFHBID:=Trim(CDS_Main.fieldbyname('ZuHeID').AsString); + maxno:=Trim(CDS_Main.fieldbyname('MCID').AsString); + with ADOTemp do + begin + Close; + SQL.Clear; + if cxTabControl1.TabIndex=0 then + begin + sql.Add('select * from WFBYCL_JiangYe where MCID='''+Trim(maxno)+''''); + end else + sql.Add('select * from WFBYCL_JiangYe where ZuHeID='''+Trim(FFHBID)+''''); + sql.Add(' and JYType=''ҪҺ'' '); + sql.Add(' order by OrderNo'); + Open; + end; + SCreateCDS20(ADOTemp,CDS_Sub); + SInitCDSData20(ADOTemp,CDS_Sub); + with ADOTemp do + begin + Close; + SQL.Clear; + if cxTabControl1.TabIndex=0 then + begin + sql.Add('select * from WFBYCL_JiangYe where MCID='''+Trim(maxno)+''''); + end else + sql.Add('select * from WFBYCL_JiangYe where ZuHeID='''+Trim(FFHBID)+''''); + sql.Add(' and JYType=''Һ'' '); + sql.Add(' order by OrderNo'); + Open; + end; + SCreateCDS20(ADOTemp,CDS_JYFZ); + SInitCDSData20(ADOTemp,CDS_JYFZ); + + with ADOTemp do + begin + Close; + sql.Clear; + SQL.Add('select Top 1*,'); + sql.Add(' OrderNoSL=dbo.F_Get_WFBOrder_SubStr(A.ZuHeId,''OrderNoSL'')'); + if Trim(FFHBID)<>'' then + sql.Add(' from WFBYCL_MainIdColor_JiangYe A where ZuHeId='''+Trim(FFHBID)+'''') + else + sql.Add(' from WFBYCL_MainIdColor_JiangYe A where MCId='''+Trim(CDS_Main.fieldbyname('MCID').AsString)+'''') ; + Open; + end; + MCQty.Text:=Trim(ADOTemp.fieldbyname('MCQty').AsString); + MCQty10.Text:=Trim(ADOTemp.fieldbyname('MCQtySJ').AsString); + MCNote.Text:=Trim(ADOTemp.fieldbyname('MCNote').AsString); + WKMS.Text:=Trim(ADOTemp.fieldbyname('WKMS').AsString); + SWFBHW.Text:=Trim(ADOTemp.fieldbyname('SWFBHW').AsString); + WFBCpSpec.Text:=Trim(ADOTemp.fieldbyname('WFBCpSpec').AsString); + OrderNoSL.Text:=Trim(ADOTemp.fieldbyname('OrderNoSL').AsString); + if cxTabControl1.TabIndex>0 then + begin + Label7.Visible:=True; + Label8.Visible:=True; + Label9.Visible:=True; + Label7.Caption:='Ƶˣ'+Trim(ADOTemp.fieldbyname('Filler').AsString); + Label8.Caption:='ˣ'+Trim(ADOTemp.fieldbyname('Chker').AsString); + Label9.Caption:='״̬'+Trim(ADOTemp.fieldbyname('ChkStatus').AsString); + end else + begin + Label7.Visible:=False; + Label8.Visible:=False; + Label9.Visible:=False; + end; + + + +end; +procedure TfrmJiangLiaoSet.MCData(); +begin + MCQty.Text:=Trim(CDS_Main.fieldbyname('MCQty').AsString); + MCNote.Text:=Trim(CDS_Main.fieldbyname('MCNote').AsString); + if cxTabControl1.TabIndex>0 then + begin + Label7.Visible:=True; + Label8.Visible:=True; + Label9.Visible:=True; + Label7.Caption:='Ƶˣ'+Trim(CDS_Main.fieldbyname('Filler').AsString); + Label8.Caption:='ˣ'+Trim(CDS_Main.fieldbyname('Chker').AsString); + Label9.Caption:='״̬'+Trim(CDS_Main.fieldbyname('ChkStatus').AsString); + end else + begin + Label7.Visible:=False; + Label8.Visible:=False; + Label9.Visible:=False; + end; +end; + +procedure TfrmJiangLiaoSet.MCQtyKeyPress(Sender: TObject; var Key: Char); +begin + if not (Key in['0'..'9','.',#13,#8]) then + begin + Key:=#0; + end; +end; + +procedure TfrmJiangLiaoSet.BtnChkOkClick(Sender: TObject); +begin + if cxTabControl1.TabIndex=0 then Exit; + ChkInt:=1; + // BtnSave.Click; + if ChkInt=2 then Exit; + if Trim(DName)=Trim(CDS_Main.fieldbyname('Filler').AsString) then + begin + Application.MessageBox('Լݣ','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪִд˲','ʾ',32+4)<>IDYES then Exit; + try + ADOCmd.Connection.BeginTrans; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBYCL_MainIdColor_JiangYe Set Chker='''+Trim(DName)+''''); + SQL.Add(',ChkTime=getdate(),ChkStatus=''ͨ'' '); + sql.Add('where ZuHeId='''+Trim(CDS_Main.fieldbyname('ZuHeId').AsString)+''''); + ExecSQL; + end; + ADOCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + with CDS_Main do + begin + Edit; + FieldByName('ChkStatus').Value:='ͨ'; + FieldByName('Chker').Value:=Trim(DName); + Post; + end; + MCData(); + ChkInt:=0; + except + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; + +end; + +procedure TfrmJiangLiaoSet.BtnChkNoClick(Sender: TObject); +begin + if cxTabControl1.TabIndex=0 then Exit; + ChkInt:=1; + // BtnSave.Click; + if ChkInt=2 then Exit; + if Trim(DName)=Trim(CDS_Main.fieldbyname('Filler').AsString) then + begin + Application.MessageBox('Լݣ','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪִд˲','ʾ',32+4)<>IDYES then Exit; + try + ADOCmd.Connection.BeginTrans; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBYCL_MainIdColor_JiangYe Set Chker='''+Trim(DName)+''''); + SQL.Add(',ChkTime=getdate(),ChkStatus=''˲ͨ'' '); + sql.Add('where ZuHeId='''+Trim(CDS_Main.fieldbyname('ZuHeId').AsString)+''''); + ExecSQL; + end; + ADOCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + with CDS_Main do + begin + Edit; + FieldByName('ChkStatus').Value:='˲ͨ'; + FieldByName('Chker').Value:=Trim(DName); + Post; + end; + MCData(); + except + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + +procedure TfrmJiangLiaoSet.BtnPrintClick(Sender: TObject); +var + fPrintFile:string; +begin + if Trim(CDS_Main.fieldbyname('ChkStatus').AsString)<>'ͨ' then + begin + Application.MessageBox('δܴͨӡݣ','ʾ',0); + Exit; + end; + with ADOQueryPrint do + begin + close; + sql.Clear; + sql.Add('exec P_Print_JiangYe :ZuHeId'); + Parameters.ParamByName('ZuHeId').Value:=Trim(CDS_Main.fieldbyname('ZuHeId').AsString); + Open; + end; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\õ10.rmf' ; + if FileExists(fPrintFile) then + begin + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\õ.rmf'),'ʾ',0); + end; +end; + +procedure TfrmJiangLiaoSet.MenuItem1Click(Sender: TObject); +begin + if BtnSave.Visible=False then Exit; + try + frmGetPGJBOneTwoInList:=TfrmGetPGJBOneTwoInList.Create(Application); + with frmGetPGJBOneTwoInList do + begin + if ShowModal=1 then + begin + with ClientDataSet2 do + begin + First; + while not Eof do + begin + with CDS_JYFZ do + begin + Append; + CDS_JYFZ.FieldByName('YCLCode').Value:=Trim(ClientDataSet2.fieldbyname('YCLCode').AsString); + CDS_JYFZ.FieldByName('YCLName').Value:=Trim(ClientDataSet2.fieldbyname('YCLName').AsString); + //CDS_Sub.FieldByName('CRID').Value:=Trim(ClientDataSet2.fieldbyname('CRID').AsString); + Post; + end; + Next; + end; + end; + end; + end; + finally + frmGetPGJBOneTwoInList.Free; + end; +end; + +procedure TfrmJiangLiaoSet.MenuItem2Click(Sender: TObject); +begin + if BtnSave.Visible=False then Exit; + if CDS_JYFZ.IsEmpty then Exit; + if Trim(CDS_JYFZ.FieldByName('YJID').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFBYCL_JiangYe where YJID='''+Trim(CDS_JYFZ.FieldByName('YJID').AsString)+''''); + ExecSQL; + end; + end; + CDS_JYFZ.Delete; +end; + +procedure TfrmJiangLiaoSet.SWFBCodeNamePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WFBCpSpec'; + flagname:='Ʒͺ'; + if ShowModal=1 then + begin + Self.WFBCpSpec.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmJiangLiaoSet.WKMSPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WKMS'; + flagname:='Ŀ'; + if ShowModal=1 then + begin + Self.WKMS.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmJiangLiaoSet.cxButtonEdit2PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WFBHX'; + flagname:=''; + if ShowModal=1 then + begin + Self.SWFBHW.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmJiangLiaoSet.v1Column2PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,FMCQty:string; +begin + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(MCQty.Text)='' then + begin + FMCQty:='0' + end else + begin + FMCQty:=Trim(MCQty.Text); + end; + if Trim(mvalue)='' then + begin + mvalue:='0'; + end; + with CDS_Sub do + begin + Edit; + FieldByName('SJQty').Value:=StrToFloat(mvalue)*StrToFloat(FMCQty)/100; + FieldByName('PBQty').Value:=StrToFloat(mvalue); + Post; + end; +end; + +procedure TfrmJiangLiaoSet.MCQtyChange(Sender: TObject); +var + mvalue,FMCQty:string; +begin + if( (MCQty.Focused) and (MCQty.ReadOnly=False) )then + begin + if Trim(MCQty.Text)='' then + begin + FMCQty:='0' + end else + begin + FMCQty:=Trim(MCQty.Text); + end; + CDS_Sub.DisableControls; + with CDS_Sub do + begin + First; + while not Eof do + begin + Edit; + if Trim(fieldbyname('PBQty').AsString)<>'' then + mvalue:=Trim(fieldbyname('PBQty').AsString) + else + mvalue:='0'; + FieldByName('SJQty').Value:=StrToFloat(mvalue)*StrToFloat(FMCQty)/100; + Post; + Next; + end; + end; + CDS_Sub.EnableControls; + end; + +end; + +procedure TfrmJiangLiaoSet.ToolButton2Click(Sender: TObject); +begin + if cxTabControl1.TabIndex=0 then Exit; + if Trim(CDS_Main.FieldByName('ChkStatus').AsString)='ͨ' then Exit; + if Application.MessageBox('ȷҪִд˲?','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBYCL_JiangYe Set ZuHeId=NULL where MCID='''+Trim(CDS_Main.fieldbyname('MCID').AsString)+''''); + sql.Add('Update WFBYCL_MainIdColor_JiangYe Set ZuHeId=NULL where MCID='''+Trim(CDS_Main.fieldbyname('MCID').AsString)+''''); + ExecSQL; + end; + CDS_Main.Delete; + +end; + +procedure TfrmJiangLiaoSet.MCQty10Change(Sender: TObject); +var + mvalue,FMCQty:string; +begin + if( (MCQty10.Focused) and (MCQty10.ReadOnly=False) )then + begin + if Trim(MCQty10.Text)='' then + begin + FMCQty:='0' + end else + begin + FMCQty:=Trim(MCQty10.Text); + end; + CDS_JYFZ.DisableControls; + with CDS_JYFZ do + begin + First; + while not Eof do + begin + Edit; + if Trim(fieldbyname('PBQty').AsString)<>'' then + mvalue:=Trim(fieldbyname('PBQty').AsString) + else + mvalue:='0'; + FieldByName('SJQty').Value:=StrToFloat(mvalue)*StrToFloat(FMCQty)/100; + Post; + Next; + end; + end; + CDS_JYFZ.EnableControls; + end; + +end; + +procedure TfrmJiangLiaoSet.v2Column2PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,FMCQty:string; +begin + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(MCQty10.Text)='' then + begin + FMCQty:='0' + end else + begin + FMCQty:=Trim(MCQty10.Text); + end; + if Trim(mvalue)='' then + begin + mvalue:='0'; + end; + with CDS_JYFZ do + begin + Edit; + FieldByName('SJQty').Value:=StrToFloat(mvalue)*StrToFloat(FMCQty)/100; + FieldByName('PBQty').Value:=StrToFloat(mvalue); + Post; + end; +end; + +end. diff --git a/打卷检验管理/U_LabelPrint.dfm b/打卷检验管理/U_LabelPrint.dfm new file mode 100644 index 0000000..517e74c --- /dev/null +++ b/打卷检验管理/U_LabelPrint.dfm @@ -0,0 +1,122 @@ +object frmLabelPrint: TfrmLabelPrint + Left = 345 + Top = 212 + BorderIcons = [biSystemMenu] + BorderStyle = bsDialog + Caption = #26631#31614#25171#21360 + ClientHeight = 166 + ClientWidth = 271 + Color = clBtnFace + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + PixelsPerInch = 96 + TextHeight = 12 + object Button1: TButton + Left = 72 + Top = 80 + Width = 73 + Height = 25 + Caption = #25171#21360 + TabOrder = 0 + OnClick = Button1Click + end + object Panel1: TPanel + Left = 32 + Top = 24 + Width = 193 + Height = 41 + BevelOuter = bvLowered + Caption = #27491#22312#21152#36733#25171#21360#20449#24687'...' + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + end + object ADOQueryMain: TADOQuery + Connection = ADOConnection1 + LockType = ltReadOnly + CommandTimeout = 300 + Parameters = <> + Left = 144 + Top = 24 + end + object ADOConnection1: TADOConnection + LoginPrompt = False + Left = 192 + Top = 24 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 10 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 160 + Top = 120 + end + object RMGridReport1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + ShowProgress = False + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDS_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 184 + Top = 72 + ReportData = {} + end + object RMBarCodeObject1: TRMBarCodeObject + Left = 128 + Top = 68 + end + object RMBMPExport1: TRMBMPExport + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + Left = 80 + Top = 120 + end + object RMDS_Main: TRMDBDataSet + Visible = True + DataSet = ADOQueryMain + Left = 170 + end + object ADOQueryTmp: TADOQuery + Connection = ADOConnection1 + LockType = ltReadOnly + Parameters = <> + Left = 56 + Top = 80 + end + object ADOQueryCust: TADOQuery + Connection = ADOConnection1 + LockType = ltReadOnly + CommandTimeout = 300 + Parameters = <> + Left = 152 + Top = 88 + end +end diff --git a/打卷检验管理/U_LabelPrint.pas b/打卷检验管理/U_LabelPrint.pas new file mode 100644 index 0000000..6f531f7 --- /dev/null +++ b/打卷检验管理/U_LabelPrint.pas @@ -0,0 +1,143 @@ +unit U_LabelPrint; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, DB, ADODB, RM_e_Graphic, RM_e_bmp, RM_BarCode, RM_System, + RM_Common, RM_Class, RM_GridReport, RM_e_Xls, RM_Dataset, StdCtrls, + ExtCtrls; + +type + TfrmLabelPrint = class(TForm) + ADOQueryMain: TADOQuery; + ADOConnection1: TADOConnection; + RMXLSExport1: TRMXLSExport; + RMGridReport1: TRMGridReport; + RMBarCodeObject1: TRMBarCodeObject; + RMBMPExport1: TRMBMPExport; + RMDS_Main: TRMDBDataSet; + ADOQueryTmp: TADOQuery; + Button1: TButton; + ADOQueryCust: TADOQuery; + Panel1: TPanel; + procedure FormCreate(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + private + procedure InitDataSetDictionary(); +// procedure InitVarDictionary(); + procedure OpenLabel(); + public + fLabelId:string; //ǩ¼Id; + fKeyNo:string; // + fCustomNo:string; //ͻ + fLabelCopys:integer; //ӡ + fIsPreviewPrint:Boolean; + FFCDFlag:String; + procedure DoPrintLabel(); + end; + +var + frmLabelPrint: TfrmLabelPrint; + +implementation +uses + U_DataLink; +{$R *.dfm} +//////////////////////////////////////////////////////////////////// + //ӡǩ +//////////////////////////////////////////////////////////////////// +procedure TfrmLabelPrint.DoPrintLabel(); +begin + InitDataSetDictionary(); + OpenLabel(); +end; + +procedure TfrmLabelPrint.FormCreate(Sender: TObject); +begin + try + with ADOConnection1 do + begin + Connected:=false; + ConnectionString:=DConString; + Connected:=true; + end; + Except + application.MessageBox('ݿʧܣ','',mb_Ok+ MB_ICONERROR); + end; +end; +///////////////////////////////////////////////// + //ܣرǩ +///////////////////////////////////////////////// +procedure TfrmLabelPrint.InitDataSetDictionary(); +begin + try + with ADOQueryMain do + begin + close; + sql.Clear ; + sql.Add('select RTrim(AA.XJID) XJID,RTrim(Cast(AA.XJSJKZ as varchar(20))) XJSJKZ,RTrim(cast(Cast(AA.XJFK*10 as int) as varchar(20))) XJFK,RTrim(B.OrderNo)+'''+Trim(FFCDFlag)+''' OrderNo'); + sql.Add(',Rtrim(C.SWFBColor) SWFBColor, YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPBSZ'')'); + sql.Add(',Rtrim(Cast(AA.XJlen as varchar(20))) XJlen,Rtrim(Cast(AA.XJMaoZ as varchar(20))) XJMaoZ'); + sql.Add(',Rtrim(Cast(AA.XJFree as varchar(20))) XJFree,Rtrim(Cast( Cast(AA.XJlen*AA.XJFK/100 as int) as varchar(20))) XJPFM'); + sql.Add(',Rtrim(Cast(Cast(C.SWFBKZ as int) as varchar(20))) SWFBKZ'); + sql.Add(',Rtrim(Cast(Cast(AA.XJJt as int) as varchar(20))) XJJt'); + sql.Add(',RTrim(B.LbEngName) LbEngName'); + sql.Add(',RTrim(C.SWFBCodeName) SWFBCodeName from WFB_XJJY AA '); + sql.add(' inner join WFB_MJJY A on AA.MJID=A.MJID') ; + sql.add(' inner join WFBOrder_Main B on A.MainId=B.MainId'); + sql.Add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); + sql.Add(' where AA.XJID='''+Trim(fKeyNo)+''''); + OPen; + end; + with RMGridReport1 do + begin + Dictionary.FieldAliases.Clear; + Dictionary.FieldAliases['RMDS_Main']:= 'ǩ'; + // Dictionary.FieldAliases['RMDS_Main."BarCodeNo"']:='ǩ'; + end; + except + application.MessageBox('رǩʱ!','Ϣ',0); + end; +end; +////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////// +procedure TfrmLabelPrint.OpenLabel(); +begin + with ADOQueryTmp do + begin + close; + sql.Clear ; + sql.Add('select labelfile from P_Label A'); + sql.Add('where labelId='''+fLabelId+''''); + Open; + if fieldbyname('labelFile').IsNull then + begin + application.MessageBox('δҵҪӡıǩϢ¼!','ʾϢ',0); + self.Close ; + exit; + end; + RMGridReport1.LoadFromBlobField(tblobfield(fieldbyname('labelFile'))); + // InitVarDictionary(); + //fIsPreviewPrint:=true; + if fIsPreviewPrint then + RMGridReport1.ShowReport + else + RMGridReport1.PrintReport ; + close; + end; + +end; +procedure TfrmLabelPrint.Button1Click(Sender: TObject); +begin + DoPrintLabel(); +end; + +procedure TfrmLabelPrint.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +end. diff --git a/打卷检验管理/U_MJEdit.dfm b/打卷检验管理/U_MJEdit.dfm new file mode 100644 index 0000000..95fe533 --- /dev/null +++ b/打卷检验管理/U_MJEdit.dfm @@ -0,0 +1,450 @@ +object frmMJEdit: TfrmMJEdit + Left = 300 + Top = 174 + Width = 870 + Height = 500 + Caption = #24067#21305#31649#29702 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 120 + TextHeight = 15 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 852 + Height = 30 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton1Click + end + object ToolButton3: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton3Click + end + object ToolButton2: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 58 + OnClick = ToolButton2Click + end + object ToolButton4: TToolButton + Left = 189 + Top = 0 + Caption = #20316#24223 + ImageIndex = 48 + OnClick = ToolButton4Click + end + object TBClose: TToolButton + Left = 248 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 30 + Width = 852 + Height = 93 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 31 + Top = 20 + Width = 64 + Height = 15 + Caption = #24067#21305#26465#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clBlack + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 41 + Top = 60 + Width = 9 + Height = 15 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label4: TLabel + Left = 270 + Top = 60 + Width = 30 + Height = 15 + Caption = #27611#37325 + end + object M: TLabel + Left = 625 + Top = 20 + Width = 8 + Height = 15 + Caption = 'M' + end + object Label6: TLabel + Left = 524 + Top = 20 + Width = 30 + Height = 15 + Caption = #38271#24230 + end + object Ma: TLabel + Left = 380 + Top = 110 + Width = 8 + Height = 15 + Caption = 'M' + end + object Label7: TLabel + Left = 279 + Top = 110 + Width = 30 + Height = 15 + Caption = #21407#30721 + end + object Label5: TLabel + Left = 385 + Top = 145 + Width = 8 + Height = 15 + Caption = 'M' + end + object Label8: TLabel + Left = 279 + Top = 150 + Width = 30 + Height = 15 + Caption = #24133#23485 + end + object Label9: TLabel + Left = 395 + Top = 140 + Width = 16 + Height = 15 + Caption = 'cm' + end + object Label10: TLabel + Left = 375 + Top = 60 + Width = 16 + Height = 15 + Caption = 'Kg' + end + object Label3: TLabel + Left = 414 + Top = 125 + Width = 30 + Height = 15 + Caption = #20811#37325 + end + object Label11: TLabel + Left = 515 + Top = 125 + Width = 31 + Height = 15 + Caption = 'g/'#13217 + end + object Label13: TLabel + Left = 549 + Top = 150 + Width = 30 + Height = 15 + Caption = #36192#36865 + end + object Label12: TLabel + Left = 395 + Top = 60 + Width = 30 + Height = 15 + Caption = #20928#37325 + end + object Label14: TLabel + Left = 505 + Top = 60 + Width = 16 + Height = 15 + Caption = 'Kg' + end + object Label15: TLabel + Left = 270 + Top = 20 + Width = 30 + Height = 15 + Caption = #21367#21495 + end + object Label16: TLabel + Left = 395 + Top = 20 + Width = 30 + Height = 15 + Caption = #32568#21495 + end + object MJID: TEdit + Left = 100 + Top = 13 + Width = 138 + Height = 24 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -22 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 1 + OnKeyPress = MJIDKeyPress + end + object MJMaoZ: TEdit + Left = 305 + Top = 55 + Width = 68 + Height = 20 + TabOrder = 5 + end + object MJLen: TEdit + Left = 555 + Top = 15 + Width = 68 + Height = 20 + TabOrder = 4 + end + object RadioGroup1: TRadioGroup + Left = 830 + Top = 10 + Width = 191 + Height = 81 + Columns = 3 + ItemIndex = 0 + Items.Strings = ( + #27491#21697 + #27425#21697) + TabOrder = 0 + end + object MJQty1: TEdit + Left = 310 + Top = 105 + Width = 68 + Height = 20 + TabOrder = 7 + end + object MJFK: TEdit + Left = 310 + Top = 145 + Width = 68 + Height = 20 + TabOrder = 9 + end + object MJSJKZ: TEdit + Left = 445 + Top = 120 + Width = 68 + Height = 20 + TabOrder = 8 + end + object MJQty2: TEdit + Left = 580 + Top = 145 + Width = 68 + Height = 20 + TabOrder = 10 + end + object MJQty4: TEdit + Left = 430 + Top = 55 + Width = 68 + Height = 20 + TabOrder = 6 + end + object MJXH: TEdit + Left = 305 + Top = 15 + Width = 66 + Height = 20 + TabOrder = 2 + Text = 'MJXH' + end + object MJstr4: TEdit + Left = 430 + Top = 15 + Width = 66 + Height = 20 + TabOrder = 3 + Text = 'Edit1' + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 123 + Width = 852 + Height = 332 + Align = alClient + TabOrder = 2 + object Tv2: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column1 + end + item + Kind = skSum + Column = Tv2CDQty + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = DataLink_TradeManage.TextSHuangSe + object tv2CDType: TcxGridDBColumn + Caption = #30133#28857#21517#31216 + DataBinding.FieldName = 'CDName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = tv2CDTypePropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = DataLink_TradeManage.Default + Width = 144 + end + object tv2CDWZ: TcxGridDBColumn + Caption = #20301#32622#36215 + DataBinding.FieldName = 'CDBeg' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = tv2CDWZPropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = DataLink_TradeManage.Default + Width = 96 + end + object v2Column2: TcxGridDBColumn + Caption = #20301#32622#27490 + DataBinding.FieldName = 'CDend' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v2Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.Default + Width = 93 + end + object Tv2CDQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'CDQty' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = DataLink_TradeManage.Default + Width = 93 + end + object Tv2CDReason: TcxGridDBColumn + Caption = #21407#22240 + DataBinding.FieldName = 'CDReason' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 131 + end + object v2Column1: TcxGridDBColumn + Caption = #25187#20998 + DataBinding.FieldName = 'KouFenQty' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v2Column3: TcxGridDBColumn + Caption = #36317#36793 + DataBinding.FieldName = 'JBQty' + HeaderAlignmentHorz = taCenter + Width = 70 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object ADOTmp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 832 + Top = 72 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 312 + Top = 200 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 832 + Top = 40 + end + object DataSource1: TDataSource + DataSet = Order_MJ + Left = 528 + Top = 200 + end + object Order_MJ: TClientDataSet + Aggregates = <> + Params = <> + Left = 344 + Top = 200 + end +end diff --git a/打卷检验管理/U_MJEdit.pas b/打卷检验管理/U_MJEdit.pas new file mode 100644 index 0000000..3892dca --- /dev/null +++ b/打卷检验管理/U_MJEdit.pas @@ -0,0 +1,553 @@ +unit U_MJEdit; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, + cxEdit, DB, cxDBData, cxTextEdit, DBClient, ADODB, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, StdCtrls, ExtCtrls, ComCtrls, ToolWin, + cxButtonEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; + +type + TfrmMJEdit = class(TForm) + ToolBar1: TToolBar; + ToolButton2: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + Label1: TLabel; + MJID: TEdit; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + tv2CDType: TcxGridDBColumn; + tv2CDWZ: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + Tv2CDQty: TcxGridDBColumn; + Tv2CDReason: TcxGridDBColumn; + v2Column1: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + ADOTmp: TADOQuery; + ADOQueryMain: TADOQuery; + ADOCmd: TADOQuery; + DataSource1: TDataSource; + Order_MJ: TClientDataSet; + ToolButton1: TToolButton; + ToolButton3: TToolButton; + Label2: TLabel; + MJMaoZ: TEdit; + Label4: TLabel; + M: TLabel; + Label6: TLabel; + MJLen: TEdit; + RadioGroup1: TRadioGroup; + Ma: TLabel; + Label7: TLabel; + MJQty1: TEdit; + Label5: TLabel; + Label8: TLabel; + MJFK: TEdit; + Label9: TLabel; + Label10: TLabel; + Label3: TLabel; + Label11: TLabel; + MJSJKZ: TEdit; + ToolButton4: TToolButton; + Label13: TLabel; + MJQty2: TEdit; + Label12: TLabel; + Label14: TLabel; + MJQty4: TEdit; + Label15: TLabel; + MJXH: TEdit; + MJstr4: TEdit; + Label16: TLabel; + v2Column3: TcxGridDBColumn; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure MJIDKeyPress(Sender: TObject; var Key: Char); + procedure tv2CDTypePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); + procedure tv2CDWZPropertiesEditValueChanged(Sender: TObject); + procedure v2Column2PropertiesEditValueChanged(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure ToolButton4Click(Sender: TObject); + private + { Private declarations } + function SaveData(): Boolean; + public + { Public declarations } + end; + +var + frmMJEdit: TfrmMJEdit; + +implementation + +uses + U_Fun, U_ZDYHelp, U_DataLink; + +{$R *.dfm} + +procedure TfrmMJEdit.FormClose(Sender: TObject; var Action: TCloseAction); +begin + Action := caFree; +end; + +procedure TfrmMJEdit.FormDestroy(Sender: TObject); +begin + frmMJEdit := nil; +end; + +procedure TfrmMJEdit.MJIDKeyPress(Sender: TObject; var Key: Char); +begin + if Key = #13 then + begin + with ADOTmp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,AOrddefstr3=(select AOrddefstr3 from JYOrder_Sub_AnPai B where B.APID=A.APID), '); + sql.Add('AOrddefstr2=(select AOrddefstr2 from JYOrder_Sub_AnPai B where B.APID=A.APID) from WFB_MJJY A'); + sql.Add(' where A.MJID=''' + Trim(MJID.Text) + ''''); + Open; + end; + if ADOTmp.IsEmpty then + begin + MJID.Text := ''; + Label2.Caption := ''; + Label2.Visible := False; + Application.MessageBox('!', 'ʾ', 0); + Exit; + end; + MJstr4.Text := Trim(ADOTmp.fieldbyname('MJstr4').AsString); + MJXH.Text := Trim(ADOTmp.fieldbyname('MJXH').AsString); + MJMaoZ.Text := Trim(ADOTmp.fieldbyname('MJMaoZ').AsString); + MJLen.Text := Trim(ADOTmp.fieldbyname('MJLen').AsString); + MJQty1.Text := Trim(ADOTmp.fieldbyname('MJQty1').AsString); + MJQty2.Text := Trim(ADOTmp.fieldbyname('MJQty2').AsString); + MJQty4.Text := Trim(ADOTmp.fieldbyname('MJQty4').AsString); + MJFK.Text := Trim(ADOTmp.fieldbyname('MJFK').AsString); + MJSJKZ.Text := Trim(ADOTmp.fieldbyname('MJSJKZ').AsString); + M.Caption := Trim(Trim(ADOTmp.fieldbyname('MJTypeOther').AsString)); + Ma.Caption := Trim(Trim(ADOTmp.fieldbyname('MJStr1').AsString)); + if Trim(m.Caption) = '' then + begin + m.Caption := Trim(ADOTmp.fieldbyname('AOrddefstr3').AsString); + end; + if Trim(Ma.Caption) = '' then + begin + Ma.Caption := Trim(ADOTmp.fieldbyname('AOrddefstr2').AsString); + end; + if Trim(Trim(ADOTmp.fieldbyname('MJType').AsString)) = 'Ʒ' then + begin + RadioGroup1.ItemIndex := 0 + end + else if Trim(Trim(ADOTmp.fieldbyname('MJType').AsString)) = 'Ʒ' then + begin + RadioGroup1.ItemIndex := 1; + end + else if Trim(Trim(ADOTmp.fieldbyname('MJType').AsString)) = '' then + begin + RadioGroup1.ItemIndex := 2; + end; + with ADOTmp do + begin + Close; + sql.Clear; + SQL.Add('select * from WFB_MJJY_CD A where A.MJID=''' + Trim(MJID.Text) + ''''); + Open; + end; + Label2.Caption := Trim(MJID.Text); + Label2.Visible := True; + MJID.Text := ''; + SCreateCDS20(ADOTmp, Order_MJ); + SInitCDSData20(ADOTmp, Order_MJ); + + end; +end; + +procedure TfrmMJEdit.tv2CDTypePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := 'WFBCD'; + flagname := 'õ'; + if ShowModal = 1 then + begin + Self.Order_MJ.Edit; + Self.Order_MJ.FieldByName('CDName').value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmMJEdit.tv2CDWZPropertiesEditValueChanged(Sender: TObject); +var + mvalue, CDBeg, CDEnd: string; + FFReal: Double; +begin + mvalue := TcxTextEdit(Sender).EditingText; + with Order_MJ do + begin + Edit; + FieldByName('CDBeg').Value := mvalue; + Post; + end; + CDBeg := Trim(Order_MJ.fieldbyname('CDBeg').AsString); + CDEnd := Trim(Order_MJ.fieldbyname('CDEnd').AsString); + if (Trim(CDBeg) <> '') and (Trim(CDEnd) <> '') then + begin + if TryStrToFloat(CDBeg, FFReal) and TryStrToFloat(CDBeg, FFReal) then + begin + if StrToFloat(CDEnd) < StrToFloat(CDBeg) then + begin + Application.MessageBox('ֹλСʼλ!', 'ʾ', 0); + Exit; + end; + with Order_MJ do + begin + Edit; + FieldByName('CDQty').Value := StrToFloat(CDEnd) - StrToFloat(CDBeg); + Post; + end; + end + else + begin + Application.MessageBox('Ƿ!', 'ʾ', 0); + Exit; + end; + end; +end; + +procedure TfrmMJEdit.v2Column2PropertiesEditValueChanged(Sender: TObject); +var + mvalue, CDBeg, CDEnd: string; + FFReal: Double; +begin + mvalue := TcxTextEdit(Sender).EditingText; + with Order_MJ do + begin + Edit; + FieldByName('CDEnd').Value := mvalue; + Post; + end; + CDBeg := Trim(Order_MJ.fieldbyname('CDBeg').AsString); + CDEnd := Trim(Order_MJ.fieldbyname('CDEnd').AsString); + if (Trim(CDBeg) <> '') and (Trim(CDEnd) <> '') then + begin + if TryStrToFloat(CDBeg, FFReal) and TryStrToFloat(CDBeg, FFReal) then + begin + if StrToFloat(CDEnd) < StrToFloat(CDBeg) then + begin + Application.MessageBox('ֹλСʼλ!', 'ʾ', 0); + Exit; + end; + with Order_MJ do + begin + Edit; + FieldByName('CDQty').Value := StrToFloat(CDEnd) - StrToFloat(CDBeg); + Post; + end; + end + else + begin + Application.MessageBox('Ƿ!', 'ʾ', 0); + Exit; + end; + end; +end; + +procedure TfrmMJEdit.ToolButton1Click(Sender: TObject); +begin + if Trim(Label2.Caption) = '' then + Exit; + Order_MJ.Append; + Order_MJ.Post; +end; + +procedure TfrmMJEdit.ToolButton3Click(Sender: TObject); +begin + if Trim(Label2.Caption) = '' then + Exit; + if Order_MJ.IsEmpty then + Exit; + if Trim(Order_MJ.fieldbyname('MCID').AsString) <> '' then + begin + if Application.MessageBox('ȷҪɾ', 'ʾ', 32 + 4) <> IDYES then + Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFB_MJJY_CD where MCID=''' + Trim(Order_MJ.fieldbyname('MCID').AsString) + ''''); + ExecSQL; + end; + end; + Order_MJ.Delete; +end; + +function TfrmMJEdit.SaveData(): Boolean; +var + maxno: string; + FFreal: Double; +begin + try + ADOCmd.Connection.BeginTrans; + ///õ + with Order_MJ do + begin + First; + while not Eof do + begin + if Trim(Order_MJ.fieldbyname('MCID').AsString) = '' then + begin + if GetLSNo(ADOTmp, maxno, 'MC', 'WFB_MJJY_CD', 5, 1) = False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ', 'ʾ', 0); + Exit; + end; + end + else + begin + maxno := Trim(Order_MJ.fieldbyname('MCID').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_MJJY_CD '); + sql.Add(' where MCID=''' + Trim(maxno) + ''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_MJ.fieldbyname('MCID').AsString) = '' then + Append + else + Edit; + FieldByName('MJId').Value := Trim(Label2.Caption); + FieldByName('MCID').Value := Trim(maxno); + SSetSaveDataCDSNew(ADOCmd, Tv2, Order_MJ, 'WFB_MJJY_CD', 0); + FieldByName('KouFenQty').Value := Order_MJ.fieldbyname('KouFenQty').AsInteger; + FieldByName('JBQty').Value := Order_MJ.fieldbyname('JBQty').AsFloat; + Post; + end; + + Order_MJ.Edit; + Order_MJ.FieldByName('MCID').Value := Trim(maxno); + Order_MJ.FieldByName('MJID').Value := Trim(Label2.Caption); + Next; + end; + end; + if Trim(MJMaoZ.Text) <> '' then + begin + if TryStrToFloat(MJMaoZ.Text, FFreal) = False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('Ƿ!', 'ʾ', 0); + Exit; + end; + end; + if Trim(MJLen.Text) <> '' then + begin + if TryStrToFloat(MJLen.Text, FFreal) = False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȷǷ!', 'ʾ', 0); + Exit; + end; + end; +// if Trim(MJSJKZ.Text)<>'' then +// begin +// if TryStrToFloat(MJSJKZ.Text,FFreal)=False then +// begin +// ADOCmd.Connection.RollbackTrans; +// Application.MessageBox('طǷ!','ʾ',0); +// Exit; +// end; +// end; + if Trim(MJQty2.Text) <> '' then + begin + if TryStrToFloat(MJQty2.Text, FFreal) = False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('Ƿ!', 'ʾ', 0); + Exit; + end; + end; + if Trim(MJQty4.Text) <> '' then + begin + if TryStrToFloat(MJQty4.Text, FFreal) = False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('طǷ!', 'ʾ', 0); + Exit; + end; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFB_MJJY Set MJTypeOther=''' + Trim(M.Caption) + ''''); + sql.Add(',MJStr1=''' + Trim(Ma.Caption) + ''''); + sql.Add(',MJStr4=''' + Trim(MJStr4.Text) + ''''); + sql.Add(',MJXH=''' + Trim(MJXH.Text) + ''''); + if Trim(MJLen.Text) <> '' then + begin + sql.Add(',MJLen=' + Trim(MJLen.Text)); + end + else + begin + sql.Add(',MJLen=0'); + end; + if Trim(MJQty1.Text) <> '' then + begin + sql.Add(',MJQty1=' + Trim(MJQty1.Text)); + end + else + begin + sql.Add(',MJQty1=0'); + end; + if Trim(MJQty2.Text) <> '' then + begin + sql.Add(',MJQty2=' + Trim(MJQty2.Text)); + end + else + begin + sql.Add(',MJQty2=0'); + end; + if Trim(MJFK.Text) <> '' then + begin + sql.Add(',MJFK=''' + Trim(MJFK.Text) + ''' '); + end + else + begin + sql.Add(',MJFK=''0'' '); + end; + if Trim(MJMaoZ.Text) <> '' then + begin + sql.Add(',MJMaoZ=' + Trim(MJMaoZ.Text)); + end + else + begin + sql.Add(',MJMaoZ=0'); + end; + if Trim(MJSJKZ.Text) <> '' then + begin + sql.Add(',MJSJKZ=''' + Trim(MJSJKZ.Text) + ''''); + end + else + begin + sql.Add(',MJSJKZ=''0'' '); + end; + if Trim(MJQty4.Text) <> '' then + begin + sql.Add(',MJQty4=' + Trim(MJQty4.Text)); + end + else + begin + sql.Add(',MJQty4=0'); + end; + if RadioGroup1.ItemIndex = 0 then + begin + sql.Add(',MJType=''Ʒ'' '); + end + else if RadioGroup1.ItemIndex = 1 then + begin + sql.Add(',MJType=''Ʒ'' '); + end; + sql.Add(' where MJID=''' + Trim(Label2.Caption) + ''''); + ExecSQL; + end; + with ADOCmd do + begin + close; + sql.Clear; + sql.Add('update WFB_MJJY SET CDList= dbo.F_Get_Order_SubStr(MJID,''MJCDHZSL'')'); + sql.Add(' where MJID=''' + Trim(Label2.Caption) + ''''); + execsql; + end; + ADOCmd.Connection.CommitTrans; + Result := True; + except + Result := False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ', 'ʾ', 0); + end; +end; + +procedure TfrmMJEdit.ToolButton2Click(Sender: TObject); +begin + if Trim(Label2.Caption) = '' then + Exit; + if SaveData() then + begin + Application.MessageBox('ɹ!', 'ʾ', 0); + self.ModalResult := 1; + end; +end; + +procedure TfrmMJEdit.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ƥ', Tv2, 'Ⱦ'); +end; + +procedure TfrmMJEdit.FormShow(Sender: TObject); +begin + ReadCxGrid('ƥ', Tv2, 'Ⱦ'); +end; + +procedure TfrmMJEdit.ToolButton4Click(Sender: TObject); +begin + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_CR where MJID=''' + Trim(Label2.Caption) + ''''); + Open; + end; + if ADOTmp.IsEmpty = False then + begin + Application.MessageBox('Ѳݲɾ!', 'ʾ', 0); + Exit; + end + else + begin + if Application.MessageBox('ȷҪϺݲָܻ', 'ʾ', 32 + 4) = IDYES then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.add('insert into WFB_MJJY_Del select * from WFB_MJJY where mjid=''' + trim(Label2.Caption) + ''' '); + sql.Add('update WFB_MJJY_Del Set DelTime=Getdate(),Deler='''+trim(DName)+''' where mjid=''' + trim(Label2.Caption) + ''' '); + + sql.Add('delete WFB_MJJY where MJID=''' + Trim(Label2.Caption) + ''''); + sql.Add('delete WFB_MJJY_CD where MJID=''' + Trim(Label2.Caption) + ''''); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' ' + quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(trim('ɾ'))); + sql.Add(',' + quotedstr(trim(':' + trim(Label2.Caption)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + ExecSQL; + end; + Label2.Caption := ''; + end; + end; +end; + +end. + diff --git a/打卷检验管理/U_MJManage.dfm b/打卷检验管理/U_MJManage.dfm new file mode 100644 index 0000000..2deb5de --- /dev/null +++ b/打卷检验管理/U_MJManage.dfm @@ -0,0 +1,1192 @@ +object frmMJManage: TfrmMJManage + Left = 65 + Top = -15 + Width = 1137 + Height = 730 + Caption = #27597#21367#30331#35760 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #40657#20307 + Font.Style = [fsBold] + OldCreateOrder = False + OnClick = FormClick + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 19 + object Panel1: TPanel + Left = 0 + Top = 30 + Width = 1129 + Height = 67 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 0 + object Label1: TLabel + Left = 143 + Top = 23 + Width = 80 + Height = 19 + Caption = #25195#25551#20837#21475 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -19 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 519 + Top = 23 + Width = 80 + Height = 19 + Caption = #25163#24037#24405#20837 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object MainId: TEdit + Left = 224 + Top = 21 + Width = 241 + Height = 27 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnKeyPress = MainIdKeyPress + end + object Edit1: TEdit + Left = 607 + Top = 21 + Width = 241 + Height = 27 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + end + end + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1129 + Height = 30 + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBOrder.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 1 + object TBCD: TToolButton + Left = 0 + Top = 0 + Caption = #30133#28857#31649#29702 + ImageIndex = 132 + OnClick = TBCDClick + end + object TBClose: TToolButton + Left = 83 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel2: TPanel + Left = 0 + Top = 201 + Width = 388 + Height = 492 + Align = alLeft + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 2 + object Panel3: TPanel + Left = 2 + Top = 2 + Width = 384 + Height = 116 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 0 + object Button1: TButton + Left = 0 + Top = 1 + Width = 65 + Height = 57 + Caption = '0' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = Button1Click + end + object Button2: TButton + Left = 64 + Top = 1 + Width = 65 + Height = 57 + Caption = '1' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Button2Click + end + object Button3: TButton + Left = 128 + Top = 1 + Width = 65 + Height = 57 + Caption = '2' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button3Click + end + object Button4: TButton + Left = 192 + Top = 1 + Width = 65 + Height = 57 + Caption = '3' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = Button4Click + end + object Button5: TButton + Left = 256 + Top = 1 + Width = 65 + Height = 57 + Caption = '4' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + OnClick = Button5Click + end + object Button6: TButton + Left = 320 + Top = 1 + Width = 65 + Height = 57 + Caption = '5' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + OnClick = Button6Click + end + object Button7: TButton + Left = 0 + Top = 57 + Width = 65 + Height = 57 + Caption = '6' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + OnClick = Button7Click + end + object Button8: TButton + Left = 64 + Top = 57 + Width = 65 + Height = 57 + Caption = '7' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + OnClick = Button8Click + end + object Button9: TButton + Left = 128 + Top = 57 + Width = 65 + Height = 57 + Caption = '8' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + OnClick = Button9Click + end + object Button10: TButton + Left = 192 + Top = 57 + Width = 65 + Height = 57 + Caption = '9' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + OnClick = Button10Click + end + object Button11: TButton + Left = 256 + Top = 57 + Width = 65 + Height = 57 + Caption = '.' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -48 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + OnClick = Button11Click + end + object Button12: TButton + Left = 320 + Top = 57 + Width = 65 + Height = 57 + Caption = #8592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -53 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + OnClick = Button12Click + end + end + object Panel4: TPanel + Left = 2 + Top = 118 + Width = 384 + Height = 339 + Align = alTop + TabOrder = 1 + object Button13: TButton + Left = 0 + Top = 1 + Width = 65 + Height = 57 + TabOrder = 0 + Visible = False + OnClick = Button13Click + end + object Button14: TButton + Left = 64 + Top = 1 + Width = 65 + Height = 57 + TabOrder = 1 + Visible = False + OnClick = Button14Click + end + object Button15: TButton + Left = 128 + Top = 1 + Width = 65 + Height = 57 + TabOrder = 2 + Visible = False + OnClick = Button15Click + end + object Button16: TButton + Left = 192 + Top = 1 + Width = 65 + Height = 57 + TabOrder = 3 + Visible = False + OnClick = Button16Click + end + object Button17: TButton + Left = 256 + Top = 1 + Width = 65 + Height = 57 + TabOrder = 4 + Visible = False + OnClick = Button17Click + end + object Button18: TButton + Left = 320 + Top = 1 + Width = 65 + Height = 57 + TabOrder = 5 + Visible = False + OnClick = Button18Click + end + object Button19: TButton + Left = 0 + Top = 57 + Width = 65 + Height = 57 + TabOrder = 6 + Visible = False + OnClick = Button19Click + end + object Button20: TButton + Left = 64 + Top = 57 + Width = 65 + Height = 57 + TabOrder = 7 + Visible = False + OnClick = Button20Click + end + object Button21: TButton + Left = 128 + Top = 57 + Width = 65 + Height = 57 + TabOrder = 8 + Visible = False + OnClick = Button21Click + end + object Button22: TButton + Left = 192 + Top = 57 + Width = 65 + Height = 57 + TabOrder = 9 + Visible = False + OnClick = Button22Click + end + object Button23: TButton + Left = 256 + Top = 57 + Width = 65 + Height = 57 + TabOrder = 10 + Visible = False + OnClick = Button23Click + end + object Button24: TButton + Left = 320 + Top = 57 + Width = 65 + Height = 57 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + Visible = False + OnClick = Button24Click + end + object Button25: TButton + Left = 0 + Top = 113 + Width = 65 + Height = 57 + TabOrder = 12 + Visible = False + OnClick = Button25Click + end + object Button26: TButton + Left = 64 + Top = 113 + Width = 65 + Height = 57 + TabOrder = 13 + Visible = False + OnClick = Button26Click + end + object Button27: TButton + Left = 128 + Top = 113 + Width = 65 + Height = 57 + TabOrder = 14 + Visible = False + OnClick = Button27Click + end + object Button28: TButton + Left = 192 + Top = 113 + Width = 65 + Height = 57 + TabOrder = 15 + Visible = False + OnClick = Button28Click + end + object Button29: TButton + Left = 256 + Top = 113 + Width = 65 + Height = 57 + TabOrder = 16 + Visible = False + OnClick = Button29Click + end + object Button30: TButton + Left = 320 + Top = 113 + Width = 65 + Height = 57 + TabOrder = 17 + Visible = False + OnClick = Button30Click + end + object Button31: TButton + Left = 0 + Top = 169 + Width = 65 + Height = 57 + TabOrder = 18 + Visible = False + OnClick = Button31Click + end + object Button32: TButton + Left = 64 + Top = 169 + Width = 65 + Height = 57 + TabOrder = 19 + Visible = False + OnClick = Button32Click + end + object Button33: TButton + Left = 128 + Top = 169 + Width = 65 + Height = 57 + TabOrder = 20 + Visible = False + OnClick = Button33Click + end + object Button34: TButton + Left = 192 + Top = 169 + Width = 65 + Height = 57 + TabOrder = 21 + Visible = False + OnClick = Button34Click + end + object Button35: TButton + Left = 256 + Top = 169 + Width = 65 + Height = 57 + TabOrder = 22 + Visible = False + OnClick = Button35Click + end + object Button36: TButton + Left = 320 + Top = 169 + Width = 65 + Height = 57 + TabOrder = 23 + Visible = False + OnClick = Button36Click + end + object Button39: TButton + Left = 0 + Top = 225 + Width = 65 + Height = 57 + TabOrder = 24 + Visible = False + OnClick = Button39Click + end + object Button40: TButton + Left = 64 + Top = 225 + Width = 65 + Height = 57 + TabOrder = 25 + Visible = False + OnClick = Button40Click + end + object Button41: TButton + Left = 128 + Top = 225 + Width = 65 + Height = 57 + TabOrder = 26 + Visible = False + OnClick = Button41Click + end + object Button42: TButton + Left = 192 + Top = 225 + Width = 65 + Height = 57 + TabOrder = 27 + Visible = False + OnClick = Button42Click + end + object Button43: TButton + Left = 256 + Top = 225 + Width = 65 + Height = 57 + TabOrder = 28 + Visible = False + OnClick = Button43Click + end + object Button44: TButton + Left = 320 + Top = 225 + Width = 65 + Height = 57 + TabOrder = 29 + Visible = False + OnClick = Button44Click + end + object Button45: TButton + Left = 0 + Top = 281 + Width = 65 + Height = 57 + TabOrder = 30 + Visible = False + OnClick = Button45Click + end + object Button46: TButton + Left = 64 + Top = 281 + Width = 65 + Height = 57 + TabOrder = 31 + Visible = False + OnClick = Button46Click + end + object Button47: TButton + Left = 128 + Top = 281 + Width = 65 + Height = 57 + TabOrder = 32 + Visible = False + OnClick = Button47Click + end + object Button48: TButton + Left = 192 + Top = 281 + Width = 65 + Height = 57 + TabOrder = 33 + Visible = False + OnClick = Button48Click + end + object Button49: TButton + Left = 256 + Top = 281 + Width = 65 + Height = 57 + TabOrder = 34 + Visible = False + OnClick = Button49Click + end + object Button50: TButton + Left = 320 + Top = 281 + Width = 65 + Height = 57 + TabOrder = 35 + Visible = False + OnClick = Button50Click + end + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 97 + Width = 1129 + Height = 104 + Align = alTop + TabOrder = 3 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv1CellClick + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Styles.Header = cxStyle1 + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#32534#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 80 + end + object v1Column2: TcxGridDBColumn + Caption = #20195#21495 + DataBinding.FieldName = 'WFBCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 140 + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'WFBFK' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 78 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'WFBKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 93 + end + object v1OrderDate: TcxGridDBColumn + Caption = #19979#21333#26085#26399 + DataBinding.FieldName = 'OrderDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 114 + end + object v1Column6: TcxGridDBColumn + Caption = #23457#26680#20154 + DataBinding.FieldName = 'Chker' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 57 + end + object v1Column1: TcxGridDBColumn + Caption = #20811#37325#19978#38480 + DataBinding.FieldName = 'MJKZD' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle2 + Width = 80 + end + object v1Column3: TcxGridDBColumn + Caption = #20811#37325#19979#38480 + DataBinding.FieldName = 'MJKZX' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle2 + Width = 74 + end + object v1Note: TcxGridDBColumn + Caption = #27880#24847#20107#39033 + DataBinding.FieldName = 'Note' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 315 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGrid2: TcxGrid + Left = 388 + Top = 201 + Width = 253 + Height = 492 + Align = alLeft + TabOrder = 4 + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv2CellClick + OnCellDblClick = Tv2CellDblClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column1 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = cxStyle1 + object tv2CDType: TcxGridDBColumn + Caption = #30133#28857#31181#31867 + DataBinding.FieldName = 'CDName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 88 + end + object tv2CDWZ: TcxGridDBColumn + Caption = #20301#32622 + DataBinding.FieldName = 'CDBeg' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 69 + end + object Tv2CDQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'CDQtyS' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = Tv2CDQtyPropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 87 + end + object Tv2CDReason: TcxGridDBColumn + Caption = #21407#22240 + DataBinding.FieldName = 'CDReason' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 131 + end + object v2Column1: TcxGridDBColumn + DataBinding.FieldName = 'CDQty' + Visible = False + Width = 55 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object cxGrid3: TcxGrid + Left = 949 + Top = 201 + Width = 180 + Height = 492 + Align = alClient + TabOrder = 5 + object Tv3: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv3CellClick + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = cxStyle1 + object cxGridDBColumn1: TcxGridDBColumn + Caption = #24050#32463#30331#35760#30340#27597#21367 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 155 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv3 + end + end + object Panel5: TPanel + Left = 641 + Top = 201 + Width = 308 + Height = 492 + Align = alLeft + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 6 + object Label3: TLabel + Left = 49 + Top = 27 + Width = 40 + Height = 19 + Caption = #27611#37325 + end + object Label4: TLabel + Left = 49 + Top = 70 + Width = 40 + Height = 19 + Caption = #38271#24230 + end + object Label5: TLabel + Left = 49 + Top = 114 + Width = 40 + Height = 19 + Caption = #24133#23485 + end + object Label6: TLabel + Left = 49 + Top = 157 + Width = 40 + Height = 19 + Caption = #29677#32452 + end + object Label7: TLabel + Left = 223 + Top = 69 + Width = 31 + Height = 19 + Caption = #65306'M' + end + object Label8: TLabel + Left = 223 + Top = 27 + Width = 42 + Height = 19 + Caption = #65306'Kg' + end + object Label9: TLabel + Left = 223 + Top = 110 + Width = 42 + Height = 19 + Caption = #65306'CM' + end + object Label10: TLabel + Left = 29 + Top = 313 + Width = 80 + Height = 19 + Caption = #23454#38469#20811#37325 + end + object Label11: TLabel + Left = 242 + Top = 312 + Width = 62 + Height = 19 + Caption = #65306'g/'#13217 + end + object Label12: TLabel + Left = 29 + Top = 274 + Width = 80 + Height = 19 + Caption = #30133#28857#25968#37327 + end + object Label13: TLabel + Left = 242 + Top = 272 + Width = 31 + Height = 19 + Caption = #65306'M' + end + object Label14: TLabel + Left = 40 + Top = 368 + Width = 11 + Height = 19 + Visible = False + end + object MJMaoZ: TEdit + Left = 96 + Top = 24 + Width = 121 + Height = 27 + ReadOnly = True + TabOrder = 0 + OnChange = MJMaoZChange + OnClick = MJMaoZClick + end + object MJLen: TEdit + Left = 96 + Top = 67 + Width = 121 + Height = 27 + ReadOnly = True + TabOrder = 1 + OnChange = MJMaoZChange + OnClick = MJLenClick + end + object MJFK: TEdit + Left = 96 + Top = 109 + Width = 121 + Height = 27 + ReadOnly = True + TabOrder = 2 + OnChange = MJMaoZChange + OnClick = MJFKClick + end + object MJBanZu: TEdit + Left = 96 + Top = 152 + Width = 121 + Height = 27 + ReadOnly = True + TabOrder = 3 + OnClick = MJBanZuClick + end + object BTPrint: TButton + Left = 175 + Top = 208 + Width = 89 + Height = 25 + Caption = #25171#21360#26465#30721 + TabOrder = 4 + OnClick = BTPrintClick + end + object Button38: TButton + Left = 223 + Top = 152 + Width = 41 + Height = 28 + Caption = #65294#65294#65294 + Enabled = False + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + OnClick = Button38Click + end + object MJSJKZ: TEdit + Left = 113 + Top = 310 + Width = 121 + Height = 27 + ReadOnly = True + TabOrder = 6 + OnClick = MJSJKZClick + end + object CDQty: TEdit + Tag = 99999 + Left = 113 + Top = 272 + Width = 121 + Height = 27 + ReadOnly = True + TabOrder = 7 + OnClick = MJSJKZClick + end + object BTAdd: TButton + Left = 49 + Top = 208 + Width = 47 + Height = 25 + Caption = #26032#22686 + TabOrder = 8 + OnClick = BTAddClick + end + object BTEdit: TButton + Left = 111 + Top = 208 + Width = 47 + Height = 25 + Caption = #20462#25913 + TabOrder = 9 + Visible = False + OnClick = BTEditClick + end + end + object cxStyleRepository1: TcxStyleRepository + Top = 56 + object cxStyle1: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle2: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Pitch = fpFixed + Font.Style = [fsBold] + TextColor = clDefault + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + PopupMenus = <> + Left = 296 + Top = 128 + end + object DataSource1: TDataSource + DataSet = Order_MJ + Left = 328 + Top = 128 + end + object Order_MJ: TClientDataSet + Aggregates = <> + Params = <> + Left = 360 + Top = 128 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 400 + Top = 128 + end + object ADOCmd: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + Parameters = <> + Left = 432 + Top = 128 + end + object ADOTmp: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 464 + Top = 128 + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 536 + Top = 128 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 496 + Top = 128 + ReportData = {} + end + object DataSource2: TDataSource + DataSet = CDS_MJCD + Left = 448 + Top = 264 + end + object CDS_MJCD: TClientDataSet + Aggregates = <> + Params = <> + Left = 480 + Top = 264 + end + object DataSource3: TDataSource + DataSet = CDS_MJID + Left = 1032 + Top = 256 + end + object CDS_MJID: TClientDataSet + Aggregates = <> + Params = <> + Left = 1000 + Top = 256 + end + object Timer1: TTimer + Interval = 100 + OnTimer = Timer1Timer + Left = 656 + Top = 392 + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 688 + Top = 152 + end +end diff --git a/打卷检验管理/U_MJManage.pas b/打卷检验管理/U_MJManage.pas new file mode 100644 index 0000000..5420861 --- /dev/null +++ b/打卷检验管理/U_MJManage.pas @@ -0,0 +1,1086 @@ +unit U_MJManage; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, RM_Common, RM_Class, RM_GridReport, + RM_System, RM_Dataset, ADODB, DBClient, cxGridCustomPopupMenu, + cxGridPopupMenu, ExtCtrls, ComCtrls, ToolWin, cxTextEdit, Buttons; +{function CommOpen(fhandle:hwnd;sCommName:PAnsiChar; + IntTime:integer):integer;stdcall;external 'JCYData.DLL'; +function CommClose(sCommName:PAnsiChar):integer;stdcall;external 'JCYData.DLL';} + + +type + TfrmMJManage = class(TForm) + Panel1: TPanel; + MainId: TEdit; + Label1: TLabel; + Label2: TLabel; + Edit1: TEdit; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxStyle2: TcxStyle; + cxGridPopupMenu1: TcxGridPopupMenu; + DataSource1: TDataSource; + Order_MJ: TClientDataSet; + ADOQueryMain: TADOQuery; + ADOCmd: TADOQuery; + ADOTmp: TADOQuery; + RMDB_Main: TRMDBDataSet; + RM2: TRMGridReport; + ToolBar1: TToolBar; + TBClose: TToolButton; + Panel2: TPanel; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + v1OrderDate: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Note: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + tv2CDType: TcxGridDBColumn; + tv2CDWZ: TcxGridDBColumn; + Tv2CDQty: TcxGridDBColumn; + Tv2CDReason: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + TBCD: TToolButton; + Panel3: TPanel; + Button1: TButton; + Button2: TButton; + Button3: TButton; + Button4: TButton; + Button5: TButton; + Button6: TButton; + Button7: TButton; + Button8: TButton; + Button9: TButton; + Button10: TButton; + Button11: TButton; + Button12: TButton; + Panel4: TPanel; + Button13: TButton; + Button14: TButton; + Button15: TButton; + Button16: TButton; + Button17: TButton; + Button18: TButton; + Button19: TButton; + Button20: TButton; + Button21: TButton; + Button22: TButton; + Button23: TButton; + Button24: TButton; + Button25: TButton; + Button26: TButton; + Button27: TButton; + Button28: TButton; + Button29: TButton; + Button30: TButton; + Button31: TButton; + Button32: TButton; + Button33: TButton; + Button34: TButton; + Button35: TButton; + Button36: TButton; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + DataSource2: TDataSource; + CDS_MJCD: TClientDataSet; + DataSource3: TDataSource; + CDS_MJID: TClientDataSet; + v2Column1: TcxGridDBColumn; + Button39: TButton; + Button40: TButton; + Button41: TButton; + Button42: TButton; + Button43: TButton; + Button44: TButton; + Button45: TButton; + Button46: TButton; + Button47: TButton; + Button48: TButton; + Button49: TButton; + Button50: TButton; + Panel5: TPanel; + Label3: TLabel; + Label4: TLabel; + Label5: TLabel; + Label6: TLabel; + Label7: TLabel; + Label8: TLabel; + Label9: TLabel; + Label10: TLabel; + Label11: TLabel; + Label12: TLabel; + Label13: TLabel; + MJMaoZ: TEdit; + MJLen: TEdit; + MJFK: TEdit; + MJBanZu: TEdit; + BTPrint: TButton; + Button38: TButton; + MJSJKZ: TEdit; + CDQty: TEdit; + Timer1: TTimer; + Label14: TLabel; + BTAdd: TButton; + BTEdit: TButton; + ADOQueryPrint: TADOQuery; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure MainIdKeyPress(Sender: TObject; var Key: Char); + procedure TBCloseClick(Sender: TObject); + procedure Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TBCDClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Button13Click(Sender: TObject); + procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button14Click(Sender: TObject); + procedure Button15Click(Sender: TObject); + procedure Button16Click(Sender: TObject); + procedure Button17Click(Sender: TObject); + procedure Button18Click(Sender: TObject); + procedure Button19Click(Sender: TObject); + procedure Button20Click(Sender: TObject); + procedure Button21Click(Sender: TObject); + procedure Button22Click(Sender: TObject); + procedure Button23Click(Sender: TObject); + procedure Button24Click(Sender: TObject); + procedure Button25Click(Sender: TObject); + procedure Button26Click(Sender: TObject); + procedure Button27Click(Sender: TObject); + procedure Button28Click(Sender: TObject); + procedure Button29Click(Sender: TObject); + procedure Button30Click(Sender: TObject); + procedure Button31Click(Sender: TObject); + procedure Button32Click(Sender: TObject); + procedure Button33Click(Sender: TObject); + procedure Button34Click(Sender: TObject); + procedure Button35Click(Sender: TObject); + procedure Button36Click(Sender: TObject); + procedure Button38Click(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure MJMaoZClick(Sender: TObject); + procedure MJLenClick(Sender: TObject); + procedure MJFKClick(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure Button5Click(Sender: TObject); + procedure Button6Click(Sender: TObject); + procedure Button7Click(Sender: TObject); + procedure Button8Click(Sender: TObject); + procedure Button9Click(Sender: TObject); + procedure Button10Click(Sender: TObject); + procedure Button11Click(Sender: TObject); + procedure MJBanZuClick(Sender: TObject); + procedure MJSJKZClick(Sender: TObject); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure FormClick(Sender: TObject); + procedure Button12Click(Sender: TObject); + procedure Timer1Timer(Sender: TObject); + procedure Button39Click(Sender: TObject); + procedure Button40Click(Sender: TObject); + procedure Button41Click(Sender: TObject); + procedure Button42Click(Sender: TObject); + procedure Button43Click(Sender: TObject); + procedure Button44Click(Sender: TObject); + procedure Button45Click(Sender: TObject); + procedure Button46Click(Sender: TObject); + procedure Button47Click(Sender: TObject); + procedure Button48Click(Sender: TObject); + procedure Button49Click(Sender: TObject); + procedure Button50Click(Sender: TObject); + procedure MJMaoZChange(Sender: TObject); + procedure BTAddClick(Sender: TObject); + procedure BTEditClick(Sender: TObject); + procedure BTPrintClick(Sender: TObject); + procedure Tv2CDQtyPropertiesEditValueChanged(Sender: TObject); + private + { Private declarations } + FInt,PState:Integer; + FColumn:String; + MValue:String; + procedure InitJP(); + procedure InitGrid(); + procedure InitCDGrid(); + procedure InitCDGridID(); + procedure AddCD(Fbtn:TButton); + procedure AddSL(Fbtn:TButton); + function SaveData():Boolean; + procedure BtnStatus(BSInt:Boolean); + public + { Public declarations } + end; + +var + frmMJManage: TfrmMJManage; + +implementation +uses + U_DataLink,U_Fun,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmMJManage.FormDestroy(Sender: TObject); +begin + frmMJManage:=nil; +end; + +procedure TfrmMJManage.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + + + + +procedure TfrmMJManage.MainIdKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + InitGrid(); + InitCDGridID(); + ADOQueryMain.First; + SSetWinData(ADOQueryMain,Panel5); + if CDS_MJID.IsEmpty then + begin + SClearData(Panel5,0); + end; + InitCDGrid(); + + end; +end; +procedure TfrmMJManage.InitGrid(); +begin + with ADOQueryMain do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBOrder_Main where MainID='''+Trim(MainId.Text)+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_MJ); + SInitCDSData20(ADOQueryMain,Order_MJ); + MainId.Text:=''; +end; +procedure TfrmMJManage.InitCDGrid(); +begin + with ADOQueryMain do + begin + Close; + SQL.Clear; + if PState=1 then + sql.Add('select * from WFB_MJJY_CD where MJID='''' ') + else + sql.Add('select * from WFB_MJJY_CD where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_MJCD); + SInitCDSData20(ADOQueryMain,CDS_MJCD); + //MainId.Text:=''; +end; +procedure TfrmMJManage.InitCDGridID(); +begin + with ADOQueryMain do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_MJJY where MainID='''+Trim(Order_MJ.fieldbyname('MainId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_MJID); + SInitCDSData20(ADOQueryMain,CDS_MJID); + //MainId.Text:=''; +end; + +procedure TfrmMJManage.TBCloseClick(Sender: TObject); +begin + Close; +end; + +procedure TfrmMJManage.Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + fsj:string; +begin + FInt:=0; + //Tv1.DataController.FocusedRecordIndex; + //fsj:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; +end; + +procedure TfrmMJManage.TBCDClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WFBCD'; + flagname:='޷IJõ'; + if ShowModal=1 then + begin + Self.InitJP(); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmMJManage.FormShow(Sender: TObject); +begin + InitJP(); +end; +procedure TfrmMJManage.InitJP(); +var + AA:array[0..100] of string; + i,j:Integer; +begin + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select ZDYName from KH_Zdy where Type=''WFBCD'' order by ZDYNO '); + Open; + end; + if ADOTmp.IsEmpty then + begin + Application.MessageBox('ûжõ㣡','ʾ',0); + Exit; + end; + with ADOTmp do + begin + First; + i:=0; + while not Eof do + begin + AA[i]:=Trim(fieldbyname('ZDYName').AsString); + i:=i+1; + Next; + end; + end; + i:=i-1; + for j:=0 to 32 do + begin + with Panel4 do + begin + TButton(Controls[j]).Visible:=True; + if Length(AA[j])>3 then + begin + + end; + TButton(Controls[j]).Caption:=AA[j]; + end; + end; +end; + +procedure TfrmMJManage.Button13Click(Sender: TObject); +begin + AddCD(Button13); +end; +procedure TfrmMJManage.AddCD(Fbtn:TButton); +begin + if PState<1 then Exit; + if Order_MJ.IsEmpty then Exit; + with CDS_MJCD do + begin + Append; + FieldByName('cdname').Value:=Trim(TButton(Fbtn).Caption); + Post; + end; +end; +procedure TfrmMJManage.AddSL(Fbtn:TButton); +begin + if PState<1 then Exit; + if Order_MJ.IsEmpty then Exit; + + //if MJMaoZ.Focused then + if FInt=4 then Exit; + if FInt=1 then + begin + MJMaoZ.Text:=Trim(MJMaoZ.Text)+Trim(TButton(Fbtn).Caption); + end else + if FInt=2 then + begin + MJLen.Text:=Trim(MJLen.Text)+Trim(TButton(Fbtn).Caption); + end else + if FInt=3 then + begin + MJFK.Text:=Trim(MJFK.Text)+Trim(TButton(Fbtn).Caption); + end else + if CDS_MJCD.IsEmpty=False then + begin + FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(FColumn)<>'' then + begin + with CDS_MJCD do + begin + Edit; + FieldByName(FColumn).Value:=Trim(FieldByName(FColumn).AsString)+Trim(TButton(Fbtn).Caption); + if Trim(fieldbyname('CDQtyS').AsString)<>'' then + Fieldbyname('CDQty').Value:=Trim(fieldbyname('CDQtyS').AsString); + Post; + end; + end; + end; +end; + +procedure TfrmMJManage.Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if Tv2.OptionsSelection.CellSelect=True then + begin + if CDS_MJCD.IsEmpty then Exit; + CDS_MJCD.Delete; + end; + +end; + +procedure TfrmMJManage.Button14Click(Sender: TObject); +begin + AddCD(Button14); +end; + +procedure TfrmMJManage.Button15Click(Sender: TObject); +begin + AddCD(Button15); +end; + +procedure TfrmMJManage.Button16Click(Sender: TObject); +begin + AddCD(Button16); +end; + +procedure TfrmMJManage.Button17Click(Sender: TObject); +begin + AddCD(Button17); +end; + +procedure TfrmMJManage.Button18Click(Sender: TObject); +begin + AddCD(Button18); +end; + +procedure TfrmMJManage.Button19Click(Sender: TObject); +begin + AddCD(Button19); +end; + +procedure TfrmMJManage.Button20Click(Sender: TObject); +begin + AddCD(Button20); +end; + +procedure TfrmMJManage.Button21Click(Sender: TObject); +begin + AddCD(Button21); +end; + +procedure TfrmMJManage.Button22Click(Sender: TObject); +begin + AddCD(Button22); +end; + +procedure TfrmMJManage.Button23Click(Sender: TObject); +begin + AddCD(Button23); +end; + +procedure TfrmMJManage.Button24Click(Sender: TObject); +begin + AddCD(Button24); +end; + +procedure TfrmMJManage.Button25Click(Sender: TObject); +begin + AddCD(Button25); +end; + +procedure TfrmMJManage.Button26Click(Sender: TObject); +begin + AddCD(Button26); +end; + +procedure TfrmMJManage.Button27Click(Sender: TObject); +begin + AddCD(Button27); +end; + +procedure TfrmMJManage.Button28Click(Sender: TObject); +begin + AddCD(Button28); +end; + +procedure TfrmMJManage.Button29Click(Sender: TObject); +begin + AddCD(Button29); +end; + +procedure TfrmMJManage.Button30Click(Sender: TObject); +begin + AddCD(Button30); +end; + +procedure TfrmMJManage.Button31Click(Sender: TObject); +begin + AddCD(Button31); +end; + +procedure TfrmMJManage.Button32Click(Sender: TObject); +begin + AddCD(Button32); +end; + +procedure TfrmMJManage.Button33Click(Sender: TObject); +begin + AddCD(Button33); +end; + +procedure TfrmMJManage.Button34Click(Sender: TObject); +begin + AddCD(Button34); +end; + +procedure TfrmMJManage.Button35Click(Sender: TObject); +begin + AddCD(Button35); +end; + +procedure TfrmMJManage.Button36Click(Sender: TObject); +begin + AddCD(Button36); +end; + +procedure TfrmMJManage.Button38Click(Sender: TObject); +begin + FColumn:=''; + FInt:=0; + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WFBBZ'; + flagname:=''; + if ShowModal=1 then + begin + Self.MJBanZu.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmMJManage.Button1Click(Sender: TObject); +begin + AddSL(Button1); +end; + +procedure TfrmMJManage.MJMaoZClick(Sender: TObject); +begin + FInt:=1; + FColumn:=''; +end; + +procedure TfrmMJManage.MJLenClick(Sender: TObject); +begin + FInt:=2; + FColumn:=''; +end; + +procedure TfrmMJManage.MJFKClick(Sender: TObject); +begin + FInt:=3; + FColumn:=''; +end; + +procedure TfrmMJManage.Button2Click(Sender: TObject); +begin + AddSL(Button2); +end; + +procedure TfrmMJManage.Button3Click(Sender: TObject); +begin + AddSL(Button3); +end; + +procedure TfrmMJManage.Button4Click(Sender: TObject); +begin + AddSL(Button4); +end; + +procedure TfrmMJManage.Button5Click(Sender: TObject); +begin + AddSL(Button5); +end; + +procedure TfrmMJManage.Button6Click(Sender: TObject); +begin + AddSL(Button6); +end; + +procedure TfrmMJManage.Button7Click(Sender: TObject); +begin + AddSL(Button7); +end; + +procedure TfrmMJManage.Button8Click(Sender: TObject); +begin + AddSL(Button8); +end; + +procedure TfrmMJManage.Button9Click(Sender: TObject); +begin + AddSL(Button9); +end; + +procedure TfrmMJManage.Button10Click(Sender: TObject); +begin + AddSL(Button10); +end; + +procedure TfrmMJManage.Button11Click(Sender: TObject); +begin + AddSL(Button11); +end; + +procedure TfrmMJManage.MJBanZuClick(Sender: TObject); +begin + FInt:=4; +end; + +procedure TfrmMJManage.MJSJKZClick(Sender: TObject); +begin + FInt:=4; +end; + +procedure TfrmMJManage.Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + FInt:=4; +end; + +procedure TfrmMJManage.Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + FInt:=4; + PState:=0; + InitCDGrid(); + with ADOTmp do + begin + close; + sql.Clear; + sql.Add('select * from WFB_MJJY where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + SSetWinData(ADOTmp,Panel5); + BtnStatus(False); +end; + +procedure TfrmMJManage.FormClick(Sender: TObject); +begin + FInt:=4; +end; + +procedure TfrmMJManage.Button12Click(Sender: TObject); +var + fsj:string; +begin + if PState<1 then Exit; + if Order_MJ.IsEmpty then Exit; + //if MJMaoZ.Focused then + if FInt=4 then Exit; + if FInt=1 then + begin + if Trim(MJMaoZ.Text)<>'' then + MJMaoZ.Text:=Copy(Trim(MJMaoZ.Text),1,Length(Trim(MJMaoZ.Text))-1); + end else + if FInt=2 then + begin + if Trim(MJLen.Text)<>'' then + MJLen.Text:=Copy(Trim(MJLen.Text),1,Length(Trim(MJLen.Text))-1); + end else + if FInt=3 then + begin + if Trim(MJFK.Text)<>'' then + MJFK.Text:=Copy(Trim(MJFK.Text),1,Length(Trim(MJFK.Text))-1); + end else + begin + FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(FColumn)<>'' then + begin + if Trim(CDS_MJCD.FieldByName(FColumn).AsString)<>'' then + begin + with CDS_MJCD do + begin + Edit; + if Length(CDS_MJCD.FieldByName(FColumn).AsString)=1 then + begin + FieldByName(FColumn).Value:=null ; + FieldByName('CDQty').Value:=0; + end + else + begin + FieldByName(FColumn).Value:=Copy(Trim(FieldByName(FColumn).AsString),1,Length(Trim(FieldByName(FColumn).AsString))-1); + FieldByName('CDQty').Value:=FieldByName(FColumn).Value; + end; + Post; + end; + //MValue:=TcxTextEdit(Tv2CDQty).EditingText; + //BTPrint.SetFocus; + end; + + + end; + end; +end; + +procedure TfrmMJManage.Timer1Timer(Sender: TObject); +begin + CDQty.Text:=Tv2.DataController.Summary.FooterSummaryTexts[0]; +end; + +procedure TfrmMJManage.Button39Click(Sender: TObject); +begin + AddCD(Button39); +end; + +procedure TfrmMJManage.Button40Click(Sender: TObject); +begin + AddCD(Button40); +end; + +procedure TfrmMJManage.Button41Click(Sender: TObject); +begin + AddCD(Button41); +end; + +procedure TfrmMJManage.Button42Click(Sender: TObject); +begin + AddCD(Button42); +end; + +procedure TfrmMJManage.Button43Click(Sender: TObject); +begin + AddCD(Button43); +end; + +procedure TfrmMJManage.Button44Click(Sender: TObject); +begin + AddCD(Button44); +end; + +procedure TfrmMJManage.Button45Click(Sender: TObject); +begin + AddCD(Button45); +end; + +procedure TfrmMJManage.Button46Click(Sender: TObject); +begin + AddCD(Button46); +end; + +procedure TfrmMJManage.Button47Click(Sender: TObject); +begin + AddCD(Button47); +end; + +procedure TfrmMJManage.Button48Click(Sender: TObject); +begin + AddCD(Button48); +end; + +procedure TfrmMJManage.Button49Click(Sender: TObject); +begin + AddCD(Button49); +end; + +procedure TfrmMJManage.Button50Click(Sender: TObject); +begin + AddCD(Button50); +end; + +procedure TfrmMJManage.MJMaoZChange(Sender: TObject); +var + KZSX,KZXX:string; +begin + if (Trim(MJMaoZ.Text)<>'') and (Trim(MJLen.Text)<>'') and (Trim(MJFK.Text)<>'') then + begin + MJSJKZ.Text:=FloatToStr(StrToFloat(MJMaoZ.Text)/(StrToFloat(MJLen.Text)*StrToFloat(MJFK.Text)/100)) ; + MJSJKZ.Text:=FloatToStr(SSWR(StrToFloat(MJSJKZ.Text)*1000)); + KZSX:=Trim(Order_MJ.fieldbyname('MJKZD').AsString); + KZXX:=Trim(Order_MJ.fieldbyname('MJKZX').AsString); + if (StrToFloat(MJSJKZ.Text)>=StrToFloat(KZXX)) and (StrToFloat(MJSJKZ.Text)<=StrToFloat(KZSX)) then + begin + Label14.Visible:=True; + Label14.Caption:='ĸ'; + end else + if StrToFloat(MJSJKZ.Text)StrToFloat(KZSX) then + begin + Label14.Visible:=True; + Label14.Caption:='ĸس>'+floattostr(StrToFloat(MJSJKZ.Text)-StrToFloat(KZSX))+'g/O'; + end; + end else + begin + MJSJKZ.Text:=''; + Label14.Caption:=''; + Label14.Visible:=False; + end; + +end; + +function TfrmMJManage.SaveData():Boolean; +var + maxno,FMJID:String; +begin + if PState=1 then + FMJID:='' + else if PState=2 then + FMJID:=Trim(CDS_MJID.fieldbyname('MJID').AsString) + else if PState<1 then Exit; + try + ADOCmd.Connection.BeginTrans; + /// + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from WFB_MJJY where MJId='''+Trim(FMJID)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMJID)='' then + begin + Append; + if GetLSNo(ADOTmp,maxno,'','WFB_MJJY',2,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ˮ쳣','ʾ',0); + exit; + end; + end + else begin + maxno:=Trim(FMJID); + Edit; + end; + FieldByName('MainId').value:=Trim(Order_MJ.fieldbyname('MainId').AsString); + FieldByName('MJID').Value:=Trim(maxno); + FieldByName('MJMaoZ').Value:=Trim(MJMaoZ.Text); + FieldByName('MJLen').Value:=Trim(MJLen.Text); + FieldByName('MJFK').Value:=Trim(MJFK.Text); + FieldByName('MJSJKZ').Value:=Trim(MJSJKZ.Text); + FieldByName('MJBanZu').Value:=Trim(MJBanZu.Text); + if Trim(FMJID)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTmp); + end; + Post; + end; + FMJID:=Trim(maxno); + ///ĸõ + with CDS_MJCD do + begin + First; + while not Eof do + begin + if Trim(CDS_MJCD.fieldbyname('MCID').AsString)='' then + begin + if GetLSNo(ADOTmp,maxno,'MC','WFB_MJJY_CD',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_MJCD.fieldbyname('MCID').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_MJJY_CD '); + sql.Add(' where MCID='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_MJCD.fieldbyname('MCID').AsString)='' then + Append + else + Edit; + FieldByName('MJId').Value:=Trim(FMJID); + FieldByName('MCID').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,Tv2,CDS_MJCD,'WFB_MJJY_CD',0); + Post; + end; + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('MCID').Value:=Trim(maxno); + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + InitCDGridID(); + CDS_MJID.Locate('MJID',FMJID,[]); + PState:=0; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + +procedure TfrmMJManage.BTAddClick(Sender: TObject); +begin + if PState=1 then + begin + if( (CDS_MJCD.IsEmpty=False) or (Trim(MJMaoZ.Text)<>'') or (Trim(MJLen.Text)<>'') or (Trim(MJFK.Text)<>'') ) then + if Application.MessageBox(PChar(' δӡǷҪ?'+#13+#13+'"(Y)"ǰݽᶪʧ'),'ʾ',32+4)<>IDYES then Exit; + end; + if Order_MJ.IsEmpty then Exit; + PState:=1; + InitCDGrid(); + SClearData(Panel5,0); + {Tv2.OptionsSelection.CellSelect:=True; + MJMaoZ.ReadOnly:=False; + MJLen.ReadOnly:=False; + MJFK.ReadOnly:=False; + Button38.Enabled:=True; } + BtnStatus(True); +end; + +procedure TfrmMJManage.BTEditClick(Sender: TObject); +begin + if CDS_MJID.IsEmpty then Exit; + PState:=2; +end; + +procedure TfrmMJManage.BTPrintClick(Sender: TObject); +var + fPrintFile:string; +begin + if Order_MJ.IsEmpty then Exit; + if Trim(MJMaoZ.Text)='' then + begin + Application.MessageBox('ëزΪգ','ʾ',0); + Exit; + end; + if Trim(MJLen.Text)='' then + begin + Application.MessageBox('ȲΪգ','ʾ',0); + Exit; + end; + if Trim(MJFK.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if Trim(MJBanZu.Text)='' then + begin + Application.MessageBox('鲻Ϊգ','ʾ',0); + Exit; + end; + if PState=1 then + begin + if Application.MessageBox('ȷҪӡ𣿴ӡݽ޸ģ','ʾ',32+4)<>IDYES then Exit; + end; + if SaveData() then + begin + //Application.MessageBox('ӡɹ','ʾ',0); + BtnStatus(False); + {Tv2.OptionsSelection.CellSelect:=False; + MJMaoZ.ReadOnly:=True; + MJLen.ReadOnly:=True; + MJFK.ReadOnly:=True; + Button38.Enabled:=False;} + end; + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select RTrim(A.MJID) MJID,RTrim(A.MJSJKZ) MJSJKZ,RTrim(A.MJFK) MJFK,RTrim(B.OrderNo) OrderNo,RTrim(B.WFBCodeName) WFBCodeName from WFB_MJJY A inner join WFBOrder_Main B on A.MainId=B.MainId'); + sql.Add(' where A.MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\ĸǩ.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + RM2.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ĸǩ.rmf'),'ʾ',0); + end; +end; +procedure TfrmMJManage.BtnStatus(BSInt:Boolean); +begin + Tv2.OptionsSelection.CellSelect:=BSInt; + MJMaoZ.ReadOnly:=not BSInt; + MJLen.ReadOnly:=not BSInt; + MJFK.ReadOnly:=not BSInt; + Button38.Enabled:=BSInt; +end; +procedure TfrmMJManage.Tv2CDQtyPropertiesEditValueChanged(Sender: TObject); +var + mvalue:string; +begin + try + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(mvalue)<>'' then + begin + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('CDQty').Value:=mvalue; + CDS_MJCD.Post; + end else + begin + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('CDQty').Value:=0; + CDS_MJCD.Post; + end; + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('CDQtyS').Value:=mvalue; + except + Application.MessageBox('Ƿ֣','ʾ',0); + end; +end; + +end. diff --git a/打卷检验管理/U_MJManageNew.dfm b/打卷检验管理/U_MJManageNew.dfm new file mode 100644 index 0000000..042e7a2 --- /dev/null +++ b/打卷检验管理/U_MJManageNew.dfm @@ -0,0 +1,1922 @@ +object frmMJManageNew: TfrmMJManageNew + Left = 33 + Top = 83 + Width = 1292 + Height = 773 + Caption = #27597#21367#30331#35760 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #40657#20307 + Font.Style = [fsBold] + OldCreateOrder = False + OnClick = FormClick + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 19 + object Panel1: TPanel + Left = 0 + Top = 30 + Width = 1284 + Height = 48 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 0 + Visible = False + object Label1: TLabel + Left = 143 + Top = 16 + Width = 80 + Height = 19 + Caption = #25195#25551#20837#21475 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -19 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 519 + Top = 16 + Width = 80 + Height = 19 + Caption = #25163#24037#24405#20837 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label15: TLabel + Left = 29 + Top = 32 + Width = 8 + Height = 16 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object Label16: TLabel + Left = 856 + Top = 16 + Width = 11 + Height = 19 + end + object MainId: TEdit + Left = 224 + Top = 14 + Width = 241 + Height = 27 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnKeyPress = MainIdKeyPress + end + object OrderNo: TEdit + Left = 607 + Top = 14 + Width = 241 + Height = 27 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + end + end + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1284 + Height = 30 + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_RCInspection.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 1 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = ToolButton1Click + end + object TBCD: TToolButton + Left = 63 + Top = 0 + Caption = #30133#28857#31649#29702 + ImageIndex = 132 + OnClick = TBCDClick + end + object TBClose: TToolButton + Left = 146 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 78 + Width = 1284 + Height = 174 + Align = alTop + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv1CellClick + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + object v1Column4: TcxGridDBColumn + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 47 + end + object v1Column11: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'SCOrder' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Content = cxStyle4 + Styles.Header = cxStyle4 + Width = 45 + end + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#32534#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 84 + end + object v1Column2: TcxGridDBColumn + Caption = #20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 116 + end + object v1Column12: TcxGridDBColumn + Caption = #23450#21367#38271 + DataBinding.FieldName = 'BigLen' + Options.Focusing = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 54 + end + object v1Column6: TcxGridDBColumn + Caption = #23450#21367#25968 + DataBinding.FieldName = 'BigCount' + Options.Focusing = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 52 + end + object v1PRTMF: TcxGridDBColumn + Caption = #29983#20135#38376#24133 + DataBinding.FieldName = 'BigMF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 66 + end + object v1Column5: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 46 + end + object v1Column7: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 46 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'SWFBKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 49 + end + object v1Column13: TcxGridDBColumn + Caption = #32593#23380#30446#25968 + DataBinding.FieldName = 'WKMS' + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 66 + end + object v1Column8: TcxGridDBColumn + Caption = #23433#25490#31859#25968 + DataBinding.FieldName = 'OrderQtyM' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Content = cxStyle3 + Styles.Header = cxStyle3 + Width = 81 + end + object v1Column9: TcxGridDBColumn + Caption = #24050#29983#20135#31859#25968 + DataBinding.FieldName = 'SCMQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Content = cxStyle4 + Styles.Header = cxStyle4 + Width = 92 + end + object v1Column10: TcxGridDBColumn + Caption = #26410#29983#20135#31859#25968 + DataBinding.FieldName = 'WSCMQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Content = cxStyle5 + Styles.Header = cxStyle5 + Width = 95 + end + object v1Column1: TcxGridDBColumn + Caption = #21367#22343#37325#19978#38480 + DataBinding.FieldName = 'KZBig' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 82 + end + object v1Column3: TcxGridDBColumn + Caption = #21367#22343#37325#19979#38480 + DataBinding.FieldName = 'KZSmal' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 80 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGrid2: TcxGrid + Left = 844 + Top = 252 + Width = 242 + Height = 484 + Align = alLeft + TabOrder = 3 + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv2CellClick + OnCellDblClick = Tv2CellDblClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column1 + end + item + Kind = skSum + Column = Tv2CDQty + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = cxStyle1 + object tv2CDType: TcxGridDBColumn + Caption = #30133#28857#31181#31867 + DataBinding.FieldName = 'CDName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 77 + end + object tv2CDWZ: TcxGridDBColumn + Caption = #20301#32622#36215 + DataBinding.FieldName = 'CDBeg' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 56 + end + object v2Column2: TcxGridDBColumn + Caption = #20301#32622#27490 + DataBinding.FieldName = 'CDend' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Width = 58 + end + object Tv2CDQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'CDQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = Tv2CDQtyPropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 47 + end + object Tv2CDReason: TcxGridDBColumn + Caption = #21407#22240 + DataBinding.FieldName = 'CDReason' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 131 + end + object v2Column1: TcxGridDBColumn + DataBinding.FieldName = 'CDQty' + Visible = False + Width = 55 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object cxGrid3: TcxGrid + Left = 1086 + Top = 252 + Width = 127 + Height = 484 + Align = alLeft + TabOrder = 4 + object Tv3: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv3CellClick + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = cxStyle1 + object cxGridDBColumn1: TcxGridDBColumn + Caption = #24050#30331#35760#27597#21367 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 120 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv3 + end + end + object Panel5: TPanel + Left = 498 + Top = 252 + Width = 346 + Height = 484 + Align = alLeft + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 5 + object Label3: TLabel + Left = 111 + Top = 28 + Width = 60 + Height = 29 + Caption = #27611#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 111 + Top = 92 + Width = 60 + Height = 29 + Caption = #38271#24230 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 111 + Top = 155 + Width = 60 + Height = 29 + Caption = #24133#23485 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 111 + Top = 219 + Width = 60 + Height = 29 + Caption = #29677#32452 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 305 + Top = 95 + Width = 16 + Height = 29 + Caption = 'M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 305 + Top = 32 + Width = 32 + Height = 29 + Caption = 'Kg' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 305 + Top = 158 + Width = 32 + Height = 29 + Caption = 'CM' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 111 + Top = 345 + Width = 60 + Height = 29 + Caption = #20811#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 281 + Top = 345 + Width = 62 + Height = 29 + Caption = 'g/'#13217 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 111 + Top = 283 + Width = 60 + Height = 29 + Caption = #30133#28857 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 305 + Top = 286 + Width = 16 + Height = 29 + Caption = 'M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label14: TLabel + Left = 21 + Top = 400 + Width = 180 + Height = 24 + Caption = 'aaaaaaaaaaaaaaa' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object MJMaoZ: TEdit + Left = 173 + Top = 24 + Width = 131 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 0 + OnChange = MJMaoZChange + OnClick = MJMaoZClick + end + object MJLen: TEdit + Left = 173 + Top = 88 + Width = 131 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 1 + OnChange = MJMaoZChange + OnClick = MJLenClick + end + object MJFK: TEdit + Left = 173 + Top = 152 + Width = 131 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 2 + OnChange = MJMaoZChange + OnClick = MJFKClick + end + object MJBanZu: TEdit + Tag = 2 + Left = 173 + Top = 216 + Width = 131 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 3 + OnClick = MJBanZuClick + end + object BTPrint: TButton + Left = 6 + Top = 164 + Width = 90 + Height = 50 + Caption = #25171#21360#26465#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + OnClick = BTPrintClick + end + object Button38: TButton + Left = 304 + Top = 220 + Width = 22 + Height = 28 + Caption = '....' + Enabled = False + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + OnClick = Button38Click + end + object MJSJKZ: TEdit + Left = 178 + Top = 343 + Width = 102 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 6 + OnClick = MJSJKZClick + end + object CDQty: TEdit + Tag = 99999 + Left = 178 + Top = 280 + Width = 124 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 7 + OnClick = MJSJKZClick + end + object BTAdd: TButton + Left = 6 + Top = 25 + Width = 90 + Height = 50 + Caption = #26032#22686 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + OnClick = BTAddClick + end + object BTEdit: TButton + Left = 235 + Top = 404 + Width = 47 + Height = 25 + Caption = #20462#25913 + TabOrder = 9 + Visible = False + OnClick = BTEditClick + end + object Button5: TButton + Left = 6 + Top = 305 + Width = 90 + Height = 50 + Caption = #37325#26032#25171#21360 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + OnClick = Button5Click + end + end + object Panel3: TPanel + Left = 144 + Top = 33 + Width = 657 + Height = 172 + BevelInner = bvRaised + BevelOuter = bvLowered + ParentColor = True + TabOrder = 6 + Visible = False + object SpeedButton1: TSpeedButton + Left = 4 + Top = 3 + Width = 80 + Height = 80 + Caption = '0' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton2: TSpeedButton + Left = 88 + Top = 3 + Width = 80 + Height = 80 + Caption = '1' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton3: TSpeedButton + Left = 172 + Top = 3 + Width = 80 + Height = 80 + Caption = '2' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton4: TSpeedButton + Left = 256 + Top = 3 + Width = 80 + Height = 80 + Caption = '3' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton5: TSpeedButton + Left = 340 + Top = 3 + Width = 80 + Height = 80 + Caption = '4' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton6: TSpeedButton + Left = 4 + Top = 87 + Width = 80 + Height = 80 + Caption = '5' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton7: TSpeedButton + Left = 88 + Top = 87 + Width = 80 + Height = 80 + Caption = '6' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton8: TSpeedButton + Left = 172 + Top = 87 + Width = 80 + Height = 80 + Caption = '7' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton9: TSpeedButton + Left = 256 + Top = 87 + Width = 80 + Height = 80 + Caption = '8' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton10: TSpeedButton + Left = 340 + Top = 87 + Width = 80 + Height = 80 + Caption = '9' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton11: TSpeedButton + Tag = 9 + Left = 424 + Top = 87 + Width = 80 + Height = 80 + Caption = '.' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -53 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton12: TSpeedButton + Left = 424 + Top = 3 + Width = 80 + Height = 80 + Caption = #8592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -53 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton12Click + end + object SpeedButton49: TSpeedButton + Tag = 9 + Left = 536 + Top = 44 + Width = 104 + Height = 80 + Caption = #38544#34255 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton49Click + end + end + object ScrollBox1: TScrollBox + Left = 0 + Top = 252 + Width = 498 + Height = 484 + Align = alLeft + TabOrder = 7 + object SpeedButton13: TSpeedButton + Left = 3 + Top = 0 + Width = 80 + Height = 80 + Caption = #23567#40657#28857 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton14: TSpeedButton + Left = 85 + Top = 0 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton15: TSpeedButton + Left = 167 + Top = 0 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton16: TSpeedButton + Left = 249 + Top = 0 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton17: TSpeedButton + Left = 331 + Top = 0 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton18: TSpeedButton + Left = 413 + Top = 0 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton19: TSpeedButton + Left = 3 + Top = 82 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton20: TSpeedButton + Left = 85 + Top = 82 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton21: TSpeedButton + Left = 167 + Top = 82 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton22: TSpeedButton + Left = 249 + Top = 82 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton23: TSpeedButton + Left = 331 + Top = 82 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton24: TSpeedButton + Left = 413 + Top = 82 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton25: TSpeedButton + Left = 3 + Top = 165 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton26: TSpeedButton + Left = 85 + Top = 165 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton27: TSpeedButton + Left = 167 + Top = 165 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton28: TSpeedButton + Left = 249 + Top = 165 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton29: TSpeedButton + Left = 331 + Top = 165 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton30: TSpeedButton + Left = 413 + Top = 165 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton31: TSpeedButton + Left = 3 + Top = 248 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton32: TSpeedButton + Left = 85 + Top = 248 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton33: TSpeedButton + Left = 167 + Top = 248 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton34: TSpeedButton + Left = 249 + Top = 248 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton35: TSpeedButton + Left = 331 + Top = 248 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton36: TSpeedButton + Left = 413 + Top = 248 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton37: TSpeedButton + Left = 3 + Top = 332 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton38: TSpeedButton + Left = 85 + Top = 332 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton39: TSpeedButton + Left = 167 + Top = 332 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton40: TSpeedButton + Left = 249 + Top = 332 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton41: TSpeedButton + Left = 331 + Top = 332 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton42: TSpeedButton + Left = 413 + Top = 332 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + end + object Panel6: TPanel + Left = 174 + Top = 263 + Width = 1035 + Height = 428 + TabOrder = 8 + Visible = False + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 1033 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #36873#21333 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnMouseMove = Panel10MouseMove + object Image2: TImage + Left = 1000 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object Button2: TButton + Left = 144 + Top = 366 + Width = 65 + Height = 51 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Button2Click + end + object Button3: TButton + Left = 776 + Top = 366 + Width = 65 + Height = 51 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button3Click + end + object cxGrid4: TcxGrid + Left = 3 + Top = 25 + Width = 1027 + Height = 330 + TabOrder = 3 + object TvSel: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = TvSelCellClick + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Styles.Header = cxStyle1 + object cxGridDBColumn2: TcxGridDBColumn + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + Properties.OnChange = cxGridDBColumn2PropertiesChange + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle6 + Width = 84 + end + object vSelColumn3: TcxGridDBColumn + Caption = #29983#20135#24207#21495 + DataBinding.FieldName = 'SCOrder' + Options.Focusing = False + Styles.Content = cxStyle4 + Styles.Header = cxStyle4 + Width = 74 + end + object vSelColumn1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle6 + Width = 149 + end + object vSelColumn4: TcxGridDBColumn + Caption = #20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + HeaderAlignmentHorz = taCenter + Width = 76 + end + object vSelColumn6: TcxGridDBColumn + Caption = #23450#21367#38271 + DataBinding.FieldName = 'BigLen' + HeaderAlignmentHorz = taCenter + Width = 69 + end + object vSelColumn5: TcxGridDBColumn + Caption = #23450#21367#25968 + DataBinding.FieldName = 'BigCount' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object cxGridDBColumn7: TcxGridDBColumn + Caption = #29983#20135#38376#24133 + DataBinding.FieldName = 'BigFK' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle6 + Styles.Header = cxStyle1 + Width = 71 + end + object vSelColumn7: TcxGridDBColumn + Caption = #32593#23380#30446#25968 + DataBinding.FieldName = 'WKMS' + Width = 66 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle6 + Width = 43 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle6 + Width = 60 + end + object vSelColumn2: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'SWFBKZ' + Styles.Content = cxStyle6 + Width = 38 + end + end + object cxGridLevel3: TcxGridLevel + GridView = TvSel + end + end + end + object MovePanel1: TMovePanel + Left = 26 + Top = 254 + Width = 439 + Height = 299 + BevelInner = bvLowered + Color = clSkyBlue + TabOrder = 9 + Visible = False + object Label17: TLabel + Left = 50 + Top = 47 + Width = 120 + Height = 29 + Caption = #36215#22987#20301#32622 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 237 + Top = 116 + Width = 30 + Height = 29 + Caption = #21040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label19: TLabel + Left = 353 + Top = 55 + Width = 16 + Height = 29 + Caption = 'M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label20: TLabel + Left = 353 + Top = 167 + Width = 16 + Height = 29 + Caption = 'M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label21: TLabel + Left = 51 + Top = 116 + Width = 112 + Height = 29 + Caption = 'Label21' + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Edit1: TEdit + Left = 171 + Top = 47 + Width = 174 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = Edit1Click + end + object Button1: TButton + Left = 73 + Top = 223 + Width = 75 + Height = 49 + Caption = #30830#23450 + TabOrder = 1 + OnClick = Button1Click + end + object Button4: TButton + Left = 299 + Top = 223 + Width = 75 + Height = 49 + Caption = #21462#28040 + TabOrder = 2 + OnClick = Button4Click + end + object Edit2: TEdit + Left = 171 + Top = 157 + Width = 174 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = Edit2Click + OnKeyPress = MainIdKeyPress + end + end + object cxStyleRepository1: TcxStyleRepository + Left = 48 + Top = 40 + object cxStyle1: TcxStyle + AssignedValues = [svColor, svFont] + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle2: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Pitch = fpFixed + Font.Style = [fsBold] + TextColor = clDefault + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 296 + Top = 128 + end + object DataSource1: TDataSource + DataSet = Order_MJ + Left = 328 + Top = 128 + end + object Order_MJ: TClientDataSet + Aggregates = <> + Params = <> + Left = 360 + Top = 128 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_RCInspection.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 400 + Top = 128 + end + object ADOCmd: TADOQuery + Connection = DataLink_RCInspection.ADOLink + Parameters = <> + Left = 432 + Top = 128 + end + object ADOTmp: TADOQuery + Connection = DataLink_RCInspection.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 464 + Top = 128 + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 536 + Top = 128 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 496 + Top = 128 + ReportData = {} + end + object DataSource2: TDataSource + DataSet = CDS_MJCD + Left = 672 + Top = 136 + end + object CDS_MJCD: TClientDataSet + Aggregates = <> + Params = <> + Left = 632 + Top = 144 + end + object DataSource3: TDataSource + DataSet = CDS_MJID + Left = 1000 + Top = 296 + end + object CDS_MJID: TClientDataSet + Aggregates = <> + Params = <> + Left = 1016 + Top = 312 + end + object Timer1: TTimer + Interval = 100 + OnTimer = Timer1Timer + Left = 944 + Top = 320 + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_RCInspection.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 592 + Top = 136 + end + object cxStyleRepository2: TcxStyleRepository + object cxStyle3: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = clBtnFace + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlue + end + end + object cxStyleRepository3: TcxStyleRepository + object cxStyle4: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clRed + end + end + object cxStyleRepository4: TcxStyleRepository + object cxStyle5: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clOlive + end + end + object cxStyleRepository5: TcxStyleRepository + object cxStyle6: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid4 + PopupMenus = <> + Left = 624 + Top = 432 + end +end diff --git a/打卷检验管理/U_MJManageNew.pas b/打卷检验管理/U_MJManageNew.pas new file mode 100644 index 0000000..85ef37b --- /dev/null +++ b/打卷检验管理/U_MJManageNew.pas @@ -0,0 +1,1621 @@ +unit U_MJManageNew; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, RM_Common, RM_Class, RM_GridReport, + RM_System, RM_Dataset, ADODB, DBClient, cxGridCustomPopupMenu, + cxGridPopupMenu, ExtCtrls, ComCtrls, ToolWin, cxTextEdit, Buttons, + cxSplitter, cxCheckBox, MovePanel; +{function CommOpen(fhandle:hwnd;sCommName:PAnsiChar; + IntTime:integer):integer;stdcall;external 'JCYData.DLL'; +function CommClose(sCommName:PAnsiChar):integer;stdcall;external 'JCYData.DLL';} + + +type + TfrmMJManageNew = class(TForm) + Panel1: TPanel; + MainId: TEdit; + Label1: TLabel; + Label2: TLabel; + OrderNo: TEdit; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxStyle2: TcxStyle; + cxGridPopupMenu1: TcxGridPopupMenu; + DataSource1: TDataSource; + Order_MJ: TClientDataSet; + ADOQueryMain: TADOQuery; + ADOCmd: TADOQuery; + ADOTmp: TADOQuery; + RMDB_Main: TRMDBDataSet; + RM2: TRMGridReport; + ToolBar1: TToolBar; + TBClose: TToolButton; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + tv2CDType: TcxGridDBColumn; + tv2CDWZ: TcxGridDBColumn; + Tv2CDQty: TcxGridDBColumn; + Tv2CDReason: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + TBCD: TToolButton; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + DataSource2: TDataSource; + CDS_MJCD: TClientDataSet; + DataSource3: TDataSource; + CDS_MJID: TClientDataSet; + v2Column1: TcxGridDBColumn; + Panel5: TPanel; + Label3: TLabel; + Label4: TLabel; + Label5: TLabel; + Label6: TLabel; + Label7: TLabel; + Label8: TLabel; + Label9: TLabel; + Label10: TLabel; + Label11: TLabel; + Label12: TLabel; + Label13: TLabel; + MJMaoZ: TEdit; + MJLen: TEdit; + MJFK: TEdit; + MJBanZu: TEdit; + BTPrint: TButton; + Button38: TButton; + MJSJKZ: TEdit; + CDQty: TEdit; + Timer1: TTimer; + Label14: TLabel; + BTAdd: TButton; + BTEdit: TButton; + ADOQueryPrint: TADOQuery; + Label15: TLabel; + Label16: TLabel; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + ToolButton1: TToolButton; + Button5: TButton; + Panel3: TPanel; + SpeedButton1: TSpeedButton; + SpeedButton2: TSpeedButton; + SpeedButton3: TSpeedButton; + SpeedButton4: TSpeedButton; + SpeedButton5: TSpeedButton; + SpeedButton6: TSpeedButton; + SpeedButton7: TSpeedButton; + SpeedButton8: TSpeedButton; + SpeedButton9: TSpeedButton; + SpeedButton10: TSpeedButton; + SpeedButton11: TSpeedButton; + SpeedButton12: TSpeedButton; + SpeedButton49: TSpeedButton; + ScrollBox1: TScrollBox; + SpeedButton13: TSpeedButton; + SpeedButton14: TSpeedButton; + SpeedButton15: TSpeedButton; + SpeedButton16: TSpeedButton; + SpeedButton17: TSpeedButton; + SpeedButton18: TSpeedButton; + SpeedButton19: TSpeedButton; + SpeedButton20: TSpeedButton; + SpeedButton21: TSpeedButton; + SpeedButton22: TSpeedButton; + SpeedButton23: TSpeedButton; + SpeedButton24: TSpeedButton; + SpeedButton25: TSpeedButton; + SpeedButton26: TSpeedButton; + SpeedButton27: TSpeedButton; + SpeedButton28: TSpeedButton; + SpeedButton29: TSpeedButton; + SpeedButton30: TSpeedButton; + SpeedButton31: TSpeedButton; + SpeedButton32: TSpeedButton; + SpeedButton33: TSpeedButton; + SpeedButton34: TSpeedButton; + SpeedButton35: TSpeedButton; + SpeedButton36: TSpeedButton; + SpeedButton37: TSpeedButton; + SpeedButton38: TSpeedButton; + SpeedButton39: TSpeedButton; + SpeedButton40: TSpeedButton; + SpeedButton41: TSpeedButton; + SpeedButton42: TSpeedButton; + Panel6: TPanel; + Panel10: TPanel; + Image2: TImage; + Button2: TButton; + Button3: TButton; + cxGrid4: TcxGrid; + TvSel: TcxGridDBTableView; + cxGridDBColumn2: TcxGridDBColumn; + vSelColumn1: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + cxGridDBColumn7: TcxGridDBColumn; + vSelColumn2: TcxGridDBColumn; + cxGridLevel3: TcxGridLevel; + MovePanel1: TMovePanel; + Label17: TLabel; + Label18: TLabel; + Label19: TLabel; + Label20: TLabel; + Label21: TLabel; + Edit1: TEdit; + Button1: TButton; + Button4: TButton; + Edit2: TEdit; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + cxStyleRepository2: TcxStyleRepository; + cxStyle3: TcxStyle; + cxStyleRepository3: TcxStyleRepository; + cxStyle4: TcxStyle; + v1Column10: TcxGridDBColumn; + cxStyleRepository4: TcxStyleRepository; + cxStyle5: TcxStyle; + cxStyleRepository5: TcxStyleRepository; + cxStyle6: TcxStyle; + v1Column11: TcxGridDBColumn; + vSelColumn3: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + v1Column13: TcxGridDBColumn; + vSelColumn4: TcxGridDBColumn; + vSelColumn5: TcxGridDBColumn; + vSelColumn6: TcxGridDBColumn; + vSelColumn7: TcxGridDBColumn; + cxGridPopupMenu2: TcxGridPopupMenu; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure MainIdKeyPress(Sender: TObject; var Key: Char); + procedure TBCloseClick(Sender: TObject); + procedure Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TBCDClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button38Click(Sender: TObject); + procedure MJMaoZClick(Sender: TObject); + procedure MJLenClick(Sender: TObject); + procedure MJFKClick(Sender: TObject); + procedure MJBanZuClick(Sender: TObject); + procedure MJSJKZClick(Sender: TObject); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure FormClick(Sender: TObject); + procedure Button12Click(Sender: TObject); + procedure Timer1Timer(Sender: TObject); + procedure MJMaoZChange(Sender: TObject); + procedure BTAddClick(Sender: TObject); + procedure BTEditClick(Sender: TObject); + procedure BTPrintClick(Sender: TObject); + procedure Tv2CDQtyPropertiesEditValueChanged(Sender: TObject); + procedure SpeedButton1Click(Sender: TObject); + procedure SpeedButton12Click(Sender: TObject); + procedure SpeedButton13Click(Sender: TObject); + procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, + Y: Integer); + procedure Image2Click(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure TvSelCellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure cxGridDBColumn2PropertiesChange(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure Edit1Click(Sender: TObject); + procedure Edit2Click(Sender: TObject); + procedure Button5Click(Sender: TObject); + procedure SpeedButton49Click(Sender: TObject); + private + { Private declarations } + FInt,PState,PrintInt,SCInitGrid:Integer; + FColumn:String; + MValue,FCDName:String; + procedure InitJP(); + procedure InitGrid(); + procedure InitCDGrid(); + procedure InitCDGridID(); + procedure AddCD(Fbtn:TButton); + procedure AddSL(Fbtn:TButton); + function SaveData():Boolean; + procedure BtnStatus(BSInt:Boolean); + procedure AddSLNew(Fbtn:TSpeedButton); + procedure AddCDNew(Fbtn:TSpeedButton); + public + { Public declarations } + end; + +var + frmMJManageNew: TfrmMJManageNew; + +implementation +uses + U_DataLink,U_Fun,U_ZDYHelp,U_iniParam; + +{$R *.dfm} + +procedure TfrmMJManageNew.FormDestroy(Sender: TObject); +begin + frmMJManageNew:=nil; +end; + +procedure TfrmMJManageNew.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + //DataLink_WFBProducttion.ADOLink.Connected:=False; + Action:=caFree; +end; +procedure TfrmMJManageNew.MainIdKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + InitGrid(); + InitCDGridID(); + ADOQueryMain.First; + SSetWinData(ADOQueryMain,Panel5); + if CDS_MJID.IsEmpty then + begin + SClearData(Panel5,0); + end; + InitCDGrid(); + + end; +end; +procedure TfrmMJManageNew.InitGrid(); +begin + with ADOQueryMain do + begin + Close; + SQL.Clear; + //sql.Add('select A.OrderNo,B.* from WFBOrder_Main A inner join WFBOrder_Sub B on A.MainId=B.MainId where A.MainID='''+Trim(MainId.Text)+''''); + { sql.Add('select A.OrderNo,B.* from WFBOrder_Main A inner join WFBOrder_Sub B on A.MainId=B.MainId '); + sql.Add(' inner join WFBOrder_Main_Attachment C on C.MainId=A.MainId'); + sql.Add(' where not exists(select * from WFBOrder_Status D where D.MainId=A.MainId and D.OSFlag10=1)'); } + sql.Add(' exec P_ProductAnPai :begdate,:enddate,:pstate,:WSQl'); + Parameters.ParamByName('begdate').Value:=''; + Parameters.ParamByName('enddate').Value:=''; + Parameters.ParamByName('pstate').Value:=2; + Parameters.ParamByName('WSQl').Value:=''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_MJ); + SInitCDSData20(ADOQueryMain,Order_MJ); + MainId.Text:=''; +end; +procedure TfrmMJManageNew.InitCDGrid(); +begin + with ADOQueryMain do + begin + Close; + SQL.Clear; + if PState=1 then + sql.Add('select * from WFB_MJJY_CD where MJID='''' ') + else + sql.Add('select * from WFB_MJJY_CD where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_MJCD); + SInitCDSData20(ADOQueryMain,CDS_MJCD); + //MainId.Text:=''; +end; +procedure TfrmMJManageNew.InitCDGridID(); +begin + with ADOQueryMain do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_MJJY where SubID='''+Trim(Order_MJ.fieldbyname('SubID').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_MJID); + SInitCDSData20(ADOQueryMain,CDS_MJID); + //MainId.Text:=''; +end; + +procedure TfrmMJManageNew.TBCloseClick(Sender: TObject); +var + maxno:string; +begin + WriteCxGrid('ĸϢ1',Tv1,'޷IJ'); + WriteCxGrid('ĸϢ2',TvSel,'޷IJ'); + if CDS_MJCD.IsEmpty=False then + begin + if Trim(CDS_MJCD.FieldByName('MCID').AsString)='' then + begin + //try + //ADOCmd.Connection.BeginTrans; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete from WFB_MJJY_CD_Temp where JTType='''+Trim(SCXFlag)+''''); + Execsql; + end; + with CDS_MJCD do + begin + First; + while not Eof do + begin + if GetLSNo(ADOCmd,maxno,'LS','WFB_MJJY_CD_Temp',2,1)=False then + begin + // ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡõʱʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_MJJY_CD_Temp where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MCID').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,Tv2,CDS_MJCD,'WFB_MJJY_CD_Temp',0); + FieldByName('JTType').Value:=Trim(SCXFlag); + Post; + end; + Next; + end; + end; + close; + //ADOCmd.Connection.CommitTrans; + //ModalResult:=1; + //except + //ADOCmd.Connection.RollbackTrans; + //Application.MessageBox('ʱʧܣ','ʾ',0); + //end; + end else + begin + Close; + end; + end else + begin + Close; + end; + + + +end; + +procedure TfrmMJManageNew.Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + fsj:string; +begin + //FInt:=0; + //Tv1.DataController.FocusedRecordIndex; + //fsj:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; +end; + +procedure TfrmMJManageNew.TBCDClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WFBCD'; + flagname:='޷IJõ'; + if ShowModal=1 then + begin + Self.InitJP(); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmMJManageNew.FormShow(Sender: TObject); +begin + ReadCxGrid('ĸϢ1',Tv1,'޷IJ'); + ReadCxGrid('ĸϢ2',TvSel,'޷IJ'); + InitJP(); + InitGrid(); + with ADOTmp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_MJJY_CD_Temp where JTType='''+Trim(SCXFlag)+''''); + Open; + end; + if ADOTmp.IsEmpty=False then + begin + with ADOQueryMain do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_MJJY_CD where MJID='''' '); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_MJCD); + SInitCDSData20(ADOQueryMain,CDS_MJCD); + PState:=1; + with ADOTmp do + begin + First; + while not Eof do + begin + with CDS_MJCD do + begin + Append; + FieldByName('CDName').Value:=ADOTmp.fieldbyname('CDName').Value; + FieldByName('CDBeg').Value:=ADOTmp.fieldbyname('CDBeg').Value; + FieldByName('CDEnd').Value:=ADOTmp.fieldbyname('CDEnd').Value; + FieldByName('CDQty').Value:=ADOTmp.fieldbyname('CDQty').Value; + Post; + end; + Next; + end; + end; + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select * from SY_User where UserId='''+Trim(DCode)+''''); + Open; + end; + MJBanZu.Text:=Trim(ADOTmp.fieldbyname('BanZu').AsString); + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFB_MJJY_CD_Temp where JTType='''+Trim(SCXFlag)+''''); + ExecSQL; + end; + end; +end; +procedure TfrmMJManageNew.InitJP(); +var + AA:array[0..100] of string; + i,j:Integer; +begin + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select ZDYName from KH_Zdy where Type=''WFBCD'' order by ZDYNO '); + Open; + end; + if ADOTmp.IsEmpty then + begin + Application.MessageBox('ûжõ㣡','ʾ',0); + Exit; + end; + with ADOTmp do + begin + First; + i:=0; + while not Eof do + begin + AA[i]:=Trim(fieldbyname('ZDYName').AsString); + i:=i+1; + Next; + end; + end; + i:=i-1; + if i>29 then + begin + i:=29; + end; + for j:=0 to i do + begin + with ScrollBox1 do + begin + TSpeedButton(Controls[j]).Visible:=True; + TSpeedButton(Controls[j]).Hint:=AA[j]; + if Length(AA[j])>4 then + begin + TSpeedButton(Controls[j]).Caption:=Copy(Trim(AA[j]),1,4)+#13+Copy(Trim(AA[j]),5,Length(AA[j])-4); + end else + TSpeedButton(Controls[j]).Caption:=AA[j]; + end; + end; +end; + +procedure TfrmMJManageNew.AddCD(Fbtn:TButton); +begin + if PState<1 then Exit; + if Order_MJ.IsEmpty then Exit; + with CDS_MJCD do + begin + Append; + FieldByName('cdname').Value:=Trim(TButton(Fbtn).Caption); + Post; + end; +end; +procedure TfrmMJManageNew.AddCDNew(Fbtn:TSpeedButton); +begin + with CDS_MJCD do + begin + Append; + FieldByName('cdname').Value:=Trim(TSpeedButton(Fbtn).Hint); + Post; + end; +end; +procedure TfrmMJManageNew.AddSL(Fbtn:TButton); +begin + if PState<1 then Exit; + if Order_MJ.IsEmpty then Exit; + + //if MJMaoZ.Focused then + if FInt=4 then Exit; + if FInt=1 then + begin + MJMaoZ.Text:=Trim(MJMaoZ.Text)+Trim(TButton(Fbtn).Caption); + end else + if FInt=2 then + begin + MJLen.Text:=Trim(MJLen.Text)+Trim(TButton(Fbtn).Caption); + end else + if FInt=3 then + begin + MJFK.Text:=Trim(MJFK.Text)+Trim(TButton(Fbtn).Caption); + end else + if CDS_MJCD.IsEmpty=False then + begin + FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(FColumn)<>'' then + begin + with CDS_MJCD do + begin + Edit; + FieldByName(FColumn).Value:=Trim(FieldByName(FColumn).AsString)+Trim(TButton(Fbtn).Caption); + if Trim(fieldbyname('CDQtyS').AsString)<>'' then + Fieldbyname('CDQty').Value:=Trim(fieldbyname('CDQtyS').AsString); + Post; + end; + end; + end; +end; +procedure TfrmMJManageNew.AddSLNew(Fbtn:TSpeedButton); +begin + if PState<1 then Exit; + if Order_MJ.IsEmpty then Exit; + + //if MJMaoZ.Focused then + if FInt=4 then Exit; + if FInt=1 then + begin + MJMaoZ.Text:=Trim(MJMaoZ.Text)+Trim(TSpeedButton(Fbtn).Caption); + MJMaoZ.SelectAll; + end else + if FInt=2 then + begin + MJLen.Text:=Trim(MJLen.Text)+Trim(TSpeedButton(Fbtn).Caption); + MJLen.SelectAll; + end else + if FInt=3 then + begin + MJFK.Text:=Trim(MJFK.Text)+Trim(TSpeedButton(Fbtn).Caption); + MJFK.SelectAll; + end else + if FInt=11 then + begin + if TSpeedButton(Fbtn).Tag=9 then Exit; + Edit1.Text:=Trim(Edit1.Text)+Trim(TSpeedButton(Fbtn).Caption); + Edit1.SelectAll; + end else + if FInt=12 then + begin + if TSpeedButton(Fbtn).Tag=9 then Exit; + Edit2.Text:=Trim(Edit2.Text)+Trim(TSpeedButton(Fbtn).Caption); + Edit2.SelectAll; + end;{ else + if CDS_MJCD.IsEmpty=False then + begin + FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(FColumn)<>'' then + begin + with CDS_MJCD do + begin + Edit; + FieldByName(FColumn).Value:=Trim(FieldByName(FColumn).AsString)+Trim(TButton(Fbtn).Caption); + if Trim(fieldbyname('CDQtyS').AsString)<>'' then + Fieldbyname('CDQty').Value:=Trim(fieldbyname('CDQtyS').AsString); + Post; + end; + end; + end; } +end; + +procedure TfrmMJManageNew.Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + //if Tv2.OptionsSelection.CellSelect=True then + if CDS_MJCD.IsEmpty then Exit; + if CDS_MJCD.FieldByName('MJID').AsString='' then + begin + CDS_MJCD.Delete; + end; +end; + +procedure TfrmMJManageNew.Button38Click(Sender: TObject); +begin + FColumn:=''; + FInt:=0; + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WFBBZ'; + flagname:=''; + if ShowModal=1 then + begin + Self.MJBanZu.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmMJManageNew.MJMaoZClick(Sender: TObject); +begin + FInt:=1; + FColumn:=''; + panel3.Visible:=True; +end; + +procedure TfrmMJManageNew.MJLenClick(Sender: TObject); +begin + FInt:=2; + FColumn:=''; + panel3.Visible:=True; +end; + +procedure TfrmMJManageNew.MJFKClick(Sender: TObject); +begin + FInt:=3; + FColumn:=''; + panel3.Visible:=True; +end; + +procedure TfrmMJManageNew.MJBanZuClick(Sender: TObject); +begin + FInt:=4; +end; + +procedure TfrmMJManageNew.MJSJKZClick(Sender: TObject); +begin + FInt:=4; +end; + +procedure TfrmMJManageNew.Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + //DataLink_WFBProducttion.ADOLink.Connected:=False; + FInt:=4; + // if PState=1 then Exit; + InitCDGridID(); + //InitCDGrid(); + {with ADOTmp do + begin + close; + sql.Clear; + sql.Add('select * from WFB_MJJY where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + if ADOTmp.IsEmpty then + begin + MJMaoZ.Text:=''; + MJLen.Text:=''; + MJFK.Text:=''; + MJSJKZ.Text:=''; + end else + SSetWinData(ADOTmp,Panel5); } +end; + +procedure TfrmMJManageNew.Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if CDS_MJCD.IsEmpty=False then + begin + if Trim(CDS_MJCD.fieldbyname('MJID').AsString)='' then + begin + Application.MessageBox('δ,!','ʾ',0); + Exit; + end; + end; + + FInt:=4; + PState:=0; + InitCDGrid(); + with ADOTmp do + begin + close; + sql.Clear; + sql.Add('select * from WFB_MJJY where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + if ADOTmp.IsEmpty then + begin + MJMaoZ.Text:=''; + MJLen.Text:=''; + MJFK.Text:=''; + MJSJKZ.Text:=''; + end else + SSetWinData(ADOTmp,Panel5); + BtnStatus(False); + Label16.Caption:=''; +end; + + +procedure TfrmMJManageNew.FormClick(Sender: TObject); +begin + FInt:=4; +end; + +procedure TfrmMJManageNew.Button12Click(Sender: TObject); +var + fsj:string; +begin + if PState<1 then Exit; + if Order_MJ.IsEmpty then Exit; + //if MJMaoZ.Focused then + if FInt=4 then Exit; + if FInt=1 then + begin + if Trim(MJMaoZ.Text)<>'' then + MJMaoZ.Text:=Copy(Trim(MJMaoZ.Text),1,Length(Trim(MJMaoZ.Text))-1); + end else + if FInt=2 then + begin + if Trim(MJLen.Text)<>'' then + MJLen.Text:=Copy(Trim(MJLen.Text),1,Length(Trim(MJLen.Text))-1); + end else + if FInt=3 then + begin + if Trim(MJFK.Text)<>'' then + MJFK.Text:=Copy(Trim(MJFK.Text),1,Length(Trim(MJFK.Text))-1); + end else + begin + FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(FColumn)<>'' then + begin + if Trim(CDS_MJCD.FieldByName(FColumn).AsString)<>'' then + begin + with CDS_MJCD do + begin + Edit; + if Length(CDS_MJCD.FieldByName(FColumn).AsString)=1 then + begin + FieldByName(FColumn).Value:=null ; + FieldByName('CDQty').Value:=0; + end + else + begin + FieldByName(FColumn).Value:=Copy(Trim(FieldByName(FColumn).AsString),1,Length(Trim(FieldByName(FColumn).AsString))-1); + FieldByName('CDQty').Value:=FieldByName(FColumn).Value; + end; + Post; + end; + //MValue:=TcxTextEdit(Tv2CDQty).EditingText; + //BTPrint.SetFocus; + end; + + + end; + end; +end; + +procedure TfrmMJManageNew.Timer1Timer(Sender: TObject); +begin + CDQty.Text:=Tv2.DataController.Summary.FooterSummaryTexts[0]; +end; + +procedure TfrmMJManageNew.MJMaoZChange(Sender: TObject); +var + KZSX,KZXX,FMJMaoZ,FMJLen,FMJFK:string; +begin + if PState=0 then Exit; + if (Trim(MJMaoZ.Text)<>'') and (Trim(MJLen.Text)<>'') and (Trim(MJFK.Text)<>'') then + begin + MJSJKZ.Text:=FloatToStr(StrToFloat(MJMaoZ.Text)/(StrToFloat(MJLen.Text)*StrToFloat(MJFK.Text)/100)) ; + MJSJKZ.Text:=FloatToStr(SSWR(StrToFloat(MJSJKZ.Text)*1000)); + //KZSX:=Trim(Order_MJ.fieldbyname('MJKZD').AsString); + //KZXX:=Trim(Order_MJ.fieldbyname('MJKZX').AsString); + KZSX:=Trim(Order_MJ.fieldbyname('KZBig').AsString); + KZXX:=Trim(Order_MJ.fieldbyname('KZSmal').AsString); + if (StrToFloat(MJSJKZ.Text)>=StrToFloat(KZXX)) and (StrToFloat(MJSJKZ.Text)<=StrToFloat(KZSX)) then + begin + Label14.Visible:=True; + Label14.Caption:='ĸ'; + Label14.Font.Color:=clBlue; + end else + if StrToFloat(MJSJKZ.Text)StrToFloat(KZSX) then + begin + Label14.Visible:=True; + Label14.Caption:='ĸس>'+floattostr(StrToFloat(MJSJKZ.Text)-StrToFloat(KZSX))+'g/O'; + Label14.Font.Color:=clRed; + end; + end else + begin + MJSJKZ.Text:=''; + Label14.Caption:=''; + Label14.Visible:=False; + end; + +end; + +function TfrmMJManageNew.SaveData():Boolean; +var + maxno,FMJID,BZID:String; + FMJLen:Double; + FOrder:Integer; +begin + if PState=1 then + FMJID:='' + else if PState=2 then + FMJID:=Trim(CDS_MJID.fieldbyname('MJID').AsString) + else if PState<1 then Exit; + try + ADOCmd.Connection.BeginTrans; + /// + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from WFB_MJJY where MJId='''+Trim(FMJID)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMJID)='' then + begin + Append; + with ADOTmp do + begin + Close; + sql.Clear; + SQL.Add('select Max(Cast(MJID as int)) as MJIDInt from WFB_JYResult'); + if Trim(SCXFlag)<>'' then + begin + sql.Add(' where JTType='''+Trim(SCXFlag)+''''); + end; + Open; + end; + maxno:=Trim(ADOTmp.fieldbyname('MJIDInt').AsString); + + {if GetLSNo(ADOTmp,maxno,Trim(SCXFlag),'WFB_MJJY',2,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ˮ쳣','ʾ',0); + exit; + end; } + end + else begin + maxno:=Trim(FMJID); + Edit; + end; + FieldByName('MainId').value:=Trim(Order_MJ.fieldbyname('MainId').AsString); + FieldByName('SubId').value:=Trim(Order_MJ.fieldbyname('SubId').AsString); + FieldByName('MJID').Value:=Trim(maxno); + FieldByName('MJMaoZ').Value:=Trim(MJMaoZ.Text); + FieldByName('MJLen').Value:=Trim(MJLen.Text); + FieldByName('MJFK').Value:=Trim(MJFK.Text); + FieldByName('MJSJKZ').Value:=Trim(MJSJKZ.Text); + FieldByName('MJBanZu').Value:=Trim(MJBanZu.Text); + if Trim(FMJID)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTmp); + end; + if Trim(SCXFlag)<>'' then + begin + FieldByName('JTType').Value:=Trim(SCXFlag); + end; + Post; + end; + FMJID:=Trim(maxno); + ///ĸõ + with CDS_MJCD do + begin + First; + while not Eof do + begin + if Trim(CDS_MJCD.fieldbyname('MCID').AsString)='' then + begin + if GetLSNo(ADOTmp,maxno,'MC','WFB_MJJY_CD',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_MJCD.fieldbyname('MCID').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_MJJY_CD '); + sql.Add(' where MCID='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_MJCD.fieldbyname('MCID').AsString)='' then + Append + else + Edit; + FieldByName('MJId').Value:=Trim(FMJID); + FieldByName('MCID').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,Tv2,CDS_MJCD,'WFB_MJJY_CD',0); + Post; + end; + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('MCID').Value:=Trim(maxno); + Next; + end; + end; + //Ա + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from WFB_BanZu where MJID='''+Trim(FMJID)+''''); + sql.Add(' and BanZu='''+Trim(MJBanZu.Text)+''''); + Open; + end; + if ADOTmp.IsEmpty then + begin + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from WFB_BanZu where MJID='''+Trim(FMJID)+''''); + Open; + end; + if ADOTmp.IsEmpty then + begin + FMJLen:=0; + end else + begin + FMJLen:=ADOTmp.fieldbyname('MJLen').Value; + end; + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select * from SY_User where BanZu='''+Trim(MJBanZu.Text)+''''); + Open; + end; + with ADOTmp do + begin + First; + while not eof do + begin + if GetLSNo(ADOCmd,BZID,'BZ','WFB_BanZu',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_BanZu where 1<>1'); + open; + end; + with ADOCmd do + begin + Append; + FieldByName('BZID').Value:=Trim(BZID); + FieldByName('BanZu').Value:=Trim(MJBanZu.Text); + FieldByName('MJID').Value:=Trim(FMJID); + FieldByName('MJLen').Value:=StrToFloat(MJLen.Text)-FMJlen; + FieldByName('UserId').Value:=Trim(ADOTmp.fieldbyname('UserId').AsString); + FieldByName('UserName').Value:=Trim(ADOTmp.fieldbyname('UserName').AsString); + FieldByName('Filler').Value:=Trim(DName); + Post; + end; + Next; + end; + end; + end; + //Ա + with Order_MJ do + begin + Edit; + FieldByName('SCMQty').Value:=FieldByName('SCMQty').Value+Strtofloat(MJLen.Text); + Post; + end; + with Order_MJ do + begin + Edit; + FieldByName('WSCMQty').Value:=FieldByName('OrderQtyM').Value-FieldByName('SCMQty').Value; + Post; + end; + if ((Order_MJ.FieldByName('SCMQty').Value-Order_MJ.FieldByName('OrderQtyM').Value)/Order_MJ.FieldByName('OrderQtyM').Value )>=0 then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Sub Set SCStatus='''',SCOrder='''' '); + SQL.Add(' where SubId='''+Trim(Order_MJ.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOTmp do + begin + Close; + sql.Clear; + SQL.Add('exec P_ProductAnPai_JY'); + Open; + end; + if ADOTmp.IsEmpty=False then + begin + FOrder:=1; + with ADOTmp do + begin + First; + while not Eof do + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Sub Set SCOrder='''+Trim(IntToStr(FOrder))+''''); + SQL.Add(' where SubId='''+Trim(ADOTmp.FieldByName('SubId').Asstring)+''''); + ExecSQL; + end; + FOrder:=FOrder+1; + Next; + end; + end; + SCInitGrid:=1; + end; + end else + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Sub Set SCStatus='''' '); + SQL.Add(' where SubId='''+Trim(Order_MJ.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + InitCDGridID(); + CDS_MJID.Locate('MJID',FMJID,[]); + PState:=0; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + +procedure TfrmMJManageNew.BTAddClick(Sender: TObject); +begin + + if PState=1 then + begin + if( (CDS_MJCD.IsEmpty=False) or (Trim(MJMaoZ.Text)<>'') or (Trim(MJLen.Text)<>'') or (Trim(MJFK.Text)<>'') ) then + if Application.MessageBox(PChar(' δӡǷҪ?'+#13+#13+'"(Y)"ǰݽᶪʧ'),'ʾ',32+4)<>IDYES then Exit; + end; + if Order_MJ.IsEmpty then Exit; + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select BanZu from SY_User where UserId='''+Trim(DCode)+''''); + Open; + MJBanZu.Text:=Trim(Fieldbyname('BanZu').AsString); + end; + if Trim(MJBanZu.Text)='' then + begin + Application.MessageBox('Ϊգð飡','ʾ',0); + Exit; + end; + PState:=1; + InitCDGrid(); + SClearData(Panel5,0); + {Tv2.OptionsSelection.CellSelect:=True; + MJMaoZ.ReadOnly:=False; + MJLen.ReadOnly:=False; + MJFK.ReadOnly:=False; + Button38.Enabled:=True; } + BtnStatus(True); + + Label16.Caption:=''; +end; + +procedure TfrmMJManageNew.BTEditClick(Sender: TObject); +begin + if CDS_MJID.IsEmpty then Exit; + PState:=2; + Label16.Caption:='޸'; +end; + +procedure TfrmMJManageNew.BTPrintClick(Sender: TObject); +var + fPrintFile,FFMJFK,FFYDFK:string; +begin + if Order_MJ.IsEmpty then Exit; + if FInt=4 then + begin + if CDS_MJID.IsEmpty=False then + begin + Application.MessageBox('Ѵ룿볢ش','ʾ',0); + Exit; + end; + end; + if Trim(MJMaoZ.Text)='' then + begin + Application.MessageBox('ëزΪգ','ʾ',0); + Exit; + end; + if Trim(MJLen.Text)='' then + begin + Application.MessageBox('ȲΪգ','ʾ',0); + Exit; + end; + if Trim(MJFK.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + FFMJFK:=Trim(MJFK.Text); + FFYDFK:=Trim(Order_MJ.fieldbyname('BigMF').AsString); + if ((StrToFloat(FFMJFK)-StrToFloat(FFYDFK))/StrToFloat(FFYDFK))<-0.3 then + begin + Application.MessageBox('¼','ʾ',0); + Exit; + end; + if ((StrToFloat(FFMJFK)-StrToFloat(FFYDFK))/StrToFloat(FFYDFK))>0.3 then + begin + Application.MessageBox('¼','ʾ',0); + Exit; + end; + if Trim(MJBanZu.Text)='' then + begin + Application.MessageBox('鲻Ϊգ','ʾ',0); + Exit; + end; + Panel6.Visible:=True; + { if PState=1 then + begin + if Application.MessageBox('ȷҪӡ𣿴ӡݽ޸ģ','ʾ',32+4)<>IDYES then Exit; + end; + if SaveData() then + begin + BtnStatus(False); + end; + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select RTrim(A.MJID) MJID,RTrim(A.MJSJKZ) MJSJKZ,RTrim(A.MJFK) MJFK,RTrim(B.OrderNo) OrderNo,RTrim(B.WFBCodeName) WFBCodeName from WFB_MJJY A inner join WFBOrder_Main B on A.MainId=B.MainId'); + sql.Add(' where A.MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\ĸǩ.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + RM2.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ĸǩ.rmf'),'ʾ',0); + end; + Label16.Caption:=''; + BTAdd.Click; } +end; +procedure TfrmMJManageNew.BtnStatus(BSInt:Boolean); +begin + Tv2.OptionsSelection.CellSelect:=BSInt; + MJMaoZ.ReadOnly:=not BSInt; + MJLen.ReadOnly:=not BSInt; + MJFK.ReadOnly:=not BSInt; + Button38.Enabled:=BSInt; +end; +procedure TfrmMJManageNew.Tv2CDQtyPropertiesEditValueChanged(Sender: TObject); +var + mvalue:string; +begin + try + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(mvalue)<>'' then + begin + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('CDQty').Value:=mvalue; + CDS_MJCD.Post; + end else + begin + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('CDQty').Value:=0; + CDS_MJCD.Post; + end; + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('CDQtyS').Value:=mvalue; + except + Application.MessageBox('Ƿ֣','ʾ',0); + end; +end; + +procedure TfrmMJManageNew.SpeedButton1Click(Sender: TObject); +begin + AddSLNew(TSpeedButton(Sender)); +end; + +procedure TfrmMJManageNew.SpeedButton12Click(Sender: TObject); +var + fsj:string; +begin + if PState<1 then Exit; + if Order_MJ.IsEmpty then Exit; + //if MJMaoZ.Focused then + if FInt=4 then Exit; + if FInt=1 then + begin + if Trim(MJMaoZ.Text)<>'' then + begin + MJMaoZ.Text:=Copy(Trim(MJMaoZ.Text),1,Length(Trim(MJMaoZ.Text))-1); + MJMaoZ.SelectAll; + end; + end else + if FInt=2 then + begin + if Trim(MJLen.Text)<>'' then + begin + MJLen.Text:=Copy(Trim(MJLen.Text),1,Length(Trim(MJLen.Text))-1); + MJLen.SelectAll; + end; + end else + if FInt=3 then + begin + if Trim(MJFK.Text)<>'' then + begin + MJFK.Text:=Copy(Trim(MJFK.Text),1,Length(Trim(MJFK.Text))-1); + MJFK.SelectAll; + end; + end else + if FInt=11 then + begin + if Trim(Edit1.Text)<>'' then + begin + Edit1.Text:=Copy(Trim(Edit1.Text),1,Length(Trim(Edit1.Text))-1); + Edit1.SelectAll; + end; + end else + if FInt=12 then + begin + if Trim(Edit2.Text)<>'' then + begin + Edit2.Text:=Copy(Trim(Edit2.Text),1,Length(Trim(Edit2.Text))-1); + Edit2.SelectAll; + end; + end;{ else + begin + FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(FColumn)<>'' then + begin + if Trim(CDS_MJCD.FieldByName(FColumn).AsString)<>'' then + begin + with CDS_MJCD do + begin + Edit; + if Length(CDS_MJCD.FieldByName(FColumn).AsString)=1 then + begin + FieldByName(FColumn).Value:=null ; + FieldByName('CDQty').Value:=0; + end + else + begin + FieldByName(FColumn).Value:=Copy(Trim(FieldByName(FColumn).AsString),1,Length(Trim(FieldByName(FColumn).AsString))-1); + FieldByName('CDQty').Value:=FieldByName(FColumn).Value; + end; + Post; + //Tv2.GetColumnByFieldName(FColumn).Selected:=True; + // Tv2.GetColumnByFieldName(FColumn).FocusWithSelection; + //(Tv2.GetColumnByFieldName(FColumn).Properties as TcxTextEditProperties).AutoSelect:=True; + end; + //MValue:=TcxTextEdit(Tv2CDQty).EditingText; + //BTPrint.SetFocus; + end; + + + end; + end;} +end; + +procedure TfrmMJManageNew.SpeedButton13Click(Sender: TObject); +begin + if PState<1 then Exit; + if Order_MJ.IsEmpty then Exit; + FCDName:=Trim(TSpeedButton(Sender).Hint); + MovePanel1.Visible:=True; + Label21.Caption:=Trim(FCDName); + FInt:=11; + Edit1.SetFocus; + Panel3.Visible:=True; + //AddCDNew(TSpeedButton(Sender)); +end; + +procedure TfrmMJManageNew.Panel10MouseMove(Sender: TObject; + Shift: TShiftState; X, Y: Integer); +begin + ReleaseCapture; + TWinControl(Panel6).perform(WM_SYSCOMMAND, $F012, 0); +end; + +procedure TfrmMJManageNew.Image2Click(Sender: TObject); +begin + Panel6.Visible:=False; +end; + +procedure TfrmMJManageNew.Button3Click(Sender: TObject); +begin + Panel6.Visible:=False; +end; + +procedure TfrmMJManageNew.Button2Click(Sender: TObject); +var + fPrintFile:String; +begin + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_JYResult where Cast(MJID as int)>'); + sql.Add(' (select isnull(Max(Cast(MJID as int)),0) from WFB_MJJY '); + if Trim(SCXFlag)<>'' then + begin + sql.Add(' where JTType='''+Trim(SCXFlag)+''''); + end; + sql.Add(')'); + if Trim(SCXFlag)<>'' then + begin + sql.Add(' and JTType='''+Trim(SCXFlag)+''''); + end; + Open; + end; + if ADOTmp.IsEmpty then + begin + Application.MessageBox('δ鲻ܴӡǩ','ʾ',0); + Exit; + end; + if Order_MJ.Locate('SSel',True,[])=False then + begin + Application.MessageBox('δѡ¼','ʾ',0); + Exit; + end; + if PState=1 then + begin + if Application.MessageBox('ǷҪӡ룿ӡݽ޸ģ','ʾ',32+4)<>IDYES then Exit; + Panel6.Visible:=False; + end; + + if SaveData() then + begin + BtnStatus(False); + end; + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add(' select RTrim(A.MJID) MJID,RTrim(Cast(A.MJSJKZ As varchar(20))) MJSJKZ,RTrim(Cast(A.MJFK as varchar(20))) MJFK,RTrim(B.OrderNo) OrderNo,'); + sql.Add(' RTrim(Cast(A.MJMaoZ As varchar(20))) MJMaoZ,RTrim(Cast(A.MJLen As varchar(20))) MJLen,'); + sql.Add(' Rtrim(C.SWFBColor) SWFBColor,Rtrim(Cast(C.SWFBKZ as varchar(20))) SWFBKZ, YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPBSZ'')'); + sql.Add(',RTrim(C.SWFBCodeName) SWFBCodeName from WFB_MJJY A inner join WFBOrder_Main B on A.MainId=B.MainId'); + sql.Add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); + sql.Add(' where A.MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + if SCInitGrid=1 then + begin + InitGrid(); + SCInitGrid:=0; + end; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\ĸǩ.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + //RM2.ShowReport; + RM2.PrintReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ĸǩ.rmf'),'ʾ',0); + end; + Label16.Caption:=''; + BTAdd.Click; +end; + +procedure TfrmMJManageNew.TvSelCellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + fsj:String; +begin + + { fsj:=Trim(Order_MJ.fieldbyname('SubId').AsString); + Order_MJ.DisableControls; + with Order_MJ do + begin + First; + while not Eof do + begin + if Trim(Order_MJ.fieldbyname('SubId').AsString)<>fsj then + begin + Edit; + FieldByName('SSel').Value:=False; + end; + Next; + end; + end; + Order_MJ.EnableControls; + Order_MJ.Locate('SubId',fsj,[]); } +end; + +procedure TfrmMJManageNew.cxGridDBColumn2PropertiesChange(Sender: TObject); +var + fsj:String; +begin + + fsj:=Trim(Order_MJ.fieldbyname('SubId').AsString); + Order_MJ.DisableControls; + with Order_MJ do + begin + First; + while not Eof do + begin + if Trim(Order_MJ.fieldbyname('SubId').AsString)<>fsj then + begin + Edit; + FieldByName('SSel').Value:=False; + end; + Next; + end; + end; + Order_MJ.EnableControls; + Order_MJ.Locate('SubId',fsj,[]); +end; + +procedure TfrmMJManageNew.Button1Click(Sender: TObject); +begin + + //MovePanel1.Visible:=True; + if Trim(Edit1.Text)='' then + begin + Application.MessageBox('λòΪգ','ʾ',0); + exit; + end; + with CDS_MJCD do + begin + Append; + FieldByName('cdname').Value:=Trim(FCDName); + FieldByName('CDbeg').Value:=Trim(Edit1.Text); + FieldByName('CDEnd').Value:=Trim(Edit2.Text); + if Trim(Edit2.Text)<>'' then + begin + FieldByName('CDQty').Value:=StrToFloat(Edit2.Text)-StrToFloat(Edit1.Text); + end else + begin + FieldByName('CDQty').Value:=0; + end; + Post; + end; + Edit1.Text:=''; + Edit2.Text:=''; + MovePanel1.Visible:=False; +end; + +procedure TfrmMJManageNew.Button4Click(Sender: TObject); +begin + MovePanel1.Visible:=False; +end; + +procedure TfrmMJManageNew.ToolButton1Click(Sender: TObject); +begin + InitGrid(); + InitJP(); +end; + +procedure TfrmMJManageNew.Edit1Click(Sender: TObject); +begin + FInt:=11; + panel3.Visible:=True; +end; + +procedure TfrmMJManageNew.Edit2Click(Sender: TObject); +begin + FInt:=12; + panel3.Visible:=True; +end; + +procedure TfrmMJManageNew.Button5Click(Sender: TObject); +var + fPrintFile:String; +begin + if CDS_MJID.IsEmpty then Exit; + + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set PrtAgnFlag=1,PrtAgnDate=getdate(),PrtAgnPerson='''+Trim(DName)+''''); + sql.Add(' where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select RTrim(A.MJID) MJID,RTrim(A.MJSJKZ) MJSJKZ,RTrim(A.MJFK) MJFK,RTrim(B.OrderNo)+'' ش'' OrderNo,'); + sql.Add('RTrim(A.MJLen) MJLen,RTrim(A.MJMaoZ) MJMaoZ,'); + sql.Add('Rtrim(C.SWFBColor) SWFBColor,Rtrim(C.SWFBKZ) SWFBKZ, YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPBSZ'')'); + sql.Add(',RTrim(C.SWFBCodeName) SWFBCodeName from WFB_MJJY A inner join WFBOrder_Main B on A.MainId=B.MainId'); + sql.Add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); + sql.Add(' where A.MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\ĸǩ.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + //RM2.ShowReport; + RM2.PrintReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ĸǩ.rmf'),'ʾ',0); + end; + +end; + +procedure TfrmMJManageNew.SpeedButton49Click(Sender: TObject); +begin + Panel3.Visible:=False; +end; + +end. diff --git a/打卷检验管理/U_MJManageNewFD1.dfm b/打卷检验管理/U_MJManageNewFD1.dfm new file mode 100644 index 0000000..7b89fda --- /dev/null +++ b/打卷检验管理/U_MJManageNewFD1.dfm @@ -0,0 +1,2054 @@ +object frmMJManageNewFD: TfrmMJManageNewFD + Left = 89 + Top = 0 + Width = 912 + Height = 705 + Caption = #25104#21697#26816#39564 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClick = FormClick + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1366 + Height = 30 + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = ToolButton1Click + end + object TBCD: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #30133#28857#31649#29702 + ImageIndex = 132 + OnClick = TBCDClick + end + object TBClose: TToolButton + Left = 150 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object cxGrid2: TcxGrid + Left = 817 + Top = 78 + Width = 403 + Height = 571 + Align = alLeft + TabOrder = 1 + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv2CellClick + OnCellDblClick = Tv2CellDblClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column1 + end + item + Kind = skSum + Column = Tv2CDQty + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object tv2CDType: TcxGridDBColumn + Caption = #30133#28857#21517#31216 + DataBinding.FieldName = 'CDName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle4 + Styles.Header = cxStyle4 + Width = 157 + end + object tv2CDWZ: TcxGridDBColumn + Caption = #20301#32622#36215 + DataBinding.FieldName = 'CDBeg' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle1 + Styles.Header = cxStyle1 + Width = 82 + end + object v2Column2: TcxGridDBColumn + Caption = #20301#32622#27490 + DataBinding.FieldName = 'CDend' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Styles.Content = cxStyle1 + Styles.Header = cxStyle1 + Width = 81 + end + object Tv2CDQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'CDQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = Tv2CDQtyPropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle3 + Styles.Header = cxStyle3 + Width = 76 + end + object Tv2CDReason: TcxGridDBColumn + Caption = #21407#22240 + DataBinding.FieldName = 'CDReason' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 131 + end + object v2Column1: TcxGridDBColumn + DataBinding.FieldName = 'CDQty' + Visible = False + Width = 55 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object cxGrid3: TcxGrid + Left = 1220 + Top = 78 + Width = 146 + Height = 571 + Align = alLeft + TabOrder = 2 + object Tv3: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv3CellClick + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = cxStyle4 + Styles.IncSearch = cxStyle4 + Styles.Selection = cxStyle4 + object cxGridDBColumn1: TcxGridDBColumn + Caption = #24050#30331#35760 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle5 + Styles.Header = cxStyle5 + Width = 137 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv3 + end + end + object ScrollBox1: TScrollBox + Left = 0 + Top = 78 + Width = 601 + Height = 571 + Align = alLeft + TabOrder = 3 + object SpeedButton13: TSpeedButton + Left = 3 + Top = 0 + Width = 70 + Height = 70 + Caption = #23567#40657#28857 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton14: TSpeedButton + Left = 77 + Top = 0 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton15: TSpeedButton + Left = 151 + Top = 0 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton16: TSpeedButton + Left = 225 + Top = 0 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton17: TSpeedButton + Left = 299 + Top = 0 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton18: TSpeedButton + Left = 373 + Top = 0 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton19: TSpeedButton + Left = 447 + Top = 0 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton20: TSpeedButton + Left = 521 + Top = 0 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton21: TSpeedButton + Left = 3 + Top = 74 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton22: TSpeedButton + Left = 77 + Top = 74 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton23: TSpeedButton + Left = 151 + Top = 74 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton24: TSpeedButton + Left = 225 + Top = 74 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton25: TSpeedButton + Left = 299 + Top = 74 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton26: TSpeedButton + Left = 373 + Top = 74 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton27: TSpeedButton + Left = 447 + Top = 74 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton28: TSpeedButton + Left = 521 + Top = 74 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton29: TSpeedButton + Left = 3 + Top = 148 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton30: TSpeedButton + Left = 77 + Top = 148 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton31: TSpeedButton + Left = 151 + Top = 148 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton32: TSpeedButton + Left = 225 + Top = 148 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton33: TSpeedButton + Left = 299 + Top = 148 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton34: TSpeedButton + Left = 373 + Top = 148 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton35: TSpeedButton + Left = 447 + Top = 148 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton36: TSpeedButton + Left = 521 + Top = 148 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton37: TSpeedButton + Left = 3 + Top = 222 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton38: TSpeedButton + Left = 77 + Top = 222 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton39: TSpeedButton + Left = 151 + Top = 222 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton40: TSpeedButton + Left = 225 + Top = 222 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton41: TSpeedButton + Left = 299 + Top = 222 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton42: TSpeedButton + Left = 373 + Top = 222 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton43: TSpeedButton + Left = 447 + Top = 222 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton44: TSpeedButton + Left = 521 + Top = 222 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton45: TSpeedButton + Left = 3 + Top = 296 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton46: TSpeedButton + Left = 77 + Top = 296 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton47: TSpeedButton + Left = 151 + Top = 296 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton48: TSpeedButton + Left = 225 + Top = 296 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton50: TSpeedButton + Left = 299 + Top = 296 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton51: TSpeedButton + Left = 373 + Top = 296 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton52: TSpeedButton + Left = 447 + Top = 296 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton53: TSpeedButton + Left = 521 + Top = 296 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton54: TSpeedButton + Left = 3 + Top = 370 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton55: TSpeedButton + Left = 77 + Top = 370 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton56: TSpeedButton + Left = 151 + Top = 370 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton57: TSpeedButton + Left = 225 + Top = 370 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton58: TSpeedButton + Left = 299 + Top = 370 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton59: TSpeedButton + Left = 373 + Top = 370 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton60: TSpeedButton + Left = 447 + Top = 370 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton61: TSpeedButton + Left = 521 + Top = 370 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton62: TSpeedButton + Left = 3 + Top = 444 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton63: TSpeedButton + Left = 77 + Top = 444 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton64: TSpeedButton + Left = 151 + Top = 444 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton65: TSpeedButton + Left = 225 + Top = 444 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton66: TSpeedButton + Left = 299 + Top = 444 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton67: TSpeedButton + Left = 373 + Top = 444 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton68: TSpeedButton + Left = 447 + Top = 444 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton69: TSpeedButton + Left = 521 + Top = 444 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton70: TSpeedButton + Left = 3 + Top = 518 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton71: TSpeedButton + Left = 77 + Top = 518 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton72: TSpeedButton + Left = 151 + Top = 518 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton73: TSpeedButton + Left = 225 + Top = 518 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton74: TSpeedButton + Left = 299 + Top = 518 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton75: TSpeedButton + Left = 373 + Top = 518 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton76: TSpeedButton + Left = 447 + Top = 518 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton77: TSpeedButton + Left = 521 + Top = 518 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + end + object MovePanel1: TMovePanel + Left = 136 + Top = 112 + Width = 313 + Height = 281 + BevelInner = bvLowered + Color = clSkyBlue + TabOrder = 4 + Visible = False + object Label17: TLabel + Left = 29 + Top = 24 + Width = 88 + Height = 21 + Caption = #36215#22987#20301#32622 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 178 + Top = 59 + Width = 20 + Height = 19 + Caption = #21040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label19: TLabel + Left = 264 + Top = 24 + Width = 22 + Height = 21 + Caption = #30721 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label20: TLabel + Left = 264 + Top = 89 + Width = 22 + Height = 21 + Caption = #30721 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label21: TLabel + Left = 29 + Top = 89 + Width = 84 + Height = 21 + Caption = 'Label21' + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 264 + Top = 167 + Width = 22 + Height = 21 + Caption = #30721 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 29 + Top = 167 + Width = 92 + Height = 21 + Caption = #38271' '#24230 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Edit1: TEdit + Left = 124 + Top = 14 + Width = 131 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnChange = Edit2Change + OnClick = Edit1Click + end + object Button1: TButton + Left = 36 + Top = 221 + Width = 66 + Height = 43 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Button1Click + end + object Button4: TButton + Left = 190 + Top = 221 + Width = 64 + Height = 42 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button4Click + end + object Edit2: TEdit + Left = 124 + Top = 79 + Width = 131 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnChange = Edit2Change + OnClick = Edit1Click + end + object CDQty: TEdit + Left = 124 + Top = 157 + Width = 131 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + end + end + object Panel1: TPanel + Left = 0 + Top = 30 + Width = 1366 + Height = 48 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 5 + object Label1: TLabel + Left = 9 + Top = 16 + Width = 80 + Height = 19 + Caption = #25195#25551#20837#21475 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 280 + Top = 15 + Width = 11 + Height = 20 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label16: TLabel + Left = 864 + Top = 13 + Width = 42 + Height = 12 + Caption = 'Label16' + Visible = False + end + object APID: TEdit + Left = 88 + Top = 12 + Width = 185 + Height = 27 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 0 + OnKeyPress = APIDKeyPress + end + object BTAdd: TButton + Left = 739 + Top = 8 + Width = 46 + Height = 25 + Caption = #26032#22686 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + OnClick = BTAddClick + end + object BTEdit: TButton + Left = 819 + Top = 8 + Width = 38 + Height = 25 + Caption = #20462#25913 + TabOrder = 2 + Visible = False + OnClick = BTEditClick + end + end + object Panel3: TPanel + Left = 13 + Top = 394 + Width = 588 + Height = 154 + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 6 + Visible = False + object SpeedButton1: TSpeedButton + Left = 4 + Top = 3 + Width = 70 + Height = 70 + Caption = '0' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton2: TSpeedButton + Left = 78 + Top = 3 + Width = 70 + Height = 70 + Caption = '1' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton3: TSpeedButton + Left = 152 + Top = 3 + Width = 70 + Height = 70 + Caption = '2' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton4: TSpeedButton + Left = 226 + Top = 3 + Width = 70 + Height = 70 + Caption = '3' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton5: TSpeedButton + Left = 300 + Top = 5 + Width = 70 + Height = 70 + Caption = '4' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton6: TSpeedButton + Left = 374 + Top = 5 + Width = 70 + Height = 70 + Caption = '5' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton7: TSpeedButton + Left = 5 + Top = 78 + Width = 70 + Height = 70 + Caption = '6' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton8: TSpeedButton + Left = 79 + Top = 78 + Width = 70 + Height = 70 + Caption = '7' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton9: TSpeedButton + Left = 153 + Top = 80 + Width = 70 + Height = 70 + Caption = '8' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton10: TSpeedButton + Left = 227 + Top = 80 + Width = 70 + Height = 70 + Caption = '9' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton11: TSpeedButton + Tag = 9 + Left = 301 + Top = 80 + Width = 70 + Height = 70 + Caption = '.' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton12: TSpeedButton + Left = 375 + Top = 80 + Width = 70 + Height = 70 + Caption = #8592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton12Click + end + object SpeedButton49: TSpeedButton + Tag = 9 + Left = 456 + Top = 52 + Width = 89 + Height = 69 + Caption = #38544#34255 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton49Click + end + end + object Panel2: TPanel + Left = 601 + Top = 78 + Width = 216 + Height = 571 + Align = alLeft + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 7 + object Label9: TLabel + Left = 174 + Top = 79 + Width = 15 + Height = 22 + Caption = 'M' + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label3: TLabel + Left = 174 + Top = 136 + Width = 26 + Height = 22 + Caption = 'cm' + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label4: TLabel + Left = 174 + Top = 191 + Width = 24 + Height = 22 + Caption = 'Kg' + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label5: TLabel + Left = 17 + Top = 79 + Width = 40 + Height = 23 + Caption = #38271#24230 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label6: TLabel + Left = 17 + Top = 136 + Width = 40 + Height = 23 + Caption = #24133#23485 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label11: TLabel + Left = 17 + Top = 191 + Width = 40 + Height = 23 + Caption = #37325#37327 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label10: TLabel + Left = 17 + Top = 290 + Width = 40 + Height = 23 + Caption = #27491#21697 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label12: TLabel + Left = 114 + Top = 290 + Width = 40 + Height = 22 + Caption = #27425#21697 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label13: TLabel + Left = 174 + Top = 18 + Width = 15 + Height = 22 + Caption = 'M' + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label14: TLabel + Left = 17 + Top = 18 + Width = 40 + Height = 23 + Caption = #21407#30721 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label15: TLabel + Left = 79 + Top = 348 + Width = 5 + Height = 22 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + Visible = False + end + object Label22: TLabel + Left = 174 + Top = 239 + Width = 36 + Height = 22 + Caption = 'g/'#13217 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label23: TLabel + Left = 17 + Top = 238 + Width = 40 + Height = 23 + Caption = #20811#37325 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object MJFK: TEdit + Left = 61 + Top = 127 + Width = 110 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = Edit1Click + end + object MJLen: TEdit + Left = 61 + Top = 70 + Width = 110 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Edit1Click + end + object MJMaoZ: TEdit + Left = 61 + Top = 182 + Width = 110 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Edit1Click + end + object BTPrint: TButton + Left = 56 + Top = 354 + Width = 105 + Height = 70 + Caption = #25171#21360 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = BTPrintClick + end + object Button5: TButton + Left = 56 + Top = 458 + Width = 105 + Height = 70 + Caption = #37325#25171 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + OnClick = Button5Click + end + object Edit3: TEdit + Left = 62 + Top = 280 + Width = 46 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 5 + Text = #8730 + OnClick = Edit3Click + end + object Edit4: TEdit + Left = 156 + Top = 280 + Width = 46 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 6 + OnClick = Edit4Click + end + object MJQty1: TEdit + Left = 61 + Top = 9 + Width = 110 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + OnClick = Edit1Click + end + object MJSJKZ: TEdit + Left = 61 + Top = 229 + Width = 110 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + OnClick = Edit1Click + end + end + object cxStyleRepository1: TcxStyleRepository + Left = 368 + object cxStyle1: TcxStyle + AssignedValues = [svColor, svFont] + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle2: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Pitch = fpFixed + Font.Style = [fsBold] + TextColor = clDefault + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + PopupMenus = <> + Left = 400 + end + object DataSource1: TDataSource + DataSet = Order_MJ + Left = 616 + end + object Order_MJ: TClientDataSet + Aggregates = <> + Params = <> + Left = 432 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 576 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 536 + end + object ADOTmp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 504 + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 648 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 464 + ReportData = {} + end + object DataSource2: TDataSource + DataSet = CDS_MJCD + Left = 616 + Top = 48 + end + object CDS_MJCD: TClientDataSet + Aggregates = <> + Params = <> + Left = 656 + Top = 48 + end + object DataSource3: TDataSource + DataSet = CDS_MJID + Left = 1000 + Top = 296 + end + object CDS_MJID: TClientDataSet + Aggregates = <> + Params = <> + Left = 1016 + Top = 312 + end + object Timer1: TTimer + Interval = 100 + Left = 944 + Top = 320 + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 688 + Top = 48 + end + object cxStyleRepository2: TcxStyleRepository + object cxStyle3: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = clBtnFace + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlue + end + end + object cxStyleRepository3: TcxStyleRepository + object cxStyle4: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clRed + end + end + object cxStyleRepository4: TcxStyleRepository + object cxStyle5: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clOlive + end + end + object cxStyleRepository5: TcxStyleRepository + object cxStyle6: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + end + object cxGridPopupMenu2: TcxGridPopupMenu + PopupMenus = <> + Left = 656 + Top = 467 + end + object ADOQueryMainDSC: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + SQL.Strings = ( + 'select A.*,C.OrderNo,B.SWFBColor,B.SWFBHW,B.SWFBCodeName,' + ' B.SWFBCode,B.SWFBKZ,B.WKMS,B.KZBig,B.KZSmal,' + + ' SCMQty=(select isnull(Sum(MJLen),0) from WFB_MJJY WM wher' + + 'e WM.APId=A.APId and len(WM.MJID)>8),' + + ' Case when A.OrderQtyM-(select isnull(Sum(MJLen),0) from W' + + 'FB_MJJY WM where WM.APId=A.APId )>0 ' + + ' then A.OrderQtyM-(select isnull(Sum(MJLen),0) fr' + + 'om WFB_MJJY WM where WM.APId=A.APId ) else 0 end as WSCMQty' + 'from WFBOrder_Sub_AnPai A ' + 'inner join WFBOrder_Sub B on A.SubId=B.SubId' + 'inner join WFBOrder_Main C on A.MainId=C.MainId' + + 'where C.ChkStatus='#39#23457#26680#36890#36807#39' and RTrim(isnull(A.SCStatus,'#39#39'))<>'#39#24050#23436#25104#39 + + ' ' + 'and isnull(B.AnPaiChkStatus,'#39#39')='#39#23457#26680#36890#36807#39' and A.SCXDFlag=1' + '') + Left = 840 + Top = 144 + end +end diff --git a/打卷检验管理/U_MJManageNewFD1.pas b/打卷检验管理/U_MJManageNewFD1.pas new file mode 100644 index 0000000..04b40c1 --- /dev/null +++ b/打卷检验管理/U_MJManageNewFD1.pas @@ -0,0 +1,1450 @@ +unit U_MJManageNewFD; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, RM_Common, RM_Class, RM_GridReport, + RM_System, RM_Dataset, ADODB, DBClient, cxGridCustomPopupMenu, + cxGridPopupMenu, ExtCtrls, ComCtrls, ToolWin, cxTextEdit, Buttons, + cxSplitter, cxCheckBox, MovePanel; +{function CommOpen(fhandle:hwnd;sCommName:PAnsiChar; + IntTime:integer):integer;stdcall;external 'JCYData.DLL'; +function CommClose(sCommName:PAnsiChar):integer;stdcall;external 'JCYData.DLL';} + + +type + TfrmMJManageNewFD = class(TForm) + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxStyle2: TcxStyle; + cxGridPopupMenu1: TcxGridPopupMenu; + DataSource1: TDataSource; + Order_MJ: TClientDataSet; + ADOQueryMain: TADOQuery; + ADOCmd: TADOQuery; + ADOTmp: TADOQuery; + RMDB_Main: TRMDBDataSet; + RM2: TRMGridReport; + ToolBar1: TToolBar; + TBClose: TToolButton; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + tv2CDType: TcxGridDBColumn; + tv2CDWZ: TcxGridDBColumn; + Tv2CDQty: TcxGridDBColumn; + Tv2CDReason: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + TBCD: TToolButton; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + DataSource2: TDataSource; + CDS_MJCD: TClientDataSet; + DataSource3: TDataSource; + CDS_MJID: TClientDataSet; + v2Column1: TcxGridDBColumn; + Timer1: TTimer; + ADOQueryPrint: TADOQuery; + v2Column2: TcxGridDBColumn; + ToolButton1: TToolButton; + ScrollBox1: TScrollBox; + SpeedButton13: TSpeedButton; + SpeedButton14: TSpeedButton; + SpeedButton15: TSpeedButton; + SpeedButton16: TSpeedButton; + SpeedButton17: TSpeedButton; + SpeedButton18: TSpeedButton; + SpeedButton19: TSpeedButton; + SpeedButton20: TSpeedButton; + SpeedButton21: TSpeedButton; + SpeedButton22: TSpeedButton; + SpeedButton23: TSpeedButton; + SpeedButton24: TSpeedButton; + SpeedButton25: TSpeedButton; + SpeedButton26: TSpeedButton; + SpeedButton27: TSpeedButton; + SpeedButton28: TSpeedButton; + SpeedButton29: TSpeedButton; + SpeedButton30: TSpeedButton; + SpeedButton31: TSpeedButton; + SpeedButton32: TSpeedButton; + SpeedButton33: TSpeedButton; + SpeedButton34: TSpeedButton; + SpeedButton35: TSpeedButton; + SpeedButton36: TSpeedButton; + SpeedButton37: TSpeedButton; + SpeedButton38: TSpeedButton; + SpeedButton39: TSpeedButton; + SpeedButton40: TSpeedButton; + SpeedButton41: TSpeedButton; + SpeedButton42: TSpeedButton; + MovePanel1: TMovePanel; + Label17: TLabel; + Label18: TLabel; + Label19: TLabel; + Label20: TLabel; + Label21: TLabel; + Edit1: TEdit; + Button1: TButton; + Button4: TButton; + Edit2: TEdit; + cxStyleRepository2: TcxStyleRepository; + cxStyle3: TcxStyle; + cxStyleRepository3: TcxStyleRepository; + cxStyle4: TcxStyle; + cxStyleRepository4: TcxStyleRepository; + cxStyle5: TcxStyle; + cxStyleRepository5: TcxStyleRepository; + cxStyle6: TcxStyle; + cxGridPopupMenu2: TcxGridPopupMenu; + ADOQueryMainDSC: TADOQuery; + SpeedButton43: TSpeedButton; + SpeedButton44: TSpeedButton; + SpeedButton45: TSpeedButton; + SpeedButton46: TSpeedButton; + SpeedButton47: TSpeedButton; + SpeedButton48: TSpeedButton; + SpeedButton50: TSpeedButton; + SpeedButton51: TSpeedButton; + SpeedButton52: TSpeedButton; + SpeedButton53: TSpeedButton; + SpeedButton54: TSpeedButton; + SpeedButton55: TSpeedButton; + Panel1: TPanel; + Panel3: TPanel; + SpeedButton1: TSpeedButton; + SpeedButton2: TSpeedButton; + SpeedButton3: TSpeedButton; + SpeedButton4: TSpeedButton; + SpeedButton5: TSpeedButton; + SpeedButton6: TSpeedButton; + SpeedButton7: TSpeedButton; + SpeedButton8: TSpeedButton; + SpeedButton9: TSpeedButton; + SpeedButton10: TSpeedButton; + SpeedButton11: TSpeedButton; + SpeedButton12: TSpeedButton; + SpeedButton49: TSpeedButton; + Label1: TLabel; + APID: TEdit; + Label2: TLabel; + BTAdd: TButton; + BTEdit: TButton; + Label16: TLabel; + SpeedButton56: TSpeedButton; + SpeedButton57: TSpeedButton; + SpeedButton58: TSpeedButton; + SpeedButton59: TSpeedButton; + SpeedButton60: TSpeedButton; + SpeedButton61: TSpeedButton; + SpeedButton62: TSpeedButton; + SpeedButton63: TSpeedButton; + SpeedButton64: TSpeedButton; + SpeedButton65: TSpeedButton; + SpeedButton66: TSpeedButton; + SpeedButton67: TSpeedButton; + SpeedButton68: TSpeedButton; + SpeedButton69: TSpeedButton; + SpeedButton70: TSpeedButton; + SpeedButton71: TSpeedButton; + SpeedButton72: TSpeedButton; + SpeedButton73: TSpeedButton; + SpeedButton74: TSpeedButton; + SpeedButton75: TSpeedButton; + SpeedButton76: TSpeedButton; + SpeedButton77: TSpeedButton; + Label7: TLabel; + CDQty: TEdit; + Label8: TLabel; + Panel2: TPanel; + Label9: TLabel; + MJFK: TEdit; + Label3: TLabel; + MJLen: TEdit; + Label4: TLabel; + MJMaoZ: TEdit; + Label5: TLabel; + Label6: TLabel; + Label11: TLabel; + BTPrint: TButton; + Button5: TButton; + Edit3: TEdit; + Label10: TLabel; + Edit4: TEdit; + Label12: TLabel; + Label13: TLabel; + Label14: TLabel; + MJQty1: TEdit; + Label15: TLabel; + Label22: TLabel; + Label23: TLabel; + MJSJKZ: TEdit; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TBCDClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure MJMaoZClick(Sender: TObject); + procedure MJLenClick(Sender: TObject); + procedure MJFKClick(Sender: TObject); + procedure MJBanZuClick(Sender: TObject); + procedure MJSJKZClick(Sender: TObject); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure FormClick(Sender: TObject); + procedure Button12Click(Sender: TObject); + procedure BTAddClick(Sender: TObject); + procedure BTEditClick(Sender: TObject); + procedure BTPrintClick(Sender: TObject); + procedure Tv2CDQtyPropertiesEditValueChanged(Sender: TObject); + procedure SpeedButton1Click(Sender: TObject); + procedure SpeedButton12Click(Sender: TObject); + procedure SpeedButton13Click(Sender: TObject); + procedure cxGridDBColumn2PropertiesChange(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure Button5Click(Sender: TObject); + procedure SpeedButton49Click(Sender: TObject); + procedure APIDKeyPress(Sender: TObject; var Key: Char); + procedure Edit1Click(Sender: TObject); + procedure Edit2Change(Sender: TObject); + procedure Edit3Click(Sender: TObject); + procedure Edit4Click(Sender: TObject); + private + { Private declarations } + FInt,PState,PrintInt,SCInitGrid,FState:Integer; + FColumn,FBanZu,FAPID,FMainId,FSubId:String; + MValue,FCDName:String; + procedure InitJP(); + procedure InitCDGrid(); + procedure InitCDGridID(); + procedure AddCD(Fbtn:TButton); + procedure AddSL(Fbtn:TButton); + function SaveData():Boolean; + procedure BtnStatus(BSInt:Boolean); + procedure AddSLNew(Fbtn:TSpeedButton); + procedure AddCDNew(Fbtn:TSpeedButton); + procedure SavedataCK(); + public + { Public declarations } + end; + +var + frmMJManageNewFD: TfrmMJManageNewFD; + +implementation +uses + U_DataLink,U_Fun,U_ZDYHelp,U_iniParam; + +{$R *.dfm} + +procedure TfrmMJManageNewFD.FormDestroy(Sender: TObject); +begin + frmMJManageNewFD:=nil; +end; + +procedure TfrmMJManageNewFD.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + //DataLink_WFBProducttion.ADOLink.Connected:=False; + Action:=caFree; +end; +procedure TfrmMJManageNewFD.InitCDGrid(); +begin + with ADOQueryMain do + begin + Close; + SQL.Clear; + if PState=1 then + sql.Add('select * from WFB_MJJY_CD where MJID='''' ') + else + sql.Add('select * from WFB_MJJY_CD where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_MJCD); + SInitCDSData20(ADOQueryMain,CDS_MJCD); +end; +procedure TfrmMJManageNewFD.InitCDGridID(); +begin + with ADOQueryMain do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_MJJY where APID='''+Trim(FAPID)+''''); + if Trim(SCXFlag)<>'' then + sql.Add(' and JTType='''+Trim(SCXFlag)+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_MJID); + SInitCDSData20(ADOQueryMain,CDS_MJID); +end; + +procedure TfrmMJManageNewFD.TBCloseClick(Sender: TObject); +var + maxno:string; +begin + if CDS_MJCD.IsEmpty=False then + begin + if Trim(CDS_MJCD.FieldByName('MCID').AsString)='' then + begin + //try + //ADOCmd.Connection.BeginTrans; + {with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete from WFB_MJJY_CD_Temp where JTType='''+Trim(SCXFlag)+''''); + Execsql; + end; + with CDS_MJCD do + begin + First; + while not Eof do + begin + if GetLSNo(ADOCmd,maxno,'LS','WFB_MJJY_CD_Temp',2,1)=False then + begin + // ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡõʱʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_MJJY_CD_Temp where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MCID').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,Tv2,CDS_MJCD,'WFB_MJJY_CD_Temp',0); + FieldByName('JTType').Value:=Trim(SCXFlag); + Post; + end; + Next; + end; + end; } + close; + //ADOCmd.Connection.CommitTrans; + //ModalResult:=1; + //except + //ADOCmd.Connection.RollbackTrans; + //Application.MessageBox('ʱʧܣ','ʾ',0); + //end; + end else + begin + Close; + end; + end else + begin + Close; + end; + + + +end; + +procedure TfrmMJManageNewFD.Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + fsj:string; +begin + //FInt:=0; + //Tv1.DataController.FocusedRecordIndex; + //fsj:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; +end; + +procedure TfrmMJManageNewFD.TBCDClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WFBCD'; + flagname:='õ'; + fnote:=True; + V1Note.Caption:='Ӣ'; + if ShowModal=1 then + begin + Self.InitJP(); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmMJManageNewFD.FormShow(Sender: TObject); +begin + InitJP(); + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select BanZu from SY_User where UserId='''+Trim(DCode)+''''); + Open; + FBanZu:=Trim(Fieldbyname('BanZu').AsString); + end; + {if Trim(FBanZu)='' then + begin + Application.MessageBox('Ϊգð飡','ʾ',0); + Exit; + end; } + APID.SetFocus; +end; +procedure TfrmMJManageNewFD.InitJP(); +var + AA:array[0..100] of string; + i,j:Integer; +begin + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select ZDYName from KH_Zdy where Type=''WFBCD'' order by ZDYNO '); + Open; + end; + if ADOTmp.IsEmpty then + begin + Application.MessageBox('ûжõ㣡','ʾ',0); + Exit; + end; + with ADOTmp do + begin + First; + i:=0; + while not Eof do + begin + AA[i]:=Trim(fieldbyname('ZDYName').AsString); + i:=i+1; + Next; + end; + end; + i:=i-1; + if i>63 then + begin + i:=63; + end; + for j:=0 to i do + begin + with ScrollBox1 do + begin + TSpeedButton(Controls[j]).Visible:=True; + TSpeedButton(Controls[j]).Hint:=AA[j]; + if Length(AA[j])>4 then + begin + TSpeedButton(Controls[j]).Caption:=Copy(Trim(AA[j]),1,4)+#13+Copy(Trim(AA[j]),5,Length(AA[j])-4); + end else + TSpeedButton(Controls[j]).Caption:=AA[j]; + end; + end; +end; + +procedure TfrmMJManageNewFD.AddCD(Fbtn:TButton); +begin + if PState<1 then Exit; + if Order_MJ.IsEmpty then Exit; + with CDS_MJCD do + begin + Append; + FieldByName('cdname').Value:=Trim(TButton(Fbtn).Caption); + Post; + end; +end; +procedure TfrmMJManageNewFD.AddCDNew(Fbtn:TSpeedButton); +begin + with CDS_MJCD do + begin + Append; + FieldByName('cdname').Value:=Trim(TSpeedButton(Fbtn).Hint); + Post; + end; +end; +procedure TfrmMJManageNewFD.AddSL(Fbtn:TButton); +begin + if PState<1 then Exit; + if Order_MJ.IsEmpty then Exit; + + //if MJMaoZ.Focused then + if FInt=4 then Exit; + if CDS_MJCD.IsEmpty=False then + begin + FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(FColumn)<>'' then + begin + with CDS_MJCD do + begin + Edit; + FieldByName(FColumn).Value:=Trim(FieldByName(FColumn).AsString)+Trim(TButton(Fbtn).Caption); + if Trim(fieldbyname('CDQtyS').AsString)<>'' then + Fieldbyname('CDQty').Value:=Trim(fieldbyname('CDQtyS').AsString); + Post; + end; + end; + end; +end; +procedure TfrmMJManageNewFD.AddSLNew(Fbtn:TSpeedButton); +begin + if PState<1 then Exit; + if Trim(FAPID)='' then Exit; + + //if MJMaoZ.Focused then + if FInt=4 then Exit; + if FInt=11 then + begin + if TSpeedButton(Fbtn).Tag=9 then Exit; + Edit1.Text:=Trim(Edit1.Text)+Trim(TSpeedButton(Fbtn).Caption); + Edit1.SelectAll; + end else + if FInt=12 then + begin + if TSpeedButton(Fbtn).Tag=9 then Exit; + Edit2.Text:=Trim(Edit2.Text)+Trim(TSpeedButton(Fbtn).Caption); + Edit2.SelectAll; + end;{ else + if CDS_MJCD.IsEmpty=False then + begin + FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(FColumn)<>'' then + begin + with CDS_MJCD do + begin + Edit; + FieldByName(FColumn).Value:=Trim(FieldByName(FColumn).AsString)+Trim(TButton(Fbtn).Caption); + if Trim(fieldbyname('CDQtyS').AsString)<>'' then + Fieldbyname('CDQty').Value:=Trim(fieldbyname('CDQtyS').AsString); + Post; + end; + end; + end; } +end; + +procedure TfrmMJManageNewFD.Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + //if Tv2.OptionsSelection.CellSelect=True then + if CDS_MJCD.IsEmpty then Exit; + + if Trim(CDS_MJCD.fieldbyname('MCID').AsString)='' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + CDS_MJCD.Delete; + end; + +end; + +procedure TfrmMJManageNewFD.MJMaoZClick(Sender: TObject); +begin + FInt:=1; + FColumn:=''; + panel3.Visible:=True; +end; + +procedure TfrmMJManageNewFD.MJLenClick(Sender: TObject); +begin + FInt:=2; + FColumn:=''; + panel3.Visible:=True; +end; + +procedure TfrmMJManageNewFD.MJFKClick(Sender: TObject); +begin + FInt:=3; + FColumn:=''; + panel3.Visible:=True; +end; + +procedure TfrmMJManageNewFD.MJBanZuClick(Sender: TObject); +begin + FInt:=4; +end; + +procedure TfrmMJManageNewFD.MJSJKZClick(Sender: TObject); +begin + FInt:=4; +end; + +procedure TfrmMJManageNewFD.Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + //DataLink_WFBProducttion.ADOLink.Connected:=False; + FInt:=4; + // if PState=1 then Exit; + InitCDGridID(); + //InitCDGrid(); + {with ADOTmp do + begin + close; + sql.Clear; + sql.Add('select * from WFB_MJJY where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + if ADOTmp.IsEmpty then + begin + MJMaoZ.Text:=''; + MJLen.Text:=''; + MJFK.Text:=''; + MJSJKZ.Text:=''; + end else + SSetWinData(ADOTmp,Panel5); } +end; + +procedure TfrmMJManageNewFD.Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if CDS_MJCD.IsEmpty=False then + begin + if Trim(CDS_MJCD.fieldbyname('MJID').AsString)='' then + begin + Application.MessageBox('δ,!','ʾ',0); + Exit; + end; + end; + + FInt:=4; + PState:=0; + InitCDGrid(); + with ADOTmp do + begin + close; + sql.Clear; + sql.Add('select * from WFB_MJJY where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + MJFK.Text:=Trim(ADOTmp.fieldbyname('MJFK').AsString); + //MJSJKZ.Text:=Trim(ADOTmp.fieldbyname('MJSJKZ').AsString); + MJLen.Text:=Trim(ADOTmp.fieldbyname('MJLen').AsString); + MJQty1.Text:=Trim(ADOTmp.fieldbyname('MJQty1').AsString); + MJMaoZ.Text:=Trim(ADOTmp.fieldbyname('MJMaoZ').AsString); + Label15.Caption:=Trim(CDS_MJID.fieldbyname('MJID').AsString); + if Trim(ADOTmp.fieldbyname('MJType').AsString)='Ʒ' then + begin + Edit3.Text:=''; + Edit4.Text:=''; + end else + begin + Edit4.Text:=''; + Edit3.Text:=''; + end; + BtnStatus(False); + Label16.Caption:=''; +end; + + +procedure TfrmMJManageNewFD.FormClick(Sender: TObject); +begin + FInt:=4; +end; + +procedure TfrmMJManageNewFD.Button12Click(Sender: TObject); +var + fsj:string; +begin + if PState<1 then Exit; + if Trim(FAPID)='' then Exit; + if FInt=4 then Exit; + begin + FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(FColumn)<>'' then + begin + if Trim(CDS_MJCD.FieldByName(FColumn).AsString)<>'' then + begin + with CDS_MJCD do + begin + Edit; + if Length(CDS_MJCD.FieldByName(FColumn).AsString)=1 then + begin + FieldByName(FColumn).Value:=null ; + FieldByName('CDQty').Value:=0; + end + else + begin + FieldByName(FColumn).Value:=Copy(Trim(FieldByName(FColumn).AsString),1,Length(Trim(FieldByName(FColumn).AsString))-1); + FieldByName('CDQty').Value:=FieldByName(FColumn).Value; + end; + Post; + end; + end; + + + end; + end; +end; + +function TfrmMJManageNewFD.SaveData():Boolean; +var + maxno,FMJID,BZID:String; + FMJLen:Double; + FOrder:Integer; +begin + if PState=1 then + FMJID:='' + else if PState=2 then + FMJID:=Trim(CDS_MJID.fieldbyname('MJID').AsString) + else if PState<1 then Exit; + try + ADOCmd.Connection.BeginTrans; + /// + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from WFB_MJJY where MJId='''+Trim(FMJID)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMJID)='' then + begin + Append; + if GetLSNo(ADOTmp,maxno,Trim(SCXFlag),'WFB_MJJY',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ˮ쳣','ʾ',0); + exit; + end; + end + else begin + maxno:=Trim(FMJID); + Edit; + end; + FieldByName('MainId').value:=Trim(FMainId); + FieldByName('SubId').value:=Trim(FSubId); + FieldByName('APId').value:=Trim(FAPID); + FieldByName('MJID').Value:=Trim(maxno); + FieldByName('MJStr2').Value:='δ'; + FieldByName('MJBanZu').Value:=Trim(FBanZu); + if Trim(MJLen.Text)<>'' then + begin + FieldByName('MJLen').Value:=StrToFloat(MJLen.Text); + end; + if Trim(MJQty1.Text)<>'' then + begin + FieldByName('MJQty1').Value:=StrToFloat(MJQty1.Text); + end; + if Trim(MJFK.Text)<>'' then + begin + FieldByName('MJFK').Value:=StrToFloat(MJFK.Text); + end; + if Trim(MJMaoZ.Text)<>'' then + begin + FieldByName('MJMaoZ').Value:=StrToFloat(MJMaoZ.Text); + end; + if Trim(MJSJKZ.Text)<>'' then + begin + FieldByName('MJSJKZ').Value:=StrToFloat(MJSJKZ.Text); + end; + if Trim(Edit3.Text)<>'' then + begin + FieldByName('MJType').Value:='Ʒ'; + end; + if Trim(Edit4.Text)<>'' then + begin + FieldByName('MJType').Value:='Ʒ'; + end; + FieldByName('MJTypeOther').Value:=Trim(Label9.Caption); + FieldByName('MJStr1').Value:=Trim(Label13.Caption); + {if Trim(MJSJKZ.Text)<>'' then + begin + FieldByName('MJSJKZ').Value:=StrToFloat(MJSJKZ.Text); + end; } + if Trim(FMJID)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTmp); + end; + if Trim(SCXFlag)<>'' then + begin + FieldByName('JTType').Value:=Trim(SCXFlag); + end; + Post; + + end; + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('UPdate WFB_MJJY Set MJXH=(select max(MJXH)+1 from WFB_MJJY A where A.APID=WFB_MJJY.APID)'); + sql.Add(' where MJID='''+Trim(maxno)+''''); + ExecSQL; + end; + FMJID:=Trim(maxno); + ///ĸõ + with CDS_MJCD do + begin + First; + while not Eof do + begin + if Trim(CDS_MJCD.fieldbyname('MCID').AsString)='' then + begin + if GetLSNo(ADOTmp,maxno,'MC','WFB_MJJY_CD',5,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_MJCD.fieldbyname('MCID').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_MJJY_CD '); + sql.Add(' where MCID='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_MJCD.fieldbyname('MCID').AsString)='' then + Append + else + Edit; + FieldByName('MJId').Value:=Trim(FMJID); + FieldByName('MCID').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,Tv2,CDS_MJCD,'WFB_MJJY_CD',0); + Post; + end; + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('MCID').Value:=Trim(maxno); + Next; + end; + end; + with CDS_MJID do + begin + Append; + FieldByName('MJID').Value:=Trim(FMJID); + Post; + end; + //SavedataCK(); + ADOCmd.Connection.CommitTrans; + Result:=True; + PState:=0; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + +procedure TfrmMJManageNewFD.BTAddClick(Sender: TObject); +begin + if Trim(Label2.Caption)='' then Exit; + PState:=1; + InitCDGridID(); + InitCDGrid(); + BtnStatus(True); + Label16.Caption:=''; +end; + +procedure TfrmMJManageNewFD.BTEditClick(Sender: TObject); +begin + if CDS_MJID.IsEmpty then Exit; + PState:=2; + Label16.Caption:='޸'; +end; + +procedure TfrmMJManageNewFD.BTPrintClick(Sender: TObject); +var + fPrintFile:String; + mvalue:Double; +begin + if Trim(FAPID)='' then Exit; + if FInt=4 then + begin + if CDS_MJID.IsEmpty=False then + begin + Application.MessageBox('Ѵ룿볢ش','ʾ',0); + Exit; + end; + end; + if Trim(MJLen.Text)='' then + begin + Application.MessageBox('ȲΪ!','ʾ',0); + Exit; + end; + if TryStrToFloat(MJLen.Text,mvalue)=False then + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + {if Trim(MJQty1.Text)='' then + begin + Application.MessageBox('ԭ벻Ϊ!','ʾ',0); + Exit; + end; } + if Trim(MJQty1.Text)<>'' then + begin + if TryStrToFloat(MJQty1.Text,mvalue)=False then + begin + Application.MessageBox('ԭ¼!','ʾ',0); + Exit; + end; + end; + + if Trim(MJFK.Text)<>'' then + begin + if TryStrToFloat(MJFK.Text,mvalue)=False then + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + end; + if Trim(MJMaoZ.Text)<>'' then + begin + if TryStrToFloat(MJMaoZ.Text,mvalue)=False then + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + end; + if Trim(MJSJKZ.Text)<>'' then + begin + if TryStrToFloat(MJSJKZ.Text,mvalue)=False then + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + end; + {if Trim(MJSJKZ.Text)<>'' then + begin + if TryStrToFloat(MJSJKZ.Text,mvalue)=False then + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + end; } + if PState=1 then + begin + if Application.MessageBox('ǷҪӡ룿ӡݽ޸ģ','ʾ',32+4)<>IDYES then Exit; + end; + if SaveData() then + begin + //BtnStatus(False); + MJFK.Text:=''; + //MJSJKZ.Text:=''; + MJLen.Text:=''; + MJMaoZ.Text:=''; + MJQty1.Text:=''; + MJSJKZ.Text:=''; + Label15.Caption:=''; + end; + with ADOQueryPrint do + begin + Close; + SQL.Clear; + sql.Add('select A.MJID,A.MJXH,Qty=A.MJLen,QtyUnit=A.MJTypeOther,B.orderNo,D.GangNo,PRTColorEng=E.Note,'); + sql.Add(' MPRTCodeNameEng=(select Top 1 F.CYEName from CP_YDang F where F.CYNo=B.OrdDefStr1),C.SLbName'); + sql.Add(',B.MPRTCF,C.SOrddefstr4,C.*,A.* '); + sql.Add(' from WFB_MJJY A') ; + sql.Add(' inner join JYOrder_Main B On A.Mainid=B.Mainid'); + sql.Add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); + sql.Add(' inner join KH_Zdy E on C.PRTColor=E.ZdyName and E.Type=''OrdColor'' '); + sql.Add(' inner join JYOrder_Sub_AnPai D on A.APId=D.APId '); + SQL.Add(' where A.MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + if Trim(ADOQueryPrint.fieldbyname('SLbName').AsString)<>'' then + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\'+Trim(ADOQueryPrint.fieldbyname('SLbName').AsString)+'.rmf' + else + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\ͨӢıǩ.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + //RM2.ShowReport; + RM2.PrintReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ǩ.rmf'),'ʾ',0); + end; + Label16.Caption:=''; + BTAdd.Click; +end; +procedure TfrmMJManageNewFD.SavedataCK(); +var + CRID:Integer; + MaxCkNo,MaxCkSubNo:String; +begin + //if Trim(Cds_Main.fieldbyname('SubType').AsString)='' then + //////////////////////////////////////////////////////////////浽Ʒֿ//////////////////////////////////////////////// + with ADOCmd do + begin + Close; + sql.Clear; + SQL.add('Update CK_BanCP_CRID Set CRID=CRID+1'); + sql.Add('select * from CK_BanCP_CRID'); + Open; + end; + CRID:=ADOCmd.fieldbyname('CRID').Value; + if GetLSNo(ADOCmd,MaxCkNo,'JR','CK_BanCP_CR',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡƷֿʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_CR where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(FSubId); + FieldByName('APID').Value:=Trim(FAPID); + FieldByName('MJID').Value:=Trim(CDS_MJID.fieldbyname('MJId').AsString); + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('CRTime').Value:=SGetServerDateTime(ADOTmp); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + //FieldByName('JTType').Value:=Trim(XJFlag); + FieldByName('CRID').Value:=CRID; + if Trim(MJMaoZ.Text)<>'' then + begin + FieldByName('KGQty').Value:=StrToFloat(MJMaoZ.Text); + end; + if Trim(MJLen.Text)<>'' then + begin + FieldByName('Qty').Value:=StrToFloat(MJLen.Text); + end; + FieldByName('QtyUnit').Value:=Trim(Label9.Caption); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('FillTime').Value:=SGetServerDateTime(ADOTmp); + if Trim(Edit3.Text)<>'' then + begin + FieldByName('CPType').Value:='Ʒ'; + end; + if Trim(Edit4.Text)<>'' then + begin + FieldByName('CPType').Value:='Ʒ'; + end; + Post; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_KC where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('CRID').Value:=CRID; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('MJID').Value:=Trim(CDS_MJID.fieldbyname('MJID').AsString); + if Trim(MJMaoZ.Text)<>'' then + begin + FieldByName('KCKGQty').Value:=StrToFloat(MJMaoZ.Text); + end; + if Trim(MJLen.Text)<>'' then + begin + FieldByName('KCQty').Value:=StrToFloat(MJLen.Text); + end; + FieldByName('KCQtyUnit').Value:=Trim(Label9.Caption); + Post; + end; +end; +procedure TfrmMJManageNewFD.BtnStatus(BSInt:Boolean); +begin + // Tv2.OptionsSelection.CellSelect:=BSInt; +end; +procedure TfrmMJManageNewFD.Tv2CDQtyPropertiesEditValueChanged(Sender: TObject); +var + mvalue:string; +begin + try + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(mvalue)<>'' then + begin + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('CDQty').Value:=mvalue; + CDS_MJCD.Post; + end else + begin + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('CDQty').Value:=0; + CDS_MJCD.Post; + end; + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('CDQtyS').Value:=mvalue; + except + Application.MessageBox('Ƿ֣','ʾ',0); + end; +end; + +procedure TfrmMJManageNewFD.SpeedButton1Click(Sender: TObject); +var + fsj:string; +begin + fsj:=Trim(TSpeedButton(Sender).Hint); + if Trim(fsj)='' then Exit; + fsj:=Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text:=fsj+Trim(TSpeedButton(Sender).Caption); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TfrmMJManageNewFD.SpeedButton12Click(Sender: TObject); +var + fsj:string; +begin + fsj:=Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); + if Trim(fsj)='' then Exit; + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text:=Copy(fsj,1,Length(fsj)-1); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TfrmMJManageNewFD.SpeedButton13Click(Sender: TObject); +var + i:Integer; +begin + if Trim(Label2.Caption)='' then Exit; + if Label2.Visible=False then Exit; + {with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select * from Order_JYResult where APID='''+Trim(FAPID)+''''); + Open; + end; + if ADOTmp.IsEmpty then + begin + Application.MessageBox('ŷδ¼,ܼ!','ʾ',0); + Exit; + end; } + if Trim(CDS_MJCD.fieldbyname('MJID').AsString)<>'' then + begin + BTAdd.Click; + end; + if Trim(Label15.Caption)<>'' then + begin + MJFK.Text:=''; + //MJSJKZ.Text:=''; + MJLen.Text:=''; + MJMaoZ.Text:=''; + MJQty1.Text:=''; + MJSJKZ.Text:=''; + Label15.Caption:=''; + + end; + if Trim(FAPID)='' then Exit; + FCDName:=Trim(TSpeedButton(Sender).Hint); + MovePanel1.Visible:=True; + Label21.Caption:=Trim(FCDName); + FInt:=11; + Edit1.SetFocus; + //CDQty.SetFocus; + Panel3.Visible:=True; + with Panel3 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=Trim(Edit1.Name); + end; + end; + end; + +end; + +procedure TfrmMJManageNewFD.cxGridDBColumn2PropertiesChange(Sender: TObject); +var + fsj:String; +begin + + fsj:=Trim(Order_MJ.fieldbyname('SubId').AsString); + Order_MJ.DisableControls; + with Order_MJ do + begin + First; + while not Eof do + begin + if Trim(Order_MJ.fieldbyname('SubId').AsString)<>fsj then + begin + Edit; + FieldByName('SSel').Value:=False; + end; + Next; + end; + end; + Order_MJ.EnableControls; + Order_MJ.Locate('SubId',fsj,[]); +end; + +procedure TfrmMJManageNewFD.Button1Click(Sender: TObject); +var + mvalue:Double; +begin + { if Trim(Edit1.Text)='' then + begin + Application.MessageBox('λòΪգ','ʾ',0); + exit; + end; } + if Trim(Edit1.Text)<>'' then + begin + if Trim(Edit2.Text)<>'' then + begin + if StrToFloat(Edit2.Text)'' then + begin + if TryStrToFloat(CDQty.Text,mvalue)=False then + begin + Application.MessageBox('Ƿ!','ʾ',0); + Exit; + end; + end; + with CDS_MJCD do + begin + Append; + FieldByName('cdname').Value:=Trim(FCDName); + FieldByName('CDbeg').Value:=Trim(Edit1.Text); + FieldByName('CDEnd').Value:=Trim(Edit2.Text); + if Trim(CDQty.Text)<>'' then + begin + FieldByName('CDQty').Value:=StrToFloat(CDQty.Text); + end else + begin + FieldByName('CDQty').Value:=0; + end; + {if Trim(Edit2.Text)<>'' then + begin + FieldByName('CDQty').Value:=StrToFloat(Edit2.Text)-StrToFloat(Edit1.Text); + end else + begin + FieldByName('CDQty').Value:=0; + end; } + + Post; + end; + Edit1.Text:=''; + Edit2.Text:=''; + CDQty.Text:=''; + MovePanel1.Visible:=False; + Panel3.Visible:=False; +end; + +procedure TfrmMJManageNewFD.Button4Click(Sender: TObject); +begin + Edit1.Text:=''; + Edit2.Text:=''; + CDQty.Text:=''; + MovePanel1.Visible:=False; + Panel3.Visible:=False; +end; + +procedure TfrmMJManageNewFD.ToolButton1Click(Sender: TObject); +begin + //InitGrid(); + InitJP(); +end; + +procedure TfrmMJManageNewFD.Button5Click(Sender: TObject); +var + fPrintFile:String; +begin + if CDS_MJID.IsEmpty then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set PrtAgnFlag=1,PrtAgnDate=getdate(),PrtAgnPerson='''+Trim(DName)+''''); + sql.Add(' where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + with ADOQueryPrint do + begin + Close; + SQL.Clear; + sql.Add('select A.MJID,A.MJXH,Qty=A.MJLen,QtyUnit=A.MJTypeOther,B.orderNo,D.GangNo,PRTColorEng=E.Note,'); + sql.Add(' MPRTCodeNameEng=(select Top 1 F.CYEName from CP_YDang F where F.CYNo=B.OrdDefStr1),C.SLbName'); + sql.Add(',B.MPRTCF,C.SOrddefstr4,C.*,A.* '); + sql.Add(' from WFB_MJJY A') ; + sql.Add(' inner join JYOrder_Main B On A.Mainid=B.Mainid'); + sql.Add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); + sql.Add(' inner join KH_Zdy E on C.PRTColor=E.ZdyName and E.Type=''OrdColor'' '); + sql.Add(' inner join JYOrder_Sub_AnPai D on A.APId=D.APId '); + SQL.Add(' where A.MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + if Trim(ADOQueryPrint.fieldbyname('SLbName').AsString)<>'' then + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\'+Trim(ADOQueryPrint.fieldbyname('SLbName').AsString)+'.rmf' + else + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\ͨӢıǩ.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + //RM2.ShowReport; + RM2.PrintReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ǩ.rmf'),'ʾ',0); + end; + +end; + +procedure TfrmMJManageNewFD.SpeedButton49Click(Sender: TObject); +begin + Panel3.Visible:=False; +end; + +procedure TfrmMJManageNewFD.APIDKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Sub_AnPai where APID='''+Trim(APID.Text)+''''); + Open; + end; + if ADOTmp.IsEmpty=False then + begin + Label2.Visible:=True; + Label2.Caption:=Trim(ADOTmp.fieldbyname('GangNo').AsString); + FAPID:=Trim(APID.Text); + FMainId:=Trim(ADOTmp.fieldbyname('MainId').AsString); + FSubId:=Trim(ADOTmp.fieldbyname('SubId').AsString); + Label9.Caption:=Trim(ADOTmp.fieldbyname('AOrddefstr3').AsString); + Label13.Caption:=Trim(ADOTmp.fieldbyname('AOrddefstr2').AsString); + Label19.Caption:=Trim(Label9.Caption); + Label20.Caption:=Trim(Label9.Caption); + Label7.Caption:=Trim(Label9.Caption); + end else + begin + Application.MessageBox('!','ʾ',0); + Label2.Visible:=False; + Label2.Caption:=''; + APID.Text:=''; + FAPID:=''; + FMainId:=''; + FSubId:=''; + Exit; + end; + {if Trim(SCXFlag)<>Trim(ADOTmp.fieldbyname('AOrdDefNote29').AsString) then + begin + APID.Text:=''; + if Application.MessageBox('̨뵱ǰ̨һ,'+#13+'Ƿ飿','ʾ',32+4)<>IDYES then + begin + Label2.Visible:=False; + Label2.Caption:=''; + FAPID:=''; + FMainId:=''; + FSubId:=''; + Exit; + end; + + end; } + APID.Text:=''; + BTAdd.Click; + end; +end; + +procedure TfrmMJManageNewFD.Edit1Click(Sender: TObject); +var + i:Integer; +begin + Panel3.Visible:=True; + with Panel3 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=Trim(TEdit(Sender).Name); + end; + end; + end; +end; + +procedure TfrmMJManageNewFD.Edit2Change(Sender: TObject); +var + mvalue:Double; +begin + if Trim(Edit1.Text)<>'' then + begin + if TryStrToFloat(Edit1.Text,mvalue)=False then + begin + Application.MessageBox('Ƿ!','ʾ',0); + Exit; + end; + end else + begin + Exit; + end; + if Trim(Edit2.Text)<>'' then + begin + if TryStrToFloat(Edit2.Text,mvalue)=False then + begin + Application.MessageBox('Ƿ!','ʾ',0); + Exit; + end; + end else + begin + Exit; + end; + CDQty.Text:=FloatToStr(StrToFloat(Edit2.Text)-StrToFloat(Edit1.Text)); +end; + +procedure TfrmMJManageNewFD.Edit3Click(Sender: TObject); +begin + if Trim(Edit3.Text)='' then + begin + Edit3.Text:=''; + Edit4.Text:=''; + end else + begin + Edit3.Text:=''; + Edit4.Text:=''; + end; +end; + +procedure TfrmMJManageNewFD.Edit4Click(Sender: TObject); +begin + if Trim(Edit4.Text)='' then + begin + Edit4.Text:=''; + Edit3.Text:=''; + end else + begin + Edit4.Text:=''; + Edit3.Text:=''; + end; +end; + +end. diff --git a/打卷检验管理/U_MJManageNewFDNew.dfm b/打卷检验管理/U_MJManageNewFDNew.dfm new file mode 100644 index 0000000..e00c9b5 --- /dev/null +++ b/打卷检验管理/U_MJManageNewFDNew.dfm @@ -0,0 +1,3055 @@ +object frmMJManageNewFDNewSF: TfrmMJManageNewFDNewSF + Left = 322 + Top = 165 + Width = 1366 + Height = 754 + Caption = #25104#21697#26816#39564 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClick = FormClick + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object cxGrid3: TcxGrid + Left = 0 + Top = 87 + Width = 214 + Height = 628 + Align = alLeft + TabOrder = 0 + object Tv3: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v3Column2 + end + item + Kind = skSum + Column = v3Column4 + end + item + Kind = skSum + Column = v3Column5 + end + item + Kind = skCount + Column = v3Column1 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = cxStyle4 + Styles.IncSearch = cxStyle4 + Styles.Selection = cxStyle4 + object v3Column1: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'MJXH' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle4 + Styles.Header = cxStyle4 + Width = 40 + end + object v3Column2: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'MJLen' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle3 + Styles.Header = cxStyle3 + Width = 42 + end + object v3Column4: TcxGridDBColumn + Caption = #27611#37325 + DataBinding.FieldName = 'MJMaoZ' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle5 + Styles.Footer = cxStyle5 + Styles.Header = cxStyle5 + Width = 50 + end + object v3Column5: TcxGridDBColumn + Caption = #20928#37325 + DataBinding.FieldName = 'MJQty4' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Styles.Footer = cxStyle3 + Styles.Header = cxStyle3 + Width = 50 + end + object v3Column6: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'mjstr4' + HeaderGlyphAlignmentHorz = taCenter + Styles.Content = cxStyle5 + Styles.Header = cxStyle5 + Width = 40 + end + object v3Column3: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'MJType' + Options.Editing = False + Styles.Content = cxStyle5 + Styles.Header = cxStyle5 + Width = 40 + end + object cxGridDBColumn1: TcxGridDBColumn + Caption = #21367#26465#30721 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle5 + Styles.Header = cxStyle5 + Width = 100 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv3 + end + end + object ScrollBox1: TScrollBox + Left = 633 + Top = 87 + Width = 717 + Height = 628 + Align = alClient + Color = clWhite + ParentColor = False + TabOrder = 3 + object SpeedButton13: TSpeedButton + Left = 7 + Top = 3 + Width = 50 + Height = 50 + Caption = #23567#40657#28857 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton14: TSpeedButton + Left = 63 + Top = 3 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton15: TSpeedButton + Left = 119 + Top = 3 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton16: TSpeedButton + Left = 175 + Top = 3 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton17: TSpeedButton + Left = 231 + Top = 3 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton18: TSpeedButton + Left = 287 + Top = 3 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton22: TSpeedButton + Left = 7 + Top = 61 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton23: TSpeedButton + Left = 63 + Top = 61 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton24: TSpeedButton + Left = 119 + Top = 61 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton25: TSpeedButton + Left = 175 + Top = 61 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton26: TSpeedButton + Left = 231 + Top = 61 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton29: TSpeedButton + Left = 287 + Top = 61 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton31: TSpeedButton + Left = 7 + Top = 119 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton32: TSpeedButton + Left = 63 + Top = 119 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton33: TSpeedButton + Left = 119 + Top = 119 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton34: TSpeedButton + Left = 175 + Top = 119 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton37: TSpeedButton + Left = 231 + Top = 119 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton38: TSpeedButton + Left = 287 + Top = 119 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton40: TSpeedButton + Left = 7 + Top = 177 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton41: TSpeedButton + Left = 63 + Top = 177 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton42: TSpeedButton + Left = 119 + Top = 177 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton45: TSpeedButton + Left = 175 + Top = 177 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton46: TSpeedButton + Left = 231 + Top = 177 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton47: TSpeedButton + Left = 287 + Top = 177 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton50: TSpeedButton + Left = 7 + Top = 235 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton51: TSpeedButton + Left = 63 + Top = 235 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton54: TSpeedButton + Left = 119 + Top = 235 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton55: TSpeedButton + Left = 175 + Top = 235 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton56: TSpeedButton + Left = 231 + Top = 235 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton57: TSpeedButton + Left = 287 + Top = 235 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton59: TSpeedButton + Left = 7 + Top = 291 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton62: TSpeedButton + Left = 63 + Top = 291 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton63: TSpeedButton + Left = 119 + Top = 291 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton64: TSpeedButton + Left = 175 + Top = 291 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton65: TSpeedButton + Left = 231 + Top = 291 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton66: TSpeedButton + Left = 287 + Top = 291 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton70: TSpeedButton + Left = 7 + Top = 347 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton71: TSpeedButton + Left = 63 + Top = 347 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton72: TSpeedButton + Left = 119 + Top = 347 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton73: TSpeedButton + Left = 175 + Top = 347 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton74: TSpeedButton + Left = 231 + Top = 347 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton75: TSpeedButton + Left = 287 + Top = 347 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton20: TSpeedButton + Left = 7 + Top = 403 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton27: TSpeedButton + Left = 63 + Top = 403 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton28: TSpeedButton + Left = 119 + Top = 403 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton35: TSpeedButton + Left = 175 + Top = 403 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton36: TSpeedButton + Left = 231 + Top = 403 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton43: TSpeedButton + Left = 287 + Top = 403 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton52: TSpeedButton + Left = 7 + Top = 459 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton53: TSpeedButton + Left = 63 + Top = 459 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton60: TSpeedButton + Left = 119 + Top = 459 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton61: TSpeedButton + Left = 175 + Top = 459 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton68: TSpeedButton + Left = 231 + Top = 459 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton69: TSpeedButton + Left = 287 + Top = 459 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton77: TSpeedButton + Left = 7 + Top = 515 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton78: TSpeedButton + Left = 63 + Top = 515 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton79: TSpeedButton + Left = 119 + Top = 515 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton80: TSpeedButton + Left = 175 + Top = 515 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton81: TSpeedButton + Left = 231 + Top = 515 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton82: TSpeedButton + Left = 287 + Top = 515 + Width = 50 + Height = 50 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + end + object Panel2: TPanel + Left = 428 + Top = 87 + Width = 205 + Height = 628 + Align = alLeft + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clWhite + TabOrder = 2 + object Label9: TLabel + Left = 152 + Top = 78 + Width = 15 + Height = 22 + Caption = 'M' + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + OnClick = Label9Click + end + object Label3: TLabel + Left = 144 + Top = 383 + Width = 26 + Height = 22 + Caption = 'cm' + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label4: TLabel + Left = 152 + Top = 185 + Width = 28 + Height = 22 + Caption = 'KG' + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label5: TLabel + Left = 8 + Top = 77 + Width = 42 + Height = 20 + Caption = #38271#24230 + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 8 + Top = 383 + Width = 42 + Height = 20 + Caption = #24133#23485 + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 8 + Top = 185 + Width = 42 + Height = 20 + Caption = #27611#37325 + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 8 + Top = 296 + Width = 42 + Height = 20 + Caption = #27491#21697 + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 92 + Top = 296 + Width = 40 + Height = 19 + Caption = #27425#21697 + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 358 + Top = 54 + Width = 15 + Height = 22 + Caption = 'M' + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label14: TLabel + Left = 207 + Top = 58 + Width = 60 + Height = 23 + Caption = #21407#25968#37327 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + Visible = False + end + object Label15: TLabel + Left = 4 + Top = 206 + Width = 5 + Height = 22 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + Visible = False + end + object Label22: TLabel + Left = 144 + Top = 424 + Width = 36 + Height = 22 + Caption = 'g/'#13217 + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label23: TLabel + Left = 8 + Top = 423 + Width = 42 + Height = 20 + Caption = #20811#37325 + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label27: TLabel + Left = 243 + Top = 437 + Width = 40 + Height = 23 + Caption = #36192#36865 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label26: TLabel + Left = 8 + Top = 339 + Width = 42 + Height = 20 + Caption = #20986#32440 + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label29: TLabel + Left = 204 + Top = 14 + Width = 58 + Height = 23 + Caption = #26588' '#21495 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + Visible = False + end + object Label30: TLabel + Left = 8 + Top = 113 + Width = 42 + Height = 20 + Caption = #30382#37325 + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label31: TLabel + Left = 152 + Top = 149 + Width = 28 + Height = 22 + Caption = 'KG' + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label32: TLabel + Left = 8 + Top = 149 + Width = 42 + Height = 20 + Caption = #20928#37325 + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label33: TLabel + Left = 152 + Top = 114 + Width = 28 + Height = 22 + Caption = 'KG' + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label34: TLabel + Left = 90 + Top = 342 + Width = 40 + Height = 19 + Caption = #20221#25968 + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label36: TLabel + Left = 8 + Top = 5 + Width = 42 + Height = 20 + Caption = #21367#21495 + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label37: TLabel + Left = 8 + Top = 41 + Width = 42 + Height = 20 + Caption = #32568#21495 + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label39: TLabel + Left = 8 + Top = 221 + Width = 42 + Height = 20 + Caption = #31995#25968 + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label40: TLabel + Left = 220 + Top = 335 + Width = 80 + Height = 22 + Caption = #26579#21378#32568#21495 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label45: TLabel + Left = 247 + Top = 138 + Width = 40 + Height = 23 + Caption = #21253#21495 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label28: TLabel + Left = 10 + Top = 260 + Width = 42 + Height = 20 + Caption = #21253#21495 + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object MJFK: TEdit + Left = 51 + Top = 377 + Width = 90 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 16 + OnClick = MJXHClick + OnKeyPress = MJstr3KeyPress + end + object MJLen: TEdit + Left = 57 + Top = 73 + Width = 90 + Height = 36 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -28 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + OnChange = MJLenChange + OnClick = Edit1Click + OnKeyDown = MJQty4KeyDown + OnKeyPress = MJstr3KeyPress + end + object MJMaoZ: TEdit + Left = 57 + Top = 181 + Width = 90 + Height = 36 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -28 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + OnChange = MJMaoZChange + OnClick = Edit1Click + OnKeyPress = MJstr3KeyPress + end + object BTPrint: TButton + Left = 10 + Top = 460 + Width = 171 + Height = 93 + Caption = #25552#20132 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 19 + OnClick = BTPrintClick + end + object Edit3: TEdit + Left = 52 + Top = 290 + Width = 39 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 11 + Text = #8730 + OnClick = Edit3Click + OnKeyPress = MJstr3KeyPress + end + object Edit4: TEdit + Left = 130 + Top = 290 + Width = 40 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 12 + OnClick = Edit4Click + OnKeyPress = MJstr3KeyPress + end + object MJQty1: TEdit + Left = 261 + Top = 49 + Width = 90 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + TabOrder = 3 + Visible = False + OnClick = Edit1Click + OnKeyPress = MJstr3KeyPress + end + object MJSJKZ: TEdit + Left = 51 + Top = 418 + Width = 90 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 18 + OnClick = MJXHClick + OnKeyPress = MJstr3KeyPress + end + object MJQty2: TEdit + Left = 289 + Top = 428 + Width = 90 + Height = 36 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -28 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 17 + OnChange = MJQty2Change + OnClick = Edit1Click + OnKeyDown = MJQty4KeyDown + OnKeyPress = MJstr3KeyPress + end + object Edit6: TEdit + Left = 52 + Top = 333 + Width = 40 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 14 + Text = #8730 + OnClick = Edit6Click + OnKeyPress = MJstr3KeyPress + end + object MJstr3: TEdit + Left = 261 + Top = 9 + Width = 90 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + TabOrder = 1 + Visible = False + OnClick = Edit1Click + OnKeyPress = MJstr3KeyPress + end + object MJQty3: TEdit + Left = 57 + Top = 109 + Width = 90 + Height = 36 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -28 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + OnChange = MJQty3Change + OnClick = Edit1Click + OnKeyDown = MJQty4KeyDown + OnKeyPress = MJstr3KeyPress + end + object MJQty4: TEdit + Left = 57 + Top = 145 + Width = 90 + Height = 36 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -28 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + OnChange = MJQty4Change + OnClick = Edit1Click + OnKeyDown = MJQty4KeyDown + OnKeyPress = MJQty4KeyPress + end + object ComboBox1: TComboBox + Left = 132 + Top = 334 + Width = 45 + Height = 40 + Style = csDropDownList + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -28 + Font.Name = 'Times New Roman' + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ItemHeight = 32 + ItemIndex = 0 + ParentFont = False + TabOrder = 15 + Text = '1' + Items.Strings = ( + '1' + '2' + '3' + '4') + end + object MJStr4: TEdit + Left = 57 + Top = 37 + Width = 90 + Height = 36 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -28 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + TabOrder = 2 + OnClick = MJXHClick + OnExit = MJStr4Exit + OnKeyPress = MJstr3KeyPress + end + object MJXH: TEdit + Left = 57 + Top = 1 + Width = 90 + Height = 36 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -28 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = MJXHClick + OnKeyPress = MJstr3KeyPress + end + object kmxs: TEdit + Left = 57 + Top = 217 + Width = 90 + Height = 36 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -28 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + OnClick = Edit1Click + OnKeyDown = MJQty4KeyDown + OnKeyPress = MJstr3KeyPress + end + object MJstr5: TEdit + Left = 285 + Top = 322 + Width = 90 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 13 + OnClick = MJXHClick + OnExit = MJStr4Exit + OnKeyPress = MJstr3KeyPress + end + object baoNo: TEdit + Left = 57 + Top = 253 + Width = 90 + Height = 36 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -28 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + OnClick = Edit1Click + OnKeyPress = MJstr3KeyPress + end + object BaoID: TEdit + Left = 251 + Top = 252 + Width = 121 + Height = 20 + TabOrder = 10 + end + object Button7: TButton + Left = 10 + Top = 556 + Width = 171 + Height = 53 + Caption = #25171#21253#26631#31614 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 20 + OnClick = Button7Click + end + end + object MovePanel1: TMovePanel + Left = 634 + Top = 91 + Width = 339 + Height = 236 + BevelInner = bvLowered + Color = clSkyBlue + TabOrder = 4 + Visible = False + object Label17: TLabel + Left = 7 + Top = 24 + Width = 80 + Height = 19 + Caption = #36215#22987#20301#32622 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 151 + Top = 24 + Width = 20 + Height = 19 + Caption = #21040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label19: TLabel + Left = 10 + Top = 2 + Width = 11 + Height = 19 + Caption = 'M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label20: TLabel + Left = 243 + Top = 24 + Width = 11 + Height = 19 + Caption = 'M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label21: TLabel + Left = 262 + Top = 24 + Width = 77 + Height = 19 + Caption = 'Label21' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 157 + Top = 61 + Width = 11 + Height = 19 + Caption = 'M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 7 + Top = 61 + Width = 73 + Height = 19 + Caption = #38271' '#24230 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label41: TLabel + Left = 191 + Top = 61 + Width = 40 + Height = 19 + Caption = #36317#36793 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label42: TLabel + Left = 301 + Top = 61 + Width = 22 + Height = 19 + Caption = 'cm' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Edit1: TEdit + Left = 78 + Top = 20 + Width = 73 + Height = 32 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnChange = Edit2Change + OnClick = Edit1Click + end + object Button1: TButton + Left = 138 + Top = 186 + Width = 67 + Height = 43 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + OnClick = Button1Click + end + object Button4: TButton + Left = 258 + Top = 186 + Width = 64 + Height = 42 + Caption = #20851#38381 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + OnClick = Button4Click + end + object Edit2: TEdit + Left = 170 + Top = 20 + Width = 72 + Height = 32 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnChange = Edit2Change + OnClick = Edit1Click + end + object CDQty: TEdit + Left = 78 + Top = 57 + Width = 73 + Height = 32 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + end + object RadioGroup1: TRadioGroup + Left = 10 + Top = 83 + Width = 308 + Height = 95 + Columns = 2 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [] + Items.Strings = ( + '1' + '2' + '3' + '4') + ParentFont = False + TabOrder = 4 + end + object Button2: TButton + Left = 11 + Top = 186 + Width = 75 + Height = 42 + Caption = #21462#28040#36873#25321 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + OnClick = Button2Click + end + object Edit8: TEdit + Left = 226 + Top = 57 + Width = 73 + Height = 32 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnChange = Edit2Change + OnClick = Edit1Click + end + end + object Panel7: TPanel + Left = 214 + Top = 87 + Width = 214 + Height = 628 + Align = alLeft + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 1 + object cxGrid2: TcxGrid + Left = 2 + Top = 2 + Width = 210 + Height = 303 + Align = alClient + TabOrder = 0 + object Tv2: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + OnCellDblClick = Tv2CellDblClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column1 + end + item + Kind = skSum + Column = Tv2CDQty + end + item + Kind = skSum + Column = v2Column3 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Footer = cxStyle3 + Styles.Header = cxStyle1 + object tv2CDType: TcxGridDBColumn + Caption = #30133#28857 + DataBinding.FieldName = 'CDName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle4 + Styles.Header = cxStyle4 + Width = 52 + end + object tv2CDWZ: TcxGridDBColumn + Caption = #36215 + DataBinding.FieldName = 'CDBeg' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle1 + Styles.Header = cxStyle1 + Width = 37 + end + object v2Column2: TcxGridDBColumn + Caption = #27490 + DataBinding.FieldName = 'CDend' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Styles.Content = cxStyle1 + Styles.Header = cxStyle1 + Width = 38 + end + object Tv2CDQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'CDQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = Tv2CDQtyPropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle3 + Styles.Header = cxStyle3 + Width = 37 + end + object Tv2CDReason: TcxGridDBColumn + Caption = #21407#22240 + DataBinding.FieldName = 'CDReason' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 60 + end + object v2Column1: TcxGridDBColumn + DataBinding.FieldName = 'CDQty' + Visible = False + Width = 60 + end + object v2Column3: TcxGridDBColumn + Caption = #25187#20998 + DataBinding.FieldName = 'KouFenQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle5 + Styles.Header = cxStyle5 + Width = 38 + end + object v2Column4: TcxGridDBColumn + Caption = #36317#36793 + DataBinding.FieldName = 'JBQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 42 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object Panel8: TPanel + Left = 2 + Top = 305 + Width = 210 + Height = 28 + Align = alBottom + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + end + object AOrdDefNote1: TRichEdit + Left = 2 + Top = 333 + Width = 210 + Height = 293 + Align = alBottom + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -13 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + ScrollBars = ssVertical + TabOrder = 2 + end + end + object Panel3: TPanel + Left = 634 + Top = 328 + Width = 353 + Height = 334 + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 5 + Visible = False + object SpeedButton1: TSpeedButton + Left = 5 + Top = 256 + Width = 161 + Height = 72 + Caption = '0' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton2: TSpeedButton + Left = 5 + Top = 173 + Width = 69 + Height = 72 + Caption = '1' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton3: TSpeedButton + Left = 96 + Top = 173 + Width = 70 + Height = 72 + Caption = '2' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton4: TSpeedButton + Left = 187 + Top = 173 + Width = 70 + Height = 72 + Caption = '3' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton5: TSpeedButton + Left = 5 + Top = 90 + Width = 69 + Height = 72 + Caption = '4' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton6: TSpeedButton + Left = 96 + Top = 90 + Width = 70 + Height = 72 + Caption = '5' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton7: TSpeedButton + Left = 187 + Top = 90 + Width = 70 + Height = 72 + Caption = '6' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton8: TSpeedButton + Left = 5 + Top = 6 + Width = 69 + Height = 72 + Caption = '7' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton9: TSpeedButton + Left = 96 + Top = 6 + Width = 70 + Height = 72 + Caption = '8' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton10: TSpeedButton + Left = 187 + Top = 6 + Width = 70 + Height = 72 + Caption = '9' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton11: TSpeedButton + Tag = 9 + Left = 187 + Top = 256 + Width = 70 + Height = 72 + Caption = '.' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton12: TSpeedButton + Left = 278 + Top = 6 + Width = 71 + Height = 72 + Caption = #8592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton12Click + end + object SpeedButton49: TSpeedButton + Tag = 9 + Left = 278 + Top = 90 + Width = 70 + Height = 237 + Caption = #38544#34255 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -28 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton49Click + end + end + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1350 + Height = 30 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 105 + Caption = 'ToolBar1' + Color = clSkyBlue + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 6 + object Panel9: TPanel + Left = 0 + Top = 0 + Width = 557 + Height = 30 + BevelOuter = bvNone + Color = clSkyBlue + TabOrder = 0 + object Label49: TLabel + Left = 337 + Top = 7 + Width = 84 + Height = 20 + Caption = #21367#21495#33539#22260 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label50: TLabel + Left = 479 + Top = 3 + Width = 14 + Height = 25 + Caption = '-' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -25 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label1: TLabel + Left = 8 + Top = 3 + Width = 48 + Height = 23 + Caption = #25195#25551 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -23 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object MaxRollNo: TEdit + Left = 493 + Top = 1 + Width = 57 + Height = 28 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Edit1Click + OnKeyPress = MaxRollNoKeyPress + end + object MinRollNo: TEdit + Left = 422 + Top = 1 + Width = 57 + Height = 28 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = Edit1Click + OnKeyPress = MaxRollNoKeyPress + end + object APID: TEdit + Left = 58 + Top = 3 + Width = 153 + Height = 31 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -23 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 2 + OnClick = APIDClick + OnKeyPress = APIDKeyPress + end + object Button6: TButton + Left = 213 + Top = 4 + Width = 61 + Height = 26 + Caption = #36873#25321 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -22 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = Button6Click + end + object Button5: TButton + Left = 273 + Top = 4 + Width = 64 + Height = 26 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + OnClick = Button3Click + end + end + object ToolButton2: TToolButton + Left = 557 + Top = 0 + AutoSize = True + Caption = ' '#20462#25913' ' + ImageIndex = 54 + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 666 + Top = 0 + AutoSize = True + Caption = ' '#21024#38500' ' + ImageIndex = 48 + OnClick = ToolButton3Click + end + object TBCD: TToolButton + Left = 765 + Top = 0 + AutoSize = True + Caption = ' '#37325#25171' ' + ImageIndex = 132 + OnClick = TBCDClick + end + object ToolButton4: TToolButton + Left = 864 + Top = 0 + AutoSize = True + Caption = #26085#24535 + ImageIndex = 72 + OnClick = ToolButton4Click + end + object TBClose: TToolButton + Left = 943 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel6: TPanel + Left = 0 + Top = 30 + Width = 1350 + Height = 57 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 7 + object Label2: TLabel + Left = 684 + Top = 4 + Width = 40 + Height = 19 + Caption = #32568#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label16: TLabel + Left = 1036 + Top = 42 + Width = 42 + Height = 12 + Caption = 'Label16' + Visible = False + end + object Label24: TLabel + Left = 7 + Top = 4 + Width = 60 + Height = 19 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label25: TLabel + Left = 346 + Top = 4 + Width = 40 + Height = 19 + Caption = #39068#33394 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label35: TLabel + Left = 38 + Top = 30 + Width = 40 + Height = 19 + Caption = #30721#34920 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label38: TLabel + Left = 178 + Top = 4 + Width = 40 + Height = 19 + Caption = #21697#21517 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label44: TLabel + Left = 154 + Top = 30 + Width = 60 + Height = 19 + Caption = #30005#23376#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label46: TLabel + Left = 763 + Top = 30 + Width = 80 + Height = 19 + Caption = #21367#21495#20498#24207 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label47: TLabel + Left = 515 + Top = 4 + Width = 60 + Height = 19 + Caption = #33457#22411#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label48: TLabel + Left = 283 + Top = 30 + Width = 100 + Height = 19 + Caption = #27611#37325#36716#38271#24230 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label51: TLabel + Left = 691 + Top = 30 + Width = 40 + Height = 19 + Caption = #23450#38271 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label52: TLabel + Left = 847 + Top = 30 + Width = 40 + Height = 19 + Caption = #21367#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label43: TLabel + Left = 463 + Top = 30 + Width = 120 + Height = 19 + Caption = #20013#25991#23383#27573#26631#31614 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BTAdd: TButton + Left = 1070 + Top = 8 + Width = 46 + Height = 25 + Caption = #26032#22686 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + OnClick = BTAddClick + end + object BTEdit: TButton + Left = 1038 + Top = 8 + Width = 33 + Height = 25 + Caption = #20462#25913 + TabOrder = 2 + Visible = False + OnClick = BTEditClick + end + object Button3: TButton + Left = 974 + Top = 7 + Width = 64 + Height = 26 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + OnClick = Button3Click + end + object Edit7: TEdit + Left = 9 + Top = 27 + Width = 28 + Height = 27 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 1 + Text = #8730 + Visible = False + OnClick = Edit7Click + end + object Edit9: TEdit + Left = 122 + Top = 27 + Width = 28 + Height = 27 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 6 + Text = #8730 + Visible = False + OnClick = Edit9Click + end + object Edit10: TEdit + Left = 735 + Top = 27 + Width = 28 + Height = 27 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + ReadOnly = True + TabOrder = 0 + Visible = False + OnClick = Edit10Click + end + object Edit11: TEdit + Left = 254 + Top = 27 + Width = 28 + Height = 27 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + ReadOnly = True + TabOrder = 5 + OnClick = Edit11Click + end + object Edit12: TEdit + Left = 660 + Top = 27 + Width = 28 + Height = 27 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + ReadOnly = True + TabOrder = 7 + Visible = False + OnClick = Edit12Click + end + object ComboBox2: TComboBox + Left = 888 + Top = 24 + Width = 74 + Height = 32 + Style = csDropDownList + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ItemHeight = 24 + ItemIndex = 0 + ParentFont = False + TabOrder = 8 + Text = #33258#21160 + Items.Strings = ( + #33258#21160 + #25163#36755) + end + object Edit5: TEdit + Left = 429 + Top = 26 + Width = 28 + Height = 27 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + ReadOnly = True + TabOrder = 9 + OnClick = Edit5Click + end + end + object cxStyleRepository1: TcxStyleRepository + Left = 732 + Top = 144 + PixelsPerInch = 96 + object cxStyle1: TcxStyle + AssignedValues = [svColor, svFont] + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle2: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Pitch = fpFixed + Font.Style = [fsBold] + TextColor = clDefault + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + PopupMenus = <> + Left = 164 + Top = 264 + end + object DataSource1: TDataSource + DataSet = Order_MJ + Left = 116 + Top = 160 + end + object Order_MJ: TClientDataSet + Aggregates = <> + Params = <> + Left = 80 + Top = 160 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 120 + Top = 196 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 84 + Top = 256 + end + object ADOTmp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 48 + Top = 256 + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 304 + Top = 448 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 348 + Top = 448 + ReportData = {} + end + object DataSource2: TDataSource + DataSet = CDS_MJCD + Left = 308 + Top = 168 + end + object CDS_MJCD: TClientDataSet + Aggregates = <> + Params = <> + Left = 272 + Top = 168 + end + object DataSource3: TDataSource + DataSet = CDS_MJID + Left = 1088 + Top = 584 + end + object CDS_MJID: TClientDataSet + Aggregates = <> + Params = <> + Left = 1040 + Top = 576 + end + object Timer1: TTimer + Enabled = False + Interval = 5000 + OnTimer = Timer1Timer + Left = 960 + Top = 576 + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 260 + Top = 448 + end + object cxStyleRepository2: TcxStyleRepository + Left = 128 + Top = 132 + PixelsPerInch = 96 + object cxStyle3: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = clBtnFace + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlue + end + end + object cxStyleRepository3: TcxStyleRepository + Left = 8 + Top = 128 + PixelsPerInch = 96 + object cxStyle4: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clRed + end + end + object cxStyleRepository4: TcxStyleRepository + Left = 40 + Top = 132 + PixelsPerInch = 96 + object cxStyle5: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clOlive + end + end + object cxStyleRepository5: TcxStyleRepository + Left = 88 + Top = 140 + PixelsPerInch = 96 + object cxStyle6: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + end + object cxGridPopupMenu2: TcxGridPopupMenu + PopupMenus = <> + Left = 740 + Top = 551 + end + object ADOQueryMainDSC: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + SQL.Strings = ( + 'select A.*,C.OrderNo,B.SWFBColor,B.SWFBHW,B.SWFBCodeName,' + ' B.SWFBCode,B.SWFBKZ,B.WKMS,B.KZBig,B.KZSmal,' + + ' SCMQty=(select isnull(Sum(MJLen),0) from WFB_MJJY WM wher' + + 'e WM.APId=A.APId and len(WM.MJID)>8),' + + ' Case when A.OrderQtyM-(select isnull(Sum(MJLen),0) from W' + + 'FB_MJJY WM where WM.APId=A.APId )>0 ' + + ' then A.OrderQtyM-(select isnull(Sum(MJLen),0) fr' + + 'om WFB_MJJY WM where WM.APId=A.APId ) else 0 end as WSCMQty' + 'from WFBOrder_Sub_AnPai A ' + 'inner join WFBOrder_Sub B on A.SubId=B.SubId' + 'inner join WFBOrder_Main C on A.MainId=C.MainId' + + 'where C.ChkStatus='#39#23457#26680#36890#36807#39' and RTrim(isnull(A.SCStatus,'#39#39'))<>'#39#24050#23436#25104#39 + + ' ' + 'and isnull(B.AnPaiChkStatus,'#39#39')='#39#23457#26680#36890#36807#39' and A.SCXDFlag=1' + '') + Left = 896 + Top = 580 + end + object ADOQueryPrint1: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 256 + Top = 540 + end + object RMDB_Main1: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint1 + Left = 296 + Top = 544 + end + object RM3: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main1 + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 344 + Top = 544 + ReportData = {} + end +end diff --git a/打卷检验管理/U_MJManageNewFDNew.pas b/打卷检验管理/U_MJManageNewFDNew.pas new file mode 100644 index 0000000..e93b2d0 --- /dev/null +++ b/打卷检验管理/U_MJManageNewFDNew.pas @@ -0,0 +1,3010 @@ +unit U_MJManageNewFDNew; + +interface + +uses + Windows, Messages, SysUtils, Variants, math, Classes, Graphics, Controls, + Forms, Dialogs, StdCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, RM_Common, RM_Class, RM_GridReport, + RM_System, RM_Dataset, ADODB, DBClient, cxGridCustomPopupMenu, cxGridPopupMenu, + ExtCtrls, ComCtrls, ToolWin, cxTextEdit, Buttons, cxSplitter, cxCheckBox, + MovePanel, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, ShellAPI, + dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, + dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle, + dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, + dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, + dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins, + dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, + dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, + dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, + dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, + dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, + dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, + dxSkinsDefaultPainters, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, + dxSkinXmas2008Blue, dxSkinscxPCPainter; + +type + TfrmMJManageNewFDNewSF = class(TForm) + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxStyle2: TcxStyle; + cxGridPopupMenu1: TcxGridPopupMenu; + DataSource1: TDataSource; + Order_MJ: TClientDataSet; + ADOQueryMain: TADOQuery; + ADOCmd: TADOQuery; + ADOTmp: TADOQuery; + RMDB_Main: TRMDBDataSet; + RM2: TRMGridReport; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + DataSource2: TDataSource; + CDS_MJCD: TClientDataSet; + DataSource3: TDataSource; + CDS_MJID: TClientDataSet; + Timer1: TTimer; + ADOQueryPrint: TADOQuery; + ScrollBox1: TScrollBox; + SpeedButton13: TSpeedButton; + SpeedButton14: TSpeedButton; + SpeedButton15: TSpeedButton; + SpeedButton16: TSpeedButton; + SpeedButton17: TSpeedButton; + SpeedButton18: TSpeedButton; + SpeedButton22: TSpeedButton; + SpeedButton23: TSpeedButton; + SpeedButton24: TSpeedButton; + SpeedButton25: TSpeedButton; + SpeedButton26: TSpeedButton; + SpeedButton29: TSpeedButton; + SpeedButton31: TSpeedButton; + SpeedButton32: TSpeedButton; + SpeedButton33: TSpeedButton; + SpeedButton34: TSpeedButton; + SpeedButton37: TSpeedButton; + SpeedButton38: TSpeedButton; + SpeedButton40: TSpeedButton; + SpeedButton41: TSpeedButton; + SpeedButton42: TSpeedButton; + cxStyleRepository2: TcxStyleRepository; + cxStyle3: TcxStyle; + cxStyleRepository3: TcxStyleRepository; + cxStyle4: TcxStyle; + cxStyleRepository4: TcxStyleRepository; + cxStyle5: TcxStyle; + cxStyleRepository5: TcxStyleRepository; + cxStyle6: TcxStyle; + cxGridPopupMenu2: TcxGridPopupMenu; + ADOQueryMainDSC: TADOQuery; + SpeedButton45: TSpeedButton; + SpeedButton46: TSpeedButton; + SpeedButton47: TSpeedButton; + SpeedButton50: TSpeedButton; + SpeedButton51: TSpeedButton; + SpeedButton54: TSpeedButton; + SpeedButton55: TSpeedButton; + SpeedButton56: TSpeedButton; + SpeedButton57: TSpeedButton; + SpeedButton59: TSpeedButton; + SpeedButton62: TSpeedButton; + SpeedButton63: TSpeedButton; + SpeedButton64: TSpeedButton; + SpeedButton65: TSpeedButton; + SpeedButton66: TSpeedButton; + SpeedButton70: TSpeedButton; + SpeedButton71: TSpeedButton; + SpeedButton72: TSpeedButton; + SpeedButton73: TSpeedButton; + SpeedButton74: TSpeedButton; + SpeedButton75: TSpeedButton; + Panel2: TPanel; + Label9: TLabel; + MJFK: TEdit; + Label3: TLabel; + MJLen: TEdit; + Label4: TLabel; + MJMaoZ: TEdit; + Label5: TLabel; + Label6: TLabel; + Label11: TLabel; + BTPrint: TButton; + Edit3: TEdit; + Label10: TLabel; + Edit4: TEdit; + Label12: TLabel; + Label13: TLabel; + Label14: TLabel; + MJQty1: TEdit; + Label15: TLabel; + Label22: TLabel; + Label23: TLabel; + MJSJKZ: TEdit; + Panel3: TPanel; + SpeedButton1: TSpeedButton; + SpeedButton2: TSpeedButton; + SpeedButton3: TSpeedButton; + SpeedButton4: TSpeedButton; + SpeedButton5: TSpeedButton; + SpeedButton6: TSpeedButton; + SpeedButton7: TSpeedButton; + SpeedButton8: TSpeedButton; + SpeedButton9: TSpeedButton; + SpeedButton10: TSpeedButton; + SpeedButton11: TSpeedButton; + SpeedButton12: TSpeedButton; + SpeedButton49: TSpeedButton; + v3Column1: TcxGridDBColumn; + v3Column2: TcxGridDBColumn; + v3Column3: TcxGridDBColumn; + Label27: TLabel; + MJQty2: TEdit; + Label26: TLabel; + Edit6: TEdit; + Label29: TLabel; + MJstr3: TEdit; + Label30: TLabel; + MJQty3: TEdit; + Label31: TLabel; + Label32: TLabel; + MJQty4: TEdit; + Label33: TLabel; + MovePanel1: TMovePanel; + Label17: TLabel; + Label18: TLabel; + Label19: TLabel; + Label20: TLabel; + Label21: TLabel; + Label7: TLabel; + Label8: TLabel; + Edit1: TEdit; + Button1: TButton; + Button4: TButton; + Edit2: TEdit; + CDQty: TEdit; + RadioGroup1: TRadioGroup; + Button2: TButton; + Panel7: TPanel; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + tv2CDType: TcxGridDBColumn; + tv2CDWZ: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + Tv2CDQty: TcxGridDBColumn; + Tv2CDReason: TcxGridDBColumn; + v2Column1: TcxGridDBColumn; + v2Column3: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + Panel8: TPanel; + AOrdDefNote1: TRichEdit; + Label34: TLabel; + ComboBox1: TComboBox; + SpeedButton20: TSpeedButton; + SpeedButton27: TSpeedButton; + SpeedButton28: TSpeedButton; + SpeedButton35: TSpeedButton; + SpeedButton36: TSpeedButton; + SpeedButton43: TSpeedButton; + SpeedButton52: TSpeedButton; + SpeedButton53: TSpeedButton; + SpeedButton60: TSpeedButton; + SpeedButton61: TSpeedButton; + SpeedButton68: TSpeedButton; + SpeedButton69: TSpeedButton; + SpeedButton77: TSpeedButton; + SpeedButton78: TSpeedButton; + SpeedButton79: TSpeedButton; + SpeedButton80: TSpeedButton; + SpeedButton81: TSpeedButton; + SpeedButton82: TSpeedButton; + v3Column4: TcxGridDBColumn; + Label36: TLabel; + MJStr4: TEdit; + Label37: TLabel; + MJXH: TEdit; + v3Column5: TcxGridDBColumn; + kmxs: TEdit; + Label39: TLabel; + MJstr5: TEdit; + Label40: TLabel; + Label41: TLabel; + Edit8: TEdit; + Label42: TLabel; + v2Column4: TcxGridDBColumn; + baoNo: TEdit; + Label45: TLabel; + BaoID: TEdit; + Button7: TButton; + v3Column6: TcxGridDBColumn; + ToolBar1: TToolBar; + Panel9: TPanel; + Label49: TLabel; + Label50: TLabel; + MaxRollNo: TEdit; + MinRollNo: TEdit; + TBCD: TToolButton; + ToolButton3: TToolButton; + ToolButton2: TToolButton; + ToolButton4: TToolButton; + TBClose: TToolButton; + Label1: TLabel; + APID: TEdit; + Button6: TButton; + Panel6: TPanel; + Label2: TLabel; + Label16: TLabel; + Label24: TLabel; + Label25: TLabel; + Label35: TLabel; + Label38: TLabel; + Label44: TLabel; + Label46: TLabel; + Label47: TLabel; + Label48: TLabel; + Label51: TLabel; + Label52: TLabel; + BTAdd: TButton; + BTEdit: TButton; + Button3: TButton; + Edit7: TEdit; + Edit9: TEdit; + Edit10: TEdit; + Edit11: TEdit; + Edit12: TEdit; + ComboBox2: TComboBox; + Label28: TLabel; + Button5: TButton; + ADOQueryPrint1: TADOQuery; + RMDB_Main1: TRMDBDataSet; + RM3: TRMGridReport; + Edit5: TEdit; + Label43: TLabel; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); + procedure MJMaoZClick(Sender: TObject); + procedure MJLenClick(Sender: TObject); + procedure MJFKClick(Sender: TObject); + procedure MJBanZuClick(Sender: TObject); + procedure MJSJKZClick(Sender: TObject); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); + procedure FormClick(Sender: TObject); + procedure Button12Click(Sender: TObject); + procedure BTAddClick(Sender: TObject); + procedure BTEditClick(Sender: TObject); + procedure BTPrintClick(Sender: TObject); + procedure Tv2CDQtyPropertiesEditValueChanged(Sender: TObject); + procedure SpeedButton1Click(Sender: TObject); + procedure SpeedButton12Click(Sender: TObject); + procedure SpeedButton13Click(Sender: TObject); + procedure cxGridDBColumn2PropertiesChange(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure SpeedButton49Click(Sender: TObject); + procedure APIDKeyPress(Sender: TObject; var Key: Char); + procedure Edit1Click(Sender: TObject); + procedure Edit2Change(Sender: TObject); + procedure Edit3Click(Sender: TObject); + procedure Edit4Click(Sender: TObject); + procedure Edit6Click(Sender: TObject); + procedure MJstr3KeyPress(Sender: TObject; var Key: Char); + procedure Label9Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure MJQty4Change(Sender: TObject); + procedure MJMaoZChange(Sender: TObject); + procedure APIDClick(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure Edit7Click(Sender: TObject); + procedure Button6Click(Sender: TObject); + procedure MJQty4KeyPress(Sender: TObject; var Key: Char); + procedure MJXHClick(Sender: TObject); + procedure MJLenChange(Sender: TObject); + procedure MJQty3Change(Sender: TObject); + procedure MJQty2Change(Sender: TObject); + procedure MJQty4KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); + procedure MJStr4Exit(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure Edit9Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure Button7Click(Sender: TObject); + procedure Edit10Click(Sender: TObject); + procedure Edit11Click(Sender: TObject); + procedure ToolButton4Click(Sender: TObject); + procedure MaxRollNoKeyPress(Sender: TObject; var Key: Char); + procedure Edit12Click(Sender: TObject); + procedure Timer1Timer(Sender: TObject); + procedure TBCDClick(Sender: TObject); + procedure Edit5Click(Sender: TObject); + private + { Private declarations } + FInt, PState, PrintInt, SCInitGrid, FState, FCK: Integer; + FColumn, FBanZu, FAPID, FMainId, FSubId, FFFMJID, fprtcolor: string; + FJZ, FJC, FDC: Double; + fRollType, fRollType1, fbaotype, fbaosx: string; + isCommopen, IsJsMessage: boolean; + MValue, FCDName, MggCDFalg: string; + fxsws, fxsws1: string; + procedure InitJP(); + procedure InitCDGrid(); + procedure InitCDGridID(); + procedure AddCD(Fbtn: TButton); + procedure AddSL(Fbtn: TButton); + function SaveData(): Boolean; + procedure BtnStatus(BSInt: Boolean); + procedure AddSLNew(Fbtn: TSpeedButton); + procedure AddCDNew(Fbtn: TSpeedButton); + procedure SavedataCK(); + procedure PrtData(FMJID: string); + procedure PrtBaoData(FBaoid: string); + procedure OpenCom(DllName: string); + procedure CloseCom(DllName: string); + procedure On1201(var Message: Tmessage); message 1201; + procedure On1301(var Message: Tmessage); message 1301; + function JsXj(str1: string): string; + public + fmanage: string; + { Public declarations } + + end; + +var + frmMJManageNewFDNewSF: TfrmMJManageNewFDNewSF; + newh, newh1: hwnd; + +implementation + +uses + U_DataLink, U_Fun, U_ZDYHelp, U_iniParam, U_ClothHCList, MMSystem, + U_SysLogOrder; + +{$R *.dfm} +procedure TfrmMJManageNewFDNewSF.PrtBaoData(FBaoid: string); +var + fPrintFile: string; + Txt, fImagePath: string; + Moudle: THandle; + Makebar: TMakebar; + Mixtext: TMixtext; + i: Integer; +begin + if CDS_MJID.IsEmpty then + exit; + CDS_MJID.First; + with ADOQueryPrint do + begin + Close; + SQL.Clear; + sql.Add('select A.Baoid,A.BaoNo,A.MJTypeOther as QtyUnit,D.OrderNo,D.conNo,D.customerNoName,D.MprtCodeName,D.Mprtspec,D.OrdPerson1,D.MPRTKuanNO,D.LBName,D.NLBName,C.BlBName,C.KHorderNo,'); + sql.Add('PRTCodeName=DBO.F_Get_Order_SubStr(BaoID,''BNCodeName''),'); + sql.Add('PRTColor=DBO.F_Get_Order_SubStr(BaoID,''BNColor''),SOrddefstr1=DBO.F_Get_Order_SubStr(BaoID,''BNSOrddefstr1''),'); + sql.Add('SOrddefstr4=DBO.F_Get_Order_SubStr(BaoID,''BNSOrddefstr4''),PRtHX=DBO.F_Get_Order_SubStr(BaoID,''BNPRtHX''), '); + sql.Add('Mjstr4=DBO.F_Get_Order_SubStr(BaoID,''BNGangNo''), '); + sql.Add('MJXH=DBO.F_Get_Order_SubStr(BaoID,''BNMJXH''), '); + sql.Add('BNMJLENLIST=DBO.F_Get_Order_SubStr(BaoID,''BNMJLENLIST''), '); + sql.Add('PRTkuanNo=DBO.F_Get_Order_SubStr(BaoID,''BNPrtkuanno''),'); + sql.Add('khConNo=(select top 1 khConNo from JYOrderCon_Main X where X.ConNO=D.conNO), '); + sql.Add('MprtCodeNameEng=(select top 1 Note from KH_Zdy X where X.zdyName=D.MprtCodeName), '); + SQL.ADD('count(A.MJID) as JSl,sum(A.MJMaoZ) MJMAOZ,sum(MJQty3) as MJQty3,sum(MJQty4) as MJQty4,SUM(A.MJLen)as MJLen'); + sql.Add('from WFB_MJJY A'); + sql.Add('inner join JYOrder_Sub C on C.SubID=A.SubID'); + sql.Add('inner join JYOrder_Main D on D.MainID=A.MainID'); + SQL.Add('where A.BaoID=''' + Trim(FBaoid) + ''''); + SQL.ADD('group by A.Baoid,A.BaoNo,A.MJTypeOther,D.OrderNo,D.conNo,D.customerNoName,D.MprtCodeName,D.Mprtspec,D.OrdPerson1,D.MPRTKuanNO,D.LBName,D.NLBName,C.BlBName,C.KHorderNo'); + Open; + end; + if ADOQueryPrint.RecordCount > 1 then + begin + Application.MessageBox('´!', 'ʾ', 0); + Exit; + end; + if ADOQueryPrint.RecordCount < 1 then + begin + Application.MessageBox('˰Żδ棬뱣ݣڴӡ룡', 'ʾ', 0); + Exit; + end; + try + Moudle := LoadLibrary('MakeQRBarcode.dll'); + @Makebar := GetProcAddress(Moudle, 'Make'); + @Mixtext := GetProcAddress(Moudle, 'MixText'); + Txt := trim(FBaoid); + fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp'; + if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then + CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); + if FileExists(fImagePath) then + DeleteFile(fImagePath); + Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); + except + application.MessageBox('ʧܣ', 'ʾϢ', MB_ICONERROR); + exit; + end; + + if Trim(ADOQueryPrint.fieldbyname('NLBName').AsString) <> '' then + begin + ExportFtErpFile(Trim(ADOQueryPrint.fieldbyname('NLBName').AsString), ADOCmd); + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('NLBName').AsString) + end + else + begin + ExportFtErpFile('ǩ.rmf', ADOCmd); + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ǩ.rmf'; + end; + + if not FileExists(fPrintFile) then + begin + Application.MessageBox(PChar('û' + fPrintFile), 'ʾ', 0); + Exit; + end; + + if FileExists(fPrintFile) then + begin + RMVariables['QRBARCODE'] := fImagePath; + RM2.LoadFromFile(fPrintFile); + RM2.DefaultCopies := 1; + //RM2.ShowReport; + RM2.printReport; + end; + +end; + +procedure TfrmMJManageNewFDNewSF.On1301(var Message: Tmessage); +var + i1, i2: integer; + unitname: string; + fdata: double; +begin + i1 := Message.WParam; + i2 := Message.LParam; + if IsJsMessage then + begin + if (trim(Edit7.Text) = '') then + begin + MJLen.Text := format('%.' + trim(fxsws) + 'f', [i1 / 100000]); + if i2 = 0 then + Label9.Caption := 'M' + else + Label9.Caption := 'Y'; + edit1.Text := format('%.' + trim(fxsws) + 'f', [i1 / 100000]); + end; + end; + +end; + +procedure TfrmMJManageNewFDNewSF.On1201(var Message: Tmessage); +var + i1, i2: integer; + unitname: string; + fdata: double; +begin + i1 := Message.WParam; + i2 := Message.LParam; + if IsJsMessage then + begin + if trim(Edit9.Text) = '' then + begin + MJMaoZ.Text := format('%.' + trim(fxsws1) + 'f', [i1 / 100000]); + end; + end; +end; + +procedure TfrmMJManageNewFDNewSF.CloseCom(DllName: string); +type + TMyFunc = function(sCommName: PAnsiChar): HWND; stdcall; +var + Tf1: TMyFunc; + Tp1: TFarProc; + Th1: Thandle; +begin + Th1 := LoadLibrary(Pchar(trim(DllName))); + if Th1 > 0 then + begin + try + Tp1 := GetProcAddress(Th1, 'CommClose'); + if Tp1 <> nil then + begin + Tf1 := TMyFunc(Tp1); + newh1 := Tf1('Comm1'); + end + else + begin + + end; + finally + // FreeLibrary(Th1); + end; + end + else + begin + application.MessageBox(Pchar('Ҳ ' + trim(DllName) + ' ļ'), 'ʾ'); + end; +end; + +procedure TfrmMJManageNewFDNewSF.OpenCom(DllName: string); +type + TMyFunc = function(fhandle: hwnd; sCommName: PAnsiChar; IntTime: integer; IsMessage: integer): HWND; stdcall; +var + Tf: TMyFunc; + Tp: TFarProc; + Th: Thandle; +begin + // closeCom(FComFile); + Th := LoadLibrary(Pchar(trim(DllName))); + if Th > 0 then + begin + try + Tp := GetProcAddress(Th, 'CommOpen'); + if Tp <> nil then + begin + Tf := TMyFunc(Tp); + newh := Tf(self.Handle, 'Comm1', 500, 1); + if newh < 1 then + begin + application.MessageBox(Pchar('򿪴ʧܣ'), 'ʾ'); + end + else + IsCommOpen := true; + end + else + begin + IsCommOpen := false; + end; + finally + // FreeLibrary(Th); + end; + end + else + begin + IsCommOpen := false; + application.MessageBox(Pchar('Ҳ ' + trim(DllName) + ' ļ'), 'ʾ'); + end; +end; + +function TfrmMJManageNewFDNewSF.JsXj(str1: string): string; +begin +end; + +procedure TfrmMJManageNewFDNewSF.FormDestroy(Sender: TObject); +begin + frmMJManageNewFDNewSF := nil; +end; + +procedure TfrmMJManageNewFDNewSF.FormClose(Sender: TObject; var Action: TCloseAction); +begin + Action := caFree; + if isCommopen then + begin + if trim(DllName) <> '' then + closeCom(DllName); + if trim(JCYDLL) <> '' then + closeCom(JCYDLL); + end; + +end; + +procedure TfrmMJManageNewFDNewSF.InitCDGrid(); +begin + with ADOQueryMain do + begin + Close; + SQL.Clear; + if PState = 1 then + sql.Add('select * from WFB_MJJY_CD where MJID='''' ') + else + sql.Add('select * from WFB_MJJY_CD where MJID=''' + Trim(CDS_MJID.fieldbyname('MJID').AsString) + ''''); + Open; + end; + SCreateCDS20(ADOQueryMain, CDS_MJCD); + SInitCDSData20(ADOQueryMain, CDS_MJCD); +end; + +procedure TfrmMJManageNewFDNewSF.InitCDGridID(); +begin + with ADOQueryMain do + begin + Close; + SQL.Clear; + sql.Add('select '); + //sql.Add('Case when isnull(MJType,'''')=''Ʒ'' then ''B''+RTrim(Cast(MJXH as varchar(20))) else Cast(MJXH as varchar(20)) end as MJXH ,'); + sql.Add(' A.* from WFB_MJJY A where APID=''' + Trim(FAPID) + ''''); + if Trim(SCXFlag) <> '' then + sql.Add(' and JTType=''' + Trim(SCXFlag) + ''''); + sql.Add('and mjstr2=''δ'' '); + sql.Add(' order by FillTime desc'); + Open; + end; + SCreateCDS20(ADOQueryMain, CDS_MJID); + SInitCDSData20(ADOQueryMain, CDS_MJID); +end; + +procedure TfrmMJManageNewFDNewSF.TBCloseClick(Sender: TObject); +begin + close; +end; + +procedure TfrmMJManageNewFDNewSF.FormShow(Sender: TObject); +begin + InitJP(); + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select BanZu from SY_User where UserId=''' + Trim(DCode) + ''''); + Open; + FBanZu := Trim(Fieldbyname('BanZu').AsString); + end; + if trim(Edit7.Text) = '' then + IsJsMessage := true; + + if trim(fmanage) <> 'Ȩ' then + begin + if trim(DllName) <> '' then + OpenCom(DllName); + if trim(JCYDLL) <> '' then + OpenCom(JCYDLL); + Edit7.Visible := true; + Label35.Visible := true; + Edit9.Visible := true; + Label44.Visible := true; + end; +end; + +procedure TfrmMJManageNewFDNewSF.InitJP(); +var + AA: array[0..100] of string; + i, j: Integer; +begin + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select ZDYName from KH_Zdy where Type=''WFBCD'' order by ZDYNO '); +// showmessage(sql.text); + Open; + end; + if ADOTmp.IsEmpty then + begin + Application.MessageBox('ûжõ㣡', 'ʾ', 0); + Exit; + end; + with ADOTmp do + begin + First; + i := 0; + while not Eof do + begin + AA[i] := Trim(fieldbyname('ZDYName').AsString); + i := i + 1; + Next; + end; + end; + i := i - 1; + if i > 59 then + begin + i := 59; + end; + for j := 0 to i do + begin + with ScrollBox1 do + begin + TSpeedButton(Controls[j]).Visible := True; + TSpeedButton(Controls[j]).Hint := AA[j]; + if Length(AA[j]) > 4 then + begin + TSpeedButton(Controls[j]).Caption := Copy(Trim(AA[j]), 1, 4) + #13 + Copy(Trim(AA[j]), 5, Length(AA[j]) - 4); + end + else + TSpeedButton(Controls[j]).Caption := AA[j]; + end; + end; +end; + +procedure TfrmMJManageNewFDNewSF.AddCD(Fbtn: TButton); +begin + if PState < 1 then + Exit; + if Order_MJ.IsEmpty then + Exit; + with CDS_MJCD do + begin + Append; + FieldByName('cdname').Value := Trim(TButton(Fbtn).Caption); + Post; + end; +end; + +procedure TfrmMJManageNewFDNewSF.AddCDNew(Fbtn: TSpeedButton); +begin + with CDS_MJCD do + begin + Append; + FieldByName('cdname').Value := Trim(TSpeedButton(Fbtn).Hint); + Post; + end; +end; + +procedure TfrmMJManageNewFDNewSF.AddSL(Fbtn: TButton); +begin + if PState < 1 then + Exit; + if Order_MJ.IsEmpty then + Exit; + + //if MJMaoZ.Focused then + if FInt = 4 then + Exit; + if CDS_MJCD.IsEmpty = False then + begin + FColumn := Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(FColumn) <> '' then + begin + with CDS_MJCD do + begin + Edit; + FieldByName(FColumn).Value := Trim(FieldByName(FColumn).AsString) + Trim(TButton(Fbtn).Caption); + if Trim(fieldbyname('CDQtyS').AsString) <> '' then + Fieldbyname('CDQty').Value := Trim(fieldbyname('CDQtyS').AsString); + Post; + end; + end; + end; +end; + +procedure TfrmMJManageNewFDNewSF.AddSLNew(Fbtn: TSpeedButton); +begin + if PState < 1 then + Exit; + if Trim(FAPID) = '' then + Exit; + + if FInt = 4 then + Exit; + if FInt = 11 then + begin + if TSpeedButton(Fbtn).Tag = 9 then + Exit; + Edit1.Text := Trim(Edit1.Text) + Trim(TSpeedButton(Fbtn).Caption); + Edit1.SelectAll; + end + else if FInt = 12 then + begin + if TSpeedButton(Fbtn).Tag = 9 then + Exit; + Edit2.Text := Trim(Edit2.Text) + Trim(TSpeedButton(Fbtn).Caption); + Edit2.SelectAll; + end; +end; + +procedure TfrmMJManageNewFDNewSF.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); +begin + if CDS_MJCD.IsEmpty then + Exit; + + if Trim(CDS_MJCD.fieldbyname('MCID').AsString) = '' then + begin + if Application.MessageBox('ȷҪɾ', 'ʾ', 32 + 4) <> IDYES then + Exit; + CDS_MJCD.Delete; + end; + +end; + +procedure TfrmMJManageNewFDNewSF.MJMaoZClick(Sender: TObject); +begin + FInt := 1; + FColumn := ''; + panel3.Visible := True; +end; + +procedure TfrmMJManageNewFDNewSF.MJLenClick(Sender: TObject); +begin + FInt := 2; + FColumn := ''; + panel3.Visible := True; +end; + +procedure TfrmMJManageNewFDNewSF.MJFKClick(Sender: TObject); +begin + FInt := 3; + FColumn := ''; + panel3.Visible := True; +end; + +procedure TfrmMJManageNewFDNewSF.MJBanZuClick(Sender: TObject); +begin + FInt := 4; +end; + +procedure TfrmMJManageNewFDNewSF.MJSJKZClick(Sender: TObject); +begin + FInt := 4; +end; + +procedure TfrmMJManageNewFDNewSF.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); +begin + //DataLink_WFBProducttion.ADOLink.Connected:=False; + FInt := 4; + // if PState=1 then Exit; + InitCDGridID(); + //InitCDGrid(); + {with ADOTmp do + begin + close; + sql.Clear; + sql.Add('select * from WFB_MJJY where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + if ADOTmp.IsEmpty then + begin + MJMaoZ.Text:=''; + MJLen.Text:=''; + MJFK.Text:=''; + MJSJKZ.Text:=''; + end else + SSetWinData(ADOTmp,Panel5); } +end; + +procedure TfrmMJManageNewFDNewSF.FormClick(Sender: TObject); +begin + FInt := 4; +end; + +procedure TfrmMJManageNewFDNewSF.Button12Click(Sender: TObject); +var + fsj: string; +begin + if PState < 1 then + Exit; + if Trim(FAPID) = '' then + Exit; + if FInt = 4 then + Exit; + begin + FColumn := Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(FColumn) <> '' then + begin + if Trim(CDS_MJCD.FieldByName(FColumn).AsString) <> '' then + begin + with CDS_MJCD do + begin + Edit; + if Length(CDS_MJCD.FieldByName(FColumn).AsString) = 1 then + begin + FieldByName(FColumn).Value := null; + FieldByName('CDQty').Value := 0; + end + else + begin + FieldByName(FColumn).Value := Copy(Trim(FieldByName(FColumn).AsString), 1, Length(Trim(FieldByName(FColumn).AsString)) - 1); + FieldByName('CDQty').Value := FieldByName(FColumn).Value; + end; + Post; + end; + end; + end; + end; +end; + +function TfrmMJManageNewFDNewSF.SaveData(): Boolean; +var + maxno, FMJID, BZID, strsql, CFMJXH, GMJXH, GMJLen, GMJMaoZ, GMJQty4, Gmjstr4: string; + FMJLen: Double; + FOrder: Integer; +begin + + result := false; + if PState = 1 then + FMJID := '' + else if PState = 2 then + FMJID := Trim(CDS_MJID.fieldbyname('MJID').AsString) + else if PState < 1 then + Exit; + + if PState = 1 then + begin + if ComboBox2.ItemIndex = 0 then + begin + if fRollType = '' then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select maxRoll=1+isnull(cast(max(mjxh) as int),0) '); + sql.Add('from WFB_MJJY X where X.mainID=''' + trim(fmainId) + ''' '); + Open; + MJXH.Text := Trim(fieldbyname('maxRoll').AsString); + end; + end + else if fRollType = '׺' then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select maxRoll=1+isnull(cast(max(mjxh) as int),0) '); + sql.Add('from WFB_MJJY X where X.subID=''' + trim(FSubId) + ''' '); + sql.add('and X.MJStr4=' + quotedstr(trim(MJstr4.text))); + Open; + MJXH.Text := Trim(fieldbyname('maxRoll').AsString); + end; + end + else if fRollType = '޹' then + begin + + end + else + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select maxRoll=1+isnull(cast(max(mjxh) as int),0) '); +// sql.Add('from WFB_MJJY X inner join JYOrder_Sub B on B.mainid=X.mainid'); +// sql.Add(' where X.mainID=''' + trim(fmainId) + ''' and B.prtcolor=''' + trim(fprtcolor) + ''' '); + sql.Add('from WFB_MJJY X where X.subID=''' + trim(FSubId) + ''' '); +// sql.Add('select maxRoll=(select isnull(cast (max(mjxh) as int),0)+1 from WFB_MJJY A inner join JYOrder_Sub B on B.mainid=A.mainid and B.subid=A.subid where A.mainid=''' + trim(fmainId) + ''' and B.prtcolor=''' + trim(fprtcolor) + ''' ) '); +// sql.Add('from WFB_MJJY X inner join JYOrder_Sub B on B.mainid=X.mainid'); +// sql.Add(' where X.mainID=''' + trim(fmainId) + ''' and B.prtcolor=''' + trim(fprtcolor) + ''' '); +// ShowMessage(sql.text); + Open; + MJXH.Text := Trim(fieldbyname('maxRoll').AsString); + end; + end; + end; + end; + + if minRollNo.Text <> '' then + begin + if StrToIntDef(minRollNo.Text, 0) > StrToIntDef(MJXH.Text, 0) then + begin + Application.MessageBox('ССţܱ棡', 'ʾ', 0); + exit; + end; + end; + + if MaxRollNo.Text <> '' then + begin + if StrToIntDef(MaxRollNo.Text, 0) < StrToIntDef(MJXH.Text, 0) then + begin + Application.MessageBox('ѳţܱ棡', 'ʾ', 0); + exit; + end; + end; + + try + ADOCmd.Connection.BeginTrans; + if PState = 2 then + begin + GMJXH := Trim(CDS_MJID.fieldbyname('MJXH').AsString); + GMJLen := Trim(CDS_MJID.fieldbyname('MJLen').AsString); + GMJMaoZ := Trim(CDS_MJID.fieldbyname('MJMaoZ').AsString); + GMJQty4 := Trim(CDS_MJID.fieldbyname('MJQty4').AsString); + Gmjstr4 := Trim(CDS_MJID.fieldbyname('mjstr4').AsString); + GMJXH := 'ţ' + GMJXH + ',׺ţ' + Gmjstr4 + ',ȣ' + GMJLen + ',' + 'ëأ' + GMJMaoZ + ',أ' + GMJQty4; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result,Mainid) values( '); + sql.Add(' ' + quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(trim('޸'))); + sql.Add(',' + quotedstr(trim('޸ǰ:' + trim(FMJID) + ', ' + trim(Label25.Caption) + ', ' + trim(Label38.Caption) + ', ' + trim(Label25.Caption) + ', ' + trim(GMJXH)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(',' + quotedstr(trim(FMainId))); + sql.Add(')'); + execsql; + end; + end; + /// + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from WFB_MJJY where MJId=''' + Trim(FMJID) + ''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMJID) = '' then + begin + Append; + if GetLSNo(ADOTmp, maxno, Trim(SCXFlag), 'WFB_MJJY', 4, 1) = False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ˮ쳣', 'ʾ', 0); + exit; + end; + end + else + begin + maxno := Trim(FMJID); + Edit; + end; + FieldByName('MainId').value := Trim(FMainId); + FieldByName('SubId').value := Trim(FSubId); + FieldByName('APId').value := Trim(FAPId); + FieldByName('MJID').Value := Trim(maxno); + FieldByName('MJStr2').Value := 'δ'; + FieldByName('MJBanZu').Value := Trim(FBanZu); + FieldByName('MJstr3').Value := Trim(MJstr3.Text); + FieldByName('MJstr4').Value := Trim(MJstr4.Text); + FieldByName('MJstr5').Value := Trim(MJstr5.Text); + FieldByName('mjxh').Value := Trim(mjxh.Text); +// FieldByName('BaoNO').Value := Trim(BaoNO.Text); + FieldByName('MJTypeOther').Value := Trim(Label9.Caption); + FieldByName('MJStr1').Value := Trim(Label13.Caption); + if Edit12.Text <> '' then + begin + FieldByName('DingMaFlag').Value := ''; + end; + if Edit10.Text <> '' then + begin + FieldByName('DaoXuFlag').Value := 'ŵ'; + end; + FieldByName('QuhaoFlag').Value := Trim(ComboBox2.Text); + if (FDC <> 0) and (Edit12.text <> '') then + begin + FieldByName('MJLen').Value := FDC; + end + else + begin + FieldByName('MJLen').Value := format('%.1f', [StrToFloatdef(trim(MJLen.Text), 0) - StrToFloatdef(trim(MJQty2.Text), 0) + fjc]); + end; + + FieldByName('MJQty1').Value := StrToFloatdef(trim(MJQty1.Text), 0); + FieldByName('MJQty2').Value := StrToFloatdef(trim(MJQty2.Text), 0); + FieldByName('MJQty3').Value := StrToFloatdef(trim(MJQty3.Text), 0); + FieldByName('MJQty4').Value := format('%.1f', [StrToFloatdef(trim(MJQty4.Text), 0) + fjZ]); + if Trim(MJFK.Text) <> '' then + begin + FieldByName('MJFK').Value := MJFK.Text; + end; + if Trim(MJMaoZ.Text) <> '' then + begin + FieldByName('MJMaoZ').Value := format('%.1f', [StrToFloat(MJMaoZ.Text) + fjz]); + end; + if Trim(MJSJKZ.Text) <> '' then + begin + FieldByName('MJSJKZ').Value := MJSJKZ.Text; + end; + FieldByName('MJType').Value := ''; + if Trim(Edit3.Text) <> '' then + begin + FieldByName('MJType').Value := 'Ʒ'; + end; + if Trim(Edit4.Text) <> '' then + begin + FieldByName('MJType').Value := 'Ʒ'; + end; + FieldByName('MJStr1').Value := Trim(Label13.Caption); + + if Trim(FMJID) = '' then + begin + FieldByName('Filler').Value := Trim(DName); + end + else + begin + FieldByName('Editer').Value := Trim(DName); + FieldByName('EditTime').Value := SGetServerDateTime(ADOTmp); + end; + if Trim(SCXFlag) <> '' then + begin + FieldByName('JTType').Value := Trim(SCXFlag); + end; + + FieldByName('MJTypeOther').Value := Trim(Label9.Caption); + + if trim(fbaotype) = 'ֶ' then + begin + FieldByName('baoNO').Value := Trim(baono.text); + FieldByName('baoID').Value := Trim(baoID.Text); + end; + + Post; + end; + if PState = 1 then + begin + if ComboBox2.ItemIndex = 0 then + begin + if fRollType = '' then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('update WFB_MJJY SET mjxh=1+isnull((select cast (max(mjxh) as int) from WFB_MJJY X where X.mainID=WFB_MJJY.mainID and X.MJID<>WFB_MJJY.MJID),0)'); + sql.Add('where MJID=''' + Trim(maxno) + ''''); + execsql; + end; + end + else if fRollType = '׺' then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('update WFB_MJJY SET mjxh=1+isnull((select cast (max(mjxh) as int) from WFB_MJJY X '); + sql.Add(' where X.subID=WFB_MJJY.subID and isnull(X.mjstr4,'''')=isnull(WFB_MJJY.mjstr4,'''') and X.MJID<>WFB_MJJY.MJID),0)'); + sql.Add('where MJID=''' + Trim(maxno) + ''''); + execsql; + end; + end + else if fRollType = '޹' then + begin + + end + else + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('update WFB_MJJY SET mjxh=1+isnull((select cast (max(mjxh) as int) from WFB_MJJY X where X.subID=WFB_MJJY.subID and X.MJID<>WFB_MJJY.MJID),0)'); + sql.Add('where MJID=''' + Trim(maxno) + ''''); +// sql.Add('update WFB_MJJY SET mjxh=1+isnull((select cast (max(mjxh) as int) from WFB_MJJY X inner join JYOrder_Sub B on B.mainid=X.mainid and B.subid=X.subid where X.mainid=WFB_MJJY.mainid and B.prtcolor=''' + trim(fprtcolor) + ''' and X.MJID<>WFB_MJJY.MJID),0)'); +// sql.Add('where MJID=''' + Trim(maxno) + ''''); +// ShowMessage(sql.text); + execsql; + end; + end; + end; + end + else if PState = 2 then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_MJJY where MJID=''' + Trim(maxno) + ''''); + Open; + end; + GMJXH := Trim(ADOCmd.fieldbyname('MJXH').AsString); + GMJLen := Trim(ADOCmd.fieldbyname('MJLen').AsString); + GMJMaoZ := Trim(ADOCmd.fieldbyname('MJMaoZ').AsString); + GMJQty4 := Trim(ADOCmd.fieldbyname('MJQty4').AsString); + Gmjstr4 := Trim(ADOCmd.fieldbyname('mjstr4').AsString); + GMJXH := 'ţ' + GMJXH + ',׺ţ' + Gmjstr4 + ',ȣ' + GMJLen + ',' + 'ëأ' + GMJMaoZ + ',أ' + GMJQty4; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result,Mainid) values( '); + sql.Add(' ' + quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(trim('޸'))); + sql.Add(',' + quotedstr(trim('޸ĺ:' + trim(maxno) + ', ' + trim(Label24.Caption) + ', ' + trim(Label38.Caption) + ', ' + trim(Label25.Caption) + ', ' + trim(GMJXH)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(',' + quotedstr(trim(FMainId))); + sql.Add(')'); + execsql; + end; + end; + ////////////жź;ظ + if fRollType = '' then + begin + //////////////////ж + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select Top 1 MJXH,MJID from WFB_MJJY A where A.mainID=''' + Trim(FMainId) + ''' order by MJXH Desc'); + Open; + end; + GMJXH := Trim(ADOCmd.fieldbyname('MJXH').AsString); + GMJLen := Trim(ADOCmd.fieldbyname('MJID').AsString); + GMJMaoZ := IntToStr(StrToInt(GMJXH) - 1); + if Trim(GMJXH) <> '1' then + begin + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select MJID from WFB_MJJY X where X.mainID=''' + Trim(FMainId) + ''''); + SQL.Add(' and MJXH=' + GMJXH + '-1'); + Open; + end; + if ComboBox2.ItemIndex = 0 then + begin + if ADOCmd.IsEmpty then + begin + Result := False; + ADOCmd.Connection.RollbackTrans; + PlaySound('wav\.wav', 0, SND_FILENAME or SND_ASYNC); + Application.MessageBox('ţύ!', 'ʾ', 0); + Exit; + end; + end + else if ComboBox2.ItemIndex = 1 then + begin + if ADOCmd.IsEmpty then + begin + PlaySound('wav\.wav', 0, SND_FILENAME or SND_ASYNC); + if Application.MessageBox('ţǷҪ!', 'ʾ', 32 + 4) <> IDYes then + begin + Result := False; + ADOCmd.Connection.RollbackTrans; + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result,Mainid) values( '); + sql.Add(' ' + quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(trim(''))); + sql.Add(',' + quotedstr(trim(':' + trim(GMJLen) + ', ' + 'ţ' + Trim(GMJXH) + ', ' + trim(Label24.Caption) + ', ' + trim(Label38.Caption) + ', ' + trim(Label25.Caption) + ',ţ' + Trim(GMJMaoZ)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(',' + quotedstr(trim(FMainId))); + sql.Add(')'); + execsql; + end; + end; + end; + end; + + //////////////////ж + //////////////////ظж + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select Mainid,MJXH from WFB_MJJY X where X.mainID=''' + Trim(FMainId) + ''''); + sql.Add(' Group by Mainid,MJXH having count(*)>1'); + Open; + end; + if ADOCmd.IsEmpty = False then + begin + CFMJXH := Trim(ADOCmd.fieldbyname('MJXH').AsString); + Result := False; + ADOCmd.Connection.RollbackTrans; + PlaySound('wav\ظ.wav', 0, SND_FILENAME or SND_ASYNC); + Application.MessageBox(Pchar(': ' + Trim(CFMJXH) + ' ظ봦!'), 'ʾ', 0); + Exit; + end; + //////////////////ظж + end + else if fRollType = '׺' then + begin + //////////////////ж + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select Top 1 MJXH,MJID from WFB_MJJY A '); + sql.Add(' where A.mainID=''' + Trim(FMainId) + ''' and isnull(A.MJStr4,'''')=''' + Trim(MJStr4.Text) + ''''); + sql.Add(' order by MJXH Desc'); + Open; + end; + GMJXH := Trim(ADOCmd.fieldbyname('MJXH').AsString); + GMJLen := Trim(ADOCmd.fieldbyname('MJID').AsString); + GMJMaoZ := IntToStr(StrToInt(GMJXH) - 1); + if Trim(GMJXH) <> '1' then + begin + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select MJID from WFB_MJJY X where X.mainID=''' + Trim(FMainId) + ''' and isnull(X.MJStr4,'''')=''' + Trim(MJStr4.Text) + ''''); + SQL.Add(' and MJXH=' + GMJXH + '-1'); + Open; + end; + if ComboBox2.ItemIndex = 0 then + begin + if ADOCmd.IsEmpty then + begin + Result := False; + ADOCmd.Connection.RollbackTrans; + PlaySound('wav\.wav', 0, SND_FILENAME or SND_ASYNC); + Application.MessageBox('ţύ!', 'ʾ', 0); + Exit; + end; + end + else if ComboBox2.ItemIndex = 1 then + begin + if ADOCmd.IsEmpty then + begin + PlaySound('wav\.wav', 0, SND_FILENAME or SND_ASYNC); + if Application.MessageBox('ţǷҪ!', 'ʾ', 32 + 4) <> IDYes then + begin + Result := False; + ADOCmd.Connection.RollbackTrans; + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result,Mainid) values( '); + sql.Add(' ' + quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(trim(''))); + sql.Add(',' + quotedstr(trim(':' + trim(GMJLen) + ', ' + 'ţ' + Trim(GMJXH) + ', ' + trim(Label24.Caption) + ', ' + trim(Label38.Caption) + ', ' + trim(Label25.Caption) + ',ţ' + Trim(GMJMaoZ)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(',' + quotedstr(trim(FMainId))); + sql.Add(')'); + execsql; + end; + end; + end; + end; + + //////////////////ж + //////////////////ظж + + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select subid,MJStr4,MJXH from WFB_MJJY X where X.mainID=''' + Trim(FMainId) + ''' and isnull(X.MJStr4,'''')=''' + Trim(MJStr4.Text) + ''''); + sql.Add(' Group by subid,MJStr4,MJXH having count(*)>1'); + Open; + end; + + if ADOCmd.IsEmpty = False then + begin + CFMJXH := Trim(ADOCmd.fieldbyname('MJXH').AsString); + Result := False; + ADOCmd.Connection.RollbackTrans; + PlaySound('wav\ظ.wav', 0, SND_FILENAME or SND_ASYNC); + Application.MessageBox(Pchar(': ' + Trim(CFMJXH) + ' ظ봦!'), 'ʾ', 0); + Exit; + end; + //////////////////ظж + end + else if fRollType = '޹' then + begin + + end + else + begin + //////////////////ж + with ADOCmd do + begin + Close; + SQL.Clear; +// sql.Add('select Top 1 MJXH,MJID from WFB_MJJY A inner join JYOrder_Sub B on B.mainid=A.mainid and B.subid=A.subid where A.mainid=''' + Trim(Fmainid) + ''' and B.prtcolor=''' + trim(fprtcolor) + ''' order by MJXH Desc'); + sql.Add('select Top 1 MJXH,MJID from WFB_MJJY A where A.Subid=''' + Trim(FSubid) + ''' order by MJXH Desc'); + Open; + end; + GMJXH := Trim(ADOCmd.fieldbyname('MJXH').AsString); + GMJLen := Trim(ADOCmd.fieldbyname('MJID').AsString); + GMJMaoZ := IntToStr(StrToInt(GMJXH) - 1); + if Trim(GMJXH) <> '1' then + begin + with ADOCmd do + begin + Close; + SQL.Clear; +// sql.Add('select MJID from WFB_MJJY X inner join JYOrder_Sub B on B.mainid=X.mainid where X.mainid=''' + Trim(Fmainid) + ''' and B.prtcolor=''' + trim(fprtcolor) + ''''); +// SQL.Add(' and MJXH=' + GMJXH + '-1'); + sql.Add('select MJID from WFB_MJJY X where X.Subid=''' + Trim(FSubid) + ''''); + Open; + end; + if ComboBox2.ItemIndex = 0 then + begin + if ADOCmd.IsEmpty then + begin + Result := False; + ADOCmd.Connection.RollbackTrans; + PlaySound('wav\.wav', 0, SND_FILENAME or SND_ASYNC); + Application.MessageBox('ţύ!', 'ʾ', 0); + Exit; + end; + end + else if ComboBox2.ItemIndex = 1 then + begin + if ADOCmd.IsEmpty then + begin + PlaySound('wav\.wav', 0, SND_FILENAME or SND_ASYNC); + if Application.MessageBox('ţǷҪ!', 'ʾ', 32 + 4) <> IDYes then + begin + Result := False; + ADOCmd.Connection.RollbackTrans; + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result,Mainid) values( '); + sql.Add(' ' + quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(trim(''))); + sql.Add(',' + quotedstr(trim(':' + trim(GMJLen) + ', ' + 'ţ' + Trim(GMJXH) + ', ' + trim(Label24.Caption) + ', ' + trim(Label38.Caption) + ', ' + trim(Label25.Caption) + ',ţ' + Trim(GMJMaoZ)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(',' + quotedstr(trim(FMainId))); + sql.Add(')'); + execsql; + end; + end; + end; + end; + + //////////////////ж + //////////////////ظж + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select SubID,MJXH from WFB_MJJY X where X.SubID=''' + Trim(FSubID) + ''''); + sql.Add(' Group by SubID,MJXH having count(*)>1'); + Open; + end; + if ADOCmd.IsEmpty = False then + begin + CFMJXH := Trim(ADOCmd.fieldbyname('MJXH').AsString); + Result := False; + ADOCmd.Connection.RollbackTrans; + PlaySound('wav\ظ.wav', 0, SND_FILENAME or SND_ASYNC); + Application.MessageBox(Pchar(': ' + Trim(CFMJXH) + ' ظ봦!'), 'ʾ', 0); + Exit; + end; + //////////////////ظж + end; + ////////////жź;ظ + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select MJXH from WFB_MJJY'); + sql.Add('where MJID=''' + Trim(maxno) + ''''); + open; + if not IsEmpty then + begin + MJXH.Text := fieldbyname('mjxh').AsString; + end; + end; + + FMJID := Trim(maxno); + FFFMJID := Trim(maxno); + ///ĸõ + with CDS_MJCD do + begin + First; + while not Eof do + begin + if Trim(CDS_MJCD.fieldbyname('MCID').AsString) = '' then + begin + if GetLSNo(ADOTmp, maxno, 'MC', 'WFB_MJJY_CD', 5, 1) = False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ', 'ʾ', 0); + Exit; + end; + end + else + begin + maxno := Trim(CDS_MJCD.fieldbyname('MCID').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_MJJY_CD '); + sql.Add(' where MCID=''' + Trim(maxno) + ''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_MJCD.fieldbyname('MCID').AsString) = '' then + Append + else + Edit; + FieldByName('MJId').Value := Trim(FMJID); + FieldByName('MCID').Value := Trim(maxno); + SSetSaveDataCDSNew(ADOCmd, Tv2, CDS_MJCD, 'WFB_MJJY_CD', 0); + FieldByName('KouFenType').Value := CDS_MJCD.fieldbyname('KouFenType').Value; + Post; + end; + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('MCID').Value := Trim(maxno); + Next; + end; + end; + with CDS_MJID do + begin + Append; + FieldByName('MJID').Value := Trim(FMJID); + Post; + end; + with ADOCmd do + begin + close; + sql.Clear; + sql.Add('update WFB_MJJY SET CDList= dbo.F_Get_Order_SubStr(MJID,''MJCDHZSL'')'); + sql.Add('where MJID=''' + Trim(FMJID) + ''' '); + execsql; + end; + + if (fbaotype = 'ֶ') or (fbaotype = '') or (PState = 2) then + begin + + end + else + begin + with ADOCmd do + begin + Close; + sql.Clear; +// sql.Add('exec P_Update_Bao ''' + trim(FMJID) + ''' '); + sql.Add('exec P_Update_Bao_cZX ''' + trim(FMJID) + ''' '); + if fbaotype = '' then + begin + sql.Add(',1 '); + end + else if fbaotype = 'ɫ' then + begin + sql.Add(',2 '); + end + else if fbaotype = 'ɫ' then + begin + sql.Add(',3 '); + end; +// ShowMessage(sql.text); + execsql; + end; + end; + + ADOCmd.Connection.CommitTrans; + Result := True; + except + Result := False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ', 'ʾ', 0); + end; +end; + +procedure TfrmMJManageNewFDNewSF.BTAddClick(Sender: TObject); +begin + if Trim(Label24.Caption) = '' then + Exit; + PState := 1; + InitCDGridID(); + InitCDGrid(); + BtnStatus(True); + Label16.Caption := ''; +end; + +procedure TfrmMJManageNewFDNewSF.BTEditClick(Sender: TObject); +begin + if CDS_MJID.IsEmpty then + Exit; + PState := 2; + Label16.Caption := '޸'; +end; + +procedure TfrmMJManageNewFDNewSF.BTPrintClick(Sender: TObject); +var + fPrintFile: string; + mvalue: Double; + mvalue1: integer; + i: Integer; +begin + + if (strtofloatdef(trim(MJLen.Text), 0) = 0) and (strtofloatdef(trim(mjqty4.Text), 0) = 0) then + begin + application.MessageBox('ȻܶΪ㣡', 'ʾϢ', 0); + exit; + end; + + if Trim(FAPID) = '' then + Exit; + + if trim(MJXH.text) = '' then + begin + application.MessageBox('ŲΪ', 'ʾ'); + exit; + end; + + if trim(MJXH.text) = '0' then + begin + application.MessageBox('ŲΪ0', 'ʾ'); + exit; + end; + + if trim(Label9.Caption) = '' then + begin + Application.MessageBox('ȵλΪ!', 'ʾ', 0); + Exit; + end; + + if Trim(MJQty1.Text) <> '' then + begin + if TryStrToFloat(MJQty1.Text, mvalue) = False then + begin + Application.MessageBox('ԭ¼!', 'ʾ', 0); + Exit; + end; + end; + if Trim(MJMaoZ.Text) <> '' then + begin + if TryStrToFloat(MJMaoZ.Text, mvalue) = False then + begin + Application.MessageBox('¼!', 'ʾ', 0); + Exit; + end; + end; + + if Trim(MJQty2.Text) <> '' then + begin + if TryStrToFloat(MJQty2.Text, mvalue) = False then + begin + Application.MessageBox('¼!', 'ʾ', 0); + Exit; + end; + end; + if Trim(Edit6.Text) <> '' then + begin + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select * from JYorder_Sub where Subid=''' + Trim(FSubId) + ''' and isnull(Slbname,'''')<>'''' '); + Open; + end; + if ADOTmp.IsEmpty then + begin + PlaySound('wav\ûñǩ.wav', 0, SND_FILENAME or SND_ASYNC); + Application.MessageBox('ûñǩ', 'ʾ', 0); + Exit; + end + else + begin + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOTmp.fieldbyname('Slbname').AsString); + if FileExists(fPrintFile) then + begin + + end + else + begin + PlaySound('wav\ǩûҵ.wav', 0, SND_FILENAME or SND_ASYNC); + Application.MessageBox('ǩûҵ볢µ¼пܱǩûϴ', 'ʾ', 0); + Exit; + end; + end; + end; + + BTPrint.Enabled := False; + Timer1.Enabled := True; + if SaveData() then + begin + MJMaoZ.Text := ''; + MJQty1.Text := ''; + MJQty2.Text := ''; + Label15.Caption := ''; + MJQty4.Text := ''; + + if edit10.Text = '' then + begin + MJXH.Text := inttostr(strTointdef(trim(MJXH.Text), 0) - 1); + end + else + begin + MJXH.Text := inttostr(strTointdef(trim(MJXH.Text), 0) + 1); + end; + if PState = 1 then + begin + PlaySound('wav\ȷ.wav', 0, SND_FILENAME or SND_ASYNC); + end + else if PState = 2 then + begin + PlaySound('wav\޸ijɹ.wav', 0, SND_FILENAME or SND_ASYNC); + end; + if PState = 2 then + begin + apid.Text := FAPID; + Button3.Click; + end; + + end + else + exit; + + if Trim(Edit6.Text) = '' then + begin + PrtData(FFFMJID); + end; + + if Trim(Edit6.Text) = '' then + begin + if (fbaotype = 'ֶ') or (fbaotype = '') then + begin + + end + else + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('exec P_View_Baoid_copy1 ''' + trim(FFFMJID) + ''' '); + sql.Add(',''' + trim(FMainId) + ''' ,''' + trim(FSubId) + ''' '); + if fbaotype = '' then + begin + sql.Add(' ,1 '); + end; + if fbaotype = 'ɫ' then + begin + sql.Add(' ,2 '); + end; + if fbaotype = 'ɫ' then + begin + sql.Add(' ,3 '); + end; +// ShowMessage(SQL.text); + Open; + end; + + if trim(ADOCmd.FieldByName('baoid').AsString) <> '' then + begin + PrtBaoData(ADOCmd.fieldbyname('baoid').AsString); + end; + end; + + end; + + Label16.Caption := ''; + BTAdd.Click; + MJLen.SetFocus; +// MJQty4.OnClick(MJQty4); + MJLen.OnClick(Mjlen); + +end; + +procedure TfrmMJManageNewFDNewSF.PrtData(FMJID: string); +var + fPrintFile: string; + Txt, fImagePath: string; + Moudle: THandle; + Makebar: TMakebar; + Mixtext: TMixtext; +begin + + with ADOQueryPrint do + begin + Close; + SQL.Clear; + sql.Add('select A.MJID,A.mjstr3,QtyUnit=A.MJTypeOther,B.orderNo,B.customerNoName,B.LBName '); + sql.Add(',EngColor=(select max(Note) from KH_Zdy X where X.ZDYName=C.PRTColor and X.Type=''OrdColor'' ) '); + sql.Add(',B.MPRTCF,C.*,A.* '); + sql.Add(' from WFB_MJJY A'); + sql.Add(' inner join JYOrder_Main B On A.Mainid=B.Mainid'); + sql.Add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); + SQL.Add(' where A.MJID=''' + Trim(FMJID) + ''''); + Open; +// ShowMessage(SQL.Text); + end; + + with ADOQueryPrint1 do + begin + Close; + SQL.Clear; + sql.Add('exec P_Print_RollLabel'); + sql.Add('@MJID=''' + Trim(FMJID) + ''' '); + Open; + + end; + + try + Moudle := LoadLibrary('MakeQRBarcode.dll'); + @Makebar := GetProcAddress(Moudle, 'Make'); + @Mixtext := GetProcAddress(Moudle, 'MixText'); + Txt := Trim(ADOQueryPrint1.fieldbyname('').AsString); + Txt := Trim(ADOQueryPrint.fieldbyname('MJID').AsString); + fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp'; + if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then + CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); + if FileExists(fImagePath) then + DeleteFile(fImagePath); + Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); + except + application.MessageBox('ʧܣ', 'ʾϢ', MB_ICONERROR); + CDS_MJID.EnableControls; + exit; + end; + + if Trim(ADOQueryPrint.fieldbyname('Slbname').AsString) <> '' then + begin + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('Slbname').AsString); + ExportFtErpFile(Trim(ADOQueryPrint.fieldbyname('Slbname').AsString), ADOCmd); + end + else + begin + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ͨñǩ.rmf'; + ExportFtErpFile('ͨñǩ.rmf', ADOCmd); + end; + + if Trim(ADOQueryPrint1.fieldbyname('Slbname').AsString) <> '' then + begin + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint1.fieldbyname('Slbname').AsString); + ExportFtErpFile(Trim(ADOQueryPrint1.fieldbyname('Slbname').AsString), ADOCmd); + end + else + begin + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ͨñǩ.rmf'; + ExportFtErpFile('ͨñǩ.rmf', ADOCmd); + end; + +// if FileExists(fPrintFile) then +// begin +// RMVariables['QRBARCODE'] := fImagePath; +// RM2.LoadFromFile(fPrintFile); +// +// RM2.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1); +// RM2.ShowReport; +// Sleep(1000); +//// RM2.PrintReport; +// if MggCDFalg = '99' then +// begin +// with ADOCmd do +// begin +// Close; +// sql.Clear; +// sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result,MainId) values( '); +// sql.Add(' ' + quotedstr(trim(DName))); +// sql.Add(',getdate() '); +// sql.Add(',' + quotedstr(trim(self.Caption))); +// sql.Add(',' + quotedstr(trim('ش'))); +// sql.Add(',' + quotedstr(trim(':' + trim(CDS_MJID.FieldByName('MJID').AsString) + ',' + trim(Label24.Caption) + ',' + trim(Label38.Caption) + ',' + trim(Label25.Caption) + ',׺ţ' + trim(CDS_MJID.FieldByName('mjstr4').AsString) + ',:' + trim(CDS_MJID.FieldByName('MJXH').AsString) + ',:' + trim(ComboBox1.Text)))); +// sql.Add(',' + quotedstr(trim('ɹ'))); +// sql.Add(',' + quotedstr(trim(FMainId))); +// sql.Add(')'); +// execsql; +// end; +// PlaySound('wav\شɹ.wav', 0, SND_FILENAME or SND_ASYNC); +// end; +// MggCDFalg := ''; +// end +// else +// begin +// MggCDFalg := ''; +// PlaySound('wav\ǩûҵ.wav', 0, SND_FILENAME or SND_ASYNC); +// Application.MessageBox('ǩûҵ볢µ¼пܱǩûϴ', 'ʾ', 0); +// end; + + if FileExists(fPrintFile) then + begin + + RMVariables['QRBARCODE'] := fImagePath; + + if Edit5.Text <> '' then + begin + RM3.LoadFromFile(fPrintFile); + + RM3.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1); +// RM3.ShowReport; + Sleep(1000); + RM3.PrintReport; + + end + else + begin + RM2.LoadFromFile(fPrintFile); + + RM2.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1); +// RM2.ShowReport; + Sleep(1000); + RM2.PrintReport; + end; + + if MggCDFalg = '99' then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result,MainId) values( '); + sql.Add(' ' + quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(trim('ش'))); + sql.Add(',' + quotedstr(trim(':' + trim(CDS_MJID.FieldByName('MJID').AsString) + ',' + trim(Label24.Caption) + ',' + trim(Label38.Caption) + ',' + trim(Label25.Caption) + ',׺ţ' + trim(CDS_MJID.FieldByName('mjstr4').AsString) + ',:' + trim(CDS_MJID.FieldByName('MJXH').AsString) + ',:' + trim(ComboBox1.Text)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(',' + quotedstr(trim(FMainId))); + sql.Add(')'); + execsql; + end; + PlaySound('wav\شɹ.wav', 0, SND_FILENAME or SND_ASYNC); + end; + MggCDFalg := ''; + end + else + begin + MggCDFalg := ''; + PlaySound('wav\ǩûҵ.wav', 0, SND_FILENAME or SND_ASYNC); + Application.MessageBox('ǩûҵ볢µ¼пܱǩûϴ', 'ʾ', 0); + end; +end; + +procedure TfrmMJManageNewFDNewSF.SavedataCK(); +var + CRID: Integer; + MaxCkNo, MaxCkSubNo: string; +begin + //if Trim(Cds_Main.fieldbyname('SubType').AsString)='' then + //////////////////////////////////////////////////////////////浽Ʒֿ//////////////////////////////////////////////// + with ADOCmd do + begin + Close; + sql.Clear; + SQL.add('Update CK_BanCP_CRID Set CRID=CRID+1'); + sql.Add('select * from CK_BanCP_CRID'); + Open; + end; + CRID := ADOCmd.fieldbyname('CRID').Value; + if GetLSNo(ADOCmd, MaxCkNo, 'JR', 'CK_BanCP_CR', 4, 1) = False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡƷֿʧܣ', 'ʾ', 0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_CR where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MainId').Value := Trim(FMainId); + FieldByName('SubId').Value := Trim(FSubId); + FieldByName('APID').Value := Trim(FAPID); + FieldByName('MJID').Value := Trim(CDS_MJID.fieldbyname('MJId').AsString); + FieldByName('BCID').Value := Trim(MaxCkNo); + FieldByName('CRTime').Value := SGetServerDateTime(ADOTmp); + FieldByName('CRFlag').Value := ''; + FieldByName('CRType').Value := ''; + //FieldByName('JTType').Value:=Trim(XJFlag); + FieldByName('CRID').Value := CRID; + if Trim(MJMaoZ.Text) <> '' then + begin + FieldByName('KGQty').Value := StrToFloat(MJMaoZ.Text); + end; + if Trim(MJLen.Text) <> '' then + begin + FieldByName('Qty').Value := StrToFloat(MJLen.Text); + end; + FieldByName('QtyUnit').Value := Trim(Label9.Caption); + FieldByName('Filler').Value := Trim(DName); + FieldByName('FillTime').Value := SGetServerDateTime(ADOTmp); + if Trim(Edit3.Text) <> '' then + begin + FieldByName('CPType').Value := 'Ʒ'; + end; + if Trim(Edit4.Text) <> '' then + begin + FieldByName('CPType').Value := 'Ʒ'; + end; + Post; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_KC where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('CRID').Value := CRID; + FieldByName('BCID').Value := Trim(MaxCkNo); + FieldByName('MJID').Value := Trim(CDS_MJID.fieldbyname('MJID').AsString); + if Trim(MJMaoZ.Text) <> '' then + begin + FieldByName('KCKGQty').Value := StrToFloat(MJMaoZ.Text); + end; + if Trim(MJLen.Text) <> '' then + begin + FieldByName('KCQty').Value := StrToFloat(MJLen.Text); + end; + FieldByName('KCQtyUnit').Value := Trim(Label9.Caption); + Post; + end; +end; + +procedure TfrmMJManageNewFDNewSF.BtnStatus(BSInt: Boolean); +begin + // Tv2.OptionsSelection.CellSelect:=BSInt; +end; + +procedure TfrmMJManageNewFDNewSF.Tv2CDQtyPropertiesEditValueChanged(Sender: TObject); +var + mvalue: string; +begin + try + mvalue := TcxTextEdit(Sender).EditingText; + if Trim(mvalue) <> '' then + begin + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('CDQty').Value := mvalue; + CDS_MJCD.Post; + end + else + begin + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('CDQty').Value := 0; + CDS_MJCD.Post; + end; + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('CDQtyS').Value := mvalue; + except + Application.MessageBox('Ƿ֣', 'ʾ', 0); + end; +end; + +procedure TfrmMJManageNewFDNewSF.SpeedButton1Click(Sender: TObject); +var + fsj: string; +begin + fsj := Trim(TSpeedButton(Sender).Hint); + if Trim(fsj) = '' then + Exit; + fsj := Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text := fsj + Trim(TSpeedButton(Sender).Caption); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TfrmMJManageNewFDNewSF.SpeedButton12Click(Sender: TObject); +var + fsj: string; +begin + fsj := Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); + if Trim(fsj) = '' then + Exit; + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text := Copy(fsj, 1, Length(fsj) - 1); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TfrmMJManageNewFDNewSF.SpeedButton13Click(Sender: TObject); +var + i: Integer; +begin + if Trim(Label24.Caption) = '' then + Exit; + if Label24.Visible = False then + Exit; + {with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select * from Order_JYResult where APID='''+Trim(FAPID)+''''); + Open; + end; + if ADOTmp.IsEmpty then + begin + Application.MessageBox('ŷδ¼,ܼ!','ʾ',0); + Exit; + end; } + if Trim(CDS_MJCD.fieldbyname('MJID').AsString) <> '' then + begin + if Trim(Label24.Caption) = '' then + Exit; + + InitCDGridID(); + InitCDGrid(); + BtnStatus(True); +// BTAdd.Click; + end; +// if Trim(Label15.Caption) <> '' then +// begin +// //MJFK.Text:=''; +// //MJSJKZ.Text:=''; +// MJLen.Text := ''; +// MJMaoZ.Text := ''; +// MJQty1.Text := ''; +// //MJSJKZ.Text:=''; +// Label15.Caption := ''; +// +// end; + if Trim(FAPID) = '' then + Exit; + FCDName := Trim(TSpeedButton(Sender).Hint); + MovePanel1.Visible := True; + Label21.Caption := Trim(FCDName); + FInt := 11; + Edit1.SetFocus; + //CDQty.SetFocus; + Panel3.Visible := True; +// PState := 1; + with Panel3 do + begin + for i := 0 to ControlCount - 1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint := Trim(Edit1.Name); + end; + end; + end; + +end; + +procedure TfrmMJManageNewFDNewSF.cxGridDBColumn2PropertiesChange(Sender: TObject); +var + fsj: string; +begin + + fsj := Trim(Order_MJ.fieldbyname('SubId').AsString); + Order_MJ.DisableControls; + with Order_MJ do + begin + First; + while not Eof do + begin + if Trim(Order_MJ.fieldbyname('SubId').AsString) <> fsj then + begin + Edit; + FieldByName('SSel').Value := False; + end; + Next; + end; + end; + Order_MJ.EnableControls; + Order_MJ.Locate('SubId', fsj, []); +end; + +procedure TfrmMJManageNewFDNewSF.Button1Click(Sender: TObject); +var + mvalue: Double; +begin + { if Trim(Edit1.Text)='' then + begin + Application.MessageBox('λòΪգ','ʾ',0); + exit; + end; } + if Trim(Edit1.Text) <> '' then + begin + if Trim(Edit2.Text) <> '' then + begin + if StrToFloat(Edit2.Text) < StrToFloat(Edit1.Text) then + begin + Application.MessageBox('õλ¼!', 'ʾ', 0); + Exit; + end; + end; + end; + if CDQty.Text <> '' then + begin + if TryStrToFloat(CDQty.Text, mvalue) = False then + begin + Application.MessageBox('Ƿ!', 'ʾ', 0); + Exit; + end; + end; + with CDS_MJCD do + begin + Append; + FieldByName('cdname').Value := Trim(FCDName); + FieldByName('CDbeg').Value := Trim(Edit1.Text); + FieldByName('CDEnd').Value := Trim(Edit2.Text); + FieldByName('KouFenQty').Value := RadioGroup1.ItemIndex + 1; + FieldByName('JBQty').Value := strtofloatdef(trim(Edit8.Text), 0); + if Trim(CDQty.Text) <> '' then + begin + FieldByName('CDQty').Value := StrToFloat(CDQty.Text); + end + else + begin + FieldByName('CDQty').Value := 0; + end; + + Post; + end; + Edit1.Text := ''; + Edit2.Text := ''; + CDQty.Text := ''; + Edit8.Text := ''; + MovePanel1.Visible := False; + Panel3.Visible := False; +end; + +procedure TfrmMJManageNewFDNewSF.Button4Click(Sender: TObject); +begin + Edit1.Text := ''; + Edit2.Text := ''; + CDQty.Text := ''; + MovePanel1.Visible := False; + Panel3.Visible := False; +end; + +procedure TfrmMJManageNewFDNewSF.SpeedButton49Click(Sender: TObject); +begin + Panel3.Visible := False; +end; + +procedure TfrmMJManageNewFDNewSF.APIDKeyPress(Sender: TObject; var Key: Char); +begin + if Key = #13 then + begin + Button3.Click; + end; +end; + +procedure TfrmMJManageNewFDNewSF.Edit1Click(Sender: TObject); +var + i: Integer; +begin + Panel3.Visible := True; + with Panel3 do + begin + for i := 0 to ControlCount - 1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint := Trim(TEdit(Sender).Name); + + end; + end; + end; +end; + +procedure TfrmMJManageNewFDNewSF.Edit2Change(Sender: TObject); +var + mvalue: Double; +begin + if Trim(Edit1.Text) <> '' then + begin + if TryStrToFloat(Edit1.Text, mvalue) = False then + begin + Application.MessageBox('Ƿ!', 'ʾ', 0); + Exit; + end; + end + else + begin + Exit; + end; + if Trim(Edit2.Text) <> '' then + begin + if TryStrToFloat(Edit2.Text, mvalue) = False then + begin + Application.MessageBox('Ƿ!', 'ʾ', 0); + Exit; + end; + end + else + begin + Exit; + end; + CDQty.Text := FloatToStr(StrToFloat(Edit2.Text) - StrToFloat(Edit1.Text)); +end; + +procedure TfrmMJManageNewFDNewSF.Edit3Click(Sender: TObject); +begin + if Trim(Edit3.Text) = '' then + begin + Edit3.Text := ''; + Edit4.Text := ''; + end + else + begin + Edit3.Text := ''; + end; +end; + +procedure TfrmMJManageNewFDNewSF.Edit4Click(Sender: TObject); +begin + if Trim(Edit4.Text) = '' then + begin + Edit4.Text := ''; + Edit3.Text := ''; + end + else + begin + Edit4.Text := ''; + end; +end; + +procedure TfrmMJManageNewFDNewSF.Edit6Click(Sender: TObject); +begin + if Trim(Edit6.Text) = '' then + begin + Edit6.Text := ''; + end + else + begin + Edit6.Text := ''; + end; +end; + +procedure TfrmMJManageNewFDNewSF.MJstr3KeyPress(Sender: TObject; var Key: Char); +begin + if Key = #13 then + begin + BTPrint.Click; + end; +end; + +procedure TfrmMJManageNewFDNewSF.Label9Click(Sender: TObject); +begin + if trim(Label9.Caption) = 'M' then + begin + Label9.Caption := 'Y'; + Label19.Caption := 'Y'; + Label20.Caption := 'Y'; + Label7.Caption := 'Y'; + end + else + begin + Label9.Caption := 'M'; + Label19.Caption := 'M'; + Label20.Caption := 'M'; + Label7.Caption := 'M'; + end; +end; + +procedure TfrmMJManageNewFDNewSF.Button2Click(Sender: TObject); +begin + RadioGroup1.ItemIndex := -1; +end; + +procedure TfrmMJManageNewFDNewSF.MJQty4Change(Sender: TObject); +var + FReal: Double; +begin + + if Trim(MJQty4.Text) = '' then + begin + MJMaoZ.Text := ''; + Exit; + end; + if TryStrToFloat(MJQty4.Text, FReal) = False then + Exit; + if Edit11.Text = '' then + begin + if (strtofloatdef(trim(kmxs.Text), 0) <> 0) and (strtofloatdef(trim(mjQty4.Text), 0) <> 0) then + begin + MJLen.Text := format('%.' + trim(fxsws) + 'f', [(strtofloatdef(trim(mjQty4.Text), 0) + fjZ) * strtofloatdef(trim(kmxs.Text), 0)]) + end; + end; +end; + +procedure TfrmMJManageNewFDNewSF.MJMaoZChange(Sender: TObject); +var + FReal, jz: Double; +begin + if Trim(MJMaoZ.Text) = '' then + begin + MJQty4.Text := ''; + Exit; + end; + if TryStrToFloat(MJMaoZ.Text, FReal) = False then + Exit; + if Trim(MJQty3.Text) <> '' then + begin + if TryStrToFloat(MJQty3.Text, FReal) = False then + Exit; + jz := StrToFloat(MJMaoZ.Text) - StrToFloat(MJQty3.Text); + MJQty4.Text := format('%.' + trim(fxsws1) + 'f', [jz]); + end + else + begin + MJQty4.Text := MJMaoZ.Text; + end; + if Edit11.Text <> '' then + begin + if (strtofloatdef(trim(kmxs.Text), 0) <> 0) and (strtofloatdef(trim(MJMaoZ.Text), 0) <> 0) then + begin + MJLen.Text := format('%.' + trim(fxsws) + 'f', [(strtofloatdef(trim(MJMaoZ.Text), 0) + fjZ) * strtofloatdef(trim(kmxs.Text), 0)]) + end; + end; + +end; + +procedure TfrmMJManageNewFDNewSF.APIDClick(Sender: TObject); +var + i: Integer; +begin + Panel3.Visible := True; + with Panel3 do + begin + for i := 0 to ControlCount - 1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint := Trim(TEdit(Sender).Name); + end; + end; + end; +end; + +procedure TfrmMJManageNewFDNewSF.Button3Click(Sender: TObject); +var + FBaoID: string; +begin + fRollType := ''; + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select B.*,B.OrderNo OrderNoM,C.*, '); + sql.Add('maxMJxh=isnull((select max(mjxh) from WFB_MJJY X where X.SubID=C.subID),0),'); + sql.Add('minMJxh=isnull((select min(mjxh) from WFB_MJJY X where X.SubID=C.subID),1),'); +// sql.Add('maxBaoNO=1+isnull((select max(cast(baoNO as int)) from WFB_MJJY X where X.subID=C.subID ),0)'); + sql.Add('maxBaoNO=case when B.baosx=''ɫ'' then 1+isnull((select max(cast(baoNO as int)) from WFB_MJJY X where X.mainID=C.mainID and X.subid=C.subID ),0)'); + sql.Add(' else 1+isnull((select max(cast(baoNO as int)) from WFB_MJJY X where X.mainID=C.mainID ),0) end '); + + sql.Add('from JYOrder_Sub C'); + SQL.Add('inner join JYOrder_Main B on B.MainId=C.MainId '); + sql.Add('where C.SubID=''' + Trim(APID.Text) + ''''); + Open; + end; + if ADOTmp.IsEmpty = False then + begin + if edit10.Text = '' then + begin + fRollType := '޹'; + fRollType1 := trim(ADOTmp.fieldbyname('Orddefstr15').AsString); + end + else + begin + fRollType := trim(ADOTmp.fieldbyname('Orddefstr15').AsString); + end; + + Label24.Visible := True; + Label24.Caption := ':' + Trim(ADOTmp.fieldbyname('OrderNoM').AsString); + Label38.Visible := True; + Label38.Caption := 'Ʒ:' + Trim(ADOTmp.fieldbyname('PRTCodeName').AsString); + Label25.Visible := True; + Label25.Caption := 'ɫ:' + Trim(ADOTmp.fieldbyname('SOrddefstr1').AsString); + Label47.Visible := true; + Label47.Caption := 'ɫ:' + Trim(ADOTmp.fieldbyname('PRTcolor').AsString); + if Trim(ADOTmp.fieldbyname('PRTHX').AsString) <> '' then + begin + Label2.Visible := true; + Label2.Caption := ':' + Trim(ADOTmp.fieldbyname('PRTHX').AsString); + end; + + FAPID := Trim(ADOTmp.fieldbyname('SubId').AsString); + FMainId := Trim(ADOTmp.fieldbyname('MainId').AsString); + FSubId := Trim(ADOTmp.fieldbyname('SubId').AsString); + fprtcolor := Trim(ADOTmp.fieldbyname('prtcolor').AsString); + FJZ := ADOTmp.fieldbyname('jiazhong').AsFloat; + FJC := ADOTmp.fieldbyname('jiachang').AsFloat; + FDC := StrToFloatDef(ADOTmp.fieldbyname('DC').asstring, 0); + fbaotype := Trim(ADOTmp.fieldbyname('baotype').AsString); + fbaosx := Trim(ADOTmp.fieldbyname('baosx').AsString); + if FDC <> 0 then + begin + Edit12.Visible := True; + Label51.Visible := True; + Edit12.Text := ''; + end + else + begin + Edit12.Visible := False; + Label51.Visible := False; + Edit12.Text := ''; + end; + AOrdDefNote1.Text := 'װҪ:' + #13 + Trim(ADOTmp.fieldbyname('MPRTBZNote').AsString) + #13 + 'Ҫ:' + #13 + Trim(ADOTmp.fieldbyname('MPRTSCTeBieNote').AsString); + MJQty3.Text := Trim(ADOTmp.fieldbyname('SPiZhong').AsString); + kmxs.Text := Trim(ADOTmp.fieldbyname('kmxs').AsString); + MJFK.Text := Trim(ADOTmp.fieldbyname('PRTMF').AsString); + MJSJKZ.Text := Trim(ADOTmp.fieldbyname('PRTKZ').AsString); + if edit10.Text = '' then + begin + MJXH.Text := inttostr(ADOTmp.fieldbyname('maxMJxh').AsInteger + 1); + end + else + begin + MJXH.Text := inttostr(ADOTmp.fieldbyname('minMJxh').AsInteger - 1); + end; + fxsws := Trim(ADOTmp.fieldbyname('xsws').AsString); + fxsws1 := Trim(ADOTmp.fieldbyname('xsws1').AsString); + baoNO.Text := Trim(ADOTmp.fieldbyname('maxBaoNO').AsString); + if GetLSNo(ADOCmd, FBaoID, 'BI', 'WFB_MJJY', 3, 1) = False then + begin + Application.MessageBox('ȡʧܣ', 'ʾ', 0); + Exit; + end; + baoid.Text := FBaoID; + Edit3.Text := ''; + Edit4.Text := ''; + MJStr4.Text := Trim(ADOTmp.fieldbyname('PRTganghao').AsString); + end + else + begin + Application.MessageBox('!', 'ʾ', 0); + Label2.Visible := False; + Label2.Caption := ''; + APID.Text := ''; + FAPID := ''; + FMainId := ''; + FSubId := ''; + AOrdDefNote1.Text := ''; + MJStr4.Text := ''; + fRollType := ''; + Exit; + end; + APID.Text := ''; + BTAdd.Click; +end; + +procedure TfrmMJManageNewFDNewSF.Edit7Click(Sender: TObject); +begin + if Trim(Edit7.Text) = '' then + begin + Edit7.Text := ''; + if not IsCommOpen then + OpenCom(JCYDLL); + IsJsMessage := true; + end + else + begin + Edit7.Text := ''; + IsJsMessage := true; + end; +end; + +procedure TfrmMJManageNewFDNewSF.Button6Click(Sender: TObject); +begin + frmClothHCList := TfrmClothHCList.create(self); + with frmClothHCList do + begin + fType := '10'; + if showmodal = 1 then + begin + APID.Text := trim(Order_Main.fieldbyname('Subid').asstring); + Button3.Click; + end; + free; + end; +end; + +procedure TfrmMJManageNewFDNewSF.MJQty4KeyPress(Sender: TObject; var Key: Char); +begin + if Key = #13 then + begin + BTPrint.Click; + end; +end; + +procedure TfrmMJManageNewFDNewSF.MJXHClick(Sender: TObject); +var + i: Integer; +begin + Panel3.Visible := True; + with Panel3 do + begin + for i := 0 to ControlCount - 1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint := Trim(TEdit(Sender).Name); + end; + end; + end; +end; + +procedure TfrmMJManageNewFDNewSF.MJLenChange(Sender: TObject); +begin +// MJLen.Text:=JsXj(MJLen.Text); +end; + +procedure TfrmMJManageNewFDNewSF.MJQty3Change(Sender: TObject); +begin + // MJQty3.Text:=JsXj(MJQty3.Text); +end; + +procedure TfrmMJManageNewFDNewSF.MJQty2Change(Sender: TObject); +begin + // MJQty2.Text:=JsXj(MJQty2.Text); +end; + +procedure TfrmMJManageNewFDNewSF.MJQty4KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); +begin + Tedit(Sender).SelStart := length(Tedit(Sender).Text); +end; + +procedure TfrmMJManageNewFDNewSF.MJStr4Exit(Sender: TObject); +begin + if Pstate = 1 then + begin + if fRollType = '' then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select maxRoll=1+isnull(cast(max(mjxh) as int),0) '); + sql.Add('from WFB_MJJY X where X.mainID=''' + trim(fMainID) + ''' '); + // sql.add('and X.MJStr4='+quotedstr(trim(MJstr4.text))); + Open; + MJXH.Text := Trim(fieldbyname('maxRoll').AsString); + end; + end + else if fRollType = '׺' then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select maxRoll=1+isnull(cast(max(mjxh) as int),0) '); + sql.Add('from WFB_MJJY X where X.subID=''' + trim(FSubId) + ''' '); + sql.add('and X.MJStr4=' + quotedstr(trim(MJstr4.text))); + Open; + MJXH.Text := Trim(fieldbyname('maxRoll').AsString); + end; + end + else if fRollType = '޹' then + begin + if edit10.Text = '' then + begin + if fRollType1 = '' then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select maxRoll=isnull(cast(min(mjxh) as int),1)-1 '); + sql.Add('from WFB_MJJY X where X.mainID=''' + trim(fMainID) + ''' '); + Open; + MJXH.Text := Trim(fieldbyname('maxRoll').AsString); + end; + end + else if fRollType1 = '޹' then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select maxRoll=isnull(cast(min(mjxh) as int),1)-1 '); + sql.Add('from WFB_MJJY X where X.mainID=''' + trim(fMainID) + ''' '); + Open; + MJXH.Text := Trim(fieldbyname('maxRoll').AsString); + end; + end + else if fRollType1 = '׺' then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select maxRoll=isnull(cast(min(mjxh) as int),1)-1 '); + sql.Add('from WFB_MJJY X where X.subID=''' + trim(FSubId) + ''' '); + sql.add('and X.MJStr4=' + quotedstr(trim(MJstr4.text))); + Open; + MJXH.Text := Trim(fieldbyname('maxRoll').AsString); + end; + end + else if fRollType1 = 'ɫ' then + begin + with ADOCmd do + begin + Close; + sql.Clear; +// sql.Add('select maxRoll=isnull(cast(min(mjxh) as int),1)-1 '); +// sql.Add('from WFB_MJJY X inner join JYOrder_Sub B on B.mainid=X.mainid where X.mainID=''' + trim(FmainId) + ''' and B.prtcolor=''' + trim(fprtcolor) + ''' '); + sql.Add('select maxRoll=isnull(cast(min(mjxh) as int),1)-1 '); + sql.Add('from WFB_MJJY X where X.subID=''' + trim(FSubId) + ''' '); + Open; + MJXH.Text := Trim(fieldbyname('maxRoll').AsString); + end; + end; + end; + end + else + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select maxRoll=1+isnull(cast(max(mjxh) as int),0) '); + sql.Add('from WFB_MJJY X where X.subID=''' + trim(FSubId) + ''' '); + Open; + MJXH.Text := Trim(fieldbyname('maxRoll').AsString); + end; + end; + end; +end; + +procedure TfrmMJManageNewFDNewSF.ToolButton2Click(Sender: TObject); +begin + if CDS_MJID.IsEmpty then + exit; + if CDS_MJCD.IsEmpty = False then + begin + if Trim(CDS_MJCD.fieldbyname('MJID').AsString) = '' then + begin + Application.MessageBox('δ,!', 'ʾ', 0); + Exit; + end; + end; + + FInt := 4; + PState := 0; + InitCDGrid(); + with ADOTmp do + begin + close; + sql.Clear; + sql.Add('select * from WFB_MJJY where MJID=''' + Trim(CDS_MJID.fieldbyname('MJID').AsString) + ''''); + Open; + end; + MJFK.Text := Trim(ADOTmp.fieldbyname('MJFK').AsString); + MJSJKZ.Text := Trim(ADOTmp.fieldbyname('MJSJKZ').AsString); + + MJQty1.Text := Trim(ADOTmp.fieldbyname('MJQty1').AsString); + MJQty2.Text := Trim(ADOTmp.fieldbyname('MJQty2').AsString); + MJQty3.Text := Trim(ADOTmp.fieldbyname('MJQty3').AsString); + MJQty4.Text := Trim(ADOTmp.fieldbyname('MJQty4').AsString); + MJMaoZ.Text := Trim(ADOTmp.fieldbyname('MJMaoZ').AsString); + Label15.Caption := Trim(CDS_MJID.fieldbyname('MJID').AsString); + MJLen.Text := Trim(ADOTmp.fieldbyname('MJLen').AsString); + MJstr4.Text := Trim(ADOTmp.fieldbyname('MJstr4').AsString); + MJXH.Text := Trim(ADOTmp.fieldbyname('MJXH').AsString); + baono.Text := Trim(ADOTmp.fieldbyname('baono').AsString); + baoid.Text := Trim(ADOTmp.fieldbyname('baoid').AsString); + if Trim(ADOTmp.fieldbyname('MJType').AsString) = 'Ʒ' then + begin + Edit3.Text := ''; + Edit4.Text := ''; + end + else if Trim(ADOTmp.fieldbyname('MJType').AsString) = 'Ʒ' then + begin + Edit4.Text := ''; + Edit3.Text := ''; + end; + BtnStatus(False); + Label16.Caption := ''; + PState := 2; +end; + +procedure TfrmMJManageNewFDNewSF.Edit9Click(Sender: TObject); +begin + if Trim(Edit9.Text) = '' then + begin + Edit9.Text := ''; + end + else + begin + Edit9.Text := ''; + end; +end; + +procedure TfrmMJManageNewFDNewSF.ToolButton3Click(Sender: TObject); +begin + if CDS_MJID.IsEmpty then + exit; + if Application.MessageBox('ȷҪɾ', 'ʾ', 32 + 4) <> IDYES then + Exit; + + with ADOCmd do + begin + Close; + sql.Clear; + sql.add('insert into WFB_MJJY_Del select * from WFB_MJJY where mjid=''' + trim(CDS_MJID.FieldByName('MJID').AsString) + ''' '); + sql.Add('update WFB_MJJY_Del Set DelTime=Getdate(),Deler=''' + Trim(DName) + ''' where mjid=''' + trim(CDS_MJID.FieldByName('MJID').AsString) + ''' '); + + sql.Add('delete WFB_MJJY where MJID=''' + trim(CDS_MJID.fieldbyName('MJID').AsString) + ''' '); + sql.Add('delete WFB_MJJY_CD where MJID=''' + trim(CDS_MJID.fieldbyName('MJID').AsString) + ''' '); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result,Mainid) values( '); + sql.Add(' ' + quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(trim('ɾ'))); + sql.Add(',' + quotedstr(trim(':' + trim(CDS_MJID.FieldByName('MJID').AsString) + ' ָʾ:' + trim(fsubID) + '׺:' + trim(CDS_MJID.FieldByName('MJstr4').AsString) + ':' + trim(CDS_MJID.FieldByName('MJXH').AsString) + ':' + trim(CDS_MJID.FieldByName('MJLen').AsString) + ':' + trim(CDS_MJID.FieldByName('MJQty4').AsString)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(',' + quotedstr(trim(FMainId))); + sql.Add(')'); + execsql; + end; + InitCDGridID(); + PlaySound('wav\ɾɹ.wav', 0, SND_FILENAME or SND_ASYNC); +end; + +procedure TfrmMJManageNewFDNewSF.Button7Click(Sender: TObject); +var + fPrintFile: string; + Txt, fImagePath: string; + Moudle: THandle; + Makebar: TMakebar; + Mixtext: TMixtext; + FBaoID: string; + i: Integer; +begin + if CDS_MJID.IsEmpty then + exit; + CDS_MJID.First; + with ADOQueryPrint do + begin + Close; + SQL.Clear; + sql.Add('select A.Baoid,A.BaoNo,A.MJTypeOther as QtyUnit,D.OrderNo,D.conNo,D.customerNoName,D.MprtCodeName,D.Mprtspec,D.OrdPerson1,D.MPRTKuanNO,D.LBName,D.NLBName,C.KHorderNo,'); + sql.Add('PRTCodeName=DBO.F_Get_Order_SubStr(BaoID,''BNCodeName''),'); + sql.Add('PRTColor=DBO.F_Get_Order_SubStr(BaoID,''BNColor''),SOrddefstr1=DBO.F_Get_Order_SubStr(BaoID,''BNSOrddefstr1''),'); + sql.Add('SOrddefstr4=DBO.F_Get_Order_SubStr(BaoID,''BNSOrddefstr4''),PRtHX=DBO.F_Get_Order_SubStr(BaoID,''BNPRtHX''), '); + sql.Add('Mjstr4=DBO.F_Get_Order_SubStr(BaoID,''BNGangNo''), '); + sql.Add('MJXH=DBO.F_Get_Order_SubStr(BaoID,''BNMJXH''), '); + sql.Add('BNMJLENLIST=DBO.F_Get_Order_SubStr(BaoID,''BNMJLENLIST''), '); + sql.Add('PRTkuanNo=DBO.F_Get_Order_SubStr(BaoID,''BNPrtkuanno''),'); + sql.Add('khConNo=(select top 1 khConNo from JYOrderCon_Main X where X.ConNO=D.conNO), '); + sql.Add('MprtCodeNameEng=(select top 1 Note from KH_Zdy X where X.zdyName=D.MprtCodeName), '); + SQL.ADD('count(A.MJID) as JSl,sum(A.MJMaoZ) MJMAOZ,sum(MJQty3) as MJQty3,sum(MJQty4) as MJQty4,SUM(A.MJLen)as MJLen'); + sql.Add('from WFB_MJJY A'); + sql.Add('inner join JYOrder_Sub C on C.SubID=A.SubID'); + sql.Add('inner join JYOrder_Main D on D.MainID=A.MainID'); + SQL.Add('where A.BaoID=''' + Trim(CDS_MJID.fieldbyname('baoID').AsString) + ''''); + SQL.ADD('group by A.Baoid,A.BaoNo,A.MJTypeOther,D.OrderNo,D.conNo,D.customerNoName,D.MprtCodeName,D.Mprtspec,D.OrdPerson1,D.MPRTKuanNO,D.LBName,D.NLBName,C.KHorderNo'); + Open; + end; + if ADOQueryPrint.RecordCount > 1 then + begin + Application.MessageBox('´!', 'ʾ', 0); + Exit; + end; + if ADOQueryPrint.RecordCount < 1 then + begin + Application.MessageBox('˰Żδ棬뱣ݣڴӡ룡', 'ʾ', 0); + Exit; + end; + try + Moudle := LoadLibrary('MakeQRBarcode.dll'); + @Makebar := GetProcAddress(Moudle, 'Make'); + @Mixtext := GetProcAddress(Moudle, 'MixText'); + Txt := trim(BaoID.Text); + fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp'; + if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then + CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); + if FileExists(fImagePath) then + DeleteFile(fImagePath); + Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); + except + application.MessageBox('ʧܣ', 'ʾϢ', MB_ICONERROR); + exit; + end; + + with ADOTmp do + begin + close; + sql.Clear; + sql.Add('select max(cast(baoNO as int)) as maxbaoNO from WFB_MJJY '); + sql.Add('where mainID=' + quotedstr(trim(fmainID))); + sql.Add('and subID=' + quotedstr(trim(fsubID))); + open; + end; + baoNo.Text := inttostr(ADOTmp.fieldbyname('maxbaoNO').AsInteger + 1); + if GetLSNo(ADOTmp, FBaoID, 'BI', 'WFB_MJJY', 3, 1) = False then + begin + Application.MessageBox('ȡʧܣ', 'ʾ', 0); + Exit; + end; + BaoID.Text := trim(FBaoID); + + if Trim(ADOQueryPrint.fieldbyname('NLBName').AsString) <> '' then + begin + ExportFtErpFile(Trim(ADOQueryPrint.fieldbyname('NLbName').AsString), ADOCmd); + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('NLbName').AsString) + end + else + begin + ExportFtErpFile('ǩ.rmf', ADOCmd); + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ǩ.rmf'; + end; + + if not FileExists(fPrintFile) then + begin + Application.MessageBox(PChar('û' + fPrintFile), 'ʾ', 0); + Exit; + end; + + if FileExists(fPrintFile) then + begin + RMVariables['QRBARCODE'] := fImagePath; + RM2.LoadFromFile(fPrintFile); + RM2.DefaultCopies := 1; + //RM2.ShowReport; + RM2.printReport; + end; + +end; + +procedure TfrmMJManageNewFDNewSF.Edit10Click(Sender: TObject); +begin + if Trim(Edit10.Text) = '' then + begin + Edit10.Text := ''; + frolltype1 := frolltype; + frolltype := '޹'; + end + else + begin + Edit10.Text := ''; + frolltype := frolltype1; + frolltype1 := ''; + end; +end; + +procedure TfrmMJManageNewFDNewSF.Edit11Click(Sender: TObject); +begin + if Trim(Edit11.Text) = '' then + begin + Edit11.Text := ''; + end + else + begin + Edit11.Text := ''; + end; +end; + +procedure TfrmMJManageNewFDNewSF.ToolButton4Click(Sender: TObject); +begin + frmSysLogOrder := TfrmSysLogOrder.create(self); + with frmSysLogOrder do + begin + fModel := self.caption; + frmSysLogOrder.FMainId := Trim(Self.FMainId); + showmodal; + free; + end; +end; + +procedure TfrmMJManageNewFDNewSF.MaxRollNoKeyPress(Sender: TObject; var Key: Char); +begin + if not (Key in ['0'..'9']) then + Key := #0; +end; + +procedure TfrmMJManageNewFDNewSF.Edit12Click(Sender: TObject); +begin + if Trim(Edit12.Text) = '' then + begin + Edit12.Text := ''; + end + else + begin + Edit12.Text := ''; + end; +end; + +procedure TfrmMJManageNewFDNewSF.Timer1Timer(Sender: TObject); +begin + btprint.Enabled := True; + Timer1.Enabled := False; +end; + +procedure TfrmMJManageNewFDNewSF.TBCDClick(Sender: TObject); +var + fPrintFile: string; + i: Integer; +begin + if CDS_MJID.IsEmpty then + Exit; + MggCDFalg := '99'; + + PrtData(Trim(CDS_MJID.fieldbyname('MJID').AsString)); + Label16.Caption := ''; + BTAdd.Click; + MJLen.SetFocus; + MJQty4.OnClick(MJQty4); + +end; + +procedure TfrmMJManageNewFDNewSF.Edit5Click(Sender: TObject); +begin + if Trim(Edit5.Text) = '' then + begin + Edit5.Text := ''; + end + else + begin + Edit5.Text := ''; + end; +end; + +end. + diff --git a/打卷检验管理/U_MJManageNewFDNew1.dfm b/打卷检验管理/U_MJManageNewFDNew1.dfm new file mode 100644 index 0000000..8e5c0f5 --- /dev/null +++ b/打卷检验管理/U_MJManageNewFDNew1.dfm @@ -0,0 +1,1967 @@ +object frmMJManageNewFDNew: TfrmMJManageNewFDNew + Left = 68 + Top = -26 + Width = 1280 + Height = 754 + HorzScrollBar.Position = 85 + Caption = #25104#21697#26816#39564 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClick = FormClick + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = -85 + Top = 0 + Width = 1365 + Height = 30 + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = ToolButton1Click + end + object TBCD: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #30133#28857#31649#29702 + ImageIndex = 132 + OnClick = TBCDClick + end + object TBClose: TToolButton + Left = 150 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object cxGrid2: TcxGrid + Left = 626 + Top = 78 + Width = 330 + Height = 620 + Align = alLeft + TabOrder = 1 + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv2CellClick + OnCellDblClick = Tv2CellDblClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column1 + end + item + Kind = skSum + Column = Tv2CDQty + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object tv2CDType: TcxGridDBColumn + Caption = #30133#28857#21517#31216 + DataBinding.FieldName = 'CDName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle4 + Styles.Header = cxStyle4 + Width = 98 + end + object tv2CDWZ: TcxGridDBColumn + Caption = #20301#32622#36215 + DataBinding.FieldName = 'CDBeg' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle1 + Styles.Header = cxStyle1 + Width = 76 + end + object v2Column2: TcxGridDBColumn + Caption = #20301#32622#27490 + DataBinding.FieldName = 'CDend' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Styles.Content = cxStyle1 + Styles.Header = cxStyle1 + Width = 75 + end + object Tv2CDQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'CDQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = Tv2CDQtyPropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle3 + Styles.Header = cxStyle3 + Width = 73 + end + object Tv2CDReason: TcxGridDBColumn + Caption = #21407#22240 + DataBinding.FieldName = 'CDReason' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 131 + end + object v2Column1: TcxGridDBColumn + DataBinding.FieldName = 'CDQty' + Visible = False + Width = 55 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object cxGrid3: TcxGrid + Left = 956 + Top = 78 + Width = 324 + Height = 620 + Align = alLeft + TabOrder = 2 + object Tv3: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv3CellClick + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = cxStyle4 + Styles.IncSearch = cxStyle4 + Styles.Selection = cxStyle4 + object cxGridDBColumn1: TcxGridDBColumn + Caption = #21367#26465#30721 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle5 + Styles.Header = cxStyle5 + Width = 146 + end + object v3Column3: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'MJType' + Options.Editing = False + Styles.Content = cxStyle5 + Styles.Header = cxStyle5 + Width = 48 + end + object v3Column1: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'MJXH' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle4 + Styles.Header = cxStyle4 + Width = 49 + end + object v3Column2: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'MJLen' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle3 + Styles.Header = cxStyle3 + Width = 60 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv3 + end + end + object ScrollBox1: TScrollBox + Left = -85 + Top = 78 + Width = 483 + Height = 620 + Align = alLeft + TabOrder = 3 + object SpeedButton13: TSpeedButton + Left = 7 + Top = 3 + Width = 70 + Height = 70 + Caption = #23567#40657#28857 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton14: TSpeedButton + Left = 86 + Top = 3 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton15: TSpeedButton + Left = 166 + Top = 3 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton16: TSpeedButton + Left = 245 + Top = 3 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton17: TSpeedButton + Left = 325 + Top = 3 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton18: TSpeedButton + Left = 404 + Top = 3 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton21: TSpeedButton + Left = 7 + Top = 77 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton22: TSpeedButton + Left = 86 + Top = 77 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton23: TSpeedButton + Left = 166 + Top = 77 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton24: TSpeedButton + Left = 245 + Top = 77 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton25: TSpeedButton + Left = 325 + Top = 77 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton26: TSpeedButton + Left = 404 + Top = 77 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton29: TSpeedButton + Left = 7 + Top = 151 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton30: TSpeedButton + Left = 86 + Top = 151 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton31: TSpeedButton + Left = 166 + Top = 151 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton32: TSpeedButton + Left = 245 + Top = 151 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton33: TSpeedButton + Left = 325 + Top = 151 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton34: TSpeedButton + Left = 404 + Top = 151 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton37: TSpeedButton + Left = 7 + Top = 225 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton38: TSpeedButton + Left = 86 + Top = 225 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton39: TSpeedButton + Left = 166 + Top = 225 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton40: TSpeedButton + Left = 245 + Top = 225 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton41: TSpeedButton + Left = 325 + Top = 225 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton42: TSpeedButton + Left = 404 + Top = 225 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton45: TSpeedButton + Left = 7 + Top = 299 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton46: TSpeedButton + Left = 86 + Top = 299 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton47: TSpeedButton + Left = 166 + Top = 299 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton48: TSpeedButton + Left = 245 + Top = 299 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton50: TSpeedButton + Left = 325 + Top = 299 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton51: TSpeedButton + Left = 404 + Top = 299 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton54: TSpeedButton + Left = 7 + Top = 373 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton55: TSpeedButton + Left = 86 + Top = 373 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton56: TSpeedButton + Left = 166 + Top = 373 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton57: TSpeedButton + Left = 245 + Top = 373 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton58: TSpeedButton + Left = 325 + Top = 373 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton59: TSpeedButton + Left = 404 + Top = 373 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton62: TSpeedButton + Left = 7 + Top = 447 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton63: TSpeedButton + Left = 86 + Top = 447 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton64: TSpeedButton + Left = 166 + Top = 447 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton65: TSpeedButton + Left = 245 + Top = 447 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton66: TSpeedButton + Left = 325 + Top = 447 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton67: TSpeedButton + Left = 404 + Top = 447 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton70: TSpeedButton + Left = 7 + Top = 521 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton71: TSpeedButton + Left = 86 + Top = 521 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton72: TSpeedButton + Left = 166 + Top = 521 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton73: TSpeedButton + Left = 245 + Top = 521 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton74: TSpeedButton + Left = 325 + Top = 521 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton75: TSpeedButton + Left = 404 + Top = 521 + Width = 70 + Height = 70 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -24 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + end + object MovePanel1: TMovePanel + Left = 1 + Top = 112 + Width = 313 + Height = 281 + BevelInner = bvLowered + Color = clSkyBlue + TabOrder = 4 + Visible = False + object Label17: TLabel + Left = 29 + Top = 24 + Width = 88 + Height = 21 + Caption = #36215#22987#20301#32622 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 178 + Top = 59 + Width = 20 + Height = 19 + Caption = #21040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label19: TLabel + Left = 264 + Top = 24 + Width = 22 + Height = 21 + Caption = #30721 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label20: TLabel + Left = 264 + Top = 89 + Width = 22 + Height = 21 + Caption = #30721 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label21: TLabel + Left = 29 + Top = 89 + Width = 84 + Height = 21 + Caption = 'Label21' + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 264 + Top = 167 + Width = 22 + Height = 21 + Caption = #30721 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 29 + Top = 167 + Width = 92 + Height = 21 + Caption = #38271' '#24230 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Edit1: TEdit + Left = 124 + Top = 14 + Width = 131 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnChange = Edit2Change + OnClick = Edit1Click + end + object Button1: TButton + Left = 36 + Top = 221 + Width = 66 + Height = 43 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Button1Click + end + object Button4: TButton + Left = 190 + Top = 221 + Width = 64 + Height = 42 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button4Click + end + object Edit2: TEdit + Left = 124 + Top = 79 + Width = 131 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnChange = Edit2Change + OnClick = Edit1Click + end + object CDQty: TEdit + Left = 124 + Top = 157 + Width = 131 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + end + end + object Panel1: TPanel + Left = -85 + Top = 30 + Width = 1365 + Height = 48 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 5 + object Label1: TLabel + Left = 9 + Top = 16 + Width = 80 + Height = 19 + Caption = #25195#25551#20837#21475 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 592 + Top = 15 + Width = 42 + Height = 20 + Caption = #32568#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label16: TLabel + Left = 1088 + Top = 13 + Width = 42 + Height = 12 + Caption = 'Label16' + Visible = False + end + object Label24: TLabel + Left = 296 + Top = 15 + Width = 63 + Height = 20 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label25: TLabel + Left = 448 + Top = 15 + Width = 42 + Height = 20 + Caption = #39068#33394 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object APID: TEdit + Left = 88 + Top = 12 + Width = 185 + Height = 27 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 0 + OnKeyPress = APIDKeyPress + end + object BTAdd: TButton + Left = 1211 + Top = 8 + Width = 46 + Height = 25 + Caption = #26032#22686 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + OnClick = BTAddClick + end + object BTEdit: TButton + Left = 1155 + Top = 8 + Width = 38 + Height = 25 + Caption = #20462#25913 + TabOrder = 2 + Visible = False + OnClick = BTEditClick + end + end + object Panel2: TPanel + Left = 398 + Top = 78 + Width = 228 + Height = 620 + Align = alLeft + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 6 + object Label9: TLabel + Left = 182 + Top = 79 + Width = 15 + Height = 22 + Caption = 'M' + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label3: TLabel + Left = 182 + Top = 136 + Width = 26 + Height = 22 + Caption = 'cm' + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label4: TLabel + Left = 182 + Top = 191 + Width = 24 + Height = 22 + Caption = 'Kg' + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label5: TLabel + Left = 25 + Top = 79 + Width = 40 + Height = 23 + Caption = #38271#24230 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label6: TLabel + Left = 25 + Top = 136 + Width = 40 + Height = 23 + Caption = #24133#23485 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label11: TLabel + Left = 25 + Top = 191 + Width = 40 + Height = 23 + Caption = #37325#37327 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label10: TLabel + Left = 25 + Top = 341 + Width = 40 + Height = 23 + Caption = #27491#21697 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label12: TLabel + Left = 122 + Top = 341 + Width = 40 + Height = 22 + Caption = #27425#21697 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label13: TLabel + Left = 182 + Top = 18 + Width = 15 + Height = 22 + Caption = 'M' + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label14: TLabel + Left = 25 + Top = 18 + Width = 40 + Height = 23 + Caption = #21407#30721 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label15: TLabel + Left = 87 + Top = 348 + Width = 5 + Height = 22 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + Visible = False + end + object Label22: TLabel + Left = 182 + Top = 239 + Width = 36 + Height = 22 + Caption = 'g/'#13217 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label23: TLabel + Left = 25 + Top = 238 + Width = 40 + Height = 23 + Caption = #20811#37325 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label27: TLabel + Left = 25 + Top = 287 + Width = 40 + Height = 23 + Caption = #36192#36865 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label28: TLabel + Left = 25 + Top = 392 + Width = 40 + Height = 22 + Caption = #30041#26679 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object Label26: TLabel + Left = 121 + Top = 392 + Width = 40 + Height = 22 + Caption = #20986#32440 + Font.Charset = ANSI_CHARSET + Font.Color = clRed + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [] + ParentFont = False + end + object MJFK: TEdit + Left = 69 + Top = 127 + Width = 110 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = Edit1Click + end + object MJLen: TEdit + Left = 69 + Top = 70 + Width = 110 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Edit1Click + end + object MJMaoZ: TEdit + Left = 69 + Top = 182 + Width = 110 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Edit1Click + end + object BTPrint: TButton + Left = 11 + Top = 456 + Width = 83 + Height = 54 + Caption = #25171#21360 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = BTPrintClick + end + object Button5: TButton + Left = 131 + Top = 456 + Width = 83 + Height = 54 + Caption = #37325#25171 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + OnClick = Button5Click + end + object Edit3: TEdit + Left = 70 + Top = 331 + Width = 46 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 5 + Text = #8730 + OnClick = Edit3Click + end + object Edit4: TEdit + Left = 164 + Top = 331 + Width = 46 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 6 + OnClick = Edit4Click + end + object MJQty1: TEdit + Left = 69 + Top = 9 + Width = 110 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + OnClick = Edit1Click + end + object MJSJKZ: TEdit + Left = 69 + Top = 229 + Width = 110 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + OnClick = Edit1Click + end + object MJQty2: TEdit + Left = 69 + Top = 278 + Width = 110 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + OnClick = Edit1Click + end + object Edit5: TEdit + Left = 70 + Top = 382 + Width = 46 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 10 + OnClick = Edit5Click + end + object Edit6: TEdit + Left = 166 + Top = 382 + Width = 46 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 11 + Text = #8730 + OnClick = Edit6Click + end + end + object Panel3: TPanel + Left = -43 + Top = 402 + Width = 383 + Height = 231 + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 7 + Visible = False + object SpeedButton1: TSpeedButton + Left = 4 + Top = 3 + Width = 70 + Height = 70 + Caption = '0' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton2: TSpeedButton + Left = 78 + Top = 3 + Width = 70 + Height = 70 + Caption = '1' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton3: TSpeedButton + Left = 152 + Top = 3 + Width = 70 + Height = 70 + Caption = '2' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton4: TSpeedButton + Left = 226 + Top = 3 + Width = 70 + Height = 70 + Caption = '3' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton5: TSpeedButton + Left = 4 + Top = 75 + Width = 70 + Height = 70 + Caption = '4' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton6: TSpeedButton + Left = 78 + Top = 75 + Width = 70 + Height = 70 + Caption = '5' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton7: TSpeedButton + Left = 152 + Top = 75 + Width = 70 + Height = 70 + Caption = '6' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton8: TSpeedButton + Left = 226 + Top = 75 + Width = 70 + Height = 70 + Caption = '7' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton9: TSpeedButton + Left = 4 + Top = 150 + Width = 70 + Height = 70 + Caption = '8' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton10: TSpeedButton + Left = 78 + Top = 150 + Width = 70 + Height = 70 + Caption = '9' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton11: TSpeedButton + Tag = 9 + Left = 152 + Top = 150 + Width = 70 + Height = 70 + Caption = '.' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton12: TSpeedButton + Left = 226 + Top = 150 + Width = 70 + Height = 70 + Caption = #8592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton12Click + end + object SpeedButton49: TSpeedButton + Tag = 9 + Left = 303 + Top = 81 + Width = 65 + Height = 57 + Caption = #38544#34255 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton49Click + end + end + object cxStyleRepository1: TcxStyleRepository + Left = 368 + object cxStyle1: TcxStyle + AssignedValues = [svColor, svFont] + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle2: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Pitch = fpFixed + Font.Style = [fsBold] + TextColor = clDefault + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + PopupMenus = <> + Left = 400 + end + object DataSource1: TDataSource + DataSet = Order_MJ + Left = 616 + end + object Order_MJ: TClientDataSet + Aggregates = <> + Params = <> + Left = 432 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 576 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 536 + end + object ADOTmp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 504 + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 648 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 464 + ReportData = {} + end + object DataSource2: TDataSource + DataSet = CDS_MJCD + Left = 816 + end + object CDS_MJCD: TClientDataSet + Aggregates = <> + Params = <> + Left = 768 + end + object DataSource3: TDataSource + DataSet = CDS_MJID + Left = 1000 + Top = 296 + end + object CDS_MJID: TClientDataSet + Aggregates = <> + Params = <> + Left = 1016 + Top = 312 + end + object Timer1: TTimer + Interval = 100 + Left = 944 + Top = 320 + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 720 + end + object cxStyleRepository2: TcxStyleRepository + object cxStyle3: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = clBtnFace + Font.Charset = ANSI_CHARSET + Font.Color = clBlue + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlue + end + end + object cxStyleRepository3: TcxStyleRepository + object cxStyle4: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clRed + end + end + object cxStyleRepository4: TcxStyleRepository + object cxStyle5: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clOlive + end + end + object cxStyleRepository5: TcxStyleRepository + object cxStyle6: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + end + object cxGridPopupMenu2: TcxGridPopupMenu + PopupMenus = <> + Left = 616 + Top = 587 + end + object ADOQueryMainDSC: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + SQL.Strings = ( + 'select A.*,C.OrderNo,B.SWFBColor,B.SWFBHW,B.SWFBCodeName,' + ' B.SWFBCode,B.SWFBKZ,B.WKMS,B.KZBig,B.KZSmal,' + + ' SCMQty=(select isnull(Sum(MJLen),0) from WFB_MJJY WM wher' + + 'e WM.APId=A.APId and len(WM.MJID)>8),' + + ' Case when A.OrderQtyM-(select isnull(Sum(MJLen),0) from W' + + 'FB_MJJY WM where WM.APId=A.APId )>0 ' + + ' then A.OrderQtyM-(select isnull(Sum(MJLen),0) fr' + + 'om WFB_MJJY WM where WM.APId=A.APId ) else 0 end as WSCMQty' + 'from WFBOrder_Sub_AnPai A ' + 'inner join WFBOrder_Sub B on A.SubId=B.SubId' + 'inner join WFBOrder_Main C on A.MainId=C.MainId' + + 'where C.ChkStatus='#39#23457#26680#36890#36807#39' and RTrim(isnull(A.SCStatus,'#39#39'))<>'#39#24050#23436#25104#39 + + ' ' + 'and isnull(B.AnPaiChkStatus,'#39#39')='#39#23457#26680#36890#36807#39' and A.SCXDFlag=1' + '') + Left = 840 + Top = 144 + end +end diff --git a/打卷检验管理/U_MJManageNewFDNew1.pas b/打卷检验管理/U_MJManageNewFDNew1.pas new file mode 100644 index 0000000..837a689 --- /dev/null +++ b/打卷检验管理/U_MJManageNewFDNew1.pas @@ -0,0 +1,1532 @@ +unit U_MJManageNewFDNew; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, RM_Common, RM_Class, RM_GridReport, + RM_System, RM_Dataset, ADODB, DBClient, cxGridCustomPopupMenu, + cxGridPopupMenu, ExtCtrls, ComCtrls, ToolWin, cxTextEdit, Buttons, + cxSplitter, cxCheckBox, MovePanel; +{function CommOpen(fhandle:hwnd;sCommName:PAnsiChar; + IntTime:integer):integer;stdcall;external 'JCYData.DLL'; +function CommClose(sCommName:PAnsiChar):integer;stdcall;external 'JCYData.DLL';} + + +type + TfrmMJManageNewFDNew = class(TForm) + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxStyle2: TcxStyle; + cxGridPopupMenu1: TcxGridPopupMenu; + DataSource1: TDataSource; + Order_MJ: TClientDataSet; + ADOQueryMain: TADOQuery; + ADOCmd: TADOQuery; + ADOTmp: TADOQuery; + RMDB_Main: TRMDBDataSet; + RM2: TRMGridReport; + ToolBar1: TToolBar; + TBClose: TToolButton; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + tv2CDType: TcxGridDBColumn; + tv2CDWZ: TcxGridDBColumn; + Tv2CDQty: TcxGridDBColumn; + Tv2CDReason: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + TBCD: TToolButton; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + DataSource2: TDataSource; + CDS_MJCD: TClientDataSet; + DataSource3: TDataSource; + CDS_MJID: TClientDataSet; + v2Column1: TcxGridDBColumn; + Timer1: TTimer; + ADOQueryPrint: TADOQuery; + v2Column2: TcxGridDBColumn; + ToolButton1: TToolButton; + ScrollBox1: TScrollBox; + SpeedButton13: TSpeedButton; + SpeedButton14: TSpeedButton; + SpeedButton15: TSpeedButton; + SpeedButton16: TSpeedButton; + SpeedButton17: TSpeedButton; + SpeedButton18: TSpeedButton; + SpeedButton21: TSpeedButton; + SpeedButton22: TSpeedButton; + SpeedButton23: TSpeedButton; + SpeedButton24: TSpeedButton; + SpeedButton25: TSpeedButton; + SpeedButton26: TSpeedButton; + SpeedButton29: TSpeedButton; + SpeedButton30: TSpeedButton; + SpeedButton31: TSpeedButton; + SpeedButton32: TSpeedButton; + SpeedButton33: TSpeedButton; + SpeedButton34: TSpeedButton; + SpeedButton37: TSpeedButton; + SpeedButton38: TSpeedButton; + SpeedButton39: TSpeedButton; + SpeedButton40: TSpeedButton; + SpeedButton41: TSpeedButton; + SpeedButton42: TSpeedButton; + MovePanel1: TMovePanel; + Label17: TLabel; + Label18: TLabel; + Label19: TLabel; + Label20: TLabel; + Label21: TLabel; + Edit1: TEdit; + Button1: TButton; + Button4: TButton; + Edit2: TEdit; + cxStyleRepository2: TcxStyleRepository; + cxStyle3: TcxStyle; + cxStyleRepository3: TcxStyleRepository; + cxStyle4: TcxStyle; + cxStyleRepository4: TcxStyleRepository; + cxStyle5: TcxStyle; + cxStyleRepository5: TcxStyleRepository; + cxStyle6: TcxStyle; + cxGridPopupMenu2: TcxGridPopupMenu; + ADOQueryMainDSC: TADOQuery; + SpeedButton45: TSpeedButton; + SpeedButton46: TSpeedButton; + SpeedButton47: TSpeedButton; + SpeedButton48: TSpeedButton; + SpeedButton50: TSpeedButton; + SpeedButton51: TSpeedButton; + SpeedButton54: TSpeedButton; + SpeedButton55: TSpeedButton; + Panel1: TPanel; + Label1: TLabel; + APID: TEdit; + Label2: TLabel; + BTAdd: TButton; + BTEdit: TButton; + Label16: TLabel; + SpeedButton56: TSpeedButton; + SpeedButton57: TSpeedButton; + SpeedButton58: TSpeedButton; + SpeedButton59: TSpeedButton; + SpeedButton62: TSpeedButton; + SpeedButton63: TSpeedButton; + SpeedButton64: TSpeedButton; + SpeedButton65: TSpeedButton; + SpeedButton66: TSpeedButton; + SpeedButton67: TSpeedButton; + SpeedButton70: TSpeedButton; + SpeedButton71: TSpeedButton; + SpeedButton72: TSpeedButton; + SpeedButton73: TSpeedButton; + SpeedButton74: TSpeedButton; + SpeedButton75: TSpeedButton; + Label7: TLabel; + CDQty: TEdit; + Label8: TLabel; + Panel2: TPanel; + Label9: TLabel; + MJFK: TEdit; + Label3: TLabel; + MJLen: TEdit; + Label4: TLabel; + MJMaoZ: TEdit; + Label5: TLabel; + Label6: TLabel; + Label11: TLabel; + BTPrint: TButton; + Button5: TButton; + Edit3: TEdit; + Label10: TLabel; + Edit4: TEdit; + Label12: TLabel; + Label13: TLabel; + Label14: TLabel; + MJQty1: TEdit; + Label15: TLabel; + Label22: TLabel; + Label23: TLabel; + MJSJKZ: TEdit; + Panel3: TPanel; + SpeedButton1: TSpeedButton; + SpeedButton2: TSpeedButton; + SpeedButton3: TSpeedButton; + SpeedButton4: TSpeedButton; + SpeedButton5: TSpeedButton; + SpeedButton6: TSpeedButton; + SpeedButton7: TSpeedButton; + SpeedButton8: TSpeedButton; + SpeedButton9: TSpeedButton; + SpeedButton10: TSpeedButton; + SpeedButton11: TSpeedButton; + SpeedButton12: TSpeedButton; + SpeedButton49: TSpeedButton; + v3Column1: TcxGridDBColumn; + v3Column2: TcxGridDBColumn; + Label24: TLabel; + Label25: TLabel; + v3Column3: TcxGridDBColumn; + Label27: TLabel; + MJQty2: TEdit; + Label28: TLabel; + Edit5: TEdit; + Label26: TLabel; + Edit6: TEdit; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TBCDClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure MJMaoZClick(Sender: TObject); + procedure MJLenClick(Sender: TObject); + procedure MJFKClick(Sender: TObject); + procedure MJBanZuClick(Sender: TObject); + procedure MJSJKZClick(Sender: TObject); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure FormClick(Sender: TObject); + procedure Button12Click(Sender: TObject); + procedure BTAddClick(Sender: TObject); + procedure BTEditClick(Sender: TObject); + procedure BTPrintClick(Sender: TObject); + procedure Tv2CDQtyPropertiesEditValueChanged(Sender: TObject); + procedure SpeedButton1Click(Sender: TObject); + procedure SpeedButton12Click(Sender: TObject); + procedure SpeedButton13Click(Sender: TObject); + procedure cxGridDBColumn2PropertiesChange(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure Button5Click(Sender: TObject); + procedure SpeedButton49Click(Sender: TObject); + procedure APIDKeyPress(Sender: TObject; var Key: Char); + procedure Edit1Click(Sender: TObject); + procedure Edit2Change(Sender: TObject); + procedure Edit3Click(Sender: TObject); + procedure Edit4Click(Sender: TObject); + procedure Edit5Click(Sender: TObject); + procedure Edit6Click(Sender: TObject); + private + { Private declarations } + FInt,PState,PrintInt,SCInitGrid,FState:Integer; + FColumn,FBanZu,FAPID,FMainId,FSubId:String; + MValue,FCDName:String; + procedure InitJP(); + procedure InitCDGrid(); + procedure InitCDGridID(); + procedure AddCD(Fbtn:TButton); + procedure AddSL(Fbtn:TButton); + function SaveData():Boolean; + procedure BtnStatus(BSInt:Boolean); + procedure AddSLNew(Fbtn:TSpeedButton); + procedure AddCDNew(Fbtn:TSpeedButton); + procedure SavedataCK(); + public + { Public declarations } + end; + +var + frmMJManageNewFDNew: TfrmMJManageNewFDNew; + +implementation +uses + U_DataLink,U_Fun,U_ZDYHelp,U_iniParam; + +{$R *.dfm} + +procedure TfrmMJManageNewFDNew.FormDestroy(Sender: TObject); +begin + frmMJManageNewFDNew:=nil; +end; + +procedure TfrmMJManageNewFDNew.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + //DataLink_WFBProducttion.ADOLink.Connected:=False; + Action:=caFree; +end; +procedure TfrmMJManageNewFDNew.InitCDGrid(); +begin + with ADOQueryMain do + begin + Close; + SQL.Clear; + if PState=1 then + sql.Add('select * from WFB_MJJY_CD where MJID='''' ') + else + sql.Add('select * from WFB_MJJY_CD where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_MJCD); + SInitCDSData20(ADOQueryMain,CDS_MJCD); +end; +procedure TfrmMJManageNewFDNew.InitCDGridID(); +begin + with ADOQueryMain do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_MJJY where APID='''+Trim(FAPID)+''''); + if Trim(SCXFlag)<>'' then + sql.Add(' and JTType='''+Trim(SCXFlag)+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_MJID); + SInitCDSData20(ADOQueryMain,CDS_MJID); +end; + +procedure TfrmMJManageNewFDNew.TBCloseClick(Sender: TObject); +var + maxno:string; +begin + if CDS_MJCD.IsEmpty=False then + begin + if Trim(CDS_MJCD.FieldByName('MCID').AsString)='' then + begin + //try + //ADOCmd.Connection.BeginTrans; + {with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete from WFB_MJJY_CD_Temp where JTType='''+Trim(SCXFlag)+''''); + Execsql; + end; + with CDS_MJCD do + begin + First; + while not Eof do + begin + if GetLSNo(ADOCmd,maxno,'LS','WFB_MJJY_CD_Temp',2,1)=False then + begin + // ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡõʱʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_MJJY_CD_Temp where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MCID').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,Tv2,CDS_MJCD,'WFB_MJJY_CD_Temp',0); + FieldByName('JTType').Value:=Trim(SCXFlag); + Post; + end; + Next; + end; + end; } + close; + //ADOCmd.Connection.CommitTrans; + //ModalResult:=1; + //except + //ADOCmd.Connection.RollbackTrans; + //Application.MessageBox('ʱʧܣ','ʾ',0); + //end; + end else + begin + Close; + end; + end else + begin + Close; + end; + + + +end; + +procedure TfrmMJManageNewFDNew.Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + fsj:string; +begin + //FInt:=0; + //Tv1.DataController.FocusedRecordIndex; + //fsj:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; +end; + +procedure TfrmMJManageNewFDNew.TBCDClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WFBCD'; + flagname:='õ'; + fnote:=True; + V1Note.Caption:='Ӣ'; + if ShowModal=1 then + begin + Self.InitJP(); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmMJManageNewFDNew.FormShow(Sender: TObject); +begin + InitJP(); + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select BanZu from SY_User where UserId='''+Trim(DCode)+''''); + Open; + FBanZu:=Trim(Fieldbyname('BanZu').AsString); + end; + {if Trim(FBanZu)='' then + begin + Application.MessageBox('Ϊգð飡','ʾ',0); + Exit; + end; } + APID.SetFocus; +end; +procedure TfrmMJManageNewFDNew.InitJP(); +var + AA:array[0..100] of string; + i,j:Integer; +begin + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select ZDYName from KH_Zdy where Type=''WFBCD'' order by ZDYNO '); + Open; + end; + if ADOTmp.IsEmpty then + begin + Application.MessageBox('ûжõ㣡','ʾ',0); + Exit; + end; + with ADOTmp do + begin + First; + i:=0; + while not Eof do + begin + AA[i]:=Trim(fieldbyname('ZDYName').AsString); + i:=i+1; + Next; + end; + end; + i:=i-1; + if i>63 then + begin + i:=63; + end; + for j:=0 to i do + begin + with ScrollBox1 do + begin + TSpeedButton(Controls[j]).Visible:=True; + TSpeedButton(Controls[j]).Hint:=AA[j]; + if Length(AA[j])>4 then + begin + TSpeedButton(Controls[j]).Caption:=Copy(Trim(AA[j]),1,4)+#13+Copy(Trim(AA[j]),5,Length(AA[j])-4); + end else + TSpeedButton(Controls[j]).Caption:=AA[j]; + end; + end; +end; + +procedure TfrmMJManageNewFDNew.AddCD(Fbtn:TButton); +begin + if PState<1 then Exit; + if Order_MJ.IsEmpty then Exit; + with CDS_MJCD do + begin + Append; + FieldByName('cdname').Value:=Trim(TButton(Fbtn).Caption); + Post; + end; +end; +procedure TfrmMJManageNewFDNew.AddCDNew(Fbtn:TSpeedButton); +begin + with CDS_MJCD do + begin + Append; + FieldByName('cdname').Value:=Trim(TSpeedButton(Fbtn).Hint); + Post; + end; +end; +procedure TfrmMJManageNewFDNew.AddSL(Fbtn:TButton); +begin + if PState<1 then Exit; + if Order_MJ.IsEmpty then Exit; + + //if MJMaoZ.Focused then + if FInt=4 then Exit; + if CDS_MJCD.IsEmpty=False then + begin + FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(FColumn)<>'' then + begin + with CDS_MJCD do + begin + Edit; + FieldByName(FColumn).Value:=Trim(FieldByName(FColumn).AsString)+Trim(TButton(Fbtn).Caption); + if Trim(fieldbyname('CDQtyS').AsString)<>'' then + Fieldbyname('CDQty').Value:=Trim(fieldbyname('CDQtyS').AsString); + Post; + end; + end; + end; +end; +procedure TfrmMJManageNewFDNew.AddSLNew(Fbtn:TSpeedButton); +begin + if PState<1 then Exit; + if Trim(FAPID)='' then Exit; + + //if MJMaoZ.Focused then + if FInt=4 then Exit; + if FInt=11 then + begin + if TSpeedButton(Fbtn).Tag=9 then Exit; + Edit1.Text:=Trim(Edit1.Text)+Trim(TSpeedButton(Fbtn).Caption); + Edit1.SelectAll; + end else + if FInt=12 then + begin + if TSpeedButton(Fbtn).Tag=9 then Exit; + Edit2.Text:=Trim(Edit2.Text)+Trim(TSpeedButton(Fbtn).Caption); + Edit2.SelectAll; + end;{ else + if CDS_MJCD.IsEmpty=False then + begin + FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(FColumn)<>'' then + begin + with CDS_MJCD do + begin + Edit; + FieldByName(FColumn).Value:=Trim(FieldByName(FColumn).AsString)+Trim(TButton(Fbtn).Caption); + if Trim(fieldbyname('CDQtyS').AsString)<>'' then + Fieldbyname('CDQty').Value:=Trim(fieldbyname('CDQtyS').AsString); + Post; + end; + end; + end; } +end; + +procedure TfrmMJManageNewFDNew.Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + //if Tv2.OptionsSelection.CellSelect=True then + if CDS_MJCD.IsEmpty then Exit; + + if Trim(CDS_MJCD.fieldbyname('MCID').AsString)='' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + CDS_MJCD.Delete; + end; + +end; + +procedure TfrmMJManageNewFDNew.MJMaoZClick(Sender: TObject); +begin + FInt:=1; + FColumn:=''; + panel3.Visible:=True; +end; + +procedure TfrmMJManageNewFDNew.MJLenClick(Sender: TObject); +begin + FInt:=2; + FColumn:=''; + panel3.Visible:=True; +end; + +procedure TfrmMJManageNewFDNew.MJFKClick(Sender: TObject); +begin + FInt:=3; + FColumn:=''; + panel3.Visible:=True; +end; + +procedure TfrmMJManageNewFDNew.MJBanZuClick(Sender: TObject); +begin + FInt:=4; +end; + +procedure TfrmMJManageNewFDNew.MJSJKZClick(Sender: TObject); +begin + FInt:=4; +end; + +procedure TfrmMJManageNewFDNew.Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + //DataLink_WFBProducttion.ADOLink.Connected:=False; + FInt:=4; + // if PState=1 then Exit; + InitCDGridID(); + //InitCDGrid(); + {with ADOTmp do + begin + close; + sql.Clear; + sql.Add('select * from WFB_MJJY where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + if ADOTmp.IsEmpty then + begin + MJMaoZ.Text:=''; + MJLen.Text:=''; + MJFK.Text:=''; + MJSJKZ.Text:=''; + end else + SSetWinData(ADOTmp,Panel5); } +end; + +procedure TfrmMJManageNewFDNew.Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if CDS_MJCD.IsEmpty=False then + begin + if Trim(CDS_MJCD.fieldbyname('MJID').AsString)='' then + begin + Application.MessageBox('δ,!','ʾ',0); + Exit; + end; + end; + + FInt:=4; + PState:=0; + InitCDGrid(); + with ADOTmp do + begin + close; + sql.Clear; + sql.Add('select * from WFB_MJJY where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + MJFK.Text:=Trim(ADOTmp.fieldbyname('MJFK').AsString); + //MJSJKZ.Text:=Trim(ADOTmp.fieldbyname('MJSJKZ').AsString); + MJLen.Text:=Trim(ADOTmp.fieldbyname('MJLen').AsString); + MJQty1.Text:=Trim(ADOTmp.fieldbyname('MJQty1').AsString); + MJQty2.Text:=Trim(ADOTmp.fieldbyname('MJQty2').AsString); + MJMaoZ.Text:=Trim(ADOTmp.fieldbyname('MJMaoZ').AsString); + Label15.Caption:=Trim(CDS_MJID.fieldbyname('MJID').AsString); + if Trim(ADOTmp.fieldbyname('MJType').AsString)='Ʒ' then + begin + Edit3.Text:=''; + Edit4.Text:=''; + Edit5.Text:=''; + end else + if Trim(ADOTmp.fieldbyname('MJType').AsString)='Ʒ' then + begin + Edit4.Text:=''; + Edit3.Text:=''; + Edit5.Text:=''; + end else + if Trim(ADOTmp.fieldbyname('MJType').AsString)='' then + begin + Edit4.Text:=''; + Edit3.Text:=''; + Edit5.Text:=''; + end; + BtnStatus(False); + Label16.Caption:=''; +end; + + +procedure TfrmMJManageNewFDNew.FormClick(Sender: TObject); +begin + FInt:=4; +end; + +procedure TfrmMJManageNewFDNew.Button12Click(Sender: TObject); +var + fsj:string; +begin + if PState<1 then Exit; + if Trim(FAPID)='' then Exit; + if FInt=4 then Exit; + begin + FColumn:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(FColumn)<>'' then + begin + if Trim(CDS_MJCD.FieldByName(FColumn).AsString)<>'' then + begin + with CDS_MJCD do + begin + Edit; + if Length(CDS_MJCD.FieldByName(FColumn).AsString)=1 then + begin + FieldByName(FColumn).Value:=null ; + FieldByName('CDQty').Value:=0; + end + else + begin + FieldByName(FColumn).Value:=Copy(Trim(FieldByName(FColumn).AsString),1,Length(Trim(FieldByName(FColumn).AsString))-1); + FieldByName('CDQty').Value:=FieldByName(FColumn).Value; + end; + Post; + end; + end; + + + end; + end; +end; + +function TfrmMJManageNewFDNew.SaveData():Boolean; +var + maxno,FMJID,BZID:String; + FMJLen:Double; + FOrder:Integer; +begin + if PState=1 then + FMJID:='' + else if PState=2 then + FMJID:=Trim(CDS_MJID.fieldbyname('MJID').AsString) + else if PState<1 then Exit; + try + ADOCmd.Connection.BeginTrans; + /// + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from WFB_MJJY where MJId='''+Trim(FMJID)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMJID)='' then + begin + Append; + if GetLSNo(ADOTmp,maxno,Trim(SCXFlag),'WFB_MJJY',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ˮ쳣','ʾ',0); + exit; + end; + end + else begin + maxno:=Trim(FMJID); + Edit; + end; + FieldByName('MainId').value:=Trim(FMainId); + FieldByName('SubId').value:=Trim(FSubId); + FieldByName('APId').value:=Trim(FAPID); + FieldByName('MJID').Value:=Trim(maxno); + FieldByName('MJStr2').Value:='δ'; + FieldByName('MJBanZu').Value:=Trim(FBanZu); + if Trim(MJLen.Text)<>'' then + begin + FieldByName('MJLen').Value:=StrToFloat(MJLen.Text); + end; + if Trim(MJQty1.Text)<>'' then + begin + FieldByName('MJQty1').Value:=StrToFloat(MJQty1.Text); + end; + if Trim(MJQty2.Text)<>'' then + begin + FieldByName('MJQty2').Value:=StrToFloat(MJQty2.Text); + end; + if Trim(MJFK.Text)<>'' then + begin + FieldByName('MJFK').Value:=StrToFloat(MJFK.Text); + end; + if Trim(MJMaoZ.Text)<>'' then + begin + FieldByName('MJMaoZ').Value:=StrToFloat(MJMaoZ.Text); + end; + if Trim(MJSJKZ.Text)<>'' then + begin + FieldByName('MJSJKZ').Value:=StrToFloat(MJSJKZ.Text); + end; + if Trim(Edit3.Text)<>'' then + begin + FieldByName('MJType').Value:='Ʒ'; + end; + if Trim(Edit4.Text)<>'' then + begin + FieldByName('MJType').Value:='Ʒ'; + end; + if Trim(Edit5.Text)<>'' then + begin + FieldByName('MJType').Value:=''; + end; + FieldByName('MJTypeOther').Value:=Trim(Label9.Caption); + FieldByName('MJStr1').Value:=Trim(Label13.Caption); + {if Trim(MJSJKZ.Text)<>'' then + begin + FieldByName('MJSJKZ').Value:=StrToFloat(MJSJKZ.Text); + end; } + if Trim(FMJID)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTmp); + end; + if Trim(SCXFlag)<>'' then + begin + FieldByName('JTType').Value:=Trim(SCXFlag); + end; + Post; + + end; + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('UPdate WFB_MJJY Set MJXH=(select max(MJXH)+1 from WFB_MJJY A where A.APID=WFB_MJJY.APID'); + if Trim(Edit3.Text)<>'' then + begin + sql.Add(' and A.MJType=''Ʒ'' )'); + end; + if Trim(Edit4.Text)<>'' then + begin + sql.Add(' and A.MJType=''Ʒ'' )'); + end; + if Trim(Edit5.Text)<>'' then + begin + sql.Add(' and A.MJType='''' )'); + end; + sql.Add(' where MJID='''+Trim(maxno)+''''); + ExecSQL; + end; + FMJID:=Trim(maxno); + ///ĸõ + with CDS_MJCD do + begin + First; + while not Eof do + begin + if Trim(CDS_MJCD.fieldbyname('MCID').AsString)='' then + begin + if GetLSNo(ADOTmp,maxno,'MC','WFB_MJJY_CD',5,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_MJCD.fieldbyname('MCID').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_MJJY_CD '); + sql.Add(' where MCID='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_MJCD.fieldbyname('MCID').AsString)='' then + Append + else + Edit; + FieldByName('MJId').Value:=Trim(FMJID); + FieldByName('MCID').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,Tv2,CDS_MJCD,'WFB_MJJY_CD',0); + Post; + end; + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('MCID').Value:=Trim(maxno); + Next; + end; + end; + with CDS_MJID do + begin + Append; + FieldByName('MJID').Value:=Trim(FMJID); + Post; + end; + //SavedataCK(); + ADOCmd.Connection.CommitTrans; + Result:=True; + PState:=0; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + +procedure TfrmMJManageNewFDNew.BTAddClick(Sender: TObject); +begin + if Trim(Label2.Caption)='' then Exit; + PState:=1; + InitCDGridID(); + InitCDGrid(); + BtnStatus(True); + Label16.Caption:=''; +end; + +procedure TfrmMJManageNewFDNew.BTEditClick(Sender: TObject); +begin + if CDS_MJID.IsEmpty then Exit; + PState:=2; + Label16.Caption:='޸'; +end; + +procedure TfrmMJManageNewFDNew.BTPrintClick(Sender: TObject); +var + fPrintFile:String; + mvalue:Double; +begin + if Trim(FAPID)='' then Exit; + if FInt=4 then + begin + if CDS_MJID.IsEmpty=False then + begin + Application.MessageBox('Ѵ룿볢ش','ʾ',0); + Exit; + end; + end; + if Trim(MJLen.Text)='' then + begin + Application.MessageBox('ȲΪ!','ʾ',0); + Exit; + end; + if TryStrToFloat(MJLen.Text,mvalue)=False then + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + {if Trim(MJQty1.Text)='' then + begin + Application.MessageBox('ԭ벻Ϊ!','ʾ',0); + Exit; + end; } + if Trim(MJQty1.Text)<>'' then + begin + if TryStrToFloat(MJQty1.Text,mvalue)=False then + begin + Application.MessageBox('ԭ¼!','ʾ',0); + Exit; + end; + end; + + if Trim(MJFK.Text)<>'' then + begin + if TryStrToFloat(MJFK.Text,mvalue)=False then + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + end; + if Trim(MJMaoZ.Text)<>'' then + begin + if TryStrToFloat(MJMaoZ.Text,mvalue)=False then + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + end; + if Trim(MJSJKZ.Text)<>'' then + begin + if TryStrToFloat(MJSJKZ.Text,mvalue)=False then + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + end; + if Trim(MJQty2.Text)<>'' then + begin + if TryStrToFloat(MJQty2.Text,mvalue)=False then + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + end; + {if Trim(MJSJKZ.Text)<>'' then + begin + if TryStrToFloat(MJSJKZ.Text,mvalue)=False then + begin + Application.MessageBox('¼!','ʾ',0); + Exit; + end; + end; } + if PState=1 then + begin + if Application.MessageBox('ǷҪӡ룿ӡݽ޸ģ','ʾ',32+4)<>IDYES then Exit; + end; + if SaveData() then + begin + //BtnStatus(False); + MJFK.Text:=''; + //MJSJKZ.Text:=''; + MJLen.Text:=''; + MJMaoZ.Text:=''; + MJQty1.Text:=''; + MJQty2.Text:=''; + MJSJKZ.Text:=''; + Label15.Caption:=''; + Edit3.Text:=''; + + end; + if Trim(Edit6.Text)='' then + begin + with ADOQueryPrint do + begin + Close; + SQL.Clear; + sql.Add('select A.MJID,A.MJXH,QtyUnit=A.MJTypeOther,B.orderNo,GangNo=D.AOrddefStr1,PRTColorEng=E.Note '); + sql.Add(',case when MJQty2>0 then Cast(MJLen as varchar(20))+''+''+Cast(MJQty2 as varchar(20)) else Cast(MJLen as varchar(20)) end as Qty '); + sql.Add(',MPRTCodeNameEng=(select Top 1 F.CYEName from CP_YDang F where F.CYNo=B.OrdDefStr1),C.SLbName'); + sql.Add(',B.MPRTCF,C.SOrddefstr4,C.*,A.* '); + sql.Add(' from WFB_MJJY A') ; + sql.Add(' inner join JYOrder_Main B On A.Mainid=B.Mainid'); + sql.Add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); + sql.Add(' left join KH_Zdy E on C.PRTColor=E.ZdyName and E.Type=''OrdColor'' '); + sql.Add(' inner join JYOrder_Sub_AnPai D on A.APId=D.APId '); + SQL.Add(' where A.MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + if Trim(ADOQueryPrint.fieldbyname('SLbName').AsString)<>'' then + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\'+Trim(ADOQueryPrint.fieldbyname('SLbName').AsString)+'.rmf' + else + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\ͨӢıǩ.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + //RM2.ShowReport; + RM2.PrintReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ǩ.rmf'),'ʾ',0); + end; + end; + + Label16.Caption:=''; + BTAdd.Click; +end; +procedure TfrmMJManageNewFDNew.SavedataCK(); +var + CRID:Integer; + MaxCkNo,MaxCkSubNo:String; +begin + //if Trim(Cds_Main.fieldbyname('SubType').AsString)='' then + //////////////////////////////////////////////////////////////浽Ʒֿ//////////////////////////////////////////////// + with ADOCmd do + begin + Close; + sql.Clear; + SQL.add('Update CK_BanCP_CRID Set CRID=CRID+1'); + sql.Add('select * from CK_BanCP_CRID'); + Open; + end; + CRID:=ADOCmd.fieldbyname('CRID').Value; + if GetLSNo(ADOCmd,MaxCkNo,'JR','CK_BanCP_CR',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡƷֿʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_CR where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(FSubId); + FieldByName('APID').Value:=Trim(FAPID); + FieldByName('MJID').Value:=Trim(CDS_MJID.fieldbyname('MJId').AsString); + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('CRTime').Value:=SGetServerDateTime(ADOTmp); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + //FieldByName('JTType').Value:=Trim(XJFlag); + FieldByName('CRID').Value:=CRID; + if Trim(MJMaoZ.Text)<>'' then + begin + FieldByName('KGQty').Value:=StrToFloat(MJMaoZ.Text); + end; + if Trim(MJLen.Text)<>'' then + begin + FieldByName('Qty').Value:=StrToFloat(MJLen.Text); + end; + FieldByName('QtyUnit').Value:=Trim(Label9.Caption); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('FillTime').Value:=SGetServerDateTime(ADOTmp); + if Trim(Edit3.Text)<>'' then + begin + FieldByName('CPType').Value:='Ʒ'; + end; + if Trim(Edit4.Text)<>'' then + begin + FieldByName('CPType').Value:='Ʒ'; + end; + Post; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_KC where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('CRID').Value:=CRID; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('MJID').Value:=Trim(CDS_MJID.fieldbyname('MJID').AsString); + if Trim(MJMaoZ.Text)<>'' then + begin + FieldByName('KCKGQty').Value:=StrToFloat(MJMaoZ.Text); + end; + if Trim(MJLen.Text)<>'' then + begin + FieldByName('KCQty').Value:=StrToFloat(MJLen.Text); + end; + FieldByName('KCQtyUnit').Value:=Trim(Label9.Caption); + Post; + end; +end; +procedure TfrmMJManageNewFDNew.BtnStatus(BSInt:Boolean); +begin + // Tv2.OptionsSelection.CellSelect:=BSInt; +end; +procedure TfrmMJManageNewFDNew.Tv2CDQtyPropertiesEditValueChanged(Sender: TObject); +var + mvalue:string; +begin + try + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(mvalue)<>'' then + begin + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('CDQty').Value:=mvalue; + CDS_MJCD.Post; + end else + begin + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('CDQty').Value:=0; + CDS_MJCD.Post; + end; + CDS_MJCD.Edit; + CDS_MJCD.FieldByName('CDQtyS').Value:=mvalue; + except + Application.MessageBox('Ƿ֣','ʾ',0); + end; +end; + +procedure TfrmMJManageNewFDNew.SpeedButton1Click(Sender: TObject); +var + fsj:string; +begin + fsj:=Trim(TSpeedButton(Sender).Hint); + if Trim(fsj)='' then Exit; + fsj:=Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text:=fsj+Trim(TSpeedButton(Sender).Caption); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TfrmMJManageNewFDNew.SpeedButton12Click(Sender: TObject); +var + fsj:string; +begin + fsj:=Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); + if Trim(fsj)='' then Exit; + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text:=Copy(fsj,1,Length(fsj)-1); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TfrmMJManageNewFDNew.SpeedButton13Click(Sender: TObject); +var + i:Integer; +begin + if Trim(Label2.Caption)='' then Exit; + if Label2.Visible=False then Exit; + {with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select * from Order_JYResult where APID='''+Trim(FAPID)+''''); + Open; + end; + if ADOTmp.IsEmpty then + begin + Application.MessageBox('ŷδ¼,ܼ!','ʾ',0); + Exit; + end; } + if Trim(CDS_MJCD.fieldbyname('MJID').AsString)<>'' then + begin + BTAdd.Click; + end; + if Trim(Label15.Caption)<>'' then + begin + MJFK.Text:=''; + //MJSJKZ.Text:=''; + MJLen.Text:=''; + MJMaoZ.Text:=''; + MJQty1.Text:=''; + MJSJKZ.Text:=''; + Label15.Caption:=''; + + end; + if Trim(FAPID)='' then Exit; + FCDName:=Trim(TSpeedButton(Sender).Hint); + MovePanel1.Visible:=True; + Label21.Caption:=Trim(FCDName); + FInt:=11; + Edit1.SetFocus; + //CDQty.SetFocus; + Panel3.Visible:=True; + with Panel3 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=Trim(Edit1.Name); + end; + end; + end; + +end; + +procedure TfrmMJManageNewFDNew.cxGridDBColumn2PropertiesChange(Sender: TObject); +var + fsj:String; +begin + + fsj:=Trim(Order_MJ.fieldbyname('SubId').AsString); + Order_MJ.DisableControls; + with Order_MJ do + begin + First; + while not Eof do + begin + if Trim(Order_MJ.fieldbyname('SubId').AsString)<>fsj then + begin + Edit; + FieldByName('SSel').Value:=False; + end; + Next; + end; + end; + Order_MJ.EnableControls; + Order_MJ.Locate('SubId',fsj,[]); +end; + +procedure TfrmMJManageNewFDNew.Button1Click(Sender: TObject); +var + mvalue:Double; +begin + { if Trim(Edit1.Text)='' then + begin + Application.MessageBox('λòΪգ','ʾ',0); + exit; + end; } + if Trim(Edit1.Text)<>'' then + begin + if Trim(Edit2.Text)<>'' then + begin + if StrToFloat(Edit2.Text)'' then + begin + if TryStrToFloat(CDQty.Text,mvalue)=False then + begin + Application.MessageBox('Ƿ!','ʾ',0); + Exit; + end; + end; + with CDS_MJCD do + begin + Append; + FieldByName('cdname').Value:=Trim(FCDName); + FieldByName('CDbeg').Value:=Trim(Edit1.Text); + FieldByName('CDEnd').Value:=Trim(Edit2.Text); + if Trim(CDQty.Text)<>'' then + begin + FieldByName('CDQty').Value:=StrToFloat(CDQty.Text); + end else + begin + FieldByName('CDQty').Value:=0; + end; + {if Trim(Edit2.Text)<>'' then + begin + FieldByName('CDQty').Value:=StrToFloat(Edit2.Text)-StrToFloat(Edit1.Text); + end else + begin + FieldByName('CDQty').Value:=0; + end; } + + Post; + end; + Edit1.Text:=''; + Edit2.Text:=''; + CDQty.Text:=''; + MovePanel1.Visible:=False; + Panel3.Visible:=False; +end; + +procedure TfrmMJManageNewFDNew.Button4Click(Sender: TObject); +begin + Edit1.Text:=''; + Edit2.Text:=''; + CDQty.Text:=''; + MovePanel1.Visible:=False; + Panel3.Visible:=False; +end; + +procedure TfrmMJManageNewFDNew.ToolButton1Click(Sender: TObject); +begin + //InitGrid(); + InitJP(); +end; + +procedure TfrmMJManageNewFDNew.Button5Click(Sender: TObject); +var + fPrintFile:String; +begin + if CDS_MJID.IsEmpty then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set PrtAgnFlag=1,PrtAgnDate=getdate(),PrtAgnPerson='''+Trim(DName)+''''); + sql.Add(' where MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + with ADOQueryPrint do + begin + Close; + SQL.Clear; + sql.Add('select A.MJID,A.MJXH,QtyUnit=A.MJTypeOther,B.orderNo,GangNo=D.AOrddefStr1,PRTColorEng=E.Note,'); + sql.Add(' MPRTCodeNameEng=(select Top 1 F.CYEName from CP_YDang F where F.CYNo=B.OrdDefStr1),C.SLbName'); + sql.Add(',case when MJQty2>0 then Cast(MJLen as varchar(20))+''+''+Cast(MJQty2 as varchar(20)) else Cast(MJLen as varchar(20)) end as Qty '); + sql.Add(',B.MPRTCF,C.SOrddefstr4,C.*,A.* '); + sql.Add(' from WFB_MJJY A') ; + sql.Add(' inner join JYOrder_Main B On A.Mainid=B.Mainid'); + sql.Add(' inner join JYOrder_Sub C on A.SubId=C.SubId'); + sql.Add(' left join KH_Zdy E on C.PRTColor=E.ZdyName and E.Type=''OrdColor'' '); + sql.Add(' inner join JYOrder_Sub_AnPai D on A.APId=D.APId '); + SQL.Add(' where A.MJID='''+Trim(CDS_MJID.fieldbyname('MJID').AsString)+''''); + Open; + end; + if Trim(ADOQueryPrint.fieldbyname('SLbName').AsString)<>'' then + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\'+Trim(ADOQueryPrint.fieldbyname('SLbName').AsString)+'.rmf' + else + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\ͨӢıǩ.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + //RM2.ShowReport; + RM2.PrintReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ǩ.rmf'),'ʾ',0); + end; + +end; + +procedure TfrmMJManageNewFDNew.SpeedButton49Click(Sender: TObject); +begin + Panel3.Visible:=False; +end; + +procedure TfrmMJManageNewFDNew.APIDKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + with ADOTmp do + begin + Close; + sql.Clear; + sql.Add('select A.*, '); + SQL.Add('OrderNoM=(select OrderNo from JYOrder_Main B where B.Mainid=A.MainId),'); + SQL.Add('PRTColor=(select PRTColor from JYOrder_Sub B where B.Subid=A.Subid) '); + sql.Add('from JYOrder_Sub_AnPai A'); + sql.Add('where APID='''+Trim(APID.Text)+''''); + Open; + end; + if ADOTmp.IsEmpty=False then + begin + Label2.Visible:=True; + Label2.Caption:=Trim(ADOTmp.fieldbyname('AOrddefStr1').AsString); + Label24.Visible:=True; + Label24.Caption:=Trim(ADOTmp.fieldbyname('OrderNoM').AsString); + Label25.Visible:=True; + Label25.Caption:=Trim(ADOTmp.fieldbyname('PRTColor').AsString); + FAPID:=Trim(APID.Text); + FMainId:=Trim(ADOTmp.fieldbyname('MainId').AsString); + FSubId:=Trim(ADOTmp.fieldbyname('SubId').AsString); + Label9.Caption:=Trim(ADOTmp.fieldbyname('AOrddefstr3').AsString); + Label13.Caption:=Trim(ADOTmp.fieldbyname('AOrddefstr2').AsString); + Label19.Caption:=Trim(Label9.Caption); + Label20.Caption:=Trim(Label9.Caption); + Label7.Caption:=Trim(Label9.Caption); + end else + begin + Application.MessageBox('!','ʾ',0); + Label2.Visible:=False; + Label2.Caption:=''; + APID.Text:=''; + FAPID:=''; + FMainId:=''; + FSubId:=''; + Exit; + end; + {if Trim(SCXFlag)<>Trim(ADOTmp.fieldbyname('AOrdDefNote29').AsString) then + begin + APID.Text:=''; + if Application.MessageBox('̨뵱ǰ̨һ,'+#13+'Ƿ飿','ʾ',32+4)<>IDYES then + begin + Label2.Visible:=False; + Label2.Caption:=''; + FAPID:=''; + FMainId:=''; + FSubId:=''; + Exit; + end; + + end; } + APID.Text:=''; + BTAdd.Click; + end; +end; + +procedure TfrmMJManageNewFDNew.Edit1Click(Sender: TObject); +var + i:Integer; +begin + Panel3.Visible:=True; + with Panel3 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=Trim(TEdit(Sender).Name); + end; + end; + end; +end; + +procedure TfrmMJManageNewFDNew.Edit2Change(Sender: TObject); +var + mvalue:Double; +begin + if Trim(Edit1.Text)<>'' then + begin + if TryStrToFloat(Edit1.Text,mvalue)=False then + begin + Application.MessageBox('Ƿ!','ʾ',0); + Exit; + end; + end else + begin + Exit; + end; + if Trim(Edit2.Text)<>'' then + begin + if TryStrToFloat(Edit2.Text,mvalue)=False then + begin + Application.MessageBox('Ƿ!','ʾ',0); + Exit; + end; + end else + begin + Exit; + end; + CDQty.Text:=FloatToStr(StrToFloat(Edit2.Text)-StrToFloat(Edit1.Text)); +end; + +procedure TfrmMJManageNewFDNew.Edit3Click(Sender: TObject); +begin + if Trim(Edit3.Text)='' then + begin + Edit3.Text:=''; + Edit4.Text:=''; + Edit5.Text:=''; + end else + begin + Edit3.Text:=''; + Edit4.Text:=''; + Edit5.Text:=''; + end; +end; + +procedure TfrmMJManageNewFDNew.Edit4Click(Sender: TObject); +begin + if Trim(Edit4.Text)='' then + begin + Edit4.Text:=''; + Edit3.Text:=''; + Edit5.Text:=''; + end else + begin + Edit4.Text:=''; + Edit3.Text:=''; + Edit5.Text:=''; + end; +end; + +procedure TfrmMJManageNewFDNew.Edit5Click(Sender: TObject); +begin + if Trim(Edit5.Text)='' then + begin + Edit5.Text:=''; + Edit3.Text:=''; + Edit4.Text:=''; + end else + begin + Edit5.Text:=''; + Edit3.Text:=''; + Edit4.Text:=''; + end; +end; + +procedure TfrmMJManageNewFDNew.Edit6Click(Sender: TObject); +begin + if Trim(Edit6.Text)='' then + begin + Edit6.Text:=''; + end else + begin + Edit6.Text:=''; + end; +end; + +end. diff --git a/打卷检验管理/U_MJSJFX.dfm b/打卷检验管理/U_MJSJFX.dfm new file mode 100644 index 0000000..4b64887 --- /dev/null +++ b/打卷检验管理/U_MJSJFX.dfm @@ -0,0 +1,718 @@ +object frmMJSJFX: TfrmMJSJFX + Left = 90 + Top = 28 + Width = 1726 + Height = 817 + Align = alClient + Caption = #24067#21305#31649#29702 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 120 + TextHeight = 15 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1708 + Height = 30 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBClose: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 30 + Width = 1708 + Height = 42 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + Visible = False + object Label1: TLabel + Left = 41 + Top = 15 + Width = 66 + Height = 15 + Caption = #35746' '#21333' '#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clBlack + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 41 + Top = 60 + Width = 9 + Height = 15 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Ma: TLabel + Left = 380 + Top = 110 + Width = 8 + Height = 15 + Caption = 'M' + end + object Label7: TLabel + Left = 279 + Top = 110 + Width = 30 + Height = 15 + Caption = #21407#30721 + end + object Label5: TLabel + Left = 385 + Top = 145 + Width = 8 + Height = 15 + Caption = 'M' + end + object Label8: TLabel + Left = 279 + Top = 150 + Width = 30 + Height = 15 + Caption = #24133#23485 + end + object Label9: TLabel + Left = 395 + Top = 140 + Width = 16 + Height = 15 + Caption = 'cm' + end + object Label3: TLabel + Left = 414 + Top = 125 + Width = 30 + Height = 15 + Caption = #20811#37325 + end + object Label11: TLabel + Left = 515 + Top = 125 + Width = 31 + Height = 15 + Caption = 'g/'#13217 + end + object Label13: TLabel + Left = 549 + Top = 150 + Width = 30 + Height = 15 + Caption = #36192#36865 + end + object OrderNo: TEdit + Left = 110 + Top = 10 + Width = 186 + Height = 30 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -22 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 0 + OnKeyPress = OrderNoKeyPress + end + object MJQty1: TEdit + Left = 310 + Top = 105 + Width = 68 + Height = 23 + TabOrder = 1 + end + object MJFK: TEdit + Left = 310 + Top = 145 + Width = 68 + Height = 23 + TabOrder = 3 + end + object MJSJKZ: TEdit + Left = 445 + Top = 120 + Width = 68 + Height = 23 + TabOrder = 2 + end + object MJQty2: TEdit + Left = 580 + Top = 145 + Width = 68 + Height = 23 + TabOrder = 4 + end + end + object Panel2: TPanel + Left = 0 + Top = 72 + Width = 1708 + Height = 700 + Align = alClient + Caption = 'Panel2' + TabOrder = 2 + object Label4: TLabel + Left = 635 + Top = 180 + Width = 48 + Height = 15 + Caption = 'Label4' + end + object Panel4: TPanel + Left = 1 + Top = 1 + Width = 712 + Height = 698 + Align = alLeft + TabOrder = 0 + object cxGrid3: TcxGrid + Left = 1 + Top = 31 + Width = 710 + Height = 666 + Align = alClient + TabOrder = 0 + object TV3: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + Images = DataLink_TradeManage.ThreeImgList + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = DataLink_TradeManage.TextSHuangSe + object cxGridDBColumn7: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'MjXH' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object cxGridDBColumn8: TcxGridDBColumn + Caption = #21367#26465#30721 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object cxGridDBColumn9: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object cxGridDBColumn10: TcxGridDBColumn + Caption = #20013#25991#39068#33394 + DataBinding.FieldName = 'prtcolor' + HeaderAlignmentHorz = taCenter + Width = 74 + end + object cxGridDBColumn11: TcxGridDBColumn + Caption = #23458#25143#35746#21333#21495 + DataBinding.FieldName = 'khorderno' + HeaderAlignmentHorz = taCenter + Width = 77 + end + object cxGridDBColumn12: TcxGridDBColumn + Caption = #25171#21367#26102#38388 + DataBinding.FieldName = 'filltime' + HeaderAlignmentHorz = taCenter + Width = 76 + end + object TV3Column1: TcxGridDBColumn + Caption = #38271#24230 + DataBinding.FieldName = 'MJLen' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object TV3Column2: TcxGridDBColumn + Caption = #20928#37325 + DataBinding.FieldName = 'mjqty4' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object TV3Column3: TcxGridDBColumn + Caption = #27611#37325 + DataBinding.FieldName = 'mjmaoz' + HeaderAlignmentHorz = taCenter + Width = 65 + end + end + object cxGridLevel3: TcxGridLevel + GridView = TV3 + end + end + object Panel5: TPanel + Left = 1 + Top = 1 + Width = 710 + Height = 30 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Caption = #25552#20132#36807#24555#25968#25454 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + end + end + object Panel6: TPanel + Left = 713 + Top = 1 + Width = 994 + Height = 698 + Align = alClient + Caption = 'Panel6' + TabOrder = 1 + object cxGrid1: TcxGrid + Left = 1 + Top = 519 + Width = 992 + Height = 178 + Align = alClient + TabOrder = 0 + object TV1: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DataSource4 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.GroupByBox = False + Styles.Header = DataLink_TradeManage.TextSHuangSe + object cxGridDBColumn1: TcxGridDBColumn + Caption = #21367#21495 + DataBinding.FieldName = 'mjxh' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #21367#26465#30721 + DataBinding.FieldName = 'mjid' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #20013#25991#39068#33394 + DataBinding.FieldName = 'prtcolor' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #23458#25143#35746#21333#21495 + DataBinding.FieldName = 'khorderno' + HeaderAlignmentHorz = taCenter + Width = 87 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #21024#38500#26102#38388 + DataBinding.FieldName = 'deltime' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object TV1Column1: TcxGridDBColumn + Caption = #21024#38500#20154 + DataBinding.FieldName = 'deler' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object TV1Column2: TcxGridDBColumn + Caption = #38271#24230 + DataBinding.FieldName = 'mjlen' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object TV1Column3: TcxGridDBColumn + Caption = #20928#37325 + DataBinding.FieldName = 'mjqty4' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object TV1Column4: TcxGridDBColumn + Caption = #27611#37325 + DataBinding.FieldName = 'mjmaoz' + HeaderAlignmentHorz = taCenter + Width = 65 + end + end + object cxGridLevel2: TcxGridLevel + GridView = TV1 + end + end + object Panel7: TPanel + Left = 1 + Top = 489 + Width = 992 + Height = 30 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Caption = #21024#38500#25968#25454 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + end + object Panel9: TPanel + Left = 1 + Top = 1 + Width = 992 + Height = 30 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Caption = #20462#25913#25968#25454 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + end + object cxGrid4: TcxGrid + Left = 1 + Top = 31 + Width = 992 + Height = 162 + Align = alTop + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 3 + object TV4: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.GroupByBox = False + Styles.Header = DataLink_TradeManage.TextSHuangSe + object TV4Column1: TcxGridDBColumn + Caption = #25805#20316#20154 + DataBinding.FieldName = 'Operor' + HeaderAlignmentHorz = taCenter + Width = 59 + end + object TV4Column2: TcxGridDBColumn + Caption = #25805#20316#26102#38388 + DataBinding.FieldName = 'OperTime' + HeaderAlignmentHorz = taCenter + Width = 141 + end + object cxGridDBColumn19: TcxGridDBColumn + Caption = #35760#24405 + DataBinding.FieldName = 'OPEvent' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taRightJustify + Width = 767 + end + end + object cxGridLevel4: TcxGridLevel + GridView = TV4 + end + end + object Panel8: TPanel + Left = 1 + Top = 349 + Width = 992 + Height = 30 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Caption = #37325#25171#25968#25454 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + end + object cxGrid2: TcxGrid + Left = 1 + Top = 379 + Width = 992 + Height = 110 + Align = alTop + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 5 + object TV2: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.GroupByBox = False + Styles.Header = DataLink_TradeManage.TextSHuangSe + object cxGridDBColumn13: TcxGridDBColumn + Caption = #25805#20316#20154 + DataBinding.FieldName = 'Operor' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Width = 65 + end + object cxGridDBColumn14: TcxGridDBColumn + Caption = #25805#20316#26102#38388 + DataBinding.FieldName = 'OperTime' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object cxGridDBColumn15: TcxGridDBColumn + Caption = #35760#24405 + DataBinding.FieldName = 'OPEvent' + HeaderAlignmentHorz = taCenter + Width = 834 + end + end + object cxGridLevel1: TcxGridLevel + GridView = TV2 + end + end + object Panel3: TPanel + Left = 1 + Top = 193 + Width = 992 + Height = 30 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Caption = #36339#21495#25968#25454 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + end + object cxGrid5: TcxGrid + Left = 1 + Top = 223 + Width = 992 + Height = 126 + Align = alTop + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 7 + object Tv5: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DataSource5 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.GroupByBox = False + Styles.Header = DataLink_TradeManage.TextSHuangSe + object cxGridDBColumn20: TcxGridDBColumn + Caption = #25805#20316#20154 + DataBinding.FieldName = 'Operor' + HeaderAlignmentHorz = taCenter + Width = 59 + end + object cxGridDBColumn21: TcxGridDBColumn + Caption = #25805#20316#26102#38388 + DataBinding.FieldName = 'OperTime' + HeaderAlignmentHorz = taCenter + Width = 141 + end + object cxGridDBColumn22: TcxGridDBColumn + Caption = #35760#24405 + DataBinding.FieldName = 'OPEvent' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taRightJustify + Width = 767 + end + end + object cxGridLevel5: TcxGridLevel + GridView = Tv5 + end + end + end + end + object ADOTmp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 832 + Top = 72 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 312 + Top = 200 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 832 + Top = 40 + end + object DataSource1: TDataSource + DataSet = Order_YC + Left = 380 + Top = 200 + end + object Order_YC: TClientDataSet + Aggregates = <> + Params = <> + Left = 344 + Top = 200 + end + object Order_CD: TClientDataSet + Aggregates = <> + Params = <> + Left = 856 + Top = 476 + end + object DataSource2: TDataSource + DataSet = Order_CD + Left = 892 + Top = 476 + end + object Order_XG: TClientDataSet + Aggregates = <> + Params = <> + Left = 692 + Top = 464 + end + object DataSource3: TDataSource + DataSet = Order_XG + Left = 720 + Top = 464 + end + object DataSource4: TDataSource + DataSet = Order_Del + Left = 864 + Top = 180 + end + object Order_Del: TClientDataSet + Aggregates = <> + Params = <> + Left = 828 + Top = 180 + end + object Order_TH: TClientDataSet + Aggregates = <> + Params = <> + Left = 1312 + Top = 364 + end + object DataSource5: TDataSource + DataSet = Order_TH + Left = 1348 + Top = 364 + end +end diff --git a/打卷检验管理/U_MJSJFX.pas b/打卷检验管理/U_MJSJFX.pas new file mode 100644 index 0000000..894cc5d --- /dev/null +++ b/打卷检验管理/U_MJSJFX.pas @@ -0,0 +1,206 @@ +unit U_MJSJFX; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, + cxEdit, DB, cxDBData, cxTextEdit, DBClient, ADODB, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, StdCtrls, ExtCtrls, ComCtrls, ToolWin, + cxButtonEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; + +type + TfrmMJSJFX = class(TForm) + ToolBar1: TToolBar; + TBClose: TToolButton; + Panel1: TPanel; + Label1: TLabel; + OrderNo: TEdit; + ADOTmp: TADOQuery; + ADOQueryMain: TADOQuery; + ADOCmd: TADOQuery; + DataSource1: TDataSource; + Order_YC: TClientDataSet; + Label2: TLabel; + Ma: TLabel; + Label7: TLabel; + MJQty1: TEdit; + Label5: TLabel; + Label8: TLabel; + MJFK: TEdit; + Label9: TLabel; + Label3: TLabel; + Label11: TLabel; + MJSJKZ: TEdit; + Label13: TLabel; + MJQty2: TEdit; + Panel2: TPanel; + Order_CD: TClientDataSet; + DataSource2: TDataSource; + Order_XG: TClientDataSet; + DataSource3: TDataSource; + DataSource4: TDataSource; + Order_Del: TClientDataSet; + Label4: TLabel; + Panel4: TPanel; + cxGrid3: TcxGrid; + TV3: TcxGridDBTableView; + cxGridDBColumn7: TcxGridDBColumn; + cxGridDBColumn8: TcxGridDBColumn; + cxGridDBColumn9: TcxGridDBColumn; + cxGridDBColumn10: TcxGridDBColumn; + cxGridDBColumn11: TcxGridDBColumn; + cxGridDBColumn12: TcxGridDBColumn; + TV3Column1: TcxGridDBColumn; + TV3Column2: TcxGridDBColumn; + TV3Column3: TcxGridDBColumn; + cxGridLevel3: TcxGridLevel; + Panel5: TPanel; + Panel6: TPanel; + cxGrid1: TcxGrid; + TV1: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + TV1Column1: TcxGridDBColumn; + TV1Column2: TcxGridDBColumn; + TV1Column3: TcxGridDBColumn; + TV1Column4: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + Panel7: TPanel; + Panel9: TPanel; + cxGrid4: TcxGrid; + TV4: TcxGridDBTableView; + cxGridDBColumn19: TcxGridDBColumn; + cxGridLevel4: TcxGridLevel; + Panel8: TPanel; + cxGrid2: TcxGrid; + TV2: TcxGridDBTableView; + cxGridDBColumn13: TcxGridDBColumn; + cxGridDBColumn14: TcxGridDBColumn; + cxGridDBColumn15: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + TV4Column1: TcxGridDBColumn; + TV4Column2: TcxGridDBColumn; + Panel3: TPanel; + cxGrid5: TcxGrid; + Tv5: TcxGridDBTableView; + cxGridDBColumn20: TcxGridDBColumn; + cxGridDBColumn21: TcxGridDBColumn; + cxGridDBColumn22: TcxGridDBColumn; + cxGridLevel5: TcxGridLevel; + Order_TH: TClientDataSet; + DataSource5: TDataSource; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure OrderNoKeyPress(Sender: TObject; var Key: Char); + private + { Private declarations } + function SaveData(): Boolean; + public + { Public declarations } + end; + +var + frmMJSJFX: TfrmMJSJFX; + +implementation + +uses + U_Fun, U_ZDYHelp, U_DataLink; + +{$R *.dfm} + +procedure TfrmMJSJFX.FormClose(Sender: TObject; var Action: TCloseAction); +begin + Action := caFree; +end; + +procedure TfrmMJSJFX.FormDestroy(Sender: TObject); +begin + frmMJSJFX := nil; +end; + +function TfrmMJSJFX.SaveData(): Boolean; +begin + +end; + +procedure TfrmMJSJFX.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ƥ', Tv2, 'ݷ'); +end; + +procedure TfrmMJSJFX.FormShow(Sender: TObject); +var + key: Char; +begin + + key := #13; + OrderNoKeyPress(OrderNo, key); +end; + +procedure TfrmMJSJFX.OrderNoKeyPress(Sender: TObject; var Key: Char); +begin + if Key = #13 then + begin + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.Add('exec P_Get_YichangData ''' + trim(orderno.Text) + ''' '); + Open; + end; + SCreateCDS20(ADOQueryMain, Order_YC); + SInitCDSData20(ADOQueryMain, Order_YC); + + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.Add('exec P_View_SJFX ''' + trim(orderno.Hint) + ''' ,''0'' '); + Open; + end; + SCreateCDS20(ADOQueryMain, Order_CD); + SInitCDSData20(ADOQueryMain, Order_CD); + + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.Add('exec P_View_SJFX ''' + trim(orderno.Hint) + ''' ,''1'' '); + Open; + end; + SCreateCDS20(ADOQueryMain, Order_XG); + SInitCDSData20(ADOQueryMain, Order_XG); + + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.Add('exec P_View_SJFX ''' + trim(orderno.Hint) + ''' ,''2'' '); + Open; + end; + SCreateCDS20(ADOQueryMain, Order_Del); + SInitCDSData20(ADOQueryMain, Order_Del); + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.Add('exec P_View_SJFX ''' + trim(orderno.Hint) + ''' ,''3'' '); + Open; + end; + SCreateCDS20(ADOQueryMain, Order_TH); + SInitCDSData20(ADOQueryMain, Order_TH); + end; +end; + +end. + diff --git a/打卷检验管理/U_ModulePromptList.dfm b/打卷检验管理/U_ModulePromptList.dfm new file mode 100644 index 0000000..cbdab77 --- /dev/null +++ b/打卷检验管理/U_ModulePromptList.dfm @@ -0,0 +1,179 @@ +object frmModulePromptList: TfrmModulePromptList + Left = 126 + Top = 142 + Width = 1065 + Height = 547 + Caption = #25105#30340#31649#23478 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1049 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = TBRafreshClick + end + object TBClose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1049 + Height = 41 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Panel2: TPanel + Left = 664 + Top = 2 + Width = 383 + Height = 37 + Align = alRight + BevelOuter = bvNone + Caption = #25552#31034#65306#21452#20987#25171#24320#22788#29702#20449#24687#30028#38754 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 73 + Width = 1049 + Height = 436 + Align = alClient + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Deleting = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Header = DataLink_TradeManage.FontBlue + object v1Column5: TcxGridDBColumn + Caption = #24453#22788#29702#20107#39033 + DataBinding.FieldName = 'ModuleName' + HeaderAlignmentHorz = taCenter + Width = 235 + end + object v1Column1: TcxGridDBColumn + Caption = #22788#29702#20154 + DataBinding.FieldName = 'DName' + HeaderAlignmentHorz = taCenter + Width = 107 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + PopupMenus = <> + Left = 1128 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 936 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1000 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1040 + Top = 8 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 1168 + Top = 8 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 815 + Top = 7 + end + object cxGridPopupMenu2: TcxGridPopupMenu + PopupMenus = <> + Left = 506 + Top = 195 + end +end diff --git a/打卷检验管理/U_ModulePromptList.pas b/打卷检验管理/U_ModulePromptList.pas new file mode 100644 index 0000000..cd44210 --- /dev/null +++ b/打卷检验管理/U_ModulePromptList.pas @@ -0,0 +1,223 @@ +unit U_ModulePromptList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, + RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, + cxTextEdit, cxPC; + +type + TfrmModulePromptList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Order_Main: TClientDataSet; + cxGridPopupMenu2: TcxGridPopupMenu; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1Column5: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1Column1: TcxGridDBColumn; + Panel2: TPanel; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBCloseClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure cxPageControl1Change(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + private + fDConString_link1:string; + procedure InitGrid(); + procedure InitForm(); + procedure InitDllEvt(FromFile:String;FormID:Integer;Para:String;FormType:Integer; Title: String; + Def1: String; Def2: String; Def3: String; Def4: String; Def5: String; + Def6: String; Def7: String; Def8: String; Def9: String; Def10: string); + { Private declarations } + public + { Public declarations } + userID,username:string; + end; + +var + frmModulePromptList: TfrmModulePromptList; + +implementation +uses + U_DataLink,U_Fun; +type + TMyF = function( + App: TApplication; //Ӧó (Delphi) + FormH: HWND; //ڵĸھ (PB) + FormID: Integer; //ҪdllйܴId; ֻһܴڣFormIDĬΪ0 + Language: Integer; //0=Delphi; 1=PB + WinStyle: Integer; //0=Ӵ; 1ͨ (PBжΪͨ) + UID: PChar; //ûId + UName: PChar; //û + Para: PChar; + Title: PChar; + Defstr1: PChar; + Defstr2: PChar; + Defstr3: PChar; + Defstr4: PChar; + Defstr5: PChar; + Defstr6: PChar; + Defstr7: PChar; + Defstr8: PChar; + Defstr9: PChar; + Defstr10: PChar; + Datalink: PChar + ): HWND; stdcall; +var + TP: FARPROC; + Tf: TMyF; +{$R *.dfm} + +procedure TfrmModulePromptList.FormDestroy(Sender: TObject); +begin + frmModulePromptList:=nil; +end; + +procedure TfrmModulePromptList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmModulePromptList.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('б',Tv1,'ҵĹܼ'); +end; + +procedure TfrmModulePromptList.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + sql.Clear; + SQL.Add(' exec P_Chk_Tishi :DName,:DCode'); + Parameters.ParamByName('DName').Value:=Trim(DName); + Parameters.ParamByName('DCode').Value:=Trim(DCode); + ExecSQL; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + +end; + +procedure TfrmModulePromptList.InitForm(); +begin + fDConString_link1:=Trim(DConString); + ReadCxGrid('б',Tv1,'ҵĹܼ'); + InitGrid(); +end; + +procedure TfrmModulePromptList.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmModulePromptList.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmModulePromptList.cxPageControl1Change(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmModulePromptList.InitDllEvt(FromFile:String;FormID:Integer;Para:String;FormType:Integer; Title: String; + Def1: String; Def2: String; Def3: String; Def4: String; Def5: String; + Def6: String; Def7: String; Def8: String; Def9: String; Def10: string); +var + Th: HMODULE; +begin + Th := LoadLibrary(PChar(FromFile)); + if Th > 0 then + begin + TP := GetProcAddress(Th, 'GetDllForm'); + if TP <> nil then + begin + Tf := TMyF(Tp); + Tf(Application, 0, FormID, 0, FormType, PChar(DCode), PChar(DName), PChar(Para), PChar(Title), + PChar(Def1), PChar(Def2),PChar(Def3),PChar(Def4),PChar(Def5), + PChar(Def6),PChar(Def7),PChar(Def8),PChar(Def9),PChar(Def10), + pchar(fDConString_link1)); + end; + end + else + begin + Application.MessageBox(PChar('򲻿ļ' + FromFile + ''), '', MB_ICONERROR); + end; +end; + + +procedure TfrmModulePromptList.Tv1CellDblClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from SY_ModuleSub where ModuleId='''+Trim(Order_Main.fieldbyname('ModuleId').AsString)+''''); + sql.Add(' and ModuleSubId='''+Trim(Order_Main.fieldbyname('ModuleSubId').AsString)+''''); + Open; + end; + IF (trim(Order_Main.FieldByName('ModuleId').AsString)='05' ) and (trim(Order_Main.FieldByName('ModuleSubId').AsString)='04' ) then + begin + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update JYOrder_Sub_AnPai SET Aordflag10=1 where Aordflag10=0 '); + execsql; + end; + end; + IF not ADOQueryTemp.IsEmpty then + begin + InitDllEvt(Trim(ADOQueryTemp.FieldByName('formFile').AsString), + ADOQueryTemp.FieldByName('FormID').AsInteger, + Trim(ADOQueryTemp.FieldByName('FormPara').AsString), + ADOQueryTemp.FieldByName('FormType').AsInteger, + Trim(ADOQueryTemp.FieldByName('Formname').AsString), + + Trim(ADOQueryTemp.FieldByName('FormPara1').AsString), + Trim(ADOQueryTemp.FieldByName('FormPara2').AsString), + Trim(ADOQueryTemp.FieldByName('FormPara3').AsString), + Trim(ADOQueryTemp.FieldByName('FormPara4').AsString), + Trim(ADOQueryTemp.FieldByName('FormPara5').AsString), + + Trim(ADOQueryTemp.FieldByName('FormPara6').AsString), + Trim(ADOQueryTemp.FieldByName('FormPara7').AsString), + Trim(ADOQueryTemp.FieldByName('FormPara8').AsString), + Trim(ADOQueryTemp.FieldByName('FormPara9').AsString), + Trim(ADOQueryTemp.FieldByName('FormPara10').AsString), + ); + end; +end; + +end. diff --git a/打卷检验管理/U_OrderAttachment.dfm b/打卷检验管理/U_OrderAttachment.dfm new file mode 100644 index 0000000..78503bc --- /dev/null +++ b/打卷检验管理/U_OrderAttachment.dfm @@ -0,0 +1,666 @@ +object frmOrderAttachment: TfrmOrderAttachment + Left = 123 + Top = 69 + Width = 1019 + Height = 650 + Caption = #29983#20135#35745#21010#21333 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object Panel1: TPanel + Left = 0 + Top = 29 + Width = 1011 + Height = 300 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 0 + object Label1: TLabel + Left = 44 + Top = 11 + Width = 69 + Height = 16 + Caption = #23458' '#25143#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 44 + Top = 39 + Width = 68 + Height = 16 + Caption = #29983#20135#32447#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 372 + Top = 11 + Width = 69 + Height = 16 + Caption = #32534' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 372 + Top = 39 + Width = 68 + Height = 16 + Caption = #35746#21333#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 44 + Top = 70 + Width = 85 + Height = 16 + Caption = #21253#35013#35201#27714#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 60 + Top = 95 + Width = 36 + Height = 12 + Caption = #21253#35013#65306 + end + object Label12: TLabel + Left = 60 + Top = 119 + Width = 36 + Height = 12 + Caption = #21787#22836#65306 + end + object Label13: TLabel + Left = 44 + Top = 141 + Width = 85 + Height = 16 + Caption = #36136#37327#35201#27714#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label14: TLabel + Left = 60 + Top = 173 + Width = 36 + Height = 12 + Caption = #24067#38754#65306 + end + object Label15: TLabel + Left = 60 + Top = 195 + Width = 36 + Height = 12 + Caption = #25163#24863#65306 + end + object Label16: TLabel + Left = 60 + Top = 217 + Width = 36 + Height = 12 + Caption = #21560#27700#65306 + end + object Label17: TLabel + Left = 188 + Top = 217 + Width = 48 + Height = 12 + Caption = #33394#29282#24230#65306 + end + object Label18: TLabel + Left = 300 + Top = 217 + Width = 36 + Height = 12 + Caption = #20998#20999#65306 + end + object Label19: TLabel + Left = 44 + Top = 244 + Width = 85 + Height = 16 + Caption = #20132#36135#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label20: TLabel + Left = 583 + Top = 175 + Width = 85 + Height = 16 + Caption = #31614#21457#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label21: TLabel + Left = 583 + Top = 239 + Width = 68 + Height = 16 + Caption = #31614#21457#20154#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 583 + Top = 8 + Width = 51 + Height = 16 + Caption = #22791#27880#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 735 + Top = 216 + Width = 111 + Height = 35 + Caption = #22791#27880#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 912 + Top = 47 + Width = 41 + Height = 12 + Hint = 'clRed' + AutoSize = False + Color = clRed + ParentColor = False + OnClick = Label8Click + end + object Label9: TLabel + Left = 912 + Top = 63 + Width = 41 + Height = 12 + Hint = 'clOlive' + AutoSize = False + Color = clOlive + ParentColor = False + OnClick = Label8Click + end + object Label10: TLabel + Left = 912 + Top = 79 + Width = 41 + Height = 12 + Hint = 'clBlue' + AutoSize = False + Color = clBlue + ParentColor = False + OnClick = Label8Click + end + object Label22: TLabel + Left = 912 + Top = 95 + Width = 41 + Height = 12 + Hint = 'clFuchsia' + AutoSize = False + Color = clFuchsia + ParentColor = False + OnClick = Label8Click + end + object Label24: TLabel + Left = 912 + Top = 110 + Width = 41 + Height = 12 + Hint = 'clBlack' + AutoSize = False + Color = clBlack + ParentColor = False + OnClick = Label8Click + end + object Customnoname: TEdit + Left = 106 + Top = 8 + Width = 99 + Height = 24 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 0 + end + object SCXName: TEdit + Left = 106 + Top = 36 + Width = 99 + Height = 24 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 1 + end + object OrderCode: TEdit + Left = 438 + Top = 8 + Width = 119 + Height = 24 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 2 + end + object OrderNo: TEdit + Left = 438 + Top = 36 + Width = 119 + Height = 24 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 3 + end + object ADefStr3: TEdit + Tag = 9 + Left = 94 + Top = 92 + Width = 247 + Height = 20 + TabOrder = 4 + OnDblClick = ADefStr3DblClick + end + object ADefStr4: TEdit + Tag = 9 + Left = 94 + Top = 116 + Width = 463 + Height = 20 + TabOrder = 5 + OnDblClick = ADefStr4DblClick + end + object ADefStr5: TEdit + Tag = 9 + Left = 94 + Top = 170 + Width = 247 + Height = 20 + TabOrder = 6 + OnDblClick = ADefStr5DblClick + end + object ADefStr6: TEdit + Tag = 9 + Left = 94 + Top = 192 + Width = 79 + Height = 20 + TabOrder = 7 + OnDblClick = ADefStr6DblClick + end + object ADefStr7: TEdit + Tag = 9 + Left = 94 + Top = 214 + Width = 79 + Height = 20 + TabOrder = 8 + OnDblClick = ADefStr7DblClick + end + object ADefStr8: TEdit + Tag = 9 + Left = 238 + Top = 214 + Width = 47 + Height = 20 + TabOrder = 9 + OnDblClick = ADefStr8DblClick + end + object ADefStr9: TEdit + Tag = 9 + Left = 334 + Top = 214 + Width = 223 + Height = 20 + TabOrder = 10 + OnDblClick = ADefStr9DblClick + end + object QFDate: TDateTimePicker + Tag = 9 + Left = 583 + Top = 197 + Width = 126 + Height = 24 + Date = 41143.565024953710000000 + Time = 41143.565024953710000000 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + end + object QFPerson: TEdit + Tag = 9 + Left = 585 + Top = 258 + Width = 127 + Height = 24 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 12 + end + object BegRKDate: TDateTimePicker + Left = 94 + Top = 264 + Width = 143 + Height = 24 + Date = 41143.565024953710000000 + Time = 41143.565024953710000000 + ShowCheckbox = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 13 + end + object ADefStr10: TRichEdit + Tag = 9 + Left = 584 + Top = 29 + Width = 321 + Height = 121 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 14 + end + end + object cxGrid5: TcxGrid + Left = 0 + Top = 329 + Width = 1011 + Height = 284 + Align = alClient + TabOrder = 1 + object TvSub: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = TvSubColumn1 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object vSubColumn3: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'XHNO' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 31 + end + object vSubColumn4: TcxGridDBColumn + Caption = #20135#21697#20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.FonePurple + Width = 92 + end + object vSubColumn6: TcxGridDBColumn + Caption = #21407#26009#37197#27604 + DataBinding.FieldName = 'YLPBStr' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.FonePurple + Width = 72 + end + object vSubColumn7: TcxGridDBColumn + Caption = #32593#23380#30446#25968 + DataBinding.FieldName = 'WKMS' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.FonePurple + Width = 70 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 64 + end + object vSubColumn5: TcxGridDBColumn + Caption = #33457#32441 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 58 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #24133#23485'(cm)' + DataBinding.FieldName = 'FSWFBFK' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 69 + end + object vSubColumn1: TcxGridDBColumn + Caption = #20811#37325'g/'#13217 + DataBinding.FieldName = 'SWFBKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 73 + end + object TvSubColumn1: TcxGridDBColumn + Caption = #35746#36141#25968#37327'(KG)' + DataBinding.FieldName = 'OrdQty' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 92 + end + object vSubColumn8: TcxGridDBColumn + Caption = #21367#22343#37325#19979#38480 + DataBinding.FieldName = 'KZSmal' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.FonePurple + Width = 73 + end + object vSubColumn9: TcxGridDBColumn + Caption = #21367#22343#37325#19978#38480 + DataBinding.FieldName = 'KZBig' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.FonePurple + Width = 70 + end + end + object cxGridLevel4: TcxGridLevel + GridView = TvSub + end + end + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1011 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBProducttion.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 2 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + Visible = False + OnClick = TBSaveClick + end + object TBClose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object DataSource1: TDataSource + DataSet = CDS_Sub + Left = 368 + Top = 448 + end + object CDS_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 352 + Top = 480 + end + object ADOTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 456 + Top = 445 + end + object ADOCmd: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 496 + Top = 445 + end + object ADOQuery1: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 536 + Top = 445 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid5 + PopupMenus = <> + Left = 248 + Top = 464 + end + object ADOQuery2: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 616 + Top = 453 + end +end diff --git a/打卷检验管理/U_OrderAttachment.pas b/打卷检验管理/U_OrderAttachment.pas new file mode 100644 index 0000000..7c91ac3 --- /dev/null +++ b/打卷检验管理/U_OrderAttachment.pas @@ -0,0 +1,543 @@ +unit U_OrderAttachment; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, cxStyles, cxCustomData, cxGraphics, + cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxButtonEdit, + cxTextEdit, cxGridLevel, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, + ComCtrls, ToolWin, DBClient, ADODB, cxGridCustomPopupMenu, + cxGridPopupMenu; + +type + TfrmOrderAttachment = class(TForm) + Panel1: TPanel; + Label1: TLabel; + Customnoname: TEdit; + Label2: TLabel; + SCXName: TEdit; + Label3: TLabel; + OrderCode: TEdit; + Label4: TLabel; + OrderNo: TEdit; + Label5: TLabel; + Label11: TLabel; + ADefStr3: TEdit; + Label12: TLabel; + ADefStr4: TEdit; + Label13: TLabel; + Label14: TLabel; + ADefStr5: TEdit; + Label15: TLabel; + ADefStr6: TEdit; + Label16: TLabel; + ADefStr7: TEdit; + Label17: TLabel; + ADefStr8: TEdit; + Label18: TLabel; + ADefStr9: TEdit; + Label19: TLabel; + cxGrid5: TcxGrid; + TvSub: TcxGridDBTableView; + vSubColumn3: TcxGridDBColumn; + vSubColumn4: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + TvSubColumn1: TcxGridDBColumn; + cxGridLevel4: TcxGridLevel; + Label20: TLabel; + Label21: TLabel; + QFDate: TDateTimePicker; + QFPerson: TEdit; + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + vSubColumn1: TcxGridDBColumn; + DataSource1: TDataSource; + CDS_Sub: TClientDataSet; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + ADOQuery1: TADOQuery; + vSubColumn5: TcxGridDBColumn; + vSubColumn6: TcxGridDBColumn; + vSubColumn7: TcxGridDBColumn; + BegRKDate: TDateTimePicker; + cxGridPopupMenu1: TcxGridPopupMenu; + vSubColumn8: TcxGridDBColumn; + vSubColumn9: TcxGridDBColumn; + Label6: TLabel; + ADefStr10: TRichEdit; + ADOQuery2: TADOQuery; + Label7: TLabel; + Label8: TLabel; + Label9: TLabel; + Label10: TLabel; + Label22: TLabel; + Label24: TLabel; + procedure ADefStr3DblClick(Sender: TObject); + procedure ADefStr4DblClick(Sender: TObject); + procedure ADefStr5DblClick(Sender: TObject); + procedure ADefStr6DblClick(Sender: TObject); + procedure ADefStr9DblClick(Sender: TObject); + procedure ADefStr7DblClick(Sender: TObject); + procedure ADefStr8DblClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure Label8Click(Sender: TObject); + private + { Private declarations } + procedure SaveJiangYe(); + public + + { Public declarations } + FAMainId:string; + end; + +var + frmOrderAttachment: TfrmOrderAttachment; + +implementation +uses + U_DataLink,U_ZDYHelp,U_Fun,U_GetPGJBInList,U_ZDYHelpSel; + +{$R *.dfm} + +procedure TfrmOrderAttachment.ADefStr3DblClick(Sender: TObject); +begin + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:='CPBZ'; + flagname:='װ'; + if ShowModal=1 then + begin + Self.ADefStr3.Text:=Self.ADefStr3.Text+Trim(ReturnStr); + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmOrderAttachment.ADefStr4DblClick(Sender: TObject); +begin + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:='CPMT'; + flagname:='ͷ'; + if ShowModal=1 then + begin + Self.ADefStr4.Text:=Self.ADefStr4.Text+Trim(ReturnStr); + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmOrderAttachment.ADefStr5DblClick(Sender: TObject); +begin + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:='CPBM'; + flagname:=''; + if ShowModal=1 then + begin + Self.ADefStr5.Text:=Self.ADefStr5.Text+Trim(ReturnStr); + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmOrderAttachment.ADefStr6DblClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='CPFeel'; + flagname:='ָ'; + if ShowModal=1 then + begin + Self.ADefStr6.Text:=Trim(ClientDataSet1.fieldbyname('zdyname').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderAttachment.ADefStr9DblClick(Sender: TObject); +begin + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:='CPFX'; + flagname:=''; + if ShowModal=1 then + begin + Self.ADefStr9.Text:=Self.ADefStr9.Text+Trim(ReturnStr); + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmOrderAttachment.ADefStr7DblClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='CPXS'; + flagname:='ˮ'; + if ShowModal=1 then + begin + Self.ADefStr7.Text:=Trim(ClientDataSet1.fieldbyname('zdyname').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderAttachment.ADefStr8DblClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='CPSLD'; + flagname:='ɫζ'; + if ShowModal=1 then + begin + Self.ADefStr8.Text:=Trim(ClientDataSet1.fieldbyname('zdyname').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderAttachment.FormShow(Sender: TObject); +begin + ReadCxGrid('޷IJƻ1',TvSub,'ָʾ'); + with ADOQuery1 do + begin + Close; + SQL.Clear; + sql.Add(' exec P_WFBOrder_ListAtt :begdate,:endate,:MainId'); + ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(FAMainId); + ADOQuery1.Parameters.ParamByName('begdate').Value:=''; + ADOQuery1.Parameters.ParamByName('endate').Value:=''; + Open; + end; + // SCreateCDS20(ADOQuery1,Order_Sub); + //SInitCDSData20(ADOQuery1,Order_Sub); + + SCSHDataWTag(ADOQuery1,Panel1); + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from WFBOrder_Main_Attachment where MainId='''+Trim(FAMainId)+''''); + Open; + end; + if ADOQuery1.IsEmpty then + begin + Label7.Caption:='δ'; + Label7.Font.Color:=clRed; + with ADOQuery1 do + begin + close; + sql.Clear; + sql.Add('select Top 1* from WFBOrder_Main_Attachment '); + Open; + end; + if ADOQuery1.IsEmpty=False then + begin + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from WFBOrder_Main_Attachment order by FillTime desc '); + Open; + end; + with ADOQuery1 do + begin + ADefStr3.Text:=Trim(fieldbyname('ADefStr3').AsString); + ADefStr4.Text:=Trim(fieldbyname('ADefStr4').AsString); + ADefStr5.Text:=Trim(fieldbyname('ADefStr5').AsString); + ADefStr6.Text:=Trim(fieldbyname('ADefStr6').AsString); + ADefStr7.Text:=Trim(fieldbyname('ADefStr7').AsString); + ADefStr8.Text:=Trim(fieldbyname('ADefStr8').AsString); + ADefStr9.Text:=Trim(fieldbyname('ADefStr9').AsString); + + end; + end; + end else + begin + Label7.Caption:=''; + Label7.Font.Color:=clBlue; + if Trim(ADOQuery1.fieldbyname('ADefStr11').AsString)='clBlue' then + begin + ADefStr10.Font.Color:=clBlue; + end else + if Trim(ADOQuery1.fieldbyname('ADefStr11').AsString)='clRed' then + begin + ADefStr10.Font.Color:=clRed; + end else + if Trim(ADOQuery1.fieldbyname('ADefStr11').AsString)='clOlive' then + begin + ADefStr10.Font.Color:=clOlive; + end else + if Trim(ADOQuery1.fieldbyname('ADefStr11').AsString)='clFuchsia' then + begin + ADefStr10.Font.Color:=clFuchsia; + end else + begin + ADefStr10.Font.Color:=clBlack; + end; + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBOrder_Main_Attachment where MainId='''+Trim(FAMainId)+''''); + Open; + end; + if ADOCmd.IsEmpty then + begin + QFPerson.Text:=Trim(DName); + QFDate.DateTime:=SGetServerDate(ADOQuery1); + end; + with ADOQuery1 do + begin + Close; + SQL.Clear; + SQL.Add('select A.*,Case when OrdUnit=''K'' then A.SOrdQty'); + SQL.Add(' else A.SOrdQty*A.SWFBKZ*1.00/1000 end as OrdQty,'); + sql.Add(' Case when B.OrderType=''Ʒ'' then A.SWFBFK2 else A.SWFBFK end as FSWFBFK, '); + sql.add('YLPBStr=dbo.F_Get_WFBOrder_SubStr(A.SubId,''YLPB'')'); + SQL.Add('from WFBOrder_Sub A'); + SQL.Add('inner join WFBOrder_Main B on A.MainId=B.MainId'); + sql.Add(' where A.MainId='''+Trim(FAMainId)+''''); + Open; + end; + SCreateCDS20(ADOQuery1,CDS_Sub); + SInitCDSData20(ADOQuery1,CDS_Sub); +end; + +procedure TfrmOrderAttachment.TBSaveClick(Sender: TObject); +var + maxnno:String; +begin + try + ADOCmd.Connection.BeginTrans; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBOrder_Main_Attachment where MainId='''+Trim(FAMainId)+''''); + Open; + end; + with ADOCmd do + begin + if ADOCmd.IsEmpty then + begin + Append; + FieldByName('Filler').Value:=Trim(DName); + end else + begin + Edit; + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOQuery1); + end; + FieldByName('MainId').value:=Trim(FAMainId); + FieldByName('ADefStr11').Value:=Trim(ADefStr10.Hint); + SSetsavedata(ADOCmd,'WFBOrder_Main_Attachment',Panel1,9); + Post; + end; + with CDS_Sub do + begin + First; + while not Eof do + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBOrder_Sub where SubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+''''); + Open; + end; + with ADOCmd do + begin + Edit; + if Trim(CDS_Sub.fieldbyname('SOrderMQty').AsString)<>'' then + FieldByName('SOrderMQty').Value:=CDS_Sub.fieldbyname('SOrderMQty').AsString; + FieldByName('SNote').Value:=CDS_Sub.fieldbyname('SNote').AsString; + Post; + end; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + SaveJiangYe(); + Application.MessageBox('ɹ','ʾ',0); + Label7.Caption:=''; + Label7.Font.Color:=clBlue; + except + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; +procedure TfrmOrderAttachment.SaveJiangYe(); +var + maxno,maxnosub:string; +begin + try + ADOCmd.Connection.BeginTrans; + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select A.MainId,A.SWFBColor from WFBOrder_Sub A inner join WFBOrder_Main_Attachment B'); + sql.Add(' on A.MainId=B.MainId where A.MainId='''+Trim(FAMainId)+''''); + sql.Add(' group by A.MainId,A.SWFBColor'); + Open; + end; + with ADOQuery1 do + begin + First; + while not Eof do + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_MainIdColor_JiangYe where MainId='''+Trim(FAMainId)+''''); + sql.Add(' and SWFBColor='''+Trim(ADOQuery1.fieldbyname('SWFBColor').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty then + begin + if GetLSNo(ADOCmd,maxno,'MC','WFBYCL_MainIdColor_JiangYe',2,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡϱʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + close; + sql.Clear; + sql.Add('select * from WFBYCL_MainIdColor_JiangYe where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MCID').Value:=Trim(maxno); + FieldByName('MainId').Value:=Trim(FAMainId); + FieldByName('SWFBColor').Value:=Trim(ADOQuery1.fieldbyname('SWFBColor').AsString); + Post; + end; + end else + begin + maxno:=Trim(ADOTemp.fieldbyname('MCID').AsString); + end; + with ADOQuery2 do + begin + Close; + sql.Clear; + sql.Add('exec P_JiangLiaoListMainIdColor :MainId,:SWFBColor,:WSQl'); + Parameters.ParamByName('MainId').Value:=Trim(FAMainId); + Parameters.ParamByName('SWFBColor').Value:=Trim(ADOQuery1.fieldbyname('SWFBColor').AsString); + Parameters.ParamByName('WSQl').Value:=''; + Open; + end; + with ADOQuery2 do + begin + First; + while not Eof do + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_JiangYe where MainId='''+Trim(FAMainId)+''''); + sql.Add(' and SWFBColor='''+Trim(ADOQuery1.fieldbyname('SWFBColor').AsString)+''''); + sql.Add(' and YCLCode='''+Trim(ADOQuery2.fieldbyname('YCLCode').AsString)+''''); + Open; + end; + if Trim(ADOTemp.fieldbyname('YJID').AsString)='' then + begin + if GetLSNo(ADOCmd,maxnosub,'YJ','WFBYCL_JiangYe',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡϱʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxnosub:=Trim(ADOTemp.fieldbyname('YJID').AsString); + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_JiangYe where YJID='''+Trim(maxnosub)+''''); + open; + end; + with ADOCmd do + begin + if Trim(ADOTemp.fieldbyname('YJID').AsString)='' then + Append + else + Edit; + FieldByName('MCID').Value:=Trim(maxno); + FieldByName('YJID').Value:=Trim(maxnosub); + FieldByName('MainId').Value:=Trim(FAMainId); + FieldByName('SWFBColor').Value:=Trim(ADOQuery1.fieldbyname('SWFBColor').AsString); + FieldByName('YCLCode').Value:=Trim(ADOQuery2.fieldbyname('YCLCode').AsString); + FieldByName('YCLName').Value:=Trim(ADOQuery2.fieldbyname('YCLName').AsString); + FieldByName('YGQty').Value:=Trim(ADOQuery2.fieldbyname('YGQty').AsString); + Post; + end; + Next; + end; + end; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + except + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ϱʧܣ','ʾ',0); + end; +end; +procedure TfrmOrderAttachment.TBCloseClick(Sender: TObject); +begin + WriteCxGrid('޷IJƻ1',TvSub,'ָʾ'); + Close; +end; + +procedure TfrmOrderAttachment.Label8Click(Sender: TObject); +begin + ADefStr10.Font.Color:=TLabel(Sender).Color; + ADefStr10.Hint:=TLabel(Sender).Hint; +end; + +end. diff --git a/打卷检验管理/U_OrderInPut.dfm b/打卷检验管理/U_OrderInPut.dfm new file mode 100644 index 0000000..eede157 --- /dev/null +++ b/打卷检验管理/U_OrderInPut.dfm @@ -0,0 +1,1947 @@ +object frmOrderInPut: TfrmOrderInPut + Left = 284 + Top = 185 + Width = 1379 + Height = 761 + Caption = #25351#31034#21333#24405#20837 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1363 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = TBSaveClick + end + object ToolButton4: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #37325#36830 + ImageIndex = 73 + OnClick = ToolButton4Click + end + object TBClose: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object ScrollBox1: TScrollBox + Left = 0 + Top = 29 + Width = 1363 + Height = 280 + Align = alTop + BevelInner = bvNone + BevelOuter = bvNone + Color = clBtnFace + Ctl3D = False + ParentColor = False + ParentCtl3D = False + TabOrder = 1 + object Label1: TLabel + Left = 31 + Top = 11 + Width = 66 + Height = 12 + Caption = #35746' '#21333' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 413 + Top = 503 + Width = 67 + Height = 12 + Caption = #26579' '#21378#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label10: TLabel + Left = 387 + Top = 11 + Width = 66 + Height = 12 + Caption = #21512' '#21516' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 568 + Top = 11 + Width = 65 + Height = 12 + Caption = #25490#21333#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label14: TLabel + Left = 208 + Top = 11 + Width = 67 + Height = 12 + Caption = #23458' '#25143#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 50 + Top = 502 + Width = 67 + Height = 12 + Caption = #38376' '#24133#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label13: TLabel + Left = 228 + Top = 502 + Width = 67 + Height = 12 + Caption = #20811' '#37325#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label2: TLabel + Left = 209 + Top = 66 + Width = 60 + Height = 12 + Caption = #24320' '#21098#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 550 + Top = 483 + Width = 67 + Height = 12 + Caption = #35268' '#26684#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label5: TLabel + Left = 27 + Top = 293 + Width = 67 + Height = 12 + Caption = #33337' '#26679#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label11: TLabel + Left = 921 + Top = 388 + Width = 67 + Height = 12 + Caption = #32553' '#29575#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label9: TLabel + Left = 437 + Top = 510 + Width = 67 + Height = 12 + Caption = #25197' '#24230#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label8: TLabel + Left = 686 + Top = 530 + Width = 61 + Height = 12 + Caption = 'PH '#20540#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label15: TLabel + Left = 638 + Top = 503 + Width = 65 + Height = 12 + Caption = #21518#25972#29702#21378#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label16: TLabel + Left = 240 + Top = 503 + Width = 66 + Height = 12 + Caption = #22383' '#24067' '#21378#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label17: TLabel + Left = 62 + Top = 503 + Width = 65 + Height = 12 + Caption = #21407#26009#24037#21378#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label18: TLabel + Left = 510 + Top = 480 + Width = 65 + Height = 12 + Caption = #25253#20851#21517#31216#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label19: TLabel + Left = 31 + Top = 124 + Width = 65 + Height = 12 + Caption = #21253#35013#35201#27714#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label20: TLabel + Left = 281 + Top = 494 + Width = 67 + Height = 12 + Caption = #30701' '#30721#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label21: TLabel + Left = 31 + Top = 64 + Width = 67 + Height = 12 + Caption = #33337' '#26679#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label22: TLabel + Left = 387 + Top = 68 + Width = 67 + Height = 12 + Caption = #23553' '#26465#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label23: TLabel + Left = 31 + Top = 199 + Width = 67 + Height = 12 + Caption = #22791' '#27880#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label24: TLabel + Left = 783 + Top = 317 + Width = 65 + Height = 12 + Caption = #25968#37327#35201#27714#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label25: TLabel + Left = 31 + Top = 38 + Width = 65 + Height = 12 + Caption = #20132#36135#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label26: TLabel + Left = 192 + Top = 483 + Width = 65 + Height = 12 + Caption = #20135#21697#32534#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label27: TLabel + Left = 498 + Top = 487 + Width = 65 + Height = 12 + Caption = #25968#37327#28322#30701#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label28: TLabel + Left = 86 + Top = 482 + Width = 67 + Height = 12 + Caption = #24178' '#30952#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label29: TLabel + Left = 264 + Top = 482 + Width = 67 + Height = 12 + Caption = #28287' '#30952#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label30: TLabel + Left = 437 + Top = 482 + Width = 65 + Height = 12 + Caption = #27838#33394#29282#24230#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label31: TLabel + Left = 623 + Top = 482 + Width = 65 + Height = 12 + Caption = #27700#27927#29282#24230#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label32: TLabel + Left = 27 + Top = 485 + Width = 66 + Height = 12 + Caption = #25239' '#36215' '#29699#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label33: TLabel + Left = 177 + Top = 401 + Width = 65 + Height = 12 + Caption = #23545#33394#20809#28304#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label34: TLabel + Left = 779 + Top = 474 + Width = 66 + Height = 12 + Caption = #38459' '#29123' '#24615#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label35: TLabel + Left = 401 + Top = 502 + Width = 67 + Height = 12 + Caption = #27454' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label36: TLabel + Left = 785 + Top = 19 + Width = 13 + Height = 84 + Caption = #26631#13#10' '#13#10#31614#13#10#13#10#20869#13#10#13#10#23481 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + OnDblClick = Label36DblClick + end + object Label37: TLabel + Left = 786 + Top = 146 + Width = 13 + Height = 84 + Caption = #21787#13#10#13#10#22836#13#10#13#10#20869#13#10#13#10#23481 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + OnDblClick = Label37DblClick + end + object Label38: TLabel + Left = 568 + Top = 40 + Width = 67 + Height = 12 + Caption = #28907' '#37329#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label39: TLabel + Left = 177 + Top = 376 + Width = 65 + Height = 12 + Caption = #22383#24067#20132#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label40: TLabel + Left = 206 + Top = 515 + Width = 65 + Height = 12 + Caption = #36827#20179#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label41: TLabel + Left = 562 + Top = 502 + Width = 66 + Height = 12 + Caption = #36319' '#21333' '#21592#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label43: TLabel + Left = 209 + Top = 38 + Width = 66 + Height = 12 + Caption = #19994' '#21153' '#21592#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label45: TLabel + Left = 575 + Top = 521 + Width = 65 + Height = 12 + Caption = #25104#20221#27604#20363#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clBlack + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label46: TLabel + Left = 739 + Top = 316 + Width = 65 + Height = 12 + Caption = #20462#25913#22791#27880#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label47: TLabel + Left = 140 + Top = 486 + Width = 67 + Height = 12 + Caption = #32568' '#26679#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label48: TLabel + Left = 103 + Top = 494 + Width = 67 + Height = 12 + Caption = #27491' '#30721#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label49: TLabel + Left = 739 + Top = 296 + Width = 65 + Height = 12 + Caption = #20462#25913#27425#25968#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label42: TLabel + Left = 540 + Top = 394 + Width = 65 + Height = 12 + Caption = #20844#21496#25260#22836#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label4: TLabel + Left = 76 + Top = 320 + Width = 26 + Height = 12 + Caption = #22270#26679 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label44: TLabel + Left = 379 + Top = 293 + Width = 65 + Height = 12 + Caption = #33337#26679#26631#31614#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label50: TLabel + Left = 387 + Top = 38 + Width = 66 + Height = 12 + Caption = #21152' '#24037' '#21378#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label51: TLabel + Left = -1 + Top = 376 + Width = 66 + Height = 12 + Caption = #22383' '#24067' '#21378#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label52: TLabel + Left = 351 + Top = 376 + Width = 65 + Height = 12 + Caption = #22383#24067#25209#27425#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label53: TLabel + Left = 535 + Top = 376 + Width = 65 + Height = 12 + Caption = #22383#24067#21333#20215#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label54: TLabel + Left = -1 + Top = 400 + Width = 65 + Height = 12 + Caption = #22383#24067#25968#37327#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label55: TLabel + Left = 31 + Top = 92 + Width = 67 + Height = 12 + Caption = #26631' '#31614#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object OrderNo: TEdit + Tag = 2 + Left = 96 + Top = 8 + Width = 100 + Height = 18 + TabOrder = 2 + end + object ConNo: TEdit + Tag = 2 + Left = 452 + Top = 8 + Width = 100 + Height = 18 + TabOrder = 3 + OnKeyPress = ConNoKeyPress + end + object RanFactory: TBtnEditC + Tag = 2 + Left = 451 + Top = 34 + Width = 100 + Height = 20 + Hint = 'Factory/'#26579#21378 + ReadOnly = True + TabOrder = 7 + OnBtnUpClick = YCLFactoryBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object OrdDate: TDateTimePicker + Tag = 2 + Left = 630 + Top = 7 + Width = 100 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + TabOrder = 1 + end + object CustomerNoName: TBtnEditC + Tag = 2 + Left = 272 + Top = 7 + Width = 100 + Height = 20 + Hint = 'CustomerNo/'#23458#25143 + TabOrder = 0 + OnBtnUpClick = CustomerNoNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTMF: TBtnEditC + Tag = 2 + Left = 28 + Top = 518 + Width = 98 + Height = 20 + Hint = 'MPRTMF/'#38376#24133 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 46 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTKZ: TBtnEditC + Tag = 2 + Left = 263 + Top = 554 + Width = 98 + Height = 20 + Hint = 'MPRTKZ/'#20811#37325 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 52 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTCodeName: TBtnEditC + Tag = 2 + Left = 325 + Top = 507 + Width = 98 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 43 + Visible = False + OnBtnUpClick = MPRTCodeNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTSpec: TBtnEditC + Tag = 2 + Left = 643 + Top = 453 + Width = 98 + Height = 20 + Hint = 'MPRTSpec/'#35268#26684 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 36 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTDuiSeGY: TBtnEditC + Tag = 2 + Left = 242 + Top = 397 + Width = 98 + Height = 20 + Hint = 'MPRTDuiSeGY/'#23545#33394#20809#28304 + ReadOnly = True + TabOrder = 28 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTSL: TBtnEditC + Tag = 2 + Left = 975 + Top = 377 + Width = 98 + Height = 20 + Hint = 'MPRTSL/'#32553#29575 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 26 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTNiuDu: TBtnEditC + Tag = 2 + Left = 851 + Top = 313 + Width = 278 + Height = 20 + Hint = 'MPRTNiuDu/'#25968#37327#35201#27714 + TabOrder = 19 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTPH: TBtnEditC + Tag = 2 + Left = 684 + Top = 504 + Width = 91 + Height = 20 + Hint = 'MPRTPH/PH'#20540 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 42 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object HZLFactory: TBtnEditC + Tag = 2 + Left = 778 + Top = 489 + Width = 98 + Height = 20 + Hint = 'Factory/'#21518#25972#29702#21378 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 41 + Visible = False + OnBtnUpClick = YCLFactoryBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object PBFactory: TBtnEditC + Tag = 2 + Left = 64 + Top = 373 + Width = 98 + Height = 20 + Hint = 'Factory/'#22383#24067#21378 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 23 + Visible = False + OnBtnUpClick = YCLFactoryBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object YCLFactory: TBtnEditC + Tag = 2 + Left = 40 + Top = 547 + Width = 98 + Height = 20 + Hint = 'Factory/'#21407#26009#24037#21378 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 50 + Visible = False + OnBtnUpClick = YCLFactoryBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTZHName: TEdit + Tag = 2 + Left = 520 + Top = 524 + Width = 277 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 47 + Visible = False + end + object MPRTKaiJian: TBtnEditC + Tag = 2 + Left = 274 + Top = 63 + Width = 100 + Height = 20 + Hint = 'MPRTKaiJian/'#24320#21098 + TabOrder = 10 + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTChuanY: TBtnEditC + Tag = 2 + Left = 98 + Top = 61 + Width = 100 + Height = 20 + Hint = 'MPRTChuanY/'#33337#26679 + ReadOnly = True + TabOrder = 9 + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTYaoFeng: TBtnEditC + Tag = 2 + Left = 451 + Top = 64 + Width = 100 + Height = 20 + Hint = 'MPRTYaoFeng/'#23553#26465 + ReadOnly = True + TabOrder = 11 + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTJiBenNote: TBtnEditC + Tag = 2 + Left = 92 + Top = 289 + Width = 276 + Height = 20 + Hint = 'MPRTJiBenNote/'#33337' '#26679 + TabOrder = 16 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTTeBieNote: TBtnEditC + Tag = 2 + Left = 64 + Top = 435 + Width = 278 + Height = 20 + Hint = 'MPRTTeBieNote/'#21253#35013#29305#21035#25552#31034 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 32 + Visible = False + OnBtnUpClick = MPRTSCTeBieNoteBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object DLYDate: TDateTimePicker + Tag = 2 + Left = 96 + Top = 34 + Width = 100 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + TabOrder = 5 + end + object MPRTCode: TBtnEditC + Tag = 2 + Left = 283 + Top = 447 + Width = 98 + Height = 20 + Hint = 'MPRTCode/'#20135#21697#32534#21495 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 35 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTQtyNote: TBtnEditC + Tag = 2 + Left = 833 + Top = 553 + Width = 98 + Height = 20 + Hint = 'MPRTQtyNote/'#25968#37327#35828#26126 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 51 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTColorLaoDu1: TBtnEditC + Tag = 2 + Left = -4 + Top = 438 + Width = 98 + Height = 20 + Hint = 'MPRTColorLaoDu1/'#24178#30952 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 33 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTColorLaoDu2: TBtnEditC + Tag = 2 + Left = 468 + Top = 418 + Width = 98 + Height = 20 + Hint = 'MPRTColorLaoDu2/'#28287#30952 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 31 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTColorLaoDu3: TBtnEditC + Tag = 2 + Left = 504 + Top = 457 + Width = 98 + Height = 20 + Hint = 'MPRTColorLaoDu3/'#27838#33394#29282#24230 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 37 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTColorLaoDu4: TBtnEditC + Tag = 2 + Left = 890 + Top = 514 + Width = 91 + Height = 20 + Hint = 'MPRTColorLaoDu4/'#27700#27927#29282#24230 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 45 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTKQiQiu: TBtnEditC + Tag = 2 + Left = 157 + Top = 445 + Width = 98 + Height = 20 + Hint = 'MPRTKQiQiu/'#25239#36215#29699 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 34 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTDingPoLv: TBtnEditC + Tag = 2 + Left = 483 + Top = 542 + Width = 85 + Height = 20 + Hint = 'MPRTDingPoLv/'#39030#30772#29575 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 49 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTZuRanXing: TBtnEditC + Tag = 2 + Left = 847 + Top = 470 + Width = 98 + Height = 20 + Hint = 'MPRTZuRanXing/'#38459#29123#24615 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 40 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTKuanNO: TBtnEditC + Tag = 2 + Left = 569 + Top = 561 + Width = 98 + Height = 20 + Hint = 'MPRTKuanNO/'#27454#21495 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 53 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTTangJin: TBtnEditC + Tag = 2 + Left = 630 + Top = 34 + Width = 100 + Height = 20 + Hint = 'MPRTTangJin/'#28907#37329 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 8 + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object OrdDefDate1: TDateTimePicker + Tag = 2 + Left = 242 + Top = 373 + Width = 100 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 24 + Visible = False + end + object OrdDefDate2: TDateTimePicker + Tag = 2 + Left = 166 + Top = 537 + Width = 100 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 48 + Visible = False + end + object OrdPerson1: TBtnEditC + Tag = 2 + Left = 817 + Top = 508 + Width = 98 + Height = 20 + Hint = 'OrdPerson1/'#36319#21333#21592 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 44 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object OrdPerson2: TBtnEditC + Tag = 2 + Left = 274 + Top = 34 + Width = 100 + Height = 20 + Hint = 'OrdPerson2/'#19994#21153#21592 + TabOrder = 6 + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object LBNameNote: TMemo + Tag = 2 + Left = 800 + Top = 12 + Width = 130 + Height = 130 + TabOrder = 4 + end + object MaiTouNote: TMemo + Tag = 2 + Left = 801 + Top = 145 + Width = 130 + Height = 130 + TabOrder = 13 + end + object SYRName: TBtnEditC + Tag = 2 + Left = 594 + Top = 406 + Width = 99 + Height = 20 + Hint = 'SYRName/'#20844#21496#21488#22836 + TabOrder = 29 + Visible = False + OnBtnUpClick = SYRNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTBZNote: TMemo + Tag = 2 + Left = 96 + Top = 122 + Width = 642 + Height = 68 + Hint = 'MPRTBZNote/'#21253#35013#35201#27714 + ScrollBars = ssVertical + TabOrder = 12 + OnDblClick = MPRTBZNoteDblClick + end + object MPRTSCTeBieNote: TMemo + Tag = 2 + Left = 96 + Top = 202 + Width = 642 + Height = 68 + Hint = 'MPRTSCTeBieNote/'#36136#37327#35201#27714 + ScrollBars = ssVertical + TabOrder = 14 + OnDblClick = MPRTSCTeBieNoteDblClick + end + object Orddefstr5: TEdit + Tag = 2 + Left = 419 + Top = 373 + Width = 98 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 25 + Visible = False + end + object orddefnote1: TMemo + Tag = 2 + Left = 737 + Top = 332 + Width = 220 + Height = 105 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ScrollBars = ssVertical + TabOrder = 21 + Visible = False + end + object orddefstr1: TBtnEditC + Tag = 2 + Left = 951 + Top = 415 + Width = 98 + Height = 20 + Hint = 'orddefstr1/'#39564#36135 + ReadOnly = True + TabOrder = 30 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object orddefstr2: TEdit + Tag = 2 + Left = 657 + Top = 566 + Width = 53 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 54 + Visible = False + end + object orddefstr4: TBtnEditC + Tag = 2 + Left = 234 + Top = 462 + Width = 43 + Height = 20 + Hint = 'ZMTYPE/'#27491#30721 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 39 + Visible = False + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object orddefstr3: TEdit + Tag = 2 + Left = 129 + Top = 462 + Width = 53 + Height = 18 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 38 + Visible = False + end + object EditCnt: TcxCurrencyEdit + Tag = 2 + Left = 800 + Top = 292 + Properties.DecimalPlaces = 0 + Properties.DisplayFormat = '#' + Style.BorderStyle = ebsSingle + TabOrder = 17 + Visible = False + Width = 73 + end + object Files: TcxDBImage + Left = 1141 + Top = 304 + DataBinding.DataField = 'FilesOther' + DataBinding.DataSource = DSIMage + Properties.GraphicClassName = 'TJPEGImage' + Properties.ReadOnly = True + Properties.ShowFocusRect = False + Style.BorderStyle = ebsSingle + TabOrder = 18 + Visible = False + Height = 185 + Width = 232 + end + object FileName: TcxButton + Left = 244 + Top = 316 + Width = 57 + Height = 25 + Hint = 'Filesother' + Caption = #21152#36733#22270#29255 + TabOrder = 20 + Visible = False + OnClick = FileNameClick + LookAndFeel.Kind = lfOffice11 + end + object orddefnote2: TMemo + Tag = 2 + Left = 448 + Top = 287 + Width = 277 + Height = 54 + ScrollBars = ssVertical + TabOrder = 15 + Visible = False + end + object PBPrice: TcxCurrencyEdit + Tag = 2 + Left = 598 + Top = 372 + Properties.DisplayFormat = '0.00' + TabOrder = 22 + Visible = False + Width = 100 + end + object PbQty: TcxCurrencyEdit + Tag = 2 + Left = 62 + Top = 396 + Properties.DisplayFormat = '0.00' + TabOrder = 27 + Visible = False + Width = 100 + end + object SLBName: TBtnEditA + Left = 92 + Top = 88 + Width = 281 + Height = 20 + TabOrder = 55 + OnBtnClick = SLBNameBtnClick + end + object Button1: TButton + Left = 376 + Top = 84 + Width = 97 + Height = 37 + Caption = #35774#35745#26631#31614 + TabOrder = 56 + OnClick = Button1Click + end + object GroupBox1: TGroupBox + Left = 937 + Top = 0 + Width = 424 + Height = 278 + Align = alRight + Caption = #26631#31614#23637#31034 + TabOrder = 57 + object RMPreview1: TRMPreview + Left = 1 + Top = 13 + Width = 422 + Height = 264 + Align = alClient + BevelOuter = bvLowered + Caption = #26631#31614#39044#35272 + TabOrder = 0 + Options.RulerUnit = rmutScreenPixels + Options.RulerVisible = False + Options.DrawBorder = False + Options.BorderPen.Color = clGray + Options.BorderPen.Style = psDash + end + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 309 + Width = 1363 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 2 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 126 + Top = 0 + Caption = #19968#38190#26367#25442 + ImageIndex = 104 + OnClick = ToolButton3Click + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 338 + Width = 1363 + Height = 384 + Align = alClient + TabOrder = 3 + object Tv1: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + Column = v1PRTOrderQty + end + item + Format = '0' + Position = spFooter + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.FocusFirstCellOnNewRecord = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsData.Deleting = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1XHNo: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'XHNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 35 + end + object v1KHorderNo: TcxGridDBColumn + Caption = #23458#25143#35746#21333#21495 + DataBinding.FieldName = 'KHorderNo' + HeaderAlignmentHorz = taCenter + Width = 77 + end + object v1PRTCode: TcxGridDBColumn + Caption = #20135#21697#32534#21495 + DataBinding.FieldName = 'PRTCode' + Visible = False + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v1Column5: TcxGridDBColumn + Caption = #27454#21495 + DataBinding.FieldName = 'PRTKuanNo' + HeaderAlignmentHorz = taCenter + Width = 74 + end + object v1PRTCodeName: TcxGridDBColumn + Caption = #21697#21517#20013#25991 + DataBinding.FieldName = 'PRTCodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1PRTCodeNamePropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 79 + end + object v1Column4: TcxGridDBColumn + Caption = #21697#21517#33521#25991 + DataBinding.FieldName = 'Sorddefstr5' + HeaderAlignmentHorz = taCenter + Width = 67 + end + object v1SOrddefstr1: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 57 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1PRTColorPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 64 + end + object v1Column3: TcxGridDBColumn + Caption = #39068#33394'('#33521#25991')' + DataBinding.FieldName = 'SOrddefstr4' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.FonePurple + Width = 115 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1PRTOrderQtyPropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.FontBlue + Width = 61 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1OrderUnitPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.FontBlue + Width = 77 + end + object v1Column1: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'SOrdDefNote1' + HeaderAlignmentHorz = taCenter + Width = 123 + end + object v1PRTHX: TcxGridDBColumn + Caption = #33457#22411#33457#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 69 + end + object v1SOrddefstr2: TcxGridDBColumn + Caption = #30830#35748#33394#21345 + DataBinding.FieldName = 'SOrddefstr2' + Visible = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 87 + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'PRTMF' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Width = 75 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'PRTKZ' + HeaderAlignmentHorz = taCenter + Width = 78 + end + object v1Column2: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'PRTSpec' + Visible = False + HeaderAlignmentHorz = taCenter + Width = 62 + end + object v1Column9: TcxGridDBColumn + Caption = #33457#22411#22270#29255 + DataBinding.FieldName = 'HXFile' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column9PropertiesButtonClick + Visible = False + HeaderAlignmentHorz = taCenter + Width = 59 + end + object v1Column6: TcxGridDBColumn + Caption = #32553#29575'(%)' + DataBinding.FieldName = 'SordQty1' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1PRTOrderQtyPropertiesEditValueChanged + Visible = False + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v1Column7: TcxGridDBColumn + Caption = #28322#30701#35013'(+-%)' + DataBinding.FieldName = 'SordQty2' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1PRTOrderQtyPropertiesEditValueChanged + Visible = False + HeaderAlignmentHorz = taCenter + Width = 80 + end + object Tv1Column1: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'PRTganghao' + HeaderAlignmentHorz = taCenter + Width = 66 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object ADOTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1008 + Top = 141 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 1068 + Top = 237 + end + object DataSource1: TDataSource + DataSet = Order_Sub + Left = 1048 + Top = 192 + end + object Order_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 988 + Top = 200 + end + object ADOQuery1: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 996 + Top = 253 + end + object ADOQueryImage: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 996 + Top = 49 + end + object DSIMage: TDataSource + DataSet = ADOQueryImage + Left = 972 + Top = 57 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 776 + Top = 205 + end + object RMGridReport2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 432 + Top = 368 + ReportData = {} + end + object OpenDialog1: TOpenDialog + Filter = 'RMFl(*.rmf)|*.rmf' + InitialDir = '.' + Left = 200 + Top = 4 + end + object ADOQuery_label: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 668 + Top = 4 + end + object RMDS_Main: TRMDBDataSet + Visible = True + AliasName = #26631#31614#25968#25454 + DataSet = ADOQuery_label + Left = 710 + Top = 100 + end + object RMGridReport1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + Preview = RMPreview1 + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 336 + Top = 8 + ReportData = {} + end + object RMGridReportDesigner1: TRMGridReportDesigner + Left = 376 + Top = 8 + end + object RMBMPExport1: TRMBMPExport + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + Left = 776 + Top = 133 + end + object QryCheckNet: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 92 + Top = 349 + end +end diff --git a/打卷检验管理/U_OrderInPut.pas b/打卷检验管理/U_OrderInPut.pas new file mode 100644 index 0000000..9c3a36e --- /dev/null +++ b/打卷检验管理/U_OrderInPut.pas @@ -0,0 +1,1749 @@ +unit U_OrderInPut; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, + cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo, + cxRichEdit, ComCtrls, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit, + StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar, StrUtils, + cxCurrencyEdit, cxImage, Menus, cxLookAndFeelPainters, cxButtons, cxDBEdit, + cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels, cxNavigator, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_Preview, + RM_DsgGridReport, RM_e_Graphic, RM_e_bmp; + +type + TfrmOrderInPut = class(TForm) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ScrollBox1: TScrollBox; + Label1: TLabel; + OrderNo: TEdit; + Label7: TLabel; + ToolBar2: TToolBar; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + v1PRTColor: TcxGridDBColumn; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + DataSource1: TDataSource; + Order_Sub: TClientDataSet; + ADOQuery1: TADOQuery; + v1PRTOrderQty: TcxGridDBColumn; + Label10: TLabel; + ConNo: TEdit; + RanFactory: TBtnEditC; + v1XHNo: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + v1SOrddefstr1: TcxGridDBColumn; + v1SOrddefstr2: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + ToolButton3: TToolButton; + v1PRTHX: TcxGridDBColumn; + Label3: TLabel; + Label14: TLabel; + Label12: TLabel; + Label13: TLabel; + OrdDate: TDateTimePicker; + CustomerNoName: TBtnEditC; + MPRTMF: TBtnEditC; + MPRTKZ: TBtnEditC; + Label2: TLabel; + MPRTCodeName: TBtnEditC; + Label6: TLabel; + MPRTSpec: TBtnEditC; + Label5: TLabel; + MPRTDuiSeGY: TBtnEditC; + Label11: TLabel; + MPRTSL: TBtnEditC; + Label9: TLabel; + MPRTNiuDu: TBtnEditC; + Label8: TLabel; + MPRTPH: TBtnEditC; + Label15: TLabel; + HZLFactory: TBtnEditC; + Label16: TLabel; + PBFactory: TBtnEditC; + Label17: TLabel; + YCLFactory: TBtnEditC; + Label18: TLabel; + MPRTZHName: TEdit; + Label19: TLabel; + Label20: TLabel; + MPRTKaiJian: TBtnEditC; + Label21: TLabel; + MPRTChuanY: TBtnEditC; + Label22: TLabel; + MPRTYaoFeng: TBtnEditC; + Label23: TLabel; + MPRTJiBenNote: TBtnEditC; + Label24: TLabel; + MPRTTeBieNote: TBtnEditC; + Label25: TLabel; + DLYDate: TDateTimePicker; + Label26: TLabel; + MPRTCode: TBtnEditC; + Label27: TLabel; + MPRTQtyNote: TBtnEditC; + Label28: TLabel; + Label29: TLabel; + Label30: TLabel; + Label31: TLabel; + MPRTColorLaoDu1: TBtnEditC; + MPRTColorLaoDu2: TBtnEditC; + MPRTColorLaoDu3: TBtnEditC; + MPRTColorLaoDu4: TBtnEditC; + Label32: TLabel; + Label33: TLabel; + Label34: TLabel; + MPRTKQiQiu: TBtnEditC; + MPRTDingPoLv: TBtnEditC; + MPRTZuRanXing: TBtnEditC; + Label35: TLabel; + MPRTKuanNO: TBtnEditC; + Label36: TLabel; + Label37: TLabel; + Label38: TLabel; + MPRTTangJin: TBtnEditC; + Label39: TLabel; + OrdDefDate1: TDateTimePicker; + Label40: TLabel; + OrdDefDate2: TDateTimePicker; + Label41: TLabel; + OrdPerson1: TBtnEditC; + Label43: TLabel; + OrdPerson2: TBtnEditC; + LBNameNote: TMemo; + MaiTouNote: TMemo; + SYRName: TBtnEditC; + MPRTBZNote: TMemo; + MPRTSCTeBieNote: TMemo; + Orddefstr5: TEdit; + Label45: TLabel; + v1Column1: TcxGridDBColumn; + Label46: TLabel; + orddefnote1: TMemo; + orddefstr1: TBtnEditC; + Label47: TLabel; + orddefstr2: TEdit; + orddefstr4: TBtnEditC; + orddefstr3: TEdit; + Label48: TLabel; + Label49: TLabel; + EditCnt: TcxCurrencyEdit; + v1PRTCodeName: TcxGridDBColumn; + v1KHorderNo: TcxGridDBColumn; + v1PRTCode: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + Label42: TLabel; + Label4: TLabel; + FileName: TcxButton; + Files: TcxDBImage; + ADOQueryImage: TADOQuery; + DSIMage: TDataSource; + Label44: TLabel; + orddefnote2: TMemo; + v1Column2: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + Label50: TLabel; + Label51: TLabel; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + cxGridPopupMenu1: TcxGridPopupMenu; + Label52: TLabel; + Label53: TLabel; + PBPrice: TcxCurrencyEdit; + v1Column9: TcxGridDBColumn; + PbQty: TcxCurrencyEdit; + Label54: TLabel; + Label55: TLabel; + SLBName: TBtnEditA; + Button1: TButton; + GroupBox1: TGroupBox; + RMPreview1: TRMPreview; + RMGridReport2: TRMGridReport; + OpenDialog1: TOpenDialog; + ADOQuery_label: TADOQuery; + RMDS_Main: TRMDBDataSet; + RMGridReport1: TRMGridReport; + RMGridReportDesigner1: TRMGridReportDesigner; + RMBMPExport1: TRMBMPExport; + ToolButton4: TToolButton; + QryCheckNet: TADOQuery; + Tv1Column1: TcxGridDBColumn; + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure v1PRTColorPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure RanFactoryBtnUpClick(Sender: TObject); + procedure CustomerNoNameBtnUpClick(Sender: TObject); + procedure CustomerNoNameBtnDnClick(Sender: TObject); + procedure MPRTCodeNameBtnUpClick(Sender: TObject); + procedure NoteDblClick(Sender: TObject); + procedure v1OrderUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); + procedure v1PriceUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); + procedure OrdDefStr2BtnUpClick(Sender: TObject); + procedure ConNoKeyPress(Sender: TObject; var Key: Char); + procedure ToolButton3Click(Sender: TObject); + procedure YCLFactoryBtnUpClick(Sender: TObject); + procedure MPRTSCTeBieNoteBtnUpClick(Sender: TObject); + procedure Label36DblClick(Sender: TObject); + procedure Label37DblClick(Sender: TObject); + procedure SYRNameBtnUpClick(Sender: TObject); + procedure MPRTBZNoteDblClick(Sender: TObject); + procedure MPRTSCTeBieNoteDblClick(Sender: TObject); + procedure v1PRTCodeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); + procedure FileNameClick(Sender: TObject); + procedure v1PRTOrderQtyPropertiesEditValueChanged(Sender: TObject); + procedure v1Column9PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); + procedure Button1Click(Sender: TObject); + procedure SLBNameBtnClick(Sender: TObject); + procedure ToolButton4Click(Sender: TObject); + private + procedure InitData(); + procedure ZDYHelp(FButn: TcxButtonEdit; LType: string); + function SaveData(): Boolean; + function SaveDataSubOne(): Boolean; + function SaveDataMain(): Boolean; + function SaveDataSubMore(): Boolean; + function ExportToFtErp(mFileName: string; ADOQueryCmd: TADOQuery): Boolean; + procedure CJEWM(); + procedure InitImage(); + procedure InitDataSetDictionary(); + function SelfConnData(): Boolean; + { Private declarations } + public + PState, CopyInt, PriceFlag: Integer; + FMainId, FFMainId, FOrderNo: string; + FXS: Integer; + fFlileFlag: string; + { Public declarations } + end; + +var + frmOrderInPut: TfrmOrderInPut; + newh: hwnd; + +implementation + +uses + U_DataLink, U_ZDYHelp, U_Fun, U_ZDYHelpSel, getpic; +{$R *.dfm} + +function TfrmOrderInPut.SelfConnData(): Boolean; +begin + try + with QryCheckNet do + begin + Close; + sql.Clear; + //ѯһС + SQL.Add('select getdate()'); + Open; + end; + Result := true; + except +// if Application.MessageBox('Ƿ磡','ʾ',32+4)<>IDYES then Exit; + if not Assigned(DataLink_TradeManage) then + DataLink_TradeManage := TDataLink_TradeManage.Create(Application); + try + with DataLink_TradeManage.ADOLink do + begin + //if not Connected then + begin + Connected := false; + ConnectionString := DConString; + LoginPrompt := false; + Connected := true; + end; + end; + Result := true; + except + Result := false; + end; + end; +end; + +function TfrmOrderInPut.ExportToFtErp(mFileName: string; ADOQueryCmd: TADOQuery): boolean; +var + fFileName, fpathFileName: string; + Stream: TMemoryStream; + mfileSize: integer; + mCreationTime: TdateTime; + mWriteTime: TdateTime; +begin + result := false; + fFileName := ExtractFileName(Trim(mFileName)); + fpathFileName := trim(mFileName); + try + // ADOQueryCmd.Connection.BeginTrans ; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('delete from RT_FileUpdate'); + sql.Add('where FileName=' + quotedStr(trim(fFileName))); + execsql; + end; + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select * from RT_FileUpdate'); + sql.Add('where FileName=' + quotedStr(trim(fFileName))); + Open; + ////////////////////////// + //ȡļϢ + GetFileInfo(fpathFileName, mfileSize, mCreationTime, mWriteTime); + + if RecordCount <= 0 then + begin + Append; + fieldByName('FileName').AsString := fFileName; + end + else + begin + edit; + end; + + fieldByName('FileEditDate').Value := mWriteTime; + fieldByName('FileCreateDate').Value := mCreationTime; + fieldByName('FileSize').Value := mfileSize; + fieldByName('Filler').Value := Dname; + fieldByName('LastEditer').Value := Dname; + fieldByName('LastEditTime').Value := DServerDate; + if pos('.rmf', fFileName) > 0 then + begin + fieldByName('FilePath').Value := 'report'; + fieldByName('FileType').Value := ''; + end + else if pos('.dll', fFileName) > 0 then + begin + fieldByName('FilePath').Value := ''; + fieldByName('FileType').Value := 'һ'; + end + else + begin + fieldByName('FilePath').Value := ''; + fieldByName('FileType').Value := ''; + end; + // FJStream.LoadFromFile(fpathFileName); + // CompressionStream(FJStream); + //tblobfield(FieldByName('Files')).LoadFromFile(FJStream); + tblobfield(FieldByName('Files')).LoadFromFile(fpathFileName); + //OLEݴݿ + // ADOQueryCmdFileContent.LoadFromFile(fpathFileName); + //ADOQueryCmdFileContent.LoadFromStream(Stream); + + post; + end; + finally + // FJStream.free; + end; + result := true; + // ADOQueryCmd.Connection.CommitTrans ; + except + // ADOQueryCmd.Connection.RollbackTrans ; + application.MessageBox(pchar('ύļ[' + trim(fFileName) + ']ʧ!'), 'ʾϢ', MB_ICONERROR); + end; + +end; + +procedure TfrmOrderInPut.InitDataSetDictionary(); +begin + with ADOQuery_label do + begin + close; + sql.Clear; + sql.Add('exec P_Print_RollLabel'); + sql.Add('@MJID='''' '); + sql.ADD(',@Flag=''1'' '); + OPen; + end; +// with RMGridReport2 do +// begin +// Dictionary.FieldAliases.Clear; +// Dictionary.FieldAliases['RMDS_Main'] := 'ǩ'; +// // Dictionary.FieldAliases['RMDS_Main."barcode"']:='ǩ'; +// end; +end; + +procedure TfrmOrderInPut.InitImage(); +begin +// IF Order_Sub.IsEmpty then exit; + with ADOQueryImage do + begin + close; + sql.Clear; + sql.Add('select * from TP_File A'); + sql.Add('where TFid=' + quotedstr(trim(OrderNO.Text))); + open; + end; +end; + +procedure TfrmOrderInPut.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid(self.Caption + TV1.Name + '1', Tv1, 'ָʾ2'); +end; + +procedure TfrmOrderInPut.InitData(); +var + forderno: string; +begin + with ADOQuery1 do + begin + Close; + SQL.Clear; + sql.Add(' select * from JYOrder_Sub where 1=1 '); + if PState = 1 then + begin + sql.Add(' and MainId=''' + Trim(FMainId) + ''''); + end; + if PState = 0 then + begin + sql.Add(' and 1<>1'); + end; + Open; + end; + SCreateCDS20(ADOQuery1, Order_Sub); + SInitCDSData20(ADOQuery1, Order_Sub); + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where MainId=''' + Trim(FMainId) + ''''); + Open; + end; + SCSHDataNew(ADOQuery1, ScrollBox1, 2); + if not Order_Sub.IsEmpty then + begin + SLBName.Text := Order_Sub.fieldbyName('SLBName').AsString; + end; + + if PState = 0 then + begin + OrdDate.DateTime := SGetServerDateTime(ADOTemp); + DlyDate.DateTime := OrdDate.DateTime; + OrdDefDate1.DateTime := OrdDate.DateTime; + OrdDefDate2.DateTime := OrdDate.DateTime; + OrdPerson2.Text := trim(dName); + end + else + begin + end; + if CopyInt = 99 then + begin + PState := 0; + FMainId := ''; + OrderNo.Text := ''; + orddefnote1.Text := ''; + OrdPerson2.Text := trim(dName); + with Order_Sub do + begin + First; + while not Eof do + begin + Edit; + FieldByName('MainId').Value := ''; + FieldByName('SubId').Value := ''; + Fieldbyname('SLBName').value := null; + Post; + Next; + end; + end; + forderno := OrderNo.Text; + end; + InitImage(); +end; + +procedure TfrmOrderInPut.ZDYHelp(FButn: TcxButtonEdit; LType: string); +begin + +end; + +procedure TfrmOrderInPut.FormShow(Sender: TObject); +begin + readCxGrid(self.Caption + TV1.Name + '1', Tv1, 'ָʾ2'); + InitData(); +end; + +procedure TfrmOrderInPut.CJEWM(); +var + Txt, fImagePath, maxNo: string; + Moudle: THandle; + Makebar: TMakebar; + Mixtext: TMixtext; +// i: Integer; +begin +// i := Order_Sub.RecordCount; +// i := i + 1; + try + Moudle := LoadLibrary('MakeQRBarcode.dll'); + @Makebar := GetProcAddress(Moudle, 'Make'); + @Mixtext := GetProcAddress(Moudle, 'MixText'); + Txt := Trim(order_Sub.fieldbyname('Subid').AsString); + fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp'; + if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then + CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); + if FileExists(fImagePath) then + DeleteFile(fImagePath); + Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); + + with ADOCmd do + begin + Close; + SQL.Clear; + SQL.Add('select * from TP_File '); + sql.Add('where TFID=' + quotedstr(trim(Txt))); + sql.Add('and TFType=''EWM'''); + open; + if isempty then + begin + append; + fieldbyname('TFID').Value := trim(Txt); + fieldbyname('WBID').Value := trim(order_Sub.fieldbyname('Mainid').AsString); + fieldbyname('TFType').Value := 'EWM'; + fieldbyname('FillTime').Value := SGetServerDateTime(ADOTemp); + tblobfield(FieldByName('Filesother')).LoadFromFile(fImagePath); + post; + end; + end; + except + application.MessageBox('ʧܣ', 'ʾϢ', MB_ICONERROR); + order_Sub.EnableControls; + exit; + end; +end; + +function TfrmOrderInPut.SaveData(): Boolean; +var + maxno: string; +begin + try + + ADOCmd.Connection.BeginTrans; + if Trim(FMainId) = '' then + begin + if GetLSNo(ADOCmd, maxno, 'JM', 'JYOrder_Main', 3, 1) = False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!', 'ʾ', 0); + Exit; + end; + end + else + begin + maxno := Trim(FMainId); + end; + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from JYOrder_Main where MainId=''' + Trim(FMainId) + ''''); + Open; + end; + + if PState = 0 then + begin + with ADOCmd do + begin + if Trim(FMainId) = '' then + begin + Append; + end + else + begin + Edit; + end; + FieldByName('MainId').Value := Trim(maxno); + SSetsaveSqlNew(ADOCmd, 'JYOrder_Main', ScrollBox1, 2); + if Trim(FMainId) = '' then + begin + FieldByName('Filler').Value := Trim(DName); + FieldByName('Filltime').Value := SGetServerDateTime(ADOTemp); + end + else + begin + FieldByName('Editer').Value := Trim(DName); + FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp); + end; + FieldByName('LBNameNote').Value := Trim(LBNameNote.Text); + FieldByName('MaiTouNote').Value := MaiTouNote.Text; + FieldByName('editcnt').Value := strtointdef(trim(editcnt.Text), 0); + FieldByName('PBPrice').Value := strtofloatdef(trim(PBPrice.Text), 0); + FieldByName('PBQty').Value := strtofloatdef(trim(PBQty.Text), 0); + FieldByName('Orddefstr15').Value := 'ɫ'; + FieldByName('status').Value := '0'; + Post; + end; + end; + + if PState = 1 then + begin + with ADOCmd do + begin + if Trim(FMainId) = '' then + begin + Append; + end + else + begin + Edit; + end; + FieldByName('MainId').Value := Trim(maxno); + SSetsaveSqlNew(ADOCmd, 'JYOrder_Main', ScrollBox1, 2); + if Trim(FMainId) = '' then + begin + FieldByName('Filler').Value := Trim(DName); + FieldByName('Filltime').Value := SGetServerDateTime(ADOTemp); + end + else + begin + FieldByName('Editer').Value := Trim(DName); + FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp); + end; + FieldByName('LBNameNote').Value := Trim(LBNameNote.Text); + FieldByName('MaiTouNote').Value := MaiTouNote.Text; + FieldByName('editcnt').Value := strtointdef(trim(editcnt.Text), 0); + FieldByName('PBPrice').Value := strtofloatdef(trim(PBPrice.Text), 0); + FieldByName('PBQty').Value := strtofloatdef(trim(PBQty.Text), 0); +// FieldByName('Orddefstr15').Value := '׺'; + FieldByName('status').Value := '0'; + Post; + end; + end; + +// with ADOCmd do +// begin +// if Trim(FMainId) = '' then +// begin +// Append; +// end +// else +// begin +// Edit; +// end; +// FieldByName('MainId').Value := Trim(maxno); +// SSetsaveSqlNew(ADOCmd, 'JYOrder_Main', ScrollBox1, 2); +// if Trim(FMainId) = '' then +// begin +// FieldByName('Filler').Value := Trim(DName); +// FieldByName('Filltime').Value := SGetServerDateTime(ADOTemp); +// end +// else +// begin +// FieldByName('Editer').Value := Trim(DName); +// FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp); +// end; +// FieldByName('LBNameNote').Value := Trim(LBNameNote.Text); +// FieldByName('MaiTouNote').Value := MaiTouNote.Text; +// FieldByName('editcnt').Value := strtointdef(trim(editcnt.Text), 0); +// FieldByName('PBPrice').Value := strtofloatdef(trim(PBPrice.Text), 0); +// FieldByName('PBQty').Value := strtofloatdef(trim(PBQty.Text), 0); +// FieldByName('Orddefstr15').Value := '׺'; +// FieldByName('status').Value := '0'; +// Post; +// end; + + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where orderno=''' + Trim(OrderNo.Text) + ''''); + Open; + end; + if ADOCmd.RecordCount > 1 then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ָʾظ!', 'ʾ', 0); + Exit; + end; + FMainId := Trim(maxno); + + if PState = 1 then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' ' + quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(trim('ָʾ޸'))); + sql.Add(',' + quotedstr(trim('޸ǰָʾţ' + trim(forderno))) + quotedstr(trim('޸ĺָʾţ' + trim(OrderNo.text)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + ExecSQL; + end; + end; + + if PState = 0 then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' ' + quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(trim('ָʾ'))); + sql.Add(',' + quotedstr(trim('ָʾţ' + trim(OrderNo.text)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + ExecSQL; + end; + end; + + + + ///ӱ + with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString) = '' then + begin + if GetLSNo(ADOCmd, maxno, 'JS', 'JYOrder_Sub', 4, 1) = False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ', 'ʾ', 0); + Exit; + end; + end + else + begin + maxno := Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrder_Sub where MainId=''' + Trim(FMainId) + ''''); + sql.Add(' and SubId=''' + Trim(maxno) + ''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString) = '' then + begin + Append; + end + else + Edit; + FieldByName('MainId').Value := Trim(FMainId); + FieldByName('SubId').Value := Trim(maxno); + RTSetSaveDataCDS(ADOCmd, Tv1, Order_Sub, 'JYOrder_Sub', 0); + fieldbyname('PRTMF').Value := Order_Sub.fieldbyname('PRTMF').AsString; + fieldbyname('PRTKZ').Value := Order_Sub.fieldbyname('PRTKZ').AsString; + if Trim(fieldbyname('PRTOrderQty').AsString) = '' then + begin + fieldbyname('PRTOrderQty').Value := 0 + end; + if Trim(fieldbyname('PRTPrice').AsString) = '' then + begin + fieldbyname('PRTPrice').Value := 0 + end; + fieldbyname('SordQty1').Value := Order_Sub.fieldbyname('SordQty1').AsFloat; + fieldbyname('SordQty2').Value := Order_Sub.fieldbyname('SordQty2').AsFloat; + fieldbyname('SordQty3').Value := Order_Sub.fieldbyname('SordQty3').AsFloat; + FieldByName('Sorddefstr10').Value := Order_Sub.FieldByName('Sorddefstr10').AsString; + FieldByName('khOrderNO').Value := trim(Order_Sub.FieldByName('khOrderNO').AsString); + FieldByName('SLBName').Value := ExtractFileName(trim(SLBName.Text)); + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value := Trim(maxno); + Order_Sub.FieldByName('Mainid').Value := Trim(FMainId); + CJEWM(); + Next; + end; + end; + + ADOCmd.Connection.CommitTrans; + Result := True; + except + Result := False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ', 'ʾ', 0); + end; +end; + +function TfrmOrderInPut.SaveDataMain(): Boolean; +var + maxno: string; +begin + try + ADOCmd.Connection.BeginTrans; + /// + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from JYOrder_Main where MainId=''' + Trim(FMainId) + ''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMainId) = '' then + begin + Append; + maxno := Trim(FFMainId); + end + else + begin + maxno := Trim(FMainId); + Edit; + end; + FieldByName('MainId').Value := Trim(maxno); + SSetsaveSqlNew(ADOCmd, 'JYOrder_Main', ScrollBox1, 2); + if PState = 1 then + begin + FieldByName('OrdUpDate').Value := SGetServerDateTime(ADOTemp); + end; + if Trim(FMainId) = '' then + begin + FieldByName('Filler').Value := Trim(DName); + end + else + begin + FieldByName('Editer').Value := Trim(DName); + FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp); + end; + Post; + end; + FMainId := Trim(maxno); + ADOCmd.Connection.CommitTrans; + Result := True; + except + Result := False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ', 'ʾ', 0); + end; +end; + +function TfrmOrderInPut.SaveDataSubOne(): Boolean; +var + maxno: string; +begin + try + ADOCmd.Connection.BeginTrans; + ///ӱ + with Order_Sub do + begin + //First; + //while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString) = '' then + begin + if GetLSNo(ADOTemp, maxno, 'JS', 'JYOrder_Sub', 4, 1) = False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ', 'ʾ', 0); + Exit; + end; + end + else + begin + maxno := Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrder_Sub where MainId=''' + Trim(FMainId) + ''''); + sql.Add(' and SubId=''' + Trim(maxno) + ''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString) = '' then + Append + else + Edit; + FieldByName('MainId').Value := Trim(FMainId); + FieldByName('SubId').Value := Trim(maxno); + RTSetSaveDataCDS(ADOCmd, Tv1, Order_Sub, 'JYOrder_Sub', 0); + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value := Trim(maxno); + //Order_Sub.Post; + //Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result := True; + except + Result := False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('쳣', 'ʾ', 0); + end; +end; + +function TfrmOrderInPut.SaveDataSubMore(): Boolean; +var + maxno: string; +begin + try + ADOCmd.Connection.BeginTrans; + ///ӱ + with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString) = '' then + begin + if GetLSNo(ADOTemp, maxno, 'JS', 'JYOrder_Sub', 4, 1) = False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ', 'ʾ', 0); + Exit; + end; + end + else + begin + maxno := Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrder_Sub where MainId=''' + Trim(FMainId) + ''''); + sql.Add(' and SubId=''' + Trim(maxno) + ''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString) = '' then + Append + else + Edit; + FieldByName('MainId').Value := Trim(FMainId); + FieldByName('SubId').Value := Trim(maxno); + RTSetSaveDataCDS(ADOCmd, Tv1, Order_Sub, 'JYOrder_Sub', 0); + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value := Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result := True; + except + Result := False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('쳣', 'ʾ', 0); + end; +end; + +procedure TfrmOrderInPut.TBSaveClick(Sender: TObject); +begin + OrdDate.SetFocus; + if Trim(OrderNo.Text) = '' then + begin + Application.MessageBox('ָʾŲΪգ', 'ʾ', 0); + Exit; + end; +{ if Order_Sub.Locate('PRTColor',null,[])=True then + begin + Application.MessageBox('ɫΪ!','ʾ',0); + Exit; + end; } +// if order_Sub.Locate('OrderUnit', null, []) = true then +// begin +// application.messagebox('λΪ', 'ʾ'); +// exit; +// end; + + if Order_Sub.IsEmpty then + begin + Application.MessageBox('ϸΪ!', 'ʾ', 0); + Exit; + end; + + if PState = 1 then + begin + + end; + + if SaveData() then + begin + Application.MessageBox('ɹ', 'ʾ', 0); + ModalResult := 1; + end; +end; + +procedure TfrmOrderInPut.v1PRTColorPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := 'OrdColor'; + flagname := 'ɫ'; + V1Name.Caption := ''; + V1Note.Caption := 'Ӣ'; + // MainType:=Trim(DName); + fnote := True; + if ShowModal = 1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PRTColor').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + Self.Order_Sub.FieldByName('SOrddefstr4').Value := Trim(ClientDataSet1.fieldbyname('Note').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut.ToolButton1Click(Sender: TObject); +var + i: Integer; +begin + Tv1.Columns[0].FocusWithSelection; + if Trim(OrderNo.Text) = '' then + begin + Application.MessageBox('ŲΪ!', 'ʾ', 0); + Exit; + end; + i := Order_Sub.RecordCount; + i := i + 1; + CopyAddRow(Tv1, Order_Sub); + with Order_Sub do + begin + Edit; + FieldByName('XHNO').Value := IntToStr(i); + FieldByName('PRTColor').Value := ''; + FieldByName('PRTOrderQty').Value := null; + FieldByName('PRTPrice').Value := 0; + FieldByName('SOrddefstr4').Value := null; + FieldByName('SOrddefstr2').Value := null; + FieldByName('SOrddefstr10').Value := null; + FieldByName('hxFile').Value := ''; + Post; + end; +end; + +procedure TfrmOrderInPut.ToolButton2Click(Sender: TObject); +begin + if Order_Sub.IsEmpty then + Exit; + + if Trim(Order_Sub.fieldbyname('SubId').AsString) <> '' then + begin + if Application.MessageBox('ȷҪɾ', 'ʾ', 32 + 4) <> IDYES then + Exit; + with ADOCmd do + begin + close; + sql.clear; + sql.Add('select * from WFB_MJJY where subid=''' + trim(Order_Sub.fieldbyname('subid').AsString) + ''' '); + // sql.add('and isnull(MJStr2,'''')='''''); + open; + if not ISEmpty then + begin + application.MessageBox('ⲻɾ', 'ʾ'); + exit; + end; + end; + + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete TP_File where WBID=''' + Trim(Order_Sub.fieldbyname('SubId').AsString) + ''' and TFType=''EWM'' '); + ExecSQL; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Sub where SubId=''' + Trim(Order_Sub.fieldbyname('SubId').AsString) + ''''); + ExecSQL; + end; + end; + Order_Sub.Delete; + { if Order_Sub.IsEmpty then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(FMainId)+''''); + ExecSQL; + end; + end; } +end; + +procedure TfrmOrderInPut.RanFactoryBtnUpClick(Sender: TObject); +begin + {try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='RKPlace'; + flagname:='Ⱦ'; + if ShowModal=1 then + begin + JGFactoryName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + JGFactoryName.TxtCode:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; } +end; + +procedure TfrmOrderInPut.CustomerNoNameBtnUpClick(Sender: TObject); +begin + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := 'CustomerNoName'; + flagname := 'ͻ'; + if Trim(DParameters1) <> 'Ȩ' then + MainType := Trim(DName); + if ShowModal = 1 then + begin + CustomerNoName.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + CustomerNoName.TxtCode := Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut.CustomerNoNameBtnDnClick(Sender: TObject); +begin + TBtnEditC(Sender).Text := ''; + TBtnEditC(Sender).TxtCode := ''; +end; + +procedure TfrmOrderInPut.MPRTCodeNameBtnUpClick(Sender: TObject); +begin + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := 'MPRTCodeName'; + flagname := 'Ʒ'; + //fnote:=True; + //V1Note.Caption:='Ʒ'; + if ShowModal = 1 then + begin + MPRTCodeName.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + //MPRTCode.Text:=Trim(ClientDataSet1.fieldbyname('Note').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut.NoteDblClick(Sender: TObject); +begin + {try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:='OrdNote'; + flagname:='עҪ'; + if ShowModal=1 then + begin + Note.Text:=Note.Text+frmZDYHelpSel.ReturnStr; + end; + end; + finally + frmZDYHelpSel.Free; + end;} +end; + +procedure TfrmOrderInPut.v1OrderUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := 'OrderUnit'; + flagname := 'λ'; + if ShowModal = 1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('OrderUnit').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut.v1PriceUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := 'PriceUnit'; + flagname := '۸λ'; + if Trim(DParameters1) <> 'Ȩ' then + begin + TBAdd.Visible := False; + TBEdit.Visible := False; + TBDel.Visible := False; + end; + + if ShowModal = 1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PriceUnit').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut.OrdDefStr2BtnUpClick(Sender: TObject); +var + fsj: string; + FWZ: Integer; +begin + fsj := Trim(TEdit(Sender).Hint); + FWZ := Pos('/', fsj); + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := Copy(fsj, 1, FWZ - 1); + flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); + if Trim(flag) = 'OrdDefStr2' then + begin + V1Name.Caption := ''; + V1Note.Caption := 'Ӣ'; + fnote := True; + end; + if ShowModal = 1 then + begin + TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + if Trim(flag) = 'MPRTCode' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1 * from JYOrder_Main where MPRTCode=''' + Trim(ClientDataSet1.fieldbyname('ZDYName').AsString) + ''''); + sql.Add(' order by FillTime desc'); + Open; + end; + MPRTCodeName.Text := ADOTemp.fieldbyname('MPRTCodeName').AsString; + MPRTMF.Text := ADOTemp.fieldbyname('MPRTMF').AsString; + MPRTKZ.Text := ADOTemp.fieldbyname('MPRTKZ').AsString; + MPRTSpec.Text := ADOTemp.fieldbyname('MPRTSpec').AsString; + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut.ConNoKeyPress(Sender: TObject; var Key: Char); +var + ConMainId: string; +begin + if Key = #13 then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrderCon_Main where ConNo like ''' + '%' + Trim(ConNo.Text) + '%' + ''''); + Open; + end; + if ADOTemp.RecordCount > 1 then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from JYOrderCon_Main where ConNo=''' + Trim(ConNo.Text) + ''''); + Open; + end; + if ADOTemp.IsEmpty then + Exit; + end + else if ADOTemp.RecordCount = 1 then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrderCon_Main where ConNo like ''' + '%' + Trim(ConNo.Text) + '%' + ''''); + Open; + end; + end; + begin + ConNo.Text := Trim(ADOTemp.fieldbyname('ConNo').AsString); + //OrdDefStr1.Text:=Trim(ADOTemp.fieldbyname('ConDefStr1').AsString); + MPRTCodeName.Text := Trim(ADOTemp.fieldbyname('MPRTCodeName').AsString); + MPRTZHName.Text := Trim(ADOTemp.fieldbyname('CPZHName').AsString); + MPRTMF.Text := Trim(ADOTemp.fieldbyname('MPRTMF').AsString); + MPRTKZ.Text := Trim(ADOTemp.fieldbyname('MPRTKZ').AsString); + MPRTChuanY.Text := Trim(ADOTemp.fieldbyname('ChuanYangNote').AsString); + MPRTQtyNote.Text := Trim(ADOTemp.fieldbyname('QtyNote').AsString); + CustomerNoName.Text := Trim(ADOTemp.fieldbyname('CustomerNoName').AsString); + CustomerNoName.TxtCode := Trim(ADOTemp.fieldbyname('CustomerNo').AsString); + DLYDate.DateTime := ADOTemp.fieldbyname('DLYDate').Value; + ConMainId := Trim(ADOTemp.fieldbyname('MainId').AsString); + // ConGS:=Trim(ADOTemp.fieldbyname('SYRName').AsString); + //OrdDefStr2.Text:=Trim(ADOTemp.fieldbyname('ConDefStr2').AsString); + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select A.*,ColorName=(select ZdyName from KH_Zdy B where B.Note=A.PRTColor and B.Type=''OrdColor'' ) '); + SQL.Add(' from JYOrderCon_Sub A where MainId=''' + Trim(ConMainId) + ''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + with Order_Sub do + begin + Append; + FieldByName('PRTColor').Value := Trim(ADOTemp.fieldbyname('PRTColor').AsString); + FieldByName('SOrdDefStr4').Value := Trim(ADOTemp.fieldbyname('SOrdDefStr4').AsString); + FieldByName('SOrdDefStr3').Value := Trim(ADOTemp.fieldbyname('SOrdDefStr3').AsString); + FieldByName('PRTOrderQty').Value := Trim(ADOTemp.fieldbyname('PRTOrderQty').AsString); + FieldByName('OrderUnit').Value := Trim(ADOTemp.fieldbyname('OrderUnit').AsString); + FieldByName('PRTPrice').Value := Trim(ADOTemp.fieldbyname('PRTPrice').AsString); + FieldByName('PriceUnit').Value := Trim(ADOTemp.fieldbyname('PriceUnit').AsString); + FieldByName('PRTHX').Value := Trim(ADOTemp.fieldbyname('PRTHX').AsString); + FieldByName('XHNO').Value := Trim(ADOTemp.fieldbyname('XHNO').AsString); + FieldByName('Sorddefstr10').Value := Trim(ADOTemp.fieldbyname('SUBID').AsString); + + Post; + end; + Next; + end; + end; + end; + + end; +end; + +procedure TfrmOrderInPut.ToolButton3Click(Sender: TObject); +begin + if Order_Sub.IsEmpty then + Exit; + OneKeyPost(Tv1, Order_Sub); +end; + +procedure TfrmOrderInPut.YCLFactoryBtnUpClick(Sender: TObject); +var + fsj: string; + FWZ: Integer; +begin + fsj := Trim(TEdit(Sender).Hint); + FWZ := Pos('/', fsj); + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := Copy(fsj, 1, FWZ - 1); + flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); + MainType := TEdit(Sender).Name; + if ShowModal = 1 then + begin + TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut.MPRTSCTeBieNoteBtnUpClick(Sender: TObject); +var + fsj: string; + FWZ: Integer; +begin + fsj := Trim(TEdit(Sender).Hint); + FWZ := Pos('/', fsj); + try + frmZDYHelpSel := TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag := Copy(fsj, 1, FWZ - 1); + flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); + if ShowModal = 1 then + begin + TEdit(Sender).Text := ReturnStr; + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmOrderInPut.Label36DblClick(Sender: TObject); +begin + try + frmZDYHelpSel := TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag := 'LbNameNote'; + flagname := 'ǩ'; + if ShowModal = 1 then + begin + ClientDataSet1.DisableControls; + //LBNameNote.Text:=''; + with ClientDataSet1 do + begin + First; + while not Eof do + begin + if ClientDataSet1.FieldByName('SSel').AsBoolean = True then + begin + if Trim(Self.LBNameNote.Text) = '' then + begin + Self.LBNameNote.Text := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end + else + begin + Self.LBNameNote.Text := Self.LBNameNote.Text + #13 + #10 + Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + + end; + Next; + end; + end; + ClientDataSet1.EnableControls; + end; + end; + finally + end; +end; + +procedure TfrmOrderInPut.Label37DblClick(Sender: TObject); +begin + try + frmZDYHelpSel := TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag := 'MaitouNote'; + flagname := 'ͷ'; + if ShowModal = 1 then + begin + ClientDataSet1.DisableControls; + with ClientDataSet1 do + begin + First; + while not Eof do + begin + if ClientDataSet1.FieldByName('SSel').AsBoolean = True then + begin + if Trim(Self.MaitouNote.Text) = '' then + begin + Self.MaitouNote.Text := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end + else + begin + Self.MaitouNote.Text := Self.MaitouNote.Text + #13 + #10 + Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + + end; + Next; + end; + end; + ClientDataSet1.EnableControls; + end; + end; + finally + end; +end; + +procedure TfrmOrderInPut.SYRNameBtnUpClick(Sender: TObject); +begin + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := 'OrdDefStr2'; + flagname := '˾̧ͷ'; + V1Name.Caption := ''; + V1Note.Caption := 'Ӣ'; + fnote := True; + { if Trim(DParameters1)<>'Ȩ' then + begin + TBAdd.Visible:=False; + TBEdit.Visible:=false; + TBDel.Visible:=false; + TBSave.Visible:=false; + end; } + if ShowModal = 1 then + begin + SYRName.Text := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut.MPRTBZNoteDblClick(Sender: TObject); +var + fsj: string; + FWZ: Integer; + i: integer; +begin + fsj := Trim(TMemo(Sender).Hint); + FWZ := Pos('/', fsj); + i := 0; + try + frmZDYHelpSel := TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag := Copy(fsj, 1, FWZ - 1); + flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); + if ShowModal = 1 then + begin + MPRTBZNote.Lines.Clear; + with ClientDataSet1 do + begin + First; + while not Eof do + begin + if FieldByName('SSel').AsBoolean = True then + begin + i := i + 1; + MPRTBZNote.Lines.Add(inttostr(i) + '.' + FieldByName('ZDYName').AsString) + end; + Next; + end; + end; + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmOrderInPut.MPRTSCTeBieNoteDblClick(Sender: TObject); +var + fsj: string; + FWZ: Integer; + i: integer; +begin + fsj := Trim(TMemo(Sender).Hint); + FWZ := Pos('/', fsj); + i := 0; + try + frmZDYHelpSel := TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag := Copy(fsj, 1, FWZ - 1); + flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); + if ShowModal = 1 then + begin + MPRTSCTeBieNote.Lines.Clear; + with ClientDataSet1 do + begin + First; + while not Eof do + begin + if FieldByName('SSel').AsBoolean = True then + begin + i := i + 1; + MPRTSCTeBieNote.Lines.Add(inttostr(i) + '.' + FieldByName('ZDYName').AsString) + end; + Next; + end; + end; + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmOrderInPut.v1PRTCodeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := 'PRTCodeName'; + flagname := 'Ʒ'; + if ShowModal = 1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PRTCodeName').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut.FileNameClick(Sender: TObject); +begin + if trim(OrderNo.Text) = '' then + begin + application.MessageBox('ŲΪգ', 'ʾϢ', MB_ICONERROR); + exit; + end; + + try + FormGetPic := TFormGetPic.Create(Application); + with FormGetPic do + begin + // fkeyNO:=trim(Order_Sub.fieldbyname('subID').AsString); + fkeyNO := trim(OrderNo.Text); + pat1 := TCXbutton(Sender).Name; + pic1 := TCXbutton(Sender).Hint; + FTFType := 'ORDERTY'; + // pat1:='PatFile1'; +// pic1:='Picture1'; + if ShowModal = 1 then + begin + // self.Timage(Tbutton(Sender).Hint).Picture.Assign(FormGetPic.Image2.Picture.Bitmap); + OrderNo.Enabled := false; + end; + + Release; + end; + Initimage(); + except + if FormGetPic <> nil then + FormGetPic.Release; + end; +end; + +procedure TfrmOrderInPut.v1PRTOrderQtyPropertiesEditValueChanged(Sender: TObject); +var + mvalue, fieldname: string; +begin + fieldname := Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName; + with Order_Sub do + begin + Edit; + FieldByName(Trim(fieldname)).Value := TcxTextEdit(Sender).EditingText; + if (1 - FieldByName('SordQty1').AsFloat / 100.00) <> 0 then + FieldByName('SordQty3').Value := format('%.0f', [FieldByName('PRTOrderQty').AsFloat * (1 + FieldByName('SordQty2').AsFloat / 100.00) / (1 - FieldByName('SordQty1').AsFloat / 100.00)]); + Post; + end; + Tv1.Controller.EditingController.ShowEdit(); +end; + +procedure TfrmOrderInPut.v1Column9PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); +begin + FormGetPic := TFormGetPic.create(self); + with FormGetPic do + begin + fFlileFlag := self.fFlileFlag; + fkeyNo := Order_Sub.fieldbyname('HXFile').asstring; + pat1 := 'FileName'; + pic1 := 'FilesOther'; + FTFType := 'HX'; + if showmodal = 1 then + begin + Order_Sub.edit; + Order_Sub.fieldbyname('HXFile').Value := trim(fkeyNo); + end; + free; + end; +end; + +procedure TfrmOrderInPut.Button1Click(Sender: TObject); +var + fFileName: string; +begin + if trim(OrderNo.Text) = '' then + begin + application.MessageBox('ŲΪ', 'ʾϢ', 0); + exit; + end; + + with RMGridReport2 do + begin + InitDataSetDictionary(); + RMDS_Main.DataSet := nil; + Dictionary.FieldAliases.Clear; + Dictionary.FieldAliases['RMDS_Main'] := 'ǩ'; + RMDS_Main.DataSet := ADOQuery_label; + if trim(SLBName.Text) <> '' then + begin + if FileExists(trim(SLBName.Text)) then + LoadFromFile(trim(SLBName.Text)) + else + LoadFromFile(ExtractFilePath(Application.ExeName) + 'report\' + trim(SLBName.Text)); + end + else + LoadFromFile(ExtractFilePath(Application.ExeName) + 'report\ǩģ.rmf'); + application.ProcessMessages; + DesignReport(); + fFileName := ExtractFilePath(Application.ExeName) + 'report\' + trim(OrderNO.Text) + '.rmf'; + + RMGridReport2.SaveToFile(fFileName); + SLBName.Text := fFileName; + // RMGridReport1.NewReport; + RMGridReport1.LoadFromFile(fFileName); + RMGridReport1.Preview := RMPreview1; + RMGridReport1.PrepareReport; + RMGridReport1.ShowReport; + ExportToFtErp(fFileName, ADOCmd); + end; +end; + +procedure TfrmOrderInPut.SLBNameBtnClick(Sender: TObject); +begin + if trim(OrderNo.Text) = '' then + begin + application.MessageBox('ŲΪ', 'ʾϢ', 0); + exit; + end; + if OpenDialog1.Execute() then + begin + InitDataSetDictionary(); + SLBName.Text := OpenDialog1.FileName; + RMGridReport1.LoadFromFile(SLBName.Text); + RMGridReport1.Preview := RMPreview1; + RMGridReport1.ShowReport; + end; +end; + +procedure TfrmOrderInPut.ToolButton4Click(Sender: TObject); +begin + if SelfConnData() = false then + begin + Application.MessageBox('ʧܣ±', 'ʾ', 0); + Exit; + end; +end; + +end. + diff --git a/打卷检验管理/U_OrderInPutJZC.dfm b/打卷检验管理/U_OrderInPutJZC.dfm new file mode 100644 index 0000000..5d28697 --- /dev/null +++ b/打卷检验管理/U_OrderInPutJZC.dfm @@ -0,0 +1,727 @@ +object frmOrderInPutJZC: TfrmOrderInPutJZC + Left = 152 + Top = 74 + Width = 950 + Height = 656 + Caption = #25351#31034#21333#24405#20837 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 942 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = TBSaveClick + end + object TBClose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object ScrollBox1: TScrollBox + Left = 0 + Top = 29 + Width = 942 + Height = 300 + Align = alTop + BevelInner = bvNone + BevelOuter = bvNone + Color = clBtnFace + Ctl3D = False + ParentColor = False + ParentCtl3D = False + TabOrder = 1 + object Label1: TLabel + Left = 26 + Top = 15 + Width = 66 + Height = 12 + Caption = #35746' '#21333' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 694 + Top = 15 + Width = 65 + Height = 12 + Caption = #21046#21333#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 247 + Top = 15 + Width = 66 + Height = 12 + Caption = #21512' '#21516' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label14: TLabel + Left = 470 + Top = 15 + Width = 67 + Height = 12 + Caption = #23458' '#25143#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 26 + Top = 44 + Width = 65 + Height = 12 + Caption = #20013#25991#21517#31216#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 247 + Top = 44 + Width = 67 + Height = 12 + Caption = #35268' '#26684#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 470 + Top = 44 + Width = 67 + Height = 12 + Caption = #38376' '#24133#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 694 + Top = 44 + Width = 67 + Height = 12 + Caption = #20811' '#37325#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 26 + Top = 69 + Width = 106 + Height = 12 + Caption = #24037#33402#35201#27714#35201#27714'>>>>' + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 26 + Top = 92 + Width = 66 + Height = 12 + Caption = #33394' '#29282' '#24230#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 694 + Top = 92 + Width = 68 + Height = 12 + Caption = 'PH '#20540#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 470 + Top = 92 + Width = 67 + Height = 12 + Caption = #25197' '#24230#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 247 + Top = 92 + Width = 67 + Height = 12 + Caption = #32553' '#29575#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 26 + Top = 117 + Width = 110 + Height = 12 + Caption = #21378' '#21830'>>>>' + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object OrderNo: TEdit + Tag = 2 + Left = 97 + Top = 12 + Width = 136 + Height = 18 + TabOrder = 0 + end + object OrdDate: TDateTimePicker + Tag = 2 + Left = 762 + Top = 11 + Width = 136 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + TabOrder = 1 + end + object ConNo: TEdit + Tag = 2 + Left = 317 + Top = 12 + Width = 136 + Height = 18 + TabOrder = 2 + OnKeyPress = ConNoKeyPress + end + object CustomerNoName: TBtnEditC + Tag = 2 + Left = 538 + Top = 11 + Width = 136 + Height = 20 + Hint = 'CustomerNo' + ReadOnly = True + TabOrder = 3 + OnBtnUpClick = CustomerNoNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTCodeName: TBtnEditC + Tag = 2 + Left = 97 + Top = 40 + Width = 136 + Height = 20 + Hint = 'MPRTCode' + ReadOnly = True + TabOrder = 4 + OnBtnUpClick = MPRTCodeNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTSpec: TBtnEditC + Tag = 2 + Left = 317 + Top = 40 + Width = 136 + Height = 20 + Hint = 'MPRTSpec/'#35268#26684 + TabOrder = 5 + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTMF: TBtnEditC + Tag = 2 + Left = 538 + Top = 40 + Width = 136 + Height = 20 + Hint = 'MPRTMF/'#38376#24133 + TabOrder = 6 + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTKZ: TBtnEditC + Tag = 2 + Left = 762 + Top = 40 + Width = 136 + Height = 20 + Hint = 'MPRTKZ/'#20811#37325 + TabOrder = 7 + OnBtnUpClick = OrdDefStr2BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object BtnEditC1: TBtnEditC + Tag = 2 + Left = 97 + Top = 88 + Width = 136 + Height = 20 + Hint = 'MPRTCode' + ReadOnly = True + TabOrder = 8 + OnBtnUpClick = MPRTCodeNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object BtnEditC2: TBtnEditC + Tag = 2 + Left = 317 + Top = 88 + Width = 136 + Height = 20 + Hint = 'MPRTCode' + ReadOnly = True + TabOrder = 9 + OnBtnUpClick = MPRTCodeNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object BtnEditC3: TBtnEditC + Tag = 2 + Left = 538 + Top = 88 + Width = 136 + Height = 20 + Hint = 'MPRTCode' + ReadOnly = True + TabOrder = 10 + OnBtnUpClick = MPRTCodeNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object BtnEditC4: TBtnEditC + Tag = 2 + Left = 762 + Top = 88 + Width = 136 + Height = 20 + Hint = 'MPRTCode' + ReadOnly = True + TabOrder = 11 + OnBtnUpClick = MPRTCodeNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object cxGrid2: TcxGrid + Left = 26 + Top = 137 + Width = 207 + Height = 105 + TabOrder = 12 + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + object Tv2Column1: TcxGridDBColumn + Caption = #21407#26009#21378 + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 203 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object cxGrid3: TcxGrid + Left = 247 + Top = 137 + Width = 207 + Height = 105 + TabOrder = 13 + object Tv3: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + object cxGridDBColumn1: TcxGridDBColumn + Caption = #22383#24067#21378 + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 203 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv3 + end + end + object cxGrid4: TcxGrid + Left = 470 + Top = 137 + Width = 207 + Height = 105 + TabOrder = 14 + object Tv4: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + object cxGridDBColumn2: TcxGridDBColumn + Caption = #26579#21378 + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 203 + end + end + object cxGridLevel3: TcxGridLevel + GridView = Tv4 + end + end + object cxGrid5: TcxGrid + Left = 694 + Top = 137 + Width = 207 + Height = 105 + TabOrder = 15 + object Tv5: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + object cxGridDBColumn3: TcxGridDBColumn + Caption = #21152#24037#21378 + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 203 + end + end + object cxGridLevel4: TcxGridLevel + GridView = Tv5 + end + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 329 + Width = 942 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 2 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 126 + Top = 0 + Caption = #19968#38190#26367#25442 + ImageIndex = 104 + OnClick = ToolButton3Click + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 358 + Width = 942 + Height = 261 + Align = alClient + TabOrder = 3 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + Column = v1PRTOrderQty + end + item + Format = '0' + Position = spFooter + Column = v1PRTPrice + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + object v1XHNo: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'XHNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 35 + end + object v1SOrddefstr1: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 85 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = False + Properties.OnButtonClick = v1PRTColorPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 103 + end + object v1Column3: TcxGridDBColumn + Caption = #39068#33394'('#33521#25991')' + DataBinding.FieldName = 'SOrddefstr4' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.FonePurple + Width = 88 + end + object v1Column4: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 54 + end + object v1SOrddefstr2: TcxGridDBColumn + Caption = #30830#35748#33394#21345 + DataBinding.FieldName = 'SOrddefstr2' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 76 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1OrderUnitPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object v1PRTPrice: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'PRTPrice' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 68 + end + object v1PriceUnit: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'PriceUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1PriceUnitPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 76 + end + object v1Column2: TcxGridDBColumn + Caption = #20215#26684#26465#27454 + DataBinding.FieldName = 'SOrddefstr3' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.FonePurple + Width = 86 + end + object v1Column1: TcxGridDBColumn + Caption = #26631#31614#35774#32622 + DataBinding.FieldName = 'SLbName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v1Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 134 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object ADOTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1008 + Top = 181 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 1008 + Top = 141 + end + object DataSource1: TDataSource + DataSet = Order_Sub + Left = 1016 + Top = 368 + end + object Order_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 1000 + Top = 352 + end + object ADOQuery1: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 1016 + Top = 125 + end +end diff --git a/打卷检验管理/U_OrderInPutJZC.pas b/打卷检验管理/U_OrderInPutJZC.pas new file mode 100644 index 0000000..e1755dd --- /dev/null +++ b/打卷检验管理/U_OrderInPutJZC.pas @@ -0,0 +1,1090 @@ +unit U_OrderInPutJZC; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxClasses, cxControls, + cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, + cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, + ExtCtrls, BtnEdit, cxCalendar,StrUtils; + +type + TfrmOrderInPutJZC = class(TForm) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ScrollBox1: TScrollBox; + Label1: TLabel; + Label3: TLabel; + OrderNo: TEdit; + OrdDate: TDateTimePicker; + ToolBar2: TToolBar; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + v1PRTColor: TcxGridDBColumn; + v1PRTPrice: TcxGridDBColumn; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + DataSource1: TDataSource; + Order_Sub: TClientDataSet; + ADOQuery1: TADOQuery; + v1PRTOrderQty: TcxGridDBColumn; + Label10: TLabel; + ConNo: TEdit; + Label14: TLabel; + CustomerNoName: TBtnEditC; + v1XHNo: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + v1SOrddefstr1: TcxGridDBColumn; + v1PriceUnit: TcxGridDBColumn; + v1SOrddefstr2: TcxGridDBColumn; + Label2: TLabel; + MPRTCodeName: TBtnEditC; + Label6: TLabel; + MPRTSpec: TBtnEditC; + Label12: TLabel; + MPRTMF: TBtnEditC; + Label13: TLabel; + MPRTKZ: TBtnEditC; + v1Column2: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + ToolButton3: TToolButton; + v1Column4: TcxGridDBColumn; + Label4: TLabel; + Label5: TLabel; + BtnEditC1: TBtnEditC; + Label7: TLabel; + BtnEditC2: TBtnEditC; + Label9: TLabel; + BtnEditC3: TBtnEditC; + Label11: TLabel; + BtnEditC4: TBtnEditC; + cxGrid2: TcxGrid; + cxGridLevel1: TcxGridLevel; + Tv2: TcxGridDBTableView; + Tv2Column1: TcxGridDBColumn; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + cxGrid4: TcxGrid; + Tv4: TcxGridDBTableView; + cxGridDBColumn2: TcxGridDBColumn; + cxGridLevel3: TcxGridLevel; + cxGrid5: TcxGrid; + Tv5: TcxGridDBTableView; + cxGridDBColumn3: TcxGridDBColumn; + cxGridLevel4: TcxGridLevel; + Label8: TLabel; + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure JGFactoryNameBtnUpClick(Sender: TObject); + procedure CustomerNoNameBtnUpClick(Sender: TObject); + procedure CustomerNoNameBtnDnClick(Sender: TObject); + procedure v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure OrdDefStr3BtnUpClick(Sender: TObject); + procedure MPRTCodeNameBtnUpClick(Sender: TObject); + procedure NoteDblClick(Sender: TObject); + procedure v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PriceUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure jKeyPress(Sender: TObject; var Key: Char); + procedure OrdDefStr2BtnUpClick(Sender: TObject); + procedure ConNoKeyPress(Sender: TObject; var Key: Char); + procedure ToolButton3Click(Sender: TObject); + private + procedure InitData(); + procedure ZDYHelp(FButn:TcxButtonEdit;LType:string); + function SaveData():Boolean; + function SaveDataSubOne():Boolean; + function SaveDataMain():Boolean; + function SaveDataSubMore():Boolean; + { Private declarations } + public + PState,CopyInt,PriceFlag:Integer; + FMainId,FFMainId,FOrderNo:String; + FXS:Integer; + { Public declarations } + end; + +var + frmOrderInPutJZC: TfrmOrderInPutJZC; + newh:hwnd; +implementation +uses + U_DataLink,U_ZDYHelp,U_Fun,U_ZDYHelpSel; + +{$R *.dfm} + +procedure TfrmOrderInPutJZC.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ָʾ¼',Tv1,'ָʾ'); +end; + +procedure TfrmOrderInPutJZC.InitData(); +begin + with ADOQuery1 do + begin + Close; + SQL.Clear; + sql.Add(' select * from JYOrder_Sub '); + if PState=1 then + begin + sql.Add('where MainId='''+Trim(FMainId)+''''); + end; + if PState=0 then + begin + sql.Add(' where 1<>1'); + end; + Open; + end; + SCreateCDS20(ADOQuery1,Order_Sub); + SInitCDSData20(ADOQuery1,Order_Sub); + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + SCSHDataNew(ADOQuery1,ScrollBox1,2); + if PState=0 then + begin + OrdDate.DateTime:=SGetServerDateTime(ADOTemp); + DlyDate.DateTime:=SGetServerDateTime(ADOTemp); + OrdPerson1.Text:=Trim(DName); + end else + begin + end; + if CopyInt=99 then + begin + PState:=0; + FMainId:=''; + OrdPerson1.Text:=Trim(DName); + OrderNo.Text:=''; + with Order_Sub do + begin + First; + while not Eof do + begin + Edit; + FieldByName('MainId').Value:=''; + FieldByName('SubId').Value:=''; + Post; + Next; + end; + end; + end; +end; + +procedure TfrmOrderInPutJZC.ZDYHelp(FButn:TcxButtonEdit;LType:string); +var + FType,ZDYName,FText:String; +begin +end; + +procedure TfrmOrderInPutJZC.FormShow(Sender: TObject); +begin + readCxGrid('ָʾ¼',Tv1,'ָʾ'); + if PriceFlag=99 then + begin + v1PRTPrice.Visible:=False; + v1PRTPrice.Hidden:=True; + end; + InitData(); +end; + +function TfrmOrderInPutJZC.SaveData():Boolean; +var + maxno:String; +begin + try + ADOCmd.Connection.BeginTrans; + /// + if Trim(FMainId)='' then + begin + if GetLSNo(ADOCmd,maxno,'JM','JYOrder_Main',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(FMainId); + end; + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from JYOrder_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMainId)='' then + begin + Append; + end + else begin + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + SSetsaveSqlNew(ADOCmd,'JYOrder_Main',ScrollBox1,2); + if Trim(FMainId)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + FieldByName('Note').Value:=Trim(Note.Text); + Post; + end; + FMainId:=Trim(maxno); + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Main where orderno='''+Trim(OrderNo.Text)+''''); + Open; + end; + if ADOCmd.RecordCount>1 then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ظ!','ʾ',0); + Exit; + end; + ///ӱ + with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'JS','JYOrder_Sub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrder_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add(' and SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'JYOrder_Sub',0); + if Trim(fieldbyname('PRTOrderQty').AsString)='' then + begin + fieldbyname('PRTOrderQty').Value:=0 + end; + if Trim(fieldbyname('PRTPrice').AsString)='' then + begin + fieldbyname('PRTPrice').Value:=0 + end; + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + {if Trim(Order_Sub.FieldByName('PRTPrice').AsString)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR '); + sql.Add('where MainId='''+Trim(FMainId)+''''); + SQL.Add(' and CRType=''ӦտǼ'' '); + SQL.Add(' and YFType=''Զ'' '); + Open; + end; + if ADOTemp.RecordCount=1 then + begin + + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate YF_Money_CR set Price='+Order_Sub.FieldByName('PRTPrice').AsString); + sql.Add(',BZType='''+Trim(Order_Sub.FieldByName('PriceUnit').AsString)+''''); + SQL.Add(' where YFID='''+Trim(ADOTemp.fieldbyname('YFID').AsString)+''''); + ExecSQL; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate YF_Money_CR Set Money=Price*Qty,BBMoney=Price*Qty*HuiLv'); + SQL.Add(' where YFID='''+Trim(ADOTemp.fieldbyname('YFID').AsString)+''''); + ExecSQL; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate YF_Money_KC Set KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' ,KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+ADOTemp.fieldbyname('CRID').AsString); + ExecSQL; + end; + end; + + end; } + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; +function TfrmOrderInPutJZC.SaveDataMain():Boolean; +var + maxno:String; +begin + try + ADOCmd.Connection.BeginTrans; + /// + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from JYOrder_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMainId)='' then + begin + Append; + maxno:=Trim(FFMainId); + end + else begin + maxno:=Trim(FMainId); + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + SSetsaveSqlNew(ADOCmd,'JYOrder_Main',ScrollBox1,2); + if PState=1 then + begin + FieldByName('OrdUpDate').Value:=SGetServerDateTime(ADOTemp); + end; + if Trim(FMainId)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + Post; + end; + FMainId:=Trim(maxno); + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; +function TfrmOrderInPutJZC.SaveDataSubOne():Boolean; +var + maxno:String; +begin + try + ADOCmd.Connection.BeginTrans; + ///ӱ + with Order_Sub do + begin + //First; + //while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'JS','JYOrder_Sub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrder_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add(' and SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'JYOrder_Sub',0); + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxno); + //Order_Sub.Post; + //Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; +function TfrmOrderInPutJZC.SaveDataSubMore():Boolean; +var + maxno:String; +begin + try + ADOCmd.Connection.BeginTrans; + ///ӱ + with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'JS','JYOrder_Sub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrder_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add(' and SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'JYOrder_Sub',0); + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmOrderInPutJZC.TBSaveClick(Sender: TObject); +begin + OrdDate.SetFocus; + if Trim(OrderNo.Text)='' then + begin + Application.MessageBox('ŲΪգ','ʾ',0); + Exit; + end; + if Trim(OrdDefStr1.Text)='' then + begin + Application.MessageBox('˾ŲΪգ','ʾ',0); + Exit; + end; + if Order_Sub.Locate('PRTColor',null,[])=True then + begin + Application.MessageBox('ɫΪ!','ʾ',0); + Exit; + end; + if Order_Sub.Locate('SOrddefstr4',null,[])=True then + begin + Application.MessageBox('ӢɫΪ!','ʾ',0); + Exit; + end; + if Order_Sub.Locate('SLbName',null,[])=True then + begin + Application.MessageBox('ǩΪ!','ʾ',0); + Exit; + end; + if Order_Sub.IsEmpty then + begin + Application.MessageBox('ϸΪ!','ʾ',0); + Exit; + end; + if PState=1 then + begin + if Trim(OrderNo.Text)<>Trim(FOrderNo) then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where MainId='''+Trim(FMainId)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + Application.MessageBox('ѲݣܸĶ!','ʾ',0); + Exit; + end; + end; + end; + + if SaveData() then + begin + Application.MessageBox('ɹ','ʾ',0); + end; +end; + +procedure TfrmOrderInPutJZC.v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdColor'; + flagname:='ɫ'; + V1Name.Caption:=''; + V1Note.Caption:='Ӣ'; + MainType:=Trim(DName); + fnote:=True; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PRTColor').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + Self.Order_Sub.FieldByName('SOrddefstr4').Value:=Trim(ClientDataSet1.fieldbyname('Note').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutJZC.ToolButton1Click(Sender: TObject); +var + i:Integer; +begin + if Trim(OrderNo.Text)='' then + begin + Application.MessageBox('ŲΪ!','ʾ',0); + Exit; + end; + i:=Order_Sub.RecordCount; + i:=i+1; + CopyAddRow(Tv1,Order_Sub); + with Order_Sub do + begin + Edit; + FieldByName('XHNO').Value:=IntToStr(i); + if i<9 then + FieldByName('SOrddefstr1').Value:='0'+Trim(IntToStr(i)) + else + FieldByName('SOrddefstr1').Value:=Trim(IntToStr(i)); + FieldByName('PRTColor').Value:=''; + FieldByName('PRTOrderQty').Value:=null; + //FieldByName('PRTPrice').Value:=null; + // FieldByName('SOrddefstr1').Value:=null; + FieldByName('SOrddefstr2').Value:=null; + Post; + end; +end; + +procedure TfrmOrderInPutJZC.ToolButton2Click(Sender: TObject); +begin + if Order_Sub.IsEmpty then Exit; + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LLMX where OrdSubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + Application.MessageBox('ϲɾ!','ʾ',0); + Exit; + end; + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Sub_AnPai where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + Application.MessageBox('ѻزֲɾ!','ʾ',0); + Exit; + end; + if Trim(Order_Sub.fieldbyname('SubId').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Sub where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; + Order_Sub.Delete; + { if Order_Sub.IsEmpty then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(FMainId)+''''); + ExecSQL; + end; + end; } +end; + +procedure TfrmOrderInPutJZC.JGFactoryNameBtnUpClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='RKPlace'; + flagname:='Ⱦ'; + if ShowModal=1 then + begin + JGFactoryName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + JGFactoryName.TxtCode:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutJZC.CustomerNoNameBtnUpClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='CustomerNoName'; + flagname:='ͻ'; + if Trim(DParameters1)<>'Ȩ' then + MainType:=Trim(DName); + if ShowModal=1 then + begin + CustomerNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + CustomerNoName.TxtCode:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutJZC.CustomerNoNameBtnDnClick(Sender: TObject); +begin + TBtnEditC(Sender).Text:=''; + TBtnEditC(Sender).TxtCode:=''; +end; + +procedure TfrmOrderInPutJZC.v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +type + TMyFunc = function(App:Tapplication; FormH:hwnd; FormID:integer; + Language: integer; WinStyle:integer; + GCode: Pchar; GName: Pchar; DataBase:Pchar;Title:PChar; + Parameters1:PChar;Parameters2:PChar;Parameters3:PChar;Parameters4:PChar; + Parameters5:PChar;Parameters6:PChar;Parameters7:PChar;Parameters8:PChar; + Parameters9:PChar;Parameters10:PChar;DataBaseStr:PChar):hwnd;stdcall; +var + Tf: TMyFunc; + Tp: TFarProc; + Th:Thandle; + LabInt,labname:String; +begin + //if PPInt=2 then Exit; + Ddatabase:=StringOfChar(' ', 32); + Th := LoadLibrary('LabelSet.dll'); + if Th > 0 then + begin + try + Tp := GetProcAddress(Th, 'GetDllForm'); + if Tp <> nil then + begin + Tf := TMyFunc(Tp); + newh:=Tf(Application,0,2,0,0, + PChar(DCode), + PChar(DName), + PChar(Ddatabase), + PChar('ǩģ'), + PChar(''), + PChar(''), + '','','','','','','','',PChar(DConString) + ); + if Trim(PChar(Ddatabase))<>'' then + begin + Ddatabase:=Trim(PChar(Ddatabase)); + LabInt:=Trim( LeftBStr(Ddatabase,Pos('|',Ddatabase)-1) ) ; + labname:=Trim(RightBStr(Ddatabase,Length(Ddatabase)-Pos('|',Ddatabase) ) ); + with Order_Sub do + begin + Edit; + FieldByName('SLbName').Value:=labname; + FieldByName('SLbInt').Value:=LabInt; + end; + end; + end + else + begin + ShowMessage('ӡִд'); + end; + finally + // FreeLibrary(); + end; + end + else + begin + ShowMessage('Ҳ'+Trim('LabelSet.dll')); + end; + +end; + +procedure TfrmOrderInPutJZC.OrdDefStr3BtnUpClick(Sender: TObject); +begin +try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:='maitou'; + flagname:='ͷ'; + if ShowModal=1 then + begin + OrdDefStr3.Text:=OrdDefStr3.Text+frmZDYHelpSel.ReturnStr; + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmOrderInPutJZC.MPRTCodeNameBtnUpClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='MPRTCodeName'; + flagname:='Ʒ'; + if ShowModal=1 then + begin + MPRTCodeName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + MPRTCodeName.TxtCode:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutJZC.NoteDblClick(Sender: TObject); +begin + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:='OrdNote'; + flagname:='עҪ'; + if ShowModal=1 then + begin + Note.Text:=Note.Text+frmZDYHelpSel.ReturnStr; + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmOrderInPutJZC.v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrderUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('OrderUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutJZC.v1PriceUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='PriceUnit'; + flagname:='۸λ'; + if Trim(DParameters1)<>'Ȩ' then + begin + TBAdd.Visible:=False; + TBEdit.Visible:=False; + TBDel.Visible:=False; + end; + + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PriceUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutJZC.jKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from CP_YDang where CYNo like '''+'%'+Trim(OrdDefStr1.Text)+'%'+''''); + Open; + end; + if ADOTemp.RecordCount=1 then + begin + MPRTCodeName.Text:=Trim(ADOTemp.fieldbyname('CYName').AsString); + MPRTCF.Text:=Trim(ADOTemp.fieldbyname('CYECF').AsString); + MPRTSpec.Text:=Trim(ADOTemp.fieldbyname('CYSpec').AsString); + MPRTMF.Text:=Trim(ADOTemp.fieldbyname('CYMF').AsString); + MPRTKZ.Text:=Trim(ADOTemp.fieldbyname('CYKZ').AsString); + end else + if ADOTemp.RecordCount>1 then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from CP_YDang where CYNo='''+Trim(OrdDefStr1.Text)+''''); + Open; + end; + if ADOTemp.RecordCount=1 then + begin + MPRTCodeName.Text:=Trim(ADOTemp.fieldbyname('CYName').AsString); + MPRTCF.Text:=Trim(ADOTemp.fieldbyname('CYECF').AsString); + MPRTSpec.Text:=Trim(ADOTemp.fieldbyname('CYSpec').AsString); + MPRTMF.Text:=Trim(ADOTemp.fieldbyname('CYMF').AsString); + MPRTKZ.Text:=Trim(ADOTemp.fieldbyname('CYKZ').AsString); + end; + end; + + end; +end; + +procedure TfrmOrderInPutJZC.OrdDefStr2BtnUpClick(Sender: TObject); +var + fsj:string; + FWZ:Integer; +begin + fsj:=Trim(TEdit(Sender).Hint); + FWZ:=Pos('/',fsj); + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Copy(fsj,1,FWZ-1); + flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); + if Trim(flag)='OrdDefStr2' then + begin + //flag:='OrdDefStr2'; + V1Name.Caption:=''; + V1Note.Caption:='Ӣ'; + fnote:=True; + end; + if ShowModal=1 then + begin + TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutJZC.ConNoKeyPress(Sender: TObject; var Key: Char); +var + ConMainId:string; +begin + if Key=#13 then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrderCon_Main where ConNo like '''+'%'+Trim(ConNo.Text)+'%'+''''); + Open; + end; + if ADOTemp.RecordCount>1 then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from JYOrderCon_Main where ConNo='''+Trim(ConNo.Text)+''''); + Open; + end; + if ADOTemp.IsEmpty then Exit; + end else + if ADOTemp.RecordCount=1 then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrderCon_Main where ConNo like '''+'%'+Trim(ConNo.Text)+'%'+''''); + Open; + end; + end; + begin + ConNo.Text:=Trim(ADOTemp.fieldbyname('ConNo').AsString); + OrdDefStr1.Text:=Trim(ADOTemp.fieldbyname('ConDefStr1').AsString); + MPRTCF.Text:=Trim(ADOTemp.fieldbyname('MPRTCF').AsString); + MPRTSpec.Text:=Trim(ADOTemp.fieldbyname('MPRTSpec').AsString); + MPRTMF.Text:=Trim(ADOTemp.fieldbyname('MPRTMF').AsString); + MPRTKZ.Text:=Trim(ADOTemp.fieldbyname('MPRTKZ').AsString); + CustomerNoName.Text:=Trim(ADOTemp.fieldbyname('CustomerNoName').AsString); + CustomerNoName.TxtCode:=Trim(ADOTemp.fieldbyname('CustomerNo').AsString); + ConMainId:=Trim(ADOTemp.fieldbyname('MainId').AsString); + // ConGS:=Trim(ADOTemp.fieldbyname('SYRName').AsString); + OrdDefStr2.Text:=Trim(ADOTemp.fieldbyname('ConDefStr2').AsString); + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select A.*,ColorName=(select ZdyName from KH_Zdy B where B.Note=A.PRTColor and B.Type=''OrdColor'' ) '); + SQL.Add(' from JYOrderCon_Sub A where MainId='''+Trim(ConMainId)+''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + with Order_Sub do + begin + Append; + FieldByName('PRTColor').Value:=Trim(ADOTemp.fieldbyname('PRTColor').AsString); + FieldByName('SOrdDefStr4').Value:=Trim(ADOTemp.fieldbyname('SOrdDefStr4').AsString); + FieldByName('SOrdDefStr3').Value:=Trim(ADOTemp.fieldbyname('SOrdDefStr3').AsString); + FieldByName('PRTOrderQty').Value:=Trim(ADOTemp.fieldbyname('PRTOrderQty').AsString); + FieldByName('OrderUnit').Value:=Trim(ADOTemp.fieldbyname('OrderUnit').AsString); + FieldByName('PRTPrice').Value:=Trim(ADOTemp.fieldbyname('PRTPrice').AsString); + FieldByName('PriceUnit').Value:=Trim(ADOTemp.fieldbyname('PriceUnit').AsString); + FieldByName('PRTHX').Value:=Trim(ADOTemp.fieldbyname('PRTHX').AsString); + FieldByName('XHNO').Value:=Trim(ADOTemp.fieldbyname('XHNO').AsString); + Post; + end; + Next; + end; + end; + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from CP_YDang where CYNO='''+Trim(OrdDefStr1.Text)+''''); + Open; + end; + MPRTCodeName.Text:=Trim(ADOTemp.fieldbyname('CYName').AsString); + {with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from KH_Zdy where Note='''+Trim(ConGS)+''' and type=''OrdDefStr2'' '); + Open; + end; + OrdDefStr2.Text:=Trim(ADOTemp.fieldbyname('ZdyName').AsString); } + end; + + end; +end; + +procedure TfrmOrderInPutJZC.ToolButton3Click(Sender: TObject); +begin + if Order_Sub.IsEmpty then Exit; + OneKeyPost(Tv1,Order_Sub); +end; + +end. diff --git a/打卷检验管理/U_OrderInPutNew.dfm b/打卷检验管理/U_OrderInPutNew.dfm new file mode 100644 index 0000000..628c497 --- /dev/null +++ b/打卷检验管理/U_OrderInPutNew.dfm @@ -0,0 +1,2155 @@ +object frmOrderInPutNew: TfrmOrderInPutNew + Left = 58 + Top = 45 + Width = 1185 + Height = 670 + Caption = #25351#31034#21333#24405#20837 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnClose = FormClose + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1177 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBProducttion.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = TBSaveClick + end + object TBClose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object ScrollBox1: TScrollBox + Left = 0 + Top = 29 + Width = 1177 + Height = 295 + Align = alTop + BevelInner = bvNone + BevelOuter = bvNone + Color = clBtnFace + Ctl3D = False + ParentColor = False + ParentCtl3D = False + TabOrder = 1 + object Label1: TLabel + Left = 24 + Top = 15 + Width = 60 + Height = 12 + Caption = #32534' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 955 + Top = 47 + Width = 67 + Height = 12 + Caption = #20195' '#21495#65306 + Enabled = False + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label3: TLabel + Left = 927 + Top = 15 + Width = 65 + Height = 12 + Caption = #19979#21333#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 469 + Top = 49 + Width = 52 + Height = 12 + Caption = #29983#20135#32447#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 708 + Top = 47 + Width = 52 + Height = 12 + Caption = #32593#32467#26500#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 956 + Top = 148 + Width = 15 + Height = 98 + Caption = #27880#13#10#13#10#24847#13#10#13#10#20107#13#10#13#10#39033 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 469 + Top = 15 + Width = 53 + Height = 12 + Caption = #23458' '#25143#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 708 + Top = 15 + Width = 52 + Height = 12 + Caption = #21040#36798#28207#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 972 + Top = 51 + Width = 39 + Height = 12 + Caption = #20811#37325#65306 + Enabled = False + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label10: TLabel + Left = 1004 + Top = 51 + Width = 67 + Height = 12 + Caption = #33457' '#32441#65306 + Enabled = False + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label11: TLabel + Left = 1020 + Top = 48 + Width = 23 + Height = 15 + Caption = 'g/'#13217 + Enabled = False + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label14: TLabel + Left = 982 + Top = 51 + Width = 53 + Height = 12 + Caption = #24133' '#23485#65306 + Enabled = False + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label15: TLabel + Left = 1018 + Top = 47 + Width = 18 + Height = 15 + Caption = 'cm' + Enabled = False + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label16: TLabel + Left = 24 + Top = 45 + Width = 65 + Height = 12 + Caption = #39044#20272#25968#37327#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label17: TLabel + Left = 252 + Top = 49 + Width = 65 + Height = 12 + Caption = #35745#20215#21333#20301#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label19: TLabel + Left = 23 + Top = 68 + Width = 1140 + Height = 12 + Caption = + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -' + Enabled = False + Font.Charset = GB2312_CHARSET + Font.Color = clFuchsia + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label20: TLabel + Left = 23 + Top = 116 + Width = 1146 + Height = 12 + Caption = + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + Font.Charset = GB2312_CHARSET + Font.Color = clFuchsia + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label21: TLabel + Left = 25 + Top = 88 + Width = 34 + Height = 12 + Caption = 'ETA'#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label22: TLabel + Left = 257 + Top = 90 + Width = 34 + Height = 12 + Caption = 'ETD'#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label23: TLabel + Left = 491 + Top = 89 + Width = 39 + Height = 12 + Caption = #35013#26588#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label24: TLabel + Left = 711 + Top = 88 + Width = 53 + Height = 12 + Caption = #20837' '#24211#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label25: TLabel + Left = 966 + Top = 89 + Width = 39 + Height = 12 + Caption = #29983#20135#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label26: TLabel + Left = 221 + Top = 88 + Width = 13 + Height = 15 + Caption = #22825 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label27: TLabel + Left = 165 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label28: TLabel + Left = 238 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label29: TLabel + Left = 455 + Top = 88 + Width = 13 + Height = 15 + Caption = #22825 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label30: TLabel + Left = 400 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label31: TLabel + Left = 472 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 936 + Top = 88 + Width = 13 + Height = 15 + Caption = #22825 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label32: TLabel + Left = 881 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label33: TLabel + Left = 950 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 23 + Top = 278 + Width = 1152 + Height = 12 + Caption = + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + Font.Charset = GB2312_CHARSET + Font.Color = clFuchsia + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label7: TLabel + Left = 766 + Top = 140 + Width = 15 + Height = 98 + Caption = #25171#13#10#13#10#21253#13#10#13#10#35814#13#10#13#10#32454 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label40: TLabel + Left = 23 + Top = 140 + Width = 15 + Height = 98 + Caption = #35814#13#10#13#10#13#10#13#10#13#10#13#10#21333 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label41: TLabel + Left = 252 + Top = 15 + Width = 66 + Height = 12 + Caption = #35746' '#21333' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object OrderNo: TEdit + Left = 314 + Top = 13 + Width = 115 + Height = 18 + Enabled = False + TabOrder = 0 + end + object OrderDate: TDateTimePicker + Left = 993 + Top = 12 + Width = 120 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 1 + end + object WFBCodeName: TcxButtonEdit + Left = 962 + Top = 43 + Enabled = False + ParentShowHint = False + Properties.BeepOnError = True + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = WFBCodeNamePropertiesButtonClick + Properties.OnChange = WFBCodeNamePropertiesChange + ShowHint = False + TabOrder = 2 + Visible = False + OnKeyDown = WFBCodeNameKeyDown + Width = 111 + end + object SCXName: TcxButtonEdit + Left = 519 + Top = 45 + Hint = 'FactoryNo1' + BeepOnEnter = False + Enabled = False + ParentShowHint = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = SCXNamePropertiesButtonClick + Properties.OnChange = SCXNamePropertiesChange + ShowHint = False + TabOrder = 3 + OnKeyDown = WFBCodeNameKeyDown + Width = 130 + end + object WJGName: TcxButtonEdit + Left = 757 + Top = 42 + Hint = 'FactoryNo2' + BeepOnEnter = False + Enabled = False + ParentShowHint = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = WJGNamePropertiesButtonClick + Properties.OnChange = WJGNamePropertiesChange + ShowHint = False + TabOrder = 4 + OnKeyDown = WFBCodeNameKeyDown + Width = 117 + end + object CustomNoName: TcxButtonEdit + Left = 519 + Top = 12 + Hint = 'CustomerNo' + BeepOnEnter = False + Enabled = False + ParentShowHint = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = CustomNoNamePropertiesButtonClick + Properties.OnChange = CustomNoNamePropertiesChange + ShowHint = False + TabOrder = 5 + OnKeyDown = WFBCodeNameKeyDown + Width = 129 + end + object Note: TRichEdit + Left = 973 + Top = 126 + Width = 140 + Height = 152 + Enabled = False + TabOrder = 6 + end + object ArrivalPortName: TcxButtonEdit + Left = 757 + Top = 12 + BeepOnEnter = False + Enabled = False + ParentShowHint = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = ArrivalPortNamePropertiesButtonClick + Properties.OnChange = ArrivalPortNamePropertiesChange + ShowHint = False + TabOrder = 7 + OnKeyDown = WFBCodeNameKeyDown + Width = 117 + end + object WFBKZ: TEdit + Left = 962 + Top = 48 + Width = 101 + Height = 18 + Enabled = False + TabOrder = 8 + Visible = False + OnChange = OrdQtyChange + OnKeyPress = OrdQtyKeyPress + end + object WFBHW: TEdit + Left = 990 + Top = 48 + Width = 48 + Height = 18 + Enabled = False + TabOrder = 9 + Visible = False + end + object WFBFK: TEdit + Left = 967 + Top = 48 + Width = 92 + Height = 18 + Enabled = False + TabOrder = 10 + Visible = False + OnKeyPress = OrdQtyKeyPress + end + object OrdQty: TEdit + Left = 86 + Top = 42 + Width = 62 + Height = 18 + Enabled = False + ReadOnly = True + TabOrder = 11 + OnKeyPress = OrdQtyKeyPress + end + object OrdUnit: TComboBox + Left = 149 + Top = 42 + Width = 53 + Height = 20 + Style = csDropDownList + Ctl3D = False + Enabled = False + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ItemHeight = 12 + ParentCtl3D = False + ParentFont = False + TabOrder = 12 + OnChange = OrdQtyChange + Items.Strings = ( + #13199 + #13217) + end + object ETADate: TDateTimePicker + Left = 57 + Top = 85 + Width = 104 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 13 + OnChange = ETADateChange + end + object ETDDate: TDateTimePicker + Left = 291 + Top = 85 + Width = 104 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 14 + end + object ZGDate: TDateTimePicker + Left = 527 + Top = 85 + Width = 123 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 15 + end + object BegRKDate: TDateTimePicker + Left = 762 + Top = 85 + Width = 115 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 16 + OnChange = BegRKDateChange + end + object BegSCDate: TDateTimePicker + Left = 1000 + Top = 85 + Width = 113 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 17 + end + object Day1: TEdit + Left = 184 + Top = 87 + Width = 35 + Height = 18 + Enabled = False + TabOrder = 18 + OnChange = Day1Change + OnKeyPress = OrdQtyKeyPress + end + object Day2: TEdit + Left = 418 + Top = 87 + Width = 35 + Height = 18 + Enabled = False + TabOrder = 19 + OnChange = Day2Change + OnKeyPress = OrdQtyKeyPress + end + object Day3: TEdit + Left = 899 + Top = 87 + Width = 35 + Height = 18 + Enabled = False + TabOrder = 20 + OnChange = Day3Change + OnKeyPress = OrdQtyKeyPress + end + object cxGrid4: TcxGrid + Left = 784 + Top = 128 + Width = 169 + Height = 151 + PopupMenu = PopupMenu1 + TabOrder = 21 + object TVDB: TcxGridDBTableView + PopupMenu = PopupMenu1 + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TVZDYCellDblClick + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + object cxGridDBColumn1: TcxGridDBColumn + Caption = #21253#25968#37327 + DataBinding.FieldName = 'BSL' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.handBlack + Width = 48 + end + object VDBColumn1: TcxGridDBColumn + Caption = #21367#25968#37327 + DataBinding.FieldName = 'JSL' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 49 + end + object VDBColumn2: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'DBUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 55 + end + end + object cxGridLevel3: TcxGridLevel + GridView = TVDB + end + end + object cxGrid5: TcxGrid + Left = 40 + Top = 127 + Width = 722 + Height = 154 + PopupMenu = PopupMenu1 + TabOrder = 22 + object TvSub: TcxGridDBTableView + PopupMenu = PopupMenu2 + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = TvSubColumn1 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_WFBProducttion.SHuangSe + Styles.IncSearch = DataLink_WFBProducttion.SHuangSe + Styles.Selection = DataLink_WFBProducttion.SHuangSe + object vSubColumn3: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'XHNO' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 31 + end + object vSubColumn9: TcxGridDBColumn + Tag = 9 + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 37 + end + object vSubColumn4: TcxGridDBColumn + Caption = #20135#21697#20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = vSubColumn4PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.FonePurple + Width = 82 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = cxGridDBColumn3PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 48 + end + object vSubColumn2: TcxGridDBColumn + Caption = #33457#32441 + DataBinding.FieldName = 'SWFBHW' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = vSubColumn2PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 51 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #20811#37325'g/'#13217 + DataBinding.FieldName = 'SWFBKZ' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = cxGridDBColumn2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 64 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #24133#23485'cm' + DataBinding.FieldName = 'SWFBFK' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 52 + end + object TvSubColumn1: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'SOrdQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = TvSubColumn1PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 61 + end + object vSubColumn5: TcxGridDBColumn + Caption = #32593#23380#30446#25968 + DataBinding.FieldName = 'WKMS' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = vSubColumn5PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 64 + end + object vSubColumn6: TcxGridDBColumn + Caption = #21367#22343#37325#19979#38480 + DataBinding.FieldName = 'KZSmal' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 75 + end + object vSubColumn7: TcxGridDBColumn + Caption = #21367#22343#37325#19978#38480 + DataBinding.FieldName = 'KZBig' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 73 + end + end + object cxGridLevel4: TcxGridLevel + GridView = TvSub + end + end + object PanZDY: TPanel + Left = 907 + Top = 120 + Width = 151 + Height = 153 + TabOrder = 23 + Visible = False + object CXGridZDY: TcxGrid + Left = 3 + Top = 4 + Width = 142 + Height = 113 + TabOrder = 0 + object TVZDY: TcxGridDBTableView + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TVZDYCellDblClick + DataController.DataSource = DataSource2 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + object VHelpZDYName: TcxGridDBColumn + DataBinding.FieldName = 'ZDYName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.handBlack + Width = 129 + IsCaptionAssigned = True + end + end + object CXGridZDYLevel1: TcxGridLevel + GridView = TVZDY + end + end + object Button1: TButton + Left = 40 + Top = 120 + Width = 65 + Height = 25 + Caption = #20851#38381 + TabOrder = 1 + OnClick = Button1Click + end + end + object OrderCode: TEdit + Left = 83 + Top = 13 + Width = 118 + Height = 18 + Enabled = False + TabOrder = 24 + end + object BZ: TcxButtonEdit + Left = 314 + Top = 45 + BeepOnEnter = False + Enabled = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = BZPropertiesButtonClick + Properties.OnChange = BZPropertiesChange + TabOrder = 25 + OnKeyDown = WFBCodeNameKeyDown + Width = 118 + end + end + object ScrollBox2: TScrollBox + Left = 0 + Top = 324 + Width = 1177 + Height = 309 + Align = alClient + BevelInner = bvNone + BevelOuter = bvNone + Ctl3D = False + ParentCtl3D = False + TabOrder = 2 + object cxGrid3: TcxGrid + Left = 809 + Top = 31 + Width = 366 + Height = 276 + Align = alLeft + TabOrder = 0 + object Tv3: TcxGridDBBandedTableView + PopupMenu = PopupMenu4 + OnMouseDown = Tv3MouseDown + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSourceQ + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'YCLCode' + Column = v3Column1 + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Bands = < + item + Caption = #20854#23427 + Styles.Header = DataLink_WFBProducttion.TextSHuangSe + Width = 400 + end> + object v3Column1: TcxGridDBBandedColumn + Caption = #29289#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v3Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 51 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object v3Column2: TcxGridDBBandedColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 41 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object v3Column3: TcxGridDBBandedColumn + Caption = #24211#23384 + DataBinding.FieldName = 'YLKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 45 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object v3Column4: TcxGridDBBandedColumn + Caption = #29992#37327 + DataBinding.FieldName = 'YLQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v3Column4PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 49 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object v3Column5: TcxGridDBBandedColumn + Caption = #21333#20301 + DataBinding.FieldName = 'YLUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 37 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object v3Column6: TcxGridDBBandedColumn + Caption = #30003#36141#25968#37327 + DataBinding.FieldName = 'SGQty' + HeaderAlignmentHorz = taCenter + Width = 62 + Position.BandIndex = 0 + Position.ColIndex = 8 + Position.RowIndex = 0 + end + object v3Column7: TcxGridDBBandedColumn + Caption = #21069#21333#24211#23384 + DataBinding.FieldName = 'YCLYJKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 48 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object v3Column8: TcxGridDBBandedColumn + Tag = 2 + Caption = #19981#36275 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 32 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object v3Column9: TcxGridDBBandedColumn + Tag = 9 + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + HeaderAlignmentHorz = taCenter + Width = 35 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv3 + end + end + object cxGrid2: TcxGrid + Left = 425 + Top = 31 + Width = 384 + Height = 276 + Align = alLeft + TabOrder = 1 + object Tv2: TcxGridDBBandedTableView + PopupMenu = PopupMenu4 + OnMouseDown = Tv2MouseDown + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSourceF + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'YCLCode' + Column = v2Column1 + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Bands = < + item + Caption = #36741#21161#21407#26009 + Styles.Header = DataLink_WFBProducttion.FonePurple + Width = 428 + end> + object v2Column1: TcxGridDBBandedColumn + Caption = #21407#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v2Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 63 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object v2Column2: TcxGridDBBandedColumn + Caption = #32791#29575#8240 + DataBinding.FieldName = 'YLSHQ' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v2Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 39 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object v2Column3: TcxGridDBBandedColumn + Caption = #29992#37327'KG' + DataBinding.FieldName = 'YLQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 41 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object v2Column4: TcxGridDBBandedColumn + Caption = #24211#23384 + DataBinding.FieldName = 'YLKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 35 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object v2Column5: TcxGridDBBandedColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 58 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object v2Column6: TcxGridDBBandedColumn + Caption = #30003#36141#25968#37327 + DataBinding.FieldName = 'SGQty' + HeaderAlignmentHorz = taCenter + Width = 70 + Position.BandIndex = 0 + Position.ColIndex = 8 + Position.RowIndex = 0 + end + object v2Column7: TcxGridDBBandedColumn + Caption = #21069#21333#24211#23384 + DataBinding.FieldName = 'YCLYJKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 56 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object v2Column8: TcxGridDBBandedColumn + Tag = 2 + Caption = #19981#36275 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Width = 32 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object v2Column9: TcxGridDBBandedColumn + Tag = 9 + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 34 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 31 + Width = 425 + Height = 276 + Align = alLeft + TabOrder = 2 + object Tv1: TcxGridDBBandedTableView + PopupMenu = PopupMenu4 + OnMouseDown = Tv1MouseDown + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSourceZ + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'YCLCode' + Column = v1Column1 + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Bands = < + item + Caption = #20027#35201#21407#26009 + Styles.Header = DataLink_WFBProducttion.FontBlue + Width = 487 + end> + object v1Column1: TcxGridDBBandedColumn + Caption = #21407#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v1Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 72 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object v1Column2: TcxGridDBBandedColumn + Caption = #37197#27604'%' + DataBinding.FieldName = 'YLPB' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 38 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object v1Column3: TcxGridDBBandedColumn + Caption = #25439#32791'%' + DataBinding.FieldName = 'YLSH' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column3PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 40 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object v1Column4: TcxGridDBBandedColumn + Caption = #29992#37327'KG' + DataBinding.FieldName = 'YLQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 44 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object v1Column5: TcxGridDBBandedColumn + Caption = #24211#23384 + DataBinding.FieldName = 'YLKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 40 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object v1Column6: TcxGridDBBandedColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 56 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object v1Column7: TcxGridDBBandedColumn + Caption = #30003#36141#25968#37327 + DataBinding.FieldName = 'SGQty' + HeaderAlignmentHorz = taCenter + Width = 65 + Position.BandIndex = 0 + Position.ColIndex = 9 + Position.RowIndex = 0 + end + object v1Column8: TcxGridDBBandedColumn + Caption = #21069#21333#24211#23384 + DataBinding.FieldName = 'YCLYJKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 58 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object v1Column9: TcxGridDBBandedColumn + Tag = 2 + Caption = #19981#36275 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Content = DataLink_WFBProducttion.FoneRed + Width = 39 + Position.BandIndex = 0 + Position.ColIndex = 8 + Position.RowIndex = 0 + end + object v1Column10: TcxGridDBBandedColumn + Tag = 9 + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 35 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 0 + Width = 1175 + Height = 31 + ButtonHeight = 30 + ButtonWidth = 95 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBProducttion.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 3 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton2Click + end + object TBPrint: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #25171#21360#35831#36141#21333 + ImageIndex = 96 + OnClick = TBPrintClick + end + end + object Panel1: TPanel + Left = 1152 + Top = -16 + Width = 825 + Height = 297 + TabOrder = 4 + Visible = False + object cxGrid6: TcxGrid + Left = 11 + Top = 32 + Width = 299 + Height = 209 + PopupMenu = PopupMenu1 + TabOrder = 0 + object Tvsel: TcxGridDBTableView + PopupMenu = PopupMenu3 + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DSSel + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + object vselColumn1: TcxGridDBColumn + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.FonePurple + Width = 42 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = cxGridDBColumn3PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 61 + end + object cxGridDBColumn7: TcxGridDBColumn + Caption = #33457#32441 + DataBinding.FieldName = 'SWFBHW' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = vSubColumn2PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.FonePurple + Width = 51 + end + object cxGridDBColumn8: TcxGridDBColumn + Caption = #20811#37325'g/'#13217 + DataBinding.FieldName = 'SWFBKZ' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = cxGridDBColumn2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.handBlack + Width = 72 + end + object cxGridDBColumn9: TcxGridDBColumn + Caption = #24133#23485'cm' + DataBinding.FieldName = 'SWFBFK' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 52 + end + end + object cxGridLevel5: TcxGridLevel + GridView = Tvsel + end + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 823 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #36873#21333 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnMouseMove = Panel10MouseMove + object Image2: TImage + Left = 789 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object Button2: TButton + Left = 64 + Top = 251 + Width = 65 + Height = 25 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button2Click + end + object Button3: TButton + Left = 168 + Top = 251 + Width = 49 + Height = 25 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = Button3Click + end + object cxGrid7: TcxGrid + Left = 312 + Top = 32 + Width = 505 + Height = 257 + TabOrder = 4 + object TVKCSel: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource4 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'DefStr1' + end + item + Format = 'DefStr2' + Column = v1ShortName + end + item + Format = 'RollUnit' + Column = v1UnitName + end + item + Format = 'YCLCode' + Column = v1P_ChnName + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1Quantity + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = DataLink_WFBProducttion.Default + object TVKCSelColumn1: TcxGridDBColumn + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taRightJustify + Width = 39 + end + object v1P_ChnName: TcxGridDBColumn + Tag = 2 + Caption = #29289#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 80 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 63 + end + object v1ShortName: TcxGridDBColumn + Caption = #20379#24212#21830 + DataBinding.FieldName = 'GYSName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 68 + end + object v1Quantity: TcxGridDBColumn + Tag = 2 + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'KCQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 70 + end + object VKCSelColumn2: TcxGridDBColumn + Caption = #39044#35745#29992#37327 + DataBinding.FieldName = 'YJYL' + HeaderAlignmentHorz = taCenter + Width = 57 + end + object VKCSelColumn1: TcxGridDBColumn + Caption = #39044#35745#24211#23384 + DataBinding.FieldName = 'YJKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 65 + end + object v1UnitName: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'KCUint' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 45 + end + end + object cxGridLevel6: TcxGridLevel + GridView = TVKCSel + end + end + end + end + object ADOTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 704 + Top = 309 + end + object DataSourceZ: TDataSource + DataSet = Order_SubZ + Left = 296 + Top = 440 + end + object Order_SubZ: TClientDataSet + Aggregates = <> + Params = <> + Left = 256 + Top = 440 + end + object DataSource2: TDataSource + DataSet = ADOZDY + Left = 760 + Top = 8 + end + object ADOZDY: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 728 + Top = 5 + end + object CDS_ZDY: TClientDataSet + Aggregates = <> + Params = <> + Left = 800 + Top = 8 + end + object ADOQuery1: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 784 + Top = 309 + end + object PopupMenu1: TPopupMenu + Left = 544 + Top = 253 + object N1: TMenuItem + Caption = #22686#34892 + OnClick = N1Click + end + object N2: TMenuItem + Caption = #21024#34892 + OnClick = N2Click + end + end + object DataSource3: TDataSource + DataSet = CDS_DB + Left = 544 + Top = 200 + end + object CDS_DB: TClientDataSet + Aggregates = <> + Params = <> + Left = 480 + Top = 224 + end + object Order_SubF: TClientDataSet + Aggregates = <> + Params = <> + Left = 696 + Top = 496 + end + object DataSourceF: TDataSource + DataSet = Order_SubF + Left = 656 + Top = 496 + end + object Order_SubQ: TClientDataSet + Aggregates = <> + Params = <> + Left = 1096 + Top = 440 + end + object DataSourceQ: TDataSource + DataSet = Order_SubQ + Left = 1096 + Top = 472 + end + object ADOQueryQG: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 480 + Top = 309 + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = ADOQueryQG + Left = 448 + Top = 320 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 392 + Top = 312 + ReportData = {} + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 456 + Top = 312 + end + object PopupMenu2: TPopupMenu + Left = 128 + Top = 237 + object MenuItem1: TMenuItem + Caption = #22686#34892 + OnClick = MenuItem1Click + end + object MenuItem2: TMenuItem + Caption = #21024#34892 + OnClick = MenuItem2Click + end + object N3: TMenuItem + Caption = #20840#36873 + OnClick = N3Click + end + object N4: TMenuItem + Caption = #20840#24323 + OnClick = N4Click + end + end + object DataSource1: TDataSource + DataSet = CDS_Sub + Left = 112 + Top = 200 + end + object CDS_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 96 + Top = 232 + end + object DSSel: TDataSource + DataSet = CDS_Sel + Left = 440 + Top = 376 + end + object CDS_Sel: TClientDataSet + Aggregates = <> + Params = <> + Left = 424 + Top = 408 + end + object ADOCMD: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 688 + Top = 309 + end + object PopupMenu3: TPopupMenu + Left = 528 + Top = 445 + object MenuItem3: TMenuItem + Caption = #20840#36873 + OnClick = MenuItem3Click + end + object MenuItem4: TMenuItem + Caption = #20840#24323 + OnClick = MenuItem4Click + end + end + object CDS_KCSel: TClientDataSet + Aggregates = <> + Params = <> + Left = 712 + Top = 432 + end + object DataSource4: TDataSource + DataSet = CDS_KCSel + Left = 672 + Top = 432 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 160 + Top = 454 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 160 + Top = 494 + end + object cxGridPopupMenu3: TcxGridPopupMenu + Grid = cxGrid3 + PopupMenus = <> + Left = 160 + Top = 534 + end + object cxGridPopupMenu4: TcxGridPopupMenu + Grid = cxGrid4 + PopupMenus = <> + Left = 120 + Top = 502 + end + object cxGridPopupMenu5: TcxGridPopupMenu + Grid = cxGrid5 + PopupMenus = <> + Left = 120 + Top = 465 + end + object PopupMenu4: TPopupMenu + Left = 216 + Top = 477 + object MenuItem7: TMenuItem + Caption = #20840#36873 + OnClick = MenuItem7Click + end + object MenuItem8: TMenuItem + Caption = #20840#24323 + OnClick = MenuItem8Click + end + end +end diff --git a/打卷检验管理/U_OrderInPutNew.pas b/打卷检验管理/U_OrderInPutNew.pas new file mode 100644 index 0000000..078d860 --- /dev/null +++ b/打卷检验管理/U_OrderInPutNew.pas @@ -0,0 +1,2945 @@ +unit U_OrderInPutNew; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxClasses, cxControls, + cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, + cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, + ExtCtrls, BtnEdit, cxCalendar, cxGridBandedTableView, + cxGridDBBandedTableView, Menus, RM_Common, RM_Class, RM_e_Xls, + RM_GridReport, RM_System, RM_Dataset, cxCheckBox, cxGridCustomPopupMenu, + cxGridPopupMenu; + +type + TfrmOrderInPutNew = class(TForm) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ScrollBox1: TScrollBox; + Label1: TLabel; + Label2: TLabel; + Label3: TLabel; + OrderNo: TEdit; + OrderDate: TDateTimePicker; + Label5: TLabel; + Label6: TLabel; + Label8: TLabel; + ADOTemp: TADOQuery; + DataSourceZ: TDataSource; + Order_SubZ: TClientDataSet; + DataSource2: TDataSource; + ADOZDY: TADOQuery; + CDS_ZDY: TClientDataSet; + WFBCodeName: TcxButtonEdit; + SCXName: TcxButtonEdit; + WJGName: TcxButtonEdit; + ADOQuery1: TADOQuery; + Label12: TLabel; + CustomNoName: TcxButtonEdit; + Note: TRichEdit; + Label13: TLabel; + ArrivalPortName: TcxButtonEdit; + Label9: TLabel; + WFBKZ: TEdit; + Label10: TLabel; + WFBHW: TEdit; + Label11: TLabel; + Label14: TLabel; + WFBFK: TEdit; + Label15: TLabel; + Label16: TLabel; + OrdQty: TEdit; + OrdUnit: TComboBox; + Label17: TLabel; + Label19: TLabel; + Label20: TLabel; + Label21: TLabel; + ETADate: TDateTimePicker; + Label22: TLabel; + ETDDate: TDateTimePicker; + Label23: TLabel; + ZGDate: TDateTimePicker; + Label24: TLabel; + BegRKDate: TDateTimePicker; + Label25: TLabel; + BegSCDate: TDateTimePicker; + Day1: TEdit; + Label26: TLabel; + Label27: TLabel; + Label28: TLabel; + Day2: TEdit; + Label29: TLabel; + Label30: TLabel; + Label31: TLabel; + Day3: TEdit; + Label18: TLabel; + Label32: TLabel; + Label33: TLabel; + Label4: TLabel; + Label7: TLabel; + cxGrid4: TcxGrid; + TVDB: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridLevel3: TcxGridLevel; + VDBColumn1: TcxGridDBColumn; + VDBColumn2: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N1: TMenuItem; + N2: TMenuItem; + DataSource3: TDataSource; + CDS_DB: TClientDataSet; + Order_SubF: TClientDataSet; + DataSourceF: TDataSource; + Order_SubQ: TClientDataSet; + DataSourceQ: TDataSource; + ScrollBox2: TScrollBox; + cxGrid3: TcxGrid; + Tv3: TcxGridDBBandedTableView; + v3Column1: TcxGridDBBandedColumn; + v3Column2: TcxGridDBBandedColumn; + v3Column3: TcxGridDBBandedColumn; + v3Column4: TcxGridDBBandedColumn; + v3Column5: TcxGridDBBandedColumn; + cxGridLevel2: TcxGridLevel; + cxGrid2: TcxGrid; + Tv2: TcxGridDBBandedTableView; + v2Column1: TcxGridDBBandedColumn; + v2Column2: TcxGridDBBandedColumn; + v2Column3: TcxGridDBBandedColumn; + v2Column4: TcxGridDBBandedColumn; + v2Column5: TcxGridDBBandedColumn; + cxGridLevel1: TcxGridLevel; + cxGrid1: TcxGrid; + Tv1: TcxGridDBBandedTableView; + v1Column1: TcxGridDBBandedColumn; + v1Column2: TcxGridDBBandedColumn; + v1Column3: TcxGridDBBandedColumn; + v1Column4: TcxGridDBBandedColumn; + v1Column5: TcxGridDBBandedColumn; + v1Column6: TcxGridDBBandedColumn; + cxGrid1Level1: TcxGridLevel; + ToolBar2: TToolBar; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + TBPrint: TToolButton; + v1Column7: TcxGridDBBandedColumn; + v2Column6: TcxGridDBBandedColumn; + v3Column6: TcxGridDBBandedColumn; + v1Column8: TcxGridDBBandedColumn; + v2Column7: TcxGridDBBandedColumn; + v3Column7: TcxGridDBBandedColumn; + v1Column9: TcxGridDBBandedColumn; + v2Column8: TcxGridDBBandedColumn; + v3Column8: TcxGridDBBandedColumn; + ADOQueryQG: TADOQuery; + RMDB_Main: TRMDBDataSet; + RM2: TRMGridReport; + RMXLSExport1: TRMXLSExport; + Label40: TLabel; + cxGrid5: TcxGrid; + TvSub: TcxGridDBTableView; + cxGridDBColumn2: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + cxGridLevel4: TcxGridLevel; + PanZDY: TPanel; + CXGridZDY: TcxGrid; + TVZDY: TcxGridDBTableView; + VHelpZDYName: TcxGridDBColumn; + CXGridZDYLevel1: TcxGridLevel; + Button1: TButton; + TvSubColumn1: TcxGridDBColumn; + PopupMenu2: TPopupMenu; + MenuItem1: TMenuItem; + MenuItem2: TMenuItem; + DataSource1: TDataSource; + CDS_Sub: TClientDataSet; + vSubColumn2: TcxGridDBColumn; + Label41: TLabel; + OrderCode: TEdit; + vSubColumn3: TcxGridDBColumn; + Panel1: TPanel; + cxGrid6: TcxGrid; + Tvsel: TcxGridDBTableView; + cxGridDBColumn6: TcxGridDBColumn; + cxGridDBColumn7: TcxGridDBColumn; + cxGridDBColumn8: TcxGridDBColumn; + cxGridDBColumn9: TcxGridDBColumn; + cxGridLevel5: TcxGridLevel; + vselColumn1: TcxGridDBColumn; + Panel10: TPanel; + Image2: TImage; + Button2: TButton; + Button3: TButton; + DSSel: TDataSource; + CDS_Sel: TClientDataSet; + ADOCMD: TADOQuery; + vSubColumn4: TcxGridDBColumn; + PopupMenu3: TPopupMenu; + MenuItem3: TMenuItem; + MenuItem4: TMenuItem; + vSubColumn5: TcxGridDBColumn; + vSubColumn6: TcxGridDBColumn; + vSubColumn7: TcxGridDBColumn; + BZ: TcxButtonEdit; + cxGrid7: TcxGrid; + TVKCSel: TcxGridDBTableView; + v1P_ChnName: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + v1ShortName: TcxGridDBColumn; + v1Quantity: TcxGridDBColumn; + v1UnitName: TcxGridDBColumn; + cxGridLevel6: TcxGridLevel; + TVKCSelColumn1: TcxGridDBColumn; + VKCSelColumn1: TcxGridDBColumn; + CDS_KCSel: TClientDataSet; + DataSource4: TDataSource; + VKCSelColumn2: TcxGridDBColumn; + vSubColumn9: TcxGridDBColumn; + v1Column10: TcxGridDBBandedColumn; + N3: TMenuItem; + N4: TMenuItem; + cxGridPopupMenu1: TcxGridPopupMenu; + cxGridPopupMenu2: TcxGridPopupMenu; + cxGridPopupMenu3: TcxGridPopupMenu; + cxGridPopupMenu4: TcxGridPopupMenu; + cxGridPopupMenu5: TcxGridPopupMenu; + v2Column9: TcxGridDBBandedColumn; + v3Column9: TcxGridDBBandedColumn; + PopupMenu4: TPopupMenu; + MenuItem7: TMenuItem; + MenuItem8: TMenuItem; + procedure TBCloseClick(Sender: TObject); + procedure TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button1Click(Sender: TObject); + procedure WFBCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); + procedure TVZDYKeyPress(Sender: TObject; var Key: Char); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure CustomNoNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure CustomNoNamePropertiesChange(Sender: TObject); + procedure ArrivalPortNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure SCXNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WJGNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WFBCodeNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WFBCodeNamePropertiesChange(Sender: TObject); + procedure ArrivalPortNamePropertiesChange(Sender: TObject); + procedure SCXNamePropertiesChange(Sender: TObject); + procedure WJGNamePropertiesChange(Sender: TObject); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure Day1Change(Sender: TObject); + procedure OrdQtyKeyPress(Sender: TObject; var Key: Char); + procedure Day2Change(Sender: TObject); + procedure Day3Change(Sender: TObject); + procedure ETADateChange(Sender: TObject); + procedure BegRKDateChange(Sender: TObject); + procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv3MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure v1Column2PropertiesEditValueChanged(Sender: TObject); + procedure v1Column3PropertiesEditValueChanged(Sender: TObject); + procedure v2Column2PropertiesEditValueChanged(Sender: TObject); + procedure OrdQtyChange(Sender: TObject); + procedure v3Column4PropertiesEditValueChanged(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v2Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v3Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure MenuItem1Click(Sender: TObject); + procedure MenuItem2Click(Sender: TObject); + procedure cxGridDBColumn3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure vSubColumn2PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure cxGridDBColumn2PropertiesEditValueChanged(Sender: TObject); + procedure TvSubColumn1PropertiesEditValueChanged(Sender: TObject); + procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, + Y: Integer); + procedure Image2Click(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure vSubColumn4PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure MenuItem3Click(Sender: TObject); + procedure MenuItem4Click(Sender: TObject); + procedure vSubColumn5PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure BZPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure BZPropertiesChange(Sender: TObject); + procedure TBChkOkClick(Sender: TObject); + procedure TBChkNoClick(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure N3Click(Sender: TObject); + procedure N4Click(Sender: TObject); + procedure MenuItem7Click(Sender: TObject); + procedure MenuItem8Click(Sender: TObject); + private + MInt,ChkInt,CloInt:Integer; + + procedure InitData(); + procedure ZDYHelp(FButn:TcxButtonEdit;LType:string); + function SaveData():Boolean; + procedure DelOrderSub(FOrder_Sub:TClientDataSet); + procedure SELYCL(SCDS_Sub:TClientDataSet); + procedure EditYCL(SCDS_Sub:TClientDataSet); + function SaveData10():Boolean; + procedure SaveYCL(SCDS_Sub:TClientDataSet); + procedure YLUpdate(); + procedure UpMainId(); + function SaveDataMain():Boolean; + + function SaveDataSub():Boolean; + function SaveDataDB():Boolean; + function SaveDataPB():Boolean; + procedure SELYCLKC(SCDS_Sub:TClientDataSet); + procedure OnlyUpYCLData(); + procedure YCLPBIDUPdate(SOrder_SubZ:TClientDataSet); + procedure SelAll(SCDS_Sub:TClientDataSet;FSEL:Boolean); + { Private declarations } + public + PState,BState,CopyInt:Integer; + FMainId:String; + FXS:Integer; + { Public declarations } + end; + +var + frmOrderInPutNew: TfrmOrderInPutNew; + +implementation +uses + U_DataLink,U_ZDYHelp,U_Fun,U_GetPGJBInList; + +{$R *.dfm} + +procedure TfrmOrderInPutNew.TBCloseClick(Sender: TObject); +begin + WriteCxBandedGrid('',Tv1,'޷IJ'); + WriteCxBandedGrid('ϸ',Tv2,'޷IJ'); + WriteCxBandedGrid('',Tv3,'޷IJ'); + WriteCxGrid('ӱ',TvSub,'޷IJ'); + WriteCxGrid('',TVDB,'޷IJ'); + {if PState<>3 then + begin + if Application.MessageBox('ǷҪݣ','ʾ',32+4)=IDYES then + begin + CloInt:=1; + TBSave.Click; + Exit; + end; + end; } + Close; + +end; + +procedure TfrmOrderInPutNew.InitData(); +var + i:Integer; +begin + with ADOQuery1 do + begin + Close; + SQL.Clear; + sql.Add(' exec P_WFBOrder_List :begdate,:endate,:MainId'); + if PState>0 then + begin + ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(FMainId); + ADOQuery1.Parameters.ParamByName('begdate').Value:=''; + ADOQuery1.Parameters.ParamByName('endate').Value:=''; + end; + if PState=0 then + begin + ADOQuery1.Parameters.ParamByName('MainId').Value:=''; + ADOQuery1.Parameters.ParamByName('begdate').Value:=''; + ADOQuery1.Parameters.ParamByName('endate').Value:=''; + end; + Open; + end; + // SCreateCDS20(ADOQuery1,Order_Sub); + //SInitCDSData20(ADOQuery1,Order_Sub); + SCSHData(ADOQuery1,ScrollBox1,0); + if PState=0 then + begin + OrderDate.DateTime:=StrToDate(FormatDateTime('yyyy-MM-dd',SGetServerDateTime(ADOTemp))); + ETADate.DateTime:=OrderDate.DateTime; + ETDDate.DateTime:=OrderDate.DateTime; + ZGDate.DateTime:=OrderDate.DateTime; + BegRKDate.DateTime:=OrderDate.DateTime; + BegSCDate.DateTime:=OrderDate.DateTime; + ETADate.Checked:=False; + ETDDate.Checked:=False; + ZGDate.Checked:=False; + BegRKDate.Checked:=False; + BegSCDate.Checked:=False; + end; + if Trim(DParameters1)<>'' then + begin + {BegRKDate.Enabled:=False; + Day3.Enabled:=False; + BegSCDate.Enabled:=False; + //Note.Enabled:=False; + cxGrid4.Enabled:=False; + {MJKZX.Enabled:=False; + MJKZD.Enabled:=False; + XJKZX.Enabled:=False; + XJKZD.Enabled:=False;} + {SCXName.Enabled:=False; + WJGName.Enabled:=False; + ScrollBox2.Enabled:=False; } + end; + if PState=4 then + begin + BegRKDate.Enabled:=True; + Day3.Enabled:=True; + BegSCDate.Enabled:=True; + //Note.Enabled:=False; + cxGrid4.Enabled:=True; + {MJKZX.Enabled:=True; + MJKZD.Enabled:=True; + XJKZX.Enabled:=True; + XJKZD.Enabled:=True; } + SCXName.Enabled:=True; + WJGName.Enabled:=True; + ScrollBox2.Enabled:=True; + end; + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select * from WFB_DB where MainId='''+Trim(FMainId)+''''); + Open; + end; + SCreateCDS20(ADOQuery1,CDS_DB); + SInitCDSData20(ADOQuery1,CDS_DB); + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select * from WFBOrder_Sub where MainId='''+Trim(FMainId)+''''); + Open; + end; + SCreateCDS20(ADOQuery1,CDS_Sub); + SInitCDSData20(ADOQuery1,CDS_Sub); + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select A.*,Case when A.YLQty-A.YCLYJkc>=0 then A.YLQty-A.YCLYJkc else null end as BZ from WFBYCL_PB A where MainId='''+Trim(FMainId)+''''); + sql.Add(' and PBType=''Ҫ'' '); + Open; + end; + SCreateCDS20(ADOQuery1,Order_SubZ); + SInitCDSData20(ADOQuery1,Order_SubZ); + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select A.*,Case when A.YLQty-A.YCLYJkc>=0 then A.YLQty-A.YCLYJkc else null end as BZ from WFBYCL_PB A where MainId='''+Trim(FMainId)+''''); + sql.Add(' and PBType='''' '); + Open; + end; + SCreateCDS20(ADOQuery1,Order_SubF); + SInitCDSData20(ADOQuery1,Order_SubF); + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select A.*,Case when A.YLQty-A.YCLYJkc>=0 then A.YLQty-A.YCLYJkc else null end as BZ from WFBYCL_PB A where MainId='''+Trim(FMainId)+''''); + sql.Add(' and PBType='''' '); + Open; + end; + SCreateCDS20(ADOQuery1,Order_SubQ); + SInitCDSData20(ADOQuery1,Order_SubQ); + PanZDY.Visible:=False; + if PState=4 then + begin + PState:=0; + FMainId:='999999'; + //OrderNo.Text:=''; + WFBCodeName.Text:=''; + WFBCodeName.Hint:=''; + PanZDY.Visible:=False; + with CDS_DB do + begin + First; + while not Eof do + begin + Edit; + FieldByName('DBID').Value:=''; + Post; + Next; + end; + end; + with Order_SubZ do + begin + First; + while not Eof do + begin + Edit; + FieldByName('PBID').Value:=''; + FieldByName('YLKC').Value:=0; + FieldByName('YCLYJKC').Value:=0; + FieldByName('BZ').Value:=0; + FieldByName('SGQty').Value:=0; + Post; + Next; + end; + end; + v1Column1.Options.Focusing:=True; + with Order_SubF do + begin + First; + while not Eof do + begin + Edit; + FieldByName('PBID').Value:=''; + FieldByName('YLKC').Value:=0; + FieldByName('YCLYJKC').Value:=0; + FieldByName('BZ').Value:=0; + FieldByName('SGQty').Value:=0; + Post; + Next; + end; + end; + v2Column1.Options.Focusing:=True; + with Order_SubQ do + begin + First; + while not Eof do + begin + Edit; + FieldByName('PBID').Value:=''; + FieldByName('YLKC').Value:=0; + FieldByName('YCLYJKC').Value:=0; + FieldByName('BZ').Value:=0; + FieldByName('SGQty').Value:=0; + Post; + Next; + end; + end; + v3Column1.Options.Focusing:=True; + end; +end; + +procedure TfrmOrderInPutNew.ZDYHelp(FButn:TcxButtonEdit;LType:string); +var + FType,ZDYName,FText:String; +begin + PanZDY.Visible:=True; + PanZDY.Left:=FButn.Left; + PanZDY.Top:=FButn.Top+FButn.Height; + with ADOZDY do + begin + Filtered:=False; + Close; + SQL.Clear; + SQL.Add('select RTrim(ZDYNo) ZDYNo,RTrim(ZDYName) ZDYName from KH_ZDY where Type='''+Trim(LType)+''''); + Open; + end; + FText:=Trim(FButn.Text); + if FText<>'' then + SDofilter(ADOZDY,' ZDYName like '+QuotedStr('%'+Trim(FText)+'%')) + else + SDofilter(ADOZDY,''); + VHelpZDYName.Summary.GroupFormat:=Trim(FButn.Name); +end; + +procedure TfrmOrderInPutNew.TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + FName:string; +begin + if ADOZDY.IsEmpty then Exit; + FName:=Trim(VHelpZDYName.Summary.GroupFormat); + TcxButtonEdit(FindComponent(FName)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(FName)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; +end; + +procedure TfrmOrderInPutNew.Button1Click(Sender: TObject); +begin + PanZDY.Visible:=False; +end; + +procedure TfrmOrderInPutNew.WFBCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); +begin + if (key=vk_return) or (Key=vk_Down) then + begin + if ADOZDY.Active then + CXGridZDY.SetFocus; + end; +end; + +procedure TfrmOrderInPutNew.TVZDYKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + if ADOZDY.IsEmpty then Exit; + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; + ADOZDY.Active:=False; + end; +end; + +procedure TfrmOrderInPutNew.FormShow(Sender: TObject); +var + fsj:string; +begin + {if Trim(DParameters1)='' then + begin + TBSave.Visible:=False; + //TBChkOk.Visible:=True; + TBChkNo.Visible:=True; + end else + begin + TBSave.Visible:=True; + TBChkOk.Visible:=False; + TBChkNo.Visible:=False; + end; } + fsj:=FormatDateTime('yyyy-MM-dd',SGetServerDate(ADOTemp)); + if ( (Trim(FMainId)='') or (CopyInt=1)) then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Count(*) As SL from WFBOrder_Main where OrderDate='''+Trim(fsj)+''''); + sql.Add(' and MainId not like ''%FZ'' '); + Open; + end; + if ADOTemp.IsEmpty then + begin + fsj:=fsj+'-1' + end else + fsj:=fsj+'-'+Trim(IntToStr(ADOTemp.fieldbyname('SL').AsInteger+1)); + OrderCode.Text:=Trim(fsj); + end; + InitData(); + ReadCxBandedGrid('',Tv1,'޷IJ'); + ReadCxBandedGrid('ϸ',Tv2,'޷IJ'); + ReadCxBandedGrid('',Tv3,'޷IJ'); + ReadCxGrid('ӱ',TvSub,'޷IJ'); + ReadCxGrid('',TVDB,'޷IJ'); +end; +function TfrmOrderInPutNew.SaveDataMain():Boolean; +var + maxno,FSubId:String; +begin + try + Result:=False; + ADOCmd.Connection.BeginTrans; + /// + if Trim(FMainId)='' then + begin + if GetLSNo(ADOTemp,maxno,'','WFBOrder_Main',2,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ˮ쳣','ʾ',0); + exit; + end; + end + else begin + maxno:=Trim(FMainId); + end; + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from WFBOrder_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMainId)='' then + begin + Append; + end + else + begin + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + FieldByName('OrderType').Value:=''; + FieldByName('OrderNo').Value:='11'; + SSetsaveSql(ADOCmd,'WFBOrder_Main',ScrollBox1,0); + if PState=2 then + begin + FieldByName('Chker').Value:=Trim(DName); + FieldByName('ChkTime').Value:=SGetServerDateTime(ADOTemp); + if ChkInt=1 then + FieldByName('ChkStatus').Value:='ͨ' + else if ChkInt=2 then + FieldByName('ChkStatus').Value:='˲ͨ'; + end; + if Trim(FMainId)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + if Trim(FMainId)<>'' then + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + end; + Post; + end; + FMainId:=Trim(maxno); + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +function TfrmOrderInPutNew.SaveDataSub():Boolean; +var + maxno,FSubId:String; +begin + try + Result:=False; + ADOCmd.Connection.BeginTrans; + ///굥 + + with CDS_Sub do + begin + First; + while not Eof do + begin + if Trim(CDS_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'','WFBOrder_Sub',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBOrder_Sub '); + sql.Add(' where SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + FieldByName('SWFBCode').Value:=Trim(CDS_Sub.fieldbyname('SWFBCode').AsString); + SSetSaveDataCDSNew(ADOCmd,TvSub,CDS_Sub,'WFBOrder_Sub',0); + Post; + end; + CDS_Sub.Edit; + CDS_Sub.FieldByName('SubId').Value:=Trim(maxno); + //CDS_Sub.Post; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ӱʧܣ','ʾ',0); + end; +end; +function TfrmOrderInPutNew.SaveDataDB():Boolean; +var + maxno,FSubId:String; +begin + try + Result:=False; + ADOCmd.Connection.BeginTrans; + ///ϸ + if Trim(CDS_DB.fieldbyname('DBId').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'DB','WFB_DB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_DB.fieldbyname('DBId').AsString); + end; + with CDS_DB do + begin + First; + while not Eof do + begin + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_DB '); + sql.Add(' where DBId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_DB.fieldbyname('DBId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('DBId').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,TVDB,CDS_DB,'WFB_DB',0); + Post; + end; + CDS_DB.Edit; + CDS_DB.FieldByName('DBId').Value:=Trim(maxno); + //CDS_DB.Post; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; +function TfrmOrderInPutNew.SaveDataPB():Boolean; +var + maxno,FSubId:String; +begin + try + Result:=False; + ADOCmd.Connection.BeginTrans; + //Ҫԭ + + if not Order_SubZ.IsEmpty then + begin + with Order_SubZ do + begin + First; + while not Eof do + begin + if Trim(Order_SubZ.fieldbyname('PBId').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'PB','WFBYCL_PB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_SubZ.fieldbyname('PBId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PB '); + sql.Add(' where PBId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_SubZ.fieldbyname('PBId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('CRId').Value:=Trim(Order_SubZ.fieldbyname('CRID').AsString); + FieldByName('PBType').Value:='Ҫ'; + // SSetSaveDataCDSNew(); + SSetSaveDataCDSBandNew(ADOCmd,TV1,Order_SubZ,'WFBYCL_PB',0); + Post; + end; + Order_SubZ.Edit; + Order_SubZ.FieldByName('PBId').Value:=Trim(maxno); + //Order_SubZ.Post; + Next; + end; + end; + end; + //渨ԭ + + if not Order_SubF.IsEmpty then + begin + with Order_SubF do + begin + First; + while not Eof do + begin + if Trim(Order_SubF.fieldbyname('PBId').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'PB','WFBYCL_PB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_SubF.fieldbyname('PBId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PB '); + sql.Add(' where PBId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_SubF.fieldbyname('PBId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('PBType').Value:=''; + FieldByName('CRId').Value:=Trim(Order_SubF.fieldbyname('CRID').AsString); + // SSetSaveDataCDSNew(); + SSetSaveDataCDSBandNew(ADOCmd,TV2,Order_SubF,'WFBYCL_PB',0); + Post; + end; + Order_SubF.Edit; + Order_SubF.FieldByName('PBId').Value:=Trim(maxno); + Order_SubF.Post; + Next; + end; + end; + end; + //ԭ + + if not Order_SubQ.IsEmpty then + begin + with Order_SubQ do + begin + First; + while not Eof do + begin + if Trim(Order_SubQ.fieldbyname('PBId').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'PB','WFBYCL_PB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_SubQ.fieldbyname('PBId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PB '); + sql.Add(' where PBId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_SubQ.fieldbyname('PBId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('PBType').Value:=''; + FieldByName('CRId').Value:=Trim(Order_SubQ.fieldbyname('CRID').AsString); + // SSetSaveDataCDSNew(); + SSetSaveDataCDSBandNew(ADOCmd,TV3,Order_SubQ,'WFBYCL_PB',0); + Post; + end; + Order_SubQ.Edit; + Order_SubQ.FieldByName('PBId').Value:=Trim(maxno); + Order_SubQ.Post; + Next; + end; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȱʧܣ','ʾ',0); + end; +end; +function TfrmOrderInPutNew.SaveData():Boolean; +var + maxno,FSubId,FFS:String; + wz:Integer; +begin + try + Result:=False; + SaveDataMain(); + SaveDataSub(); + SaveDataDB(); + SaveDataPB(); + wz:=Pos('F',FMainId); + FFS:=Copy(FMainId,wz,4); + if ((CopyInt=1) or (FFS='FZ')) then + begin + UpMainId(); + end; + CopyInt:=0; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; +function TfrmOrderInPutNew.SaveData10():Boolean; +var + maxno,FSubId:String; + +begin + try + Result:=False; + SaveDataMain(); + SaveDataDB(); + SaveDataSub(); + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; +procedure TfrmOrderInPutNew.TBSaveClick(Sender: TObject); +begin + OrderDate.SetFocus; + if Trim(OrderNo.Text)='' then + begin + Application.MessageBox('ŲΪգ','ʾ',0); + Exit; + end; + if Trim(OrdUnit.Text)='' then + begin + Application.MessageBox('λΪգ','ʾ',0); + Exit; + end; + {if Trim(WFBCodeName.Hint)='' then + begin + Application.MessageBox('δ壡','ʾ',0); + Exit; + end; } + if CDS_DB.Locate('BSL',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if CDS_DB.Locate('JSL',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('SWFBCodeName',null,[]) then + begin + Application.MessageBox('ƷŲΪգ','ʾ',0); + Exit; + end; + if Order_SubZ.Locate('YLKC;YCLYJKC;BZ',VarArrayOf([0,0,0]),[]) then + begin + Application.MessageBox('ָϣ','ʾ',0); + Exit; + end; + if Order_SubF.Locate('YLKC;YCLYJKC;BZ',VarArrayOf([0,0,0]),[]) then + begin + Application.MessageBox('ָϣ','ʾ',0); + Exit; + end; + if Order_SubQ.Locate('YLKC;YCLYJKC;BZ',VarArrayOf([0,0,0]),[]) then + begin + Application.MessageBox('ָϣ','ʾ',0); + Exit; + end; + YLUpdate(); + if SaveData()=True then + begin + if ChkInt>0 then + begin + Application.MessageBox('ɹ!','ʾ',0); + end else + Application.MessageBox('ɹ','ʾ',0); + if CloInt=1 then ModalResult:=1; + end; + +end; +procedure TfrmOrderInPutNew.SaveYCL(SCDS_Sub:TClientDataSet); +var + maxno,maxnosub:string; +begin + try + ADOCmd.Connection.BeginTrans; + with frmGetPGJBInList.ClientDataSet2 do + begin + First; + while not Eof do + begin + if GetLSNo(ADOCmd,maxno,'PB','WFBYCL_PB',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_PB where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + if MInt=1 then + begin + FieldByName('PBType').Value:='Ҫ'; + end else + if MInt=2 then + begin + FieldByName('PBType').Value:=''; + end else + if MInt=3 then + begin + FieldByName('PBType').Value:=''; + end; + FieldByName('YCLCode').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('YCLCode').AsString); + FieldByName('YCLName').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('YCLCode').AsString); + FieldByName('YCLSpec').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('YCLCode').AsString); + FieldByName('YLKC').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('QuantityKC').AsString); + FieldByName('YLUnit').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('CRUnit').AsString); + FieldByName('CRID').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('CRID').AsString); + FieldByName('YCLYJKC').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('YJKC').AsString); + Post; + end; + with SCDS_Sub do + begin + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + Post; + end; + with Self.CDS_Sel do + begin + First; + while not Eof do + begin + if GetLSNo(ADOCmd,maxnosub,'PS','WFBYCL_PBSub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_PBSub where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(CDS_Sel.fieldbyname('SubId').AsString); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('PSId').Value:=Trim(maxnosub); + Post; + end; + Next; + end; + end; + Next; + end; + end; + except + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; +procedure TfrmOrderInPutNew.SELYCL(SCDS_Sub:TClientDataSet); +var + maxno,maxnosub:string; +begin + try + frmGetPGJBInList:=TfrmGetPGJBInList.Create(Application); + with frmGetPGJBInList do + begin + if ShowModal=1 then + begin + try ADOCmd.Connection.BeginTrans; + with ClientDataSet2 do + begin + First; + while not Eof do + begin + with SCDS_Sub do + begin + Append; + SCDS_Sub.FieldByName('YCLCode').Value:=Trim(ClientDataSet2.fieldbyname('YCLCode').AsString); + SCDS_Sub.FieldByName('YCLName').Value:=Trim(ClientDataSet2.fieldbyname('YCLName').AsString); + SCDS_Sub.FieldByName('YCLSpec').Value:=Trim(ClientDataSet2.fieldbyname('YCLSpec').AsString); + SCDS_Sub.FieldByName('YLKC').Value:=Trim(ClientDataSet2.fieldbyname('QuantityKC').AsString); + SCDS_Sub.FieldByName('YLUnit').Value:=Trim(ClientDataSet2.fieldbyname('CRUnit').AsString); + SCDS_Sub.FieldByName('CRID').Value:=Trim(ClientDataSet2.fieldbyname('CRID').AsString); + SCDS_Sub.FieldByName('YCLYJKC').Value:=Trim(ClientDataSet2.fieldbyname('YJKC').AsString); + Post; + end; + + if GetLSNo(ADOCmd,maxno,'PB','WFBYCL_PB',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_PB where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + if MInt=1 then + begin + FieldByName('PBType').Value:='Ҫ'; + end else + if MInt=2 then + begin + FieldByName('PBType').Value:=''; + end else + if MInt=3 then + begin + FieldByName('PBType').Value:=''; + end; + FieldByName('YCLCode').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('YCLCode').AsString); + FieldByName('YCLName').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('YCLName').AsString); + FieldByName('YCLSpec').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('YCLSpec').AsString); + FieldByName('YLKC').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('QuantityKC').AsString); + FieldByName('YLUnit').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('CRUnit').AsString); + FieldByName('CRID').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('CRID').AsString); + FieldByName('YCLYJKC').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('YJKC').AsString); + Post; + end; + with SCDS_Sub do + begin + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + Post; + end; + with Self.CDS_Sel do + begin + First; + while not Eof do + begin + if Self.CDS_Sel.FieldByName('SSel').AsBoolean=True then + begin + if GetLSNo(ADOCmd,maxnosub,'PS','WFBYCL_PBSub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_PBSub where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(CDS_Sel.fieldbyname('SubId').AsString); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('PSId').Value:=Trim(maxnosub); + Post; + end; + end; + Next; + end; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + except + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + Exit; + end; + //Self.SaveYCL(SCDS_Sub); + end; + end; + finally + frmGetPGJBInList.Free; + end; +end; +procedure TfrmOrderInPutNew.SELYCLKC(SCDS_Sub:TClientDataSet); +var + maxno,maxnosub:string; + YLPB,YLSH:Double; +begin + + try ADOCmd.Connection.BeginTrans; + with CDS_KCSel do + begin + First; + while not Eof do + begin + if CDS_KCSel.FieldByName('SSel').AsBoolean=True then + begin + if MInt=1 then + begin + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1* from WFBYCL_PB where YCLCode='''+Trim(CDS_KCSel.fieldbyname('YCLCode').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1* from WFBYCL_PB where YCLCode='''+Trim(CDS_KCSel.fieldbyname('YCLCode').AsString)+''''); + SQL.Add('and YLPB>0 order by FillTime desc'); + Open; + end; + if Trim(ADOTemp.fieldbyname('YLPB').AsString)<>'' then + YLPB:=ADOTemp.fieldbyname('YLPB').Value + else + YLPB:=0; + if Trim(ADOTemp.fieldbyname('YLSH').AsString)<>'' then + YLSH:=ADOTemp.fieldbyname('YLSH').Value + else + YLSH:=0; + end else + begin + YLPB:=0; + YLSH:=0; + end; + end; + with SCDS_Sub do + begin + Append; + SCDS_Sub.FieldByName('YCLCode').Value:=Trim(CDS_KCSel.fieldbyname('YCLCode').AsString); + SCDS_Sub.FieldByName('YCLName').Value:=Trim(CDS_KCSel.fieldbyname('YCLName').AsString); + SCDS_Sub.FieldByName('YCLSpec').Value:=Trim(CDS_KCSel.fieldbyname('YCLSpec').AsString); + SCDS_Sub.FieldByName('YLKC').Value:=Trim(CDS_KCSel.fieldbyname('KCQty').AsString); + SCDS_Sub.FieldByName('YLUnit').Value:=Trim(CDS_KCSel.fieldbyname('KCUint').AsString); + SCDS_Sub.FieldByName('CRID').Value:=Trim(CDS_KCSel.fieldbyname('CRID').AsString); + SCDS_Sub.FieldByName('YCLYJKC').Value:=Trim(CDS_KCSel.fieldbyname('YJKC').AsString); + if MInt=1 then + begin + SCDS_Sub.FieldByName('YLPB').Value:=YLPB; + SCDS_Sub.FieldByName('YLSH').Value:=YLSH; + end; + Post; + end; + // + if GetLSNo(ADOCmd,maxno,'PB','WFBYCL_PB',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_PB where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + if MInt=1 then + begin + FieldByName('PBType').Value:='Ҫ'; + end else + if MInt=2 then + begin + FieldByName('PBType').Value:=''; + end else + if MInt=3 then + begin + FieldByName('PBType').Value:=''; + end; + FieldByName('YCLCode').Value:=Trim(CDS_KCSel.fieldbyname('YCLCode').AsString); + FieldByName('YCLName').Value:=Trim(CDS_KCSel.fieldbyname('YCLName').AsString); + FieldByName('YCLSpec').Value:=Trim(CDS_KCSel.fieldbyname('YCLSpec').AsString); + FieldByName('YLKC').Value:=Trim(CDS_KCSel.fieldbyname('KCQty').AsString); + FieldByName('YLUnit').Value:=Trim(CDS_KCSel.fieldbyname('KCUint').AsString); + FieldByName('CRID').Value:=Trim(CDS_KCSel.fieldbyname('CRID').AsString); + FieldByName('YCLYJKC').Value:=Trim(CDS_KCSel.fieldbyname('YJKC').AsString); + Post; + end; + with SCDS_Sub do + begin + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + Post; + end; + // + //ֱ + with Self.CDS_Sel do + begin + First; + while not Eof do + begin + if Self.CDS_Sel.FieldByName('SSel').AsBoolean=True then + begin + if GetLSNo(ADOCmd,maxnosub,'PS','WFBYCL_PBSub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_PBSub where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(CDS_Sel.fieldbyname('SubId').AsString); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('PSId').Value:=Trim(maxnosub); + Post; + end; + end; + Next; + end; + end; + //ֱ + if MInt=1 then + OnlyUpYCLData(); + end; + + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + except + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + Exit; + end; +end; + +procedure TfrmOrderInPutNew.EditYCL(SCDS_Sub:TClientDataSet); +begin + try + frmGetPGJBInList:=TfrmGetPGJBInList.Create(Application); + with frmGetPGJBInList do + begin + if ShowModal=1 then + begin + with ClientDataSet2 do + begin + //First; + // while not Eof do + //begin + with SCDS_Sub do + begin + Edit; + SCDS_Sub.FieldByName('YCLCode').Value:=Trim(ClientDataSet2.fieldbyname('YCLCode').AsString); + SCDS_Sub.FieldByName('YCLName').Value:=Trim(ClientDataSet2.fieldbyname('YCLName').AsString); + SCDS_Sub.FieldByName('YCLSpec').Value:=Trim(ClientDataSet2.fieldbyname('YCLSpec').AsString); + //SCDS_Sub.FieldByName('GYSName').Value:=Trim(ClientDataSet2.fieldbyname('GYSName').AsString); + //SCDS_Sub.FieldByName('GYS').Value:=Trim(ClientDataSet2.fieldbyname('GYS').AsString); + SCDS_Sub.FieldByName('YLKC').Value:=Trim(ClientDataSet2.fieldbyname('QuantityKC').AsString); + //CDS_Sub.FieldByName('Qty').Value:=Trim(ClientDataSet2.fieldbyname('QtyKC').AsString); + SCDS_Sub.FieldByName('YLUnit').Value:=Trim(ClientDataSet2.fieldbyname('CRUnit').AsString); + SCDS_Sub.FieldByName('CRID').Value:=Trim(ClientDataSet2.fieldbyname('CRID').AsString); + SCDS_Sub.FieldByName('YCLYJKC').Value:=Trim(ClientDataSet2.fieldbyname('YJKC').AsString); + if SCDS_Sub.FieldByName('YLQty').Value-ClientDataSet2.fieldbyname('YJKC').Value>=0 then + SCDS_Sub.FieldByName('BZ').Value:=SCDS_Sub.FieldByName('YLQty').Value- + ClientDataSet2.fieldbyname('YJKC').Value + else + SCDS_Sub.FieldByName('BZ').Value:=null; + //SCDS_Sub.FieldByName('YCLType').Value:=Trim(ClientDataSet2.fieldbyname('YCLType').AsString); + //SCDS_Sub.FieldByName('YCLPrice').Value:=Trim(ClientDataSet2.fieldbyname('YCLPrice').AsString); + //SCDS_Sub.FieldByName('KCPlace').Value:=Trim(ClientDataSet2.fieldbyname('KCPlace').AsString); + //CDS_Sub.FieldByName('DepotShow').Value:=Trim(ClientDataSet2.fieldbyname('DepotShow').AsString); + //Post; + end; + // Next; + //end; + end; + end; + end; + finally + frmGetPGJBInList.Free; + end; +end; +procedure TfrmOrderInPutNew.ToolButton1Click(Sender: TObject); + +begin + if CDS_Sub.IsEmpty=True then + begin + Application.MessageBox('굥Ϊգ','ʾ',0); + Exit; + end; + OrderDate.SetFocus; + if Trim(OrderNo.Text)='' then + begin + Application.MessageBox('ŲΪգ','ʾ',0); + Exit; + end; + {if Trim(WFBCodeName.Text)='' then + begin + Application.MessageBox('ŲΪգ','ʾ',0); + Exit; + end; + if Trim(WFBCodeName.Hint)='' then + begin + Application.MessageBox('δ壡','ʾ',0); + Exit; + end; } + SaveData10(); + Panel1.Visible:=True; + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from WFBOrder_Sub where MainId='''+Trim(FMainId)+''''); + Open; + {if MInt=1 then + begin + SELYCL(Order_SubZ); + end else + if MInt=2 then + begin + SELYCL(Order_SubF); + end else + if MInt=3 then + begin + SELYCL(Order_SubQ); } + end; + SCreateCDS20(ADOQuery1,CDS_Sel); + SInitCDSData20(ADOQuery1,CDS_Sel); + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add(' exec P_YCLKC_ListKCDD :KCType '); + if MInt=1 then + begin + Parameters.ParamByName('KCType').Value:='Ҫ'; + end else + if MInt=2 then + begin + Parameters.ParamByName('KCType').Value:=''; + end else + if MInt=3 then + begin + Parameters.ParamByName('KCType').Value:=''; + end; + open; + end; + SCreateCDS20(ADOQuery1,CDS_KCSel); + SInitCDSData20(ADOQuery1,CDS_KCSel); +end; + +procedure TfrmOrderInPutNew.ToolButton2Click(Sender: TObject); +begin + if MInt=1 then + begin + DelOrderSub(Order_SubZ); + end else + if MInt=2 then + begin + DelOrderSub(Order_SubF); + end else + if MInt=3 then + begin + DelOrderSub(Order_SubQ); + end; +end; +procedure TfrmOrderInPutNew.DelOrderSub(FOrder_Sub:TClientDataSet); +begin + if FOrder_Sub.IsEmpty then Exit; + if Trim(FOrder_Sub.fieldbyname('PBID').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFBYCL_PB where PBID='''+Trim(FOrder_Sub.fieldbyname('PBID').AsString)+''''); + sql.Add('delete WFBYCL_PBSub where PBID='''+Trim(FOrder_Sub.fieldbyname('PBID').AsString)+''''); + ExecSQL; + end; + end; + FOrder_Sub.Delete; +end; + +procedure TfrmOrderInPutNew.CustomNoNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('CustomNoName'); + flagname:='ͻ'; + if ShowModal=1 then + begin + Self.FXS:=99; + CustomNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + CustomNoName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutNew.CustomNoNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(CustomNoName,'CustomNoName'); +end; + +procedure TfrmOrderInPutNew.ArrivalPortNamePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('ArrivalPort'); + flagname:=''; + if ShowModal=1 then + begin + Self.FXS:=99; + ArrivalPortName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + ArrivalPortName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutNew.SCXNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('SCXName'); + flagname:=''; + if ShowModal=1 then + begin + Self.FXS:=99; + SCXName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + SCXName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutNew.WJGNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WJGName'); + flagname:='ṹ'; + if ShowModal=1 then + begin + Self.FXS:=99; + WJGName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + WJGName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutNew.WFBCodeNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim(WFBCodeName.Name); + flagname:=''; + if ShowModal=1 then + begin + Self.FXS:=99; + WFBCodeName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + WFBCodeName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutNew.WFBCodeNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(WFBCodeName,Trim(WFBCodeName.Name)); +end; + +procedure TfrmOrderInPutNew.ArrivalPortNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(ArrivalPortName,'ArrivalPort'); +end; + +procedure TfrmOrderInPutNew.SCXNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(SCXName,Trim(SCXName.Name)); +end; + +procedure TfrmOrderInPutNew.WJGNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(WJGName,Trim(WJGName.Name)); +end; + +procedure TfrmOrderInPutNew.N1Click(Sender: TObject); +begin + + with CDS_DB do + begin + Append; + FieldByName('DBUnit').Value:='/'; + Post; + end; +end; + +procedure TfrmOrderInPutNew.N2Click(Sender: TObject); +begin + if CDS_DB.IsEmpty then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFB_DB where DBID='''+Trim(CDS_DB.fieldbyname('DBID').AsString)+''''); + ExecSQL; + end; + CDS_DB.Delete; +end; + +procedure TfrmOrderInPutNew.Day1Change(Sender: TObject); +var + DayL:string; +begin + if trim(Day1.Text)='' then DayL:='0' + else DayL:=Trim(Day1.Text); + ETDDate.DateTime:=ETADate.Date-strtoint(DayL); +end; + +procedure TfrmOrderInPutNew.OrdQtyKeyPress(Sender: TObject; var Key: Char); +begin + if not (Key in['0'..'9','.',#8,#13]) then + begin + key:=#0; + end; +end; + +procedure TfrmOrderInPutNew.Day2Change(Sender: TObject); +var + DayL:string; +begin + if trim(Day2.Text)='' then DayL:='0' + else DayL:=Trim(Day2.Text); + ZGDate.DateTime:=ETDDate.Date-strtoint(DayL); +end; +procedure TfrmOrderInPutNew.Day3Change(Sender: TObject); +var + DayL:string; +begin + if trim(Day3.Text)='' then DayL:='0' + else DayL:=Trim(Day3.Text); + BegSCDate.DateTime:=BegRKDate.Date-strtoint(DayL); +end; +procedure TfrmOrderInPutNew.ETADateChange(Sender: TObject); +begin + if Trim(Day1.Text)<>'' then + begin + ETDDate.DateTime:=ETADate.Date-strtoint(Day1.Text); + end; + if Trim(Day2.Text)<>'' then + begin + ZGDate.DateTime:=ETDDate.Date-strtoint(Day2.Text); + end; +end; + +procedure TfrmOrderInPutNew.BegRKDateChange(Sender: TObject); +begin + if Trim(Day3.Text)<>'' then + begin + BegSCDate.DateTime:=BegRKDate.Date-strtoint(Day3.Text); + end; +end; + +procedure TfrmOrderInPutNew.Tv1MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + MInt:=1; + Tv1.Bands[0].Caption:='Ҫԭϡ'; + Tv2.Bands[0].Caption:='ԭ'; + Tv3.Bands[0].Caption:=''; + Tv1.Bands[0].Styles.Header.TextColor:=clBlue; + Tv2.Bands[0].Styles.Header.TextColor:=clBlack; + Tv3.Bands[0].Styles.Header.TextColor:=clBlack; +end; + +procedure TfrmOrderInPutNew.Tv2MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + MInt:=2; + Tv1.Bands[0].Caption:='Ҫԭ'; + Tv2.Bands[0].Caption:='ԭϡ'; + Tv3.Bands[0].Caption:=''; + Tv1.Bands[0].Styles.Header.TextColor:=clBlack; + Tv2.Bands[0].Styles.Header.TextColor:=clBlue; + Tv3.Bands[0].Styles.Header.TextColor:=clBlack; +end; + +procedure TfrmOrderInPutNew.Tv3MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + MInt:=3; + Tv1.Bands[0].Caption:='Ҫԭ'; + Tv2.Bands[0].Caption:='ԭ'; + Tv3.Bands[0].Caption:=''; + Tv1.Bands[0].Styles.Header.TextColor:=clBlack; + Tv2.Bands[0].Styles.Header.TextColor:=clBlack; + Tv3.Bands[0].Styles.Header.TextColor:=clBlue; +end; + +procedure TfrmOrderInPutNew.v1Column2PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,YLSH,DHSL,YLQty:Double; + FOrdQty,FKZ:String; +begin + if Trim(TcxTextEdit(Sender).EditingText)<>'' then + mvalue:=TcxTextEdit(Sender).EditingValue + else + mvalue:=0; + with Order_SubZ do + begin + Edit; + FieldByName('YLPB').Value:=mvalue; + Post; + end; + //KO + YLUpdate(); +end; +procedure TfrmOrderInPutNew.OnlyUpYCLData(); +var + mvalue,YLSH,DHSL,YLQty:Double; + FOrdQty,FKZ:String; +begin + YLQty:=0; + if Trim(Order_SubZ.fieldbyname('YLPB').AsString)<>'' then + mvalue:=Order_SubZ.fieldbyname('YLPB').Value + else + mvalue:=0; //KO + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add(' select A.* from WFBYCL_PBSub A '); + //SQL.Add(' inner join WFBYCL_PB B on B.PBID=A.PBID '); + sql.Add(' where A.PBID='''+Trim(Order_SubZ.fieldbyname('PBID').AsString)+''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + CDS_Sub.Locate('SubId',Trim(ADOTemp.fieldbyname('SubId').AsString),[]); + if Trim(CDS_Sub.fieldbyname('SOrdQty').AsString)='' then + FOrdQty:='0' + else + FOrdQty:=Trim(CDS_Sub.fieldbyname('SOrdQty').AsString); + if Trim(OrdUnit.Text)='K' then + begin + if Trim(Order_SubZ.fieldbyname('YLSH').AsString)='' then + begin + YLSH:=0; + end else + YLSH:=StrToFloat(Order_SubZ.fieldbyname('YLSH').AsString); + YLQty:=YLQty+StrToFloat(FOrdQty)*mvalue/100*(1+YLSH/100); + end else + if Trim(OrdUnit.Text)='O' then + begin + if Trim(CDS_Sub.fieldbyname('SWFBKZ').AsString)='' then + begin + FKZ:='0'; + end else + FKZ:=Trim(CDS_Sub.fieldbyname('SWFBKZ').AsString); + DHSL:=StrToFloat(FOrdQty)*strtofloat(FKZ)/1000; + if Trim(Order_SubZ.fieldbyname('YLSH').AsString)='' then + begin + YLSH:=0; + end else + YLSH:=StrToFloat(Order_SubZ.fieldbyname('YLSH').AsString); + YLQty:=YLQty+DHSL*mvalue/100*(1+YLSH/100); + end; + Next; + end; + with Order_SubZ do + begin + Edit; + FieldByName('YLQty').Value:=YLQty; + if YLQty-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=YLQty-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + end; + end; +end; + +procedure TfrmOrderInPutNew.v1Column3PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,YLSH,DHSL,YLQty,YLPB:Double; + FOrdQty,FKZ:String; +begin + if Trim(TcxTextEdit(Sender).EditingText)<>'' then + mvalue:=TcxTextEdit(Sender).EditingValue + else + mvalue:=0; + with Order_SubZ do + begin + Edit; + FieldByName('YLSH').Value:=mvalue; + Post; + end; + //KO + YLUpdate(); +end; + +procedure TfrmOrderInPutNew.v2Column2PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,YLSHQ,DHSL,YLQty,YLPB:Double; + FOrdQty,FKZ:String; +begin + if Trim(TcxTextEdit(Sender).EditingText)<>'' then + mvalue:=TcxTextEdit(Sender).EditingValue + else + mvalue:=0; + with Order_SubF do + begin + Edit; + FieldByName('YLSHQ').Value:=mvalue; + Post; + end; + //KO + YLUpdate(); +end; + +procedure TfrmOrderInPutNew.OrdQtyChange(Sender: TObject); +begin + YLUpdate(); +end; +procedure TfrmOrderInPutNew.YLUpdate(); +var + mvalue,YLSH,DHSL,YLQty,YLPB,YLSHQ:Double; + FOrdQty,FKZ:String; +begin + YLQty:=0; + with Order_SubZ do + begin + if Order_SubZ.IsEmpty=False then + begin + First; + while not Eof do + begin + YLQty:=0; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PBSub where PBID='''+Trim(Order_SubZ.fieldbyname('PBID').AsString)+''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + CDS_Sub.Locate('SubId',Trim(ADOTemp.fieldbyname('SubId').AsString),[]); + if Trim(CDS_Sub.fieldbyname('SOrdQty').AsString)='' then + FOrdQty:='0' + else + FOrdQty:=Trim(CDS_Sub.fieldbyname('SOrdQty').AsString); + if Trim(OrdUnit.Text)='K' then + begin + if Trim(Order_SubZ.fieldbyname('YLPB').AsString)='' then + begin + YLPB:=0; + end else + YLPB:=StrToFloat(Order_SubZ.fieldbyname('YLPB').AsString); + if Trim(Order_SubZ.fieldbyname('YLSH').AsString)='' then + begin + YLSH:=0; + end else + YLSH:=StrToFloat(Order_SubZ.fieldbyname('YLSH').AsString); + YLQty:=YLQty+StrToFloat(FOrdQty)*YLPB/100*(1+YLSH/100); + end else + if Trim(OrdUnit.Text)='O' then + begin + if Trim(CDS_Sub.fieldbyname('SWFBKZ').AsString)='' then + begin + FKZ:='0'; + end else + FKZ:=Trim(CDS_Sub.fieldbyname('SWFBKZ').AsString); + DHSL:=StrToFloat(FOrdQty)*strtofloat(FKZ)/1000; + if Trim(Order_SubZ.fieldbyname('YLPB').AsString)='' then + begin + YLPB:=0; + end else + YLPB:=StrToFloat(Order_SubZ.fieldbyname('YLPB').AsString); + if Trim(Order_SubZ.fieldbyname('YLSH').AsString)='' then + begin + YLSH:=0; + end else + YLSH:=StrToFloat(Order_SubZ.fieldbyname('YLSH').AsString); + YLQty:=YLQty+DHSL*YLPB/100*(1+YLSH/100); + end; + Next; + end; + with Order_SubZ do + begin + Edit; + FieldByName('YLQty').Value:=YLQty; + if YLQty-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=YLQty-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + end; + end; + Next; + end; + end; + + end; + if Order_SubF.IsEmpty=False then + begin + with Order_SubF do + begin + First; + while not Eof do + begin + YLQty:=0; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PBSub where PBID='''+Trim(Order_SubF.fieldbyname('PBID').AsString)+''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + CDS_Sub.Locate('SubId',Trim(ADOTemp.fieldbyname('SubId').AsString),[]); + if Trim(CDS_Sub.fieldbyname('SOrdQty').AsString)='' then + FOrdQty:='0' + else + FOrdQty:=Trim(CDS_Sub.fieldbyname('SOrdQty').AsString); + if Trim(OrdUnit.Text)='K' then + begin + if Trim(Order_SubF.fieldbyname('YLSHQ').AsString)='' then + begin + YLSHQ:=0; + end else + YLSHQ:=StrToFloat(Order_SubF.fieldbyname('YLSHQ').AsString); + YLQty:=YLQty+StrToFloat(FOrdQty)*(YLSHQ*1.00/1000); + end else + if Trim(OrdUnit.Text)='O' then + begin + if Trim(CDS_Sub.fieldbyname('SWFBKZ').AsString)='' then + begin + FKZ:='0'; + end else + FKZ:=Trim(CDS_Sub.fieldbyname('SWFBKZ').AsString); + DHSL:=StrToFloat(FOrdQty)*strtofloat(FKZ)/1000; + if Trim(Order_SubF.fieldbyname('YLSHQ').AsString)='' then + begin + YLSHQ:=0; + end else + YLSHQ:=StrToFloat(Order_SubF.fieldbyname('YLSHQ').AsString); + YLQty:=YLQty+DHSL*(YLSHQ*1.00/1000); + end; + Next; + end; + with Order_SubF do + begin + Edit; + FieldByName('YLQty').Value:=YLQty; + if YLQty-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=YLQty-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + end; + end; + Next; + end; + end; + end; +end; +procedure TfrmOrderInPutNew.v3Column4PropertiesEditValueChanged( + Sender: TObject); +var + mvalue:Double; +begin + mvalue:=TcxTextEdit(Sender).EditingValue; + with Order_SubQ do + begin + Edit; + FieldByName('YLQty').Value:=mvalue; + if mvalue-fieldbyname('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=mvalue-fieldbyname('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + end; +end; + +procedure TfrmOrderInPutNew.TBPrintClick(Sender: TObject); +var + fPrintFile:String; +begin + with ADOQueryQG do + begin + Close; + sql.Clear; + sql.Add(' exec P_Print_SGD :OrderNo'); + Parameters.ParamByName('OrderNo').Value:=Trim(OrderNo.Text); + Open; + end; + if ADOQueryQG.IsEmpty then Exit; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\빺.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + RMVariables['dyr']:=Trim(DName); + RM2.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\빺.rmf'),'ʾ',0); + end; +end; + +procedure TfrmOrderInPutNew.v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + EditYCL(Order_SubZ); +end; + +procedure TfrmOrderInPutNew.v2Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + EditYCL(Order_SubF); +end; + +procedure TfrmOrderInPutNew.v3Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + EditYCL(Order_SubQ); +end; + +procedure TfrmOrderInPutNew.MenuItem1Click(Sender: TObject); +var + i:Integer; +begin + CopyAddRow(TvSub,CDS_Sub); + i:=CDS_Sub.RecordCount; + with CDS_Sub do + begin + Edit; + FieldByName('MainId').Value:=''; + FieldByName('SubId').Value:=''; + FieldByName('SWFBColor').Value:=''; + FieldByName('SWFBCode').Value:=''; + FieldByName('SWFBCodeName').Value:=''; + FieldByName('SOrdQty').Value:=0; + FieldByName('XHNO').Value:=IntToStr(i); + Post; + end; + OrdQty.Text:=floattostr(TvSub.DataController.Summary.FooterSummaryValues[0]); +end; + +procedure TfrmOrderInPutNew.MenuItem2Click(Sender: TObject); +var + mvalue,YLSH,DHSL,YLQty,YLPB,YLSHQ:Double; + FOrdQty,FKZ:String; +begin + if CDS_Sub.IsEmpty then Exit; + if Trim(CDS_Sub.fieldbyname('SubID').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_PBSub where SubId='''+Trim(CDS_Sub.fieldbyname('SubID').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + with ADOCMD do + begin + Close; + sql.Clear; + sql.Add('delete WFBYCL_PBSub where SubId='''+Trim(CDS_Sub.fieldbyname('SubID').AsString)+''''); + sql.Add('delete WFBOrder_Sub where SubID='''+Trim(CDS_Sub.fieldbyname('SubID').AsString)+''''); + ExecSQL; + end; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PB where MainId='''+Trim(FMainId)+''' '); + sql.Add(' and not exists(select * from WFBYCL_PBSub A where A.PBId=WFBYCL_PB.PBID and A.MainId='''+Trim(FMainId)+''' )'); + open; + end; + with ADOTemp do + begin + ADOTemp.First; + while not ADOTemp.Eof do + begin + if Trim(ADOTemp.fieldbyname('PBID').AsString)<>'' then + begin + if Order_SubZ.IsEmpty=False then + begin + if Order_SubZ.Locate('PBID',Trim(ADOTemp.fieldbyname('PBID').AsString),[]) then + Order_SubZ.Delete; + end; + if Order_SubF.IsEmpty=False then + begin + if Order_SubF.Locate('PBID',Trim(ADOTemp.fieldbyname('PBID').AsString),[]) then + Order_SubF.Delete; + end; + if Order_SubQ.IsEmpty=False then + begin + if Order_SubQ.Locate('PBID',Trim(ADOTemp.fieldbyname('PBID').AsString),[]) then + Order_SubQ.Delete; + end; + end; + ADOTemp.Next; + end; + end; + with ADOCMD do + begin + Close; + SQL.Clear; + sql.Add(' delete WFBYCL_PB where not exists(select * from WFBYCL_PBSub A where A.PBId=WFBYCL_PB.PBID )'); + SQL.Add(' and MainId='''+Trim(FMainId)+''''); + ExecSQL; + end; + + end else + begin + with ADOCmd do + begin + close; + sql.Clear; + sql.Add('delete WFBOrder_Sub where SubID='''+Trim(CDS_Sub.fieldbyname('SubID').AsString)+''''); + ExecSQL; + end; + end; + end; + CDS_Sub.Delete; + //YLUpdate(); + if CDS_Sub.isempty=False then + OrdQty.Text:=floattostr(TvSub.DataController.Summary.FooterSummaryValues[0]); + YLUpdate(); +end; + +procedure TfrmOrderInPutNew.cxGridDBColumn3PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WFBColor'; + flagname:='ɫ'; + if ShowModal=1 then + begin + with Self.CDS_Sub do + begin + Edit; + FieldByName('SWFBColor').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + //Post; + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutNew.vSubColumn2PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WFBHX'; + flagname:=''; + if ShowModal=1 then + begin + with Self.CDS_Sub do + begin + Edit; + FieldByName('SWFBHW').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + //Post; + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutNew.cxGridDBColumn2PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,YLSH,DHSL,YLQty,YLPB,YLSHQ:Double; + FOrdQty,FKZ:String; +begin + FKZ:=TcxTextEdit(Sender).EditingText; + with CDS_Sub do + begin + Edit; + if Trim(FKZ)='' then + FieldByName('SWFBKZ').Value:='0' + else + FieldByName('SWFBKZ').Value:=FKZ; + Post; + end; + YLUpdate(); +end; + +procedure TfrmOrderInPutNew.TvSubColumn1PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,YLSH,DHSL,YLQty,YLPB,YLSHQ:Double; + FOrdQty,FKZ:String; +begin + FOrdQty:=TcxTextEdit(Sender).EditingText; + with CDS_Sub do + begin + Edit; + if Trim(FOrdQty)='' then + FieldByName('SOrdQty').Value:='0' + else + FieldByName('SOrdQty').Value:=FOrdQty; + Post; + end; + OrdQty.Text:=floattostr(TvSub.DataController.Summary.FooterSummaryValues[0]); + YLUpdate(); +end; + +procedure TfrmOrderInPutNew.Panel10MouseMove(Sender: TObject; + Shift: TShiftState; X, Y: Integer); +begin + ReleaseCapture; + TWinControl(Panel1).perform(WM_SYSCOMMAND, $F012, 0); +end; + +procedure TfrmOrderInPutNew.Image2Click(Sender: TObject); +begin + Panel1.Visible:=False; +end; + +procedure TfrmOrderInPutNew.Button3Click(Sender: TObject); +begin + Panel1.Visible:=False; +end; + +procedure TfrmOrderInPutNew.Button2Click(Sender: TObject); +begin + if CDS_Sel.Locate('ssel',True,[])=False then + begin + Application.MessageBox('ûѡݣ','ʾ',0); + Exit; + end; + if MInt=1 then + begin + SELYCLKC(Order_SubZ); + end else + if MInt=2 then + begin + SELYCLKC(Order_SubF); + end else + if MInt=3 then + begin + SELYCLKC(Order_SubQ); + end; + Panel1.Visible:=False; +end; + +procedure TfrmOrderInPutNew.FormClose(Sender: TObject; + var Action: TCloseAction); +var + maxno,FFS:string; + wz:Integer; +begin + WriteCxBandedGrid('',Tv1,'޷IJ'); + WriteCxBandedGrid('ϸ',Tv2,'޷IJ'); + WriteCxBandedGrid('',Tv3,'޷IJ'); + WriteCxGrid('ӱ',TvSub,'޷IJ'); + WriteCxGrid('',TVDB,'޷IJ'); + { if CopyInt=1 then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFBOrder_Main where MainId='''+Trim(FMainId)+''''); + sql.Add('delete WFBOrder_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add('delete WFB_DB where MainId='''+Trim(FMainId)+''''); + sql.Add('delete WFBYCL_PB where MainId='''+Trim(FMainId)+''''); + sql.Add('delete WFBYCL_PBSub where MainId='''+Trim(FMainId)+''''); + ExecSQL; + end; + end; + wz:=Pos('F',FMainId); + FFS:=Copy(FMainId,wz,4); + if ((CopyInt=1) or (FFS='FZ')) then + begin + UpMainId(); + end;} +end; +procedure TfrmOrderInPutNew.UpMainId(); +var + maxno:string; +begin + try + ADOCmd.Connection.BeginTrans; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PBSub where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + if GetLSNo(ADOCmd,maxno,'PS','WFBYCL_PBSub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBYCL_PBSub Set PSID='''+Trim(maxno)+''''); + SQL.Add(' where PSID='''+Trim(ADOTemp.fieldbyname('PSID').AsString)+''''); + ExecSQL; + end; + Next; + end; + end; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PB where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + if GetLSNo(ADOCmd,maxno,'PB','WFBYCL_PB',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBYCL_PB Set PBID='''+Trim(maxno)+''''); + SQL.Add(' where PBID='''+Trim(ADOTemp.fieldbyname('PBID').AsString)+''''); + sql.Add('UPdate WFBYCL_PBSub Set PBID='''+Trim(maxno)+''''); + SQL.Add(' where PBID='''+Trim(ADOTemp.fieldbyname('PBID').AsString)+''''); + ExecSQL; + end; + Next; + end; + end; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBOrder_Sub where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + if GetLSNo(ADOCmd,maxno,'','WFBOrder_Sub',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Sub Set SubID='''+Trim(maxno)+''''); + SQL.Add(' where SubID='''+Trim(ADOTemp.fieldbyname('SubID').AsString)+''''); + sql.Add('UPdate WFBYCL_PBSub Set SubID='''+Trim(maxno)+''''); + SQL.Add(' where SubID='''+Trim(ADOTemp.fieldbyname('SubID').AsString)+''''); + ExecSQL; + end; + Next; + end; + end; + if GetLSNo(ADOCmd,maxno,'','WFBOrder_Main',2,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Main Set MainID='''+Trim(maxno)+''''); + SQL.Add(' where MainID='''+Trim(FMainId)+''''); + sql.Add('Update WFBOrder_Sub Set MainID='''+Trim(maxno)+''''); + SQL.Add(' where MainID='''+Trim(FMainId)+''''); + sql.Add('Update WFB_DB Set MainID='''+Trim(maxno)+''''); + SQL.Add(' where MainID='''+Trim(FMainId)+''''); + sql.Add('UPdate WFBYCL_PB Set MainID='''+Trim(maxno)+''''); + SQL.Add(' where MainID='''+Trim(FMainId)+''''); + sql.Add('UPdate WFBYCL_PBSub Set MainID='''+Trim(maxno)+''''); + SQL.Add(' where MainID='''+Trim(FMainId)+''''); + ExecSQL; + end; + FMainId:=Trim(maxno); + ADOCmd.Connection.CommitTrans; + except + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ˮʧܣ','ʾ',0); + end; +end; +procedure TfrmOrderInPutNew.vSubColumn4PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim(WFBCodeName.Name); + flagname:=''; + if ShowModal=1 then + begin + CDS_Sub.Edit; + CDS_Sub.FieldByName('SWFBCodeName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + CDS_Sub.FieldByName('SWFBCode').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1* from WFBOrder_Sub where SWFBCode='''+Trim(CDS_Sub.fieldbyname('SWFBCode').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty then Exit; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1* from WFBOrder_Sub where SWFBCode='''+Trim(CDS_Sub.fieldbyname('SWFBCode').AsString)+''''); + sql.Add(' order by SFillTIme Desc'); + Open; + end; + with CDS_Sub do + begin + Edit; + FieldByName('SWFBColor').Value:=ADOTemp.fieldbyname('SWFBColor').Value; + FieldByName('SWFBHW').Value:=ADOTemp.fieldbyname('SWFBHW').Value; + FieldByName('SWFBKZ').Value:=ADOTemp.fieldbyname('SWFBKZ').Value; + FieldByName('SWFBFK').Value:=ADOTemp.fieldbyname('SWFBFK').Value; + FieldByName('SOrdPrice').Value:=ADOTemp.fieldbyname('SOrdPrice').Value; + FieldByName('WKMS').Value:=ADOTemp.fieldbyname('WKMS').Value; + FieldByName('KZSmal').Value:=ADOTemp.fieldbyname('KZSmal').Value; + FieldByName('KZBig').Value:=ADOTemp.fieldbyname('KZBig').Value; + //Post; + end; +end; + +procedure TfrmOrderInPutNew.MenuItem3Click(Sender: TObject); +begin + CDS_Sel.DisableControls; + with CDS_Sel do + begin + First; + while not Eof do + begin + Edit; + FieldByName('SSel').Value:=True; + Post; + Next; + end; + end; + CDS_Sel.EnableControls; +end; + +procedure TfrmOrderInPutNew.MenuItem4Click(Sender: TObject); +begin + CDS_Sel.DisableControls; + with CDS_Sel do + begin + First; + while not Eof do + begin + Edit; + FieldByName('SSel').Value:=False; + Post; + Next; + end; + end; + CDS_Sel.EnableControls; +end; + +procedure TfrmOrderInPutNew.vSubColumn5PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WKMS'); + flagname:='Ŀ'; + if ShowModal=1 then + begin + Self.CDS_Sub.Edit; + CDS_Sub.FieldByName('WKMS').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutNew.BZPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('JJDW'); + flagname:='Ƽ۵λ'; + if ShowModal=1 then + begin + Self.FXS:=99; + BZ.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + // BZ.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutNew.BZPropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(BZ,'JJDW'); +end; + +procedure TfrmOrderInPutNew.TBChkOkClick(Sender: TObject); +begin + ChkInt:=1; + TBSave.Click; +end; + +procedure TfrmOrderInPutNew.TBChkNoClick(Sender: TObject); +begin + ChkInt:=2; + TBSave.Click; +end; + +procedure TfrmOrderInPutNew.Button4Click(Sender: TObject); +begin + if CDS_Sub.IsEmpty then exit; + if( (Order_SubZ.IsEmpty) and (Order_SubF.IsEmpty) and (Order_SubQ.IsEmpty) )then Exit; + if Trim(OrderNo.Text)='' then + begin + Application.MessageBox('ŲΪգ','ʾ',0); + Exit; + end; + SaveData10(); + if CDS_Sub.Locate('SSel',True,[])=False then + begin + Application.MessageBox('굥δѡݣܸ£','ʾ',0); + Exit; + end; + if Order_SubZ.Locate('SSel',True,[])=False then + begin + if Order_SubF.Locate('SSel',True,[])=False then + if Order_SubZ.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ԭϱδѡݣܸ£','ʾ',0); + Exit; + end; + end; + try + ADOCMD.Connection.BeginTrans; + YCLPBIDUPdate(Order_SubZ); + YCLPBIDUPdate(Order_SubF); + YCLPBIDUPdate(Order_SubQ); + ADOCMD.Connection.CommitTrans; + YLUpdate(); + Application.MessageBox('³ɹ','ʾ',0); + Exit; + except + ADOCMD.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; +procedure TfrmOrderInPutNew.YCLPBIDUPdate(SOrder_SubZ:TClientDataSet); +var + maxno:String; +begin + with CDS_Sub do + begin + First; + while not Eof do + begin + if CDS_Sub.FieldByName('SSel').AsBoolean=True then + begin + with SOrder_SubZ do + begin + First; + while not Eof do + begin + if SOrder_SubZ.FieldByName('SSel').AsBoolean=True then + begin + with ADOCMD do + begin + Close; + sql.Clear; + sql.Add('delete WFBYCL_PBSub where SubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+''''); + sql.Add(' and PBID='''+Trim(SOrder_SubZ.fieldbyname('PBID').AsString)+''''); + ExecSQL; + end; + if GetLSNo(ADOCMD,maxno,'PS','WFBYCL_PBSub',4,1)=False then + begin + ADOCMD.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOCMD do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_PBSub where 1<>1'); + Open; + end; + with ADOCMD do + begin + Append; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(CDS_Sub.fieldbyname('SubId').AsString); + FieldByName('PBID').Value:=Trim(SOrder_SubZ.fieldbyname('PBID').AsString); + FieldByName('PSID').Value:=Trim(maxno); + Post; + end; + end; + Next; + end; + end; + end; + Next; + end; + end; +end; + +procedure TfrmOrderInPutNew.N3Click(Sender: TObject); +begin + SelAll(CDS_Sub,True); +end; +procedure TfrmOrderInPutNew.SelAll(SCDS_Sub:TClientDataSet;FSEL:Boolean); +begin + if SCDS_Sub.IsEmpty then exit; + with SCDS_Sub do + begin + First; + while not eof do + begin + Edit; + FieldByName('SSel').Value:=FSEL; + post; + Next; + end; + end; +end; + +procedure TfrmOrderInPutNew.N4Click(Sender: TObject); +begin + SelAll(CDS_Sub,False); +end; + +procedure TfrmOrderInPutNew.MenuItem7Click(Sender: TObject); +begin + if MInt=1 then + begin + SelAll(Order_SubZ,True); + end else + if MInt=2 then + begin + SelAll(Order_SubF,True); + end else + if MInt=3 then + begin + SelAll(Order_SubQ,True); + end; +end; + +procedure TfrmOrderInPutNew.MenuItem8Click(Sender: TObject); +begin + if MInt=1 then + begin + SelAll(Order_SubZ,False); + end else + if MInt=2 then + begin + SelAll(Order_SubF,False); + end else + if MInt=3 then + begin + SelAll(Order_SubQ,False); + end; +end; + +end. diff --git a/打卷检验管理/U_OrderInPutZP.dfm b/打卷检验管理/U_OrderInPutZP.dfm new file mode 100644 index 0000000..2fa390e --- /dev/null +++ b/打卷检验管理/U_OrderInPutZP.dfm @@ -0,0 +1,1788 @@ +object frmOrderInPutZP: TfrmOrderInPutZP + Left = 28 + Top = 34 + Width = 1192 + Height = 705 + Caption = #25351#31034#21333#24405#20837'('#21046#21697')' + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1184 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBOrder.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = TBSaveClick + end + object TBClose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object ScrollBox1: TScrollBox + Left = 0 + Top = 29 + Width = 1184 + Height = 320 + Align = alTop + BevelInner = bvNone + BevelOuter = bvNone + Color = clBtnFace + Ctl3D = False + ParentColor = False + ParentCtl3D = False + TabOrder = 1 + object Label1: TLabel + Left = 24 + Top = 15 + Width = 65 + Height = 12 + Caption = #35746#21333#32534#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 248 + Top = 15 + Width = 39 + Height = 12 + Caption = #20195#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 883 + Top = 15 + Width = 65 + Height = 12 + Caption = #19979#21333#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 919 + Top = 184 + Width = 52 + Height = 12 + Caption = #29983#20135#32447#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 919 + Top = 248 + Width = 52 + Height = 12 + Caption = #32593#32467#26500#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 24 + Top = 172 + Width = 15 + Height = 98 + Caption = #27880#13#10#13#10#24847#13#10#13#10#20107#13#10#13#10#39033 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 467 + Top = 15 + Width = 39 + Height = 12 + Caption = #23458#25143#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 677 + Top = 15 + Width = 52 + Height = 12 + Caption = #21040#36798#28207#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 936 + Top = 83 + Width = 39 + Height = 12 + Caption = #33457#32441#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label14: TLabel + Left = 461 + Top = 43 + Width = 53 + Height = 12 + Caption = #24133' '#23485#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label15: TLabel + Left = 609 + Top = 39 + Width = 18 + Height = 15 + Caption = 'cm' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label16: TLabel + Left = 24 + Top = 43 + Width = 65 + Height = 12 + Caption = #21512#35745#25968#37327#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label17: TLabel + Left = 777 + Top = 81 + Width = 39 + Height = 12 + Caption = #21333#20215#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label19: TLabel + Left = 24 + Top = 100 + Width = 1068 + Height = 12 + Caption = + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - ' + Font.Charset = GB2312_CHARSET + Font.Color = clFuchsia + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label20: TLabel + Left = 23 + Top = 148 + Width = 1068 + Height = 12 + Caption = + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - ' + Font.Charset = GB2312_CHARSET + Font.Color = clFuchsia + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label21: TLabel + Left = 25 + Top = 120 + Width = 34 + Height = 12 + Caption = 'ETA'#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label22: TLabel + Left = 257 + Top = 122 + Width = 34 + Height = 12 + Caption = 'ETD'#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label23: TLabel + Left = 491 + Top = 121 + Width = 39 + Height = 12 + Caption = #35013#26588#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label24: TLabel + Left = 679 + Top = 120 + Width = 53 + Height = 12 + Caption = #20837' '#24211#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label25: TLabel + Left = 934 + Top = 121 + Width = 39 + Height = 12 + Caption = #29983#20135#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label26: TLabel + Left = 221 + Top = 120 + Width = 13 + Height = 15 + Caption = #22825 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label27: TLabel + Left = 165 + Top = 120 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label28: TLabel + Left = 238 + Top = 120 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label29: TLabel + Left = 455 + Top = 120 + Width = 13 + Height = 15 + Caption = #22825 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label30: TLabel + Left = 400 + Top = 120 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label31: TLabel + Left = 472 + Top = 120 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 904 + Top = 120 + Width = 13 + Height = 15 + Caption = #22825 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label32: TLabel + Left = 849 + Top = 120 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label33: TLabel + Left = 918 + Top = 120 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label34: TLabel + Left = 679 + Top = 185 + Width = 91 + Height = 12 + Caption = #27597#21367#20811#37325#33539#22260#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label35: TLabel + Left = 866 + Top = 184 + Width = 23 + Height = 15 + Caption = 'g/'#13217 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label36: TLabel + Left = 810 + Top = 184 + Width = 14 + Height = 12 + Caption = '--' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label37: TLabel + Left = 679 + Top = 249 + Width = 91 + Height = 12 + Caption = #23567#21367#20811#37325#33539#22260#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label38: TLabel + Left = 866 + Top = 248 + Width = 23 + Height = 15 + Caption = 'g/'#13217 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label39: TLabel + Left = 810 + Top = 248 + Width = 14 + Height = 12 + Caption = '--' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 23 + Top = 281 + Width = 1068 + Height = 12 + Caption = + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - ' + Font.Charset = GB2312_CHARSET + Font.Color = clFuchsia + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label7: TLabel + Left = 431 + Top = 172 + Width = 15 + Height = 98 + Caption = #25171#13#10#13#10#21253#13#10#13#10#35814#13#10#13#10#32454 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label40: TLabel + Left = 24 + Top = 81 + Width = 65 + Height = 12 + Caption = #35746#36135#25968#37327#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label41: TLabel + Left = 204 + Top = 77 + Width = 11 + Height = 20 + Caption = '*' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label42: TLabel + Left = 332 + Top = 77 + Width = 11 + Height = 20 + Caption = '*' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label43: TLabel + Left = 473 + Top = 81 + Width = 53 + Height = 12 + Caption = #24133' '#23485#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label44: TLabel + Left = 560 + Top = 77 + Width = 11 + Height = 20 + Caption = '*' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label45: TLabel + Left = 611 + Top = 79 + Width = 18 + Height = 15 + Caption = 'cm' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 642 + Top = 81 + Width = 39 + Height = 12 + Caption = #20811#37325#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 736 + Top = 78 + Width = 23 + Height = 15 + Caption = 'g/'#13217 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label46: TLabel + Left = 23 + Top = 63 + Width = 1068 + Height = 12 + Caption = + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - ' + Font.Charset = GB2312_CHARSET + Font.Color = clFuchsia + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object OrderNo: TEdit + Left = 86 + Top = 13 + Width = 115 + Height = 18 + TabOrder = 0 + end + object OrderDate: TDateTimePicker + Left = 947 + Top = 11 + Width = 125 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + TabOrder = 1 + end + object WFBCodeName: TcxButtonEdit + Left = 292 + Top = 11 + ParentShowHint = False + Properties.BeepOnError = True + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = WFBCodeNamePropertiesButtonClick + Properties.OnChange = WFBCodeNamePropertiesChange + ShowHint = False + TabOrder = 2 + OnKeyDown = WFBCodeNameKeyDown + Width = 132 + end + object SCXName: TcxButtonEdit + Left = 972 + Top = 180 + Hint = 'FactoryNo1' + BeepOnEnter = False + ParentShowHint = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = SCXNamePropertiesButtonClick + Properties.OnChange = SCXNamePropertiesChange + ShowHint = False + TabOrder = 3 + OnKeyDown = WFBCodeNameKeyDown + Width = 100 + end + object WJGName: TcxButtonEdit + Left = 972 + Top = 243 + Hint = 'FactoryNo2' + BeepOnEnter = False + ParentShowHint = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = WJGNamePropertiesButtonClick + Properties.OnChange = WJGNamePropertiesChange + ShowHint = False + TabOrder = 4 + OnKeyDown = WFBCodeNameKeyDown + Width = 100 + end + object CustomNoName: TcxButtonEdit + Left = 505 + Top = 11 + Hint = 'CustomerNo' + BeepOnEnter = False + ParentShowHint = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = CustomNoNamePropertiesButtonClick + Properties.OnChange = CustomNoNamePropertiesChange + ShowHint = False + TabOrder = 5 + OnKeyDown = WFBCodeNameKeyDown + Width = 129 + end + object Note: TRichEdit + Left = 43 + Top = 168 + Width = 366 + Height = 113 + TabOrder = 6 + end + object ArrivalPortName: TcxButtonEdit + Left = 726 + Top = 11 + BeepOnEnter = False + ParentShowHint = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = ArrivalPortNamePropertiesButtonClick + Properties.OnChange = ArrivalPortNamePropertiesChange + ShowHint = False + TabOrder = 7 + OnKeyDown = WFBCodeNameKeyDown + Width = 117 + end + object WFBHW: TEdit + Left = 972 + Top = 80 + Width = 98 + Height = 18 + TabOrder = 8 + end + object WFBFK: TEdit + Left = 510 + Top = 40 + Width = 92 + Height = 18 + TabOrder = 9 + Visible = False + OnKeyPress = OrdQtyKeyPress + end + object OrdQty: TEdit + Left = 86 + Top = 40 + Width = 62 + Height = 18 + Enabled = False + TabOrder = 10 + OnChange = OrdQtyChange + OnKeyPress = OrdQtyKeyPress + end + object OrdUnit: TComboBox + Left = 149 + Top = 40 + Width = 53 + Height = 20 + Style = csDropDownList + Ctl3D = False + Enabled = False + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ItemHeight = 12 + ParentCtl3D = False + ParentFont = False + TabOrder = 11 + OnChange = OrdQtyChange + Items.Strings = ( + #13199 + #13217) + end + object OrdPrice: TEdit + Left = 815 + Top = 78 + Width = 53 + Height = 18 + TabOrder = 12 + OnKeyPress = OrdQtyKeyPress + end + object ETADate: TDateTimePicker + Left = 57 + Top = 117 + Width = 104 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + TabOrder = 13 + OnChange = ETADateChange + end + object ETDDate: TDateTimePicker + Left = 291 + Top = 117 + Width = 104 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 14 + end + object ZGDate: TDateTimePicker + Left = 527 + Top = 117 + Width = 104 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 15 + end + object BegRKDate: TDateTimePicker + Left = 730 + Top = 117 + Width = 115 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + TabOrder = 16 + OnChange = BegRKDateChange + end + object BegSCDate: TDateTimePicker + Left = 968 + Top = 117 + Width = 104 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 17 + end + object Day1: TEdit + Left = 184 + Top = 119 + Width = 35 + Height = 18 + TabOrder = 18 + OnChange = Day1Change + OnKeyPress = OrdQtyKeyPress + end + object Day2: TEdit + Left = 418 + Top = 119 + Width = 35 + Height = 18 + TabOrder = 19 + OnChange = Day2Change + OnKeyPress = OrdQtyKeyPress + end + object Day3: TEdit + Left = 867 + Top = 119 + Width = 35 + Height = 18 + TabOrder = 20 + OnChange = Day3Change + OnKeyPress = OrdQtyKeyPress + end + object MJKZX: TEdit + Left = 769 + Top = 182 + Width = 39 + Height = 18 + TabOrder = 21 + OnKeyPress = OrdQtyKeyPress + end + object MJKZD: TEdit + Left = 825 + Top = 182 + Width = 39 + Height = 18 + TabOrder = 22 + OnKeyPress = OrdQtyKeyPress + end + object XJKZX: TEdit + Left = 769 + Top = 246 + Width = 39 + Height = 18 + TabOrder = 23 + OnKeyPress = OrdQtyKeyPress + end + object XJKZD: TEdit + Left = 825 + Top = 246 + Width = 39 + Height = 18 + TabOrder = 24 + OnKeyPress = OrdQtyKeyPress + end + object cxGrid4: TcxGrid + Left = 454 + Top = 168 + Width = 213 + Height = 113 + PopupMenu = PopupMenu1 + TabOrder = 25 + object TVDB: TcxGridDBTableView + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TVZDYCellDblClick + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + object cxGridDBColumn1: TcxGridDBColumn + Caption = #21253#25968#37327 + DataBinding.FieldName = 'BSL' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.handBlack + Width = 61 + end + object VDBColumn1: TcxGridDBColumn + Caption = #21367#25968#37327 + DataBinding.FieldName = 'JSL' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 65 + end + object VDBColumn2: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'DBUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 78 + end + end + object cxGridLevel3: TcxGridLevel + GridView = TVDB + end + end + object WFBBZQty1: TEdit + Left = 86 + Top = 78 + Width = 62 + Height = 18 + TabOrder = 26 + OnChange = WFBBZQty1Change + OnKeyPress = OrdQtyKeyPress + end + object WFBBZUnit1: TcxButtonEdit + Left = 150 + Top = 77 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = WFBBZUnit1PropertiesButtonClick + Properties.OnChange = WFBBZUnit1PropertiesChange + TabOrder = 27 + OnKeyDown = WFBCodeNameKeyDown + Width = 52 + end + object WFBBZQty2: TEdit + Left = 217 + Top = 78 + Width = 62 + Height = 18 + TabOrder = 28 + OnChange = WFBBZQty1Change + OnKeyPress = OrdQtyKeyPress + end + object WFBBZUnit2: TcxButtonEdit + Left = 281 + Top = 77 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = WFBBZUnit2PropertiesButtonClick + Properties.OnChange = WFBBZUnit2PropertiesChange + TabOrder = 29 + OnKeyDown = WFBCodeNameKeyDown + Width = 52 + end + object WFBBZQty3: TEdit + Left = 345 + Top = 78 + Width = 62 + Height = 18 + TabOrder = 30 + OnChange = WFBBZQty1Change + OnKeyPress = OrdQtyKeyPress + end + object WFBBZUnit3: TcxButtonEdit + Left = 409 + Top = 77 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = WFBBZUnit3PropertiesButtonClick + Properties.OnChange = WFBBZUnit3PropertiesChange + TabOrder = 31 + OnKeyDown = WFBCodeNameKeyDown + Width = 52 + end + object WFBFK2: TEdit + Left = 573 + Top = 78 + Width = 36 + Height = 18 + TabOrder = 32 + OnChange = WFBBZQty1Change + OnKeyPress = OrdQtyKeyPress + end + object WFBFK1: TEdit + Left = 525 + Top = 78 + Width = 36 + Height = 18 + TabOrder = 33 + OnChange = WFBBZQty1Change + OnKeyPress = OrdQtyKeyPress + end + object WFBKZ: TEdit + Left = 680 + Top = 78 + Width = 55 + Height = 18 + TabOrder = 34 + OnChange = WFBBZQty1Change + OnKeyPress = OrdQtyKeyPress + end + object BZ: TcxButtonEdit + Left = 869 + Top = 77 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = BZPropertiesButtonClick + Properties.OnChange = BZPropertiesChange + TabOrder = 35 + OnKeyDown = WFBCodeNameKeyDown + Width = 52 + end + object PanZDY: TPanel + Left = 707 + Top = 104 + Width = 151 + Height = 153 + TabOrder = 36 + Visible = False + object CXGridZDY: TcxGrid + Left = 3 + Top = 4 + Width = 142 + Height = 113 + TabOrder = 0 + object TVZDY: TcxGridDBTableView + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TVZDYCellDblClick + DataController.DataSource = DataSource2 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + object VHelpZDYName: TcxGridDBColumn + DataBinding.FieldName = 'ZDYName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.handBlack + Width = 129 + IsCaptionAssigned = True + end + end + object CXGridZDYLevel1: TcxGridLevel + GridView = TVZDY + end + end + object Button1: TButton + Left = 40 + Top = 120 + Width = 65 + Height = 25 + Caption = #20851#38381 + TabOrder = 1 + OnClick = Button1Click + end + end + end + object ScrollBox2: TScrollBox + Left = 0 + Top = 349 + Width = 1184 + Height = 319 + Align = alClient + BevelInner = bvNone + BevelOuter = bvNone + Ctl3D = False + ParentCtl3D = False + TabOrder = 2 + object cxGrid3: TcxGrid + Left = 809 + Top = 31 + Width = 366 + Height = 286 + Align = alLeft + TabOrder = 0 + object Tv3: TcxGridDBBandedTableView + OnMouseDown = Tv3MouseDown + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSourceQ + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'YCLCode' + Column = v3Column1 + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Bands = < + item + Caption = #20854#23427 + Styles.Header = DataLink_WFBOrder.TextSHuangSe + Width = 400 + end> + object v3Column1: TcxGridDBBandedColumn + Caption = #29289#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v3Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 55 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object v3Column2: TcxGridDBBandedColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 44 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object v3Column3: TcxGridDBBandedColumn + Caption = #24211#23384 + DataBinding.FieldName = 'YLKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 48 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object v3Column4: TcxGridDBBandedColumn + Caption = #29992#37327 + DataBinding.FieldName = 'YLQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v3Column4PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 53 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object v3Column5: TcxGridDBBandedColumn + Caption = #21333#20301 + DataBinding.FieldName = 'YLUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 40 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object v3Column6: TcxGridDBBandedColumn + Caption = #30003#36141#25968#37327 + DataBinding.FieldName = 'SGQty' + HeaderAlignmentHorz = taCenter + Width = 66 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object v3Column7: TcxGridDBBandedColumn + Caption = #21069#21333#24211#23384 + DataBinding.FieldName = 'YCLYJKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 53 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object v3Column8: TcxGridDBBandedColumn + Tag = 2 + Caption = #19981#36275 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 34 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv3 + end + end + object cxGrid2: TcxGrid + Left = 425 + Top = 31 + Width = 384 + Height = 286 + Align = alLeft + TabOrder = 1 + object Tv2: TcxGridDBBandedTableView + OnMouseDown = Tv2MouseDown + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSourceF + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'YCLCode' + Column = v2Column1 + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Bands = < + item + Caption = #36741#21161#21407#26009 + Styles.Header = DataLink_WFBOrder.FonePurple + Width = 428 + end> + object v2Column1: TcxGridDBBandedColumn + Caption = #21407#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v2Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 68 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object v2Column2: TcxGridDBBandedColumn + Caption = #32791#29575#8240 + DataBinding.FieldName = 'YLSHQ' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v2Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 41 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object v2Column3: TcxGridDBBandedColumn + Caption = #29992#37327'KG' + DataBinding.FieldName = 'YLQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 42 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object v2Column4: TcxGridDBBandedColumn + Caption = #24211#23384 + DataBinding.FieldName = 'YLKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 40 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object v2Column5: TcxGridDBBandedColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 60 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object v2Column6: TcxGridDBBandedColumn + Caption = #30003#36141#25968#37327 + DataBinding.FieldName = 'SGQty' + HeaderAlignmentHorz = taCenter + Width = 74 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object v2Column7: TcxGridDBBandedColumn + Caption = #21069#21333#24211#23384 + DataBinding.FieldName = 'YCLYJKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 58 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object v2Column8: TcxGridDBBandedColumn + Tag = 2 + Caption = #19981#36275 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Width = 34 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 31 + Width = 425 + Height = 286 + Align = alLeft + TabOrder = 2 + object Tv1: TcxGridDBBandedTableView + OnMouseDown = Tv1MouseDown + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSourceZ + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'YCLCode' + Column = v1Column1 + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Bands = < + item + Caption = #20027#35201#21407#26009 + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 487 + end> + object v1Column1: TcxGridDBBandedColumn + Caption = #21407#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v1Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 69 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object v1Column2: TcxGridDBBandedColumn + Caption = #37197#27604'%' + DataBinding.FieldName = 'YLPB' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 37 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object v1Column3: TcxGridDBBandedColumn + Caption = #25439#32791'%' + DataBinding.FieldName = 'YLSH' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column3PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 39 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object v1Column4: TcxGridDBBandedColumn + Caption = #29992#37327'KG' + DataBinding.FieldName = 'YLQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 41 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object v1Column5: TcxGridDBBandedColumn + Caption = #24211#23384 + DataBinding.FieldName = 'YLKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 41 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object v1Column6: TcxGridDBBandedColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 54 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object v1Column7: TcxGridDBBandedColumn + Caption = #30003#36141#25968#37327 + DataBinding.FieldName = 'SGQty' + HeaderAlignmentHorz = taCenter + Width = 64 + Position.BandIndex = 0 + Position.ColIndex = 8 + Position.RowIndex = 0 + end + object v1Column8: TcxGridDBBandedColumn + Caption = #21069#21333#24211#23384 + DataBinding.FieldName = 'YCLYJKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 55 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object v1Column9: TcxGridDBBandedColumn + Tag = 2 + Caption = #19981#36275 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Content = DataLink_WFBOrder.FoneRed + Width = 37 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 0 + Width = 1182 + Height = 31 + ButtonHeight = 30 + ButtonWidth = 95 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBOrder.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 3 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton2Click + end + object TBPrint: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #25171#21360#35831#36141#21333 + ImageIndex = 96 + OnClick = TBPrintClick + end + end + end + object ADOTemp: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 968 + Top = 325 + end + object ADOCmd: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + Parameters = <> + Left = 744 + Top = 309 + end + object DataSourceZ: TDataSource + DataSet = Order_SubZ + Left = 296 + Top = 440 + end + object Order_SubZ: TClientDataSet + Aggregates = <> + Params = <> + Left = 256 + Top = 440 + end + object DataSource2: TDataSource + DataSet = ADOZDY + Left = 760 + Top = 8 + end + object ADOZDY: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 728 + Top = 5 + end + object CDS_ZDY: TClientDataSet + Aggregates = <> + Params = <> + Left = 800 + Top = 8 + end + object ADOQuery1: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + Parameters = <> + Left = 784 + Top = 309 + end + object PopupMenu1: TPopupMenu + Left = 328 + Top = 229 + object N1: TMenuItem + Caption = #22686#34892 + OnClick = N1Click + end + object N2: TMenuItem + Caption = #21024#34892 + OnClick = N2Click + end + end + object DataSource3: TDataSource + DataSet = CDS_DB + Left = 352 + Top = 200 + end + object CDS_DB: TClientDataSet + Aggregates = <> + Params = <> + Left = 304 + Top = 240 + end + object Order_SubF: TClientDataSet + Aggregates = <> + Params = <> + Left = 456 + Top = 440 + end + object DataSourceF: TDataSource + DataSet = Order_SubF + Left = 488 + Top = 440 + end + object Order_SubQ: TClientDataSet + Aggregates = <> + Params = <> + Left = 800 + Top = 448 + end + object DataSourceQ: TDataSource + DataSet = Order_SubQ + Left = 832 + Top = 448 + end + object ADOQueryQG: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 224 + Top = 309 + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = ADOQueryQG + Left = 288 + Top = 312 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 320 + Top = 312 + ReportData = {} + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 256 + Top = 312 + end +end diff --git a/打卷检验管理/U_OrderInPutZP.pas b/打卷检验管理/U_OrderInPutZP.pas new file mode 100644 index 0000000..1a467d6 --- /dev/null +++ b/打卷检验管理/U_OrderInPutZP.pas @@ -0,0 +1,1849 @@ +unit U_OrderInPutZP; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxClasses, cxControls, + cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, + cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, + ExtCtrls, BtnEdit, cxCalendar, cxGridBandedTableView, + cxGridDBBandedTableView, Menus, RM_Common, RM_Class, RM_e_Xls, + RM_GridReport, RM_System, RM_Dataset; + +type + TfrmOrderInPutZP = class(TForm) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ScrollBox1: TScrollBox; + Label1: TLabel; + Label2: TLabel; + Label3: TLabel; + OrderNo: TEdit; + OrderDate: TDateTimePicker; + Label5: TLabel; + Label6: TLabel; + Label8: TLabel; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + DataSourceZ: TDataSource; + Order_SubZ: TClientDataSet; + DataSource2: TDataSource; + ADOZDY: TADOQuery; + CDS_ZDY: TClientDataSet; + WFBCodeName: TcxButtonEdit; + SCXName: TcxButtonEdit; + WJGName: TcxButtonEdit; + ADOQuery1: TADOQuery; + Label12: TLabel; + CustomNoName: TcxButtonEdit; + Note: TRichEdit; + Label13: TLabel; + ArrivalPortName: TcxButtonEdit; + Label10: TLabel; + WFBHW: TEdit; + Label14: TLabel; + WFBFK: TEdit; + Label15: TLabel; + Label16: TLabel; + OrdQty: TEdit; + OrdUnit: TComboBox; + Label17: TLabel; + OrdPrice: TEdit; + Label19: TLabel; + Label20: TLabel; + Label21: TLabel; + ETADate: TDateTimePicker; + Label22: TLabel; + ETDDate: TDateTimePicker; + Label23: TLabel; + ZGDate: TDateTimePicker; + Label24: TLabel; + BegRKDate: TDateTimePicker; + Label25: TLabel; + BegSCDate: TDateTimePicker; + Day1: TEdit; + Label26: TLabel; + Label27: TLabel; + Label28: TLabel; + Day2: TEdit; + Label29: TLabel; + Label30: TLabel; + Label31: TLabel; + Day3: TEdit; + Label18: TLabel; + Label32: TLabel; + Label33: TLabel; + Label34: TLabel; + MJKZX: TEdit; + Label35: TLabel; + Label36: TLabel; + MJKZD: TEdit; + Label37: TLabel; + XJKZX: TEdit; + Label38: TLabel; + Label39: TLabel; + XJKZD: TEdit; + Label4: TLabel; + Label7: TLabel; + cxGrid4: TcxGrid; + TVDB: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridLevel3: TcxGridLevel; + VDBColumn1: TcxGridDBColumn; + VDBColumn2: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N1: TMenuItem; + N2: TMenuItem; + DataSource3: TDataSource; + CDS_DB: TClientDataSet; + Order_SubF: TClientDataSet; + DataSourceF: TDataSource; + Order_SubQ: TClientDataSet; + DataSourceQ: TDataSource; + ScrollBox2: TScrollBox; + cxGrid3: TcxGrid; + Tv3: TcxGridDBBandedTableView; + v3Column1: TcxGridDBBandedColumn; + v3Column2: TcxGridDBBandedColumn; + v3Column3: TcxGridDBBandedColumn; + v3Column4: TcxGridDBBandedColumn; + v3Column5: TcxGridDBBandedColumn; + cxGridLevel2: TcxGridLevel; + cxGrid2: TcxGrid; + Tv2: TcxGridDBBandedTableView; + v2Column1: TcxGridDBBandedColumn; + v2Column2: TcxGridDBBandedColumn; + v2Column3: TcxGridDBBandedColumn; + v2Column4: TcxGridDBBandedColumn; + v2Column5: TcxGridDBBandedColumn; + cxGridLevel1: TcxGridLevel; + cxGrid1: TcxGrid; + Tv1: TcxGridDBBandedTableView; + v1Column1: TcxGridDBBandedColumn; + v1Column2: TcxGridDBBandedColumn; + v1Column3: TcxGridDBBandedColumn; + v1Column4: TcxGridDBBandedColumn; + v1Column5: TcxGridDBBandedColumn; + v1Column6: TcxGridDBBandedColumn; + cxGrid1Level1: TcxGridLevel; + ToolBar2: TToolBar; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + TBPrint: TToolButton; + v1Column7: TcxGridDBBandedColumn; + v2Column6: TcxGridDBBandedColumn; + v3Column6: TcxGridDBBandedColumn; + v1Column8: TcxGridDBBandedColumn; + v2Column7: TcxGridDBBandedColumn; + v3Column7: TcxGridDBBandedColumn; + v1Column9: TcxGridDBBandedColumn; + v2Column8: TcxGridDBBandedColumn; + v3Column8: TcxGridDBBandedColumn; + ADOQueryQG: TADOQuery; + RMDB_Main: TRMDBDataSet; + RM2: TRMGridReport; + RMXLSExport1: TRMXLSExport; + Label40: TLabel; + WFBBZQty1: TEdit; + WFBBZUnit1: TcxButtonEdit; + Label41: TLabel; + WFBBZQty2: TEdit; + WFBBZUnit2: TcxButtonEdit; + Label42: TLabel; + WFBBZQty3: TEdit; + WFBBZUnit3: TcxButtonEdit; + Label43: TLabel; + Label44: TLabel; + WFBFK2: TEdit; + WFBFK1: TEdit; + Label45: TLabel; + Label9: TLabel; + Label11: TLabel; + WFBKZ: TEdit; + BZ: TcxButtonEdit; + Label46: TLabel; + PanZDY: TPanel; + CXGridZDY: TcxGrid; + TVZDY: TcxGridDBTableView; + VHelpZDYName: TcxGridDBColumn; + CXGridZDYLevel1: TcxGridLevel; + Button1: TButton; + procedure TBCloseClick(Sender: TObject); + procedure TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button1Click(Sender: TObject); + procedure WFBCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); + procedure TVZDYKeyPress(Sender: TObject; var Key: Char); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure CustomNoNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure CustomNoNamePropertiesChange(Sender: TObject); + procedure ArrivalPortNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure SCXNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WJGNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WFBCodeNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WFBCodeNamePropertiesChange(Sender: TObject); + procedure ArrivalPortNamePropertiesChange(Sender: TObject); + procedure SCXNamePropertiesChange(Sender: TObject); + procedure WJGNamePropertiesChange(Sender: TObject); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure Day1Change(Sender: TObject); + procedure OrdQtyKeyPress(Sender: TObject; var Key: Char); + procedure Day2Change(Sender: TObject); + procedure Day3Change(Sender: TObject); + procedure ETADateChange(Sender: TObject); + procedure BegRKDateChange(Sender: TObject); + procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv3MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure v1Column2PropertiesEditValueChanged(Sender: TObject); + procedure v1Column3PropertiesEditValueChanged(Sender: TObject); + procedure v2Column2PropertiesEditValueChanged(Sender: TObject); + procedure OrdQtyChange(Sender: TObject); + procedure v3Column4PropertiesEditValueChanged(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v2Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v3Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WFBBZUnit1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WFBBZUnit2PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WFBBZUnit3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WFBBZUnit1PropertiesChange(Sender: TObject); + procedure WFBBZUnit2PropertiesChange(Sender: TObject); + procedure WFBBZUnit3PropertiesChange(Sender: TObject); + procedure BZPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure BZPropertiesChange(Sender: TObject); + procedure WFBBZQty1Change(Sender: TObject); + private + MInt:Integer; + procedure InitData(); + procedure ZDYHelp(FButn:TcxButtonEdit;LType:string); + function SaveData():Boolean; + procedure DelOrderSub(FOrder_Sub:TClientDataSet); + procedure SELYCL(SCDS_Sub:TClientDataSet); + procedure EditYCL(SCDS_Sub:TClientDataSet); + { Private declarations } + public + PState,BState:Integer; + FMainId:String; + FXS:Integer; + OrderType:String; + { Public declarations } + end; + +var + frmOrderInPutZP: TfrmOrderInPutZP; + +implementation +uses + U_DataLink,U_ZDYHelp,U_Fun,U_GetPGJBInList; + +{$R *.dfm} + +procedure TfrmOrderInPutZP.TBCloseClick(Sender: TObject); +begin + if PState<>3 then + begin + if Application.MessageBox('ǷҪݣ','ʾ',32+4)=IDYES then + begin + TBSave.Click; + Exit; + end; + end; + Close; + WriteCxBandedGrid('',Tv1,'޷IJ'); + WriteCxBandedGrid('ϸ',Tv2,'޷IJ'); + WriteCxBandedGrid('',Tv3,'޷IJ'); + +end; + +procedure TfrmOrderInPutZP.InitData(); +var + i:Integer; +begin + with ADOQuery1 do + begin + Close; + SQL.Clear; + sql.Add(' exec P_WFBOrder_List :begdate,:endate,:MainId'); + if PState>0 then + begin + ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(FMainId); + ADOQuery1.Parameters.ParamByName('begdate').Value:=''; + ADOQuery1.Parameters.ParamByName('endate').Value:=''; + end; + if PState=0 then + begin + ADOQuery1.Parameters.ParamByName('MainId').Value:='999999'; + ADOQuery1.Parameters.ParamByName('begdate').Value:=''; + ADOQuery1.Parameters.ParamByName('endate').Value:=''; + end; + Open; + end; + // SCreateCDS20(ADOQuery1,Order_Sub); + //SInitCDSData20(ADOQuery1,Order_Sub); + SCSHData(ADOQuery1,ScrollBox1,0); + if PState=0 then + begin + OrderDate.DateTime:=StrToDate(FormatDateTime('yyyy-MM-dd',SGetServerDateTime(ADOTemp))); + ETADate.DateTime:=OrderDate.DateTime; + ETDDate.DateTime:=OrderDate.DateTime; + ZGDate.DateTime:=OrderDate.DateTime; + BegRKDate.DateTime:=OrderDate.DateTime; + BegSCDate.DateTime:=OrderDate.DateTime; + ETADate.Checked:=False; + ETDDate.Checked:=False; + ZGDate.Checked:=False; + BegRKDate.Checked:=False; + BegSCDate.Checked:=False; + end; + if Trim(DParameters1)<>'' then + begin + BegRKDate.Enabled:=False; + Day3.Enabled:=False; + BegSCDate.Enabled:=False; + //Note.Enabled:=False; + cxGrid4.Enabled:=False; + MJKZX.Enabled:=False; + MJKZD.Enabled:=False; + XJKZX.Enabled:=False; + XJKZD.Enabled:=False; + SCXName.Enabled:=False; + WJGName.Enabled:=False; + ScrollBox2.Enabled:=False; + end; + if PState=4 then + begin + BegRKDate.Enabled:=True; + Day3.Enabled:=True; + BegSCDate.Enabled:=True; + //Note.Enabled:=False; + cxGrid4.Enabled:=True; + MJKZX.Enabled:=True; + MJKZD.Enabled:=True; + XJKZX.Enabled:=True; + XJKZD.Enabled:=True; + SCXName.Enabled:=True; + WJGName.Enabled:=True; + ScrollBox2.Enabled:=True; + end; + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select * from WFB_DB where MainId='''+Trim(FMainId)+''''); + Open; + end; + SCreateCDS20(ADOQuery1,CDS_DB); + SInitCDSData20(ADOQuery1,CDS_DB); + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select A.*,Case when A.YLQty-A.YCLYJkc>=0 then A.YLQty-A.YCLYJkc else null end as BZ from WFBYCL_PB A where MainId='''+Trim(FMainId)+''''); + sql.Add(' and PBType=''Ҫ'' '); + Open; + end; + SCreateCDS20(ADOQuery1,Order_SubZ); + SInitCDSData20(ADOQuery1,Order_SubZ); + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select A.*,Case when A.YLQty-A.YCLYJkc>=0 then A.YLQty-A.YCLYJkc else null end as BZ from WFBYCL_PB A where MainId='''+Trim(FMainId)+''''); + sql.Add(' and PBType='''' '); + Open; + end; + SCreateCDS20(ADOQuery1,Order_SubF); + SInitCDSData20(ADOQuery1,Order_SubF); + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select A.*,Case when A.YLQty-A.YCLYJkc>=0 then A.YLQty-A.YCLYJkc else null end as BZ from WFBYCL_PB A where MainId='''+Trim(FMainId)+''''); + sql.Add(' and PBType='''' '); + Open; + end; + SCreateCDS20(ADOQuery1,Order_SubQ); + SInitCDSData20(ADOQuery1,Order_SubQ); + PanZDY.Visible:=False; + if PState=4 then + begin + PState:=0; + FMainId:='999999'; + //OrderNo.Text:=''; + WFBCodeName.Text:=''; + WFBCodeName.Hint:=''; + PanZDY.Visible:=False; + with CDS_DB do + begin + First; + while not Eof do + begin + Edit; + FieldByName('DBID').Value:=''; + Post; + Next; + end; + end; + with Order_SubZ do + begin + First; + while not Eof do + begin + Edit; + FieldByName('PBID').Value:=''; + FieldByName('YLKC').Value:=0; + FieldByName('YCLYJKC').Value:=0; + FieldByName('BZ').Value:=0; + FieldByName('SGQty').Value:=0; + Post; + Next; + end; + end; + v1Column1.Options.Focusing:=True; + with Order_SubF do + begin + First; + while not Eof do + begin + Edit; + FieldByName('PBID').Value:=''; + FieldByName('YLKC').Value:=0; + FieldByName('YCLYJKC').Value:=0; + FieldByName('BZ').Value:=0; + FieldByName('SGQty').Value:=0; + Post; + Next; + end; + end; + v2Column1.Options.Focusing:=True; + with Order_SubQ do + begin + First; + while not Eof do + begin + Edit; + FieldByName('PBID').Value:=''; + FieldByName('YLKC').Value:=0; + FieldByName('YCLYJKC').Value:=0; + FieldByName('BZ').Value:=0; + FieldByName('SGQty').Value:=0; + Post; + Next; + end; + end; + v3Column1.Options.Focusing:=True; + end; +end; + +procedure TfrmOrderInPutZP.ZDYHelp(FButn:TcxButtonEdit;LType:string); +var + FType,ZDYName,FText:String; +begin + PanZDY.Visible:=True; + PanZDY.Left:=FButn.Left; + PanZDY.Top:=FButn.Top+FButn.Height; + with ADOZDY do + begin + Filtered:=False; + Close; + SQL.Clear; + SQL.Add('select RTrim(ZDYNo) ZDYNo,RTrim(ZDYName) ZDYName from KH_ZDY where Type='''+Trim(LType)+''''); + Open; + end; + FText:=Trim(FButn.Text); + if FText<>'' then + SDofilter(ADOZDY,' ZDYName like '+QuotedStr('%'+Trim(FText)+'%')) + else + SDofilter(ADOZDY,''); + VHelpZDYName.Summary.GroupFormat:=Trim(FButn.Name); +end; + +procedure TfrmOrderInPutZP.TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + FName:string; +begin + if ADOZDY.IsEmpty then Exit; + FName:=Trim(VHelpZDYName.Summary.GroupFormat); + TcxButtonEdit(FindComponent(FName)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(FName)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; +end; + +procedure TfrmOrderInPutZP.Button1Click(Sender: TObject); +begin + PanZDY.Visible:=False; +end; + +procedure TfrmOrderInPutZP.WFBCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); +begin + if (key=vk_return) or (Key=vk_Down) then + begin + if ADOZDY.Active then + CXGridZDY.SetFocus; + end; +end; + +procedure TfrmOrderInPutZP.TVZDYKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + if ADOZDY.IsEmpty then Exit; + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; + ADOZDY.Active:=False; + end; +end; + +procedure TfrmOrderInPutZP.FormShow(Sender: TObject); +begin + {if Trim(DParameters1)='1' then + begin + Label12.Visible:=False; + CustomNoName.Visible:=False; + end else + begin + Label12.Visible:=True; + CustomNoName.Visible:=True; + end; } + InitData(); + ReadCxBandedGrid('',Tv1,'޷IJ'); + ReadCxBandedGrid('ϸ',Tv2,'޷IJ'); + ReadCxBandedGrid('',Tv3,'޷IJ'); +end; + +function TfrmOrderInPutZP.SaveData():Boolean; +var + maxno:String; +begin + try + ADOCmd.Connection.BeginTrans; + /// + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from WFBOrder_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMainId)='999999' then + begin + Append; + if GetLSNo(ADOTemp,maxno,'','WFBOrder_Main',2,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ˮ쳣','ʾ',0); + exit; + end; + end + else begin + maxno:=Trim(FMainId); + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + FieldByName('OrderType').Value:=Trim(OrderType); + SSetsaveSql(ADOCmd,'WFBOrder_Main',ScrollBox1,0); + if PState=2 then + begin + FieldByName('Chker').Value:=Trim(DName); + FieldByName('ChkTime').Value:=SGetServerDateTime(ADOTemp); + end; + if Trim(FMainId)='999999' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + if PState=1 then + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + end; + Post; + end; + FMainId:=Trim(maxno); + ///ϸ + with CDS_DB do + begin + First; + while not Eof do + begin + if Trim(CDS_DB.fieldbyname('DBId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'DB','WFB_DB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_DB.fieldbyname('DBId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_DB '); + sql.Add(' where DBId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_DB.fieldbyname('DBId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('DBId').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,TVDB,CDS_DB,'WFB_DB',0); + Post; + end; + CDS_DB.Edit; + CDS_DB.FieldByName('DBId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + //Ҫԭ + if not Order_SubZ.IsEmpty then + begin + with Order_SubZ do + begin + First; + while not Eof do + begin + if Trim(Order_SubZ.fieldbyname('PBId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'PB','WFBYCL_PB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_SubZ.fieldbyname('PBId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PB '); + sql.Add(' where PBId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_SubZ.fieldbyname('PBId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('CRId').Value:=Trim(Order_SubZ.fieldbyname('CRID').AsString); + FieldByName('PBType').Value:='Ҫ'; + // SSetSaveDataCDSNew(); + SSetSaveDataCDSBandNew(ADOCmd,TV1,Order_SubZ,'WFBYCL_PB',0); + Post; + end; + Order_SubZ.Edit; + Order_SubZ.FieldByName('PBId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + end; + //渨ԭ + if not Order_SubF.IsEmpty then + begin + with Order_SubF do + begin + First; + while not Eof do + begin + if Trim(Order_SubF.fieldbyname('PBId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'PB','WFBYCL_PB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_SubF.fieldbyname('PBId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PB '); + sql.Add(' where PBId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_SubF.fieldbyname('PBId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('PBType').Value:=''; + FieldByName('CRId').Value:=Trim(Order_SubF.fieldbyname('CRID').AsString); + // SSetSaveDataCDSNew(); + SSetSaveDataCDSBandNew(ADOCmd,TV2,Order_SubF,'WFBYCL_PB',0); + Post; + end; + Order_SubF.Edit; + Order_SubF.FieldByName('PBId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + end; + //ԭ + if not Order_SubQ.IsEmpty then + begin + with Order_SubQ do + begin + First; + while not Eof do + begin + if Trim(Order_SubQ.fieldbyname('PBId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'PB','WFBYCL_PB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_SubQ.fieldbyname('PBId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PB '); + sql.Add(' where PBId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_SubQ.fieldbyname('PBId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('PBType').Value:=''; + FieldByName('CRId').Value:=Trim(Order_SubQ.fieldbyname('CRID').AsString); + // SSetSaveDataCDSNew(); + SSetSaveDataCDSBandNew(ADOCmd,TV3,Order_SubQ,'WFBYCL_PB',0); + Post; + end; + Order_SubQ.Edit; + Order_SubQ.FieldByName('PBId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + end; + + ///ӱ + {with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'OS','Order_Sub',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from Order_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add(' and SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,Tv1,Order_Sub,'Order_Sub',0); + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; } + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + +procedure TfrmOrderInPutZP.TBSaveClick(Sender: TObject); +begin + OrderDate.SetFocus; + if Trim(OrderNo.Text)='' then + begin + Application.MessageBox('ŲΪգ','ʾ',0); + Exit; + end; + if Trim(WFBCodeName.Text)='' then + begin + Application.MessageBox('ŲΪգ','ʾ',0); + Exit; + end; + if Trim(WFBCodeName.Hint)='' then + begin + Application.MessageBox('δ壡','ʾ',0); + Exit; + end; + {if Order_Sub.IsEmpty then + begin + Application.MessageBox('ϸΪգ','ʾ',0); + Exit; + end; } + if CDS_DB.Locate('BSL',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if CDS_DB.Locate('JSL',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if Order_SubZ.Locate('YLKC;YCLYJKC;BZ',VarArrayOf([0,0,0]),[]) then + begin + Application.MessageBox('ָϣ','ʾ',0); + Exit; + end; + if Order_SubF.Locate('YLKC;YCLYJKC;BZ',VarArrayOf([0,0,0]),[]) then + begin + Application.MessageBox('ָϣ','ʾ',0); + Exit; + end; + if Order_SubQ.Locate('YLKC;YCLYJKC;BZ',VarArrayOf([0,0,0]),[]) then + begin + Application.MessageBox('ָϣ','ʾ',0); + Exit; + end; + if SaveData() then + begin + Application.MessageBox('ɹ','ʾ',0); + end; +end; +procedure TfrmOrderInPutZP.SELYCL(SCDS_Sub:TClientDataSet); +begin + try + frmGetPGJBInList:=TfrmGetPGJBInList.Create(Application); + with frmGetPGJBInList do + begin + if ShowModal=1 then + begin + with ClientDataSet2 do + begin + First; + while not Eof do + begin + with SCDS_Sub do + begin + Append; + SCDS_Sub.FieldByName('YCLCode').Value:=Trim(ClientDataSet2.fieldbyname('YCLCode').AsString); + SCDS_Sub.FieldByName('YCLName').Value:=Trim(ClientDataSet2.fieldbyname('YCLName').AsString); + SCDS_Sub.FieldByName('YCLSpec').Value:=Trim(ClientDataSet2.fieldbyname('YCLSpec').AsString); + //SCDS_Sub.FieldByName('GYSName').Value:=Trim(ClientDataSet2.fieldbyname('GYSName').AsString); + //SCDS_Sub.FieldByName('GYS').Value:=Trim(ClientDataSet2.fieldbyname('GYS').AsString); + SCDS_Sub.FieldByName('YLKC').Value:=Trim(ClientDataSet2.fieldbyname('QuantityKC').AsString); + //CDS_Sub.FieldByName('Qty').Value:=Trim(ClientDataSet2.fieldbyname('QtyKC').AsString); + SCDS_Sub.FieldByName('YLUnit').Value:=Trim(ClientDataSet2.fieldbyname('CRUnit').AsString); + SCDS_Sub.FieldByName('CRID').Value:=Trim(ClientDataSet2.fieldbyname('CRID').AsString); + SCDS_Sub.FieldByName('YCLYJKC').Value:=Trim(ClientDataSet2.fieldbyname('YJKC').AsString); + //SCDS_Sub.FieldByName('YCLType').Value:=Trim(ClientDataSet2.fieldbyname('YCLType').AsString); + //SCDS_Sub.FieldByName('YCLPrice').Value:=Trim(ClientDataSet2.fieldbyname('YCLPrice').AsString); + //SCDS_Sub.FieldByName('KCPlace').Value:=Trim(ClientDataSet2.fieldbyname('KCPlace').AsString); + //CDS_Sub.FieldByName('DepotShow').Value:=Trim(ClientDataSet2.fieldbyname('DepotShow').AsString); + Post; + end; + Next; + end; + end; + end; + end; + finally + frmGetPGJBInList.Free; + end; +end; + +procedure TfrmOrderInPutZP.EditYCL(SCDS_Sub:TClientDataSet); +begin + try + frmGetPGJBInList:=TfrmGetPGJBInList.Create(Application); + with frmGetPGJBInList do + begin + if ShowModal=1 then + begin + with ClientDataSet2 do + begin + //First; + // while not Eof do + //begin + with SCDS_Sub do + begin + Edit; + SCDS_Sub.FieldByName('YCLCode').Value:=Trim(ClientDataSet2.fieldbyname('YCLCode').AsString); + SCDS_Sub.FieldByName('YCLName').Value:=Trim(ClientDataSet2.fieldbyname('YCLName').AsString); + SCDS_Sub.FieldByName('YCLSpec').Value:=Trim(ClientDataSet2.fieldbyname('YCLSpec').AsString); + //SCDS_Sub.FieldByName('GYSName').Value:=Trim(ClientDataSet2.fieldbyname('GYSName').AsString); + //SCDS_Sub.FieldByName('GYS').Value:=Trim(ClientDataSet2.fieldbyname('GYS').AsString); + SCDS_Sub.FieldByName('YLKC').Value:=Trim(ClientDataSet2.fieldbyname('QuantityKC').AsString); + //CDS_Sub.FieldByName('Qty').Value:=Trim(ClientDataSet2.fieldbyname('QtyKC').AsString); + SCDS_Sub.FieldByName('YLUnit').Value:=Trim(ClientDataSet2.fieldbyname('CRUnit').AsString); + SCDS_Sub.FieldByName('CRID').Value:=Trim(ClientDataSet2.fieldbyname('CRID').AsString); + SCDS_Sub.FieldByName('YCLYJKC').Value:=Trim(ClientDataSet2.fieldbyname('YJKC').AsString); + if SCDS_Sub.FieldByName('YLQty').Value-ClientDataSet2.fieldbyname('YJKC').Value>=0 then + SCDS_Sub.FieldByName('BZ').Value:=SCDS_Sub.FieldByName('YLQty').Value- + ClientDataSet2.fieldbyname('YJKC').Value + else + SCDS_Sub.FieldByName('BZ').Value:=null; + //SCDS_Sub.FieldByName('YCLType').Value:=Trim(ClientDataSet2.fieldbyname('YCLType').AsString); + //SCDS_Sub.FieldByName('YCLPrice').Value:=Trim(ClientDataSet2.fieldbyname('YCLPrice').AsString); + //SCDS_Sub.FieldByName('KCPlace').Value:=Trim(ClientDataSet2.fieldbyname('KCPlace').AsString); + //CDS_Sub.FieldByName('DepotShow').Value:=Trim(ClientDataSet2.fieldbyname('DepotShow').AsString); + //Post; + end; + // Next; + //end; + end; + end; + end; + finally + frmGetPGJBInList.Free; + end; +end; +procedure TfrmOrderInPutZP.ToolButton1Click(Sender: TObject); +begin + if MInt=1 then + begin + SELYCL(Order_SubZ); + end else + if MInt=2 then + begin + SELYCL(Order_SubF); + end else + if MInt=3 then + begin + SELYCL(Order_SubQ); + end; +end; + +procedure TfrmOrderInPutZP.ToolButton2Click(Sender: TObject); +begin + if MInt=1 then + begin + DelOrderSub(Order_SubZ); + end else + if MInt=2 then + begin + DelOrderSub(Order_SubF); + end else + if MInt=3 then + begin + DelOrderSub(Order_SubQ); + end; +end; +procedure TfrmOrderInPutZP.DelOrderSub(FOrder_Sub:TClientDataSet); +begin + if FOrder_Sub.IsEmpty then Exit; + if Trim(FOrder_Sub.fieldbyname('PBID').AsString)<>'' then + begin + if Application.MessageBox('ڴɾѱݣ','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFBYCL_PB where PBID='''+Trim(FOrder_Sub.fieldbyname('PBID').AsString)+''''); + ExecSQL; + end; + end; + FOrder_Sub.Delete; +end; + +procedure TfrmOrderInPutZP.CustomNoNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('CustomNoName'); + flagname:='ͻ'; + if ShowModal=1 then + begin + Self.FXS:=99; + CustomNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + CustomNoName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZP.CustomNoNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(CustomNoName,'CustomNoName'); +end; + +procedure TfrmOrderInPutZP.ArrivalPortNamePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('ArrivalPort'); + flagname:=''; + if ShowModal=1 then + begin + Self.FXS:=99; + ArrivalPortName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + ArrivalPortName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZP.SCXNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('SCXName'); + flagname:=''; + if ShowModal=1 then + begin + Self.FXS:=99; + SCXName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + SCXName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZP.WJGNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WJGName'); + flagname:='ṹ'; + if ShowModal=1 then + begin + Self.FXS:=99; + WJGName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + WJGName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZP.WFBCodeNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim(WFBCodeName.Name); + flagname:=''; + if ShowModal=1 then + begin + Self.FXS:=99; + WFBCodeName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + WFBCodeName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZP.WFBCodeNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(WFBCodeName,Trim(WFBCodeName.Name)); +end; + +procedure TfrmOrderInPutZP.ArrivalPortNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(ArrivalPortName,'ArrivalPort'); +end; + +procedure TfrmOrderInPutZP.SCXNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(SCXName,Trim(SCXName.Name)); +end; + +procedure TfrmOrderInPutZP.WJGNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(WJGName,Trim(WJGName.Name)); +end; + +procedure TfrmOrderInPutZP.N1Click(Sender: TObject); +begin + + with CDS_DB do + begin + Append; + FieldByName('DBUnit').Value:='/'; + Post; + end; +end; + +procedure TfrmOrderInPutZP.N2Click(Sender: TObject); +begin + if CDS_DB.IsEmpty then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFB_DB where DBID='''+Trim(CDS_DB.fieldbyname('DBID').AsString)+''''); + ExecSQL; + end; + CDS_DB.Delete; +end; + +procedure TfrmOrderInPutZP.Day1Change(Sender: TObject); +var + DayL:string; +begin + if trim(Day1.Text)='' then DayL:='0' + else DayL:=Trim(Day1.Text); + ETDDate.DateTime:=ETADate.Date-strtoint(DayL); +end; + +procedure TfrmOrderInPutZP.OrdQtyKeyPress(Sender: TObject; var Key: Char); +begin + if not (Key in['0'..'9','.',#8,#13]) then + begin + key:=#0; + end; +end; + +procedure TfrmOrderInPutZP.Day2Change(Sender: TObject); +var + DayL:string; +begin + if trim(Day2.Text)='' then DayL:='0' + else DayL:=Trim(Day2.Text); + ZGDate.DateTime:=ETDDate.Date-strtoint(DayL); +end; +procedure TfrmOrderInPutZP.Day3Change(Sender: TObject); +var + DayL:string; +begin + if trim(Day3.Text)='' then DayL:='0' + else DayL:=Trim(Day3.Text); + BegSCDate.DateTime:=BegRKDate.Date-strtoint(DayL); +end; +procedure TfrmOrderInPutZP.ETADateChange(Sender: TObject); +begin + if Trim(Day1.Text)<>'' then + begin + ETDDate.DateTime:=ETADate.Date-strtoint(Day1.Text); + end; + if Trim(Day2.Text)<>'' then + begin + ZGDate.DateTime:=ETDDate.Date-strtoint(Day2.Text); + end; +end; + +procedure TfrmOrderInPutZP.BegRKDateChange(Sender: TObject); +begin + if Trim(Day3.Text)<>'' then + begin + BegSCDate.DateTime:=BegRKDate.Date-strtoint(Day3.Text); + end; +end; + +procedure TfrmOrderInPutZP.Tv1MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + MInt:=1; + Tv1.Bands[0].Caption:='Ҫԭϡ'; + Tv2.Bands[0].Caption:='ԭ'; + Tv3.Bands[0].Caption:=''; + Tv1.Bands[0].Styles.Header.TextColor:=clBlue; + Tv2.Bands[0].Styles.Header.TextColor:=clBlack; + Tv3.Bands[0].Styles.Header.TextColor:=clBlack; +end; + +procedure TfrmOrderInPutZP.Tv2MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + MInt:=2; + Tv1.Bands[0].Caption:='Ҫԭ'; + Tv2.Bands[0].Caption:='ԭϡ'; + Tv3.Bands[0].Caption:=''; + Tv1.Bands[0].Styles.Header.TextColor:=clBlack; + Tv2.Bands[0].Styles.Header.TextColor:=clBlue; + Tv3.Bands[0].Styles.Header.TextColor:=clBlack; +end; + +procedure TfrmOrderInPutZP.Tv3MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + MInt:=3; + Tv1.Bands[0].Caption:='Ҫԭ'; + Tv2.Bands[0].Caption:='ԭ'; + Tv3.Bands[0].Caption:=''; + Tv1.Bands[0].Styles.Header.TextColor:=clBlack; + Tv2.Bands[0].Styles.Header.TextColor:=clBlack; + Tv3.Bands[0].Styles.Header.TextColor:=clBlue; +end; + +procedure TfrmOrderInPutZP.v1Column2PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,YLSH,DHSL:Double; +begin + if Trim(OrdQty.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + mvalue:=TcxTextEdit(Sender).EditingValue; //KO + if Trim(OrdUnit.Text)='K' then + begin + if Trim(Order_SubZ.fieldbyname('YLSH').AsString)='' then + begin + YLSH:=0; + end else + YLSH:=StrToFloat(Order_SubZ.fieldbyname('YLSH').AsString); + with Order_SubZ do + begin + Edit; + FieldByName('YLQty').Value:=StrToFloat(OrdQty.Text)*mvalue/100*(1+YLSH/100); + if StrToFloat(OrdQty.Text)*mvalue/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=StrToFloat(OrdQty.Text)*mvalue/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + FieldByName('YLPB').Value:=mvalue; + Post; + end; + end else + if Trim(OrdUnit.Text)='O' then + begin + if Trim(WFBKZ.Text)='' then + begin + Application.MessageBox('زΪգ','ʾ',0); + Exit; + end; + {if Trim(WFBfk.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end;} + DHSL:=StrToFloat(OrdQty.Text)*strtofloat(WFBKZ.Text)/1000; + if Trim(Order_SubZ.fieldbyname('YLSH').AsString)='' then + begin + YLSH:=0; + end else + YLSH:=StrToFloat(Order_SubZ.fieldbyname('YLSH').AsString); + with Order_SubZ do + begin + Edit; + FieldByName('YLQty').Value:=DHSL*mvalue/100*(1+YLSH/100); + if DHSL*mvalue/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=DHSL*mvalue/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + FieldByName('YLPB').Value:=mvalue; + Post; + end; + + end; +end; + + +procedure TfrmOrderInPutZP.v1Column3PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,YLPB,DHSL:Double; +begin + if Trim(OrdQty.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + mvalue:=TcxTextEdit(Sender).EditingValue; //KO + if Trim(OrdUnit.Text)='K' then + begin + if Trim(Order_SubZ.fieldbyname('YLPB').AsString)='' then + begin + YLPB:=0; + end else + YLPB:=StrToFloat(Order_SubZ.fieldbyname('YLPB').AsString); + with Order_SubZ do + begin + Edit; + FieldByName('YLQty').Value:=StrToFloat(OrdQty.Text)*YLPB/100*(1+mvalue/100); + if StrToFloat(OrdQty.Text)*YLPB/100*(1+mvalue/100)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=StrToFloat(OrdQty.Text)*YLPB/100*(1+mvalue/100)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + FieldByName('YLSH').Value:=mvalue; + Post; + end; + end else + begin + if Trim(WFBKZ.Text)='' then + begin + Application.MessageBox('زΪգ','ʾ',0); + Exit; + end; + {if Trim(WFBfk.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end;} + DHSL:=StrToFloat(OrdQty.Text)*strtofloat(WFBKZ.Text)/1000; + if Trim(Order_SubZ.fieldbyname('YLPB').AsString)='' then + begin + YLPB:=0; + end else + YLPB:=StrToFloat(Order_SubZ.fieldbyname('YLPB').AsString); + with Order_SubZ do + begin + Edit; + FieldByName('YLQty').Value:=DHSL*YLPB/100*(1+mvalue/100); + if DHSL*YLPB/100*(1+mvalue/100)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=DHSL*YLPB/100*(1+mvalue/100)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + FieldByName('YLSH').Value:=mvalue; + Post; + end; + end; +end; + +procedure TfrmOrderInPutZP.v2Column2PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,DHSL:Double; +begin + if Trim(OrdQty.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + mvalue:=TcxTextEdit(Sender).EditingValue; //KO + if Trim(OrdUnit.Text)='K' then + begin + with Order_SubF do + begin + Edit; + FieldByName('YLQty').Value:=StrToFloat(OrdQty.Text)*(mvalue/1000); + if StrToFloat(OrdQty.Text)*(mvalue/1000)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=StrToFloat(OrdQty.Text)*(mvalue/1000)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + FieldByName('YLSHQ').Value:=mvalue; + Post; + end; + end else + begin + if Trim(WFBKZ.Text)='' then + begin + Application.MessageBox('زΪգ','ʾ',0); + Exit; + end; + DHSL:=StrToFloat(OrdQty.Text)*strtofloat(WFBKZ.Text)/1000; + with Order_SubF do + begin + Edit; + FieldByName('YLQty').Value:=DHSL*(mvalue/1000); + if DHSL*(mvalue/1000)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=DHSL*(mvalue/1000)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + FieldByName('YLSHQ').Value:=mvalue; + Post; + end; + end; +end; + +procedure TfrmOrderInPutZP.OrdQtyChange(Sender: TObject); +var + YLPB,YLSH,DHSL:Double; +begin + if Trim(OrdQty.Text)='' then Exit; + if Trim(OrdUnit.Text)='K' then + DHSL:=StrToFloat(OrdQty.Text) + else + if Trim(OrdUnit.Text)='O' then + begin + if Trim(WFBKZ.Text)='' then Exit; + DHSL:=StrToFloat(OrdQty.Text)*strtofloat(WFBKZ.Text)/1000; + end; + if not Order_SubZ.IsEmpty then + begin + with Order_SubZ do + begin + Order_SubZ.DisableControls; + First; + while not Eof do + begin + Edit; + if Trim(fieldbyname('YLPB').AsString)='' then + YLPB:=0 + else + YLPB:=StrToFloat(fieldbyname('YLPB').AsString); + if Trim(fieldbyname('YLSH').AsString)='' then + YLSH:=0 + else + YLSH:=StrToFloat(fieldbyname('YLSH').AsString); + FieldByName('YLQty').Value:=DHSL*YLPB/100*(1+YLSH/100); + if DHSL*YLPB/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=DHSL*YLPB/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + Next; + end; + Order_SubZ.EnableControls; + First; + end; + end; + if not Order_SubF.IsEmpty then + begin + with Order_SubF do + begin + Order_SubF.DisableControls; + First; + while not Eof do + begin + Edit; + if Trim(fieldbyname('YLSHQ').AsString)='' then + YLSH:=0 + else + YLSH:=StrToFloat(fieldbyname('YLSHQ').AsString); + FieldByName('YLQty').Value:=DHSL*(YLSH/1000); + if DHSL*(YLSH/1000)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=DHSL*(YLSH/1000)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + Next; + end; + Order_SubF.EnableControls; + First; + end; + end; +end; +procedure TfrmOrderInPutZP.v3Column4PropertiesEditValueChanged( + Sender: TObject); +var + mvalue:Double; +begin + mvalue:=TcxTextEdit(Sender).EditingValue; + with Order_SubQ do + begin + Edit; + FieldByName('YLQty').Value:=mvalue; + if mvalue-fieldbyname('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=mvalue-fieldbyname('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + end; +end; + +procedure TfrmOrderInPutZP.TBPrintClick(Sender: TObject); +var + fPrintFile:String; +begin + with ADOQueryQG do + begin + Close; + sql.Clear; + sql.Add(' exec P_Print_SGD :OrderNo'); + Parameters.ParamByName('OrderNo').Value:=Trim(OrderNo.Text); + Open; + end; + if ADOQueryQG.IsEmpty then Exit; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\빺.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + RMVariables['dyr']:=Trim(DName); + RM2.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\빺.rmf'),'ʾ',0); + end; +end; + +procedure TfrmOrderInPutZP.v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + EditYCL(Order_SubZ); +end; + +procedure TfrmOrderInPutZP.v2Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + EditYCL(Order_SubF); +end; + +procedure TfrmOrderInPutZP.v3Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + EditYCL(Order_SubQ); +end; + +procedure TfrmOrderInPutZP.WFBBZUnit1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WFBBZUnitD'); + flagname:='װ'; + if ShowModal=1 then + begin + Self.FXS:=99; + WFBBZUnit1.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + WFBBZUnit1.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZP.WFBBZUnit2PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WFBBZUnitZ'); + flagname:='аװ'; + if ShowModal=1 then + begin + Self.FXS:=99; + WFBBZUnit2.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + WFBBZUnit2.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZP.WFBBZUnit3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WFBBZUnitX'); + flagname:='Сװ'; + if ShowModal=1 then + begin + Self.FXS:=99; + WFBBZUnit3.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + WFBBZUnit3.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZP.WFBBZUnit1PropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(WFBBZUnit1,'WFBBZUnitD'); +end; + +procedure TfrmOrderInPutZP.WFBBZUnit2PropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(WFBBZUnit2,'WFBBZUnitZ'); +end; + +procedure TfrmOrderInPutZP.WFBBZUnit3PropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(WFBBZUnit3,'WFBBZUnitX'); +end; + +procedure TfrmOrderInPutZP.BZPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('BZ'); + flagname:='۵λ'; + if ShowModal=1 then + begin + Self.FXS:=99; + BZ.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + BZ.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZP.BZPropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(BZ,'BZ'); +end; + +procedure TfrmOrderInPutZP.WFBBZQty1Change(Sender: TObject); +var + FQty1,FQty2,FQty3,FFK1,FFK2,FKZ1,YLPB,YLSH,DHSL:Double; +begin + if Trim(WFBBZQty1.Text)<>'' then + begin + FQty1:=StrToFloat(WFBBZQty1.Text); + end else + begin + FQty1:=1; + end; + if Trim(WFBBZQty2.Text)<>'' then + begin + FQty2:=StrToFloat(WFBBZQty2.Text); + end else + begin + FQty2:=1; + end; + if Trim(WFBBZQty3.Text)<>'' then + begin + FQty3:=StrToFloat(WFBBZQty3.Text); + end else + begin + FQty3:=1; + end; + if Trim(WFBFK1.Text)<>'' then + begin + FFK1:=StrToFloat(WFBFK1.Text); + end else + begin + FFK1:=0; + end; + if Trim(WFBFK2.Text)<>'' then + begin + FFK2:=StrToFloat(WFBFK2.Text); + end else + begin + FFK2:=0; + end; + if Trim(WFBKZ.Text)<>'' then + begin + FKZ1:=StrToFloat(WFBKZ.Text); + end else + begin + FKZ1:=0; + end; + if Trim(WFBKZ.Text)='' then + begin + OrdQty.Text:=FloatToStr(FQty1*FQty2*FQty3*FFK1*FFK2/10000); + OrdUnit.ItemIndex:=OrdUnit.Items.IndexOf('O'); + end else + begin + OrdQty.Text:=FloatToStr(FQty1*FQty2*FQty3*FFK1*FFK2/10000*FKZ1/1000); + OrdUnit.ItemIndex:=OrdUnit.Items.IndexOf('K'); + end; + if Trim(OrdQty.Text)='' then Exit; + if Trim(OrdUnit.Text)='K' then + DHSL:=StrToFloat(OrdQty.Text) + else + if Trim(OrdUnit.Text)='O' then + begin + if Trim(WFBKZ.Text)='' then Exit; + DHSL:=StrToFloat(OrdQty.Text)*strtofloat(WFBKZ.Text)/1000; + end; + if not Order_SubZ.IsEmpty then + begin + with Order_SubZ do + begin + Order_SubZ.DisableControls; + First; + while not Eof do + begin + Edit; + if Trim(fieldbyname('YLPB').AsString)='' then + YLPB:=0 + else + YLPB:=StrToFloat(fieldbyname('YLPB').AsString); + if Trim(fieldbyname('YLSH').AsString)='' then + YLSH:=0 + else + YLSH:=StrToFloat(fieldbyname('YLSH').AsString); + FieldByName('YLQty').Value:=DHSL*YLPB/100*(1+YLSH/100); + if DHSL*YLPB/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=DHSL*YLPB/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + Next; + end; + Order_SubZ.EnableControls; + First; + end; + end; + if not Order_SubF.IsEmpty then + begin + with Order_SubF do + begin + Order_SubF.DisableControls; + First; + while not Eof do + begin + Edit; + if Trim(fieldbyname('YLSHQ').AsString)='' then + YLSH:=0 + else + YLSH:=StrToFloat(fieldbyname('YLSHQ').AsString); + FieldByName('YLQty').Value:=DHSL*(YLSH/1000); + if DHSL*(YLSH/1000)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=DHSL*(YLSH/1000)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + Next; + end; + Order_SubF.EnableControls; + First; + end; + end; +end; + +end. diff --git a/打卷检验管理/U_OrderInPutZPLNew.dfm b/打卷检验管理/U_OrderInPutZPLNew.dfm new file mode 100644 index 0000000..3041725 --- /dev/null +++ b/打卷检验管理/U_OrderInPutZPLNew.dfm @@ -0,0 +1,2224 @@ +object frmOrderInPutZPLNew: TfrmOrderInPutZPLNew + Left = 55 + Top = 75 + Width = 1185 + Height = 678 + Caption = #25351#31034#21333#24405#20837'('#21046#21697')' + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnClose = FormClose + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object Label17: TLabel + Left = 667 + Top = 47 + Width = 40 + Height = 12 + Caption = '>>'#25240#21472 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1177 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBProducttion.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = TBSaveClick + end + object TBClose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object ScrollBox2: TScrollBox + Left = 0 + Top = 339 + Width = 1177 + Height = 302 + Align = alClient + BevelInner = bvNone + BevelOuter = bvNone + Ctl3D = False + ParentCtl3D = False + TabOrder = 1 + object cxGrid3: TcxGrid + Left = 809 + Top = 31 + Width = 366 + Height = 269 + Align = alLeft + TabOrder = 0 + object Tv3: TcxGridDBBandedTableView + PopupMenu = PopupMenu4 + OnMouseDown = Tv3MouseDown + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSourceQ + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'YCLCode' + Column = v3Column1 + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Bands = < + item + Caption = #20854#23427 + Styles.Header = DataLink_WFBProducttion.TextSHuangSe + Width = 400 + end> + object v3Column1: TcxGridDBBandedColumn + Caption = #29289#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v3Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 50 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object v3Column2: TcxGridDBBandedColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 41 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object v3Column3: TcxGridDBBandedColumn + Caption = #24211#23384 + DataBinding.FieldName = 'YLKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 44 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object v3Column4: TcxGridDBBandedColumn + Caption = #29992#37327 + DataBinding.FieldName = 'YLQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v3Column4PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 48 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object v3Column5: TcxGridDBBandedColumn + Caption = #21333#20301 + DataBinding.FieldName = 'YLUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 36 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object v3Column6: TcxGridDBBandedColumn + Caption = #30003#36141#25968#37327 + DataBinding.FieldName = 'SGQty' + HeaderAlignmentHorz = taCenter + Width = 61 + Position.BandIndex = 0 + Position.ColIndex = 8 + Position.RowIndex = 0 + end + object v3Column7: TcxGridDBBandedColumn + Caption = #21069#21333#24211#23384 + DataBinding.FieldName = 'YCLYJKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 48 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object v3Column8: TcxGridDBBandedColumn + Tag = 2 + Caption = #19981#36275 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 31 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object v3Column9: TcxGridDBBandedColumn + Tag = 9 + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 41 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv3 + end + end + object cxGrid2: TcxGrid + Left = 425 + Top = 31 + Width = 384 + Height = 269 + Align = alLeft + TabOrder = 1 + object Tv2: TcxGridDBBandedTableView + PopupMenu = PopupMenu4 + OnMouseDown = Tv2MouseDown + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSourceF + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'YCLCode' + Column = v2Column1 + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Bands = < + item + Caption = #36741#21161#21407#26009 + Styles.Header = DataLink_WFBProducttion.FonePurple + Width = 428 + end> + object v2Column1: TcxGridDBBandedColumn + Caption = #21407#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v2Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 60 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object v2Column2: TcxGridDBBandedColumn + Caption = #32791#29575#8240 + DataBinding.FieldName = 'YLSHQ' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v2Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 37 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object v2Column3: TcxGridDBBandedColumn + Caption = #29992#37327'KG' + DataBinding.FieldName = 'YLQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 39 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object v2Column4: TcxGridDBBandedColumn + Caption = #24211#23384 + DataBinding.FieldName = 'YLKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 36 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object v2Column5: TcxGridDBBandedColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 56 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object v2Column6: TcxGridDBBandedColumn + Caption = #30003#36141#25968#37327 + DataBinding.FieldName = 'SGQty' + HeaderAlignmentHorz = taCenter + Width = 68 + Position.BandIndex = 0 + Position.ColIndex = 8 + Position.RowIndex = 0 + end + object v2Column7: TcxGridDBBandedColumn + Caption = #21069#21333#24211#23384 + DataBinding.FieldName = 'YCLYJKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 52 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object v2Column8: TcxGridDBBandedColumn + Tag = 2 + Caption = #19981#36275 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Width = 31 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object v2Column9: TcxGridDBBandedColumn + Tag = 9 + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 49 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 31 + Width = 425 + Height = 269 + Align = alLeft + TabOrder = 2 + object Tv1: TcxGridDBBandedTableView + PopupMenu = PopupMenu4 + OnMouseDown = Tv1MouseDown + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSourceZ + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'YCLCode' + Column = v1Column1 + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Bands = < + item + Caption = #20027#35201#21407#26009 + Styles.Header = DataLink_WFBProducttion.FontBlue + Width = 487 + end> + object v1Column1: TcxGridDBBandedColumn + Caption = #21407#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v1Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 70 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object v1Column2: TcxGridDBBandedColumn + Caption = #37197#27604'%' + DataBinding.FieldName = 'YLPB' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 38 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object v1Column3: TcxGridDBBandedColumn + Caption = #25439#32791'%' + DataBinding.FieldName = 'YLSH' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column3PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 40 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object v1Column4: TcxGridDBBandedColumn + Caption = #29992#37327'KG' + DataBinding.FieldName = 'YLQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 42 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object v1Column5: TcxGridDBBandedColumn + Caption = #24211#23384 + DataBinding.FieldName = 'YLKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 40 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object v1Column6: TcxGridDBBandedColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 56 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object v1Column7: TcxGridDBBandedColumn + Caption = #30003#36141#25968#37327 + DataBinding.FieldName = 'SGQty' + HeaderAlignmentHorz = taCenter + Width = 65 + Position.BandIndex = 0 + Position.ColIndex = 9 + Position.RowIndex = 0 + end + object v1Column8: TcxGridDBBandedColumn + Caption = #21069#21333#24211#23384 + DataBinding.FieldName = 'YCLYJKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 57 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object v1Column9: TcxGridDBBandedColumn + Tag = 2 + Caption = #19981#36275 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Content = DataLink_WFBProducttion.FoneRed + Width = 38 + Position.BandIndex = 0 + Position.ColIndex = 8 + Position.RowIndex = 0 + end + object v1Column10: TcxGridDBBandedColumn + Tag = 9 + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 41 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 0 + Width = 1175 + Height = 31 + ButtonHeight = 30 + ButtonWidth = 95 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBProducttion.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 3 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton2Click + end + object TBPrint: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #25171#21360#35831#36141#21333 + ImageIndex = 96 + OnClick = TBPrintClick + end + end + end + object ScrollBox1: TScrollBox + Left = 0 + Top = 29 + Width = 1177 + Height = 310 + Align = alTop + BevelInner = bvNone + BevelOuter = bvNone + Color = clBtnFace + Ctl3D = False + ParentColor = False + ParentCtl3D = False + TabOrder = 2 + object Label1: TLabel + Left = 197 + Top = 15 + Width = 66 + Height = 12 + Caption = #35746' '#21333' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 533 + Top = 127 + Width = 53 + Height = 12 + Caption = #20195' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label3: TLabel + Left = 538 + Top = 15 + Width = 65 + Height = 12 + Caption = #19979#21333#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 375 + Top = 15 + Width = 53 + Height = 12 + Caption = #23458' '#25143#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 375 + Top = 46 + Width = 52 + Height = 12 + Caption = #21040#36798#28207#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label16: TLabel + Left = 16 + Top = 45 + Width = 65 + Height = 12 + Caption = #39044#20272#25968#37327#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label19: TLabel + Left = 14 + Top = 68 + Width = 1140 + Height = 12 + Caption = + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + Font.Charset = GB2312_CHARSET + Font.Color = clFuchsia + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label20: TLabel + Left = 14 + Top = 116 + Width = 1146 + Height = 12 + Caption = + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + Font.Charset = GB2312_CHARSET + Font.Color = clFuchsia + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label21: TLabel + Left = 25 + Top = 88 + Width = 34 + Height = 12 + Caption = 'ETA'#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label22: TLabel + Left = 257 + Top = 90 + Width = 34 + Height = 12 + Caption = 'ETD'#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label23: TLabel + Left = 491 + Top = 89 + Width = 39 + Height = 12 + Caption = #35013#26588#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label24: TLabel + Left = 733 + Top = 88 + Width = 53 + Height = 12 + Caption = #20837' '#24211#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label25: TLabel + Left = 988 + Top = 89 + Width = 39 + Height = 12 + Caption = #29983#20135#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label26: TLabel + Left = 221 + Top = 88 + Width = 13 + Height = 15 + Caption = #22825 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label27: TLabel + Left = 165 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label28: TLabel + Left = 238 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label29: TLabel + Left = 455 + Top = 88 + Width = 13 + Height = 15 + Caption = #22825 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label30: TLabel + Left = 400 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label31: TLabel + Left = 472 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 958 + Top = 88 + Width = 13 + Height = 15 + Caption = #22825 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label32: TLabel + Left = 903 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label33: TLabel + Left = 972 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 14 + Top = 294 + Width = 1146 + Height = 12 + Caption = + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + Font.Charset = GB2312_CHARSET + Font.Color = clFuchsia + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label5: TLabel + Left = 22 + Top = 141 + Width = 15 + Height = 126 + Caption = #35814#13#10#13#10#13#10#13#10#13#10#13#10#13#10#13#10#21333 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 971 + Top = 126 + Width = 60 + Height = 14 + Caption = #25171#21253#35814#32454 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 197 + Top = 46 + Width = 65 + Height = 12 + Caption = #35745#20215#21333#20301#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 762 + Top = 14 + Width = 52 + Height = 12 + Caption = #29983#20135#32447#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 762 + Top = 46 + Width = 52 + Height = 12 + Caption = #32593#32467#26500#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label14: TLabel + Left = 17 + Top = 15 + Width = 67 + Height = 12 + Caption = #32534' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label35: TLabel + Left = 907 + Top = 5 + Width = 15 + Height = 56 + Caption = #27880#13#10#24847#13#10#20107#13#10#39033 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 538 + Top = 47 + Width = 67 + Height = 12 + Caption = #25439' '#32791#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 602 + Top = 47 + Width = 26 + Height = 12 + Caption = #28857#26029 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label15: TLabel + Left = 671 + Top = 47 + Width = 26 + Height = 12 + Caption = #25240#21472 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label34: TLabel + Left = 741 + Top = 47 + Width = 7 + Height = 12 + Caption = '%' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object OrderNo: TEdit + Left = 259 + Top = 13 + Width = 103 + Height = 18 + Enabled = False + TabOrder = 0 + end + object OrderDate: TDateTimePicker + Left = 604 + Top = 11 + Width = 144 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 1 + end + object WFBCodeName: TcxButtonEdit + Left = 581 + Top = 123 + ParentShowHint = False + Properties.BeepOnError = True + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = WFBCodeNamePropertiesButtonClick + Properties.OnChange = WFBCodeNamePropertiesChange + ShowHint = False + TabOrder = 2 + Visible = False + OnKeyDown = WFBCodeNameKeyDown + Width = 97 + end + object CustomNoName: TcxButtonEdit + Left = 426 + Top = 11 + Hint = 'CustomerNo' + BeepOnEnter = False + Enabled = False + ParentShowHint = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = CustomNoNamePropertiesButtonClick + Properties.OnChange = CustomNoNamePropertiesChange + ShowHint = False + TabOrder = 3 + OnKeyDown = WFBCodeNameKeyDown + Width = 100 + end + object ArrivalPortName: TcxButtonEdit + Left = 426 + Top = 43 + BeepOnEnter = False + Enabled = False + ParentShowHint = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = ArrivalPortNamePropertiesButtonClick + Properties.OnChange = ArrivalPortNamePropertiesChange + ShowHint = False + TabOrder = 4 + OnKeyDown = WFBCodeNameKeyDown + Width = 100 + end + object OrdQty: TEdit + Left = 79 + Top = 43 + Width = 49 + Height = 18 + Enabled = False + ReadOnly = True + TabOrder = 5 + OnChange = OrdQtyChange + OnKeyPress = OrdQtyKeyPress + end + object OrdUnit: TComboBox + Left = 129 + Top = 43 + Width = 51 + Height = 20 + Style = csDropDownList + Ctl3D = False + Enabled = False + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ItemHeight = 12 + ParentCtl3D = False + ParentFont = False + TabOrder = 6 + OnChange = OrdQtyChange + Items.Strings = ( + #13199 + #13217) + end + object ETADate: TDateTimePicker + Left = 57 + Top = 85 + Width = 104 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 7 + OnChange = ETADateChange + end + object ETDDate: TDateTimePicker + Left = 291 + Top = 85 + Width = 104 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 8 + end + object ZGDate: TDateTimePicker + Left = 527 + Top = 85 + Width = 104 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 9 + end + object BegRKDate: TDateTimePicker + Left = 784 + Top = 85 + Width = 115 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 10 + OnChange = BegRKDateChange + end + object BegSCDate: TDateTimePicker + Left = 1022 + Top = 85 + Width = 104 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 11 + end + object Day1: TEdit + Left = 184 + Top = 87 + Width = 35 + Height = 18 + Enabled = False + TabOrder = 12 + OnChange = Day1Change + OnKeyPress = OrdQtyKeyPress + end + object Day2: TEdit + Left = 418 + Top = 87 + Width = 35 + Height = 18 + Enabled = False + TabOrder = 13 + OnChange = Day2Change + OnKeyPress = OrdQtyKeyPress + end + object Day3: TEdit + Left = 921 + Top = 87 + Width = 35 + Height = 18 + Enabled = False + TabOrder = 14 + OnChange = Day3Change + OnKeyPress = OrdQtyKeyPress + end + object cxGrid5: TcxGrid + Left = 41 + Top = 126 + Width = 922 + Height = 172 + TabOrder = 15 + object TvSub: TcxGridDBTableView + PopupMenu = PopupMenu2 + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = TvSubColumn1 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_WFBProducttion.SHuangSe + Styles.IncSearch = DataLink_WFBProducttion.SHuangSe + Styles.Selection = DataLink_WFBProducttion.SHuangSe + object vSubColumn16: TcxGridDBColumn + Tag = 9 + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 38 + end + object vSubColumn3: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'XHNO' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 34 + end + object vSubColumn11: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'SubType' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.Items.Strings = ( + #28857#26029 + #25240#21472) + Properties.OnEditValueChanged = vSubColumn11PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 41 + end + object vSubColumn12: TcxGridDBColumn + Caption = #20135#21697#20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = vSubColumn12PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.FonePurple + Width = 69 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = cxGridDBColumn3PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 48 + end + object vSubColumn2: TcxGridDBColumn + Caption = #33457#32441 + DataBinding.FieldName = 'SWFBHW' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = vSubColumn2PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 41 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #20811#37325'g/'#13217 + DataBinding.FieldName = 'SWFBKZ' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = cxGridDBColumn2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 63 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #38271#24230'cm' + DataBinding.FieldName = 'SWFBFK1' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = cxGridDBColumn4PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 46 + end + object vSubColumn4: TcxGridDBColumn + Caption = #23485#24230'cm' + DataBinding.FieldName = 'SWFBFK2' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = vSubColumn4PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 46 + end + object vSubColumn5: TcxGridDBColumn + Caption = #22823#25968#37327 + DataBinding.FieldName = 'SWFBBZQty1' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = vSubColumn5PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 46 + end + object vSubColumn6: TcxGridDBColumn + Caption = #22823#21333#20301 + DataBinding.FieldName = 'SWFBBZUnit1' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = vSubColumn6PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 45 + end + object vSubColumn7: TcxGridDBColumn + Caption = #20013#25968#37327 + DataBinding.FieldName = 'SWFBBZQty2' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = vSubColumn7PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 45 + end + object vSubColumn8: TcxGridDBColumn + Caption = #20013#21333#20301 + DataBinding.FieldName = 'SWFBBZUnit2' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = vSubColumn8PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 45 + end + object vSubColumn9: TcxGridDBColumn + Caption = #23567#25968#37327 + DataBinding.FieldName = 'SWFBBZQty3' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = vSubColumn9PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 48 + end + object vSubColumn10: TcxGridDBColumn + Caption = #23567#21333#20301 + DataBinding.FieldName = 'SWFBBZUnit3' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = vSubColumn10PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 44 + end + object TvSubColumn1: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'SOrdQty' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 48 + end + object vSubColumn13: TcxGridDBColumn + Caption = #32593#23380#30446#25968 + DataBinding.FieldName = 'WKMS' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = vSubColumn13PropertiesButtonClick + Styles.Header = DataLink_WFBProducttion.Default + Width = 60 + end + object vSubColumn15: TcxGridDBColumn + Caption = #21367#22343#37325#19979#38480 + DataBinding.FieldName = 'KZSmal' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 77 + end + object vSubColumn14: TcxGridDBColumn + Caption = #21367#22343#37325#19978#38480 + DataBinding.FieldName = 'KZBig' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 69 + end + end + object cxGridLevel4: TcxGridLevel + GridView = TvSub + end + end + object cxGrid4: TcxGrid + Left = 968 + Top = 141 + Width = 160 + Height = 154 + Enabled = False + TabOrder = 16 + object TVDB: TcxGridDBTableView + PopupMenu = PopupMenu1 + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TVZDYCellDblClick + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + object cxGridDBColumn1: TcxGridDBColumn + Caption = #21253#25968#37327 + DataBinding.FieldName = 'BSL' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.handBlack + Width = 48 + end + object VDBColumn1: TcxGridDBColumn + Caption = #21367#25968#37327 + DataBinding.FieldName = 'JSL' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 46 + end + object VDBColumn2: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'DBUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 57 + end + end + object cxGridLevel3: TcxGridLevel + GridView = TVDB + end + end + object Note: TRichEdit + Left = 923 + Top = 2 + Width = 203 + Height = 63 + Enabled = False + TabOrder = 17 + end + object SCXName: TcxButtonEdit + Left = 810 + Top = 10 + Hint = 'FactoryNo1' + BeepOnEnter = False + Enabled = False + ParentShowHint = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = SCXNamePropertiesButtonClick + Properties.OnChange = SCXNamePropertiesChange + ShowHint = False + TabOrder = 18 + OnKeyDown = WFBCodeNameKeyDown + Width = 88 + end + object WJGName: TcxButtonEdit + Left = 810 + Top = 43 + Hint = 'FactoryNo2' + BeepOnEnter = False + Enabled = False + ParentShowHint = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = WJGNamePropertiesButtonClick + Properties.OnChange = WJGNamePropertiesChange + ShowHint = False + TabOrder = 19 + OnKeyDown = WFBCodeNameKeyDown + Width = 88 + end + object PanZDY: TPanel + Left = 974 + Top = 133 + Width = 151 + Height = 153 + TabOrder = 20 + Visible = False + object CXGridZDY: TcxGrid + Left = 3 + Top = 4 + Width = 142 + Height = 113 + TabOrder = 0 + object TVZDY: TcxGridDBTableView + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TVZDYCellDblClick + DataController.DataSource = DataSource2 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + object VHelpZDYName: TcxGridDBColumn + DataBinding.FieldName = 'ZDYName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.handBlack + Width = 129 + IsCaptionAssigned = True + end + end + object CXGridZDYLevel1: TcxGridLevel + GridView = TVZDY + end + end + object Button1: TButton + Left = 40 + Top = 120 + Width = 65 + Height = 25 + Caption = #20851#38381 + TabOrder = 1 + OnClick = Button1Click + end + end + object OrderCode: TEdit + Left = 79 + Top = 13 + Width = 103 + Height = 18 + Enabled = False + TabOrder = 21 + end + object BZ: TcxButtonEdit + Left = 259 + Top = 43 + BeepOnEnter = False + Enabled = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = cxButtonEdit1PropertiesButtonClick + Properties.OnChange = cxButtonEdit1PropertiesChange + TabOrder = 22 + OnKeyDown = WFBCodeNameKeyDown + Width = 105 + end + object DD: TEdit + Left = 629 + Top = 44 + Width = 40 + Height = 18 + Enabled = False + TabOrder = 23 + OnChange = DDChange + OnKeyPress = OrdQtyKeyPress + end + object ZD: TEdit + Left = 699 + Top = 44 + Width = 40 + Height = 18 + Enabled = False + TabOrder = 24 + OnChange = ZDChange + OnKeyPress = OrdQtyKeyPress + end + end + object Panel1: TPanel + Left = 1160 + Top = 344 + Width = 825 + Height = 297 + TabOrder = 3 + Visible = False + object cxGrid6: TcxGrid + Left = 11 + Top = 32 + Width = 299 + Height = 209 + PopupMenu = PopupMenu1 + TabOrder = 0 + object Tvsel: TcxGridDBTableView + PopupMenu = PopupMenu3 + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DSSel + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + object vselColumn1: TcxGridDBColumn + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.FonePurple + Width = 42 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = cxGridDBColumn3PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 61 + end + object cxGridDBColumn7: TcxGridDBColumn + Caption = #33457#32441 + DataBinding.FieldName = 'SWFBHW' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = vSubColumn2PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.FonePurple + Width = 51 + end + object cxGridDBColumn8: TcxGridDBColumn + Caption = #20811#37325'g/'#13217 + DataBinding.FieldName = 'SWFBKZ' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = cxGridDBColumn2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.handBlack + Width = 72 + end + object cxGridDBColumn9: TcxGridDBColumn + Caption = #24133#23485'cm' + DataBinding.FieldName = 'SWFBFK' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 52 + end + end + object cxGridLevel5: TcxGridLevel + GridView = Tvsel + end + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 823 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #36873#21333 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnMouseMove = Panel10MouseMove + object Image2: TImage + Left = 789 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object Button2: TButton + Left = 64 + Top = 251 + Width = 65 + Height = 25 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button2Click + end + object Button3: TButton + Left = 168 + Top = 251 + Width = 49 + Height = 25 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = Button3Click + end + object cxGrid7: TcxGrid + Left = 312 + Top = 32 + Width = 505 + Height = 257 + TabOrder = 4 + object TVKCSel: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource4 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'DefStr1' + end + item + Format = 'DefStr2' + Column = v1ShortName + end + item + Format = 'RollUnit' + Column = v1UnitName + end + item + Format = 'YCLCode' + Column = v1P_ChnName + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1Quantity + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = DataLink_WFBProducttion.Default + object TVKCSelColumn1: TcxGridDBColumn + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taRightJustify + Width = 39 + end + object v1P_ChnName: TcxGridDBColumn + Tag = 2 + Caption = #29289#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 80 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 63 + end + object v1ShortName: TcxGridDBColumn + Caption = #20379#24212#21830 + DataBinding.FieldName = 'GYSName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 68 + end + object v1Quantity: TcxGridDBColumn + Tag = 2 + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'KCQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 70 + end + object VKCSelColumn2: TcxGridDBColumn + Caption = #39044#35745#29992#37327 + DataBinding.FieldName = 'YJYL' + HeaderAlignmentHorz = taCenter + Width = 57 + end + object VKCSelColumn1: TcxGridDBColumn + Caption = #39044#35745#24211#23384 + DataBinding.FieldName = 'YJKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 65 + end + object v1UnitName: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'KCUint' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 45 + end + end + object cxGridLevel6: TcxGridLevel + GridView = TVKCSel + end + end + end + object ADOTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 704 + Top = 309 + end + object ADOCmd: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 744 + Top = 309 + end + object DataSourceZ: TDataSource + DataSet = Order_SubZ + Left = 296 + Top = 440 + end + object Order_SubZ: TClientDataSet + Aggregates = <> + Params = <> + Left = 256 + Top = 440 + end + object DataSource2: TDataSource + DataSet = ADOZDY + Left = 760 + end + object ADOZDY: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 728 + Top = 65533 + end + object CDS_ZDY: TClientDataSet + Aggregates = <> + Params = <> + Left = 800 + end + object ADOQuery1: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 784 + Top = 309 + end + object PopupMenu1: TPopupMenu + Left = 544 + Top = 253 + object N1: TMenuItem + Caption = #22686#34892 + OnClick = N1Click + end + object N2: TMenuItem + Caption = #21024#34892 + OnClick = N2Click + end + end + object DataSource3: TDataSource + DataSet = CDS_DB + Left = 544 + Top = 200 + end + object CDS_DB: TClientDataSet + Aggregates = <> + Params = <> + Left = 480 + Top = 224 + end + object Order_SubF: TClientDataSet + Aggregates = <> + Params = <> + Left = 744 + Top = 488 + end + object DataSourceF: TDataSource + DataSet = Order_SubF + Left = 728 + Top = 512 + end + object Order_SubQ: TClientDataSet + Aggregates = <> + Params = <> + Left = 800 + Top = 448 + end + object DataSourceQ: TDataSource + DataSet = Order_SubQ + Left = 832 + Top = 448 + end + object ADOQueryQG: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 480 + Top = 309 + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = ADOQueryQG + Left = 448 + Top = 320 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 392 + Top = 312 + ReportData = {} + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 456 + Top = 312 + end + object PopupMenu2: TPopupMenu + Left = 128 + Top = 237 + object MenuItem1: TMenuItem + Caption = #22686#34892 + OnClick = MenuItem1Click + end + object MenuItem2: TMenuItem + Caption = #21024#34892 + OnClick = MenuItem2Click + end + object N3: TMenuItem + Caption = #20840#36873 + OnClick = N3Click + end + object N4: TMenuItem + Caption = #20840#24323 + OnClick = N4Click + end + end + object DataSource1: TDataSource + DataSet = CDS_Sub + Left = 112 + Top = 200 + end + object CDS_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 96 + Top = 232 + end + object DSSel: TDataSource + DataSet = CDS_Sel + Left = 440 + Top = 376 + end + object CDS_Sel: TClientDataSet + Aggregates = <> + Params = <> + Left = 424 + Top = 408 + end + object PopupMenu3: TPopupMenu + Left = 432 + Top = 477 + object MenuItem3: TMenuItem + Caption = #20840#36873 + OnClick = MenuItem3Click + end + object MenuItem4: TMenuItem + Caption = #20840#24323 + OnClick = MenuItem4Click + end + end + object DataSource4: TDataSource + DataSet = CDS_KCSel + Left = 672 + Top = 432 + end + object CDS_KCSel: TClientDataSet + Aggregates = <> + Params = <> + Left = 712 + Top = 432 + end + object cxGridPopupMenu5: TcxGridPopupMenu + Grid = cxGrid5 + PopupMenus = <> + Left = 120 + Top = 465 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 160 + Top = 454 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 160 + Top = 494 + end + object cxGridPopupMenu3: TcxGridPopupMenu + Grid = cxGrid3 + PopupMenus = <> + Left = 160 + Top = 534 + end + object cxGridPopupMenu4: TcxGridPopupMenu + Grid = cxGrid4 + PopupMenus = <> + Left = 120 + Top = 502 + end + object PopupMenu4: TPopupMenu + Left = 96 + Top = 461 + object MenuItem7: TMenuItem + Caption = #20840#36873 + OnClick = MenuItem7Click + end + object MenuItem8: TMenuItem + Caption = #20840#24323 + OnClick = MenuItem8Click + end + end +end diff --git a/打卷检验管理/U_OrderInPutZPLNew.pas b/打卷检验管理/U_OrderInPutZPLNew.pas new file mode 100644 index 0000000..9e05447 --- /dev/null +++ b/打卷检验管理/U_OrderInPutZPLNew.pas @@ -0,0 +1,3706 @@ +unit U_OrderInPutZPLNew; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxClasses, cxControls, + cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, + cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, + ExtCtrls, BtnEdit, cxCalendar, cxGridBandedTableView, + cxGridDBBandedTableView, Menus, RM_Common, RM_Class, RM_e_Xls, + RM_GridReport, RM_System, RM_Dataset, cxCheckBox, cxDropDownEdit, + cxGridCustomPopupMenu, cxGridPopupMenu; + +type + TfrmOrderInPutZPLNew = class(TForm) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + DataSourceZ: TDataSource; + Order_SubZ: TClientDataSet; + DataSource2: TDataSource; + ADOZDY: TADOQuery; + CDS_ZDY: TClientDataSet; + ADOQuery1: TADOQuery; + PopupMenu1: TPopupMenu; + N1: TMenuItem; + N2: TMenuItem; + DataSource3: TDataSource; + CDS_DB: TClientDataSet; + Order_SubF: TClientDataSet; + DataSourceF: TDataSource; + Order_SubQ: TClientDataSet; + DataSourceQ: TDataSource; + ScrollBox2: TScrollBox; + cxGrid3: TcxGrid; + Tv3: TcxGridDBBandedTableView; + v3Column1: TcxGridDBBandedColumn; + v3Column2: TcxGridDBBandedColumn; + v3Column3: TcxGridDBBandedColumn; + v3Column4: TcxGridDBBandedColumn; + v3Column5: TcxGridDBBandedColumn; + cxGridLevel2: TcxGridLevel; + cxGrid2: TcxGrid; + Tv2: TcxGridDBBandedTableView; + v2Column1: TcxGridDBBandedColumn; + v2Column2: TcxGridDBBandedColumn; + v2Column3: TcxGridDBBandedColumn; + v2Column4: TcxGridDBBandedColumn; + v2Column5: TcxGridDBBandedColumn; + cxGridLevel1: TcxGridLevel; + cxGrid1: TcxGrid; + Tv1: TcxGridDBBandedTableView; + v1Column1: TcxGridDBBandedColumn; + v1Column2: TcxGridDBBandedColumn; + v1Column3: TcxGridDBBandedColumn; + v1Column4: TcxGridDBBandedColumn; + v1Column5: TcxGridDBBandedColumn; + v1Column6: TcxGridDBBandedColumn; + cxGrid1Level1: TcxGridLevel; + ToolBar2: TToolBar; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + TBPrint: TToolButton; + v1Column7: TcxGridDBBandedColumn; + v2Column6: TcxGridDBBandedColumn; + v3Column6: TcxGridDBBandedColumn; + v1Column8: TcxGridDBBandedColumn; + v2Column7: TcxGridDBBandedColumn; + v3Column7: TcxGridDBBandedColumn; + v1Column9: TcxGridDBBandedColumn; + v2Column8: TcxGridDBBandedColumn; + v3Column8: TcxGridDBBandedColumn; + ADOQueryQG: TADOQuery; + RMDB_Main: TRMDBDataSet; + RM2: TRMGridReport; + RMXLSExport1: TRMXLSExport; + PopupMenu2: TPopupMenu; + MenuItem1: TMenuItem; + MenuItem2: TMenuItem; + DataSource1: TDataSource; + CDS_Sub: TClientDataSet; + DSSel: TDataSource; + CDS_Sel: TClientDataSet; + ScrollBox1: TScrollBox; + Label1: TLabel; + Label2: TLabel; + Label3: TLabel; + Label12: TLabel; + Label13: TLabel; + Label16: TLabel; + Label19: TLabel; + Label20: TLabel; + Label21: TLabel; + Label22: TLabel; + Label23: TLabel; + Label24: TLabel; + Label25: TLabel; + Label26: TLabel; + Label27: TLabel; + Label28: TLabel; + Label29: TLabel; + Label30: TLabel; + Label31: TLabel; + Label18: TLabel; + Label32: TLabel; + Label33: TLabel; + Label4: TLabel; + Label5: TLabel; + Label7: TLabel; + Label9: TLabel; + Label6: TLabel; + Label8: TLabel; + OrderNo: TEdit; + OrderDate: TDateTimePicker; + WFBCodeName: TcxButtonEdit; + CustomNoName: TcxButtonEdit; + ArrivalPortName: TcxButtonEdit; + OrdQty: TEdit; + OrdUnit: TComboBox; + ETADate: TDateTimePicker; + ETDDate: TDateTimePicker; + ZGDate: TDateTimePicker; + BegRKDate: TDateTimePicker; + BegSCDate: TDateTimePicker; + Day1: TEdit; + Day2: TEdit; + Day3: TEdit; + cxGrid5: TcxGrid; + TvSub: TcxGridDBTableView; + vSubColumn3: TcxGridDBColumn; + vSubColumn11: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + vSubColumn2: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + vSubColumn4: TcxGridDBColumn; + vSubColumn5: TcxGridDBColumn; + vSubColumn6: TcxGridDBColumn; + vSubColumn7: TcxGridDBColumn; + vSubColumn8: TcxGridDBColumn; + vSubColumn9: TcxGridDBColumn; + vSubColumn10: TcxGridDBColumn; + TvSubColumn1: TcxGridDBColumn; + cxGridLevel4: TcxGridLevel; + cxGrid4: TcxGrid; + TVDB: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + VDBColumn1: TcxGridDBColumn; + VDBColumn2: TcxGridDBColumn; + cxGridLevel3: TcxGridLevel; + Note: TRichEdit; + SCXName: TcxButtonEdit; + WJGName: TcxButtonEdit; + PanZDY: TPanel; + CXGridZDY: TcxGrid; + TVZDY: TcxGridDBTableView; + VHelpZDYName: TcxGridDBColumn; + CXGridZDYLevel1: TcxGridLevel; + Button1: TButton; + Label14: TLabel; + OrderCode: TEdit; + vSubColumn12: TcxGridDBColumn; + PopupMenu3: TPopupMenu; + MenuItem3: TMenuItem; + MenuItem4: TMenuItem; + BZ: TcxButtonEdit; + Label35: TLabel; + vSubColumn13: TcxGridDBColumn; + vSubColumn14: TcxGridDBColumn; + vSubColumn15: TcxGridDBColumn; + Panel1: TPanel; + cxGrid6: TcxGrid; + Tvsel: TcxGridDBTableView; + vselColumn1: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + cxGridDBColumn7: TcxGridDBColumn; + cxGridDBColumn8: TcxGridDBColumn; + cxGridDBColumn9: TcxGridDBColumn; + cxGridLevel5: TcxGridLevel; + Panel10: TPanel; + Image2: TImage; + Button2: TButton; + Button3: TButton; + cxGrid7: TcxGrid; + TVKCSel: TcxGridDBTableView; + TVKCSelColumn1: TcxGridDBColumn; + v1P_ChnName: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + v1ShortName: TcxGridDBColumn; + v1Quantity: TcxGridDBColumn; + VKCSelColumn2: TcxGridDBColumn; + VKCSelColumn1: TcxGridDBColumn; + v1UnitName: TcxGridDBColumn; + cxGridLevel6: TcxGridLevel; + DataSource4: TDataSource; + CDS_KCSel: TClientDataSet; + v1Column10: TcxGridDBBandedColumn; + vSubColumn16: TcxGridDBColumn; + v2Column9: TcxGridDBBandedColumn; + v3Column9: TcxGridDBBandedColumn; + cxGridPopupMenu5: TcxGridPopupMenu; + cxGridPopupMenu1: TcxGridPopupMenu; + cxGridPopupMenu2: TcxGridPopupMenu; + cxGridPopupMenu3: TcxGridPopupMenu; + cxGridPopupMenu4: TcxGridPopupMenu; + N3: TMenuItem; + N4: TMenuItem; + Label10: TLabel; + Label11: TLabel; + DD: TEdit; + Label15: TLabel; + ZD: TEdit; + Label17: TLabel; + Label34: TLabel; + PopupMenu4: TPopupMenu; + MenuItem7: TMenuItem; + MenuItem8: TMenuItem; + procedure TBCloseClick(Sender: TObject); + procedure TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button1Click(Sender: TObject); + procedure WFBCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); + procedure TVZDYKeyPress(Sender: TObject; var Key: Char); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure CustomNoNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure CustomNoNamePropertiesChange(Sender: TObject); + procedure ArrivalPortNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure SCXNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WJGNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WFBCodeNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WFBCodeNamePropertiesChange(Sender: TObject); + procedure ArrivalPortNamePropertiesChange(Sender: TObject); + procedure SCXNamePropertiesChange(Sender: TObject); + procedure WJGNamePropertiesChange(Sender: TObject); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure Day1Change(Sender: TObject); + procedure OrdQtyKeyPress(Sender: TObject; var Key: Char); + procedure Day2Change(Sender: TObject); + procedure Day3Change(Sender: TObject); + procedure ETADateChange(Sender: TObject); + procedure BegRKDateChange(Sender: TObject); + procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv3MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure v1Column2PropertiesEditValueChanged(Sender: TObject); + procedure v1Column3PropertiesEditValueChanged(Sender: TObject); + procedure v2Column2PropertiesEditValueChanged(Sender: TObject); + procedure OrdQtyChange(Sender: TObject); + procedure v3Column4PropertiesEditValueChanged(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v2Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v3Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure MenuItem1Click(Sender: TObject); + procedure MenuItem2Click(Sender: TObject); + procedure cxGridDBColumn3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure vSubColumn2PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure cxGridDBColumn2PropertiesEditValueChanged(Sender: TObject); + procedure TvSubColumn1PropertiesEditValueChanged(Sender: TObject); + procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, + Y: Integer); + procedure Image2Click(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure vSubColumn6PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure vSubColumn8PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure vSubColumn10PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure BZPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure BZPropertiesChange(Sender: TObject); + procedure cxGridDBColumn4PropertiesEditValueChanged(Sender: TObject); + procedure vSubColumn4PropertiesEditValueChanged(Sender: TObject); + procedure vSubColumn5PropertiesEditValueChanged(Sender: TObject); + procedure vSubColumn7PropertiesEditValueChanged(Sender: TObject); + procedure vSubColumn9PropertiesEditValueChanged(Sender: TObject); + procedure vSubColumn12PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure MenuItem3Click(Sender: TObject); + procedure MenuItem4Click(Sender: TObject); + procedure cxButtonEdit1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure cxButtonEdit1PropertiesChange(Sender: TObject); + procedure vSubColumn13PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure TBChkOkClick(Sender: TObject); + procedure TBChkNoClick(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure N3Click(Sender: TObject); + procedure N4Click(Sender: TObject); + procedure DDChange(Sender: TObject); + procedure ZDChange(Sender: TObject); + procedure vSubColumn11PropertiesEditValueChanged(Sender: TObject); + procedure MenuItem7Click(Sender: TObject); + procedure MenuItem8Click(Sender: TObject); + private + MInt,ChkInt,CloInt:Integer; + procedure InitData(); + procedure ZDYHelp(FButn:TcxButtonEdit;LType:string); + function SaveData():Boolean; + procedure DelOrderSub(FOrder_Sub:TClientDataSet); + procedure SELYCL(SCDS_Sub:TClientDataSet); + procedure EditYCL(SCDS_Sub:TClientDataSet); + function SaveData10():Boolean; + procedure SaveYCL(SCDS_Sub:TClientDataSet); + procedure YLUpdate(); + procedure UpMainId(); + procedure YCLDataUPdate(); + procedure SELYCLKC(SCDS_Sub:TClientDataSet); + procedure OnlyUpYCLData(); + procedure YCLPBIDUPdate(SOrder_SubZ:TClientDataSet); + procedure SelAll(SCDS_Sub:TClientDataSet;FSEL:Boolean); + { Private declarations } + public + PState,BState,CopyInt:Integer; + FMainId,OrderType:String; + FXS:Integer; + { Public declarations } + end; + +var + frmOrderInPutZPLNew: TfrmOrderInPutZPLNew; + +implementation +uses + U_DataLink,U_ZDYHelp,U_Fun,U_GetPGJBInList; + +{$R *.dfm} + +procedure TfrmOrderInPutZPLNew.TBCloseClick(Sender: TObject); +begin + WriteCxBandedGrid('1',Tv1,'޷IJ'); + WriteCxBandedGrid('ϸ1',Tv2,'޷IJ'); + WriteCxBandedGrid('1',Tv3,'޷IJ'); + WriteCxGrid('ӱ1',TvSub,'޷IJ'); + WriteCxGrid('1',TVDB,'޷IJ'); + { if PState<>3 then + begin + if Application.MessageBox('ǷҪݣ','ʾ',32+4)=IDYES then + begin + CloInt:=1; + TBSave.Click; + Exit; + end; + end; } + Close; + + +end; +procedure TfrmOrderInPutZPLNew.SelAll(SCDS_Sub:TClientDataSet;FSEL:Boolean); +begin + if SCDS_Sub.IsEmpty then exit; + with SCDS_Sub do + begin + First; + while not eof do + begin + Edit; + FieldByName('SSel').Value:=FSEL; + post; + Next; + end; + end; +end; + +procedure TfrmOrderInPutZPLNew.InitData(); +var + i:Integer; +begin + with ADOQuery1 do + begin + Close; + SQL.Clear; + sql.Add(' exec P_WFBOrder_List :begdate,:endate,:MainId'); + if PState>0 then + begin + ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(FMainId); + ADOQuery1.Parameters.ParamByName('begdate').Value:=''; + ADOQuery1.Parameters.ParamByName('endate').Value:=''; + end; + if PState=0 then + begin + ADOQuery1.Parameters.ParamByName('MainId').Value:='999999'; + ADOQuery1.Parameters.ParamByName('begdate').Value:=''; + ADOQuery1.Parameters.ParamByName('endate').Value:=''; + end; + Open; + end; + // SCreateCDS20(ADOQuery1,Order_Sub); + //SInitCDSData20(ADOQuery1,Order_Sub); + SCSHData(ADOQuery1,ScrollBox1,0); + if PState=0 then + begin + OrderDate.DateTime:=StrToDate(FormatDateTime('yyyy-MM-dd',SGetServerDateTime(ADOTemp))); + ETADate.DateTime:=OrderDate.DateTime; + ETDDate.DateTime:=OrderDate.DateTime; + ZGDate.DateTime:=OrderDate.DateTime; + BegRKDate.DateTime:=OrderDate.DateTime; + BegSCDate.DateTime:=OrderDate.DateTime; + ETADate.Checked:=False; + ETDDate.Checked:=False; + ZGDate.Checked:=False; + BegRKDate.Checked:=False; + BegSCDate.Checked:=False; + //OrdUnit.Text:='K'; + OrdUnit.ItemIndex:=OrdUnit.Items.IndexOf('K'); + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1* from WFBOrder_Main where ordertype=''Ʒ'''); + Open; + end; + if ADOTemp.IsEmpty then Exit; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1* from WFBOrder_Main where ordertype=''Ʒ'''); + sql.Add(' order by FillTime Desc'); + Open; + end; + DD.Text:=ADOTemp.fieldbyname('DD').AsString; + ZD.Text:=ADOTemp.fieldbyname('ZD').AsString; + end; + {if Trim(DParameters1)<>'' then + begin + BegRKDate.Enabled:=False; + Day3.Enabled:=False; + BegSCDate.Enabled:=False; + //Note.Enabled:=False; + cxGrid4.Enabled:=False; + SCXName.Enabled:=False; + WJGName.Enabled:=False; + ScrollBox2.Enabled:=False; + end;} + if PState=4 then + begin + BegRKDate.Enabled:=True; + Day3.Enabled:=True; + BegSCDate.Enabled:=True; + //Note.Enabled:=False; + cxGrid4.Enabled:=True; + { MJKZX.Enabled:=True; + MJKZD.Enabled:=True; + XJKZX.Enabled:=True; + XJKZD.Enabled:=True;} + SCXName.Enabled:=True; + WJGName.Enabled:=True; + ScrollBox2.Enabled:=True; + end; + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select * from WFB_DB where MainId='''+Trim(FMainId)+''''); + Open; + end; + SCreateCDS20(ADOQuery1,CDS_DB); + SInitCDSData20(ADOQuery1,CDS_DB); + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select * from WFBOrder_Sub where MainId='''+Trim(FMainId)+''''); + Open; + end; + SCreateCDS20(ADOQuery1,CDS_Sub); + SInitCDSData20(ADOQuery1,CDS_Sub); + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select A.*,Case when A.YLQty-A.YCLYJkc>=0 then A.YLQty-A.YCLYJkc else null end as BZ from WFBYCL_PB A where MainId='''+Trim(FMainId)+''''); + sql.Add(' and PBType=''Ҫ'' '); + Open; + end; + SCreateCDS20(ADOQuery1,Order_SubZ); + SInitCDSData20(ADOQuery1,Order_SubZ); + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select A.*,Case when A.YLQty-A.YCLYJkc>=0 then A.YLQty-A.YCLYJkc else null end as BZ from WFBYCL_PB A where MainId='''+Trim(FMainId)+''''); + sql.Add(' and PBType='''' '); + Open; + end; + SCreateCDS20(ADOQuery1,Order_SubF); + SInitCDSData20(ADOQuery1,Order_SubF); + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select A.*,Case when A.YLQty-A.YCLYJkc>=0 then A.YLQty-A.YCLYJkc else null end as BZ from WFBYCL_PB A where MainId='''+Trim(FMainId)+''''); + sql.Add(' and PBType='''' '); + Open; + end; + SCreateCDS20(ADOQuery1,Order_SubQ); + SInitCDSData20(ADOQuery1,Order_SubQ); + PanZDY.Visible:=False; + if PState=4 then + begin + PState:=0; + FMainId:=''; + //OrderNo.Text:=''; + WFBCodeName.Text:=''; + WFBCodeName.Hint:=''; + PanZDY.Visible:=False; + with CDS_DB do + begin + First; + while not Eof do + begin + Edit; + FieldByName('DBID').Value:=''; + Post; + Next; + end; + end; + with Order_SubZ do + begin + First; + while not Eof do + begin + Edit; + FieldByName('PBID').Value:=''; + FieldByName('YLKC').Value:=0; + FieldByName('YCLYJKC').Value:=0; + FieldByName('BZ').Value:=0; + FieldByName('SGQty').Value:=0; + Post; + Next; + end; + end; + v1Column1.Options.Focusing:=True; + with Order_SubF do + begin + First; + while not Eof do + begin + Edit; + FieldByName('PBID').Value:=''; + FieldByName('YLKC').Value:=0; + FieldByName('YCLYJKC').Value:=0; + FieldByName('BZ').Value:=0; + FieldByName('SGQty').Value:=0; + Post; + Next; + end; + end; + v2Column1.Options.Focusing:=True; + with Order_SubQ do + begin + First; + while not Eof do + begin + Edit; + FieldByName('PBID').Value:=''; + FieldByName('YLKC').Value:=0; + FieldByName('YCLYJKC').Value:=0; + FieldByName('BZ').Value:=0; + FieldByName('SGQty').Value:=0; + Post; + Next; + end; + end; + v3Column1.Options.Focusing:=True; + end; + +end; + +procedure TfrmOrderInPutZPLNew.ZDYHelp(FButn:TcxButtonEdit;LType:string); +var + FType,ZDYName,FText:String; +begin + PanZDY.Visible:=True; + PanZDY.Left:=FButn.Left; + PanZDY.Top:=FButn.Top+FButn.Height; + with ADOZDY do + begin + Filtered:=False; + Close; + SQL.Clear; + SQL.Add('select RTrim(ZDYNo) ZDYNo,RTrim(ZDYName) ZDYName from KH_ZDY where Type='''+Trim(LType)+''''); + Open; + end; + FText:=Trim(FButn.Text); + if FText<>'' then + SDofilter(ADOZDY,' ZDYName like '+QuotedStr('%'+Trim(FText)+'%')) + else + SDofilter(ADOZDY,''); + VHelpZDYName.Summary.GroupFormat:=Trim(FButn.Name); +end; + +procedure TfrmOrderInPutZPLNew.TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + FName:string; +begin + if ADOZDY.IsEmpty then Exit; + FName:=Trim(VHelpZDYName.Summary.GroupFormat); + TcxButtonEdit(FindComponent(FName)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(FName)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; +end; + +procedure TfrmOrderInPutZPLNew.Button1Click(Sender: TObject); +begin + PanZDY.Visible:=False; +end; + +procedure TfrmOrderInPutZPLNew.WFBCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); +begin + if (key=vk_return) or (Key=vk_Down) then + begin + if ADOZDY.Active then + CXGridZDY.SetFocus; + end; +end; + +procedure TfrmOrderInPutZPLNew.TVZDYKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + if ADOZDY.IsEmpty then Exit; + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; + ADOZDY.Active:=False; + end; +end; + +procedure TfrmOrderInPutZPLNew.FormShow(Sender: TObject); +var + fsj:string; +begin + ReadCxBandedGrid('1',Tv1,'޷IJ'); + ReadCxBandedGrid('ϸ1',Tv2,'޷IJ'); + ReadCxBandedGrid('1',Tv3,'޷IJ'); + ReadCxGrid('ӱ1',TvSub,'޷IJ'); + ReadCxGrid('1',TVDB,'޷IJ'); + {if Trim(DParameters1)='' then + begin + TBSave.Visible:=False; + TBChkOk.Visible:=True; + TBChkNo.Visible:=True; + end else + begin + TBSave.Visible:=True; + TBChkOk.Visible:=False; + TBChkNo.Visible:=False; + end; } + fsj:=FormatDateTime('yyyy-MM-dd',SGetServerDate(ADOTemp)); + if ( (Trim(FMainId)='') or (CopyInt=1)) then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Count(*) As SL from WFBOrder_Main where OrderDate='''+Trim(fsj)+''''); + sql.Add(' and MainId not like ''%FZ'' '); + Open; + end; + if ADOTemp.IsEmpty then + begin + fsj:=fsj+'-1' + end else + fsj:=fsj+'-'+Trim(IntToStr(ADOTemp.fieldbyname('SL').AsInteger+1)); + OrderCode.Text:=Trim(fsj); + end; + InitData(); + ReadCxBandedGrid('',Tv1,'޷IJ'); + ReadCxBandedGrid('ϸ',Tv2,'޷IJ'); + ReadCxBandedGrid('',Tv3,'޷IJ'); +end; + +function TfrmOrderInPutZPLNew.SaveData():Boolean; +var + maxno,FSubId:String; +begin + try + ADOCmd.Connection.BeginTrans; + /// + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from WFBOrder_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMainId)='' then + begin + Append; + if GetLSNo(ADOTemp,maxno,'','WFBOrder_Main',2,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ˮ쳣','ʾ',0); + exit; + end; + end + else begin + maxno:=Trim(FMainId); + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + FieldByName('OrderType').Value:='Ʒ'; + SSetsaveSql(ADOCmd,'WFBOrder_Main',ScrollBox1,0); + if PState=2 then + begin + FieldByName('Chker').Value:=Trim(DName); + FieldByName('ChkTime').Value:=SGetServerDateTime(ADOTemp); + if ChkInt=1 then + FieldByName('ChkStatus').Value:='ͨ' + else if ChkInt=2 then + FieldByName('ChkStatus').Value:='˲ͨ'; + end; + if Trim(FMainId)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + if PState=1 then + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + end; + Post; + end; + FMainId:=Trim(maxno); + ///ϸ + with CDS_DB do + begin + First; + while not Eof do + begin + if Trim(CDS_DB.fieldbyname('DBId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'DB','WFB_DB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_DB.fieldbyname('DBId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_DB '); + sql.Add(' where DBId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_DB.fieldbyname('DBId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('DBId').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,TVDB,CDS_DB,'WFB_DB',0); + Post; + end; + CDS_DB.Edit; + CDS_DB.FieldByName('DBId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + ///굥 + CDS_Sub.DisableControls; + with CDS_Sub do + begin + First; + while not Eof do + begin + if Trim(CDS_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'','WFBOrder_Sub',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBOrder_Sub '); + sql.Add(' where SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,TvSub,CDS_Sub,'WFBOrder_Sub',0); + Post; + end; + CDS_Sub.Edit; + CDS_Sub.FieldByName('SubId').Value:=Trim(maxno); + //CDS_Sub.Post; + Next; + end; + end; + CDS_Sub.EnableControls; + //Ҫԭ + if not Order_SubZ.IsEmpty then + begin + with Order_SubZ do + begin + First; + while not Eof do + begin + if Trim(Order_SubZ.fieldbyname('PBId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'PB','WFBYCL_PB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_SubZ.fieldbyname('PBId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PB '); + sql.Add(' where PBId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_SubZ.fieldbyname('PBId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('CRId').Value:=Trim(Order_SubZ.fieldbyname('CRID').AsString); + FieldByName('PBType').Value:='Ҫ'; + // SSetSaveDataCDSNew(); + SSetSaveDataCDSBandNew(ADOCmd,TV1,Order_SubZ,'WFBYCL_PB',0); + Post; + end; + Order_SubZ.Edit; + Order_SubZ.FieldByName('PBId').Value:=Trim(maxno); + //Order_SubZ.Post; + Next; + end; + end; + end; + //渨ԭ + if not Order_SubF.IsEmpty then + begin + with Order_SubF do + begin + First; + while not Eof do + begin + if Trim(Order_SubF.fieldbyname('PBId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'PB','WFBYCL_PB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_SubF.fieldbyname('PBId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PB '); + sql.Add(' where PBId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_SubF.fieldbyname('PBId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('PBType').Value:=''; + FieldByName('CRId').Value:=Trim(Order_SubF.fieldbyname('CRID').AsString); + // SSetSaveDataCDSNew(); + SSetSaveDataCDSBandNew(ADOCmd,TV2,Order_SubF,'WFBYCL_PB',0); + Post; + end; + Order_SubF.Edit; + Order_SubF.FieldByName('PBId').Value:=Trim(maxno); + //Order_SubF.Post; + Next; + end; + end; + end; + //ԭ + if not Order_SubQ.IsEmpty then + begin + with Order_SubQ do + begin + First; + while not Eof do + begin + if Trim(Order_SubQ.fieldbyname('PBId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'PB','WFBYCL_PB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_SubQ.fieldbyname('PBId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PB '); + sql.Add(' where PBId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_SubQ.fieldbyname('PBId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('PBType').Value:=''; + FieldByName('CRId').Value:=Trim(Order_SubQ.fieldbyname('CRID').AsString); + // SSetSaveDataCDSNew(); + SSetSaveDataCDSBandNew(ADOCmd,TV3,Order_SubQ,'WFBYCL_PB',0); + Post; + end; + Order_SubQ.Edit; + Order_SubQ.FieldByName('PBId').Value:=Trim(maxno); + //Order_SubQ.Post; + Next; + end; + end; + end; + + ///ӱ + {with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'OS','Order_Sub',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from Order_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add(' and SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,Tv1,Order_Sub,'Order_Sub',0); + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; } + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; +function TfrmOrderInPutZPLNew.SaveData10():Boolean; +var + maxno,FSubId:String; + +begin + try + ADOCmd.Connection.BeginTrans; + /// + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from WFBOrder_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMainId)='' then + begin + Append; + if GetLSNo(ADOTemp,maxno,'','WFBOrder_Main',2,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ˮ쳣','ʾ',0); + exit; + end; + end + else begin + maxno:=Trim(FMainId); + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + FieldByName('OrderType').Value:='Ʒ'; + SSetsaveSql(ADOCmd,'WFBOrder_Main',ScrollBox1,0); + if PState=2 then + begin + FieldByName('Chker').Value:=Trim(DName); + FieldByName('ChkTime').Value:=SGetServerDateTime(ADOTemp); + end; + if Trim(FMainId)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + if PState=1 then + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + end; + Post; + end; + FMainId:=Trim(maxno); + ///ϸ + with CDS_DB do + begin + First; + while not Eof do + begin + if Trim(CDS_DB.fieldbyname('DBId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'DB','WFB_DB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_DB.fieldbyname('DBId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_DB '); + sql.Add(' where DBId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_DB.fieldbyname('DBId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('DBId').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,TVDB,CDS_DB,'WFB_DB',0); + Post; + end; + CDS_DB.Edit; + CDS_DB.FieldByName('DBId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + ///굥 + with CDS_Sub do + begin + First; + while not Eof do + begin + if Trim(CDS_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'','WFBOrder_Sub',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBOrder_Sub '); + sql.Add(' where SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,TvSub,CDS_Sub,'WFBOrder_Sub',0); + Post; + end; + CDS_Sub.Edit; + CDS_Sub.FieldByName('SubId').Value:=Trim(maxno); + //CDS_Sub.Post; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; +procedure TfrmOrderInPutZPLNew.TBSaveClick(Sender: TObject); +var + FFS:string; + wz:Integer; +begin + OrderDate.SetFocus; + if Trim(OrderNo.Text)='' then + begin + Application.MessageBox('ŲΪգ','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('SWFBCodeName',null,[]) then + begin + Application.MessageBox('ƷŲΪգ','ʾ',0); + Exit; + end; + {if Trim(WFBCodeName.Text)='' then + begin + Application.MessageBox('ŲΪգ','ʾ',0); + Exit; + end; + if Trim(WFBCodeName.Hint)='' then + begin + Application.MessageBox('δ壡','ʾ',0); + Exit; + end; } + {if Order_Sub.IsEmpty then + begin + Application.MessageBox('ϸΪգ','ʾ',0); + Exit; + end; } + if CDS_DB.Locate('BSL',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if CDS_DB.Locate('JSL',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if Order_SubZ.Locate('YLKC;YCLYJKC;BZ',VarArrayOf([0,0,0]),[]) then + begin + Application.MessageBox('ָϣ','ʾ',0); + Exit; + end; + if Order_SubF.Locate('YLKC;YCLYJKC;BZ',VarArrayOf([0,0,0]),[]) then + begin + Application.MessageBox('ָϣ','ʾ',0); + Exit; + end; + if Order_SubQ.Locate('YLKC;YCLYJKC;BZ',VarArrayOf([0,0,0]),[]) then + begin + Application.MessageBox('ָϣ','ʾ',0); + Exit; + end; + if SaveData() then + begin + wz:=Pos('F',FMainId); + FFS:=Copy(FMainId,wz,4); + if ((CopyInt=1) or (FFS='FZ')) then + begin + UpMainId(); + end; + CopyInt:=0; + if ChkInt>0 then + begin + Application.MessageBox('ɹ!','ʾ',0); + end else + Application.MessageBox('ɹ','ʾ',0); + if CloInt=1 then ModalResult:=1; + Exit; + end; +end; +procedure TfrmOrderInPutZPLNew.SaveYCL(SCDS_Sub:TClientDataSet); +var + maxno,maxnosub:string; +begin + try + ADOCmd.Connection.BeginTrans; + with frmGetPGJBInList.ClientDataSet2 do + begin + First; + while not Eof do + begin + if GetLSNo(ADOCmd,maxno,'PB','WFBYCL_PB',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_PB where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + if MInt=1 then + begin + FieldByName('PBType').Value:='Ҫ'; + end else + if MInt=2 then + begin + FieldByName('PBType').Value:=''; + end else + if MInt=3 then + begin + FieldByName('PBType').Value:=''; + end; + FieldByName('YCLCode').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('YCLCode').AsString); + FieldByName('YCLName').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('YCLCode').AsString); + FieldByName('YCLSpec').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('YCLCode').AsString); + FieldByName('YLKC').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('QuantityKC').AsString); + FieldByName('YLUnit').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('CRUnit').AsString); + FieldByName('CRID').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('CRID').AsString); + FieldByName('YCLYJKC').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('YJKC').AsString); + Post; + end; + with SCDS_Sub do + begin + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + Post; + end; + with Self.CDS_Sel do + begin + First; + while not Eof do + begin + if GetLSNo(ADOCmd,maxnosub,'PS','WFBYCL_PBSub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_PBSub where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(CDS_Sel.fieldbyname('SubId').AsString); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('PSId').Value:=Trim(maxnosub); + Post; + end; + Next; + end; + end; + Next; + end; + end; + except + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; +procedure TfrmOrderInPutZPLNew.SELYCL(SCDS_Sub:TClientDataSet); +var + maxno,maxnosub:string; +begin + try + frmGetPGJBInList:=TfrmGetPGJBInList.Create(Application); + with frmGetPGJBInList do + begin + if ShowModal=1 then + begin + try ADOCmd.Connection.BeginTrans; + with ClientDataSet2 do + begin + First; + while not Eof do + begin + with SCDS_Sub do + begin + Append; + SCDS_Sub.FieldByName('YCLCode').Value:=Trim(ClientDataSet2.fieldbyname('YCLCode').AsString); + SCDS_Sub.FieldByName('YCLName').Value:=Trim(ClientDataSet2.fieldbyname('YCLName').AsString); + SCDS_Sub.FieldByName('YCLSpec').Value:=Trim(ClientDataSet2.fieldbyname('YCLSpec').AsString); + SCDS_Sub.FieldByName('YLKC').Value:=Trim(ClientDataSet2.fieldbyname('QuantityKC').AsString); + SCDS_Sub.FieldByName('YLUnit').Value:=Trim(ClientDataSet2.fieldbyname('CRUnit').AsString); + SCDS_Sub.FieldByName('CRID').Value:=Trim(ClientDataSet2.fieldbyname('CRID').AsString); + SCDS_Sub.FieldByName('YCLYJKC').Value:=Trim(ClientDataSet2.fieldbyname('YJKC').AsString); + Post; + end; + + if GetLSNo(ADOCmd,maxno,'PB','WFBYCL_PB',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_PB where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + if MInt=1 then + begin + FieldByName('PBType').Value:='Ҫ'; + end else + if MInt=2 then + begin + FieldByName('PBType').Value:=''; + end else + if MInt=3 then + begin + FieldByName('PBType').Value:=''; + end; + FieldByName('YCLCode').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('YCLCode').AsString); + FieldByName('YCLName').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('YCLName').AsString); + FieldByName('YCLSpec').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('YCLSpec').AsString); + FieldByName('YLKC').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('QuantityKC').AsString); + FieldByName('YLUnit').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('CRUnit').AsString); + FieldByName('CRID').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('CRID').AsString); + FieldByName('YCLYJKC').Value:=Trim(frmGetPGJBInList.ClientDataSet2.fieldbyname('YJKC').AsString); + Post; + end; + with SCDS_Sub do + begin + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + Post; + end; + with Self.CDS_Sel do + begin + First; + while not Eof do + begin + if Self.CDS_Sel.FieldByName('SSel').AsBoolean=True then + begin + if GetLSNo(ADOCmd,maxnosub,'PS','WFBYCL_PBSub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_PBSub where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(CDS_Sel.fieldbyname('SubId').AsString); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('PSId').Value:=Trim(maxnosub); + Post; + end; + end; + Next; + end; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + except + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + Exit; + end; + //Self.SaveYCL(SCDS_Sub); + end; + end; + finally + frmGetPGJBInList.Free; + end; +end; + +procedure TfrmOrderInPutZPLNew.EditYCL(SCDS_Sub:TClientDataSet); +begin + try + frmGetPGJBInList:=TfrmGetPGJBInList.Create(Application); + with frmGetPGJBInList do + begin + if ShowModal=1 then + begin + with ClientDataSet2 do + begin + //First; + // while not Eof do + //begin + with SCDS_Sub do + begin + Edit; + SCDS_Sub.FieldByName('YCLCode').Value:=Trim(ClientDataSet2.fieldbyname('YCLCode').AsString); + SCDS_Sub.FieldByName('YCLName').Value:=Trim(ClientDataSet2.fieldbyname('YCLName').AsString); + SCDS_Sub.FieldByName('YCLSpec').Value:=Trim(ClientDataSet2.fieldbyname('YCLSpec').AsString); + //SCDS_Sub.FieldByName('GYSName').Value:=Trim(ClientDataSet2.fieldbyname('GYSName').AsString); + //SCDS_Sub.FieldByName('GYS').Value:=Trim(ClientDataSet2.fieldbyname('GYS').AsString); + SCDS_Sub.FieldByName('YLKC').Value:=Trim(ClientDataSet2.fieldbyname('QuantityKC').AsString); + //CDS_Sub.FieldByName('Qty').Value:=Trim(ClientDataSet2.fieldbyname('QtyKC').AsString); + SCDS_Sub.FieldByName('YLUnit').Value:=Trim(ClientDataSet2.fieldbyname('CRUnit').AsString); + SCDS_Sub.FieldByName('CRID').Value:=Trim(ClientDataSet2.fieldbyname('CRID').AsString); + SCDS_Sub.FieldByName('YCLYJKC').Value:=Trim(ClientDataSet2.fieldbyname('YJKC').AsString); + if SCDS_Sub.FieldByName('YLQty').Value-ClientDataSet2.fieldbyname('YJKC').Value>=0 then + SCDS_Sub.FieldByName('BZ').Value:=SCDS_Sub.FieldByName('YLQty').Value- + ClientDataSet2.fieldbyname('YJKC').Value + else + SCDS_Sub.FieldByName('BZ').Value:=null; + //SCDS_Sub.FieldByName('YCLType').Value:=Trim(ClientDataSet2.fieldbyname('YCLType').AsString); + //SCDS_Sub.FieldByName('YCLPrice').Value:=Trim(ClientDataSet2.fieldbyname('YCLPrice').AsString); + //SCDS_Sub.FieldByName('KCPlace').Value:=Trim(ClientDataSet2.fieldbyname('KCPlace').AsString); + //CDS_Sub.FieldByName('DepotShow').Value:=Trim(ClientDataSet2.fieldbyname('DepotShow').AsString); + //Post; + end; + // Next; + //end; + end; + end; + end; + finally + frmGetPGJBInList.Free; + end; +end; +procedure TfrmOrderInPutZPLNew.ToolButton1Click(Sender: TObject); + +begin + if CDS_Sub.IsEmpty=True then + begin + Application.MessageBox('굥Ϊգ','ʾ',0); + Exit; + end; + OrderDate.SetFocus; + if Trim(OrderNo.Text)='' then + begin + Application.MessageBox('ŲΪգ','ʾ',0); + Exit; + end; + {if Trim(WFBCodeName.Text)='' then + begin + Application.MessageBox('ŲΪգ','ʾ',0); + Exit; + end; + if Trim(WFBCodeName.Hint)='' then + begin + Application.MessageBox('δ壡','ʾ',0); + Exit; + end; } + SaveData10(); + Panel1.Visible:=True; + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from WFBOrder_Sub where MainId='''+Trim(FMainId)+''''); + Open; + {if MInt=1 then + begin + SELYCL(Order_SubZ); + end else + if MInt=2 then + begin + SELYCL(Order_SubF); + end else + if MInt=3 then + begin + SELYCL(Order_SubQ); } + end; + SCreateCDS20(ADOQuery1,CDS_Sel); + SInitCDSData20(ADOQuery1,CDS_Sel); + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add(' exec P_YCLKC_ListKCDD :KCType '); + if MInt=1 then + begin + Parameters.ParamByName('KCType').Value:='Ҫ'; + end else + if MInt=2 then + begin + Parameters.ParamByName('KCType').Value:=''; + end else + if MInt=3 then + begin + Parameters.ParamByName('KCType').Value:=''; + end; + open; + end; + SCreateCDS20(ADOQuery1,CDS_KCSel); + SInitCDSData20(ADOQuery1,CDS_KCSel); +end; + +procedure TfrmOrderInPutZPLNew.ToolButton2Click(Sender: TObject); +begin + if MInt=1 then + begin + DelOrderSub(Order_SubZ); + end else + if MInt=2 then + begin + DelOrderSub(Order_SubF); + end else + if MInt=3 then + begin + DelOrderSub(Order_SubQ); + end; +end; +procedure TfrmOrderInPutZPLNew.DelOrderSub(FOrder_Sub:TClientDataSet); +begin + if FOrder_Sub.IsEmpty then Exit; + if Trim(FOrder_Sub.fieldbyname('PBID').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFBYCL_PB where PBID='''+Trim(FOrder_Sub.fieldbyname('PBID').AsString)+''''); + sql.Add('delete WFBYCL_PBSub where PBID='''+Trim(FOrder_Sub.fieldbyname('PBID').AsString)+''''); + ExecSQL; + end; + end; + FOrder_Sub.Delete; +end; + +procedure TfrmOrderInPutZPLNew.CustomNoNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('CustomNoName'); + flagname:='ͻ'; + if ShowModal=1 then + begin + Self.FXS:=99; + CustomNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + CustomNoName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPLNew.CustomNoNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(CustomNoName,'CustomNoName'); +end; + +procedure TfrmOrderInPutZPLNew.ArrivalPortNamePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('ArrivalPort'); + flagname:=''; + if ShowModal=1 then + begin + Self.FXS:=99; + ArrivalPortName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + ArrivalPortName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPLNew.SCXNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('SCXName'); + flagname:=''; + if ShowModal=1 then + begin + Self.FXS:=99; + SCXName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + SCXName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPLNew.WJGNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WJGName'); + flagname:='ṹ'; + if ShowModal=1 then + begin + Self.FXS:=99; + WJGName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + WJGName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPLNew.WFBCodeNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim(WFBCodeName.Name); + flagname:=''; + if ShowModal=1 then + begin + Self.FXS:=99; + WFBCodeName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + WFBCodeName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPLNew.WFBCodeNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(WFBCodeName,Trim(WFBCodeName.Name)); +end; + +procedure TfrmOrderInPutZPLNew.ArrivalPortNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(ArrivalPortName,'ArrivalPort'); +end; + +procedure TfrmOrderInPutZPLNew.SCXNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(SCXName,Trim(SCXName.Name)); +end; + +procedure TfrmOrderInPutZPLNew.WJGNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(WJGName,Trim(WJGName.Name)); +end; + +procedure TfrmOrderInPutZPLNew.N1Click(Sender: TObject); +begin + + with CDS_DB do + begin + Append; + FieldByName('DBUnit').Value:='/'; + Post; + end; +end; + +procedure TfrmOrderInPutZPLNew.N2Click(Sender: TObject); +begin + if CDS_DB.IsEmpty then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFB_DB where DBID='''+Trim(CDS_DB.fieldbyname('DBID').AsString)+''''); + ExecSQL; + end; + CDS_DB.Delete; +end; + +procedure TfrmOrderInPutZPLNew.Day1Change(Sender: TObject); +var + DayL:string; +begin + if trim(Day1.Text)='' then DayL:='0' + else DayL:=Trim(Day1.Text); + ETDDate.DateTime:=ETADate.Date-strtoint(DayL); +end; + +procedure TfrmOrderInPutZPLNew.OrdQtyKeyPress(Sender: TObject; var Key: Char); +begin + if not (Key in['0'..'9','.',#8,#13]) then + begin + key:=#0; + end; +end; + +procedure TfrmOrderInPutZPLNew.Day2Change(Sender: TObject); +var + DayL:string; +begin + if trim(Day2.Text)='' then DayL:='0' + else DayL:=Trim(Day2.Text); + ZGDate.DateTime:=ETDDate.Date-strtoint(DayL); +end; +procedure TfrmOrderInPutZPLNew.Day3Change(Sender: TObject); +var + DayL:string; +begin + if trim(Day3.Text)='' then DayL:='0' + else DayL:=Trim(Day3.Text); + BegSCDate.DateTime:=BegRKDate.Date-strtoint(DayL); +end; +procedure TfrmOrderInPutZPLNew.ETADateChange(Sender: TObject); +begin + if Trim(Day1.Text)<>'' then + begin + ETDDate.DateTime:=ETADate.Date-strtoint(Day1.Text); + end; + if Trim(Day2.Text)<>'' then + begin + ZGDate.DateTime:=ETDDate.Date-strtoint(Day2.Text); + end; +end; + +procedure TfrmOrderInPutZPLNew.BegRKDateChange(Sender: TObject); +begin + if Trim(Day3.Text)<>'' then + begin + BegSCDate.DateTime:=BegRKDate.Date-strtoint(Day3.Text); + end; +end; + +procedure TfrmOrderInPutZPLNew.Tv1MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + MInt:=1; + Tv1.Bands[0].Caption:='Ҫԭϡ'; + Tv2.Bands[0].Caption:='ԭ'; + Tv3.Bands[0].Caption:=''; + Tv1.Bands[0].Styles.Header.TextColor:=clBlue; + Tv2.Bands[0].Styles.Header.TextColor:=clBlack; + Tv3.Bands[0].Styles.Header.TextColor:=clBlack; +end; + +procedure TfrmOrderInPutZPLNew.Tv2MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + MInt:=2; + Tv1.Bands[0].Caption:='Ҫԭ'; + Tv2.Bands[0].Caption:='ԭϡ'; + Tv3.Bands[0].Caption:=''; + Tv1.Bands[0].Styles.Header.TextColor:=clBlack; + Tv2.Bands[0].Styles.Header.TextColor:=clBlue; + Tv3.Bands[0].Styles.Header.TextColor:=clBlack; +end; + +procedure TfrmOrderInPutZPLNew.Tv3MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + MInt:=3; + Tv1.Bands[0].Caption:='Ҫԭ'; + Tv2.Bands[0].Caption:='ԭ'; + Tv3.Bands[0].Caption:=''; + Tv1.Bands[0].Styles.Header.TextColor:=clBlack; + Tv2.Bands[0].Styles.Header.TextColor:=clBlack; + Tv3.Bands[0].Styles.Header.TextColor:=clBlue; +end; + +procedure TfrmOrderInPutZPLNew.v1Column2PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,YLSH,DHSL,YLQty:Double; + FOrdQty,FKZ:String; +begin + YLQty:=0; + mvalue:=TcxTextEdit(Sender).EditingValue; //KO + + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add(' select A.* from WFBYCL_PBSub A '); + //SQL.Add(' inner join WFBYCL_PB B on B.PBID=A.PBID '); + sql.Add(' where A.PBID='''+Trim(Order_SubZ.fieldbyname('PBID').AsString)+''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + CDS_Sub.Locate('SubId',Trim(ADOTemp.fieldbyname('SubId').AsString),[]); + if Trim(CDS_Sub.fieldbyname('SOrdQty').AsString)='' then + FOrdQty:='0' + else + FOrdQty:=Trim(CDS_Sub.fieldbyname('SOrdQty').AsString); + if Trim(Order_SubZ.fieldbyname('YLSH').AsString)='' then + begin + YLSH:=0; + end else + YLSH:=StrToFloat(Order_SubZ.fieldbyname('YLSH').AsString); + YLQty:=YLQty+StrToFloat(FOrdQty)*mvalue/100*(1+YLSH/100); + Next; + end; + with Order_SubZ do + begin + Edit; + FieldByName('YLQty').Value:=YLQty; + if YLQty-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=YLQty-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + FieldByName('YLPB').Value:=mvalue; + Post; + end; + end; +end; +procedure TfrmOrderInPutZPLNew.OnlyUpYCLData(); +var + mvalue,YLSH,DHSL,YLQty:Double; + FOrdQty,FKZ:String; +begin + YLQty:=0; + if Trim(Order_SubZ.fieldbyname('YLPB').AsString)<>'' then + mvalue:=Order_SubZ.fieldbyname('YLPB').Value + else + mvalue:=0; //KO + + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add(' select A.* from WFBYCL_PBSub A '); + //SQL.Add(' inner join WFBYCL_PB B on B.PBID=A.PBID '); + sql.Add(' where A.PBID='''+Trim(Order_SubZ.fieldbyname('PBID').AsString)+''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + CDS_Sub.Locate('SubId',Trim(ADOTemp.fieldbyname('SubId').AsString),[]); + if Trim(CDS_Sub.fieldbyname('SOrdQty').AsString)='' then + FOrdQty:='0' + else + FOrdQty:=Trim(CDS_Sub.fieldbyname('SOrdQty').AsString); + if Trim(Order_SubZ.fieldbyname('YLSH').AsString)='' then + begin + YLSH:=0; + end else + YLSH:=StrToFloat(Order_SubZ.fieldbyname('YLSH').AsString); + YLQty:=YLQty+StrToFloat(FOrdQty)*mvalue/100*(1+YLSH/100); + Next; + end; + with Order_SubZ do + begin + Edit; + FieldByName('YLQty').Value:=YLQty; + if YLQty-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=YLQty-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + //FieldByName('YLPB').Value:=mvalue; + Post; + end; + end; +end; + +procedure TfrmOrderInPutZPLNew.v1Column3PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,YLSH,DHSL,YLQty,YLPB:Double; + FOrdQty,FKZ:String; +begin + YLQty:=0; + mvalue:=TcxTextEdit(Sender).EditingValue; //KO + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PBSub where PBID='''+Trim(Order_SubZ.fieldbyname('PBID').AsString)+''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + CDS_Sub.Locate('SubId',Trim(ADOTemp.fieldbyname('SubId').AsString),[]); + if Trim(CDS_Sub.fieldbyname('SOrdQty').AsString)='' then + FOrdQty:='0' + else + FOrdQty:=Trim(CDS_Sub.fieldbyname('SOrdQty').AsString); + if Trim(Order_SubZ.fieldbyname('YLPB').AsString)='' then + begin + YLPB:=0; + end else + YLPB:=StrToFloat(Order_SubZ.fieldbyname('YLPB').AsString); + YLQty:=YLQty+StrToFloat(FOrdQty)*YLPB/100*(1+mvalue/100); + Next; + end; + with Order_SubZ do + begin + Edit; + FieldByName('YLQty').Value:=YLQty; + if YLQty-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=YLQty-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + FieldByName('YLSH').Value:=mvalue; + Post; + end; + end; +end; + +procedure TfrmOrderInPutZPLNew.v2Column2PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,YLSHQ,DHSL,YLQty,YLPB:Double; + FOrdQty,FKZ:String; +begin + YLQty:=0; + mvalue:=TcxTextEdit(Sender).EditingValue; //KO + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PBSub where PBID='''+Trim(Order_SubF.fieldbyname('PBID').AsString)+''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + CDS_Sub.Locate('SubId',Trim(ADOTemp.fieldbyname('SubId').AsString),[]); + if Trim(CDS_Sub.fieldbyname('SOrdQty').AsString)='' then + FOrdQty:='0' + else + FOrdQty:=Trim(CDS_Sub.fieldbyname('SOrdQty').AsString); + YLQty:=YLQty+StrToFloat(FOrdQty)*(mvalue*1.00/1000); + Next; + end; + with Order_SubF do + begin + Edit; + FieldByName('YLQty').Value:=YLQty; + if YLQty-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=YLQty-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + FieldByName('YLSHQ').Value:=mvalue; + Post; + end; + end; +end; + +procedure TfrmOrderInPutZPLNew.OrdQtyChange(Sender: TObject); +begin + YLUpdate(); +end; +procedure TfrmOrderInPutZPLNew.YLUpdate(); +var + mvalue,YLSH,DHSL,YLQty,YLPB,YLSHQ:Double; + FOrdQty,FKZ:String; +begin + YLQty:=0; + with Order_SubZ do + begin + if Order_SubZ.IsEmpty=False then + begin + First; + while not Eof do + begin + YLQty:=0; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PBSub where PBID='''+Trim(Order_SubZ.fieldbyname('PBID').AsString)+''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + CDS_Sub.Locate('SubId',Trim(ADOTemp.fieldbyname('SubId').AsString),[]); + if Trim(CDS_Sub.fieldbyname('SOrdQty').AsString)='' then + FOrdQty:='0' + else + FOrdQty:=Trim(CDS_Sub.fieldbyname('SOrdQty').AsString); + if Trim(OrdUnit.Text)='K' then + begin + if Trim(Order_SubZ.fieldbyname('YLPB').AsString)='' then + begin + YLPB:=0; + end else + YLPB:=StrToFloat(Order_SubZ.fieldbyname('YLPB').AsString); + if Trim(Order_SubZ.fieldbyname('YLSH').AsString)='' then + begin + YLSH:=0; + end else + YLSH:=StrToFloat(Order_SubZ.fieldbyname('YLSH').AsString); + YLQty:=YLQty+StrToFloat(FOrdQty)*YLPB/100*(1+YLSH/100); + end else + if Trim(OrdUnit.Text)='O' then + begin + if Trim(CDS_Sub.fieldbyname('SWFBKZ').AsString)='' then + begin + FKZ:='0'; + end else + FKZ:=Trim(CDS_Sub.fieldbyname('SWFBKZ').AsString); + DHSL:=StrToFloat(FOrdQty)*strtofloat(FKZ)/1000; + if Trim(Order_SubZ.fieldbyname('YLPB').AsString)='' then + begin + YLPB:=0; + end else + YLPB:=StrToFloat(Order_SubZ.fieldbyname('YLPB').AsString); + if Trim(Order_SubZ.fieldbyname('YLSH').AsString)='' then + begin + YLSH:=0; + end else + YLSH:=StrToFloat(Order_SubZ.fieldbyname('YLSH').AsString); + YLQty:=YLQty+DHSL*YLPB/100*(1+YLSH/100); + end; + Next; + end; + with Order_SubZ do + begin + Edit; + FieldByName('YLQty').Value:=YLQty; + if YLQty-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=YLQty-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + end; + end; + Next; + end; + end; + + end; + if Order_SubF.IsEmpty=False then + begin + with Order_SubF do + begin + First; + while not Eof do + begin + YLQty:=0; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PBSub where PBID='''+Trim(Order_SubF.fieldbyname('PBID').AsString)+''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + CDS_Sub.Locate('SubId',Trim(ADOTemp.fieldbyname('SubId').AsString),[]); + if Trim(CDS_Sub.fieldbyname('SOrdQty').AsString)='' then + FOrdQty:='0' + else + FOrdQty:=Trim(CDS_Sub.fieldbyname('SOrdQty').AsString); + if Trim(OrdUnit.Text)='K' then + begin + if Trim(Order_SubF.fieldbyname('YLSHQ').AsString)='' then + begin + YLSHQ:=0; + end else + YLSHQ:=StrToFloat(Order_SubF.fieldbyname('YLSHQ').AsString); + YLQty:=YLQty+StrToFloat(FOrdQty)*(YLSHQ*1.00/1000); + end else + if Trim(OrdUnit.Text)='O' then + begin + if Trim(CDS_Sub.fieldbyname('SWFBKZ').AsString)='' then + begin + FKZ:='0'; + end else + FKZ:=Trim(CDS_Sub.fieldbyname('SWFBKZ').AsString); + DHSL:=StrToFloat(FOrdQty)*strtofloat(FKZ)/1000; + if Trim(Order_SubF.fieldbyname('YLSHQ').AsString)='' then + begin + YLSHQ:=0; + end else + YLSHQ:=StrToFloat(Order_SubF.fieldbyname('YLSHQ').AsString); + YLQty:=YLQty+DHSL*(YLSHQ*1.00/1000); + end; + Next; + end; + with Order_SubF do + begin + Edit; + FieldByName('YLQty').Value:=YLQty; + if YLQty-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=YLQty-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + end; + end; + Next; + end; + end; + end; +end; +procedure TfrmOrderInPutZPLNew.v3Column4PropertiesEditValueChanged( + Sender: TObject); +var + mvalue:Double; +begin + mvalue:=TcxTextEdit(Sender).EditingValue; + with Order_SubQ do + begin + Edit; + FieldByName('YLQty').Value:=mvalue; + if mvalue-fieldbyname('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=mvalue-fieldbyname('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + end; +end; + +procedure TfrmOrderInPutZPLNew.TBPrintClick(Sender: TObject); +var + fPrintFile:String; +begin + with ADOQueryQG do + begin + Close; + sql.Clear; + sql.Add(' exec P_Print_SGD :OrderNo'); + Parameters.ParamByName('OrderNo').Value:=Trim(OrderNo.Text); + Open; + end; + if ADOQueryQG.IsEmpty then Exit; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\빺.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + RMVariables['dyr']:=Trim(DName); + RM2.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\빺.rmf'),'ʾ',0); + end; +end; + +procedure TfrmOrderInPutZPLNew.v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + EditYCL(Order_SubZ); +end; + +procedure TfrmOrderInPutZPLNew.v2Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + EditYCL(Order_SubF); +end; + +procedure TfrmOrderInPutZPLNew.v3Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + EditYCL(Order_SubQ); +end; + +procedure TfrmOrderInPutZPLNew.MenuItem1Click(Sender: TObject); +var + i:Integer; +begin + CopyAddRow(TvSub,CDS_Sub); + i:=CDS_Sub.RecordCount; + with CDS_Sub do + begin + Edit; + FieldByName('MainId').Value:=''; + FieldByName('SubId').Value:=''; + FieldByName('SWFBColor').Value:=''; + FieldByName('SWFBCode').Value:=''; + FieldByName('SWFBCodeName').Value:=''; + FieldByName('SWFBBZQty1').Value:=0; + FieldByName('SOrdQty').Value:=0; + FieldByName('XHNO').Value:=IntToStr(i); + Post; + end; + OrdQty.Text:=floattostr(TvSub.DataController.Summary.FooterSummaryValues[0]); +end; + +procedure TfrmOrderInPutZPLNew.MenuItem2Click(Sender: TObject); +var + mvalue,YLSH,DHSL,YLQty,YLPB,YLSHQ:Double; + FOrdQty,FKZ:String; +begin + if CDS_Sub.IsEmpty then Exit; + if Trim(CDS_Sub.fieldbyname('SubID').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_PBSub where SubId='''+Trim(CDS_Sub.fieldbyname('SubID').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + with ADOCMD do + begin + Close; + sql.Clear; + sql.Add('delete WFBYCL_PBSub where SubId='''+Trim(CDS_Sub.fieldbyname('SubID').AsString)+''''); + sql.Add('delete WFBOrder_Sub where SubID='''+Trim(CDS_Sub.fieldbyname('SubID').AsString)+''''); + ExecSQL; + end; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PB where MainId='''+Trim(FMainId)+''' '); + sql.Add(' and not exists(select * from WFBYCL_PBSub A where A.PBId=WFBYCL_PB.PBID and A.MainId='''+Trim(FMainId)+''' )'); + open; + end; + with ADOTemp do + begin + ADOTemp.First; + while not ADOTemp.Eof do + begin + if Trim(ADOTemp.fieldbyname('PBID').AsString)<>'' then + begin + if Order_SubZ.IsEmpty=False then + begin + if Order_SubZ.Locate('PBID',Trim(ADOTemp.fieldbyname('PBID').AsString),[]) then + Order_SubZ.Delete; + end; + if Order_SubF.IsEmpty=False then + begin + if Order_SubF.Locate('PBID',Trim(ADOTemp.fieldbyname('PBID').AsString),[]) then + Order_SubF.Delete; + end; + if Order_SubQ.IsEmpty=False then + begin + if Order_SubQ.Locate('PBID',Trim(ADOTemp.fieldbyname('PBID').AsString),[]) then + Order_SubQ.Delete; + end; + end; + ADOTemp.Next; + end; + end; + with ADOCMD do + begin + Close; + SQL.Clear; + sql.Add(' delete WFBYCL_PB where not exists(select * from WFBYCL_PBSub A where A.PBId=WFBYCL_PB.PBID )'); + SQL.Add(' and MainId='''+Trim(FMainId)+''''); + ExecSQL; + end; + + end else + begin + with ADOCmd do + begin + close; + sql.Clear; + sql.Add('delete WFBOrder_Sub where SubID='''+Trim(CDS_Sub.fieldbyname('SubID').AsString)+''''); + ExecSQL; + end; + end; + end; + CDS_Sub.Delete; + //YLUpdate(); + if CDS_Sub.isempty=False then + OrdQty.Text:=floattostr(TvSub.DataController.Summary.FooterSummaryValues[0]); + //if ((Order_SubZ.IsEmpty) and (Order_SubF.IsEmpty) and (Order_SubQ.IsEmpty)) then Exit; + YLUpdate(); +end; + +procedure TfrmOrderInPutZPLNew.cxGridDBColumn3PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WFBColor'; + flagname:='ɫ'; + if ShowModal=1 then + begin + with Self.CDS_Sub do + begin + Edit; + FieldByName('SWFBColor').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + //Post; + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPLNew.vSubColumn2PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WFBHX'; + flagname:=''; + if ShowModal=1 then + begin + with Self.CDS_Sub do + begin + Edit; + FieldByName('SWFBHW').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + //Post; + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPLNew.cxGridDBColumn2PropertiesEditValueChanged( + Sender: TObject); +var + FOrdQty,FKZ:String; +begin + FKZ:=TcxTextEdit(Sender).EditingText; + with CDS_Sub do + begin + Edit; + if Trim(FKZ)='' then + FieldByName('SWFBKZ').Value:='0' + else + FieldByName('SWFBKZ').Value:=FKZ; + Post; + end; + YCLDataUPdate(); +end; +procedure TfrmOrderInPutZPLNew.YCLDataUPdate(); +var + mvalue,YLSH,DHSL,YLQty,YLPB,YLSHQ,FQty1,FQty2,FQty3,FFK1,FFK2,DDZDHL:Double; + FOrdQty,FKZ,ZPType:String; +begin + if Trim(CDS_Sub.FieldByName('SWFBFK1').AsString)='' then + FFK1:=0 + else + FFK1:=CDS_Sub.FieldByName('SWFBFK1').Value; + if Trim(CDS_Sub.FieldByName('SWFBFK2').AsString)='' then + FFK2:=0 + else + FFK2:=CDS_Sub.FieldByName('SWFBFK2').Value; + if Trim(CDS_Sub.FieldByName('SWFBBZQty1').AsString)='' then + FQty1:=1 + else + FQty1:=CDS_Sub.FieldByName('SWFBBZQty1').Value; + if Trim(CDS_Sub.FieldByName('SWFBBZQty2').AsString)='' then + FQty2:=1 + else + FQty2:=CDS_Sub.FieldByName('SWFBBZQty2').Value; + if Trim(CDS_Sub.FieldByName('SWFBBZQty3').AsString)='' then + FQty3:=1 + else + FQty3:=CDS_Sub.FieldByName('SWFBBZQty3').Value; + if Trim(CDS_Sub.fieldbyname('SWFBKZ').AsString)='' then + FKZ:='0' + else + FKZ:=Trim(CDS_Sub.fieldbyname('SWFBKZ').AsString); + ZPType:=Trim(CDS_Sub.fieldbyname('SubType').AsString); + if Trim(ZPType)='' then + begin + if Trim(Self.DD.Text)<>'' then + begin + DDZDHL:=StrToFloat(DD.Text); + end else + DDZDHL:=0; + end else + if Trim(ZPType)='۵' then + begin + if Trim(Self.ZD.Text)<>'' then + begin + DDZDHL:=StrToFloat(ZD.Text); + end else + DDZDHL:=0; + + end else + DDZDHL:=0; + DDZDHL:=(100+DDZDHL)*1.00/100; + + with CDS_Sub do + begin + Edit; + FieldByName('SOrdQty').Value:=(FFK1*1.00/100)*(FFK2*1.00/100)*(FQty1*FQty2*FQty3)*Strtofloat(FKZ)/1000*DDZDHL; + Post; + end; + if Trim(CDS_Sub.fieldbyname('SOrdQty').AsString)='' then + FOrdQty:='0' + else + FOrdQty:=Trim(CDS_Sub.fieldbyname('SOrdQty').AsString); + OrdQty.Text:=floattostr(TvSub.DataController.Summary.FooterSummaryValues[0]); + YLQty:=0; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add(' select distinct(A.PBID) PBID from WFBYCL_PBSub A '); + SQL.Add(' inner join WFBYCL_PB B on B.PBID=A.PBID '); + sql.Add(' where A.SubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+''''); + sql.Add(' and B.PBType=''Ҫ'''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select * from WFBYCL_PBSub where PBID='''+Trim(ADOTemp.fieldbyname('PBID').AsString)+''''); + Open; + end; + Order_SubZ.Locate('PBID',Trim(ADOTemp.fieldbyname('PBID').AsString),[]); + if Trim(Order_SubZ.fieldbyname('YLSH').AsString)='' then + begin + YLSH:=0; + end else + YLSH:=StrToFloat(Order_SubZ.fieldbyname('YLSH').AsString); + if Trim(Order_SubZ.fieldbyname('YLPB').AsString)='' then + begin + YLPB:=0; + end else + YLPB:=StrToFloat(Order_SubZ.fieldbyname('YLPB').AsString); + with ADOQuery1 do + begin + First; + while not Eof do + begin + CDS_Sub.Locate('SubId',Trim(ADOQuery1.fieldbyname('SubId').AsString),[]); + if Trim(CDS_Sub.fieldbyname('SOrdQty').AsString)='' then + FOrdQty:='0' + else + FOrdQty:=Trim(CDS_Sub.fieldbyname('SOrdQty').AsString); + YLQty:=YLQty+StrToFloat(FOrdQty)*YLPB/100*(1+YLSH/100); + Next; + end; + end; + with Order_SubZ do + begin + Edit; + FieldByName('YLQty').Value:=YLQty; + if YLQty-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=YLQty-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + end; + YLQty:=0; + Next; + end; + end; + YLQty:=0; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add(' select distinct(A.PBID) PBID from WFBYCL_PBSub A '); + SQL.Add(' inner join WFBYCL_PB B on B.PBID=A.PBID '); + sql.Add(' where A.SubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+''''); + sql.Add(' and B.PBType='''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select * from WFBYCL_PBSub where PBID='''+Trim(ADOTemp.fieldbyname('PBID').AsString)+''''); + Open; + end; + Order_SubF.Locate('PBID',Trim(ADOTemp.fieldbyname('PBID').AsString),[]); + if Trim(Order_SubF.fieldbyname('YLSHQ').AsString)='' then + begin + YLSHQ:=0; + end else + YLSHQ:=StrToFloat(Order_SubF.fieldbyname('YLSHQ').AsString); + with ADOQuery1 do + begin + First; + while not Eof do + begin + CDS_Sub.Locate('SubId',Trim(ADOQuery1.fieldbyname('SubId').AsString),[]); + if Trim(CDS_Sub.fieldbyname('SOrdQty').AsString)='' then + FOrdQty:='0' + else + FOrdQty:=Trim(CDS_Sub.fieldbyname('SOrdQty').AsString); + YLQty:=YLQty+StrToFloat(FOrdQty)*(YLSHQ*1.00/1000); + Next; + end; + end; + with Order_SubF do + begin + Edit; + FieldByName('YLQty').Value:=YLQty; + if YLQty-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=YLQty-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + end; + YLQty:=0; + Next; + end; + end; +end; + +procedure TfrmOrderInPutZPLNew.TvSubColumn1PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,YLSH,DHSL,YLQty,YLPB,YLSHQ:Double; + FOrdQty,FKZ:String; +begin + FOrdQty:=TcxTextEdit(Sender).EditingText; + with CDS_Sub do + begin + Edit; + if Trim(FOrdQty)='' then + FieldByName('SOrdQty').Value:='0' + else + FieldByName('SOrdQty').Value:=FOrdQty; + Post; + end; + + YLQty:=0; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add(' select distinct(A.PBID) PBID from WFBYCL_PBSub A '); + SQL.Add(' inner join WFBYCL_PB B on B.PBID=A.PBID '); + sql.Add(' where A.SubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+''''); + sql.Add(' and B.PBType=''Ҫ'''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select * from WFBYCL_PBSub where PBID='''+Trim(ADOTemp.fieldbyname('PBID').AsString)+''''); + Open; + end; + Order_SubZ.Locate('PBID',Trim(ADOTemp.fieldbyname('PBID').AsString),[]); + if Trim(Order_SubZ.fieldbyname('YLSH').AsString)='' then + begin + YLSH:=0; + end else + YLSH:=StrToFloat(Order_SubZ.fieldbyname('YLSH').AsString); + if Trim(Order_SubZ.fieldbyname('YLPB').AsString)='' then + begin + YLPB:=0; + end else + YLPB:=StrToFloat(Order_SubZ.fieldbyname('YLPB').AsString); + with ADOQuery1 do + begin + First; + while not Eof do + begin + CDS_Sub.Locate('SubId',Trim(ADOQuery1.fieldbyname('SubId').AsString),[]); + if Trim(CDS_Sub.fieldbyname('SOrdQty').AsString)='' then + FOrdQty:='0' + else + FOrdQty:=Trim(CDS_Sub.fieldbyname('SOrdQty').AsString); + if Trim(OrdUnit.Text)='K' then + begin + YLQty:=YLQty+StrToFloat(FOrdQty)*YLPB/100*(1+YLSH/100); + end else + if Trim(OrdUnit.Text)='O' then + begin + if Trim(CDS_Sub.fieldbyname('SWFBKZ').AsString)='' then + begin + FKZ:='0'; + end else + FKZ:=Trim(CDS_Sub.fieldbyname('SWFBKZ').AsString); + DHSL:=StrToFloat(FOrdQty)*strtofloat(FKZ)/1000; + YLQty:=YLQty+DHSL*YLPB/100*(1+YLSH/100); + end; + Next; + end; + end; + with Order_SubZ do + begin + Edit; + FieldByName('YLQty').Value:=YLQty; + if YLQty-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=YLQty-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + end; + YLQty:=0; + Next; + end; + end; + YLQty:=0; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add(' select distinct(A.PBID) PBID from WFBYCL_PBSub A '); + SQL.Add(' inner join WFBYCL_PB B on B.PBID=A.PBID '); + sql.Add(' where A.SubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+''''); + sql.Add(' and B.PBType='''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select * from WFBYCL_PBSub where PBID='''+Trim(ADOTemp.fieldbyname('PBID').AsString)+''''); + Open; + end; + Order_SubF.Locate('PBID',Trim(ADOTemp.fieldbyname('PBID').AsString),[]); + if Trim(Order_SubF.fieldbyname('YLSHQ').AsString)='' then + begin + YLSHQ:=0; + end else + YLSHQ:=StrToFloat(Order_SubF.fieldbyname('YLSHQ').AsString); + with ADOQuery1 do + begin + First; + while not Eof do + begin + CDS_Sub.Locate('SubId',Trim(ADOQuery1.fieldbyname('SubId').AsString),[]); + if Trim(CDS_Sub.fieldbyname('SOrdQty').AsString)='' then + FOrdQty:='0' + else + FOrdQty:=Trim(CDS_Sub.fieldbyname('SOrdQty').AsString); + if Trim(OrdUnit.Text)='K' then + begin + YLQty:=YLQty+StrToFloat(FOrdQty)*(YLSHQ*1.00/1000); + end else + if Trim(OrdUnit.Text)='O' then + begin + if Trim(CDS_Sub.fieldbyname('SWFBKZ').AsString)='' then + begin + FKZ:='0'; + end else + FKZ:=Trim(CDS_Sub.fieldbyname('SWFBKZ').AsString); + DHSL:=StrToFloat(FOrdQty)*strtofloat(FKZ)/1000; + YLQty:=YLQty+DHSL*(YLSHQ*1.00/1000); + end; + Next; + end; + end; + with Order_SubF do + begin + Edit; + FieldByName('YLQty').Value:=YLQty; + if YLQty-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=YLQty-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + end; + YLQty:=0; + Next; + end; + end; + //OrdQty:= + OrdQty.Text:=floattostr(TvSub.DataController.Summary.FooterSummaryValues[0]); +end; + +procedure TfrmOrderInPutZPLNew.Panel10MouseMove(Sender: TObject; + Shift: TShiftState; X, Y: Integer); +begin + ReleaseCapture; + TWinControl(Panel1).perform(WM_SYSCOMMAND, $F012, 0); +end; + +procedure TfrmOrderInPutZPLNew.Image2Click(Sender: TObject); +begin + Panel1.Visible:=False; +end; + +procedure TfrmOrderInPutZPLNew.Button3Click(Sender: TObject); +begin + Panel1.Visible:=False; +end; + +procedure TfrmOrderInPutZPLNew.Button2Click(Sender: TObject); +begin + if CDS_Sel.Locate('ssel',True,[])=False then + begin + Application.MessageBox('ûѡݣ','ʾ',0); + Exit; + end; + if MInt=1 then + begin + SELYCLKC(Order_SubZ); + + end else + if MInt=2 then + begin + SELYCLKC(Order_SubF); + end else + if MInt=3 then + begin + SELYCLKC(Order_SubQ); + end; + Panel1.Visible:=False; +end; +procedure TfrmOrderInPutZPLNew.SELYCLKC(SCDS_Sub:TClientDataSet); +var + maxno,maxnosub:string; + YLPB,YLSH:Double; +begin + + try ADOCmd.Connection.BeginTrans; + with CDS_KCSel do + begin + First; + while not Eof do + begin + if CDS_KCSel.FieldByName('SSel').AsBoolean=True then + begin + if MInt=1 then + begin + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1* from WFBYCL_PB where YCLCode='''+Trim(CDS_KCSel.fieldbyname('YCLCode').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1* from WFBYCL_PB where YCLCode='''+Trim(CDS_KCSel.fieldbyname('YCLCode').AsString)+''''); + SQL.Add(' and YLPB>0 order by FillTime desc'); + Open; + end; + if Trim(ADOTemp.fieldbyname('YLPB').AsString)<>'' then + YLPB:=ADOTemp.fieldbyname('YLPB').Value + else + YLPB:=0; + if Trim(ADOTemp.fieldbyname('YLSH').AsString)<>'' then + YLSH:=ADOTemp.fieldbyname('YLSH').Value + else + YLSH:=0; + end else + begin + YLPB:=0; + YLSH:=0; + end; + end; + + with SCDS_Sub do + begin + Append; + SCDS_Sub.FieldByName('YCLCode').Value:=Trim(CDS_KCSel.fieldbyname('YCLCode').AsString); + SCDS_Sub.FieldByName('YCLName').Value:=Trim(CDS_KCSel.fieldbyname('YCLName').AsString); + SCDS_Sub.FieldByName('YCLSpec').Value:=Trim(CDS_KCSel.fieldbyname('YCLSpec').AsString); + SCDS_Sub.FieldByName('YLKC').Value:=Trim(CDS_KCSel.fieldbyname('KCQty').AsString); + SCDS_Sub.FieldByName('YLUnit').Value:=Trim(CDS_KCSel.fieldbyname('KCUint').AsString); + SCDS_Sub.FieldByName('CRID').Value:=Trim(CDS_KCSel.fieldbyname('CRID').AsString); + SCDS_Sub.FieldByName('YCLYJKC').Value:=Trim(CDS_KCSel.fieldbyname('YJKC').AsString); + if MInt=1 then + begin + SCDS_Sub.FieldByName('YLPB').Value:=YLPB; + SCDS_Sub.FieldByName('YLSH').Value:=YLSH; + end; + Post; + end; + // + if GetLSNo(ADOCmd,maxno,'PB','WFBYCL_PB',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_PB where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + if MInt=1 then + begin + FieldByName('PBType').Value:='Ҫ'; + end else + if MInt=2 then + begin + FieldByName('PBType').Value:=''; + end else + if MInt=3 then + begin + FieldByName('PBType').Value:=''; + end; + FieldByName('YCLCode').Value:=Trim(CDS_KCSel.fieldbyname('YCLCode').AsString); + FieldByName('YCLName').Value:=Trim(CDS_KCSel.fieldbyname('YCLName').AsString); + FieldByName('YCLSpec').Value:=Trim(CDS_KCSel.fieldbyname('YCLSpec').AsString); + FieldByName('YLKC').Value:=Trim(CDS_KCSel.fieldbyname('KCQty').AsString); + FieldByName('YLUnit').Value:=Trim(CDS_KCSel.fieldbyname('KCUint').AsString); + FieldByName('CRID').Value:=Trim(CDS_KCSel.fieldbyname('CRID').AsString); + FieldByName('YCLYJKC').Value:=Trim(CDS_KCSel.fieldbyname('YJKC').AsString); + Post; + end; + with SCDS_Sub do + begin + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + Post; + end; + // + + //ӱ + with Self.CDS_Sel do + begin + First; + while not Eof do + begin + if Self.CDS_Sel.FieldByName('SSel').AsBoolean=True then + begin + if GetLSNo(ADOCmd,maxnosub,'PS','WFBYCL_PBSub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_PBSub where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(CDS_Sel.fieldbyname('SubId').AsString); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('PSId').Value:=Trim(maxnosub); + Post; + end; + end; + Next; + end; + end; + if MInt=1 then + OnlyUpYCLData(); + //ӱ + end; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + except + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + Exit; + end; +end; + +procedure TfrmOrderInPutZPLNew.FormClose(Sender: TObject; + var Action: TCloseAction); +var + maxno,FFS:string; + wz:Integer; +begin + WriteCxBandedGrid('1',Tv1,'޷IJ'); + WriteCxBandedGrid('ϸ1',Tv2,'޷IJ'); + WriteCxBandedGrid('1',Tv3,'޷IJ'); + WriteCxGrid('ӱ1',TvSub,'޷IJ'); + WriteCxGrid('1',TVDB,'޷IJ'); + {if CopyInt=1 then + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFBOrder_Main where MainId='''+Trim(FMainId)+''''); + sql.Add('delete WFBOrder_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add('delete WFB_DB where MainId='''+Trim(FMainId)+''''); + sql.Add('delete WFBYCL_PB where MainId='''+Trim(FMainId)+''''); + sql.Add('delete WFBYCL_PBSub where MainId='''+Trim(FMainId)+''''); + ExecSQL; + end; + end; + wz:=Pos('F',FMainId); + FFS:=Copy(FMainId,wz,4); + if ((CopyInt=1) or (FFS='FZ')) then + begin + UpMainId(); + end; } +end; +procedure TfrmOrderInPutZPLNew.UpMainId(); +var + maxno:string; +begin + try + ADOCmd.Connection.BeginTrans; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PBSub where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + if GetLSNo(ADOCmd,maxno,'PS','WFBYCL_PBSub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBYCL_PBSub Set PSID='''+Trim(maxno)+''''); + SQL.Add(' where PSID='''+Trim(ADOTemp.fieldbyname('PSID').AsString)+''''); + ExecSQL; + end; + Next; + end; + end; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PB where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + if GetLSNo(ADOCmd,maxno,'PB','WFBYCL_PB',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBYCL_PB Set PBID='''+Trim(maxno)+''''); + SQL.Add(' where PBID='''+Trim(ADOTemp.fieldbyname('PBID').AsString)+''''); + sql.Add('UPdate WFBYCL_PBSub Set PBID='''+Trim(maxno)+''''); + SQL.Add(' where PBID='''+Trim(ADOTemp.fieldbyname('PBID').AsString)+''''); + ExecSQL; + end; + Next; + end; + end; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBOrder_Sub where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + if GetLSNo(ADOCmd,maxno,'','WFBOrder_Sub',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Sub Set SubID='''+Trim(maxno)+''''); + SQL.Add(' where SubID='''+Trim(ADOTemp.fieldbyname('SubID').AsString)+''''); + sql.Add('UPdate WFBYCL_PBSub Set SubID='''+Trim(maxno)+''''); + SQL.Add(' where SubID='''+Trim(ADOTemp.fieldbyname('SubID').AsString)+''''); + ExecSQL; + end; + Next; + end; + end; + if GetLSNo(ADOCmd,maxno,'','WFBOrder_Main',2,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Main Set MainID='''+Trim(maxno)+''''); + SQL.Add(' where MainID='''+Trim(FMainId)+''''); + sql.Add('Update WFBOrder_Sub Set MainID='''+Trim(maxno)+''''); + SQL.Add(' where MainID='''+Trim(FMainId)+''''); + sql.Add('Update WFB_DB Set MainID='''+Trim(maxno)+''''); + SQL.Add(' where MainID='''+Trim(FMainId)+''''); + sql.Add('UPdate WFBYCL_PB Set MainID='''+Trim(maxno)+''''); + SQL.Add(' where MainID='''+Trim(FMainId)+''''); + sql.Add('UPdate WFBYCL_PBSub Set MainID='''+Trim(maxno)+''''); + SQL.Add(' where MainID='''+Trim(FMainId)+''''); + ExecSQL; + end; + ADOCmd.Connection.CommitTrans; + FMainId:=Trim(maxno); + except + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ˮʧܣ','ʾ',0); + end; +end; +procedure TfrmOrderInPutZPLNew.vSubColumn6PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WFBBZUnitD'); + flagname:='װ'; + if ShowModal=1 then + begin + Self.CDS_Sub.Edit; + CDS_Sub.FieldByName('SWFBBZUnit1').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPLNew.vSubColumn8PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WFBBZUnitZ'); + flagname:='аװ'; + if ShowModal=1 then + begin + Self.CDS_Sub.Edit; + CDS_Sub.FieldByName('SWFBBZUnit2').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPLNew.vSubColumn10PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WFBBZUnitD'); + flagname:='Сװ'; + if ShowModal=1 then + begin + Self.CDS_Sub.Edit; + CDS_Sub.FieldByName('SWFBBZUnit3').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPLNew.BZPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + {try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('BZ'); + flagname:='۵λ'; + if ShowModal=1 then + begin + Self.FXS:=99; + BZ.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + BZ.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; } +end; + +procedure TfrmOrderInPutZPLNew.BZPropertiesChange(Sender: TObject); +begin + { if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(BZ,'BZ'); } +end; + +procedure TfrmOrderInPutZPLNew.cxGridDBColumn4PropertiesEditValueChanged( + Sender: TObject); +var + FStr:String; +begin + FStr:=TcxTextEdit(Sender).EditingText; + with CDS_Sub do + begin + Edit; + if Trim(FStr)='' then + FieldByName('SWFBFK1').Value:='0' + else + FieldByName('SWFBFK1').Value:=FStr; + Post; + end; + YCLDataUPdate(); +end; + +procedure TfrmOrderInPutZPLNew.vSubColumn4PropertiesEditValueChanged( + Sender: TObject); +var + FStr:String; +begin + FStr:=TcxTextEdit(Sender).EditingText; + with CDS_Sub do + begin + Edit; + if Trim(FStr)='' then + FieldByName('SWFBFK2').Value:='0' + else + FieldByName('SWFBFK2').Value:=FStr; + Post; + end; + YCLDataUPdate(); +end; + +procedure TfrmOrderInPutZPLNew.vSubColumn5PropertiesEditValueChanged( + Sender: TObject); +var + FStr:String; +begin + FStr:=TcxTextEdit(Sender).EditingText; + with CDS_Sub do + begin + Edit; + if Trim(FStr)='' then + FieldByName('SWFBBZQty1').Value:='1' + else + FieldByName('SWFBBZQty1').Value:=FStr; + Post; + end; + YCLDataUPdate(); +end; + +procedure TfrmOrderInPutZPLNew.vSubColumn7PropertiesEditValueChanged( + Sender: TObject); +var + FStr:String; +begin + FStr:=TcxTextEdit(Sender).EditingText; + with CDS_Sub do + begin + Edit; + if Trim(FStr)='' then + FieldByName('SWFBBZQty2').Value:='1' + else + FieldByName('SWFBBZQty2').Value:=FStr; + Post; + end; + YCLDataUPdate(); +end; + + +procedure TfrmOrderInPutZPLNew.vSubColumn9PropertiesEditValueChanged( + Sender: TObject); +var + FStr:String; +begin + FStr:=TcxTextEdit(Sender).EditingText; + with CDS_Sub do + begin + Edit; + if Trim(FStr)='' then + FieldByName('SWFBBZQty3').Value:='1' + else + FieldByName('SWFBBZQty3').Value:=FStr; + Post; + end; + YCLDataUPdate(); +end; + + +procedure TfrmOrderInPutZPLNew.vSubColumn12PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim(WFBCodeName.Name); + flagname:=''; + if ShowModal=1 then + begin + CDS_Sub.Edit; + CDS_Sub.FieldByName('SWFBCodeName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + CDS_Sub.FieldByName('SWFBCode').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1* from WFBOrder_Sub where SWFBCode='''+Trim(CDS_Sub.fieldbyname('SWFBCode').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty then Exit; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select Top 1* from WFBOrder_Sub where SWFBCode='''+Trim(CDS_Sub.fieldbyname('SWFBCode').AsString)+''''); + sql.Add(' order by SFillTIme Desc'); + Open; + end; + with CDS_Sub do + begin + Edit; + FieldByName('SWFBColor').Value:=ADOTemp.fieldbyname('SWFBColor').Value; + FieldByName('SWFBHW').Value:=ADOTemp.fieldbyname('SWFBHW').Value; + FieldByName('SWFBKZ').Value:=ADOTemp.fieldbyname('SWFBKZ').Value; + FieldByName('SWFBFK1').Value:=ADOTemp.fieldbyname('SWFBFK1').Value; + FieldByName('SWFBFK2').Value:=ADOTemp.fieldbyname('SWFBFK2').Value; + FieldByName('SOrdPrice').Value:=ADOTemp.fieldbyname('SOrdPrice').Value; + FieldByName('SWFBBZUnit1').Value:=ADOTemp.fieldbyname('SWFBBZUnit1').Value; + FieldByName('SWFBBZQty2').Value:=ADOTemp.fieldbyname('SWFBBZQty2').Value; + FieldByName('SWFBBZUnit2').Value:=ADOTemp.fieldbyname('SWFBBZUnit2').Value; + FieldByName('SWFBBZQty3').Value:=ADOTemp.fieldbyname('SWFBBZQty3').Value; + FieldByName('SWFBBZUnit3').Value:=ADOTemp.fieldbyname('SWFBBZUnit3').Value; + FieldByName('WKMS').Value:=ADOTemp.fieldbyname('WKMS').Value; + FieldByName('KZSmal').Value:=ADOTemp.fieldbyname('KZSmal').Value; + FieldByName('KZBig').Value:=ADOTemp.fieldbyname('KZBig').Value; + //Post; + end; +end; + +procedure TfrmOrderInPutZPLNew.MenuItem3Click(Sender: TObject); +begin + CDS_Sel.DisableControls; + with CDS_Sel do + begin + First; + while not Eof do + begin + Edit; + FieldByName('SSel').Value:=True; + Post; + Next; + end; + end; + CDS_Sel.EnableControls; +end; + +procedure TfrmOrderInPutZPLNew.MenuItem4Click(Sender: TObject); +begin + CDS_Sel.DisableControls; + with CDS_Sel do + begin + First; + while not Eof do + begin + Edit; + FieldByName('SSel').Value:=False; + Post; + Next; + end; + end; + CDS_Sel.EnableControls; +end; + +procedure TfrmOrderInPutZPLNew.cxButtonEdit1PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('JJDW'); + flagname:='Ƽ۵λ'; + if ShowModal=1 then + begin + Self.FXS:=99; + BZ.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + // BZ.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPLNew.cxButtonEdit1PropertiesChange( + Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(BZ,'JJDW'); +end; + +procedure TfrmOrderInPutZPLNew.vSubColumn13PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WKMS'); + flagname:='Ŀ'; + if ShowModal=1 then + begin + Self.CDS_Sub.Edit; + CDS_Sub.FieldByName('WKMS').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPLNew.TBChkOkClick(Sender: TObject); +begin + ChkInt:=1; + TBSave.Click; +end; + +procedure TfrmOrderInPutZPLNew.TBChkNoClick(Sender: TObject); +begin + ChkInt:=2; + TBSave.Click; +end; + +procedure TfrmOrderInPutZPLNew.Button4Click(Sender: TObject); +begin + if CDS_Sub.IsEmpty then exit; + if( (Order_SubZ.IsEmpty) and (Order_SubF.IsEmpty) and (Order_SubQ.IsEmpty) )then Exit; + if Trim(OrderNo.Text)='' then + begin + Application.MessageBox('ŲΪգ','ʾ',0); + Exit; + end; + SaveData10(); + if CDS_Sub.Locate('SSel',True,[])=False then + begin + Application.MessageBox('굥δѡݣܸ£','ʾ',0); + Exit; + end; + if Order_SubZ.Locate('SSel',True,[])=False then + begin + if Order_SubF.Locate('SSel',True,[])=False then + if Order_SubZ.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ԭϱδѡݣܸ£','ʾ',0); + Exit; + end; + end; + try + ADOCMD.Connection.BeginTrans; + YCLPBIDUPdate(Order_SubZ); + YCLPBIDUPdate(Order_SubF); + YCLPBIDUPdate(Order_SubQ); + YLUpdate(); + ADOCMD.Connection.CommitTrans; + Application.MessageBox('³ɹ','ʾ',0); + Exit; + except + ADOCMD.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; +procedure TfrmOrderInPutZPLNew.YCLPBIDUPdate(SOrder_SubZ:TClientDataSet); +var + maxno:String; +begin + with CDS_Sub do + begin + First; + while not Eof do + begin + if CDS_Sub.FieldByName('SSel').AsBoolean=True then + begin + with SOrder_SubZ do + begin + First; + while not Eof do + begin + if SOrder_SubZ.FieldByName('SSel').AsBoolean=True then + begin + with ADOCMD do + begin + Close; + sql.Clear; + sql.Add('delete WFBYCL_PBSub where SubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+''''); + sql.Add(' and PBID='''+Trim(SOrder_SubZ.fieldbyname('PBID').AsString)+''''); + ExecSQL; + end; + if GetLSNo(ADOCMD,maxno,'PS','WFBYCL_PBSub',4,1)=False then + begin + ADOCMD.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOCMD do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_PBSub where 1<>1'); + Open; + end; + with ADOCMD do + begin + Append; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(CDS_Sub.fieldbyname('SubId').AsString); + FieldByName('PBID').Value:=Trim(SOrder_SubZ.fieldbyname('PBID').AsString); + FieldByName('PSID').Value:=Trim(maxno); + Post; + end; + end; + Next; + end; + end; + end; + Next; + end; + end; +end; + +procedure TfrmOrderInPutZPLNew.N3Click(Sender: TObject); +begin + SelAll(CDS_Sub,True); +end; + +procedure TfrmOrderInPutZPLNew.N4Click(Sender: TObject); +begin + SelAll(CDS_Sub,False); +end; + +procedure TfrmOrderInPutZPLNew.DDChange(Sender: TObject); +begin + if CDS_Sub.IsEmpty then Exit; + YCLDataUPdate(); +end; + +procedure TfrmOrderInPutZPLNew.ZDChange(Sender: TObject); +begin + if CDS_Sub.IsEmpty then Exit; + YCLDataUPdate(); +end; + +procedure TfrmOrderInPutZPLNew.vSubColumn11PropertiesEditValueChanged( + Sender: TObject); +var + FStr:String; +begin + FStr:=TcxTextEdit(Sender).EditingText; + with CDS_Sub do + begin + Edit; + if Trim(FStr)='' then + FieldByName('SubType').Value:='' + else + FieldByName('SubType').Value:=FStr; + Post; + end; + YCLDataUPdate(); +end; + +procedure TfrmOrderInPutZPLNew.MenuItem7Click(Sender: TObject); +begin + if MInt=1 then + begin + SelAll(Order_SubZ,True); + end else + if MInt=2 then + begin + SelAll(Order_SubF,True); + end else + if MInt=3 then + begin + SelAll(Order_SubQ,True); + end; +end; + +procedure TfrmOrderInPutZPLNew.MenuItem8Click(Sender: TObject); +begin + if MInt=1 then + begin + SelAll(Order_SubZ,False); + end else + if MInt=2 then + begin + SelAll(Order_SubF,False); + end else + if MInt=3 then + begin + SelAll(Order_SubQ,False); + end; +end; + +end. diff --git a/打卷检验管理/U_OrderInPutZPNew.dfm b/打卷检验管理/U_OrderInPutZPNew.dfm new file mode 100644 index 0000000..f4388b7 --- /dev/null +++ b/打卷检验管理/U_OrderInPutZPNew.dfm @@ -0,0 +1,1711 @@ +object frmOrderInPutZPNew: TfrmOrderInPutZPNew + Left = 81 + Top = 20 + Width = 1102 + Height = 705 + Caption = #25351#31034#21333#24405#20837'('#21046#21697')' + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1094 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBOrder.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = TBSaveClick + end + object TBClose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object ScrollBox1: TScrollBox + Left = 0 + Top = 29 + Width = 1094 + Height = 318 + Align = alTop + BevelInner = bvNone + BevelOuter = bvNone + Color = clBtnFace + Ctl3D = False + ParentColor = False + ParentCtl3D = False + TabOrder = 1 + object Label1: TLabel + Left = 24 + Top = 15 + Width = 65 + Height = 12 + Caption = #35746#21333#32534#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 204 + Top = 15 + Width = 53 + Height = 12 + Caption = #20195' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 727 + Top = 15 + Width = 65 + Height = 12 + Caption = #19979#21333#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 375 + Top = 15 + Width = 53 + Height = 12 + Caption = #23458' '#25143#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 547 + Top = 15 + Width = 52 + Height = 12 + Caption = #21040#36798#28207#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label16: TLabel + Left = 912 + Top = 15 + Width = 65 + Height = 12 + Caption = #21512#35745#25968#37327#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label19: TLabel + Left = 24 + Top = 68 + Width = 1068 + Height = 12 + Caption = + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - ' + Font.Charset = GB2312_CHARSET + Font.Color = clFuchsia + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label20: TLabel + Left = 23 + Top = 116 + Width = 1068 + Height = 12 + Caption = + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - ' + Font.Charset = GB2312_CHARSET + Font.Color = clFuchsia + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label21: TLabel + Left = 25 + Top = 88 + Width = 34 + Height = 12 + Caption = 'ETA'#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label22: TLabel + Left = 257 + Top = 90 + Width = 34 + Height = 12 + Caption = 'ETD'#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label23: TLabel + Left = 491 + Top = 89 + Width = 39 + Height = 12 + Caption = #35013#26588#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label24: TLabel + Left = 684 + Top = 88 + Width = 53 + Height = 12 + Caption = #20837' '#24211#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label25: TLabel + Left = 939 + Top = 89 + Width = 39 + Height = 12 + Caption = #29983#20135#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label26: TLabel + Left = 221 + Top = 88 + Width = 13 + Height = 15 + Caption = #22825 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label27: TLabel + Left = 165 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label28: TLabel + Left = 238 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label29: TLabel + Left = 455 + Top = 88 + Width = 13 + Height = 15 + Caption = #22825 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label30: TLabel + Left = 400 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label31: TLabel + Left = 472 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 909 + Top = 88 + Width = 13 + Height = 15 + Caption = #22825 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label32: TLabel + Left = 854 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label33: TLabel + Left = 923 + Top = 88 + Width = 14 + Height = 15 + Caption = '>>' + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 23 + Top = 294 + Width = 1068 + Height = 12 + Caption = + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' + + '- - - - - - - - - - - - - - - - - - - - - - - - ' + Font.Charset = GB2312_CHARSET + Font.Color = clFuchsia + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label5: TLabel + Left = 22 + Top = 131 + Width = 30 + Height = 14 + Caption = #35814#21333 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 738 + Top = 131 + Width = 60 + Height = 14 + Caption = #25171#21253#35814#32454 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label35: TLabel + Left = 911 + Top = 131 + Width = 60 + Height = 14 + Caption = #27880#24847#20107#39033 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 24 + Top = 46 + Width = 65 + Height = 12 + Caption = #35745#20215#21333#20301#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 202 + Top = 46 + Width = 52 + Height = 12 + Caption = #29983#20135#32447#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 375 + Top = 46 + Width = 52 + Height = 12 + Caption = #32593#32467#26500#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label34: TLabel + Left = 547 + Top = 46 + Width = 91 + Height = 12 + Caption = #27597#21367#20811#37325#33539#22260#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label36: TLabel + Left = 695 + Top = 45 + Width = 14 + Height = 12 + Caption = '--' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label39: TLabel + Left = 974 + Top = 44 + Width = 14 + Height = 12 + Caption = '--' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label37: TLabel + Left = 824 + Top = 46 + Width = 91 + Height = 12 + Caption = #23567#21367#20811#37325#33539#22260#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 772 + Top = 43 + Width = 23 + Height = 15 + Caption = 'g/'#13217 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 1051 + Top = 43 + Width = 23 + Height = 15 + Caption = 'g/'#13217 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + end + object OrderNo: TEdit + Left = 86 + Top = 13 + Width = 103 + Height = 18 + TabOrder = 0 + end + object OrderDate: TDateTimePicker + Left = 791 + Top = 11 + Width = 103 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + TabOrder = 1 + end + object WFBCodeName: TcxButtonEdit + Left = 252 + Top = 11 + ParentShowHint = False + Properties.BeepOnError = True + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = WFBCodeNamePropertiesButtonClick + Properties.OnChange = WFBCodeNamePropertiesChange + ShowHint = False + TabOrder = 2 + OnKeyDown = WFBCodeNameKeyDown + Width = 97 + end + object CustomNoName: TcxButtonEdit + Left = 426 + Top = 11 + Hint = 'CustomerNo' + BeepOnEnter = False + ParentShowHint = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = CustomNoNamePropertiesButtonClick + Properties.OnChange = CustomNoNamePropertiesChange + ShowHint = False + TabOrder = 3 + OnKeyDown = WFBCodeNameKeyDown + Width = 100 + end + object ArrivalPortName: TcxButtonEdit + Left = 596 + Top = 11 + BeepOnEnter = False + ParentShowHint = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = ArrivalPortNamePropertiesButtonClick + Properties.OnChange = ArrivalPortNamePropertiesChange + ShowHint = False + TabOrder = 4 + OnKeyDown = WFBCodeNameKeyDown + Width = 117 + end + object OrdQty: TEdit + Left = 975 + Top = 11 + Width = 49 + Height = 18 + Enabled = False + TabOrder = 5 + OnChange = OrdQtyChange + OnKeyPress = OrdQtyKeyPress + end + object OrdUnit: TComboBox + Left = 1025 + Top = 11 + Width = 51 + Height = 20 + Style = csDropDownList + Ctl3D = False + Enabled = False + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ItemHeight = 12 + ParentCtl3D = False + ParentFont = False + TabOrder = 6 + OnChange = OrdQtyChange + Items.Strings = ( + #13199 + #13217) + end + object ETADate: TDateTimePicker + Left = 57 + Top = 85 + Width = 104 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + TabOrder = 7 + OnChange = ETADateChange + end + object ETDDate: TDateTimePicker + Left = 291 + Top = 85 + Width = 104 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 8 + end + object ZGDate: TDateTimePicker + Left = 527 + Top = 85 + Width = 104 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 9 + end + object BegRKDate: TDateTimePicker + Left = 735 + Top = 85 + Width = 115 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + TabOrder = 10 + OnChange = BegRKDateChange + end + object BegSCDate: TDateTimePicker + Left = 972 + Top = 85 + Width = 104 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ShowCheckbox = True + Enabled = False + TabOrder = 11 + end + object Day1: TEdit + Left = 184 + Top = 87 + Width = 35 + Height = 18 + TabOrder = 12 + OnChange = Day1Change + OnKeyPress = OrdQtyKeyPress + end + object Day2: TEdit + Left = 418 + Top = 87 + Width = 35 + Height = 18 + TabOrder = 13 + OnChange = Day2Change + OnKeyPress = OrdQtyKeyPress + end + object Day3: TEdit + Left = 872 + Top = 87 + Width = 35 + Height = 18 + TabOrder = 14 + OnChange = Day3Change + OnKeyPress = OrdQtyKeyPress + end + object BZ: TcxButtonEdit + Left = 86 + Top = 43 + BeepOnEnter = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = BZPropertiesButtonClick + Properties.OnChange = BZPropertiesChange + TabOrder = 15 + OnKeyDown = WFBCodeNameKeyDown + Width = 101 + end + object cxGrid5: TcxGrid + Left = 21 + Top = 146 + Width = 710 + Height = 139 + TabOrder = 16 + object TvSub: TcxGridDBTableView + PopupMenu = PopupMenu2 + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = TvSubColumn1 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object vSubColumn3: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'XHNO' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 34 + end + object vSubColumn11: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'SubType' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.Items.Strings = ( + #28857#27573 + #25240#21472) + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 49 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = cxGridDBColumn3PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 45 + end + object vSubColumn2: TcxGridDBColumn + Caption = #33457#32441 + DataBinding.FieldName = 'SWFBHW' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = vSubColumn2PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 41 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #20811#37325'g/'#13217 + DataBinding.FieldName = 'SWFBKZ' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 63 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #38271#24230'cm' + DataBinding.FieldName = 'SWFBFK1' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 49 + end + object vSubColumn4: TcxGridDBColumn + Caption = #23485#24230'cm' + DataBinding.FieldName = 'SWFBFK2' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 46 + end + object vSubColumn1: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'SOrdPrice' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 49 + end + object vSubColumn5: TcxGridDBColumn + Caption = #22823#25968#37327 + DataBinding.FieldName = 'SWFBBZQty1' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 46 + end + object vSubColumn6: TcxGridDBColumn + Caption = #22823#21333#20301 + DataBinding.FieldName = 'SWFBBZUnit1' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = vSubColumn6PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 48 + end + object vSubColumn7: TcxGridDBColumn + Caption = #20013#25968#37327 + DataBinding.FieldName = 'SWFBBZQty2' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 49 + end + object vSubColumn8: TcxGridDBColumn + Caption = #20013#21333#20301 + DataBinding.FieldName = 'SWFBBZUnit2' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = vSubColumn8PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 49 + end + object vSubColumn9: TcxGridDBColumn + Caption = #23567#25968#37327 + DataBinding.FieldName = 'SWFBBZQty3' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 49 + end + object vSubColumn10: TcxGridDBColumn + Caption = #23567#21333#20301 + DataBinding.FieldName = 'SWFBBZUnit3' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = vSubColumn10PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 53 + end + object TvSubColumn1: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'SOrdQty' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 45 + end + end + object cxGridLevel4: TcxGridLevel + GridView = TvSub + end + end + object cxGrid4: TcxGrid + Left = 736 + Top = 146 + Width = 169 + Height = 138 + TabOrder = 17 + object TVDB: TcxGridDBTableView + PopupMenu = PopupMenu1 + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TVZDYCellDblClick + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + object cxGridDBColumn1: TcxGridDBColumn + Caption = #21253#25968#37327 + DataBinding.FieldName = 'BSL' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.handBlack + Width = 48 + end + object VDBColumn1: TcxGridDBColumn + Caption = #21367#25968#37327 + DataBinding.FieldName = 'JSL' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 49 + end + object VDBColumn2: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'DBUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 55 + end + end + object cxGridLevel3: TcxGridLevel + GridView = TVDB + end + end + object Note: TRichEdit + Left = 910 + Top = 146 + Width = 166 + Height = 139 + TabOrder = 18 + end + object SCXName: TcxButtonEdit + Left = 252 + Top = 43 + Hint = 'FactoryNo1' + BeepOnEnter = False + ParentShowHint = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = SCXNamePropertiesButtonClick + Properties.OnChange = SCXNamePropertiesChange + ShowHint = False + TabOrder = 19 + OnKeyDown = WFBCodeNameKeyDown + Width = 97 + end + object WJGName: TcxButtonEdit + Left = 426 + Top = 43 + Hint = 'FactoryNo2' + BeepOnEnter = False + ParentShowHint = False + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.MaxLength = 0 + Properties.OnButtonClick = WJGNamePropertiesButtonClick + Properties.OnChange = WJGNamePropertiesChange + ShowHint = False + TabOrder = 20 + OnKeyDown = WFBCodeNameKeyDown + Width = 98 + end + object MJKZX: TEdit + Left = 635 + Top = 43 + Width = 60 + Height = 18 + TabOrder = 21 + OnKeyPress = OrdQtyKeyPress + end + object MJKZD: TEdit + Left = 709 + Top = 43 + Width = 60 + Height = 18 + TabOrder = 22 + OnKeyPress = OrdQtyKeyPress + end + object XJKZD: TEdit + Left = 990 + Top = 43 + Width = 60 + Height = 18 + TabOrder = 23 + OnKeyPress = OrdQtyKeyPress + end + object XJKZX: TEdit + Left = 912 + Top = 43 + Width = 60 + Height = 18 + TabOrder = 24 + OnKeyPress = OrdQtyKeyPress + end + object PanZDY: TPanel + Left = 899 + Top = 157 + Width = 151 + Height = 153 + TabOrder = 25 + Visible = False + object CXGridZDY: TcxGrid + Left = 3 + Top = 4 + Width = 142 + Height = 113 + TabOrder = 0 + object TVZDY: TcxGridDBTableView + OnKeyPress = TVZDYKeyPress + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TVZDYCellDblClick + DataController.DataSource = DataSource2 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + object VHelpZDYName: TcxGridDBColumn + DataBinding.FieldName = 'ZDYName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.handBlack + Width = 129 + IsCaptionAssigned = True + end + end + object CXGridZDYLevel1: TcxGridLevel + GridView = TVZDY + end + end + object Button1: TButton + Left = 40 + Top = 120 + Width = 65 + Height = 25 + Caption = #20851#38381 + TabOrder = 1 + OnClick = Button1Click + end + end + end + object ScrollBox2: TScrollBox + Left = 0 + Top = 347 + Width = 1094 + Height = 321 + Align = alClient + BevelInner = bvNone + BevelOuter = bvNone + Ctl3D = False + ParentCtl3D = False + TabOrder = 2 + object cxGrid3: TcxGrid + Left = 809 + Top = 31 + Width = 366 + Height = 269 + Align = alLeft + TabOrder = 0 + object Tv3: TcxGridDBBandedTableView + OnMouseDown = Tv3MouseDown + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSourceQ + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'YCLCode' + Column = v3Column1 + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Bands = < + item + Caption = #20854#23427 + Styles.Header = DataLink_WFBOrder.TextSHuangSe + Width = 400 + end> + object v3Column1: TcxGridDBBandedColumn + Caption = #29289#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v3Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 55 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object v3Column2: TcxGridDBBandedColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 44 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object v3Column3: TcxGridDBBandedColumn + Caption = #24211#23384 + DataBinding.FieldName = 'YLKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 48 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object v3Column4: TcxGridDBBandedColumn + Caption = #29992#37327 + DataBinding.FieldName = 'YLQty' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v3Column4PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 53 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object v3Column5: TcxGridDBBandedColumn + Caption = #21333#20301 + DataBinding.FieldName = 'YLUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 40 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object v3Column6: TcxGridDBBandedColumn + Caption = #30003#36141#25968#37327 + DataBinding.FieldName = 'SGQty' + HeaderAlignmentHorz = taCenter + Width = 66 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object v3Column7: TcxGridDBBandedColumn + Caption = #21069#21333#24211#23384 + DataBinding.FieldName = 'YCLYJKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 53 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object v3Column8: TcxGridDBBandedColumn + Tag = 2 + Caption = #19981#36275 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 34 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv3 + end + end + object cxGrid2: TcxGrid + Left = 425 + Top = 31 + Width = 384 + Height = 269 + Align = alLeft + TabOrder = 1 + object Tv2: TcxGridDBBandedTableView + OnMouseDown = Tv2MouseDown + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSourceF + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'YCLCode' + Column = v2Column1 + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Bands = < + item + Caption = #36741#21161#21407#26009 + Styles.Header = DataLink_WFBOrder.FonePurple + Width = 428 + end> + object v2Column1: TcxGridDBBandedColumn + Caption = #21407#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v2Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 68 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object v2Column2: TcxGridDBBandedColumn + Caption = #32791#29575#8240 + DataBinding.FieldName = 'YLSHQ' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v2Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 41 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object v2Column3: TcxGridDBBandedColumn + Caption = #29992#37327'KG' + DataBinding.FieldName = 'YLQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 42 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object v2Column4: TcxGridDBBandedColumn + Caption = #24211#23384 + DataBinding.FieldName = 'YLKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 40 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object v2Column5: TcxGridDBBandedColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 60 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object v2Column6: TcxGridDBBandedColumn + Caption = #30003#36141#25968#37327 + DataBinding.FieldName = 'SGQty' + HeaderAlignmentHorz = taCenter + Width = 74 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object v2Column7: TcxGridDBBandedColumn + Caption = #21069#21333#24211#23384 + DataBinding.FieldName = 'YCLYJKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 58 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object v2Column8: TcxGridDBBandedColumn + Tag = 2 + Caption = #19981#36275 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Width = 34 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 31 + Width = 425 + Height = 269 + Align = alLeft + TabOrder = 2 + object Tv1: TcxGridDBBandedTableView + OnMouseDown = Tv1MouseDown + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSourceZ + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'YCLCode' + Column = v1Column1 + end> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Bands = < + item + Caption = #20027#35201#21407#26009 + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 487 + end> + object v1Column1: TcxGridDBBandedColumn + Caption = #21407#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v1Column1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 69 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object v1Column2: TcxGridDBBandedColumn + Caption = #37197#27604'%' + DataBinding.FieldName = 'YLPB' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 37 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object v1Column3: TcxGridDBBandedColumn + Caption = #25439#32791'%' + DataBinding.FieldName = 'YLSH' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column3PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 39 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object v1Column4: TcxGridDBBandedColumn + Caption = #29992#37327'KG' + DataBinding.FieldName = 'YLQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 41 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object v1Column5: TcxGridDBBandedColumn + Caption = #24211#23384 + DataBinding.FieldName = 'YLKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 41 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object v1Column6: TcxGridDBBandedColumn + Caption = #35268#26684 + DataBinding.FieldName = 'YCLSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 54 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object v1Column7: TcxGridDBBandedColumn + Caption = #30003#36141#25968#37327 + DataBinding.FieldName = 'SGQty' + HeaderAlignmentHorz = taCenter + Width = 64 + Position.BandIndex = 0 + Position.ColIndex = 8 + Position.RowIndex = 0 + end + object v1Column8: TcxGridDBBandedColumn + Caption = #21069#21333#24211#23384 + DataBinding.FieldName = 'YCLYJKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 55 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object v1Column9: TcxGridDBBandedColumn + Tag = 2 + Caption = #19981#36275 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Content = DataLink_WFBOrder.FoneRed + Width = 37 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 0 + Width = 1175 + Height = 31 + ButtonHeight = 30 + ButtonWidth = 95 + Caption = 'ToolBar1' + Color = clBtnFace + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBOrder.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 3 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton2Click + end + object TBPrint: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #25171#21360#35831#36141#21333 + ImageIndex = 96 + OnClick = TBPrintClick + end + end + end + object ADOTemp: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 912 + Top = 357 + end + object ADOCmd: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + Parameters = <> + Left = 832 + Top = 309 + end + object DataSourceZ: TDataSource + DataSet = Order_SubZ + Left = 296 + Top = 440 + end + object Order_SubZ: TClientDataSet + Aggregates = <> + Params = <> + Left = 256 + Top = 440 + end + object DataSource2: TDataSource + DataSet = ADOZDY + Left = 760 + Top = 8 + end + object ADOZDY: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 728 + Top = 5 + end + object CDS_ZDY: TClientDataSet + Aggregates = <> + Params = <> + Left = 800 + Top = 8 + end + object ADOQuery1: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + Parameters = <> + Left = 856 + Top = 301 + end + object Order_SubF: TClientDataSet + Aggregates = <> + Params = <> + Left = 456 + Top = 440 + end + object DataSourceF: TDataSource + DataSet = Order_SubF + Left = 488 + Top = 440 + end + object Order_SubQ: TClientDataSet + Aggregates = <> + Params = <> + Left = 800 + Top = 448 + end + object DataSourceQ: TDataSource + DataSet = Order_SubQ + Left = 832 + Top = 448 + end + object ADOQueryQG: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 224 + Top = 285 + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = ADOQueryQG + Left = 288 + Top = 296 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 328 + Top = 288 + ReportData = {} + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 256 + Top = 288 + end + object DataSource1: TDataSource + DataSet = CDS_Sub + Left = 136 + Top = 232 + end + object CDS_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 72 + Top = 224 + end + object PopupMenu2: TPopupMenu + Left = 104 + Top = 229 + object MenuItem1: TMenuItem + Caption = #22686#34892 + OnClick = MenuItem1Click + end + object N3: TMenuItem + Caption = #21024#34892 + OnClick = N3Click + end + end + object CDS_DB: TClientDataSet + Aggregates = <> + Params = <> + Left = 592 + Top = 232 + end + object PopupMenu1: TPopupMenu + Left = 544 + Top = 253 + object N1: TMenuItem + Caption = #22686#34892 + OnClick = N1Click + end + object N2: TMenuItem + Caption = #21024#34892 + OnClick = N2Click + end + end + object DataSource3: TDataSource + DataSet = CDS_DB + Left = 544 + Top = 200 + end +end diff --git a/打卷检验管理/U_OrderInPutZPNew.pas b/打卷检验管理/U_OrderInPutZPNew.pas new file mode 100644 index 0000000..4a52f13 --- /dev/null +++ b/打卷检验管理/U_OrderInPutZPNew.pas @@ -0,0 +1,1984 @@ +unit U_OrderInPutZPNew; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxClasses, cxControls, + cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, + cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, + ExtCtrls, BtnEdit, cxCalendar, cxGridBandedTableView, + cxGridDBBandedTableView, Menus, RM_Common, RM_Class, RM_e_Xls, + RM_GridReport, RM_System, RM_Dataset, cxDropDownEdit; + +type + TfrmOrderInPutZPNew = class(TForm) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ScrollBox1: TScrollBox; + Label1: TLabel; + Label2: TLabel; + Label3: TLabel; + OrderNo: TEdit; + OrderDate: TDateTimePicker; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + DataSourceZ: TDataSource; + Order_SubZ: TClientDataSet; + DataSource2: TDataSource; + ADOZDY: TADOQuery; + CDS_ZDY: TClientDataSet; + WFBCodeName: TcxButtonEdit; + ADOQuery1: TADOQuery; + Label12: TLabel; + CustomNoName: TcxButtonEdit; + Label13: TLabel; + ArrivalPortName: TcxButtonEdit; + Label16: TLabel; + OrdQty: TEdit; + OrdUnit: TComboBox; + Label19: TLabel; + Label20: TLabel; + Label21: TLabel; + ETADate: TDateTimePicker; + Label22: TLabel; + ETDDate: TDateTimePicker; + Label23: TLabel; + ZGDate: TDateTimePicker; + Label24: TLabel; + BegRKDate: TDateTimePicker; + Label25: TLabel; + BegSCDate: TDateTimePicker; + Day1: TEdit; + Label26: TLabel; + Label27: TLabel; + Label28: TLabel; + Day2: TEdit; + Label29: TLabel; + Label30: TLabel; + Label31: TLabel; + Day3: TEdit; + Label18: TLabel; + Label32: TLabel; + Label33: TLabel; + Label4: TLabel; + Order_SubF: TClientDataSet; + DataSourceF: TDataSource; + Order_SubQ: TClientDataSet; + DataSourceQ: TDataSource; + ScrollBox2: TScrollBox; + cxGrid3: TcxGrid; + Tv3: TcxGridDBBandedTableView; + v3Column1: TcxGridDBBandedColumn; + v3Column2: TcxGridDBBandedColumn; + v3Column3: TcxGridDBBandedColumn; + v3Column4: TcxGridDBBandedColumn; + v3Column5: TcxGridDBBandedColumn; + cxGridLevel2: TcxGridLevel; + cxGrid2: TcxGrid; + Tv2: TcxGridDBBandedTableView; + v2Column1: TcxGridDBBandedColumn; + v2Column2: TcxGridDBBandedColumn; + v2Column3: TcxGridDBBandedColumn; + v2Column4: TcxGridDBBandedColumn; + v2Column5: TcxGridDBBandedColumn; + cxGridLevel1: TcxGridLevel; + cxGrid1: TcxGrid; + Tv1: TcxGridDBBandedTableView; + v1Column1: TcxGridDBBandedColumn; + v1Column2: TcxGridDBBandedColumn; + v1Column3: TcxGridDBBandedColumn; + v1Column4: TcxGridDBBandedColumn; + v1Column5: TcxGridDBBandedColumn; + v1Column6: TcxGridDBBandedColumn; + cxGrid1Level1: TcxGridLevel; + ToolBar2: TToolBar; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + TBPrint: TToolButton; + v1Column7: TcxGridDBBandedColumn; + v2Column6: TcxGridDBBandedColumn; + v3Column6: TcxGridDBBandedColumn; + v1Column8: TcxGridDBBandedColumn; + v2Column7: TcxGridDBBandedColumn; + v3Column7: TcxGridDBBandedColumn; + v1Column9: TcxGridDBBandedColumn; + v2Column8: TcxGridDBBandedColumn; + v3Column8: TcxGridDBBandedColumn; + ADOQueryQG: TADOQuery; + RMDB_Main: TRMDBDataSet; + RM2: TRMGridReport; + RMXLSExport1: TRMXLSExport; + BZ: TcxButtonEdit; + Label5: TLabel; + cxGrid5: TcxGrid; + TvSub: TcxGridDBTableView; + vSubColumn3: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + vSubColumn2: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + TvSubColumn1: TcxGridDBColumn; + vSubColumn1: TcxGridDBColumn; + cxGridLevel4: TcxGridLevel; + Label7: TLabel; + cxGrid4: TcxGrid; + TVDB: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + VDBColumn1: TcxGridDBColumn; + VDBColumn2: TcxGridDBColumn; + cxGridLevel3: TcxGridLevel; + Note: TRichEdit; + Label35: TLabel; + DataSource1: TDataSource; + CDS_Sub: TClientDataSet; + PopupMenu2: TPopupMenu; + MenuItem1: TMenuItem; + CDS_DB: TClientDataSet; + PopupMenu1: TPopupMenu; + N1: TMenuItem; + N2: TMenuItem; + DataSource3: TDataSource; + vSubColumn4: TcxGridDBColumn; + vSubColumn5: TcxGridDBColumn; + vSubColumn6: TcxGridDBColumn; + vSubColumn7: TcxGridDBColumn; + vSubColumn8: TcxGridDBColumn; + vSubColumn9: TcxGridDBColumn; + vSubColumn10: TcxGridDBColumn; + Label9: TLabel; + Label6: TLabel; + SCXName: TcxButtonEdit; + Label8: TLabel; + WJGName: TcxButtonEdit; + Label34: TLabel; + MJKZX: TEdit; + MJKZD: TEdit; + Label36: TLabel; + XJKZD: TEdit; + Label39: TLabel; + XJKZX: TEdit; + Label37: TLabel; + PanZDY: TPanel; + CXGridZDY: TcxGrid; + TVZDY: TcxGridDBTableView; + VHelpZDYName: TcxGridDBColumn; + CXGridZDYLevel1: TcxGridLevel; + Button1: TButton; + Label10: TLabel; + Label11: TLabel; + vSubColumn11: TcxGridDBColumn; + N3: TMenuItem; + procedure TBCloseClick(Sender: TObject); + procedure TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button1Click(Sender: TObject); + procedure WFBCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); + procedure TVZDYKeyPress(Sender: TObject; var Key: Char); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure CustomNoNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure CustomNoNamePropertiesChange(Sender: TObject); + procedure ArrivalPortNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure SCXNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WJGNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WFBCodeNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WFBCodeNamePropertiesChange(Sender: TObject); + procedure ArrivalPortNamePropertiesChange(Sender: TObject); + procedure SCXNamePropertiesChange(Sender: TObject); + procedure WJGNamePropertiesChange(Sender: TObject); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure Day1Change(Sender: TObject); + procedure OrdQtyKeyPress(Sender: TObject; var Key: Char); + procedure Day2Change(Sender: TObject); + procedure Day3Change(Sender: TObject); + procedure ETADateChange(Sender: TObject); + procedure BegRKDateChange(Sender: TObject); + procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv3MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure v1Column2PropertiesEditValueChanged(Sender: TObject); + procedure v1Column3PropertiesEditValueChanged(Sender: TObject); + procedure v2Column2PropertiesEditValueChanged(Sender: TObject); + procedure OrdQtyChange(Sender: TObject); + procedure v3Column4PropertiesEditValueChanged(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v2Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v3Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WFBBZUnit1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WFBBZUnit2PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure WFBBZUnit3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure BZPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure BZPropertiesChange(Sender: TObject); + procedure WFBBZQty1Change(Sender: TObject); + procedure vSubColumn6PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure vSubColumn8PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure vSubColumn10PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure MenuItem1Click(Sender: TObject); + procedure N3Click(Sender: TObject); + procedure cxGridDBColumn3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure vSubColumn2PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + private + MInt:Integer; + procedure InitData(); + procedure ZDYHelp(FButn:TcxButtonEdit;LType:string); + function SaveData():Boolean; + procedure DelOrderSub(FOrder_Sub:TClientDataSet); + procedure SELYCL(SCDS_Sub:TClientDataSet); + procedure EditYCL(SCDS_Sub:TClientDataSet); + { Private declarations } + public + PState,BState:Integer; + FMainId:String; + FXS:Integer; + OrderType:String; + { Public declarations } + end; + +var + frmOrderInPutZPNew: TfrmOrderInPutZPNew; + +implementation +uses + U_DataLink,U_ZDYHelp,U_Fun,U_GetPGJBInList; + +{$R *.dfm} + +procedure TfrmOrderInPutZPNew.TBCloseClick(Sender: TObject); +begin + if PState<>3 then + begin + if Application.MessageBox('ǷҪݣ','ʾ',32+4)=IDYES then + begin + TBSave.Click; + Exit; + end; + end; + Close; + WriteCxBandedGrid('',Tv1,'޷IJ'); + WriteCxBandedGrid('ϸ',Tv2,'޷IJ'); + WriteCxBandedGrid('',Tv3,'޷IJ'); + +end; + +procedure TfrmOrderInPutZPNew.InitData(); +var + i:Integer; +begin + with ADOQuery1 do + begin + Close; + SQL.Clear; + sql.Add(' exec P_WFBOrder_List :begdate,:endate,:MainId'); + if PState>0 then + begin + ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(FMainId); + ADOQuery1.Parameters.ParamByName('begdate').Value:=''; + ADOQuery1.Parameters.ParamByName('endate').Value:=''; + end; + if PState=0 then + begin + ADOQuery1.Parameters.ParamByName('MainId').Value:='999999'; + ADOQuery1.Parameters.ParamByName('begdate').Value:=''; + ADOQuery1.Parameters.ParamByName('endate').Value:=''; + end; + Open; + end; + // SCreateCDS20(ADOQuery1,Order_Sub); + //SInitCDSData20(ADOQuery1,Order_Sub); + SCSHData(ADOQuery1,ScrollBox1,0); + if PState=0 then + begin + OrderDate.DateTime:=StrToDate(FormatDateTime('yyyy-MM-dd',SGetServerDateTime(ADOTemp))); + ETADate.DateTime:=OrderDate.DateTime; + ETDDate.DateTime:=OrderDate.DateTime; + ZGDate.DateTime:=OrderDate.DateTime; + BegRKDate.DateTime:=OrderDate.DateTime; + BegSCDate.DateTime:=OrderDate.DateTime; + ETADate.Checked:=False; + ETDDate.Checked:=False; + ZGDate.Checked:=False; + BegRKDate.Checked:=False; + BegSCDate.Checked:=False; + end; + if Trim(DParameters1)<>'' then + begin + BegRKDate.Enabled:=False; + Day3.Enabled:=False; + BegSCDate.Enabled:=False; + //Note.Enabled:=False; + cxGrid4.Enabled:=False; + MJKZX.Enabled:=False; + MJKZD.Enabled:=False; + XJKZX.Enabled:=False; + XJKZD.Enabled:=False; + SCXName.Enabled:=False; + WJGName.Enabled:=False; + ScrollBox2.Enabled:=False; + end; + if PState=4 then + begin + BegRKDate.Enabled:=True; + Day3.Enabled:=True; + BegSCDate.Enabled:=True; + //Note.Enabled:=False; + cxGrid4.Enabled:=True; + MJKZX.Enabled:=True; + MJKZD.Enabled:=True; + XJKZX.Enabled:=True; + XJKZD.Enabled:=True; + SCXName.Enabled:=True; + WJGName.Enabled:=True; + ScrollBox2.Enabled:=True; + end; + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select * from WFB_DB where MainId='''+Trim(FMainId)+''''); + Open; + end; + SCreateCDS20(ADOQuery1,CDS_DB); + SInitCDSData20(ADOQuery1,CDS_DB); + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select * from WFBOrder_Sub where MainId='''+Trim(FMainId)+''''); + Open; + end; + SCreateCDS20(ADOQuery1,CDS_Sub); + SInitCDSData20(ADOQuery1,CDS_Sub); + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select A.*,Case when A.YLQty-A.YCLYJkc>=0 then A.YLQty-A.YCLYJkc else null end as BZ from WFBYCL_PB A where MainId='''+Trim(FMainId)+''''); + sql.Add(' and PBType=''Ҫ'' '); + Open; + end; + SCreateCDS20(ADOQuery1,Order_SubZ); + SInitCDSData20(ADOQuery1,Order_SubZ); + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select A.*,Case when A.YLQty-A.YCLYJkc>=0 then A.YLQty-A.YCLYJkc else null end as BZ from WFBYCL_PB A where MainId='''+Trim(FMainId)+''''); + sql.Add(' and PBType='''' '); + Open; + end; + SCreateCDS20(ADOQuery1,Order_SubF); + SInitCDSData20(ADOQuery1,Order_SubF); + with ADOQuery1 do + begin + Close; + sql.Clear; + SQL.Add('select A.*,Case when A.YLQty-A.YCLYJkc>=0 then A.YLQty-A.YCLYJkc else null end as BZ from WFBYCL_PB A where MainId='''+Trim(FMainId)+''''); + sql.Add(' and PBType='''' '); + Open; + end; + SCreateCDS20(ADOQuery1,Order_SubQ); + SInitCDSData20(ADOQuery1,Order_SubQ); + PanZDY.Visible:=False; + if PState=4 then + begin + PState:=0; + FMainId:='999999'; + //OrderNo.Text:=''; + WFBCodeName.Text:=''; + WFBCodeName.Hint:=''; + PanZDY.Visible:=False; + with CDS_DB do + begin + First; + while not Eof do + begin + Edit; + FieldByName('DBID').Value:=''; + Post; + Next; + end; + end; + with Order_SubZ do + begin + First; + while not Eof do + begin + Edit; + FieldByName('PBID').Value:=''; + FieldByName('YLKC').Value:=0; + FieldByName('YCLYJKC').Value:=0; + FieldByName('BZ').Value:=0; + FieldByName('SGQty').Value:=0; + Post; + Next; + end; + end; + v1Column1.Options.Focusing:=True; + with Order_SubF do + begin + First; + while not Eof do + begin + Edit; + FieldByName('PBID').Value:=''; + FieldByName('YLKC').Value:=0; + FieldByName('YCLYJKC').Value:=0; + FieldByName('BZ').Value:=0; + FieldByName('SGQty').Value:=0; + Post; + Next; + end; + end; + v2Column1.Options.Focusing:=True; + with Order_SubQ do + begin + First; + while not Eof do + begin + Edit; + FieldByName('PBID').Value:=''; + FieldByName('YLKC').Value:=0; + FieldByName('YCLYJKC').Value:=0; + FieldByName('BZ').Value:=0; + FieldByName('SGQty').Value:=0; + Post; + Next; + end; + end; + v3Column1.Options.Focusing:=True; + end; +end; + +procedure TfrmOrderInPutZPNew.ZDYHelp(FButn:TcxButtonEdit;LType:string); +var + FType,ZDYName,FText:String; +begin + PanZDY.Visible:=True; + PanZDY.Left:=FButn.Left; + PanZDY.Top:=FButn.Top+FButn.Height; + with ADOZDY do + begin + Filtered:=False; + Close; + SQL.Clear; + SQL.Add('select RTrim(ZDYNo) ZDYNo,RTrim(ZDYName) ZDYName from KH_ZDY where Type='''+Trim(LType)+''''); + Open; + end; + FText:=Trim(FButn.Text); + if FText<>'' then + SDofilter(ADOZDY,' ZDYName like '+QuotedStr('%'+Trim(FText)+'%')) + else + SDofilter(ADOZDY,''); + VHelpZDYName.Summary.GroupFormat:=Trim(FButn.Name); +end; + +procedure TfrmOrderInPutZPNew.TVZDYCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + FName:string; +begin + if ADOZDY.IsEmpty then Exit; + FName:=Trim(VHelpZDYName.Summary.GroupFormat); + TcxButtonEdit(FindComponent(FName)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(FName)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; +end; + +procedure TfrmOrderInPutZPNew.Button1Click(Sender: TObject); +begin + PanZDY.Visible:=False; +end; + +procedure TfrmOrderInPutZPNew.WFBCodeNameKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); +begin + if (key=vk_return) or (Key=vk_Down) then + begin + if ADOZDY.Active then + CXGridZDY.SetFocus; + end; +end; + +procedure TfrmOrderInPutZPNew.TVZDYKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + if ADOZDY.IsEmpty then Exit; + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString); + TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString); + PanZDY.Visible:=False; + ADOZDY.Active:=False; + end; +end; + +procedure TfrmOrderInPutZPNew.FormShow(Sender: TObject); +begin + InitData(); + ReadCxBandedGrid('',Tv1,'޷IJ'); + ReadCxBandedGrid('ϸ',Tv2,'޷IJ'); + ReadCxBandedGrid('',Tv3,'޷IJ'); +end; + +function TfrmOrderInPutZPNew.SaveData():Boolean; +var + maxno:String; +begin + try + ADOCmd.Connection.BeginTrans; + /// + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from WFBOrder_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMainId)='999999' then + begin + Append; + if GetLSNo(ADOTemp,maxno,'','WFBOrder_Main',2,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ˮ쳣','ʾ',0); + exit; + end; + end + else begin + maxno:=Trim(FMainId); + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + FieldByName('OrderType').Value:=Trim(OrderType); + SSetsaveSql(ADOCmd,'WFBOrder_Main',ScrollBox1,0); + if PState=2 then + begin + FieldByName('Chker').Value:=Trim(DName); + FieldByName('ChkTime').Value:=SGetServerDateTime(ADOTemp); + end; + if Trim(FMainId)='999999' then + begin + FieldByName('Filler').Value:=Trim(DName); + end else + begin + if PState=1 then + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + end; + Post; + end; + FMainId:=Trim(maxno); + ///ϸ + with CDS_DB do + begin + First; + while not Eof do + begin + if Trim(CDS_DB.fieldbyname('DBId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'DB','WFB_DB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_DB.fieldbyname('DBId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_DB '); + sql.Add(' where DBId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_DB.fieldbyname('DBId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('DBId').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,TVDB,CDS_DB,'WFB_DB',0); + Post; + end; + CDS_DB.Edit; + CDS_DB.FieldByName('DBId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + //Ҫԭ + if not Order_SubZ.IsEmpty then + begin + with Order_SubZ do + begin + First; + while not Eof do + begin + if Trim(Order_SubZ.fieldbyname('PBId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'PB','WFBYCL_PB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_SubZ.fieldbyname('PBId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PB '); + sql.Add(' where PBId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_SubZ.fieldbyname('PBId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('CRId').Value:=Trim(Order_SubZ.fieldbyname('CRID').AsString); + FieldByName('PBType').Value:='Ҫ'; + // SSetSaveDataCDSNew(); + SSetSaveDataCDSBandNew(ADOCmd,TV1,Order_SubZ,'WFBYCL_PB',0); + Post; + end; + Order_SubZ.Edit; + Order_SubZ.FieldByName('PBId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + end; + //渨ԭ + if not Order_SubF.IsEmpty then + begin + with Order_SubF do + begin + First; + while not Eof do + begin + if Trim(Order_SubF.fieldbyname('PBId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'PB','WFBYCL_PB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_SubF.fieldbyname('PBId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PB '); + sql.Add(' where PBId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_SubF.fieldbyname('PBId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('PBType').Value:=''; + FieldByName('CRId').Value:=Trim(Order_SubF.fieldbyname('CRID').AsString); + // SSetSaveDataCDSNew(); + SSetSaveDataCDSBandNew(ADOCmd,TV2,Order_SubF,'WFBYCL_PB',0); + Post; + end; + Order_SubF.Edit; + Order_SubF.FieldByName('PBId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + end; + //ԭ + if not Order_SubQ.IsEmpty then + begin + with Order_SubQ do + begin + First; + while not Eof do + begin + if Trim(Order_SubQ.fieldbyname('PBId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'PB','WFBYCL_PB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_SubQ.fieldbyname('PBId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFBYCL_PB '); + sql.Add(' where PBId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_SubQ.fieldbyname('PBId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('PBId').Value:=Trim(maxno); + FieldByName('PBType').Value:=''; + FieldByName('CRId').Value:=Trim(Order_SubQ.fieldbyname('CRID').AsString); + // SSetSaveDataCDSNew(); + SSetSaveDataCDSBandNew(ADOCmd,TV3,Order_SubQ,'WFBYCL_PB',0); + Post; + end; + Order_SubQ.Edit; + Order_SubQ.FieldByName('PBId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + end; + + ///ӱ + {with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOTemp,maxno,'OS','Order_Sub',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from Order_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add(' and SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + SSetSaveDataCDSNew(ADOCmd,Tv1,Order_Sub,'Order_Sub',0); + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; } + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + +procedure TfrmOrderInPutZPNew.TBSaveClick(Sender: TObject); +begin + OrderDate.SetFocus; + if Trim(OrderNo.Text)='' then + begin + Application.MessageBox('ŲΪգ','ʾ',0); + Exit; + end; + if Trim(WFBCodeName.Text)='' then + begin + Application.MessageBox('ŲΪգ','ʾ',0); + Exit; + end; + if Trim(WFBCodeName.Hint)='' then + begin + Application.MessageBox('δ壡','ʾ',0); + Exit; + end; + {if Order_Sub.IsEmpty then + begin + Application.MessageBox('ϸΪգ','ʾ',0); + Exit; + end; } + if CDS_DB.Locate('BSL',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if CDS_DB.Locate('JSL',null,[]) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + if Order_SubZ.Locate('YLKC;YCLYJKC;BZ',VarArrayOf([0,0,0]),[]) then + begin + Application.MessageBox('ָϣ','ʾ',0); + Exit; + end; + if Order_SubF.Locate('YLKC;YCLYJKC;BZ',VarArrayOf([0,0,0]),[]) then + begin + Application.MessageBox('ָϣ','ʾ',0); + Exit; + end; + if Order_SubQ.Locate('YLKC;YCLYJKC;BZ',VarArrayOf([0,0,0]),[]) then + begin + Application.MessageBox('ָϣ','ʾ',0); + Exit; + end; + if SaveData() then + begin + Application.MessageBox('ɹ','ʾ',0); + end; +end; +procedure TfrmOrderInPutZPNew.SELYCL(SCDS_Sub:TClientDataSet); +begin + try + frmGetPGJBInList:=TfrmGetPGJBInList.Create(Application); + with frmGetPGJBInList do + begin + if ShowModal=1 then + begin + with ClientDataSet2 do + begin + First; + while not Eof do + begin + with SCDS_Sub do + begin + Append; + SCDS_Sub.FieldByName('YCLCode').Value:=Trim(ClientDataSet2.fieldbyname('YCLCode').AsString); + SCDS_Sub.FieldByName('YCLName').Value:=Trim(ClientDataSet2.fieldbyname('YCLName').AsString); + SCDS_Sub.FieldByName('YCLSpec').Value:=Trim(ClientDataSet2.fieldbyname('YCLSpec').AsString); + //SCDS_Sub.FieldByName('GYSName').Value:=Trim(ClientDataSet2.fieldbyname('GYSName').AsString); + //SCDS_Sub.FieldByName('GYS').Value:=Trim(ClientDataSet2.fieldbyname('GYS').AsString); + SCDS_Sub.FieldByName('YLKC').Value:=Trim(ClientDataSet2.fieldbyname('QuantityKC').AsString); + //CDS_Sub.FieldByName('Qty').Value:=Trim(ClientDataSet2.fieldbyname('QtyKC').AsString); + SCDS_Sub.FieldByName('YLUnit').Value:=Trim(ClientDataSet2.fieldbyname('CRUnit').AsString); + SCDS_Sub.FieldByName('CRID').Value:=Trim(ClientDataSet2.fieldbyname('CRID').AsString); + SCDS_Sub.FieldByName('YCLYJKC').Value:=Trim(ClientDataSet2.fieldbyname('YJKC').AsString); + //SCDS_Sub.FieldByName('YCLType').Value:=Trim(ClientDataSet2.fieldbyname('YCLType').AsString); + //SCDS_Sub.FieldByName('YCLPrice').Value:=Trim(ClientDataSet2.fieldbyname('YCLPrice').AsString); + //SCDS_Sub.FieldByName('KCPlace').Value:=Trim(ClientDataSet2.fieldbyname('KCPlace').AsString); + //CDS_Sub.FieldByName('DepotShow').Value:=Trim(ClientDataSet2.fieldbyname('DepotShow').AsString); + Post; + end; + Next; + end; + end; + end; + end; + finally + frmGetPGJBInList.Free; + end; +end; + +procedure TfrmOrderInPutZPNew.EditYCL(SCDS_Sub:TClientDataSet); +begin + try + frmGetPGJBInList:=TfrmGetPGJBInList.Create(Application); + with frmGetPGJBInList do + begin + if ShowModal=1 then + begin + with ClientDataSet2 do + begin + //First; + // while not Eof do + //begin + with SCDS_Sub do + begin + Edit; + SCDS_Sub.FieldByName('YCLCode').Value:=Trim(ClientDataSet2.fieldbyname('YCLCode').AsString); + SCDS_Sub.FieldByName('YCLName').Value:=Trim(ClientDataSet2.fieldbyname('YCLName').AsString); + SCDS_Sub.FieldByName('YCLSpec').Value:=Trim(ClientDataSet2.fieldbyname('YCLSpec').AsString); + //SCDS_Sub.FieldByName('GYSName').Value:=Trim(ClientDataSet2.fieldbyname('GYSName').AsString); + //SCDS_Sub.FieldByName('GYS').Value:=Trim(ClientDataSet2.fieldbyname('GYS').AsString); + SCDS_Sub.FieldByName('YLKC').Value:=Trim(ClientDataSet2.fieldbyname('QuantityKC').AsString); + //CDS_Sub.FieldByName('Qty').Value:=Trim(ClientDataSet2.fieldbyname('QtyKC').AsString); + SCDS_Sub.FieldByName('YLUnit').Value:=Trim(ClientDataSet2.fieldbyname('CRUnit').AsString); + SCDS_Sub.FieldByName('CRID').Value:=Trim(ClientDataSet2.fieldbyname('CRID').AsString); + SCDS_Sub.FieldByName('YCLYJKC').Value:=Trim(ClientDataSet2.fieldbyname('YJKC').AsString); + if SCDS_Sub.FieldByName('YLQty').Value-ClientDataSet2.fieldbyname('YJKC').Value>=0 then + SCDS_Sub.FieldByName('BZ').Value:=SCDS_Sub.FieldByName('YLQty').Value- + ClientDataSet2.fieldbyname('YJKC').Value + else + SCDS_Sub.FieldByName('BZ').Value:=null; + //SCDS_Sub.FieldByName('YCLType').Value:=Trim(ClientDataSet2.fieldbyname('YCLType').AsString); + //SCDS_Sub.FieldByName('YCLPrice').Value:=Trim(ClientDataSet2.fieldbyname('YCLPrice').AsString); + //SCDS_Sub.FieldByName('KCPlace').Value:=Trim(ClientDataSet2.fieldbyname('KCPlace').AsString); + //CDS_Sub.FieldByName('DepotShow').Value:=Trim(ClientDataSet2.fieldbyname('DepotShow').AsString); + //Post; + end; + // Next; + //end; + end; + end; + end; + finally + frmGetPGJBInList.Free; + end; +end; +procedure TfrmOrderInPutZPNew.ToolButton1Click(Sender: TObject); +begin + if MInt=1 then + begin + SELYCL(Order_SubZ); + end else + if MInt=2 then + begin + SELYCL(Order_SubF); + end else + if MInt=3 then + begin + SELYCL(Order_SubQ); + end; +end; + +procedure TfrmOrderInPutZPNew.ToolButton2Click(Sender: TObject); +begin + if MInt=1 then + begin + DelOrderSub(Order_SubZ); + end else + if MInt=2 then + begin + DelOrderSub(Order_SubF); + end else + if MInt=3 then + begin + DelOrderSub(Order_SubQ); + end; +end; +procedure TfrmOrderInPutZPNew.DelOrderSub(FOrder_Sub:TClientDataSet); +begin + if FOrder_Sub.IsEmpty then Exit; + if Trim(FOrder_Sub.fieldbyname('PBID').AsString)<>'' then + begin + if Application.MessageBox('ڴɾѱݣ','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFBYCL_PB where PBID='''+Trim(FOrder_Sub.fieldbyname('PBID').AsString)+''''); + ExecSQL; + end; + end; + FOrder_Sub.Delete; +end; + +procedure TfrmOrderInPutZPNew.CustomNoNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('CustomNoName'); + flagname:='ͻ'; + if ShowModal=1 then + begin + Self.FXS:=99; + CustomNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + CustomNoName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPNew.CustomNoNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(CustomNoName,'CustomNoName'); +end; + +procedure TfrmOrderInPutZPNew.ArrivalPortNamePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('ArrivalPort'); + flagname:=''; + if ShowModal=1 then + begin + Self.FXS:=99; + ArrivalPortName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + ArrivalPortName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPNew.SCXNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('SCXName'); + flagname:=''; + if ShowModal=1 then + begin + Self.FXS:=99; + SCXName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + SCXName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPNew.WJGNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WJGName'); + flagname:='ṹ'; + if ShowModal=1 then + begin + Self.FXS:=99; + WJGName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + WJGName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPNew.WFBCodeNamePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim(WFBCodeName.Name); + flagname:=''; + if ShowModal=1 then + begin + Self.FXS:=99; + WFBCodeName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + WFBCodeName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPNew.WFBCodeNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(WFBCodeName,Trim(WFBCodeName.Name)); +end; + +procedure TfrmOrderInPutZPNew.ArrivalPortNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(ArrivalPortName,'ArrivalPort'); +end; + +procedure TfrmOrderInPutZPNew.SCXNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(SCXName,Trim(SCXName.Name)); +end; + +procedure TfrmOrderInPutZPNew.WJGNamePropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(WJGName,Trim(WJGName.Name)); +end; + +procedure TfrmOrderInPutZPNew.N1Click(Sender: TObject); +begin + with CDS_DB do + begin + Append; + FieldByName('DBUnit').Value:='/'; + Post; + end; +end; + +procedure TfrmOrderInPutZPNew.N2Click(Sender: TObject); +begin + if CDS_DB.IsEmpty then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFB_DB where DBID='''+Trim(CDS_DB.fieldbyname('DBID').AsString)+''''); + ExecSQL; + end; + CDS_DB.Delete; +end; + +procedure TfrmOrderInPutZPNew.Day1Change(Sender: TObject); +var + DayL:string; +begin + if trim(Day1.Text)='' then DayL:='0' + else DayL:=Trim(Day1.Text); + ETDDate.DateTime:=ETADate.Date-strtoint(DayL); +end; + +procedure TfrmOrderInPutZPNew.OrdQtyKeyPress(Sender: TObject; var Key: Char); +begin + if not (Key in['0'..'9','.',#8,#13]) then + begin + key:=#0; + end; +end; + +procedure TfrmOrderInPutZPNew.Day2Change(Sender: TObject); +var + DayL:string; +begin + if trim(Day2.Text)='' then DayL:='0' + else DayL:=Trim(Day2.Text); + ZGDate.DateTime:=ETDDate.Date-strtoint(DayL); +end; +procedure TfrmOrderInPutZPNew.Day3Change(Sender: TObject); +var + DayL:string; +begin + if trim(Day3.Text)='' then DayL:='0' + else DayL:=Trim(Day3.Text); + BegSCDate.DateTime:=BegRKDate.Date-strtoint(DayL); +end; +procedure TfrmOrderInPutZPNew.ETADateChange(Sender: TObject); +begin + if Trim(Day1.Text)<>'' then + begin + ETDDate.DateTime:=ETADate.Date-strtoint(Day1.Text); + end; + if Trim(Day2.Text)<>'' then + begin + ZGDate.DateTime:=ETDDate.Date-strtoint(Day2.Text); + end; +end; + +procedure TfrmOrderInPutZPNew.BegRKDateChange(Sender: TObject); +begin + if Trim(Day3.Text)<>'' then + begin + BegSCDate.DateTime:=BegRKDate.Date-strtoint(Day3.Text); + end; +end; + +procedure TfrmOrderInPutZPNew.Tv1MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + MInt:=1; + Tv1.Bands[0].Caption:='Ҫԭϡ'; + Tv2.Bands[0].Caption:='ԭ'; + Tv3.Bands[0].Caption:=''; + Tv1.Bands[0].Styles.Header.TextColor:=clBlue; + Tv2.Bands[0].Styles.Header.TextColor:=clBlack; + Tv3.Bands[0].Styles.Header.TextColor:=clBlack; +end; + +procedure TfrmOrderInPutZPNew.Tv2MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + MInt:=2; + Tv1.Bands[0].Caption:='Ҫԭ'; + Tv2.Bands[0].Caption:='ԭϡ'; + Tv3.Bands[0].Caption:=''; + Tv1.Bands[0].Styles.Header.TextColor:=clBlack; + Tv2.Bands[0].Styles.Header.TextColor:=clBlue; + Tv3.Bands[0].Styles.Header.TextColor:=clBlack; +end; + +procedure TfrmOrderInPutZPNew.Tv3MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + MInt:=3; + Tv1.Bands[0].Caption:='Ҫԭ'; + Tv2.Bands[0].Caption:='ԭ'; + Tv3.Bands[0].Caption:=''; + Tv1.Bands[0].Styles.Header.TextColor:=clBlack; + Tv2.Bands[0].Styles.Header.TextColor:=clBlack; + Tv3.Bands[0].Styles.Header.TextColor:=clBlue; +end; + +procedure TfrmOrderInPutZPNew.v1Column2PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,YLSH,DHSL:Double; +begin + {if Trim(OrdQty.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + mvalue:=TcxTextEdit(Sender).EditingValue; //KO + if Trim(OrdUnit.Text)='K' then + begin + if Trim(Order_SubZ.fieldbyname('YLSH').AsString)='' then + begin + YLSH:=0; + end else + YLSH:=StrToFloat(Order_SubZ.fieldbyname('YLSH').AsString); + with Order_SubZ do + begin + Edit; + FieldByName('YLQty').Value:=StrToFloat(OrdQty.Text)*mvalue/100*(1+YLSH/100); + if StrToFloat(OrdQty.Text)*mvalue/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=StrToFloat(OrdQty.Text)*mvalue/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + FieldByName('YLPB').Value:=mvalue; + Post; + end; + end else + if Trim(OrdUnit.Text)='O' then + begin + if Trim(WFBKZ.Text)='' then + begin + Application.MessageBox('زΪգ','ʾ',0); + Exit; + end; + {if Trim(WFBfk.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end;} + {DHSL:=StrToFloat(OrdQty.Text)*strtofloat(WFBKZ.Text)/1000; + if Trim(Order_SubZ.fieldbyname('YLSH').AsString)='' then + begin + YLSH:=0; + end else + YLSH:=StrToFloat(Order_SubZ.fieldbyname('YLSH').AsString); + with Order_SubZ do + begin + Edit; + FieldByName('YLQty').Value:=DHSL*mvalue/100*(1+YLSH/100); + if DHSL*mvalue/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=DHSL*mvalue/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + FieldByName('YLPB').Value:=mvalue; + Post; + end; + + end; } +end; + + +procedure TfrmOrderInPutZPNew.v1Column3PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,YLPB,DHSL:Double; +begin + {if Trim(OrdQty.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + mvalue:=TcxTextEdit(Sender).EditingValue; //KO + if Trim(OrdUnit.Text)='K' then + begin + if Trim(Order_SubZ.fieldbyname('YLPB').AsString)='' then + begin + YLPB:=0; + end else + YLPB:=StrToFloat(Order_SubZ.fieldbyname('YLPB').AsString); + with Order_SubZ do + begin + Edit; + FieldByName('YLQty').Value:=StrToFloat(OrdQty.Text)*YLPB/100*(1+mvalue/100); + if StrToFloat(OrdQty.Text)*YLPB/100*(1+mvalue/100)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=StrToFloat(OrdQty.Text)*YLPB/100*(1+mvalue/100)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + FieldByName('YLSH').Value:=mvalue; + Post; + end; + end else + begin + if Trim(WFBKZ.Text)='' then + begin + Application.MessageBox('زΪգ','ʾ',0); + Exit; + end; + {if Trim(WFBfk.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end;} + {DHSL:=StrToFloat(OrdQty.Text)*strtofloat(WFBKZ.Text)/1000; + if Trim(Order_SubZ.fieldbyname('YLPB').AsString)='' then + begin + YLPB:=0; + end else + YLPB:=StrToFloat(Order_SubZ.fieldbyname('YLPB').AsString); + with Order_SubZ do + begin + Edit; + FieldByName('YLQty').Value:=DHSL*YLPB/100*(1+mvalue/100); + if DHSL*YLPB/100*(1+mvalue/100)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=DHSL*YLPB/100*(1+mvalue/100)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + FieldByName('YLSH').Value:=mvalue; + Post; + end; + end; } +end; + +procedure TfrmOrderInPutZPNew.v2Column2PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,DHSL:Double; +begin + {if Trim(OrdQty.Text)='' then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + mvalue:=TcxTextEdit(Sender).EditingValue; //KO + if Trim(OrdUnit.Text)='K' then + begin + with Order_SubF do + begin + Edit; + FieldByName('YLQty').Value:=StrToFloat(OrdQty.Text)*(mvalue/1000); + if StrToFloat(OrdQty.Text)*(mvalue/1000)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=StrToFloat(OrdQty.Text)*(mvalue/1000)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + FieldByName('YLSHQ').Value:=mvalue; + Post; + end; + end else + begin + if Trim(WFBKZ.Text)='' then + begin + Application.MessageBox('زΪգ','ʾ',0); + Exit; + end; + DHSL:=StrToFloat(OrdQty.Text)*strtofloat(WFBKZ.Text)/1000; + with Order_SubF do + begin + Edit; + FieldByName('YLQty').Value:=DHSL*(mvalue/1000); + if DHSL*(mvalue/1000)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=DHSL*(mvalue/1000)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + FieldByName('YLSHQ').Value:=mvalue; + Post; + end; + end; } +end; + +procedure TfrmOrderInPutZPNew.OrdQtyChange(Sender: TObject); +var + YLPB,YLSH,DHSL:Double; +begin + {if Trim(OrdQty.Text)='' then Exit; + if Trim(OrdUnit.Text)='K' then + DHSL:=StrToFloat(OrdQty.Text) + else + if Trim(OrdUnit.Text)='O' then + begin + if Trim(WFBKZ.Text)='' then Exit; + DHSL:=StrToFloat(OrdQty.Text)*strtofloat(WFBKZ.Text)/1000; + end; + if not Order_SubZ.IsEmpty then + begin + with Order_SubZ do + begin + Order_SubZ.DisableControls; + First; + while not Eof do + begin + Edit; + if Trim(fieldbyname('YLPB').AsString)='' then + YLPB:=0 + else + YLPB:=StrToFloat(fieldbyname('YLPB').AsString); + if Trim(fieldbyname('YLSH').AsString)='' then + YLSH:=0 + else + YLSH:=StrToFloat(fieldbyname('YLSH').AsString); + FieldByName('YLQty').Value:=DHSL*YLPB/100*(1+YLSH/100); + if DHSL*YLPB/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=DHSL*YLPB/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + Next; + end; + Order_SubZ.EnableControls; + First; + end; + end; + if not Order_SubF.IsEmpty then + begin + with Order_SubF do + begin + Order_SubF.DisableControls; + First; + while not Eof do + begin + Edit; + if Trim(fieldbyname('YLSHQ').AsString)='' then + YLSH:=0 + else + YLSH:=StrToFloat(fieldbyname('YLSHQ').AsString); + FieldByName('YLQty').Value:=DHSL*(YLSH/1000); + if DHSL*(YLSH/1000)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=DHSL*(YLSH/1000)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + Next; + end; + Order_SubF.EnableControls; + First; + end; + end; } +end; +procedure TfrmOrderInPutZPNew.v3Column4PropertiesEditValueChanged( + Sender: TObject); +var + mvalue:Double; +begin + mvalue:=TcxTextEdit(Sender).EditingValue; + with Order_SubQ do + begin + Edit; + FieldByName('YLQty').Value:=mvalue; + if mvalue-fieldbyname('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=mvalue-fieldbyname('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + end; +end; + +procedure TfrmOrderInPutZPNew.TBPrintClick(Sender: TObject); +var + fPrintFile:String; +begin + with ADOQueryQG do + begin + Close; + sql.Clear; + sql.Add(' exec P_Print_SGD :OrderNo'); + Parameters.ParamByName('OrderNo').Value:=Trim(OrderNo.Text); + Open; + end; + if ADOQueryQG.IsEmpty then Exit; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\빺.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + RMVariables['dyr']:=Trim(DName); + RM2.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\빺.rmf'),'ʾ',0); + end; +end; + +procedure TfrmOrderInPutZPNew.v1Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + EditYCL(Order_SubZ); +end; + +procedure TfrmOrderInPutZPNew.v2Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + EditYCL(Order_SubF); +end; + +procedure TfrmOrderInPutZPNew.v3Column1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + EditYCL(Order_SubQ); +end; + +procedure TfrmOrderInPutZPNew.WFBBZUnit1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + { try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WFBBZUnitD'); + flagname:='װ'; + if ShowModal=1 then + begin + Self.FXS:=99; + WFBBZUnit1.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + WFBBZUnit1.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; } +end; + +procedure TfrmOrderInPutZPNew.WFBBZUnit2PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + { try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WFBBZUnitZ'); + flagname:='аװ'; + if ShowModal=1 then + begin + Self.FXS:=99; + WFBBZUnit2.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + WFBBZUnit2.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; } +end; + +procedure TfrmOrderInPutZPNew.WFBBZUnit3PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + {try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WFBBZUnitX'); + flagname:='Сװ'; + if ShowModal=1 then + begin + Self.FXS:=99; + WFBBZUnit3.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + WFBBZUnit3.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end;} +end; + +procedure TfrmOrderInPutZPNew.BZPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('BZ'); + flagname:='۵λ'; + if ShowModal=1 then + begin + Self.FXS:=99; + BZ.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + BZ.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPNew.BZPropertiesChange(Sender: TObject); +begin + if FXS=99 then + begin + PanZDY.Visible:=False; + FXS:=0; + Exit; + end; + ZDYHelp(BZ,'BZ'); +end; + +procedure TfrmOrderInPutZPNew.WFBBZQty1Change(Sender: TObject); +var + FQty1,FQty2,FQty3,FFK1,FFK2,FKZ1,YLPB,YLSH,DHSL:Double; +begin + {if Trim(WFBBZQty1.Text)<>'' then + begin + FQty1:=StrToFloat(WFBBZQty1.Text); + end else + begin + FQty1:=1; + end; + if Trim(WFBBZQty2.Text)<>'' then + begin + FQty2:=StrToFloat(WFBBZQty2.Text); + end else + begin + FQty2:=1; + end; + if Trim(WFBBZQty3.Text)<>'' then + begin + FQty3:=StrToFloat(WFBBZQty3.Text); + end else + begin + FQty3:=1; + end; + if Trim(WFBFK1.Text)<>'' then + begin + FFK1:=StrToFloat(WFBFK1.Text); + end else + begin + FFK1:=0; + end; + if Trim(WFBFK2.Text)<>'' then + begin + FFK2:=StrToFloat(WFBFK2.Text); + end else + begin + FFK2:=0; + end; + if Trim(WFBKZ.Text)<>'' then + begin + FKZ1:=StrToFloat(WFBKZ.Text); + end else + begin + FKZ1:=0; + end; + if Trim(WFBKZ.Text)='' then + begin + OrdQty.Text:=FloatToStr(FQty1*FQty2*FQty3*FFK1*FFK2/10000); + OrdUnit.ItemIndex:=OrdUnit.Items.IndexOf('O'); + end else + begin + OrdQty.Text:=FloatToStr(FQty1*FQty2*FQty3*FFK1*FFK2/10000*FKZ1/1000); + OrdUnit.ItemIndex:=OrdUnit.Items.IndexOf('K'); + end; + if Trim(OrdQty.Text)='' then Exit; + if Trim(OrdUnit.Text)='K' then + DHSL:=StrToFloat(OrdQty.Text) + else + if Trim(OrdUnit.Text)='O' then + begin + if Trim(WFBKZ.Text)='' then Exit; + DHSL:=StrToFloat(OrdQty.Text)*strtofloat(WFBKZ.Text)/1000; + end; + if not Order_SubZ.IsEmpty then + begin + with Order_SubZ do + begin + Order_SubZ.DisableControls; + First; + while not Eof do + begin + Edit; + if Trim(fieldbyname('YLPB').AsString)='' then + YLPB:=0 + else + YLPB:=StrToFloat(fieldbyname('YLPB').AsString); + if Trim(fieldbyname('YLSH').AsString)='' then + YLSH:=0 + else + YLSH:=StrToFloat(fieldbyname('YLSH').AsString); + FieldByName('YLQty').Value:=DHSL*YLPB/100*(1+YLSH/100); + if DHSL*YLPB/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=DHSL*YLPB/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + Next; + end; + Order_SubZ.EnableControls; + First; + end; + end; + if not Order_SubF.IsEmpty then + begin + with Order_SubF do + begin + Order_SubF.DisableControls; + First; + while not Eof do + begin + Edit; + if Trim(fieldbyname('YLSHQ').AsString)='' then + YLSH:=0 + else + YLSH:=StrToFloat(fieldbyname('YLSHQ').AsString); + FieldByName('YLQty').Value:=DHSL*(YLSH/1000); + if DHSL*(YLSH/1000)-FieldByName('YCLYJKC').Value>=0 then + FieldByName('BZ').Value:=DHSL*(YLSH/1000)-FieldByName('YCLYJKC').Value + else + FieldByName('BZ').Value:=null; + Post; + Next; + end; + Order_SubF.EnableControls; + First; + end; + end;} +end; + +procedure TfrmOrderInPutZPNew.vSubColumn6PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WFBBZUnitD'); + flagname:='װ'; + if ShowModal=1 then + begin + Self.CDS_Sub.Edit; + CDS_Sub.FieldByName('SWFBBZUnit1').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPNew.vSubColumn8PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WFBBZUnitZ'); + flagname:='аװ'; + if ShowModal=1 then + begin + Self.CDS_Sub.Edit; + CDS_Sub.FieldByName('SWFBBZUnit2').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPNew.vSubColumn10PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Trim('WFBBZUnitD'); + flagname:='Сװ'; + if ShowModal=1 then + begin + Self.CDS_Sub.Edit; + CDS_Sub.FieldByName('SWFBBZUnit3').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPNew.MenuItem1Click(Sender: TObject); +var + i:Integer; +begin + CopyAddRow(TvSub,CDS_Sub); + i:=CDS_Sub.RecordCount; + with CDS_Sub do + begin + Edit; + FieldByName('MainId').Value:=''; + FieldByName('SubId').Value:=''; + FieldByName('SWFBColor').Value:=''; + FieldByName('XHNO').Value:=IntToStr(i); + Post; + end; + OrdQty.Text:=floattostr(TvSub.DataController.Summary.FooterSummaryValues[0]); +end; + +procedure TfrmOrderInPutZPNew.N3Click(Sender: TObject); +var + mvalue,YLSH,DHSL,YLQty,YLPB,YLSHQ:Double; + FOrdQty,FKZ:String; +begin + if CDS_Sub.IsEmpty then Exit; + if Trim(CDS_Sub.fieldbyname('SubID').AsString)<>'' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from WFBYCL_PBSub where SubId='''+Trim(CDS_Sub.fieldbyname('SubID').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + Application.MessageBox('Ѿݣɾ','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFBOrder_Sub where SubID='''+Trim(CDS_Sub.fieldbyname('SubID').AsString)+''''); + ExecSQL; + end; + end; + CDS_Sub.Delete; + //YLUpdate(); + OrdQty.Text:=floattostr(TvSub.DataController.Summary.FooterSummaryValues[0]); +end; + +procedure TfrmOrderInPutZPNew.cxGridDBColumn3PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WFBColor'; + flagname:='ɫ'; + if ShowModal=1 then + begin + with Self.CDS_Sub do + begin + Edit; + FieldByName('SWFBColor').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + //Post; + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPutZPNew.vSubColumn2PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WFBHX'; + flagname:=''; + if ShowModal=1 then + begin + with Self.CDS_Sub do + begin + Edit; + FieldByName('SWFBHW').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + //Post; + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +end. diff --git a/打卷检验管理/U_OrderInPut_CY.dfm b/打卷检验管理/U_OrderInPut_CY.dfm new file mode 100644 index 0000000..8dc6d93 --- /dev/null +++ b/打卷检验管理/U_OrderInPut_CY.dfm @@ -0,0 +1,1008 @@ +object frmOrderInPut_CY: TfrmOrderInPut_CY + Left = 98 + Top = 176 + Width = 1184 + Height = 593 + Caption = #20986#36135#35745#21010 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + WindowState = wsMaximized + OnCreate = FormCreate + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1176 + Height = 37 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clBtnFace + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = TBSaveClick + end + object TBClose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object cxTabControl2: TcxTabControl + Left = 0 + Top = 335 + Width = 1176 + Height = 18 + Align = alTop + LookAndFeel.Kind = lfFlat + LookAndFeel.NativeStyle = False + Style = 9 + TabIndex = 0 + TabOrder = 1 + Tabs.Strings = ( + #20135#21697#20449#24687) + ClientRectBottom = 19 + ClientRectRight = 1176 + ClientRectTop = 19 + end + object cxGrid1: TcxGrid + Left = 0 + Top = 382 + Width = 1176 + Height = 163 + Align = alTop + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column7 + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1XHNo: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'XHNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 35 + end + object v1Column5: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'PrtCodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Width = 90 + end + object v1Column6: TcxGridDBColumn + Caption = #20135#21697#35268#26684 + DataBinding.FieldName = 'PRTspec' + HeaderAlignmentHorz = taCenter + Width = 90 + end + object v1Column2: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'PRTMF' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column9: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'PRTKZ' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = False + Properties.OnButtonClick = v1PRTColorPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 90 + end + object v1Column3: TcxGridDBColumn + Caption = #39068#33394'('#33521#25991')' + DataBinding.FieldName = 'SOrddefstr4' + Width = 84 + end + object v1Column7: TcxGridDBColumn + Caption = #20986#36135#25968#37327 + DataBinding.FieldName = 'SordQty1' + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FoneClMaroon + Styles.Footer = DataLink_TradeManage.FoneClMaroon + Styles.Header = DataLink_TradeManage.FoneClMaroon + Width = 60 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1Column8: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'PrtPrice' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column4: TcxGridDBColumn + Caption = #20986#36135#31665#25968 + DataBinding.FieldName = 'SordQty2' + Width = 60 + end + object v1Column10: TcxGridDBColumn + Caption = #31435#26041#25968 + DataBinding.FieldName = 'SordQty3' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1SordQty4: TcxGridDBColumn + Caption = #27611#37325 + DataBinding.FieldName = 'SordQty4' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column12: TcxGridDBColumn + Caption = #20928#37325 + DataBinding.FieldName = 'SordQty5' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column13: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'SordQty6' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column1: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'SOrdDefNote1' + HeaderAlignmentHorz = taCenter + Width = 137 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 353 + Width = 1176 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clBtnFace + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 3 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + Visible = False + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 126 + Top = 0 + Caption = #19968#38190#26367#25442 + ImageIndex = 104 + Visible = False + end + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 37 + Width = 1176 + Height = 18 + Align = alTop + Style = 9 + TabIndex = 0 + TabOrder = 4 + Tabs.Strings = ( + #20027#35201#20449#24687) + ClientRectBottom = 19 + ClientRectRight = 1176 + ClientRectTop = 19 + end + object Panel1: TPanel + Left = 0 + Top = 55 + Width = 1176 + Height = 280 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 5 + object Label1: TLabel + Left = 31 + Top = 15 + Width = 65 + Height = 12 + Caption = #20986#36816#21333#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 31 + Top = 43 + Width = 65 + Height = 12 + Caption = #21046#21333#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label39: TLabel + Left = 291 + Top = 16 + Width = 65 + Height = 12 + Caption = #30003#35831#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label25: TLabel + Left = 31 + Top = 96 + Width = 65 + Height = 12 + Caption = #33337#36816#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 563 + Top = 43 + Width = 66 + Height = 12 + Caption = #21512' '#21516' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label43: TLabel + Left = 563 + Top = 68 + Width = 66 + Height = 12 + Caption = #19994' '#21153' '#21592#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label14: TLabel + Left = 291 + Top = 71 + Width = 67 + Height = 12 + Caption = #23458' '#25143#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label19: TLabel + Left = 31 + Top = 218 + Width = 65 + Height = 12 + Caption = #27880#24847#20107#39033#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label42: TLabel + Left = 23 + Top = 284 + Width = 65 + Height = 12 + Caption = #29983#20135#25552#31034#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label2: TLabel + Left = 291 + Top = 43 + Width = 65 + Height = 12 + Caption = #25351#31034#21333#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 563 + Top = 16 + Width = 66 + Height = 12 + Caption = #30003' '#35831' '#20154#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 31 + Top = 71 + Width = 34 + Height = 12 + Caption = 'PO#'#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label36: TLabel + Left = 809 + Top = 47 + Width = 13 + Height = 84 + Caption = #26631#13#10' '#13#10#31614#13#10#13#10#20869#13#10#13#10#23481 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label37: TLabel + Left = 977 + Top = 47 + Width = 13 + Height = 84 + Caption = #21787#13#10#13#10#22836#13#10#13#10#20869#13#10#13#10#23481 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 291 + Top = 96 + Width = 65 + Height = 12 + Caption = #36135#20195#20844#21496#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 563 + Top = 96 + Width = 67 + Height = 12 + Caption = #26588' '#22411#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 31 + Top = 144 + Width = 55 + Height = 12 + Caption = 'BIN NO'#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 291 + Top = 172 + Width = 91 + Height = 12 + Caption = #25910#36135#20844#21496#22320#22336#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 31 + Top = 170 + Width = 66 + Height = 12 + Caption = #25910' '#36135' '#20154#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label35: TLabel + Left = 31 + Top = 194 + Width = 66 + Height = 12 + Caption = #36890' '#30693' '#20154#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 291 + Top = 196 + Width = 91 + Height = 12 + Caption = #36890#30693#20844#21496#22320#22336#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 562 + Top = 121 + Width = 65 + Height = 12 + Caption = #20215#26684#26415#35821#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label15: TLabel + Left = 291 + Top = 118 + Width = 65 + Height = 12 + Caption = #20184#27454#26041#24335#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label16: TLabel + Left = 31 + Top = 122 + Width = 65 + Height = 12 + Caption = #20986#36816#26041#24335#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label17: TLabel + Left = 291 + Top = 142 + Width = 65 + Height = 12 + Caption = #21457#31080#26684#24335#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 563 + Top = 144 + Width = 65 + Height = 12 + Caption = #20986#20179#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object CYNO: TEdit + Tag = 2 + Left = 97 + Top = 12 + Width = 150 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object OrdDate: TDateTimePicker + Tag = 2 + Left = 97 + Top = 39 + Width = 150 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object OrdDefDate1: TDateTimePicker + Tag = 2 + Left = 357 + Top = 12 + Width = 149 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + end + object DLYDate: TDateTimePicker + Tag = 2 + Left = 97 + Top = 92 + Width = 150 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + end + object OrdPerson2: TBtnEditC + Tag = 2 + Left = 629 + Top = 64 + Width = 150 + Height = 20 + Hint = 'OrdPerson2/'#19994#21153#21592 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object CustomerNoName: TBtnEditC + Tag = 2 + Left = 357 + Top = 64 + Width = 150 + Height = 20 + Hint = 'CustomerNo' + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 5 + OnBtnUpClick = CustomerNoNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTBZNote: TMemo + Tag = 2 + Left = 97 + Top = 218 + Width = 681 + Height = 57 + Hint = 'MPRTBZNote/'#21253#35013#35201#27714 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ScrollBars = ssVertical + TabOrder = 6 + OnDblClick = MPRTBZNoteDblClick + end + object MPRTSCTeBieNote: TMemo + Tag = 2 + Left = 93 + Top = 283 + Width = 681 + Height = 57 + Hint = 'MPRTSCTeBieNote/'#29983#20135#29305#21035#25552#31034 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ScrollBars = ssVertical + TabOrder = 7 + Visible = False + OnDblClick = MPRTSCTeBieNoteDblClick + end + object conNO: TEdit + Tag = 2 + Left = 629 + Top = 39 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 8 + end + object KHConNO: TEdit + Tag = 2 + Left = 97 + Top = 64 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 9 + end + object orderNo: TBtnEditA + Tag = 2 + Left = 357 + Top = 39 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 10 + OnBtnClick = orderNoBtnClick + end + object OrdPerson1: TBtnEditC + Tag = 2 + Left = 629 + Top = 12 + Width = 150 + Height = 20 + Hint = 'OrdPerson2/'#19994#21153#21592 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 11 + OnBtnUpClick = OrdPerson1BtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object LBNameNote: TMemo + Tag = 2 + Left = 824 + Top = 19 + Width = 130 + Height = 150 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 12 + end + object MaiTouNote: TMemo + Tag = 2 + Left = 992 + Top = 19 + Width = 130 + Height = 150 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 13 + end + object orddefstr1: TEdit + Tag = 2 + Left = 357 + Top = 92 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 14 + end + object orddefstr2: TEdit + Tag = 2 + Left = 629 + Top = 92 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 15 + end + object orddefstr3: TEdit + Tag = 2 + Left = 97 + Top = 140 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 16 + end + object conDefstr1: TEdit + Tag = 2 + Left = 378 + Top = 165 + Width = 399 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 17 + end + object conDefstr2: TEdit + Tag = 2 + Left = 378 + Top = 189 + Width = 399 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 18 + end + object ConPerson1: TEdit + Tag = 2 + Left = 97 + Top = 166 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 19 + end + object ConPerson2: TEdit + Tag = 2 + Left = 97 + Top = 190 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 20 + end + object orddefstr5: TEdit + Tag = 2 + Left = 629 + Top = 116 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 21 + end + object orddefstr4: TEdit + Tag = 2 + Left = 357 + Top = 116 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 22 + end + object orddefstr6: TEdit + Tag = 2 + Left = 97 + Top = 116 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 23 + end + object orddefstr7: TEdit + Tag = 2 + Left = 357 + Top = 140 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 24 + end + object OrdDefDate2: TDateTimePicker + Tag = 2 + Left = 629 + Top = 140 + Width = 150 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 25 + end + end + object ADOTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1000 + Top = 265 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 940 + Top = 269 + end + object DataSource1: TDataSource + DataSet = Order_Sub + Left = 1016 + Top = 368 + end + object Order_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 992 + Top = 340 + end + object ADOQuery1: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 1048 + Top = 289 + end + object PopupMenu1: TPopupMenu + Left = 776 + Top = 336 + object N3: TMenuItem + Caption = #21024#34892 + OnClick = N3Click + end + end + object CDS_CG: TClientDataSet + Aggregates = <> + Params = <> + Left = 1044 + Top = 509 + end + object DataSource2: TDataSource + DataSet = CDS_CG + Left = 960 + Top = 505 + end + object PopupMenu2: TPopupMenu + Left = 740 + Top = 540 + object N9: TMenuItem + Caption = #22686#21152 + end + object N8: TMenuItem + Caption = '-' + end + object N4: TMenuItem + Caption = #22686#34892 + end + object N5: TMenuItem + Caption = #21024#34892 + end + object N6: TMenuItem + Caption = '-' + end + object N7: TMenuItem + Caption = #29983#25104#37319#36141#21333 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 820 + Top = 289 + end +end diff --git a/打卷检验管理/U_OrderInPut_CY.pas b/打卷检验管理/U_OrderInPut_CY.pas new file mode 100644 index 0000000..595cae7 --- /dev/null +++ b/打卷检验管理/U_OrderInPut_CY.pas @@ -0,0 +1,1118 @@ +unit U_OrderInPut_CY; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxClasses, cxControls, + cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, + cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, + ExtCtrls, BtnEdit, cxCalendar,StrUtils, cxCurrencyEdit, cxPC, Menus, + cxCheckBox, cxGridCustomPopupMenu, cxGridPopupMenu; + +type + TfrmOrderInPut_CY = class(TForm) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ToolBar2: TToolBar; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + DataSource1: TDataSource; + Order_Sub: TClientDataSet; + ADOQuery1: TADOQuery; + ToolButton3: TToolButton; + cxTabControl2: TcxTabControl; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1XHNo: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + cxTabControl1: TcxTabControl; + v1Column1: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N3: TMenuItem; + CDS_CG: TClientDataSet; + DataSource2: TDataSource; + PopupMenu2: TPopupMenu; + N4: TMenuItem; + N5: TMenuItem; + N6: TMenuItem; + N7: TMenuItem; + N8: TMenuItem; + N9: TMenuItem; + v1Column7: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + Panel1: TPanel; + Label1: TLabel; + Label3: TLabel; + Label39: TLabel; + Label25: TLabel; + Label10: TLabel; + Label43: TLabel; + Label14: TLabel; + Label19: TLabel; + Label42: TLabel; + Label2: TLabel; + Label4: TLabel; + CYNO: TEdit; + OrdDate: TDateTimePicker; + OrdDefDate1: TDateTimePicker; + DLYDate: TDateTimePicker; + OrdPerson2: TBtnEditC; + CustomerNoName: TBtnEditC; + MPRTBZNote: TMemo; + MPRTSCTeBieNote: TMemo; + conNO: TEdit; + KHConNO: TEdit; + orderNo: TBtnEditA; + Label5: TLabel; + v1Column3: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1SordQty4: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + v1Column13: TcxGridDBColumn; + OrdPerson1: TBtnEditC; + LBNameNote: TMemo; + Label36: TLabel; + MaiTouNote: TMemo; + Label37: TLabel; + Label6: TLabel; + Label7: TLabel; + orddefstr1: TEdit; + orddefstr2: TEdit; + orddefstr3: TEdit; + Label8: TLabel; + conDefstr1: TEdit; + Label13: TLabel; + Label9: TLabel; + Label35: TLabel; + Label11: TLabel; + conDefstr2: TEdit; + ConPerson1: TEdit; + ConPerson2: TEdit; + v1Column2: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + cxGridPopupMenu1: TcxGridPopupMenu; + Label12: TLabel; + Label15: TLabel; + orddefstr5: TEdit; + orddefstr4: TEdit; + orddefstr6: TEdit; + Label16: TLabel; + orddefstr7: TEdit; + Label17: TLabel; + OrdDefDate2: TDateTimePicker; + Label18: TLabel; + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure RanFactoryBtnUpClick(Sender: TObject); + procedure CustomerNoNameBtnUpClick(Sender: TObject); + procedure CustomerNoNameBtnDnClick(Sender: TObject); + procedure v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PriceUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure YCLFactoryBtnUpClick(Sender: TObject); + procedure MPRTSCTeBieNoteBtnUpClick(Sender: TObject); + procedure MPRTBZNoteDblClick(Sender: TObject); + procedure MPRTSCTeBieNoteDblClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure N1Click(Sender: TObject); + procedure N3Click(Sender: TObject); + procedure conNoChange(Sender: TObject); + procedure ToolButton4Click(Sender: TObject); + procedure ToolButton5Click(Sender: TObject); + procedure ToolButton6Click(Sender: TObject); + procedure orderNoBtnClick(Sender: TObject); + procedure OrdPerson1BtnUpClick(Sender: TObject); + private + procedure InitData(); + procedure ZDYHelp(FButn:TcxButtonEdit;LType:string); + function SaveData():Boolean; + function YFData():Boolean; + { Private declarations } + public + PState,CopyInt,PriceFlag:Integer; + FMainId,FFMainId,FOrderNo:String; + FXS:Integer; + { Public declarations } + end; + +var + frmOrderInPut_CY: TfrmOrderInPut_CY; + newh:hwnd; +implementation +uses + U_DataLink,U_ZDYHelp,U_Fun,U_ZDYHelpSel, U_ProductOrderListSel; + +{$R *.dfm} + +function TfrmOrderInPut_CY.YFData():Boolean; +var + CRID,OrdMainId,YFID,FComTaiTou,FCRID,FFactoryName:String; +begin + Result:=False; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(CDS_CG.fieldbyname('custName').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + CRID:=ADOTemp.fieldbyname('CRID').AsString; + end else + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CRID set CRID=CRID+1'); + sql.Add('select * from YF_Money_CRID '); + Open; + end; + CRID:=ADOCmd.fieldbyname('CRID').AsString; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('FactoryName').Value:=Trim(CDS_CG.fieldbyname('custName').AsString); + FieldByName('ZdyStr1').Value:='Ӧ'; + Post; + end; + end; + + + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(CDS_CG.fieldbyname('custName').AsString)+''''); + sql.Add(' and mainID='''+Trim(CDS_CG.fieldbyname('CRNO').AsString)+''''); + // sql.Add(' and subID='''+Trim(ADOQuerySub.fieldbyname('subID').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty then + begin + if GetLSNo(ADOCmd,YFID,'PF','YF_Money_CR',3,1)=False then + begin + Application.MessageBox('ȡӦʧ!','ʾ',0); + Exit; + end; + end + else + begin + YFID:=Trim(ADOTemp.fieldbyname('YFID').AsString); + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where YFID='''+Trim(YFID)+''''); + Open; + end; + with ADOCmd do + begin + if ADOTemp.IsEmpty then + Append + else + Edit; + FieldByName('YFID').Value:=Trim(YFID); + FieldByName('YFTypeId').Value:=Trim(CDS_CG.fieldbyname('mainID').AsString); + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRType').Value:='ӦǼ'; + FieldByName('CRFlag').Value:='Ӧ'; + FieldByName('QtyFlag').Value:=1; + FieldByName('FactoryName').Value:=Trim(CDS_CG.fieldbyname('custName').AsString); + FieldByName('CRTime').Value:=CDS_CG.fieldbyname('CRTime').AsDateTime; + FieldByName('Qty').Value:=CDS_CG.fieldbyname('Qty').AsFloat; + FieldByName('PS').Value:=0; + FieldByName('YFType').Value:='Զ'; + FieldByName('Price').Value:=CDS_CG.fieldbyname('Price').AsFloat; + FieldByName('money').Value:=CDS_CG.fieldbyname('money').AsFloat; + FieldByName('BBmoney').Value:=CDS_CG.fieldbyname('money').AsFloat; + FieldByName('HuiLv').Value:=1; + FieldByName('BZType').Value:='RMB'; + FieldByName('ComTaiTou').Value:=Trim(CDS_CG.fieldbyname('custName').AsString); + FieldByName('QtyUnit').Value:=Trim(CDS_CG.fieldbyname('QtyUnit').AsString); + FieldByName('YFName').Value:='ɹ'; + FieldByName('MainId').Value:=Trim(CDS_CG.fieldbyname('CRNO').AsString); + FieldByName('subId').Value:=Trim(CDS_CG.fieldbyname('CRID').AsString); + Post; + end; + + + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + Result:=True; +end; + +procedure TfrmOrderInPut_CY.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ָʾ¼AA',Tv1,'ָʾ'); +end; + +procedure TfrmOrderInPut_CY.InitData(); +begin + + + with ADOQuery1 do + begin + Close; + SQL.Clear; + sql.Add(' select * from JYOrderCY_Sub where 1=1 '); + //sql.Add('exec P_View_OrderSub :begdate,:enddate,:WSQl'); + //Parameters.ParamByName('begdate').Value:='2010-10-10'; + // Parameters.ParamByName('enddate').Value:='2050-12-24'; + if PState=1 then + begin + sql.Add(' and MainId='''+Trim(FMainId)+''''); + end; + if PState=0 then + begin + sql.Add(' and 1<>1'); + end; + //ShowMessage(SQL.Text); + Open; + end; + SCreateCDS20(ADOQuery1,Order_Sub); + SInitCDSData20(ADOQuery1,Order_Sub); + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrderCY_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + SCSHDataNew(ADOQuery1,Panel1,2); + if PState=0 then + begin + + end else + begin + end; + if CopyInt=99 then + begin + PState:=0; + FMainId:=''; + //OrdPerson1.Text:=Trim(DName); + CYNO.Text:=''; + + with Order_Sub do + begin + First; + while not Eof do + begin + Edit; + FieldByName('MainId').Value:=''; + FieldByName('SubId').Value:=''; + Post; + Next; + end; + end; + + end; +end; + +procedure TfrmOrderInPut_CY.ZDYHelp(FButn:TcxButtonEdit;LType:string); +var + FType,ZDYName,FText:String; +begin +end; + +procedure TfrmOrderInPut_CY.FormShow(Sender: TObject); +begin + readCxGrid(self.Caption,Tv1,'ָʾ'); + + InitData(); +end; + +function TfrmOrderInPut_CY.SaveData():Boolean; +var + maxno:String; +begin + try + ADOCmd.Connection.BeginTrans; + /// + if Trim(FMainId)='' then + begin + if GetLSNo(ADOCmd,maxno,'CY','JYOrderCY_Main',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(FMainId); + end; + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from JYOrderCY_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMainId)='' then + begin + Append; + end + else begin + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + SSetsaveSqlNew(ADOCmd,'JYOrderCY_Main',Panel1,2); + if Trim(FMainId)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + FieldByName('status').Value:='0'; + end else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + Post; + end; + + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrderCY_Main where CYNO='''+Trim(CYNO.Text)+''''); + Open; + end; + if ADOCmd.RecordCount>1 then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('˵ظ!','ʾ',0); + Exit; + end; + FMainId:=Trim(maxno); + ///ӱ + with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'CS','JYOrderCY_Sub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrderCY_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add(' and SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'JYOrderCY_Sub',0); + FieldByName('orderNO').Value:=Trim(orderNO.Text); + + fieldbyname('PRTOrderQty').Value:=Order_Sub.fieldbyname('PRTOrderQty').AsFloat; + fieldbyname('PRTPrice').Value:=Order_Sub.fieldbyname('PRTPrice').AsFloat; + fieldbyname('PRTmoney').Value:=Order_Sub.fieldbyname('PRTmoney').AsFloat; + fieldbyname('SordQty1').Value:=Order_Sub.fieldbyname('SordQty1').AsFloat; + fieldbyname('SordQty2').Value:=Order_Sub.fieldbyname('SordQty2').AsFloat; + fieldbyname('SordQty3').Value:=Order_Sub.fieldbyname('SordQty3').AsFloat; + fieldbyname('SordQty4').Value:=Order_Sub.fieldbyname('SordQty4').AsFloat; + fieldbyname('SordQty5').Value:=Order_Sub.fieldbyname('SordQty5').AsFloat; + fieldbyname('SordQty6').Value:=Order_Sub.fieldbyname('SordQty6').AsFloat; + FieldByName('PriceUnit').Value:=Trim(Order_Sub.fieldbyname('PriceUnit').AsString); + FieldByName('Sorddefstr10').Value:=Trim(Order_Sub.fieldbyname('Sorddefstr10').AsString); + // FieldByName('PriceUnitRate').Value:=Order_Sub.fieldbyname('PriceUnitRate').AsFloat; + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(maxno); + //Order_Sub.Post; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + + + +procedure TfrmOrderInPut_CY.TBSaveClick(Sender: TObject); +begin + OrdDate.SetFocus; + if Trim(OrderNo.Text)='' then + begin + Application.MessageBox('ŲΪգ','ʾ',0); + Exit; + end; + if Order_Sub.IsEmpty then + begin + Application.MessageBox('ϸΪ!','ʾ',0); + Exit; + end; + if Order_Sub.Locate('PrtPrice',null,[])=True then + begin + Application.MessageBox('۲Ϊ!','ʾ',0); + Exit; + end; + if Order_Sub.Locate('PrtPrice',0,[])=True then + begin + Application.MessageBox('۲Ϊ!','ʾ',0); + Exit; + end; + if Trim(orddefstr5.Text)='' then + begin + Application.MessageBox('۸ﲻΪ','ʾ',0); + Exit; + end; + if SaveData() then + begin + Application.MessageBox('ɹ','ʾ',0); + ModalResult:=1; + end; +end; + +procedure TfrmOrderInPut_CY.v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdColor'; + flagname:='ɫ'; + V1Name.Caption:=''; + V1Note.Caption:='Ӣ'; + // MainType:=Trim(DName); + fnote:=True; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PRTColor').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + Self.Order_Sub.FieldByName('SOrddefstr4').Value:=Trim(ClientDataSet1.fieldbyname('Note').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut_CY.ToolButton1Click(Sender: TObject); +var + i:Integer; +begin + if Trim(OrderNo.Text)='' then + begin + Application.MessageBox('ŲΪ!','ʾ',0); + Exit; + end; + i:=Order_Sub.RecordCount; + i:=i+1; + CopyAddRow(Tv1,Order_Sub); + with Order_Sub do + begin + Edit; + FieldByName('XHNO').Value:=IntToStr(i); + // FieldByName('SOrddefstr1').Value:=IntToStr(i); + { if i<9 then + FieldByName('SOrddefstr1').Value:='0'+Trim(IntToStr(i)) + else + FieldByName('SOrddefstr1').Value:=Trim(IntToStr(i)); } + FieldByName('PRTColor').Value:=''; + FieldByName('PRTOrderQty').Value:=null; + //FieldByName('PRTPrice').Value:=null; + FieldByName('SOrddefstr4').Value:=null; + FieldByName('SOrddefstr2').Value:=null; + Post; + end; +end; + +procedure TfrmOrderInPut_CY.ToolButton2Click(Sender: TObject); +begin + if Order_Sub.IsEmpty then Exit; + + + if Trim(Order_Sub.fieldbyname('SubId').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrderCY_Sub where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; + Order_Sub.Delete; + +end; + +procedure TfrmOrderInPut_CY.RanFactoryBtnUpClick(Sender: TObject); +begin + {try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='RKPlace'; + flagname:='Ⱦ'; + if ShowModal=1 then + begin + JGFactoryName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + JGFactoryName.TxtCode:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; } +end; + +procedure TfrmOrderInPut_CY.CustomerNoNameBtnUpClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='CustomerNoName'; + flagname:='ͻ'; + if Trim(DParameters1)<>'Ȩ' then + MainType:=Trim(DName); + if ShowModal=1 then + begin + CustomerNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + CustomerNoName.TxtCode:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut_CY.CustomerNoNameBtnDnClick(Sender: TObject); +begin + TBtnEditC(Sender).Text:=''; + TBtnEditC(Sender).TxtCode:=''; +end; + +procedure TfrmOrderInPut_CY.v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrderUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('OrderUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut_CY.v1PriceUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='PriceUnit'; + flagname:='۸λ'; + if Trim(DParameters1)<>'Ȩ' then + begin + TBAdd.Visible:=False; + TBEdit.Visible:=False; + TBDel.Visible:=False; + end; + + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PriceUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut_CY.YCLFactoryBtnUpClick(Sender: TObject); +var + fsj:string; + FWZ:Integer; +begin + fsj:=Trim(TEdit(Sender).Hint); + FWZ:=Pos('/',fsj); + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Copy(fsj,1,FWZ-1); + flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); + MainType:=TEdit(Sender).Name; + if ShowModal=1 then + begin + TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut_CY.MPRTSCTeBieNoteBtnUpClick(Sender: TObject); +var + fsj:string; + FWZ:Integer; +begin + fsj:=Trim(TEdit(Sender).Hint); + FWZ:=Pos('/',fsj); + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:=Copy(fsj,1,FWZ-1); + flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); + if ShowModal=1 then + begin + TEdit(Sender).Text:=ReturnStr; + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + + +procedure TfrmOrderInPut_CY.MPRTBZNoteDblClick(Sender: TObject); +var + fsj:string; + FWZ:Integer; + i:integer; +begin + fsj:=Trim(TMemo(Sender).Hint); + FWZ:=Pos('/',fsj); + i:=0; + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:=Copy(fsj,1,FWZ-1); + flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); + if ShowModal=1 then + begin + MPRTBZNote.Lines.Clear; + with ClientDataSet1 do + begin + First; + while not Eof do + begin + if FieldByName('SSel').AsBoolean=True then + begin + i:=i+1; + MPRTBZNote.Lines.Add(inttostr(i)+'.'+FieldByName('ZDYName').AsString) + end; + Next; + end; + end; + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmOrderInPut_CY.MPRTSCTeBieNoteDblClick(Sender: TObject); +var + fsj:string; + FWZ:Integer; + i:integer; +begin + fsj:=Trim(TMemo(Sender).Hint); + FWZ:=Pos('/',fsj); + i:=0; + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:=Copy(fsj,1,FWZ-1); + flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); + if ShowModal=1 then + begin + MPRTSCTeBieNote.Lines.Clear; + with ClientDataSet1 do + begin + First; + while not Eof do + begin + if FieldByName('SSel').AsBoolean=True then + begin + i:=i+1; + MPRTSCTeBieNote.Lines.Add(inttostr(i)+'.'+FieldByName('ZDYName').AsString) + end; + Next; + end; + end; + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + + +procedure TfrmOrderInPut_CY.FormCreate(Sender: TObject); +begin + cxGrid1.Align:=alClient; + OrdDate.DateTime:=SGetServerDateTime(ADOTemp); + DlyDate.DateTime:=OrdDate.Date; + OrdDefDate1.DateTime:=OrdDate.Date; + OrdDefDate2.DateTime:=OrdDate.Date; +end; + +procedure TfrmOrderInPut_CY.N1Click(Sender: TObject); +begin + ToolButton1.Click; +end; + +procedure TfrmOrderInPut_CY.N3Click(Sender: TObject); +begin + ToolButton2.Click; +end; + +procedure TfrmOrderInPut_CY.conNoChange(Sender: TObject); + +var + ConMainId:string; +begin + + +end; + +procedure TfrmOrderInPut_CY.ToolButton4Click(Sender: TObject); +begin + CDS_CG.Append; + CDS_CG.FieldByName('CRTime').Value:=formatdateTime('yyyy-MM-dd',date()); + CDS_CG.Post; +end; + +procedure TfrmOrderInPut_CY.ToolButton5Click(Sender: TObject); +begin + IF CDS_CG.IsEmpty then exit; + IF CDS_CG.FieldByName('defBit1').AsBoolean then + begin + if Application.MessageBox('˵ɲɹǷɾɹͲϢ','ʾ',32+4)<>IDYES then Exit; + end; + + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete BP_InOut_CF where CRNO='''+Trim(CDS_CG.fieldbyname('CRNO').AsString)+''''); + sql.Add('delete YF_Money_CR where mainID='''+Trim(CDS_CG.fieldbyname('CRNO').AsString)+''''); + ExecSQL; + end; + CDS_CG.Delete; +end; + +procedure TfrmOrderInPut_CY.ToolButton6Click(Sender: TObject); +var + strlist:Tstringlist; + i:integer; + maxno:string; +begin + // strlist:=Tstringlist.Create; + IF (CDS_CG.Locate('ssel',true,[]) and CDS_CG.Locate('defbit1',true,[])) then + begin + if Application.MessageBox('ѡϢвɹɣǷɣ','ʾ',32+4)<>IDYES then exit; + end; + + with CDS_CG do + begin + DisableControls; + first; + while not eof do + begin + if fieldbyname('ssel').AsBoolean then + begin + if trim(fieldbyname('custName').AsString)='' then + begin + Application.MessageBox('ɲɹIJϢӦ̲Ϊգ','ʾϢ',MB_ICONERROR); + EnableControls; + Exit; + end; + // IF strlist.IndexOf(trim(fieldbyname('custName').AsString))<0 then + // strlist.Add(trim(fieldbyname('custName').AsString)); + end; + next; + end; + first; + EnableControls; + end; + ADOCmd.Connection.BeginTrans; + try + + with CDS_CG do + begin + DisableControls; + first; + while not eof do + begin + if fieldbyname('ssel').AsBoolean then + begin + // maxNo:=trim(orderNo.Text)+'-'+CDS_CG.fieldbyname('ID').AsString; + // if trim(fieldbyname('custName').AsString)=trim(strlist.Strings[i]) then + // begin + with ADOCmd do + begin + close; + sql.Clear; + sql.Add('update BP_InOut_CF SET defBit1=1'); + // sql.Add('inoutNO='+quotedstr(trim(orderNo.Text)+'-'+trim(maxno))); + sql.Add('where CRNO='+quotedstr(CDS_CG.fieldbyname('CRNO').AsString)); + execsql; + end; + + IF pos('',trim(CDS_CG.fieldbyname('custName').AsString))<1 then + begin + IF not YFData() then + begin + ADOCmd.Connection.RollbackTrans; + application.MessageBox('Ӧʧܣ','ʾϢ',MB_ICONERROR); + exit; + end; + end; + // end; + end; + next;; + end; + first; + EnableControls; + end; + + with ADOCmd do + begin + close; + sql.Clear; + sql.Add('update BP_InOut_CF SET inoutNO=rtrim(B.orderNo)+''-''+cast(A.CRID as varchar) '); + sql.Add('from BP_InOut_CF A'); + sql.Add('inner join JYOrder_main B on B.mainID=A.mainID'); + sql.Add('where A.mainID='+quotedstr(CDS_CG.fieldbyname('mainID').AsString)); + execsql; + end; + with ADOCmd do + begin + close; + sql.Clear; + sql.Add('update BP_InOut_CF SET inoutNO=(select min(inoutNO) from BP_InOut_CF X where X.mainID=BP_InOut_CF.mainID and X.custName=BP_InOut_CF.custName)'); + sql.Add('where mainID='+quotedstr(CDS_CG.fieldbyname('mainID').AsString)); + execsql; + end; + { for i:=0 to strlist.Count-1 do + begin + if GetLSNo(ADOCmd,maxno,'',trim(orderNO.Text),2,0)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + + // i:=i+1; + end; } + ADOCmd.Connection.CommitTrans; + application.MessageBox('ɹɲɹ','ʾϢ'); + InitData(); + except + ADOCmd.Connection.RollbackTrans; + CDS_CG.EnableControls; + application.MessageBox('ɲɹʧܣ','ʾϢ',MB_ICONERROR); + end; +end; + +procedure TfrmOrderInPut_CY.orderNoBtnClick(Sender: TObject); +var + ConMainId:string; +begin + ConMainId:=''; + frmProductOrderListSel:=TfrmProductOrderListSel.create(self); + with frmProductOrderListSel do + begin + FFInt:=1; + if showmodal=1 then + begin + ConMainId:=trim(Order_Main.fieldbyname('mainID').asstring); + end; + free; + end; + iF ConMainId='' then exit; + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select B.*,A.*,c.KhconNo,C.ConPerson2,C.ConPerson3,C.conDefstr2,C.conDefstr6,C.priceNote,C.Payment,C.ShippMent from JYOrder_sub A '); + sql.Add('inner join JYOrder_Main B on B.mainID=A.mainID '); + sql.Add('left join JYOrderCon_Main C on C.conNO=B.conNO '); + sql.Add('where B.mainID like '''+'%'+Trim(ConMainId)+'%'+''''); + Open; + end; + IF not ADOTemp.IsEmpty then + begin + ConNo.Text:=Trim(ADOTemp.fieldbyname('ConNo').AsString); + orderNo.Text:=Trim(ADOTemp.fieldbyname('orderNo').AsString); + CYNO.Text:='CY_'+Trim(ADOTemp.fieldbyname('ConNo').AsString); + CustomerNoName.Text:=Trim(ADOTemp.fieldbyname('CustomerNoName').AsString); + CustomerNoName.TxtCode:=Trim(ADOTemp.fieldbyname('CustomerNo').AsString); + DLYDate.DateTime:=ADOTemp.fieldbyname('DLYDate').AsDateTime; + // ConMainId:=Trim(ADOTemp.fieldbyname('MainId').AsString); + OrdPerson2.Text:=Trim(ADOTemp.fieldbyname('OrdPerson2').AsString); + KHCONNO.Text:=Trim(ADOTemp.fieldbyname('KHCONNO').AsString); + LBNameNote.Text:=Trim(ADOTemp.fieldbyname('LBNameNote').AsString); + MaiTouNote.Text:=Trim(ADOTemp.fieldbyname('MaiTouNote').AsString); + + ConPerson1.Text:=Trim(ADOTemp.fieldbyname('ConPerson2').AsString); + ConPerson2.Text:=Trim(ADOTemp.fieldbyname('ConPerson3').AsString); + + conDefstr1.Text:=Trim(ADOTemp.fieldbyname('conDefstr2').AsString); + conDefstr2.Text:=Trim(ADOTemp.fieldbyname('conDefstr6').AsString); + + orddefstr4.Text:=Trim(ADOTemp.fieldbyname('Payment').AsString); + orddefstr5.Text:=Trim(ADOTemp.fieldbyname('priceNote').AsString); + orddefstr6.Text:=Trim(ADOTemp.fieldbyname('ShippMent').AsString); + end; + Order_Sub.EmptyDataSet; + with ADOTemp do + begin + First; + while not Eof do + begin + with Order_Sub do + begin + Append; + FieldByName('XHNO').Value:=Trim(ADOTemp.fieldbyname('XHNO').AsString); + FieldByName('PRTCode').Value:=Trim(ADOTemp.fieldbyname('MPRTCode').AsString); + FieldByName('PRTCodeName').Value:=Trim(ADOTemp.fieldbyname('MPRTCodeName').AsString); + FieldByName('PRTspec').Value:=Trim(ADOTemp.fieldbyname('MPRTspec').AsString); + FieldByName('PRTOrderQty').Value:=Trim(ADOTemp.fieldbyname('PRTOrderQty').AsString); + FieldByName('PRTMF').Value:=Trim(ADOTemp.fieldbyname('MPRTMF').AsString); + FieldByName('PRTKZ').Value:=Trim(ADOTemp.fieldbyname('MPRTKZ').AsString); + FieldByName('Sorddefstr1').Value:=Trim(ADOTemp.fieldbyname('Sorddefstr1').AsString); + FieldByName('Sorddefstr2').Value:=Trim(ADOTemp.fieldbyname('Sorddefstr2').AsString); + FieldByName('Sorddefstr4').Value:=Trim(ADOTemp.fieldbyname('Sorddefstr4').AsString); + FieldByName('PRTColor').Value:=Trim(ADOTemp.fieldbyname('PRTColor').AsString); + FieldByName('OrderUnit').Value:=Trim(ADOTemp.fieldbyname('OrderUnit').AsString); + FieldByName('PRTPrice').Value:=Trim(ADOTemp.fieldbyname('PRTPrice').AsString); + FieldByName('PriceUnit').Value:=Trim(ADOTemp.fieldbyname('PriceUnit').AsString); +// FieldByName('PriceUnitRate').Value:=Trim(ADOTemp.fieldbyname('PriceUnitRate').AsString); + // FieldByName('PRTmoney').Value:=Trim(ADOTemp.fieldbyname('PRTmoney').AsString); + FieldByName('SordQty1').Value:=Trim(ADOTemp.fieldbyname('PRTOrderQty').AsString); + + FieldByName('Sorddefstr10').Value:=Trim(ADOTemp.fieldbyname('subID').AsString); + Post; + end; + Next; + end; + end; + + + +end; + +procedure TfrmOrderInPut_CY.OrdPerson1BtnUpClick(Sender: TObject); +var + fsj:string; + FWZ:Integer; +begin + fsj:=Trim(TEdit(Sender).Hint); + FWZ:=Pos('/',fsj); + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Copy(fsj,1,FWZ-1); + flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); + if Trim(flag)='OrdDefStr2' then + begin + //flag:='OrdDefStr2'; + V1Name.Caption:=''; + V1Note.Caption:='Ӣ'; + fnote:=True; + end; + if ShowModal=1 then + begin + TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + if Trim(flag)='MPRTCode' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1 * from JYOrder_Main where MPRTCode='''+Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''''); + sql.Add(' order by FillTime desc'); + Open; + end; + end; + end; + end; + finally + frmZDYHelp.Free; + end; + +end; + +end. diff --git a/打卷检验管理/U_OrderInPut_FB.dfm b/打卷检验管理/U_OrderInPut_FB.dfm new file mode 100644 index 0000000..8d8764e --- /dev/null +++ b/打卷检验管理/U_OrderInPut_FB.dfm @@ -0,0 +1,1060 @@ +object frmOrderInPut_FB: TfrmOrderInPut_FB + Left = 129 + Top = 107 + Width = 1147 + Height = 578 + Caption = #21457#31080#32534#36753 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + WindowState = wsMaximized + OnCreate = FormCreate + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1139 + Height = 35 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clBtnFace + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = TBSaveClick + end + object TBClose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object cxTabControl2: TcxTabControl + Left = 0 + Top = 245 + Width = 1139 + Height = 18 + Align = alTop + LookAndFeel.Kind = lfFlat + LookAndFeel.NativeStyle = False + Style = 9 + TabIndex = 0 + TabOrder = 1 + Tabs.Strings = ( + #20135#21697#20449#24687) + ClientRectBottom = 19 + ClientRectRight = 1139 + ClientRectTop = 19 + end + object cxGrid1: TcxGrid + Left = 0 + Top = 292 + Width = 1139 + Height = 237 + Align = alTop + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column7 + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Prtmoney + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1XHNo: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'XHNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 35 + end + object v1Column5: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'PrtCodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Width = 90 + end + object v1Column6: TcxGridDBColumn + Caption = #20135#21697#35268#26684 + DataBinding.FieldName = 'PRTspec' + HeaderAlignmentHorz = taCenter + Width = 90 + end + object v1Column2: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'PRTMF' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column9: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'PRTKZ' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = False + Properties.OnButtonClick = v1PRTColorPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 90 + end + object v1Column3: TcxGridDBColumn + Caption = #39068#33394'('#33521#25991')' + DataBinding.FieldName = 'SOrddefstr4' + Width = 84 + end + object v1Column7: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'SordQty1' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column7PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FontBlue + Styles.Footer = DataLink_TradeManage.FontBlue + Styles.Header = DataLink_TradeManage.FontBlue + Width = 60 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1OrderUnitPropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1Column4: TcxGridDBColumn + Caption = #24065#31181 + DataBinding.FieldName = 'priceUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column4PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column8: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'PrtPrice' + PropertiesClassName = 'TcxCurrencyEditProperties' + Properties.DisplayFormat = '0.00;-0.00' + Properties.OnEditValueChanged = v1Column8PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Prtmoney: TcxGridDBColumn + Caption = #37329#39069 + DataBinding.FieldName = 'Prtmoney' + PropertiesClassName = 'TcxCurrencyEditProperties' + Properties.DisplayFormat = '0.00;-0.00' + Properties.OnEditValueChanged = v1PrtmoneyPropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FoneRed + Styles.Footer = DataLink_TradeManage.FoneRed + Styles.Header = DataLink_TradeManage.FoneRed + Width = 70 + end + object v1SordQty4: TcxGridDBColumn + Caption = #27611#37325 + DataBinding.FieldName = 'SordQty4' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object v1SordQty5: TcxGridDBColumn + Caption = #20928#37325 + DataBinding.FieldName = 'SordQty5' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object v1SordQty3: TcxGridDBColumn + Caption = #31435#26041#25968 + DataBinding.FieldName = 'SordQty3' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object v1Column1: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'SOrdDefNote1' + HeaderAlignmentHorz = taCenter + Width = 137 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 263 + Width = 1139 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clBtnFace + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 3 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 126 + Top = 0 + Caption = #19968#38190#26367#25442 + ImageIndex = 104 + Visible = False + end + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 35 + Width = 1139 + Height = 18 + Align = alTop + Style = 9 + TabIndex = 0 + TabOrder = 4 + Tabs.Strings = ( + #20027#35201#20449#24687) + ClientRectBottom = 19 + ClientRectRight = 1139 + ClientRectTop = 19 + end + object Panel1: TPanel + Left = 0 + Top = 53 + Width = 1139 + Height = 192 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 5 + object Label1: TLabel + Left = 31 + Top = 15 + Width = 66 + Height = 12 + Caption = #21457' '#31080' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 291 + Top = 19 + Width = 65 + Height = 12 + Caption = #21046#21333#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 291 + Top = 43 + Width = 66 + Height = 12 + Caption = #21512' '#21516' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label43: TLabel + Left = 291 + Top = 68 + Width = 66 + Height = 12 + Caption = #19994' '#21153' '#21592#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label14: TLabel + Left = 31 + Top = 67 + Width = 67 + Height = 12 + Caption = #23458' '#25143#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label19: TLabel + Left = 31 + Top = 324 + Width = 65 + Height = 12 + Caption = #27880#24847#20107#39033#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label42: TLabel + Left = 31 + Top = 388 + Width = 65 + Height = 12 + Caption = #29983#20135#25552#31034#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label2: TLabel + Left = 31 + Top = 43 + Width = 65 + Height = 12 + Caption = #25351#31034#21333#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 563 + Top = 47 + Width = 34 + Height = 12 + Caption = 'PO#'#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 563 + Top = 68 + Width = 65 + Height = 12 + Caption = #23458#25143#31616#31216#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 291 + Top = 278 + Width = 91 + Height = 12 + Caption = #25910#36135#20844#21496#22320#22336#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 31 + Top = 276 + Width = 66 + Height = 12 + Caption = #25910' '#36135' '#20154#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label35: TLabel + Left = 31 + Top = 300 + Width = 66 + Height = 12 + Caption = #36890' '#30693' '#20154#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 291 + Top = 302 + Width = 91 + Height = 12 + Caption = #36890#30693#20844#21496#22320#22336#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 563 + Top = 93 + Width = 65 + Height = 12 + Caption = #20215#26684#26415#35821#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label15: TLabel + Left = 292 + Top = 92 + Width = 65 + Height = 12 + Caption = #20184#27454#26041#24335#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label16: TLabel + Left = 31 + Top = 90 + Width = 65 + Height = 12 + Caption = #20986#36816#26041#24335#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label17: TLabel + Left = 31 + Top = 116 + Width = 65 + Height = 12 + Caption = #21457#31080#26684#24335#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label20: TLabel + Left = 563 + Top = 19 + Width = 65 + Height = 12 + Caption = #20986#36816#21333#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 32 + Top = 164 + Width = 65 + Height = 12 + Caption = #38134#34892#36134#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 562 + Top = 116 + Width = 66 + Height = 12 + Caption = #24320' '#25143' '#34892#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label21: TLabel + Left = 290 + Top = 164 + Width = 65 + Height = 12 + Caption = #38134#34892#22320#22336#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label28: TLabel + Left = 31 + Top = 139 + Width = 65 + Height = 12 + Caption = #38134#34892#20195#30721#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 291 + Top = 116 + Width = 65 + Height = 12 + Caption = #21040#27454#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 290 + Top = 140 + Width = 66 + Height = 12 + Caption = #21551' '#29992' '#28207#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label22: TLabel + Left = 562 + Top = 140 + Width = 66 + Height = 12 + Caption = #30446' '#30340' '#28207#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label37: TLabel + Left = 858 + Top = 48 + Width = 13 + Height = 84 + Caption = #21787#13#10#13#10#22836#13#10#13#10#20869#13#10#13#10#23481 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object invoiceNo: TEdit + Tag = 2 + Left = 97 + Top = 12 + Width = 150 + Height = 20 + Enabled = False + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + Text = #33258#21160#29983#25104 + end + object OrdDate: TDateTimePicker + Tag = 2 + Left = 357 + Top = 15 + Width = 150 + Height = 20 + BevelInner = bvNone + Date = 40916.670856296290000000 + Format = 'yyyy-MM-dd' + Time = 40916.670856296290000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object OrdPerson2: TBtnEditC + Tag = 2 + Left = 357 + Top = 64 + Width = 150 + Height = 20 + Hint = 'OrdPerson2/'#19994#21153#21592 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object CustomerNoName: TBtnEditC + Tag = 2 + Left = 97 + Top = 64 + Width = 150 + Height = 20 + Hint = 'CustomerNo' + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 3 + OnBtnUpClick = CustomerNoNameBtnUpClick + OnBtnDnClick = CustomerNoNameBtnDnClick + end + object MPRTBZNote: TMemo + Tag = 2 + Left = 97 + Top = 324 + Width = 681 + Height = 57 + Hint = 'MPRTBZNote/'#21253#35013#35201#27714 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ScrollBars = ssVertical + TabOrder = 4 + OnDblClick = MPRTBZNoteDblClick + end + object MPRTSCTeBieNote: TMemo + Tag = 2 + Left = 93 + Top = 387 + Width = 681 + Height = 57 + Hint = 'MPRTSCTeBieNote/'#29983#20135#29305#21035#25552#31034 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ScrollBars = ssVertical + TabOrder = 5 + Visible = False + OnDblClick = MPRTSCTeBieNoteDblClick + end + object conNO: TEdit + Tag = 2 + Left = 357 + Top = 39 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + end + object KHConNO: TEdit + Tag = 2 + Left = 629 + Top = 40 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 7 + end + object orderNo: TBtnEditA + Tag = 2 + Left = 97 + Top = 39 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 8 + OnBtnClick = orderNoBtnClick + end + object orddefstr10: TEdit + Tag = 2 + Left = 629 + Top = 64 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 9 + end + object conDefstr1: TEdit + Tag = 2 + Left = 378 + Top = 271 + Width = 399 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 10 + end + object conDefstr2: TEdit + Tag = 2 + Left = 378 + Top = 295 + Width = 399 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 11 + end + object ConPerson1: TEdit + Tag = 2 + Left = 97 + Top = 272 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 12 + end + object ConPerson2: TEdit + Tag = 2 + Left = 97 + Top = 296 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 13 + end + object orddefstr5: TEdit + Tag = 2 + Left = 629 + Top = 88 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 14 + end + object orddefstr4: TEdit + Tag = 2 + Left = 357 + Top = 88 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 15 + end + object orddefstr6: TEdit + Tag = 2 + Left = 97 + Top = 88 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 16 + end + object orddefstr7: TEdit + Tag = 2 + Left = 97 + Top = 112 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 17 + end + object CYNO: TBtnEditA + Tag = 2 + Left = 629 + Top = 15 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 18 + OnBtnClick = CYNOBtnClick + end + object OrdDefStr9: TEdit + Tag = 2 + Left = 629 + Top = 112 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 19 + end + object OrdDefStr8: TBtnEditA + Tag = 2 + Left = 97 + Top = 160 + Width = 150 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 20 + OnBtnClick = OrdDefStr8BtnClick + end + object OrdDefStr12: TEdit + Tag = 2 + Left = 357 + Top = 160 + Width = 421 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 21 + end + object OrdDefStr11: TEdit + Tag = 2 + Left = 97 + Top = 135 + Width = 148 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 22 + end + object MPRTTYpe: TEdit + Left = 1120 + Top = 148 + Width = 121 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 23 + Visible = False + end + object OrdDefDate1: TDateTimePicker + Tag = 2 + Left = 357 + Top = 112 + Width = 150 + Height = 20 + BevelInner = bvNone + Date = 0.670856296288548100 + Format = 'yyyy-MM-dd' + Time = 0.670856296288548100 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 24 + end + object OrdDefStr13: TEdit + Tag = 2 + Left = 357 + Top = 136 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 25 + end + object OrdDefStr14: TEdit + Tag = 2 + Left = 629 + Top = 136 + Width = 149 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 26 + end + object orddefstr3: TMemo + Tag = 2 + Left = 877 + Top = 20 + Width = 152 + Height = 150 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 27 + end + end + object ADOTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1000 + Top = 293 + end + object ADOCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 948 + Top = 289 + end + object DataSource1: TDataSource + DataSet = Order_Sub + Left = 1016 + Top = 368 + end + object Order_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 992 + Top = 340 + end + object ADOQuery1: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 1048 + Top = 289 + end + object PopupMenu1: TPopupMenu + Left = 776 + Top = 336 + object N3: TMenuItem + Caption = #21024#34892 + OnClick = N3Click + end + end + object CDS_CG: TClientDataSet + Aggregates = <> + Params = <> + Left = 1044 + Top = 509 + end + object DataSource2: TDataSource + DataSet = CDS_CG + Left = 960 + Top = 505 + end + object PopupMenu2: TPopupMenu + Left = 740 + Top = 540 + object N9: TMenuItem + Caption = #22686#21152 + end + object N8: TMenuItem + Caption = '-' + end + object N4: TMenuItem + Caption = #22686#34892 + end + object N5: TMenuItem + Caption = #21024#34892 + end + object N6: TMenuItem + Caption = '-' + end + object N7: TMenuItem + Caption = #29983#25104#37319#36141#21333 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 820 + Top = 289 + end +end diff --git a/打卷检验管理/U_OrderInPut_FB.pas b/打卷检验管理/U_OrderInPut_FB.pas new file mode 100644 index 0000000..7c0a273 --- /dev/null +++ b/打卷检验管理/U_OrderInPut_FB.pas @@ -0,0 +1,1239 @@ +unit U_OrderInPut_FB; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxClasses, cxControls, + cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, + cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, + ExtCtrls, BtnEdit, cxCalendar,StrUtils, cxCurrencyEdit, cxPC, Menus, + cxCheckBox, cxGridCustomPopupMenu, cxGridPopupMenu; + +type + TfrmOrderInPut_FB = class(TForm) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + ToolBar2: TToolBar; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + DataSource1: TDataSource; + Order_Sub: TClientDataSet; + ADOQuery1: TADOQuery; + ToolButton3: TToolButton; + cxTabControl2: TcxTabControl; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1XHNo: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + cxTabControl1: TcxTabControl; + v1Column1: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N3: TMenuItem; + CDS_CG: TClientDataSet; + DataSource2: TDataSource; + PopupMenu2: TPopupMenu; + N4: TMenuItem; + N5: TMenuItem; + N6: TMenuItem; + N7: TMenuItem; + N8: TMenuItem; + N9: TMenuItem; + v1Column7: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + Panel1: TPanel; + Label1: TLabel; + Label3: TLabel; + Label10: TLabel; + Label43: TLabel; + Label14: TLabel; + Label19: TLabel; + Label42: TLabel; + Label2: TLabel; + invoiceNo: TEdit; + OrdDate: TDateTimePicker; + OrdPerson2: TBtnEditC; + CustomerNoName: TBtnEditC; + MPRTBZNote: TMemo; + MPRTSCTeBieNote: TMemo; + conNO: TEdit; + KHConNO: TEdit; + orderNo: TBtnEditA; + Label5: TLabel; + v1Column3: TcxGridDBColumn; + Label7: TLabel; + orddefstr10: TEdit; + conDefstr1: TEdit; + Label13: TLabel; + Label9: TLabel; + Label35: TLabel; + Label11: TLabel; + conDefstr2: TEdit; + ConPerson1: TEdit; + ConPerson2: TEdit; + v1Column2: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + cxGridPopupMenu1: TcxGridPopupMenu; + Label12: TLabel; + Label15: TLabel; + orddefstr5: TEdit; + orddefstr4: TEdit; + orddefstr6: TEdit; + Label16: TLabel; + orddefstr7: TEdit; + Label17: TLabel; + Label20: TLabel; + CYNO: TBtnEditA; + v1Prtmoney: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + Label4: TLabel; + Label6: TLabel; + OrdDefStr9: TEdit; + OrdDefStr8: TBtnEditA; + Label21: TLabel; + Label28: TLabel; + OrdDefStr12: TEdit; + OrdDefStr11: TEdit; + MPRTTYpe: TEdit; + v1SordQty4: TcxGridDBColumn; + v1SordQty5: TcxGridDBColumn; + v1SordQty3: TcxGridDBColumn; + Label8: TLabel; + OrdDefDate1: TDateTimePicker; + Label18: TLabel; + OrdDefStr13: TEdit; + Label22: TLabel; + OrdDefStr14: TEdit; + orddefstr3: TMemo; + Label37: TLabel; + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure RanFactoryBtnUpClick(Sender: TObject); + procedure CustomerNoNameBtnUpClick(Sender: TObject); + procedure CustomerNoNameBtnDnClick(Sender: TObject); + procedure v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1PriceUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure YCLFactoryBtnUpClick(Sender: TObject); + procedure MPRTSCTeBieNoteBtnUpClick(Sender: TObject); + procedure MPRTBZNoteDblClick(Sender: TObject); + procedure MPRTSCTeBieNoteDblClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure N1Click(Sender: TObject); + procedure N3Click(Sender: TObject); + procedure conNoChange(Sender: TObject); + procedure ToolButton4Click(Sender: TObject); + procedure ToolButton5Click(Sender: TObject); + procedure orderNoBtnClick(Sender: TObject); + procedure OrdPerson1BtnUpClick(Sender: TObject); + procedure v1Column4PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column7PropertiesEditValueChanged(Sender: TObject); + procedure v1PrtmoneyPropertiesEditValueChanged(Sender: TObject); + procedure CYNOBtnClick(Sender: TObject); + procedure v1Column8PropertiesEditValueChanged(Sender: TObject); + procedure OrdDefStr8BtnClick(Sender: TObject); + private + procedure InitData(); + procedure ZDYHelp(FButn:TcxButtonEdit;LType:string); + function SaveData():Boolean; + function YSData():Boolean; + { Private declarations } + public + PState,CopyInt,PriceFlag:Integer; + FMainId,FFMainId,FOrderNo,ftype:String; + FXS:Integer; + { Public declarations } + end; + +var + frmOrderInPut_FB: TfrmOrderInPut_FB; + newh:hwnd; +implementation +uses + U_DataLink,U_ZDYHelp,U_Fun,U_ZDYHelpSel, U_ProductOrderListSel,U_ProductOrderNewList_CY_SEL; + +{$R *.dfm} + +function TfrmOrderInPut_FB.YSData():Boolean; +var + CRID,OrdMainId,YFID,FComTaiTou,FCRID,FFactoryName:String; +begin + Result:=False; + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(CustomerNoName.Text)+''''); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + CRID:=ADOTemp.fieldbyname('CRID').AsString; + end else + begin + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CRID set CRID=CRID+1'); + sql.Add('select * from YF_Money_CRID '); + Open; + end; + CRID:=ADOCmd.fieldbyname('CRID').AsString; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where 1<>1'); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('FactoryName').Value:=Trim(CustomerNoName.Text); + FieldByName('ZdyStr1').Value:='Ӧ'; + Post; + end; + end; + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(CustomerNoName.Text)+''''); + sql.Add(' and mainID='''+Trim(Order_Sub.fieldbyname('mainID').AsString)+''''); + sql.Add(' and subID='''+Trim(Order_Sub.fieldbyname('subID').AsString)+''''); + Open; + end; + if ADOTemp.IsEmpty then + begin + if GetLSNo(ADOCmd,YFID,'YS','YF_Money_CR',3,1)=False then + begin + Application.MessageBox('ȡӦʧ!','ʾ',0); + Exit; + end; + end + else + begin + YFID:=Trim(ADOTemp.fieldbyname('YFID').AsString); + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where YFID='''+Trim(YFID)+''''); + Open; + end; + with ADOCmd do + begin + if ADOTemp.IsEmpty then + Append + else + Edit; + FieldByName('YFID').Value:=Trim(YFID); + FieldByName('YFTypeId').Value:=Trim(Order_Sub.fieldbyname('mainID').AsString); + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRType').Value:='ӦտǼ'; + FieldByName('CRFlag').Value:='Ӧ'; + FieldByName('QtyFlag').Value:=1; + FieldByName('FactoryName').Value:=Trim(CustomerNoName.Text); + FieldByName('CRTime').Value:=OrdDate.Date; + FieldByName('Qty').Value:=Order_Sub.fieldbyname('SordQty1').AsFloat; + FieldByName('PS').Value:=0; + FieldByName('YFType').Value:='Զ'; + FieldByName('Price').Value:=Order_Sub.fieldbyname('prtPrice').AsFloat; + FieldByName('money').Value:=Order_Sub.fieldbyname('prtmoney').AsFloat; + FieldByName('BBmoney').Value:=Order_Sub.fieldbyname('prtmoney').AsFloat; + FieldByName('HuiLv').Value:=1; + FieldByName('BZType').Value:=Order_Sub.fieldbyname('priceUnit').AsString; + FieldByName('ComTaiTou').Value:=''; + FieldByName('QtyUnit').Value:=Trim(Order_Sub.fieldbyname('OrderUnit').AsString); + FieldByName('YFName').Value:='۽'; + FieldByName('MainId').Value:=Trim(Order_Sub.fieldbyname('MainId').AsString); + FieldByName('subId').Value:=Trim(Order_Sub.fieldbyname('subId').AsString); + Post; + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + Result:=True; +end; + +procedure TfrmOrderInPut_FB.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ָʾ¼AA',Tv1,'ָʾ'); +end; + +procedure TfrmOrderInPut_FB.InitData(); +begin + with ADOQuery1 do + begin + Close; + SQL.Clear; + sql.Add(' select * from JYOrderFB_Sub where 1=1 '); + if PState=1 then + begin + sql.Add(' and MainId='''+Trim(FMainId)+''''); + end; + if PState=0 then + begin + sql.Add(' and 1<>1'); + end; + Open; + end; + SCreateCDS20(ADOQuery1,Order_Sub); + SInitCDSData20(ADOQuery1,Order_Sub); + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrderFB_Main A '); + SQL.ADD('where MainId='''+Trim(FMainId)+''''); + Open; + end; + SCSHDataNew(ADOQuery1,Panel1,2); + if PState=0 then + begin + invoiceNO.Text:='Զ'; + end else + begin + end; + if CopyInt=99 then + begin + PState:=0; + FMainId:=''; + invoiceNO.Text:='Զ'; + with Order_Sub do + begin + First; + while not Eof do + begin + Edit; + FieldByName('MainId').Value:=''; + FieldByName('SubId').Value:=''; + Post; + Next; + end; + end; + end; +end; + +procedure TfrmOrderInPut_FB.ZDYHelp(FButn:TcxButtonEdit;LType:string); +var + FType,ZDYName,FText:String; +begin +end; + +procedure TfrmOrderInPut_FB.FormShow(Sender: TObject); +begin + readCxGrid(self.Caption,Tv1,'ָʾ'); + + InitData(); +end; + +function TfrmOrderInPut_FB.SaveData():Boolean; +var + maxno,finvoiceNO,fmxType:String; +begin + try + ADOCmd.Connection.BeginTrans; + /// + if Trim(FMainId)='' then + begin + if GetLSNo(ADOCmd,maxno,'FM','JYOrderFB_Main',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + with ADOTemp do + begin + close; + sql.Clear; + sql.Add('exec P_Get_MaxInvoiceNo '); + sql.Add(' @MPRTType='''' '); + open; + end; + IF trim(ADOTemp.FieldByName('maxStr').AsString)='XXX' then + begin + fmxType:=uppercase(formatdateTime('yy',DServerDate)); + if GetLSNo(ADOCmd,finvoiceNO,fmxType,'JYOrderCon_Main',3,0)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + end + else + finvoiceNO:=trim(ADOTemp.FieldByName('maxStr').AsString); + finvoiceNO:=trim(orddefstr10.Text)+'-'+Trim(finvoiceNO); + invoiceNO.Text:=uppercase(finvoiceNO); + end + else + begin + maxno:=Trim(FMainId); + end; + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from JYOrderFB_Main where MainId='''+Trim(FMainId)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(FMainId)='' then + begin + Append; + end + else begin + Edit; + end; + FieldByName('MainId').Value:=Trim(maxno); + SSetsaveSqlNew(ADOCmd,'JYOrderFB_Main',Panel1,2); + FieldByName('OrdDefStr15').Value:=Trim(ftype); + if Trim(FMainId)='' then + begin + FieldByName('Filler').Value:=Trim(DName); + FieldByName('status').Value:='0'; + end else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + Post; + end; + + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrderFB_Main where INVoiceNO='''+Trim(INVoiceNO.Text)+''''); + Open; + end; + if ADOCmd.RecordCount>1 then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('˵ظ!','ʾ',0); + Exit; + end; + FMainId:=Trim(maxno); + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('delete from JYOrderFB_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add('delete from YF_Money_CR where MainId='''+Trim(FMainId)+''''); + execsql; + end; + ///ӱ + with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'FS','JYOrderFB_Sub',4,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrderFB_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add(' and SubId='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(maxno); + RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'JYOrderFB_Sub',0); + FieldByName('orderNO').Value:=Trim(orderNO.Text); + fieldbyname('PRTOrderQty').Value:=Order_Sub.fieldbyname('PRTOrderQty').AsFloat; + fieldbyname('PRTPrice').Value:=Order_Sub.fieldbyname('PRTPrice').AsFloat; + fieldbyname('PRTmoney').Value:=Order_Sub.fieldbyname('PRTmoney').AsFloat; + fieldbyname('SordQty1').Value:=Order_Sub.fieldbyname('SordQty1').AsFloat; + fieldbyname('SordQty2').Value:=Order_Sub.fieldbyname('SordQty2').AsFloat; + fieldbyname('SordQty3').Value:=Order_Sub.fieldbyname('SordQty3').AsFloat; + fieldbyname('SordQty4').Value:=Order_Sub.fieldbyname('SordQty4').AsFloat; + fieldbyname('SordQty5').Value:=Order_Sub.fieldbyname('SordQty5').AsFloat; + fieldbyname('SordQty6').Value:=Order_Sub.fieldbyname('SordQty6').AsFloat; + FieldByName('PriceUnit').Value:=Trim(Order_Sub.fieldbyname('PriceUnit').AsString); + FieldByName('Sorddefstr10').Value:=Trim(Order_Sub.fieldbyname('Sorddefstr10').AsString); + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('mainID').Value:=Trim(FMainId); + Order_Sub.FieldByName('SubId').Value:=Trim(maxno); + IF not YSdata() then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('Ӧտʧ!','ʾ',0); + Exit; + end; + //Order_Sub.Post; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + + + +procedure TfrmOrderInPut_FB.TBSaveClick(Sender: TObject); +begin + OrdDate.SetFocus; + { if Trim(OrderNo.Text)='' then + begin + Application.MessageBox('ŲΪգ','ʾ',0); + Exit; + end; } + if Order_Sub.IsEmpty then + begin + Application.MessageBox('ϸΪ!','ʾ',0); + Exit; + end; + if SaveData() then + begin + Application.MessageBox('ɹ','ʾ',0); + end; + ModalResult:=1; +end; + +procedure TfrmOrderInPut_FB.v1PRTColorPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrdColor'; + flagname:='ɫ'; + V1Name.Caption:=''; + V1Note.Caption:='Ӣ'; + // MainType:=Trim(DName); + fnote:=True; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PRTColor').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + Self.Order_Sub.FieldByName('SOrddefstr4').Value:=Trim(ClientDataSet1.fieldbyname('Note').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut_FB.ToolButton1Click(Sender: TObject); +var + i:Integer; + priceUnit:string; +begin + { if Trim(OrderNo.Text)='' then + begin + Application.MessageBox('ŲΪ!','ʾ',0); + Exit; + end; } + i:=Order_Sub.RecordCount; + i:=i+1; + If not Order_Sub.IsEmpty then + PriceUnit:=Order_Sub.fieldbyname('PriceUnit').AsString; + with Order_Sub do + begin + append; + FieldByName('XHNO').Value:=IntToStr(i); + FieldByName('PriceUnit').Value:=trim(PriceUnit); + Post; + end; +end; + +procedure TfrmOrderInPut_FB.ToolButton2Click(Sender: TObject); +begin + if Order_Sub.IsEmpty then Exit; + + +{ if Trim(Order_Sub.fieldbyname('SubId').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrderCY_Sub where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; } + Order_Sub.Delete; + +end; + +procedure TfrmOrderInPut_FB.RanFactoryBtnUpClick(Sender: TObject); +begin + {try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='RKPlace'; + flagname:='Ⱦ'; + if ShowModal=1 then + begin + JGFactoryName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + JGFactoryName.TxtCode:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; } +end; + +procedure TfrmOrderInPut_FB.CustomerNoNameBtnUpClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='CustomerNoName'; + flagname:='ͻ'; + if Trim(DParameters1)<>'Ȩ' then + MainType:=Trim(DName); + if ShowModal=1 then + begin + CustomerNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + CustomerNoName.TxtCode:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut_FB.CustomerNoNameBtnDnClick(Sender: TObject); +begin + TBtnEditC(Sender).Text:=''; + TBtnEditC(Sender).TxtCode:=''; +end; + +procedure TfrmOrderInPut_FB.v1OrderUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrderUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('OrderUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut_FB.v1PriceUnitPropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='PriceUnit'; + flagname:='۸λ'; + if Trim(DParameters1)<>'Ȩ' then + begin + TBAdd.Visible:=False; + TBEdit.Visible:=False; + TBDel.Visible:=False; + end; + + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PriceUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut_FB.YCLFactoryBtnUpClick(Sender: TObject); +var + fsj:string; + FWZ:Integer; +begin + fsj:=Trim(TEdit(Sender).Hint); + FWZ:=Pos('/',fsj); + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Copy(fsj,1,FWZ-1); + flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); + MainType:=TEdit(Sender).Name; + if ShowModal=1 then + begin + TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut_FB.MPRTSCTeBieNoteBtnUpClick(Sender: TObject); +var + fsj:string; + FWZ:Integer; +begin + fsj:=Trim(TEdit(Sender).Hint); + FWZ:=Pos('/',fsj); + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:=Copy(fsj,1,FWZ-1); + flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); + if ShowModal=1 then + begin + TEdit(Sender).Text:=ReturnStr; + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + + +procedure TfrmOrderInPut_FB.MPRTBZNoteDblClick(Sender: TObject); +var + fsj:string; + FWZ:Integer; + i:integer; +begin + fsj:=Trim(TMemo(Sender).Hint); + FWZ:=Pos('/',fsj); + i:=0; + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:=Copy(fsj,1,FWZ-1); + flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); + if ShowModal=1 then + begin + MPRTBZNote.Lines.Clear; + with ClientDataSet1 do + begin + First; + while not Eof do + begin + if FieldByName('SSel').AsBoolean=True then + begin + i:=i+1; + MPRTBZNote.Lines.Add(inttostr(i)+'.'+FieldByName('ZDYName').AsString) + end; + Next; + end; + end; + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmOrderInPut_FB.MPRTSCTeBieNoteDblClick(Sender: TObject); +var + fsj:string; + FWZ:Integer; + i:integer; +begin + fsj:=Trim(TMemo(Sender).Hint); + FWZ:=Pos('/',fsj); + i:=0; + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:=Copy(fsj,1,FWZ-1); + flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); + if ShowModal=1 then + begin + MPRTSCTeBieNote.Lines.Clear; + with ClientDataSet1 do + begin + First; + while not Eof do + begin + if FieldByName('SSel').AsBoolean=True then + begin + i:=i+1; + MPRTSCTeBieNote.Lines.Add(inttostr(i)+'.'+FieldByName('ZDYName').AsString) + end; + Next; + end; + end; + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + + +procedure TfrmOrderInPut_FB.FormCreate(Sender: TObject); +begin + cxGrid1.Align:=alClient; + OrdDate.DateTime:=SGetServerDateTime(ADOTemp); + OrdDefDate1.DateTime:=SGetServerDateTime(ADOTemp); + // DlyDate.DateTime:=OrdDate.Date; + // OrdDefDate1.DateTime:=OrdDate.Date; + // OrdDefDate2.DateTime:=OrdDate.Date; + +end; + +procedure TfrmOrderInPut_FB.N1Click(Sender: TObject); +begin + ToolButton1.Click; +end; + +procedure TfrmOrderInPut_FB.N3Click(Sender: TObject); +begin + ToolButton2.Click; +end; + +procedure TfrmOrderInPut_FB.conNoChange(Sender: TObject); + +var + ConMainId:string; +begin + + +end; + +procedure TfrmOrderInPut_FB.ToolButton4Click(Sender: TObject); +begin + CDS_CG.Append; + CDS_CG.FieldByName('CRTime').Value:=formatdateTime('yyyy-MM-dd',date()); + CDS_CG.Post; +end; + +procedure TfrmOrderInPut_FB.ToolButton5Click(Sender: TObject); +begin + IF CDS_CG.IsEmpty then exit; + IF CDS_CG.FieldByName('defBit1').AsBoolean then + begin + if Application.MessageBox('˵ɲɹǷɾɹͲϢ','ʾ',32+4)<>IDYES then Exit; + end; + + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete BP_InOut_CF where CRNO='''+Trim(CDS_CG.fieldbyname('CRNO').AsString)+''''); + sql.Add('delete YF_Money_CR where mainID='''+Trim(CDS_CG.fieldbyname('CRNO').AsString)+''''); + ExecSQL; + end; + CDS_CG.Delete; +end; + +procedure TfrmOrderInPut_FB.orderNoBtnClick(Sender: TObject); +var + ConMainId:string; +begin + ConMainId:=''; + frmProductOrderListSel:=TfrmProductOrderListSel.create(self); + with frmProductOrderListSel do + begin + FFInt:=1; + if showmodal=1 then + begin + ConMainId:=trim(Order_Main.fieldbyname('mainID').asstring); + end; + free; + end; + iF ConMainId='' then exit; + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select B.*,A.*,c.KhconNo,C.ConPerson2,C.ConPerson3,C.conDefstr2,C.conDefstr6,C.condefstr10,C.priceNote,C.Payment,C.ShippMent, '); + sql.Add('PriceUnit1=(select top 1 PriceUnit from JYordercon_sub X where X.mainID=C.mainid)'); + sql.Add('from JYOrder_sub A '); + sql.Add('inner join JYOrder_Main B on B.mainID=A.mainID '); + sql.Add('left join JYOrderCon_Main C on C.conNO=B.conNO '); + sql.Add('where B.mainID like '''+'%'+Trim(ConMainId)+'%'+''''); + Open; + end; + IF not ADOTemp.IsEmpty then + begin + ConNo.Text:=Trim(ADOTemp.fieldbyname('ConNo').AsString); + orderNo.Text:=Trim(ADOTemp.fieldbyname('orderNo').AsString); + // CYNO.Text:='CY_'+Trim(ADOTemp.fieldbyname('ConNo').AsString); + CustomerNoName.Text:=Trim(ADOTemp.fieldbyname('CustomerNoName').AsString); + CustomerNoName.TxtCode:=Trim(ADOTemp.fieldbyname('CustomerNo').AsString); + // DLYDate.DateTime:=ADOTemp.fieldbyname('DLYDate').AsDateTime; + // ConMainId:=Trim(ADOTemp.fieldbyname('MainId').AsString); + OrdPerson2.Text:=Trim(ADOTemp.fieldbyname('OrdPerson2').AsString); + KHCONNO.Text:=Trim(ADOTemp.fieldbyname('KHCONNO').AsString); + // LBNameNote.Text:=Trim(ADOTemp.fieldbyname('LBNameNote').AsString); + // MaiTouNote.Text:=Trim(ADOTemp.fieldbyname('MaiTouNote').AsString); + + ConPerson1.Text:=Trim(ADOTemp.fieldbyname('ConPerson2').AsString); + ConPerson2.Text:=Trim(ADOTemp.fieldbyname('ConPerson3').AsString); + + conDefstr1.Text:=Trim(ADOTemp.fieldbyname('conDefstr2').AsString); + conDefstr2.Text:=Trim(ADOTemp.fieldbyname('conDefstr6').AsString); + + orddefstr4.Text:=Trim(ADOTemp.fieldbyname('Payment').AsString); + orddefstr5.Text:=Trim(ADOTemp.fieldbyname('priceNote').AsString); + orddefstr6.Text:=Trim(ADOTemp.fieldbyname('ShippMent').AsString); + orddefstr10.Text:=Trim(ADOTemp.fieldbyname('condefstr10').AsString); + end; + Order_Sub.EmptyDataSet; + with ADOTemp do + begin + First; + while not Eof do + begin + with Order_Sub do + begin + Append; + FieldByName('XHNO').Value:=Trim(ADOTemp.fieldbyname('XHNO').AsString); + FieldByName('PRTCode').Value:=Trim(ADOTemp.fieldbyname('MPRTCode').AsString); + FieldByName('PRTCodeName').Value:=Trim(ADOTemp.fieldbyname('MPRTCodeName').AsString); + FieldByName('PRTspec').Value:=Trim(ADOTemp.fieldbyname('MPRTspec').AsString); + FieldByName('PRTOrderQty').Value:=Trim(ADOTemp.fieldbyname('PRTOrderQty').AsString); + FieldByName('PRTMF').Value:=Trim(ADOTemp.fieldbyname('MPRTMF').AsString); + FieldByName('PRTKZ').Value:=Trim(ADOTemp.fieldbyname('MPRTKZ').AsString); + FieldByName('Sorddefstr1').Value:=Trim(ADOTemp.fieldbyname('Sorddefstr1').AsString); + FieldByName('Sorddefstr2').Value:=Trim(ADOTemp.fieldbyname('Sorddefstr2').AsString); + FieldByName('Sorddefstr4').Value:=Trim(ADOTemp.fieldbyname('Sorddefstr4').AsString); + FieldByName('PRTColor').Value:=Trim(ADOTemp.fieldbyname('PRTColor').AsString); + FieldByName('OrderUnit').Value:=Trim(ADOTemp.fieldbyname('OrderUnit').AsString); + FieldByName('PRTPrice').Value:=Trim(ADOTemp.fieldbyname('PRTPrice').AsString); + FieldByName('PriceUnit').Value:=Trim(ADOTemp.fieldbyname('PriceUnit1').AsString); +// FieldByName('PriceUnitRate').Value:=Trim(ADOTemp.fieldbyname('PriceUnitRate').AsString); + // FieldByName('PRTmoney').Value:=Trim(ADOTemp.fieldbyname('PRTmoney').AsString); + FieldByName('SordQty1').Value:=Trim(ADOTemp.fieldbyname('PRTOrderQty').AsString); + + FieldByName('Sorddefstr10').Value:=Trim(ADOTemp.fieldbyname('subID').AsString); + Post; + end; + Next; + end; + end; + + + +end; + +procedure TfrmOrderInPut_FB.OrdPerson1BtnUpClick(Sender: TObject); +var + fsj:string; + FWZ:Integer; +begin + fsj:=Trim(TEdit(Sender).Hint); + FWZ:=Pos('/',fsj); + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Copy(fsj,1,FWZ-1); + flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); + if Trim(flag)='OrdDefStr2' then + begin + //flag:='OrdDefStr2'; + V1Name.Caption:=''; + V1Note.Caption:='Ӣ'; + fnote:=True; + end; + if ShowModal=1 then + begin + TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + if Trim(flag)='MPRTCode' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1 * from JYOrder_Main where MPRTCode='''+Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''''); + sql.Add(' order by FillTime desc'); + Open; + end; + end; + end; + end; + finally + frmZDYHelp.Free; + end; + +end; + +procedure TfrmOrderInPut_FB.v1Column4PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='PriceUnit'; + flagname:='۸λ'; + if Trim(DParameters1)<>'Ȩ' then + begin + TBAdd.Visible:=False; + TBEdit.Visible:=False; + TBDel.Visible:=False; + end; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('PriceUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderInPut_FB.v1Column7PropertiesEditValueChanged( + Sender: TObject); +var + Fieldname:string; +begin + Fieldname:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName; + with Order_Sub do + begin + edit; + if Trim(TcxTextEdit(Sender).EditingText)='' then + begin + fieldbyname(Fieldname).Value:='0'; + end + else + fieldbyname(Fieldname).Value:=TcxTextEdit(Sender).EditingText; + FieldByName('PrtMoney').Value:=strtofloat(format('%.2f',[Fieldbyname('SordQty1').AsFloat*Fieldbyname('PrtPrice').AsFloat ])); + post; + end; + Tv1.Controller.EditingController.ShowEdit(); +end; + +procedure TfrmOrderInPut_FB.v1PrtmoneyPropertiesEditValueChanged( + Sender: TObject); +var + Fieldname:string; +begin + Fieldname:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName; + with Order_Sub do + begin + edit; + if Trim(TcxTextEdit(Sender).EditingText)='' then + begin + fieldbyname(Fieldname).Value:='0'; + end + else + fieldbyname(Fieldname).Value:=TcxTextEdit(Sender).EditingText; + IF Fieldbyname('SordQty1').AsFloat>0 then + FieldByName('PrtPrice').Value:=(Fieldbyname('PrtMoney').AsFloat/Fieldbyname('SordQty1').AsFloat); + post; + end; + Tv1.Controller.EditingController.ShowEdit(); +end; + +procedure TfrmOrderInPut_FB.CYNOBtnClick(Sender: TObject); +var + ConMainId:string; +begin + ConMainId:=''; + frmProductOrderNewList_CY_SEL:=TfrmProductOrderNewList_CY_SEL.create(self); + with frmProductOrderNewList_CY_SEL do + begin + FFInt:=1; + if showmodal=1 then + begin + ConMainId:=trim(Order_Main.fieldbyname('mainID').asstring); + end; + free; + end; + iF ConMainId='' then exit; + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select B.*,A.*,c.KhconNo,C.ConPerson2,C.ConPerson3,C.conDefstr2,C.conDefstr6,C.condefstr10,C.priceNote,C.Payment,C.ShippMent, '); + sql.Add('C.BankNo,C.BankName,C.BankSelfFastNo,C.BankAddress,C.MPRTTYpe,'); + sql.Add('PriceUnit1=(select top 1 PriceUnit from JYordercon_sub X where X.mainID=C.mainid) '); + sql.Add('from JYOrderCY_sub A '); + sql.Add('inner join JYOrderCY_Main B on B.mainID=A.mainID '); + sql.Add('left join JYOrderCon_Main C on C.conNO=B.conNO '); + sql.Add('where B.mainID like '''+'%'+Trim(ConMainId)+'%'+''''); + Open; + end; + IF not ADOTemp.IsEmpty then + begin + ConNo.Text:=Trim(ADOTemp.fieldbyname('ConNo').AsString); + orderNo.Text:=Trim(ADOTemp.fieldbyname('orderNo').AsString); + CYNO.Text:=Trim(ADOTemp.fieldbyname('CYNO').AsString); + CustomerNoName.Text:=Trim(ADOTemp.fieldbyname('CustomerNoName').AsString); + CustomerNoName.TxtCode:=Trim(ADOTemp.fieldbyname('CustomerNo').AsString); + OrdPerson2.Text:=Trim(ADOTemp.fieldbyname('OrdPerson2').AsString); + KHCONNO.Text:=Trim(ADOTemp.fieldbyname('KHCONNO').AsString); + ConPerson1.Text:=Trim(ADOTemp.fieldbyname('ConPerson1').AsString); + ConPerson2.Text:=Trim(ADOTemp.fieldbyname('ConPerson2').AsString); + conDefstr1.Text:=Trim(ADOTemp.fieldbyname('conDefstr1').AsString); + conDefstr2.Text:=Trim(ADOTemp.fieldbyname('conDefstr2').AsString); + + orddefstr3.Text:=Trim(ADOTemp.fieldbyname('MaiTouNote').AsString); + orddefstr4.Text:=Trim(ADOTemp.fieldbyname('orddefstr4').AsString); + orddefstr5.Text:=Trim(ADOTemp.fieldbyname('orddefstr5').AsString); + + orddefstr6.Text:=Trim(ADOTemp.fieldbyname('orddefstr6').AsString); + OrdDefStr8.Text:=Trim(ADOTemp.Fieldbyname('BankNo').AsString); + OrdDefStr9.text:=Trim(ADOTemp.fieldbyname('BankName').AsString); + orddefstr10.Text:=Trim(ADOTemp.fieldbyname('condefstr10').AsString); + OrdDefStr11.Text:=Trim(ADOTemp.Fieldbyname('BankSelfFastNo').AsString); + OrdDefStr12.text:=Trim(ADOTemp.fieldbyname('BankAddress').AsString); + if Trim(ADOTemp.fieldbyname('MPRTTYpe').AsString)='' then + begin + MPRTTYpe.Text:=''; + end + else + MPRTTYpe.Text:=Trim(ADOTemp.fieldbyname('MPRTTYpe').AsString); + end; + Order_Sub.EmptyDataSet; + with ADOTemp do + begin + First; + while not Eof do + begin + with Order_Sub do + begin + Append; + FieldByName('XHNO').Value:=Trim(ADOTemp.fieldbyname('XHNO').AsString); + FieldByName('PRTCode').Value:=Trim(ADOTemp.fieldbyname('PRTCode').AsString); + FieldByName('PRTCodeName').Value:=Trim(ADOTemp.fieldbyname('PRTCodeName').AsString); + FieldByName('PRTspec').Value:=Trim(ADOTemp.fieldbyname('PRTspec').AsString); + FieldByName('PRTOrderQty').Value:=Trim(ADOTemp.fieldbyname('PRTOrderQty').AsString); + FieldByName('PRTMF').Value:=Trim(ADOTemp.fieldbyname('PRTMF').AsString); + FieldByName('PRTKZ').Value:=Trim(ADOTemp.fieldbyname('PRTKZ').AsString); + FieldByName('Sorddefstr1').Value:=Trim(ADOTemp.fieldbyname('Sorddefstr1').AsString); + FieldByName('Sorddefstr2').Value:=Trim(ADOTemp.fieldbyname('Sorddefstr2').AsString); + FieldByName('Sorddefstr4').Value:=Trim(ADOTemp.fieldbyname('Sorddefstr4').AsString); + FieldByName('PRTColor').Value:=Trim(ADOTemp.fieldbyname('PRTColor').AsString); + FieldByName('OrderUnit').Value:=Trim(ADOTemp.fieldbyname('OrderUnit').AsString); + FieldByName('PRTPrice').Value:=Trim(ADOTemp.fieldbyname('PRTPrice').AsString); + FieldByName('PriceUnit').Value:=Trim(ADOTemp.fieldbyname('PriceUnit1').AsString); + FieldByName('SordQty1').Value:=Trim(ADOTemp.fieldbyname('SordQty1').AsString); + FieldByName('SordQty3').Value:=Trim(ADOTemp.fieldbyname('SordQty3').AsString); + FieldByName('SordQty4').Value:=Trim(ADOTemp.fieldbyname('SordQty4').AsString); + FieldByName('SordQty5').Value:=Trim(ADOTemp.fieldbyname('SordQty5').AsString); + FieldByName('PrtMoney').Value:=strtofloat(format('%.2f',[Fieldbyname('SordQty1').AsFloat*Fieldbyname('PrtPrice').AsFloat ])); + FieldByName('Sorddefstr10').Value:=Trim(ADOTemp.fieldbyname('subID').AsString); + Post; + end; + Next; + end; + end; +end; + +procedure TfrmOrderInPut_FB.v1Column8PropertiesEditValueChanged( + Sender: TObject); +var + Fieldname:string; +begin + Fieldname:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName; + begin + with Order_Sub do + begin + edit; + if Trim(TcxTextEdit(Sender).EditingText)='' then + begin + fieldbyname(Fieldname).Value:='0'; + end + else + fieldbyname(Fieldname).Value:=TcxTextEdit(Sender).EditingText; + FieldByName('PrtMoney').Value:=(Fieldbyname('SordQty1').AsFloat)*(Fieldbyname('PrtPrice').AsFloat); + post; + end; + Tv1.Controller.EditingController.ShowEdit(); + end; +end; + +procedure TfrmOrderInPut_FB.OrdDefStr8BtnClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='BankNo'; + flagname:='˺'; + if ShowModal=1 then + begin + OrdDefStr8.text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from JYOrderCon_Main where BankNo='''+Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''''); + sql.Add(' and MPRTTYpe='''+Trim(MPRTTYpe.Text)+''''); + sql.Add(' order by FillTime desc '); + Open; + Self.OrdDefStr9.Text:=Trim(ADOTemp.fieldbyname('BankName').AsString); + Self.OrdDefStr12.Text:=Trim(ADOTemp.fieldbyname('BankAddress').AsString); + Self.OrdDefStr11.Text:=Trim(ADOTemp.fieldbyname('BankSelfFastNo').AsString); + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +end. diff --git a/打卷检验管理/U_OrderInPut_HYWT.dfm b/打卷检验管理/U_OrderInPut_HYWT.dfm new file mode 100644 index 0000000..f777068 --- /dev/null +++ b/打卷检验管理/U_OrderInPut_HYWT.dfm @@ -0,0 +1,539 @@ +object frmorderInput_HYWT: TfrmorderInput_HYWT + Left = 159 + Top = 76 + Width = 1154 + Height = 539 + Caption = #36135#36816#22996#25176 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar2: TToolBar + Left = 0 + Top = 0 + Width = 1146 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBAdd: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 3 + OnClick = TBAddClick + end + object TBEdit: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #20462#25913 + ImageIndex = 54 + OnClick = TBEditClick + end + object TBDel: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 17 + OnClick = TBDelClick + end + object Tsel: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 58 + OnClick = TselClick + end + object TChk: TToolButton + Left = 378 + Top = 0 + AutoSize = True + Caption = #23457#26680 + ImageIndex = 41 + OnClick = TChkClick + end + object TNOChk: TToolButton + Left = 441 + Top = 0 + AutoSize = True + Caption = #25764#38144#23457#26680 + ImageIndex = 86 + OnClick = TNOChkClick + end + object TBPrint: TToolButton + Left = 528 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + OnClick = TBPrintClick + end + object TBClose: TToolButton + Left = 591 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 121 + Width = 1146 + Height = 348 + Align = alTop + TabOrder = 1 + object TV1: TcxGridDBTableView + OnDblClick = TV1DblClick + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + object V1WTNo: TcxGridDBColumn + Caption = #22996#25176#21333#21495 + DataBinding.FieldName = 'WTNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 65 + end + object V1Conno: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'Conno' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 65 + end + object V1CustomerNoName: TcxGridDBColumn + Caption = #32463#33829#21333#20301 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1shiptime: TcxGridDBColumn + Caption = #35013#36816#26399#38480 + DataBinding.FieldName = 'shiptime' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1orddefstr1: TcxGridDBColumn + Caption = #21457#36135#20154 + DataBinding.FieldName = 'orddefstr1' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1khconNo: TcxGridDBColumn + Caption = 'PO#' + DataBinding.FieldName = 'khconNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1BLNO: TcxGridDBColumn + Caption = 'B/L NO' + DataBinding.FieldName = 'BLNO' + Visible = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1vessel: TcxGridDBColumn + Caption = #33337#21517 + DataBinding.FieldName = 'vessel' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1voy: TcxGridDBColumn + Caption = #33322#27425 + DataBinding.FieldName = 'voy' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1ConPerson1: TcxGridDBColumn + Caption = #25910#36135#20154 + DataBinding.FieldName = 'ConPerson1' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1XYNO: TcxGridDBColumn + Caption = #20449#29992#35777#21495 + DataBinding.FieldName = 'XYNO' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1EXPORT: TcxGridDBColumn + Caption = #20986#21475#21475#23736 + DataBinding.FieldName = 'EXPORT' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1TDNUM: TcxGridDBColumn + Caption = #25552#21333#20221#25968 + DataBinding.FieldName = 'TDNUM' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1payaddress: TcxGridDBColumn + Caption = #36816#36153#20184#33267 + DataBinding.FieldName = 'payaddress' + Visible = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1POD: TcxGridDBColumn + Caption = #30446#30340#28207 + DataBinding.FieldName = 'POD' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1DLYDate: TcxGridDBColumn + Caption = #35013#31665#26085#26399 + DataBinding.FieldName = 'DLYDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1DLYaddress: TcxGridDBColumn + Caption = #35013#31665#22320#22336 + DataBinding.FieldName = 'DLYaddress' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1BJNO: TcxGridDBColumn + Caption = #26631#35760#21495#30721 + DataBinding.FieldName = 'BJNO' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1BGTYPE: TcxGridDBColumn + Caption = #21253#35013#24335#26679 + DataBinding.FieldName = 'BGTYPE' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1PRTspec: TcxGridDBColumn + Caption = #36135#21517#35268#26684 + DataBinding.FieldName = 'PRTspec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1SordQty1: TcxGridDBColumn + Caption = #25104#20132#26465#20214 + DataBinding.FieldName = 'SordQty1' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1PRTCodeName: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'PRTCodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 65 + end + object V1PRTCode: TcxGridDBColumn + Caption = #20135#21697#32534#21495 + DataBinding.FieldName = 'PRTCode' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 65 + end + object V1SordQty3: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'SordQty3' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 65 + end + object V1OrderUnit: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 65 + end + object V1PrtPrice: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'PrtPrice' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 65 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = TV1 + end + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 100 + Width = 1146 + Height = 21 + Align = alTop + Style = 9 + TabIndex = 0 + TabOrder = 2 + Tabs.Strings = ( + #26410#23457#26680 + #24050#23457#26680 + #23436#25104) + OnChange = cxTabControl1Change + ClientRectBottom = 21 + ClientRectRight = 1146 + ClientRectTop = 19 + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1146 + Height = 68 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 3 + object Label1: TLabel + Left = 32 + Top = 15 + Width = 52 + Height = 12 + Caption = #21046#21333#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 269 + Top = 15 + Width = 52 + Height = 12 + Caption = #22996#25176#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 269 + Top = 39 + Width = 52 + Height = 12 + Caption = #32463#33829#21333#20301 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 491 + Top = 15 + Width = 53 + Height = 12 + Caption = #21512' '#21516' '#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 511 + Top = 39 + Width = 28 + Height = 12 + Caption = 'PO #' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object begdate: TDateTimePicker + Left = 89 + Top = 11 + Width = 110 + Height = 20 + Date = 41962.538274189800000000 + Time = 41962.538274189800000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object enddate: TDateTimePicker + Left = 89 + Top = 35 + Width = 110 + Height = 20 + Date = 41962.538391562500000000 + Time = 41962.538391562500000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object WTNo: TEdit + Left = 325 + Top = 11 + Width = 115 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnChange = WTNoChange + end + object CustomerNoName: TEdit + Left = 325 + Top = 35 + Width = 115 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + OnChange = WTNoChange + end + object conNo: TEdit + Left = 548 + Top = 11 + Width = 115 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnChange = WTNoChange + end + object KHConNo: TEdit + Left = 548 + Top = 35 + Width = 115 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 5 + OnChange = WTNoChange + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 580 + Top = 224 + end + object order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 328 + Top = 224 + end + object ADOQueryTMP: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 372 + Top = 224 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 412 + Top = 224 + end + object DataSource1: TDataSource + DataSet = order_Main + Left = 452 + Top = 224 + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = order_Main + Left = 540 + Top = 224 + end + object RMPrint: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 496 + Top = 224 + ReportData = {} + end +end diff --git a/打卷检验管理/U_OrderInPut_HYWT.pas b/打卷检验管理/U_OrderInPut_HYWT.pas new file mode 100644 index 0000000..510ae70 --- /dev/null +++ b/打卷检验管理/U_OrderInPut_HYWT.pas @@ -0,0 +1,363 @@ +unit U_OrderInPut_HYWT; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, + cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls, + cxGridCustomView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, cxPC, + ExtCtrls, StdCtrls, ADODB, DBClient, RM_Common, RM_Class, RM_GridReport, + RM_System, RM_Dataset, cxCalendar; + +type + TfrmorderInput_HYWT = class(TForm) + ToolBar2: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBAdd: TToolButton; + TBEdit: TToolButton; + TBDel: TToolButton; + Tsel: TToolButton; + TChk: TToolButton; + TNOChk: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + cxGridPopupMenu1: TcxGridPopupMenu; + TV1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + V1WTNo: TcxGridDBColumn; + V1Conno: TcxGridDBColumn; + V1CustomerNoName: TcxGridDBColumn; + V1shiptime: TcxGridDBColumn; + V1orddefstr1: TcxGridDBColumn; + cxTabControl1: TcxTabControl; + Panel1: TPanel; + Label1: TLabel; + begdate: TDateTimePicker; + enddate: TDateTimePicker; + Label2: TLabel; + Label3: TLabel; + WTNo: TEdit; + CustomerNoName: TEdit; + Label4: TLabel; + conNo: TEdit; + Label5: TLabel; + KHConNo: TEdit; + order_Main: TClientDataSet; + ADOQueryTMP: TADOQuery; + ADOQueryCmd: TADOQuery; + DataSource1: TDataSource; + RMDBMain: TRMDBDataSet; + RMPrint: TRMGridReport; + V1khconNo: TcxGridDBColumn; + V1BLNO: TcxGridDBColumn; + V1vessel: TcxGridDBColumn; + V1voy: TcxGridDBColumn; + V1ConPerson1: TcxGridDBColumn; + V1XYNO: TcxGridDBColumn; + V1EXPORT: TcxGridDBColumn; + V1TDNUM: TcxGridDBColumn; + V1payaddress: TcxGridDBColumn; + V1POD: TcxGridDBColumn; + V1DLYDate: TcxGridDBColumn; + V1DLYaddress: TcxGridDBColumn; + V1BJNO: TcxGridDBColumn; + V1BGTYPE: TcxGridDBColumn; + V1PRTspec: TcxGridDBColumn; + V1SordQty1: TcxGridDBColumn; + V1PRTCodeName: TcxGridDBColumn; + V1PRTCode: TcxGridDBColumn; + V1SordQty3: TcxGridDBColumn; + V1OrderUnit: TcxGridDBColumn; + V1PrtPrice: TcxGridDBColumn; + procedure TBRafreshClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TV1DblClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure TBEditClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TselClick(Sender: TObject); + procedure TChkClick(Sender: TObject); + procedure TNOChkClick(Sender: TObject); + procedure WTNoChange(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + private + procedure initGrid(); + procedure SetStatus(); + { Private declarations } + public + { Public declarations } + end; + +var + frmorderInput_HYWT: TfrmorderInput_HYWT; + +implementation + +uses U_Fun,U_datalink, U_orderInPut_HYWT_Sub; + +{$R *.dfm} + +procedure TfrmorderInput_HYWT.initGrid(); +begin + with ADOQueryTMP do + begin + Close; + sql.Clear; + SQL.Add('select A.*,B.* from JYOrderWT_Main A '); + SQL.Add('inner join JYOrderWT_Sub B on B.Mainid=A.Mainid '); + SQL.Add('where A.filltime>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+''' '); + SQL.Add('and A.filltime<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+''' '); + if cxTabControl1.TabIndex=0 then + sql.Add('and status='''''); + if cxTabControl1.TabIndex=1 then + sql.Add('and status=''1'''); + Open; + end; + SCreateCDS20(ADOQueryTMP,Order_Main); + SInitCDSData20(ADOQueryTMP,Order_Main); +end; + +procedure TfrmorderInput_HYWT.SetStatus(); +begin + tchk.Visible:=false; + tnochk.Visible:=false; + tbedit.Visible:=false; + tbdel.Visible:=false; + if Trim(DParameters1)<>'Ȩ' then + begin + case cxTabControl1.TabIndex of + 0:begin + tbedit.Visible:=true; + tbdel.Visible:=true; + end; + 1:begin + end; + 2:begin + end; + end; + end + else + begin + case cxTabControl1.TabIndex of + 0:begin + tchk.Visible:=true; + tbedit.Visible:=true; + tbdel.Visible:=true; + end; + 1:begin + tnochk.Visible:=true; + end; + 2:begin + end; + end; + end; +end; + +procedure TfrmorderInput_HYWT.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmorderInput_HYWT.FormCreate(Sender: TObject); +begin + cxGrid1.Align:=alclient; + cxTabControl1.TabIndex:=0; +end; + +procedure TfrmorderInput_HYWT.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmorderInput_HYWT.FormDestroy(Sender: TObject); +begin + frmorderInput_HYWT:=nil; +end; + +procedure TfrmorderInput_HYWT.FormShow(Sender: TObject); +begin + SetStatus(); + ReadCxGrid(self.Caption+tv1.Name,Tv1); + BegDate.DateTime:=SGetServerDate10(ADOQueryTmp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTmp); + InitGrid(); +end; + +procedure TfrmorderInput_HYWT.TBCloseClick(Sender: TObject); +begin + close; + WriteCxGrid(self.Caption+tv1.Name,Tv1); +end; + +procedure TfrmorderInput_HYWT.TV1DblClick(Sender: TObject); +begin + Tsel.Click; +end; + +procedure TfrmorderInput_HYWT.TBFindClick(Sender: TObject); +begin + SDofilter(ADOQueryTmp,SGetFilters(Panel1,1,0)); + SCreateCDS20(ADOQueryTmp,Order_Main); + SInitCDSData20(ADOQueryTmp,Order_Main); +end; + +procedure TfrmorderInput_HYWT.TBPrintClick(Sender: TObject); +var + FPrintFile:string; +begin + if Order_Main.IsEmpty then Exit; + FPrintFile:=ExtractFilePath(Application.ExeName)+'Report\ί.rmf'; + with ADOQueryTmp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,B.* from JYOrderWT_Main A '); + SQL.Add('inner join JYOrderWT_Sub B on B.Mainid=A.Mainid '); + SQL.Add('where A.Mainid='''+trim(order_Main.fieldbyname('Mainid').AsString)+''''); + open; + end; + SCreateCDS20(ADOQueryTmp,order_Main); + SInitCDSData20(ADOQueryTmp,order_Main); + if FileExists(fPrintFile) then + begin + RMPrint.LoadFromFile(fPrintFile); + RMPrint.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ί.rmf'),'ʾ'); + end; + InitGrid(); +end; + +procedure TfrmorderInput_HYWT.TBAddClick(Sender: TObject); +begin + try + FrmOrderInPut_HYWT_Sub:=TFrmOrderInPut_HYWT_Sub.create(self); + with FrmOrderInPut_HYWT_Sub do + begin + FMainId:=''; + if showmodal=1 then + begin + InitGrid(); + end; + end; + finally + FrmOrderInPut_HYWT_Sub.Free; + end; +end; + +procedure TfrmorderInput_HYWT.TBEditClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + FrmOrderInPut_HYWT_Sub:=TFrmOrderInPut_HYWT_Sub.create(self); + with FrmOrderInPut_HYWT_Sub do + begin + FMainid:=trim(self.order_Main.fieldbyname('Mainid').AsString); + if showmodal=1 then + begin + initGrid(); + end; + end; + finally + FrmOrderInPut_HYWT_Sub.Free; + end; +end; + +procedure TfrmorderInput_HYWT.TBDelClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + if Application.MessageBox('ȷҪɾ','ʾ',1)=2 then Exit; + with ADOQuerycmd do + begin + close; + sql.Clear; + sql.Add('delete from JYOrderWT_Main where Mainid='''+trim(order_Main.fieldbyname('Mainid').AsString)+''''); + execsql; + end; + initGrid(); +end; + +procedure TfrmorderInput_HYWT.TselClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + FrmOrderInPut_HYWT_Sub:=TFrmOrderInPut_HYWT_Sub.create(self); + with FrmOrderInPut_HYWT_Sub do + begin + FMainid:=trim(self.order_Main.fieldbyname('Mainid').AsString); + ToolBar2.Visible:=False; + TBSave.Visible:=False; + Panel1.Enabled:=False; + Tv1.OptionsSelection.CellSelect:=False; + if showmodal=1 then + begin + initGrid(); + end; + end; + finally + FrmOrderInPut_HYWT_Sub.Free; + end; +end; + +procedure TfrmorderInput_HYWT.TChkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + try + with ADOQueryTMP do + begin + close; + sql.Clear; + sql.Add('update JYOrderWT_Main set status=''1'',chktime=getdate(),chker='+quotedstr(trim(Dname))); + sql.Add(' where Mainid='''+trim(Order_Main.fieldbyname('Mainid').asstring)+''''); + execsql; + end; + application.MessageBox('˳ɹ','ʾ'); + initGrid(); + except + application.messagebox('ʧ','ʾ'); + end; +end; + +procedure TfrmorderInput_HYWT.TNOChkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + with ADOQueryTMP do + begin + close; + SQL.Clear; + sql.Add('update JYOrderWT_Main set chker=null,chktime=Null,status='''' '); + sql.Add('where Mainid='+quotedstr(trim(order_Main.fieldbyname('Mainid').asstring))); + ExecSQL; + end; + Application.MessageBox('ɹ','ʾ'); + initGrid(); + except; + Application.MessageBox('ʧ','ʾ'); + end; +end; + +procedure TfrmorderInput_HYWT.WTNoChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmorderInput_HYWT.cxTabControl1Change(Sender: TObject); +begin + SetStatus(); + TBRafresh.Click; +end; + +end. diff --git a/打卷检验管理/U_OrderJDList.dfm b/打卷检验管理/U_OrderJDList.dfm new file mode 100644 index 0000000..c6aecbd --- /dev/null +++ b/打卷检验管理/U_OrderJDList.dfm @@ -0,0 +1,562 @@ +object frmOrderJDList: TfrmOrderJDList + Left = -40 + Top = 37 + Width = 1292 + Height = 705 + Caption = #35746#21333#36827#24230#26597#35810 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1284 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object ToolButton1: TToolButton + Left = 63 + Top = 0 + Caption = #26597#30475 + ImageIndex = 49 + OnClick = ToolButton1Click + end + object TBClose: TToolButton + Left = 122 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1284 + Height = 54 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 22 + Width = 52 + Height = 12 + Caption = #19979#21333#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 161 + Top = 22 + Width = 18 + Height = 12 + Caption = '---' + end + object Label3: TLabel + Left = 283 + Top = 22 + Width = 39 + Height = 12 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 18 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 179 + Top = 18 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + TabOrder = 1 + end + object OrderNo: TEdit + Tag = 2 + Left = 337 + Top = 18 + Width = 152 + Height = 20 + TabOrder = 2 + OnChange = OrderNoChange + OnKeyPress = OrderNoKeyPress + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 86 + Width = 1284 + Height = 582 + Align = alClient + TabOrder = 2 + object Tv1: TcxGridDBTableView + OnMouseUp = Tv1MouseUp + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.OnGetContentStyle = Tv1StylesGetContentStyle + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1Column2: TcxGridDBColumn + Caption = #21697#21517 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 88 + end + object v1Column8: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 69 + end + object v1Column9: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DlyDate' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 62 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #19979#21333#26085#26399 + DataBinding.FieldName = 'OrdDate' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 61 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'MPRTSpec' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #25104#20998 + DataBinding.FieldName = 'MPRTCF' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'MPRTMF' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 61 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'MPRTKZ' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 83 + end + object v1Column1: TcxGridDBColumn + Caption = #32553#29575 + DataBinding.FieldName = 'MPRTSL' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 57 + end + object v1FactoryNo1Name: TcxGridDBColumn + Caption = #35746#21333#22791#27880 + DataBinding.FieldName = 'Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object v1Column7: TcxGridDBColumn + Caption = #21488#22836 + DataBinding.FieldName = 'Taitou' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 61 + end + object v1Column5: TcxGridDBColumn + Caption = #19994#21153#21592 + DataBinding.FieldName = 'Filler' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #35746#21333#39068#33394 + DataBinding.FieldName = 'OrdColor' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 69 + end + object v1Qty1: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'Qty1' + Visible = False + HeaderAlignmentHorz = taCenter + Hidden = True + Styles.Header = DataLink_TradeManage.Default + Width = 46 + end + object v1Column10: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'OrdQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1PRTUnit: TcxGridDBColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrdUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object v1Column3: TcxGridDBColumn + Caption = #35746#22383#25968#37327 + DataBinding.FieldName = 'ClothHTQty' + OnCustomDrawCell = v1Column3CustomDrawCell + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 67 + end + object v1Column4: TcxGridDBColumn + Caption = #35746#22383#21333#20301 + DataBinding.FieldName = 'ClothHTUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1Column6: TcxGridDBColumn + Caption = #21040#22383#25968#37327 + DataBinding.FieldName = 'ClothDHQty' + OnCustomDrawCell = v1Column6CustomDrawCell + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 61 + end + object v1Column11: TcxGridDBColumn + Caption = #25237#22383#25968#37327 + DataBinding.FieldName = 'ClothTPQty' + OnCustomDrawCell = v1Column11CustomDrawCell + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 56 + end + object v1Column12: TcxGridDBColumn + Caption = #25237#22383#21333#20301 + DataBinding.FieldName = 'ClothTPUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v1Column13: TcxGridDBColumn + Caption = #25237#22383#39068#33394 + DataBinding.FieldName = 'ClothTPColor' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object v1Column14: TcxGridDBColumn + Caption = #22238#20179#25968#37327 + DataBinding.FieldName = 'ClothHCQty' + OnCustomDrawCell = v1Column14CustomDrawCell + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 58 + end + object v1Column15: TcxGridDBColumn + Caption = #22238#20179#39068#33394 + DataBinding.FieldName = 'HCColor' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 61 + end + object v1Column16: TcxGridDBColumn + Caption = #22238#20179#21333#20301 + DataBinding.FieldName = 'ClothHCUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v1Column17: TcxGridDBColumn + Caption = #20837#24211#25968#37327 + DataBinding.FieldName = 'ClothRKQty' + OnCustomDrawCell = v1Column17CustomDrawCell + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object v1Column18: TcxGridDBColumn + Caption = #20837#24211#39068#33394 + DataBinding.FieldName = 'RKColor' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 62 + end + object v1Column19: TcxGridDBColumn + Caption = #20837#24211#21333#20301 + DataBinding.FieldName = 'ClothRKUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 61 + end + object v1Column20: TcxGridDBColumn + Caption = #20986#24211#25968#37327 + DataBinding.FieldName = 'ClothCKQty' + OnCustomDrawCell = v1Column20CustomDrawCell + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 61 + end + object v1Column21: TcxGridDBColumn + Caption = #20986#24211#39068#33394 + DataBinding.FieldName = 'CKColor' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 62 + end + object v1Column22: TcxGridDBColumn + Caption = #24211#23384#27491#21697#25968 + DataBinding.FieldName = 'KCZPQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.FonePurple + Width = 71 + end + object v1Column23: TcxGridDBColumn + Caption = #24211#23384#27425#21697#25968 + DataBinding.FieldName = 'KCCPQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.FonePurple + Width = 70 + end + object v1Column24: TcxGridDBColumn + Caption = #24211#23384#30041#26679#25968 + DataBinding.FieldName = 'KCLYQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.FonePurple + Width = 71 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel4: TPanel + Left = 62 + Top = 180 + Width = 294 + Height = 213 + TabOrder = 3 + Visible = False + object Label11: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 292 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #20107#20214#35828#26126 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnMouseMove = Panel10MouseMove + object Image2: TImage + Left = 269 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object RichEdit1: TRichEdit + Left = 1 + Top = 24 + Width = 292 + Height = 188 + Align = alClient + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + end + end + object MovePanel2: TMovePanel + Left = 408 + Top = 192 + Width = 289 + Height = 49 + BevelInner = bvLowered + Caption = #27491#22312#26597#35810#25968#25454#65292#35831#31245#21518#12290#12290#12290 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 672 + Top = 344 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 936 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1000 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1040 + Top = 8 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 784 + Top = 240 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 728 + Top = 168 + end +end diff --git a/打卷检验管理/U_OrderJDList.pas b/打卷检验管理/U_OrderJDList.pas new file mode 100644 index 0000000..ce52e34 --- /dev/null +++ b/打卷检验管理/U_OrderJDList.pas @@ -0,0 +1,446 @@ +unit U_OrderJDList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, + RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, + cxTextEdit, MovePanel; + +type + TfrmOrderJDList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Label2: TLabel; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + OrderNo: TEdit; + Order_Main: TClientDataSet; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1FactoryNo1Name: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + v1Qty1: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1PRTUnit: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column11: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + v1Column13: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + v1Column15: TcxGridDBColumn; + v1Column16: TcxGridDBColumn; + v1Column17: TcxGridDBColumn; + v1Column18: TcxGridDBColumn; + v1Column19: TcxGridDBColumn; + v1Column20: TcxGridDBColumn; + v1Column21: TcxGridDBColumn; + Panel4: TPanel; + Label11: TLabel; + Panel10: TPanel; + Image2: TImage; + RichEdit1: TRichEdit; + MovePanel2: TMovePanel; + v1Column22: TcxGridDBColumn; + v1Column23: TcxGridDBColumn; + v1Column24: TcxGridDBColumn; + ToolButton1: TToolButton; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure OrderNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure OrderNoKeyPress(Sender: TObject; var Key: Char); + procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Image2Click(Sender: TObject); + procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, + Y: Integer); + procedure ToolButton1Click(Sender: TObject); + procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; + ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; + out AStyle: TcxStyle); + procedure v1Column3CustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + procedure v1Column6CustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + procedure v1Column11CustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + procedure v1Column14CustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + procedure v1Column17CustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + procedure v1Column20CustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + private + FInt,PFInt:Integer; + FLeft,FTop:Integer; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + { Private declarations } + public + { Public declarations } + end; + +var + frmOrderJDList: TfrmOrderJDList; + +implementation +uses + U_DataLink,U_ClothContractInPut,U_Fun,U_ProductOrderList,U_ZDYHelp, + U_OrderInPut; + +{$R *.dfm} + +procedure TfrmOrderJDList.FormDestroy(Sender: TObject); +begin + frmOrderJDList:=nil; +end; + +procedure TfrmOrderJDList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmOrderJDList.FormCreate(Sender: TObject); +begin + + //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; + //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); +end; + +procedure TfrmOrderJDList.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('Ȳѯ',Tv1,'ָʾ'); +end; + +procedure TfrmOrderJDList.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec P_View_OrderJD :begdate,:enddate,:Filler,:WSql'); + if Trim(DParameters1)<>'Ȩ' then + Parameters.ParamByName('Filler').Value:=Trim(DName) + else + Parameters.ParamByName('Filler').Value:=''; + Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date)); + Parameters.ParamByName('enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1)); + Parameters.ParamByName('WSql').Value:=''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmOrderJDList.InitForm(); +begin + ReadCxGrid('Ȳѯ',Tv1,'ָʾ'); + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-15; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + //InitGrid(); +end; + +procedure TfrmOrderJDList.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +function TfrmOrderJDList.DelData():Boolean; +begin + +end; + +procedure TfrmOrderJDList.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + TcxGridToExcel('ŵϢ',cxGrid1); +end; + +procedure TfrmOrderJDList.TBRafreshClick(Sender: TObject); +begin + MovePanel2.Visible:=True; + MovePanel2.Refresh; + InitGrid(); + MovePanel2.Visible:=False; +end; + +procedure TfrmOrderJDList.OrderNoChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmOrderJDList.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmOrderJDList.Tv2MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + FInt:=2; +end; + +procedure TfrmOrderJDList.OrderNoKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + if Length(Trim(OrderNo.Text))<4 then Exit; + MovePanel2.Visible:=True; + MovePanel2.Refresh; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec P_View_OrderJD :begdate,:enddate,:Filler,:WSql'); + if Trim(DParameters1)<>'Ȩ' then + Parameters.ParamByName('Filler').Value:=Trim(DName) + else + Parameters.ParamByName('Filler').Value:=''; + Parameters.ParamByName('begdate').Value:=''; + Parameters.ParamByName('enddate').Value:=''; + Parameters.ParamByName('WSql').Value:=' and A.OrderNo like'''+'%'+Trim(OrderNo.Text)+'%'+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + MovePanel2.Visible:=False; + end; +end; + +procedure TfrmOrderJDList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); +begin + FLeft:=X; + FTop:=Y; +end; + +procedure TfrmOrderJDList.Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + Panel4.Left:=FLeft; + Panel4.Top:=FTop+110; + Panel4.Visible:=True; + Panel4.Refresh; + Panel10.Caption:=Trim(TV1.Controller.FocusedColumn.Caption); + RichEdit1.Text:=Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString; +end; + +procedure TfrmOrderJDList.Image2Click(Sender: TObject); +begin + Panel4.Visible:=False; +end; + +procedure TfrmOrderJDList.Panel10MouseMove(Sender: TObject; + Shift: TShiftState; X, Y: Integer); +begin + ReleaseCapture; + TWinControl(Panel4).Perform(WM_SYSCOMMAND,$F012,0); +end; + +procedure TfrmOrderJDList.ToolButton1Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmOrderInPut:=TfrmOrderInPut.Create(Application); + with frmOrderInPut do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + ToolBar2.Visible:=False; + TBSave.Visible:=False; + ScrollBox1.Enabled:=False; + Tv1.OptionsSelection.CellSelect:=False; + PriceFlag:=99; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut.Free; + end; +end; + +procedure TfrmOrderJDList.Tv1StylesGetContentStyle( + Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; + AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); +var + id,id10:Integer; +begin + {try + if Tv1.GroupedItemCount=0 then + begin + Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; + Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; + if Trim(VarToStr(ARecord.Values[id]))='' then Exit; + if Id<0 then Exit; + if ARecord.Values[id10]='' then exit; + if (ARecord.Values[id]-DQdate)>=4 then Exit; + if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then + AStyle:=DataLink_.QHuangSe + else + if ARecord.Values[id]-DQdate<0 then + begin + AStyle:=DataLink_OrderManage.FenHongS; + end; + end else + begin + + end; + except + end; } +end; + +procedure TfrmOrderJDList.v1Column3CustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +var + Id:Integer; +begin + Id:=TV1.GetColumnByFieldName('ClothHTQty').Index;//;-TV1.GroupedItemCount; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id]>0 then + begin + ACanvas.Brush.Color:=clRed; + end; +end; + +procedure TfrmOrderJDList.v1Column6CustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +var + Id:Integer; +begin + Id:=TV1.GetColumnByFieldName('ClothDHQty').Index;//;-TV1.GroupedItemCount; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id]>0 then + begin + ACanvas.Brush.Color:=clRed; + end; +end; + +procedure TfrmOrderJDList.v1Column11CustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +var + Id:Integer; +begin + Id:=TV1.GetColumnByFieldName('ClothTPQty').Index;//;-TV1.GroupedItemCount; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id]>0 then + begin + ACanvas.Brush.Color:=clRed; + end; +end; + +procedure TfrmOrderJDList.v1Column14CustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +var + Id:Integer; +begin + Id:=TV1.GetColumnByFieldName('ClothHCQty').Index;//;-TV1.GroupedItemCount; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id]>0 then + begin + ACanvas.Brush.Color:=clRed; + end; +end; + +procedure TfrmOrderJDList.v1Column17CustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +var + Id:Integer; +begin + Id:=TV1.GetColumnByFieldName('ClothRKQty').Index;//;-TV1.GroupedItemCount; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id]>0 then + begin + ACanvas.Brush.Color:=clRed; + end; +end; + +procedure TfrmOrderJDList.v1Column20CustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +var + Id:Integer; +begin + Id:=TV1.GetColumnByFieldName('ClothCKQty').Index;//;-TV1.GroupedItemCount; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id]>0 then + begin + ACanvas.Brush.Color:=clRed; + end; +end; + +end. diff --git a/打卷检验管理/U_OrderSel.dfm b/打卷检验管理/U_OrderSel.dfm new file mode 100644 index 0000000..b9ca47c --- /dev/null +++ b/打卷检验管理/U_OrderSel.dfm @@ -0,0 +1,371 @@ +object frmOrderSel: TfrmOrderSel + Left = 244 + Top = 177 + Width = 1171 + Height = 587 + Caption = #35746#21333#36873#25321 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 16 + object cxGrid1: TcxGrid + Left = 0 + Top = 89 + Width = 1155 + Height = 460 + Align = alClient + PopupMenu = PopupMenu1 + TabOrder = 0 + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + Column = v1PRTMF + end + item + Kind = skSum + Column = v1PRTKZ + end + item + Kind = skSum + Column = v2Column1 + end + item + Kind = skSum + Column = v2Column4 + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = v2Column6 + end + item + Kind = skSum + Column = v2Column8 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Footer = DataLink_TradeManage.Default + object v2Column3: TcxGridDBColumn + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 84 + end + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 86 + end + object v2Column2: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 93 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'PRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 119 + end + object v1Column10: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object v1Column14: TcxGridDBColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 75 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object v2Column5: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v2Column7: TcxGridDBColumn + Caption = #33457#22411#33457#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 81 + end + object v1PRTMF: TcxGridDBColumn + Caption = #27491#21697#21305#25968 + DataBinding.FieldName = 'ZPPS' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle1 + Width = 75 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #27491#21697#25968#37327 + DataBinding.FieldName = 'ZPQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle1 + Width = 76 + end + object v2Column6: TcxGridDBColumn + Caption = #27491#21697#37325#37327 + DataBinding.FieldName = 'ZPKGQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object v2Column1: TcxGridDBColumn + Caption = #27425#21697#21305#25968 + DataBinding.FieldName = 'CPPS' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle2 + Width = 82 + end + object v2Column4: TcxGridDBColumn + Caption = #27425#21697#25968#37327 + DataBinding.FieldName = 'CPQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle2 + Width = 77 + end + object v2Column8: TcxGridDBColumn + Caption = #27425#21697#37325#37327 + DataBinding.FieldName = 'CPKGQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv2 + end + end + object Panel1: TPanel + Left = 0 + Top = 0 + Width = 1155 + Height = 89 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 1 + object Label2: TLabel + Left = 35 + Top = 19 + Width = 48 + Height = 16 + Caption = #35746#21333#21495 + end + object Label3: TLabel + Left = 644 + Top = 19 + Width = 32 + Height = 16 + Caption = #39068#33394 + end + object Label8: TLabel + Left = 235 + Top = 19 + Width = 32 + Height = 16 + Caption = #23458#25143 + end + object Label1: TLabel + Left = 419 + Top = 19 + Width = 64 + Height = 16 + Caption = #20013#25991#21517#31216 + end + object OrderNo: TEdit + Tag = 2 + Left = 83 + Top = 16 + Width = 100 + Height = 24 + TabOrder = 0 + OnChange = OrderNoChange + end + object PRTColor: TEdit + Tag = 2 + Left = 681 + Top = 16 + Width = 100 + Height = 24 + TabOrder = 1 + OnChange = OrderNoChange + end + object Button1: TButton + Left = 847 + Top = 16 + Width = 75 + Height = 25 + Caption = #21047#26032 + TabOrder = 2 + OnClick = Button1Click + end + object Button2: TButton + Left = 847 + Top = 48 + Width = 75 + Height = 25 + Caption = #30830#23450 + TabOrder = 3 + OnClick = Button2Click + end + object Button3: TButton + Left = 943 + Top = 48 + Width = 75 + Height = 25 + Caption = #20851#38381 + TabOrder = 4 + OnClick = Button3Click + end + object CustomerNoName: TEdit + Tag = 2 + Left = 273 + Top = 15 + Width = 100 + Height = 24 + TabOrder = 5 + OnChange = OrderNoChange + end + object PRTCodeName: TEdit + Tag = 2 + Left = 489 + Top = 15 + Width = 100 + Height = 24 + TabOrder = 6 + OnChange = OrderNoChange + end + end + object CDS_OrderSel: TClientDataSet + Aggregates = <> + Params = <> + Left = 592 + Top = 208 + end + object DataSource1: TDataSource + DataSet = CDS_OrderSel + Left = 680 + Top = 224 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 784 + Top = 184 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 848 + Top = 184 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 624 + Top = 208 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 728 + Top = 272 + end + object PopupMenu1: TPopupMenu + Left = 424 + Top = 248 + object N1: TMenuItem + Caption = #20840#36873 + OnClick = N1Click + end + object N2: TMenuItem + Caption = #20840#24323 + OnClick = N2Click + end + end + object cxStyleRepository1: TcxStyleRepository + object cxStyle1: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlue + end + end + object cxStyleRepository2: TcxStyleRepository + object cxStyle2: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clRed + end + end + object cxStyleRepository3: TcxStyleRepository + object cxStyle3: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clPurple + end + end +end diff --git a/打卷检验管理/U_OrderSel.pas b/打卷检验管理/U_OrderSel.pas new file mode 100644 index 0000000..8ce2aae --- /dev/null +++ b/打卷检验管理/U_OrderSel.pas @@ -0,0 +1,216 @@ +unit U_OrderSel; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ADODB, DBClient, ComCtrls, + ExtCtrls, cxGridLevel, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, + cxGridCustomPopupMenu, cxGridPopupMenu, cxCheckBox, Menus; + +type + TfrmOrderSel = class(TForm) + cxGrid1: TcxGrid; + Tv2: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + Panel1: TPanel; + Label2: TLabel; + OrderNo: TEdit; + Label3: TLabel; + PRTColor: TEdit; + CDS_OrderSel: TClientDataSet; + DataSource1: TDataSource; + ADOQueryTemp: TADOQuery; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + Button1: TButton; + Button2: TButton; + Button3: TButton; + cxGridPopupMenu1: TcxGridPopupMenu; + v2Column2: TcxGridDBColumn; + Label8: TLabel; + CustomerNoName: TEdit; + v2Column3: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N1: TMenuItem; + N2: TMenuItem; + v2Column1: TcxGridDBColumn; + v2Column4: TcxGridDBColumn; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxStyleRepository2: TcxStyleRepository; + cxStyle2: TcxStyle; + cxStyleRepository3: TcxStyleRepository; + cxStyle3: TcxStyle; + v2Column7: TcxGridDBColumn; + PRTCodeName: TEdit; + Label1: TLabel; + v2Column5: TcxGridDBColumn; + v2Column6: TcxGridDBColumn; + v2Column8: TcxGridDBColumn; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure Button2Click(Sender: TObject); + procedure FormDestroy(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure OrderNoChange(Sender: TObject); + procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + private + { Private declarations } + procedure InitGrid(); + public + { Public declarations } + end; + +var + frmOrderSel: TfrmOrderSel; + +implementation +uses + U_DataLink,U_Fun ; + +{$R *.dfm} + +procedure TfrmOrderSel.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmOrderSel.Button2Click(Sender: TObject); +var + KHName:String; +begin + if CDS_OrderSel.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡݣ','ʾ',0); + Exit; + end; + CDS_OrderSel.DisableControls; + KHName:=''; + with CDS_OrderSel do + begin + First; + while not Eof do + begin + if FieldByName('SSel').AsBoolean=True then + begin + if Trim(KHName)='' then + begin + KHName:=Trim(fieldbyname('CustomerNo').AsString); + end else + begin + if Trim(fieldbyname('CustomerNo').AsString)<>KHName then + begin + CDS_OrderSel.EnableControls; + Application.MessageBox('ѡͬͻ','ʾ',0); + Exit; + end; + end; + end; + Next; + end; + end; + CDS_OrderSel.EnableControls; + ModalResult:=1; +end; + +procedure TfrmOrderSel.FormDestroy(Sender: TObject); +begin + frmOrderSel:=nil; +end; + +procedure TfrmOrderSel.Button3Click(Sender: TObject); +begin + ModalResult:=-1; + WriteCxGrid('ѡ',Tv2,'Ʒֿ'); + Close; +end; + +procedure TfrmOrderSel.FormShow(Sender: TObject); +begin + ReadCxGrid('ѡ',Tv2,'Ʒֿ'); + InitGrid(); +end; + +procedure TfrmOrderSel.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + Filtered:=False; + sql.Clear; + sql.Add('select A.OrderNo,A.CustomerNoName,A.CustomerNo,'); + sql.add('B.PRTCodeName,A.MainId,B.SubId,B.PRTColor,B.SOrddefstr1,B.OrderUnit,B.PRTOrderQty'); + sql.Add(',B.PRTMF,B.PRTKZ,B.PRTHX'); + sql.Add(',ZPPS=(select Count(CR.MJID) from CK_BanCP_CR CR Inner join CK_BanCP_KC KC on CR.CRID=KC.CRID '); + sql.Add(' where CR.subid=B.subid and CR.CRType='''' and (KC.KCQty>0 or KCKGQty>0)and isnull(CPType,'''')<>''Ʒ'' ) '); + sql.Add(',ZPQty=(select sum(KCQty) from CK_BanCP_CR CR Inner join CK_BanCP_KC KC on CR.CRID=KC.CRID '); + sql.Add(' where CR.subid=B.subid and CR.CRType='''' and (KC.KCQty>0 or KCKGQty>0) and isnull(CPType,'''')<>''Ʒ'' ) '); + sql.Add(',ZPKGQty=(select sum(KCKGQty) from CK_BanCP_CR CR Inner join CK_BanCP_KC KC on CR.CRID=KC.CRID '); + sql.Add(' where CR.subid=B.subid and CR.CRType='''' and (KC.KCQty>0 or KCKGQty>0) and isnull(CPType,'''')<>''Ʒ'' ) '); + sql.Add(',CPPS=(select Count(CR.MJID) from CK_BanCP_CR CR Inner join CK_BanCP_KC KC on CR.CRID=KC.CRID '); + sql.Add(' where CR.subid=B.subid and CR.CRType='''' and (KC.KCQty>0 or KCKGQty>0) and CPType=''Ʒ'') '); + sql.Add(',CPQty=(select sum(KCQty) from CK_BanCP_CR CR Inner join CK_BanCP_KC KC on CR.CRID=KC.CRID '); + sql.Add(' where CR.subid=B.subid and CR.CRType='''' and (KC.KCQty>0 or KCKGQty>0) and CPType=''Ʒ'') '); + sql.Add(',CPKGQty=(select sum(KCKGQty) from CK_BanCP_CR CR Inner join CK_BanCP_KC KC on CR.CRID=KC.CRID '); + sql.Add(' where CR.subid=B.subid and CR.CRType='''' and (KC.KCQty>0 or KCKGQty>0) and CPType=''Ʒ'') '); + sql.Add(' from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.Mainid'); + sql.Add(' where exists(select AA.CRID from CK_BanCP_CR AA inner join CK_BanCP_KC BB on AA.CRID=BB.CRID '); + sql.Add(' where AA.MainId=A.MainId and AA.SubId=B.SubId and AA.CRType='''' and (BB.KCQty>0 or BB.KCKGQty>0))'); + + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_OrderSel); + SInitCDSData20(ADOQueryMain,CDS_OrderSel); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmOrderSel.Button1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmOrderSel.OrderNoChange(Sender: TObject); +begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_OrderSel); + SInitCDSData20(ADOQueryMain,CDS_OrderSel); +end; + +procedure TfrmOrderSel.Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + ModalResult:=1; +end; + +procedure TfrmOrderSel.N1Click(Sender: TObject); +begin + SelOKNo(CDS_OrderSel,True); +end; + +procedure TfrmOrderSel.N2Click(Sender: TObject); +begin + SelOKNo(CDS_OrderSel,False); +end; + +end. diff --git a/打卷检验管理/U_OrderSelRK.dfm b/打卷检验管理/U_OrderSelRK.dfm new file mode 100644 index 0000000..0085299 --- /dev/null +++ b/打卷检验管理/U_OrderSelRK.dfm @@ -0,0 +1,382 @@ +object frmOrderSelRK: TfrmOrderSelRK + Left = 499 + Top = 167 + Width = 1378 + Height = 754 + Caption = #35746#21333#36873#25321 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + WindowState = wsMaximized + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 16 + object Panel1: TPanel + Left = 0 + Top = 0 + Width = 1362 + Height = 89 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 0 + object Label2: TLabel + Left = 35 + Top = 19 + Width = 48 + Height = 16 + Caption = #35746#21333#21495 + end + object Label3: TLabel + Left = 600 + Top = 19 + Width = 32 + Height = 16 + Caption = #39068#33394 + end + object Label8: TLabel + Left = 231 + Top = 19 + Width = 32 + Height = 16 + Caption = #23458#25143 + end + object Label1: TLabel + Left = 396 + Top = 19 + Width = 64 + Height = 16 + Caption = #20013#25991#21517#31216 + end + object OrderNo: TEdit + Tag = 2 + Left = 83 + Top = 16 + Width = 100 + Height = 24 + TabOrder = 0 + OnChange = OrderNoChange + end + object PRTColor: TEdit + Tag = 2 + Left = 633 + Top = 16 + Width = 100 + Height = 24 + TabOrder = 1 + OnChange = OrderNoChange + end + object Button1: TButton + Left = 867 + Top = 11 + Width = 75 + Height = 25 + Caption = #21047#26032 + TabOrder = 2 + OnClick = Button1Click + end + object Button2: TButton + Left = 867 + Top = 44 + Width = 75 + Height = 25 + Caption = #30830#23450 + TabOrder = 3 + OnClick = Button2Click + end + object Button3: TButton + Left = 963 + Top = 44 + Width = 75 + Height = 25 + Caption = #20851#38381 + TabOrder = 4 + OnClick = Button3Click + end + object CustomerNoName: TEdit + Tag = 2 + Left = 261 + Top = 15 + Width = 100 + Height = 24 + TabOrder = 5 + OnChange = OrderNoChange + end + object PRTCodeName: TEdit + Tag = 2 + Left = 465 + Top = 16 + Width = 100 + Height = 24 + TabOrder = 6 + OnChange = OrderNoChange + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 89 + Width = 1362 + Height = 626 + Align = alClient + TabOrder = 1 + object Tv2: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + Column = v1PRTMF + end + item + Kind = skSum + Column = v1PRTKZ + end + item + Kind = skSum + Column = v2Column1 + end + item + Kind = skSum + Column = v2Column4 + end + item + Kind = skSum + Column = v2Column5 + end + item + Kind = skSum + Column = v2Column6 + end + item + Kind = skSum + Column = v2Column9 + end + item + Kind = skSum + Column = v2Column10 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Footer = DataLink_TradeManage.Default + object v2Column3: TcxGridDBColumn + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 84 + end + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 86 + end + object v2Column2: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 93 + end + object v1PRTCodeName: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'PRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 119 + end + object v1Column10: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object v1Column14: TcxGridDBColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 75 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object v2Column8: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object v2Column7: TcxGridDBColumn + Caption = #33457#22411#33457#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 76 + end + object v1PRTMF: TcxGridDBColumn + Caption = #27491#21697#21305#25968 + DataBinding.FieldName = 'ZPPS' + HeaderAlignmentHorz = taRightJustify + Options.Editing = False + Styles.Content = cxStyle1 + Width = 75 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #27491#21697#25968#37327 + DataBinding.FieldName = 'ZPQty' + HeaderAlignmentHorz = taRightJustify + Options.Editing = False + Styles.Content = cxStyle1 + Width = 76 + end + object v2Column9: TcxGridDBColumn + Caption = #27491#21697#37325#37327 + DataBinding.FieldName = 'ZPKGQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object v2Column1: TcxGridDBColumn + Caption = #27425#21697#21305#25968 + DataBinding.FieldName = 'CPPS' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle2 + Width = 80 + end + object v2Column4: TcxGridDBColumn + Caption = #27425#21697#25968#37327 + DataBinding.FieldName = 'CPQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle2 + Width = 80 + end + object v2Column5: TcxGridDBColumn + Caption = #22810#25340#21305#25968 + DataBinding.FieldName = 'LYPS' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle3 + Width = 80 + end + object v2Column6: TcxGridDBColumn + Caption = #22810#25340#25968#37327 + DataBinding.FieldName = 'LYQty' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle3 + Width = 80 + end + object v2Column10: TcxGridDBColumn + Caption = #27425#21697#37325#37327 + DataBinding.FieldName = 'CPKGQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv2 + end + end + object CDS_OrderSel: TClientDataSet + Aggregates = <> + Params = <> + Left = 592 + Top = 208 + end + object DataSource1: TDataSource + DataSet = CDS_OrderSel + Left = 680 + Top = 224 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 784 + Top = 184 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 848 + Top = 184 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 624 + Top = 208 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 728 + Top = 272 + end + object cxStyleRepository1: TcxStyleRepository + PixelsPerInch = 96 + object cxStyle1: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlue + end + end + object cxStyleRepository2: TcxStyleRepository + PixelsPerInch = 96 + object cxStyle2: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clRed + end + end + object cxStyleRepository3: TcxStyleRepository + PixelsPerInch = 96 + object cxStyle3: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clPurple + end + end +end diff --git a/打卷检验管理/U_OrderSelRK.pas b/打卷检验管理/U_OrderSelRK.pas new file mode 100644 index 0000000..bd563ed --- /dev/null +++ b/打卷检验管理/U_OrderSelRK.pas @@ -0,0 +1,205 @@ +unit U_OrderSelRK; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ADODB, DBClient, ComCtrls, + ExtCtrls, cxGridLevel, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, + cxGridCustomPopupMenu, cxGridPopupMenu, cxCheckBox, cxLookAndFeels, + cxLookAndFeelPainters, cxNavigator; + +type + TfrmOrderSelRK = class(TForm) + Panel1: TPanel; + Label2: TLabel; + OrderNo: TEdit; + Label3: TLabel; + PRTColor: TEdit; + CDS_OrderSel: TClientDataSet; + DataSource1: TDataSource; + ADOQueryTemp: TADOQuery; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + Button1: TButton; + Button2: TButton; + Button3: TButton; + cxGridPopupMenu1: TcxGridPopupMenu; + Label8: TLabel; + CustomerNoName: TEdit; + cxGrid1: TcxGrid; + Tv2: TcxGridDBTableView; + v2Column3: TcxGridDBColumn; + v1OrderNo: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + v1PRTCodeName: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + v2Column1: TcxGridDBColumn; + v2Column4: TcxGridDBColumn; + v2Column5: TcxGridDBColumn; + v2Column6: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxStyleRepository2: TcxStyleRepository; + cxStyle2: TcxStyle; + cxStyleRepository3: TcxStyleRepository; + cxStyle3: TcxStyle; + v2Column7: TcxGridDBColumn; + PRTCodeName: TEdit; + Label1: TLabel; + v2Column8: TcxGridDBColumn; + v2Column9: TcxGridDBColumn; + v2Column10: TcxGridDBColumn; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure Button2Click(Sender: TObject); + procedure FormDestroy(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure OrderNoChange(Sender: TObject); + procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + private + { Private declarations } + + procedure InitGrid(); + public + { Public declarations } + end; + +var + frmOrderSelRK: TfrmOrderSelRK; + +implementation +uses + U_DataLink,U_Fun ; + +{$R *.dfm} + +procedure TfrmOrderSelRK.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmOrderSelRK.Button2Click(Sender: TObject); +var + KHName:String; +begin + if CDS_OrderSel.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡݣ','ʾ',0); + Exit; + end; + CDS_OrderSel.DisableControls; + KHName:=''; + with CDS_OrderSel do + begin + First; + while not Eof do + begin + if FieldByName('SSel').AsBoolean=True then + begin + if Trim(KHName)='' then + begin + KHName:=Trim(fieldbyname('CustomerNo').AsString); + end else + begin + if Trim(fieldbyname('CustomerNo').AsString)<>KHName then + begin + Application.MessageBox('ѡͬͻ','ʾ',0); + Exit; + end; + end; + end; + Next; + end; + end; + CDS_OrderSel.EnableControls; + ModalResult:=1; +end; + +procedure TfrmOrderSelRK.FormDestroy(Sender: TObject); +begin + frmOrderSelRK:=nil; +end; + +procedure TfrmOrderSelRK.Button3Click(Sender: TObject); +begin + ModalResult:=-1; + WriteCxGrid('ѡ',Tv2,'Ʒֿ'); + Close; +end; + +procedure TfrmOrderSelRK.FormShow(Sender: TObject); +begin + ReadCxGrid('ѡ',Tv2,'Ʒֿ'); + InitGrid(); +end; + +procedure TfrmOrderSelRK.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select A.OrderNo,A.CustomerNoName,A.CustomerNo,B.PRTCodeName,A.MainId,B.SubId,B.PRTColor,B.SOrddefstr1,B.OrderUnit,B.PRTOrderQty'); + sql.Add(',B.PRTMF,B.PRTKZ,B.PRTHX'); + sql.Add(',ZPPS=(select Count(MJID) from WFB_MJJY WY '); + sql.Add(' where WY.subid=B.subid and isnull(WY.MJStr2,'''')=''δ'' ) '); + sql.Add(',ZPQty=(select sum(MJLen) from WFB_MJJY WY '); + sql.Add(' where WY.subid=B.subid and isnull(WY.MJStr2,'''')=''δ'' ) '); + sql.Add(',ZPKGQty=(select sum(MJMaoZ) from WFB_MJJY WY '); + sql.Add(' where WY.subid=B.subid and isnull(WY.MJStr2,'''')=''δ'' ) '); + sql.Add(',CPPS=(select Count(MJID) from WFB_MJJY WY '); + sql.Add(' where WY.subid=B.subid and isnull(WY.MJStr2,'''')=''δ'' and WY.MJType=''Ʒ'') '); + sql.Add(',CPQty=(select sum(MJLen) from WFB_MJJY WY '); + sql.Add(' where WY.subid=B.subid and isnull(WY.MJStr2,'''')=''δ'' and WY.MJType=''Ʒ'') '); + sql.Add(',CPKGQty=(select sum(MJMaoZ) from WFB_MJJY WY '); + sql.Add(' where WY.subid=B.subid and isnull(WY.MJStr2,'''')=''δ'' and WY.MJType=''Ʒ'') '); + sql.Add(' from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.Mainid'); + // sql.add(' inner join WFB_MJJY C on C.SubID=B.Subid and C.Mainid=B.Mainid '); + sql.Add(' where exists(select MJID from WFB_MJJY AA '); + sql.Add(' where AA.MainId=A.MainId and AA.Subid=B.Subid and isnull(AA.MJStr2,'''')=''δ'' ) '); + sql.Add('group by A.OrderNo,A.CustomerNoName,A.CustomerNo,B.PRTCodeName,A.MainId,B.SubId,B.PRTColor,B.SOrddefstr1,B.OrderUnit,B.PRTOrderQty'); + sql.Add(',B.PRTMF,B.PRTKZ,B.PRTHX'); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_OrderSel); + SInitCDSData20(ADOQueryMain,CDS_OrderSel); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmOrderSelRK.Button1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmOrderSelRK.OrderNoChange(Sender: TObject); +begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_OrderSel); + SInitCDSData20(ADOQueryMain,CDS_OrderSel); +end; + +procedure TfrmOrderSelRK.Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + ModalResult:=1; +end; + +end. diff --git a/打卷检验管理/U_OrderStatus.dfm b/打卷检验管理/U_OrderStatus.dfm new file mode 100644 index 0000000..ea0d630 --- /dev/null +++ b/打卷检验管理/U_OrderStatus.dfm @@ -0,0 +1,593 @@ +object frmOrderStatus: TfrmOrderStatus + Left = 41 + Top = 136 + Width = 1154 + Height = 577 + Caption = #35746#21333#29366#24577 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1146 + Height = 33 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBOrder.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + end + object TBExport: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBTP: TToolButton + Left = 189 + Top = 0 + Caption = #26356#26032 + ImageIndex = 106 + OnClick = TBTPClick + end + object TBClose: TToolButton + Left = 248 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 33 + Width = 1146 + Height = 42 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 15 + Width = 52 + Height = 12 + Caption = #26597#35810#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 161 + Top = 15 + Width = 18 + Height = 12 + Caption = '---' + end + object Label3: TLabel + Left = 283 + Top = 15 + Width = 52 + Height = 12 + Caption = #35746#21333#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 430 + Top = 15 + Width = 26 + Height = 12 + Caption = #20195#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 11 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 179 + Top = 11 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + TabOrder = 1 + end + object OrderNo: TEdit + Tag = 2 + Left = 336 + Top = 11 + Width = 77 + Height = 20 + TabOrder = 2 + OnChange = WFBCodeNameChange + end + object WFBCodeName: TEdit + Tag = 2 + Left = 459 + Top = 11 + Width = 83 + Height = 20 + TabOrder = 3 + OnChange = WFBCodeNameChange + end + end + object cxGrid1: TcxGrid + Left = 16 + Top = 96 + Width = 1121 + Height = 369 + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_WFBOrder.SHuangSe + Styles.IncSearch = DataLink_WFBOrder.SHuangSe + Styles.Selection = DataLink_WFBOrder.SHuangSe + Styles.Header = DataLink_WFBOrder.FonePurple + object v1Column3: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + Visible = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 39 + end + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#32534#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 72 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'Customnoname' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 66 + end + object v1Column2: TcxGridDBColumn + Caption = #20195#21495 + DataBinding.FieldName = 'WFBCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'WFBFK' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 62 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'WFBKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 74 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'OrdQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 58 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'OrdUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 52 + end + object v1OrderDate: TcxGridDBColumn + Caption = #19979#21333#26085#26399 + DataBinding.FieldName = 'OrderDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 59 + end + object v1Column1: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'OrdPrice' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 57 + end + object v1PRTQty: TcxGridDBColumn + Caption = #35745#20215#21333#20301 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 58 + end + object v1Note: TcxGridDBColumn + Caption = #27880#24847#20107#39033 + DataBinding.FieldName = 'Note' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 67 + end + object v1Column26: TcxGridDBColumn + Tag = 2 + Caption = #24050#23436#25104 + DataBinding.FieldName = 'OSFlag10' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 48 + end + object v1Column5: TcxGridDBColumn + Tag = 2 + Caption = #24050#30830#35748 + DataBinding.FieldName = 'OSFlag2' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 47 + end + object v1Column6: TcxGridDBColumn + Tag = 2 + Caption = #29983#20135#26085#26399 + DataBinding.FieldName = 'OSDate1' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ImmediatePost = True + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 64 + end + object v1Column7: TcxGridDBColumn + Tag = 2 + Caption = #24050#20837#24211 + DataBinding.FieldName = 'OSFlag3' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 54 + end + object v1Column8: TcxGridDBColumn + Tag = 2 + Caption = #24050#21457#36816 + DataBinding.FieldName = 'OSFlag4' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 56 + end + object v1Column10: TcxGridDBColumn + Tag = 2 + Caption = #38470#36816 + DataBinding.FieldName = 'OSFlag5' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 38 + end + object v1Column11: TcxGridDBColumn + Tag = 2 + Caption = #31354#36816 + DataBinding.FieldName = 'OSFlag6' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 33 + end + object v1Column9: TcxGridDBColumn + Tag = 2 + Caption = #28023#36816 + DataBinding.FieldName = 'OSFlag7' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 36 + end + object v1Column12: TcxGridDBColumn + Tag = 2 + Caption = '40HQ' + DataBinding.FieldName = 'OSQty1' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 34 + end + object v1Column13: TcxGridDBColumn + Tag = 2 + Caption = '40GP' + DataBinding.FieldName = 'OSQty2' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 36 + end + object v1Column14: TcxGridDBColumn + Tag = 2 + Caption = '20GP' + DataBinding.FieldName = 'OSQty3' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 36 + end + object v1Column15: TcxGridDBColumn + Tag = 2 + Caption = 'LCL' + DataBinding.FieldName = 'OSQty4' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 29 + end + object v1Column16: TcxGridDBColumn + Tag = 2 + Caption = #36135#20195#21517#31216 + DataBinding.FieldName = 'OSStr1' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column16PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 58 + end + object v1Column17: TcxGridDBColumn + Tag = 2 + Caption = #35746#33329#26085#26399 + DataBinding.FieldName = 'OSDate2' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ImmediatePost = True + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 62 + end + object v1Column18: TcxGridDBColumn + Tag = 2 + Caption = #35746#33329#32534#21495 + DataBinding.FieldName = 'OSStr2' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 60 + end + object v1Column19: TcxGridDBColumn + Tag = 2 + Caption = #35013#26588#26085#26399 + DataBinding.FieldName = 'OSDate3' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ImmediatePost = True + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 60 + end + object v1Column20: TcxGridDBColumn + Tag = 2 + Caption = 'ETD' + DataBinding.FieldName = 'OSDate6' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 59 + end + object v1Column21: TcxGridDBColumn + Tag = 2 + Caption = 'ETA' + DataBinding.FieldName = 'OSDate7' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 60 + end + object v1Column22: TcxGridDBColumn + Tag = 2 + Caption = #20184#27454#26085#26399 + DataBinding.FieldName = 'OSDate4' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ImmediatePost = True + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 59 + end + object v1Column23: TcxGridDBColumn + Tag = 2 + Caption = #24050#20184#27454 + DataBinding.FieldName = 'OSFlag8' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 50 + end + object v1Column27: TcxGridDBColumn + Tag = 2 + Caption = #20184#27454#22791#27880 + DataBinding.FieldName = 'OSNote1' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 70 + end + object v1Column24: TcxGridDBColumn + Tag = 2 + Caption = #25910#27454#26085#26399 + DataBinding.FieldName = 'OSDate5' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ImmediatePost = True + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 58 + end + object v1Column25: TcxGridDBColumn + Tag = 2 + Caption = #24050#25910#27454 + DataBinding.FieldName = 'OSFlag9' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 46 + end + object v1Column28: TcxGridDBColumn + Tag = 2 + Caption = #25910#27454#22791#27880 + DataBinding.FieldName = 'OSNote2' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.FontBlue + Width = 65 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 544 + Top = 176 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 576 + Top = 176 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 608 + Top = 176 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + Parameters = <> + Left = 648 + Top = 40 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 688 + Top = 40 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 736 + Top = 40 + end +end diff --git a/打卷检验管理/U_OrderStatus.pas b/打卷检验管理/U_OrderStatus.pas new file mode 100644 index 0000000..d831446 --- /dev/null +++ b/打卷检验管理/U_OrderStatus.pas @@ -0,0 +1,306 @@ +unit U_OrderStatus; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, ADODB, DBClient, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, + ToolWin, cxCalendar, cxButtonEdit, cxCheckBox; + +type + TfrmOrderStatus = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBExport: TToolButton; + TBClose: TToolButton; + TBTP: TToolButton; + Panel1: TPanel; + Label1: TLabel; + Label2: TLabel; + Label3: TLabel; + Label5: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + OrderNo: TEdit; + WFBCodeName: TEdit; + cxGridPopupMenu1: TcxGridPopupMenu; + DataSource1: TDataSource; + Order_Main: TClientDataSet; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1Column3: TcxGridDBColumn; + v1OrderNo: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + v1OrderDate: TcxGridDBColumn; + v1Note: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1PRTQty: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column11: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + v1Column13: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + v1Column15: TcxGridDBColumn; + v1Column16: TcxGridDBColumn; + v1Column17: TcxGridDBColumn; + v1Column18: TcxGridDBColumn; + v1Column19: TcxGridDBColumn; + v1Column20: TcxGridDBColumn; + v1Column21: TcxGridDBColumn; + v1Column22: TcxGridDBColumn; + v1Column23: TcxGridDBColumn; + v1Column24: TcxGridDBColumn; + v1Column25: TcxGridDBColumn; + v1Column26: TcxGridDBColumn; + v1Column27: TcxGridDBColumn; + v1Column28: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBRafreshClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure WFBCodeNameChange(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure TBTPClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure v1Column16PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + private + { Private declarations } + procedure InitGrid(); + function DelData():Boolean; + public + { Public declarations } + end; + +var + frmOrderStatus: TfrmOrderStatus; + +implementation +uses + U_DataLink,U_Fun,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmOrderStatus.FormDestroy(Sender: TObject); +begin + frmOrderStatus:=nil; +end; + +procedure TfrmOrderStatus.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmOrderStatus.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; +procedure TfrmOrderStatus.InitGrid(); +var + fsj:String; +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select Customnoname=C.ZDYName,A.MainID As FMainId ,'); + sql.Add(' case when A.Chker<>'''' then cast(1 as bit) else cast(0 as bit) end as OSFlag2,'); + sql.Add(' case when B.OSDate1 is null then BegSCDate else B.OSDate1 end as OSDate1,'); + sql.Add(' case when B.OSDate3 is null then ZGDate else B.OSDate3 end as OSDate3,'); + sql.Add(' case when B.OSDate6 is null then ETDDate else B.OSDate6 end as OSDate6,'); + sql.Add(' case when B.OSDate7 is null then ETADate else B.OSDate7 end as OSDate7,A.*,B.* '); + SQL.Add('from WFBOrder_Main A left join WFBOrder_Status B on A.MainId=B.MainId'); + sql.Add('left join KH_ZDY C on A.Customno=C.ZDYNO and C.Type=''CustomNoName'' '); + sql.Add('where A.OrderDate>=:begdate and A.OrderDate<:EndDate'); + Parameters.ParamByName('Begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime)); + Parameters.ParamByName('EndDate').Value:=Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1)); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmOrderStatus.FormShow(Sender: TObject); +begin + ReadCxGrid('״̬бF',Tv1,'޷IJ'); + InitGrid(); + if Trim(DParameters1)='鿴' then + begin + TBTP.Visible:=False; + Tv1.OptionsSelection.CellSelect:=False; + end; +end; + +procedure TfrmOrderStatus.WFBCodeNameChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmOrderStatus.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('״̬бF',Tv1,'޷IJ'); +end; + +procedure TfrmOrderStatus.FormCreate(Sender: TObject); +begin + cxGrid1.Align:=alClient; + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); +end; + +procedure TfrmOrderStatus.TBTPClick(Sender: TObject); + var + FQty,FQty1,MaxNo:String; +begin + if Order_Main.IsEmpty then Exit; + BegDate.SetFocus; + try + ADOQueryCmd.Connection.BeginTrans; + // with Order_Main do + //begin + //First; + // while not Eof do + //begin + {if Trim(Order_Main.fieldbyname('FHQty').AsString)='' then + FQty:='0.0' + else + FQty:=Trim(Order_Main.fieldbyname('FHQty').AsString); + if Trim(Order_Main.fieldbyname('Qty1').AsString)='' then + FQty1:='0.0' + else + FQty1:=Trim(Order_Main.fieldbyname('Qty1').AsString); } + if Trim(Order_Main.fieldbyname('OSId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,maxno,'OS','WFBOrder_Status',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Main.fieldbyname('OSId').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBOrder_Status where OSId='''+Trim(Order_Main.fieldbyname('OSId').AsString)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(Order_Main.fieldbyname('OSId').AsString)='' then + Append + else + Edit; + FieldByName('OSId').Value:=Trim(maxno); + FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('FMainId').AsString); + SSetSaveDataCDSNew(ADOQueryCmd,Tv1,Order_Main,'Order_Sub_To',2); + if Trim(Order_Main.fieldbyname('OSID').AsString)<>'' then + begin + FieldByName('Edittime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('Editer').Value:=Trim(DName); + end else + begin + FieldByName('Filltime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('Filler').Value:=Trim(DName); + end; + Post; + end; + //Next; + //end; + with Order_Main do + begin + Edit; + FieldByName('OSId').Value:=Trim(maxno); + Post; + end; + //end; + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('³ɹ','ʾ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + +function TfrmOrderStatus.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Order_Sub_KC where KCId='''+Trim(Order_Main.fieldbyname('KCId').AsString)+''''); + ExecSQL; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmOrderStatus.TBExportClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + TcxGridToExcel('״̬б',cxGrid1); +end; + +procedure TfrmOrderStatus.v1Column16PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='hdmc'; + flagname:=''; + if ShowModal=1 then + begin + Order_Main.Edit; + Order_Main.FieldByName('OSStr1').Value:=ClientDataSet1.fieldbyname('ZDYName').AsString; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +end. diff --git a/打卷检验管理/U_OrderSubFH.dfm b/打卷检验管理/U_OrderSubFH.dfm new file mode 100644 index 0000000..97fb6a1 --- /dev/null +++ b/打卷检验管理/U_OrderSubFH.dfm @@ -0,0 +1,496 @@ +object frmOrderSubFH: TfrmOrderSubFH + Left = 40 + Top = 97 + Width = 1154 + Height = 577 + Caption = #25104#21697#21457#36135 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1146 + Height = 33 + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_OrderManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + end + object TBAdd: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #21457#36135 + ImageIndex = 3 + OnClick = TBAddClick + end + object TBDel: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 17 + OnClick = TBDelClick + end + object TBExport: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + Visible = False + end + object ToolButton1: TToolButton + Left = 378 + Top = 0 + AutoSize = True + Caption = #20840#36873 + ImageIndex = 106 + OnClick = ToolButton1Click + end + object ToolButton2: TToolButton + Left = 441 + Top = 0 + AutoSize = True + Caption = #20840#24323 + ImageIndex = 107 + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 504 + Top = 0 + AutoSize = True + Caption = #19968#38190#26367#25442 + ImageIndex = 51 + OnClick = ToolButton3Click + end + object TBTP: TToolButton + Left = 591 + Top = 0 + AutoSize = True + Caption = #30830#23450#21457#36135 + ImageIndex = 52 + OnClick = TBTPClick + end + object TBClose: TToolButton + Left = 678 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 33 + Width = 1146 + Height = 42 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 15 + Width = 52 + Height = 12 + Caption = #21457#36135#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 161 + Top = 15 + Width = 18 + Height = 12 + Caption = '---' + end + object Label3: TLabel + Left = 283 + Top = 15 + Width = 52 + Height = 12 + Caption = #35746#21333#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 430 + Top = 15 + Width = 26 + Height = 12 + Caption = #21697#21517 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 11 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 179 + Top = 11 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + TabOrder = 1 + end + object OrderNoM: TEdit + Tag = 2 + Left = 336 + Top = 11 + Width = 77 + Height = 20 + TabOrder = 2 + OnChange = PRTCodeNameMChange + end + object PRTCodeNameM: TEdit + Tag = 2 + Left = 459 + Top = 11 + Width = 83 + Height = 20 + TabOrder = 3 + OnChange = PRTCodeNameMChange + end + end + object cxGrid1: TcxGrid + Left = 8 + Top = 80 + Width = 1009 + Height = 369 + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'CustomNo' + Column = v1Column5 + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_OrderManage.cxBlue + Styles.IncSearch = DataLink_OrderManage.cxBlue + Styles.Selection = DataLink_OrderManage.cxBlue + object v1Column13: TcxGridDBColumn + Caption = #36873#20013 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_OrderManage.Default + Width = 43 + end + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#32534#21495 + DataBinding.FieldName = 'OrderNoM' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_OrderManage.Default + Width = 72 + end + object v1Column2: TcxGridDBColumn + Caption = #21697#21517 + DataBinding.FieldName = 'PRTCodeNameM' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_OrderManage.Default + end + object v1PRTSpec: TcxGridDBColumn + Caption = #21697#21517'/'#35268#26684 + DataBinding.FieldName = 'PRTSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_OrderManage.Default + Width = 66 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_OrderManage.Default + Width = 41 + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'PRTMF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_OrderManage.Default + Width = 33 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'PRTKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_OrderManage.Default + Width = 39 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_OrderManage.Default + Width = 58 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_OrderManage.Default + Width = 59 + end + object v1Column10: TcxGridDBColumn + Caption = #25104#21697#25968#37327 + DataBinding.FieldName = 'PRTQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_OrderManage.Default + Width = 64 + end + object v1Column11: TcxGridDBColumn + Caption = #25104#21697#21333#20301 + DataBinding.FieldName = 'PRTUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_OrderManage.Default + Width = 61 + end + object v1Column12: TcxGridDBColumn + Caption = #25104#21697#21305#25968 + DataBinding.FieldName = 'CQty1' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_OrderManage.Default + Width = 62 + end + object v1Column14: TcxGridDBColumn + Caption = #25104#21697#24211#23384 + DataBinding.FieldName = 'CPKC' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_OrderManage.Default + Width = 62 + end + object v1Column15: TcxGridDBColumn + Caption = #25104#21697#24211#23384#21305#25968 + DataBinding.FieldName = 'CPKCP' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_OrderManage.Default + Width = 86 + end + object v1Column3: TcxGridDBColumn + Tag = 3 + Caption = #21457#36135#26085#26399 + DataBinding.FieldName = 'FHDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ImmediatePost = True + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_OrderManage.FontBlue + Width = 61 + end + object v1Column4: TcxGridDBColumn + Tag = 3 + Caption = #21457#36135#22320#22336 + DataBinding.FieldName = 'FHAddress' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_OrderManage.FontBlue + Width = 61 + end + object v1Column5: TcxGridDBColumn + Tag = 3 + Caption = #23458#25143 + DataBinding.FieldName = 'CustomNoName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = v1Column5PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_OrderManage.FontBlue + Width = 62 + end + object v1Column1: TcxGridDBColumn + Tag = 3 + Caption = #21457#36135#21333#20215 + DataBinding.FieldName = 'FHPrice' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_OrderManage.FontBlue + Width = 64 + end + object v1Column9: TcxGridDBColumn + Tag = 3 + Caption = #35745#20215#21333#20301 + DataBinding.FieldName = 'JJUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column9PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_OrderManage.FontBlue + Width = 61 + end + object v1Column6: TcxGridDBColumn + Tag = 3 + Caption = #21457#36135#25968#37327 + DataBinding.FieldName = 'FHQty' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_OrderManage.FontBlue + Width = 58 + end + object v1Column7: TcxGridDBColumn + Tag = 3 + Caption = #21457#36135#21305#25968 + DataBinding.FieldName = 'Qty1' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_OrderManage.FontBlue + Width = 63 + end + object v1Column8: TcxGridDBColumn + Tag = 3 + Caption = #21457#36135#22791#27880 + DataBinding.FieldName = 'FHNote' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_OrderManage.FontBlue + Width = 56 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 544 + Top = 176 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 584 + Top = 120 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 624 + Top = 112 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_OrderManage.ADOLink + Parameters = <> + Left = 648 + Top = 40 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_OrderManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 688 + Top = 40 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_OrderManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 736 + Top = 40 + end +end diff --git a/打卷检验管理/U_OrderSubFH.pas b/打卷检验管理/U_OrderSubFH.pas new file mode 100644 index 0000000..68f1f21 --- /dev/null +++ b/打卷检验管理/U_OrderSubFH.pas @@ -0,0 +1,516 @@ +unit U_OrderSubFH; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, ADODB, DBClient, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, + ToolWin, cxCalendar, cxButtonEdit, cxCheckBox; + +type + TfrmOrderSubFH = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBAdd: TToolButton; + TBDel: TToolButton; + TBExport: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + TBTP: TToolButton; + Panel1: TPanel; + Label1: TLabel; + Label2: TLabel; + Label3: TLabel; + Label5: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + OrderNoM: TEdit; + PRTCodeNameM: TEdit; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + cxGridPopupMenu1: TcxGridPopupMenu; + DataSource1: TDataSource; + Order_Main: TClientDataSet; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + v1Column3: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column11: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + v1Column13: TcxGridDBColumn; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + ToolButton3: TToolButton; + v1Column14: TcxGridDBColumn; + v1Column15: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBRafreshClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure PRTCodeNameMChange(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure v1Column5PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure TBTPClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure v1Column9PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + private + { Private declarations } + procedure InitGrid(); + function DelData():Boolean; + procedure OneKeyPostHD(Tv1:TcxGridDBTableView;CDS_Sub:TClientDataSet); + public + { Public declarations } + end; + +var + frmOrderSubFH: TfrmOrderSubFH; + +implementation +uses + U_DataLink,U_Fun,U_ProductOrderList,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmOrderSubFH.FormDestroy(Sender: TObject); +begin + frmOrderSubFH:=nil; +end; + +procedure TfrmOrderSubFH.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmOrderSubFH.TBRafreshClick(Sender: TObject); +begin + BegDate.SetFocus; + InitGrid(); +end; +procedure TfrmOrderSubFH.InitGrid(); +var + fsj:String; +begin + try + //ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec Order_FHQryList :WSQl'); + fsj:=' and OT.FHDate>='+QuotedStr(Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))) + +' and OT.FHDate<'+QuotedStr(Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))); + Parameters.ParamByName('WSQl').Value:=fsj; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + //ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmOrderSubFH.FormShow(Sender: TObject); +begin + ReadCxGrid('б',Tv1,'ָʾ'); + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + InitGrid(); +end; + +procedure TfrmOrderSubFH.PRTCodeNameMChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmOrderSubFH.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('б',Tv1,'ָʾ'); +end; + +procedure TfrmOrderSubFH.FormCreate(Sender: TObject); +begin + cxGrid1.Align:=alClient; +end; + +procedure TfrmOrderSubFH.TBAddClick(Sender: TObject); +begin + try + frmProductOrderList:=TfrmProductOrderList.Create(Application); + with frmProductOrderList do + begin + FFInt:=1; + frmProductOrderList.TBAdd.Visible:=False; + frmProductOrderList.TBEdit.Visible:=False; + frmProductOrderList.TBDel.Visible:=False; + frmProductOrderList.TBExport.Visible:=False; + frmProductOrderList.TBPrint.Visible:=False; + frmProductOrderList.TBTP.Visible:=False; + frmProductOrderList.cxGrid2.Visible:=False; + frmProductOrderList.ToolButton1.Visible:=True; + frmProductOrderList.ToolButton2.Visible:=True; + frmProductOrderList.ToolButton3.Visible:=True; + frmProductOrderList.ToolButton4.Visible:=False; + frmProductOrderList.ToolButton5.Visible:=False; + frmProductOrderList.CheckBox1.Visible:=False; + frmProductOrderList.CheckBox2.Visible:=True; + if ShowModal=1 then + begin + with frmProductOrderList.Order_Main do + begin + frmProductOrderList.Order_Main.First; + while not Eof do + begin + if frmProductOrderList.Order_Main.FieldByName('SSel').AsBoolean=True then + begin + with Self.Order_Main do + begin + Append; + Self.Order_Main.FieldByName('SubId').Value:=Trim(frmProductOrderList.Order_Main.fieldbyname('SubId').AsString); + Self.Order_Main.FieldByName('OrderNoM').Value:=Trim(frmProductOrderList.Order_Main.fieldbyname('OrderNo').AsString); + Self.Order_Main.FieldByName('PRTCodeNameM').Value:=Trim(frmProductOrderList.Order_Main.fieldbyname('PRTCodeName').AsString); + Self.Order_Main.FieldByName('PRTSpec').Value:=Trim(frmProductOrderList.Order_Main.fieldbyname('PRTSpec').AsString); + Self.Order_Main.FieldByName('PRTMF').Value:=Trim(frmProductOrderList.Order_Main.fieldbyname('PRTMF').AsString); + Self.Order_Main.FieldByName('PRTKZ').Value:=Trim(frmProductOrderList.Order_Main.fieldbyname('PRTKZ').AsString); + Self.Order_Main.FieldByName('PRTColor').Value:=Trim(frmProductOrderList.Order_Main.fieldbyname('PRTColor').AsString); + if Trim(frmProductOrderList.Order_Main.fieldbyname('PRTOrderQty').AsString)<>'' then + Self.Order_Main.FieldByName('PRTOrderQty').Value:=frmProductOrderList.Order_Main.fieldbyname('PRTOrderQty').AsFloat; + Self.Order_Main.FieldByName('OrderUnit').Value:=Trim(frmProductOrderList.Order_Main.fieldbyname('OrderUnit').AsString); + Self.Order_Main.FieldByName('SSel').Value:=1; + if Trim(frmProductOrderList.Order_Main.fieldbyname('PRTQty').AsString)<>'' then + Self.Order_Main.FieldByName('PRTQty').Value:=frmProductOrderList.Order_Main.fieldbyname('PRTQty').AsFloat; + if Trim(frmProductOrderList.Order_Main.fieldbyname('Qty1').AsString)<>'' then + Self.Order_Main.FieldByName('CQty1').Value:=frmProductOrderList.Order_Main.fieldbyname('Qty1').AsFloat; + if Trim(frmProductOrderList.Order_Main.fieldbyname('CPKC').AsString)<>'' then + Self.Order_Main.FieldByName('CPKC').Value:=frmProductOrderList.Order_Main.fieldbyname('CPKC').AsFloat; + if Trim(frmProductOrderList.Order_Main.fieldbyname('CPKCP').AsString)<>'' then + Self.Order_Main.FieldByName('CPKCP').Value:=frmProductOrderList.Order_Main.fieldbyname('CPKCP').AsFloat; + Self.Order_Main.FieldByName('PRTUnit').Value:=Trim(frmProductOrderList.Order_Main.fieldbyname('PRTUnit').AsString); + end; + end; + frmProductOrderList.Order_Main.Next; + end; + end; + end; + end; + finally + frmProductOrderList.Free; + end; +end; + +procedure TfrmOrderSubFH.v1Column5PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='CustomNoName'; + flagname:='ͻ'; + if ShowModal=1 then + begin + Self.Order_Main.Edit; + Self.Order_Main.FieldByName('CustomNoName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + Self.Order_Main.FieldByName('CustomNo').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderSubFH.TBTPClick(Sender: TObject); + var + FQty,FQty1,MaxNo:String; +begin + if Order_Main.IsEmpty then Exit; + if Order_Main.Locate('SSel',True,[])=false then + begin + Application.MessageBox('δѡ¼','ʾ',0); + Exit; + end; + if (Order_Main.Locate('SSel',True,[])) and (Order_Main.Locate('FHDate',null,[])) then + begin + Application.MessageBox('ڲΪգ','ʾ',0); + Exit; + end; + if (Order_Main.Locate('SSel',True,[])) and (Order_Main.Locate('CustomNoName',null,[])) then + begin + Application.MessageBox('ͻΪգ','ʾ',0); + Exit; + end; + if (Order_Main.Locate('SSel',True,[])) and (Order_Main.Locate('FHPrice',null,[])) then + begin + Application.MessageBox('۲Ϊգ','ʾ',0); + Exit; + end; + if (Order_Main.Locate('SSel',True,[])) and (Order_Main.Locate('JJUnit',null,[])) then + begin + Application.MessageBox('Ƽ۵λΪգ','ʾ',0); + Exit; + end; + if (Order_Main.Locate('SSel',True,[])) and (Order_Main.Locate('FHQty',null,[])) then + begin + Application.MessageBox('Ϊգ','ʾ',0); + Exit; + end; + BegDate.SetFocus; + try + ADOQueryCmd.Connection.BeginTrans; + with Order_Main do + begin + First; + while not Eof do + begin + {if Trim(Order_Main.fieldbyname('FHQty').AsString)='' then + FQty:='0.0' + else + FQty:=Trim(Order_Main.fieldbyname('FHQty').AsString); + if Trim(Order_Main.fieldbyname('Qty1').AsString)='' then + FQty1:='0.0' + else + FQty1:=Trim(Order_Main.fieldbyname('Qty1').AsString); } + if Order_Main.FieldByName('SSel').AsBoolean=True then + begin + if Trim(Order_Main.fieldbyname('ToId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,maxno,'To','Order_Sub_To',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Main.fieldbyname('ToId').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Order_Sub_To where ToId='''+Trim(Order_Main.fieldbyname('ToId').AsString)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(Order_Main.fieldbyname('ToId').AsString)='' then + Append + else + Edit; + FieldByName('ToId').Value:=Trim(maxno); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + SSetSaveDataCDSNew(ADOQueryCmd,Tv1,Order_Main,'Order_Sub_To',3); + Post; + end; + with Order_Main do + begin + Edit; + FieldByName('ToId').Value:=Trim(maxno); + Post; + end; + end; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + +procedure TfrmOrderSubFH.TBDelClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + with ADOQueryTemp do + begin + close; + sql.Clear; + sql.Add('select * from Order_Sub_ToSK where ToId='''+Trim(Order_Main.fieldbyname('ToId').AsString)+''''); + Open; + if not IsEmpty then + begin + Application.MessageBox('Ѿտɾ¼','ʾ',0); + Exit; + end; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + if DelData() then + begin + //TBRafresh.Click; + //TBFind.Click; + Order_Main.Delete; + end; +end; + +function TfrmOrderSubFH.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Order_Sub_To where ToId='''+Trim(Order_Main.fieldbyname('ToId').AsString)+''''); + ExecSQL; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmOrderSubFH.TBExportClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + TcxGridToExcel('б',cxGrid1); +end; + +procedure TfrmOrderSubFH.v1Column9PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='PriceUnit'; + flagname:='Ƽ۵λ'; + if ShowModal=1 then + begin + Self.Order_Main.Edit; + Self.Order_Main.FieldByName('JJUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + //Self.Order_Main.FieldByName('CustomNo').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmOrderSubFH.ToolButton1Click(Sender: TObject); +begin + Order_Main.DisableControls; + with Order_Main do + begin + First; + while not Eof do + begin + Edit; + FieldByName('SSel').Value:=1; + Post; + Next; + end; + end; + Order_Main.EnableControls; +end; + +procedure TfrmOrderSubFH.ToolButton2Click(Sender: TObject); +begin + Order_Main.DisableControls; + with Order_Main do + begin + First; + while not Eof do + begin + Edit; + FieldByName('SSel').Value:=0; + Post; + Next; + end; + end; + Order_Main.EnableControls; +end; + +procedure TfrmOrderSubFH.OneKeyPostHD(Tv1:TcxGridDBTableView;CDS_Sub:TClientDataSet); +var + FValue,FFValue,FColumn,FFColumn:String; +begin + FColumn:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName; + FFColumn:=Tv1.Controller.FocusedColumn.Summary.GroupFormat; + FValue:=Trim(CDS_Sub.fieldbyname(FColumn).AsString); + if Trim(FFColumn)<>'' then + begin + FFValue:=Trim(CDS_Sub.fieldbyname(FFColumn).AsString); + end; + with CDS_Sub do + begin + DisableControls; + First; + while not Eof do + begin + Edit; + if CDS_Sub.FieldByName('Ssel').AsBoolean=True then + begin + if FValue='' then + begin + CDS_Sub.FieldByName(FColumn).Value:=null; + end else + begin + CDS_Sub.FieldByName(FColumn).Value:=FValue; + end; + if Trim(FFColumn)<>'' then + begin + if FFValue='' then + begin + CDS_Sub.FieldByName(FFColumn).Value:=null; + end else + begin + CDS_Sub.FieldByName(FFColumn).Value:=FFValue; + end; + end; + Post; + end; + Next; + end; + EnableControls; + end; +end; + +procedure TfrmOrderSubFH.ToolButton3Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + BegDate.SetFocus; + OneKeyPostHD(Tv1,Order_Main); +end; + +end. diff --git a/打卷检验管理/U_OrderSubKC.dfm b/打卷检验管理/U_OrderSubKC.dfm new file mode 100644 index 0000000..71ce9b1 --- /dev/null +++ b/打卷检验管理/U_OrderSubKC.dfm @@ -0,0 +1,377 @@ +object frmOrderSubKC: TfrmOrderSubKC + Left = 69 + Top = 113 + Width = 1154 + Height = 577 + Caption = #25104#21697#24211#23384 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1146 + Height = 33 + ButtonHeight = 18 + ButtonWidth = 36 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 40 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + end + object TBExport: TToolButton + Left = 80 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 120 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + Visible = False + end + object TBTP: TToolButton + Left = 160 + Top = 0 + Caption = #26356#26032 + ImageIndex = 106 + OnClick = TBTPClick + end + object TBClose: TToolButton + Left = 196 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 33 + Width = 1146 + Height = 42 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 15 + Width = 52 + Height = 12 + Caption = #26597#35810#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 161 + Top = 15 + Width = 18 + Height = 12 + Caption = '---' + end + object Label3: TLabel + Left = 283 + Top = 15 + Width = 52 + Height = 12 + Caption = #35746#21333#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 430 + Top = 15 + Width = 26 + Height = 12 + Caption = #21697#21517 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 11 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 179 + Top = 11 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + TabOrder = 1 + end + object OrderNoM: TEdit + Tag = 2 + Left = 336 + Top = 11 + Width = 77 + Height = 20 + TabOrder = 2 + OnChange = PRTCodeNameMChange + end + object PRTCodeNameM: TEdit + Tag = 2 + Left = 459 + Top = 11 + Width = 83 + Height = 20 + TabOrder = 3 + OnChange = PRTCodeNameMChange + end + end + object cxGrid1: TcxGrid + Left = 8 + Top = 80 + Width = 1009 + Height = 369 + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = 'CustomNo' + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#32534#21495 + DataBinding.FieldName = 'OrderNoM' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 72 + end + object v1Column2: TcxGridDBColumn + Caption = #21697#21517 + DataBinding.FieldName = 'PRTCodeNameM' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + end + object v1PRTSpec: TcxGridDBColumn + Caption = #21697#21517'/'#35268#26684 + DataBinding.FieldName = 'PRTSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 66 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 41 + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'PRTMF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 33 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'PRTKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 39 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 58 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 59 + end + object v1Column1: TcxGridDBColumn + Caption = #25104#21697#25968 + DataBinding.FieldName = 'PRTQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 56 + end + object v1Column11: TcxGridDBColumn + Caption = #25104#21697#21305#25968 + DataBinding.FieldName = 'Qty1' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 62 + end + object v1Column6: TcxGridDBColumn + Caption = #21457#36135#25968#37327 + DataBinding.FieldName = 'FHQtyM' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 58 + end + object v1Column7: TcxGridDBColumn + Caption = #21457#36135#21305#25968 + DataBinding.FieldName = 'FHQty1M' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 63 + end + object v1Column3: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'FHPrice' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 54 + end + object v1Column4: TcxGridDBColumn + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'KCQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 61 + end + object v1Column10: TcxGridDBColumn + Caption = #24211#23384#21305#25968 + DataBinding.FieldName = 'KCQty1' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 57 + end + object v1Column5: TcxGridDBColumn + Tag = 3 + Caption = #24211#23384#22320#28857 + DataBinding.FieldName = 'KCPlace' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column9: TcxGridDBColumn + Tag = 3 + Caption = #24211#23384#21407#22240 + DataBinding.FieldName = 'KCReason' + HeaderAlignmentHorz = taCenter + Width = 61 + end + object v1Column8: TcxGridDBColumn + Tag = 3 + Caption = #24211#23384#22791#27880 + DataBinding.FieldName = 'KCNote' + HeaderAlignmentHorz = taCenter + Width = 61 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 544 + Top = 176 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 584 + Top = 120 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 624 + Top = 112 + end + object ADOQueryCmd: TADOQuery + Parameters = <> + Left = 648 + Top = 40 + end + object ADOQueryMain: TADOQuery + LockType = ltReadOnly + Parameters = <> + Left = 688 + Top = 40 + end + object ADOQueryTemp: TADOQuery + LockType = ltReadOnly + Parameters = <> + Left = 736 + Top = 40 + end +end diff --git a/打卷检验管理/U_OrderSubKC.pas b/打卷检验管理/U_OrderSubKC.pas new file mode 100644 index 0000000..32b0f3b --- /dev/null +++ b/打卷检验管理/U_OrderSubKC.pas @@ -0,0 +1,245 @@ +unit U_OrderSubKC; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, ADODB, DBClient, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, + ToolWin, cxCalendar, cxButtonEdit; + +type + TfrmOrderSubKC = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBExport: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + TBTP: TToolButton; + Panel1: TPanel; + Label1: TLabel; + Label2: TLabel; + Label3: TLabel; + Label5: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + OrderNoM: TEdit; + PRTCodeNameM: TEdit; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + cxGridPopupMenu1: TcxGridPopupMenu; + DataSource1: TDataSource; + Order_Main: TClientDataSet; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column11: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure TBRafreshClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure PRTCodeNameMChange(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure TBTPClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + private + { Private declarations } + procedure InitGrid(); + function DelData():Boolean; + public + { Public declarations } + end; + +var + frmOrderSubKC: TfrmOrderSubKC; + +implementation +uses + U_DataLink,U_Fun,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmOrderSubKC.FormDestroy(Sender: TObject); +begin + frmOrderSubKC:=nil; +end; + +procedure TfrmOrderSubKC.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmOrderSubKC.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; +procedure TfrmOrderSubKC.InitGrid(); +var + fsj:String; +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec Order_PRTKCQryList :Begdate,:EndDate '); + Parameters.ParamByName('Begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime)); + Parameters.ParamByName('EndDate').Value:=Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1)); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmOrderSubKC.FormShow(Sender: TObject); +begin + ReadCxGrid('Ʒб',Tv1,'ָʾ'); + InitGrid(); +end; + +procedure TfrmOrderSubKC.PRTCodeNameMChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmOrderSubKC.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('Ʒб',Tv1,'ָʾ'); +end; + +procedure TfrmOrderSubKC.FormCreate(Sender: TObject); +begin + cxGrid1.Align:=alClient; + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); +end; + +procedure TfrmOrderSubKC.TBTPClick(Sender: TObject); + var + FQty,FQty1,MaxNo:String; +begin + if Order_Main.IsEmpty then Exit; + BegDate.SetFocus; + try + ADOQueryCmd.Connection.BeginTrans; + // with Order_Main do + //begin + //First; + // while not Eof do + //begin + {if Trim(Order_Main.fieldbyname('FHQty').AsString)='' then + FQty:='0.0' + else + FQty:=Trim(Order_Main.fieldbyname('FHQty').AsString); + if Trim(Order_Main.fieldbyname('Qty1').AsString)='' then + FQty1:='0.0' + else + FQty1:=Trim(Order_Main.fieldbyname('Qty1').AsString); } + if Trim(Order_Main.fieldbyname('KCId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,maxno,'KC','Order_Sub_To',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(Order_Main.fieldbyname('KCId').AsString); + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from Order_Sub_KC where KCId='''+Trim(Order_Main.fieldbyname('KCId').AsString)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(Order_Main.fieldbyname('KCId').AsString)='' then + Append + else + Edit; + FieldByName('KCId').Value:=Trim(maxno); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + SSetSaveDataCDSNew(ADOQueryCmd,Tv1,Order_Main,'Order_Sub_To',3); + Post; + end; + //Next; + //end; + with Order_Main do + begin + Edit; + FieldByName('KCId').Value:=Trim(maxno); + Post; + end; + //end; + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('³ɹ','ʾ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + +function TfrmOrderSubKC.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete Order_Sub_KC where KCId='''+Trim(Order_Main.fieldbyname('KCId').AsString)+''''); + ExecSQL; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmOrderSubKC.TBExportClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + TcxGridToExcel('Ʒб',cxGrid1); +end; + +end. diff --git a/打卷检验管理/U_ProductOrderAnPai.dfm b/打卷检验管理/U_ProductOrderAnPai.dfm new file mode 100644 index 0000000..8d3121a --- /dev/null +++ b/打卷检验管理/U_ProductOrderAnPai.dfm @@ -0,0 +1,930 @@ +object frmProductOrderAnPai: TfrmProductOrderAnPai + Left = 140 + Top = 38 + Width = 1203 + Height = 721 + Caption = #26816#39564#25351#31034#21333 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1195 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 58 + Visible = False + OnClick = ToolButton1Click + end + object ToolButton10: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = ToolButton10Click + end + object ToolButton5: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #30133#28857#31649#29702 + ImageIndex = 49 + OnClick = ToolButton5Click + end + object TBExport: TToolButton + Left = 213 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + Visible = False + OnClick = TBExportClick + end + object ToolButton9: TToolButton + Left = 276 + Top = 0 + Caption = #26816#21069#22238#20462 + ImageIndex = 54 + Visible = False + OnClick = ToolButton9Click + end + object TBPrint: TToolButton + Left = 359 + Top = 0 + AutoSize = True + Caption = #25171#21360 + DropdownMenu = PopupMenu1 + ImageIndex = 12 + Style = tbsDropDown + Visible = False + OnClick = TBPrintClick + end + object TBClose: TToolButton + Left = 435 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel2: TPanel + Left = 0 + Top = 341 + Width = 1195 + Height = 346 + Align = alClient + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 1 + object cxGrid2: TcxGrid + Left = 2 + Top = 81 + Width = 1191 + Height = 263 + Align = alClient + TabOrder = 0 + object TV2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + Column = V2Column1 + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = V2Column1 + end + item + Kind = skSum + Column = V2Column7 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.OnGetContentStyle = Tv1StylesGetContentStyle + Styles.Header = DataLink_TradeManage.Default + object V2Column10: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 39 + end + object V2Column2: TcxGridDBColumn + Caption = #22238#20179#26102#38388 + DataBinding.FieldName = 'ADefDate1' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + Properties.OnEditValueChanged = cxGridDBColumn1PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 119 + end + object V2Column8: TcxGridDBColumn + Caption = #21152#24037#21378 + DataBinding.FieldName = 'AOrddefstr4' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = V2Column8PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 82 + end + object V2Column11: TcxGridDBColumn + Caption = #22383#24067#21378 + DataBinding.FieldName = 'AOrddefstr6' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = V2Column11PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 57 + end + object cxGridDBColumn1: TcxGridDBColumn + Caption = #26579#21378#32568#21495 + DataBinding.FieldName = 'GangNo' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = cxGridDBColumn1PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object V2Column3: TcxGridDBColumn + Caption = #26412#21378#32568#21495 + DataBinding.FieldName = 'AOrddefstr1' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Width = 58 + end + object V2Column7: TcxGridDBColumn + Caption = #21305#25968#37327 + DataBinding.FieldName = 'AOrdQty2' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Width = 48 + end + object V2Column1: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'AOrdQty1' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = V2Column1PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.FonePurple + Width = 69 + end + object V2Column4: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'AOrddefstr2' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.DropDownListStyle = lsFixedList + Properties.Items.Strings = ( + 'M' + 'Kg') + HeaderAlignmentHorz = taCenter + Width = 59 + end + object V2Column13: TcxGridDBColumn + Caption = #25240#31639#31859#31995#25968 + DataBinding.FieldName = 'ZSXS' + Width = 74 + end + object V2Column5: TcxGridDBColumn + Caption = #26816#39564#38271#24230#21333#20301 + DataBinding.FieldName = 'AOrddefstr3' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.DropDownListStyle = lsFixedList + Properties.Items.Strings = ( + 'M' + 'Y' + '') + HeaderAlignmentHorz = taCenter + Width = 86 + end + object V2Column9: TcxGridDBColumn + Caption = #22238#20179#31867#22411 + DataBinding.FieldName = 'APType' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = V2Column9PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 61 + end + object V2Column12: TcxGridDBColumn + Caption = #22238#20462#25968#25454 + DataBinding.FieldName = 'AOrdFlag1' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 65 + end + object V2Column14: TcxGridDBColumn + Caption = #26816#39564#38376#24133'(cm)' + DataBinding.FieldName = 'JYMF' + Width = 87 + end + object V2Column15: TcxGridDBColumn + Caption = #26816#39564#20811#37325'(g/'#13217')' + DataBinding.FieldName = 'JYKZ' + Width = 97 + end + object V2Column6: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'AOrdDefNote1' + Width = 85 + end + end + object cxGridLevel1: TcxGridLevel + GridView = TV2 + end + end + object ToolBar2: TToolBar + Left = 2 + Top = 2 + Width = 1191 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 1 + object ToolButton8: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20840#36873 + ImageIndex = 99 + OnClick = ToolButton8Click + end + object ToolButton7: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20840#24323 + ImageIndex = 129 + OnClick = ToolButton7Click + end + object ToolButton2: TToolButton + Left = 126 + Top = 0 + Caption = #22686#34892 + ImageIndex = 103 + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 185 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = ToolButton3Click + end + object ToolButton4: TToolButton + Left = 248 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 111 + OnClick = ToolButton4Click + end + object ToolButton6: TToolButton + Left = 311 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 96 + OnClick = ToolButton6Click + end + end + object Panel3: TPanel + Left = 2 + Top = 34 + Width = 1191 + Height = 47 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 2 + object Label1: TLabel + Left = 24 + Top = 16 + Width = 48 + Height = 12 + Caption = #22238#20179#26102#38388 + end + object Label2: TLabel + Left = 189 + Top = 16 + Width = 36 + Height = 12 + Caption = #21152#24037#21378 + Visible = False + end + object Label4: TLabel + Left = 503 + Top = 16 + Width = 48 + Height = 12 + Caption = #25968#37327#21333#20301 + Visible = False + end + object Label5: TLabel + Left = 634 + Top = 16 + Width = 72 + Height = 12 + Caption = #26816#39564#25968#37327#21333#20301 + Visible = False + end + object Label7: TLabel + Left = 349 + Top = 16 + Width = 36 + Height = 12 + Caption = #22383#24067#21378 + Visible = False + end + object DateTimePicker1: TDateTimePicker + Left = 74 + Top = 12 + Width = 103 + Height = 20 + Date = 41281.501696319440000000 + Format = 'yyyy-MM-dd' + Time = 41281.501696319440000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object BtnEditA1: TBtnEditA + Left = 226 + Top = 12 + Width = 101 + Height = 20 + Enabled = False + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + Visible = False + OnBtnClick = BtnEditA1BtnClick + end + object ComboBox1: TComboBox + Left = 556 + Top = 12 + Width = 60 + Height = 20 + Style = csDropDownList + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ItemHeight = 12 + TabOrder = 2 + Visible = False + Items.Strings = ( + 'M' + 'Kg') + end + object BtnEditA2: TBtnEditA + Left = 709 + Top = 12 + Width = 53 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + Visible = False + OnBtnClick = BtnEditA2BtnClick + end + object BtnEditA4: TBtnEditA + Left = 386 + Top = 12 + Width = 101 + Height = 20 + Enabled = False + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + Visible = False + OnBtnClick = BtnEditA4BtnClick + end + end + object MovePanel2: TMovePanel + Left = 342 + Top = 128 + Width = 252 + Height = 40 + BevelInner = bvLowered + Caption = #27491#22312#25191#34892#25968#25454#25805#20316#65292#35831#31245#21518#12290#12290#12290 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 82 + Width = 1195 + Height = 259 + Align = alTop + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1Column2 + end + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + Column = v1Column5 + end + item + Kind = skSum + Column = v1Column6 + end + item + Kind = skSum + Column = v1Column7 + end + item + Kind = skSum + Column = v1Column8 + end + item + Kind = skSum + Column = v1Column9 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.OnGetContentStyle = Tv1StylesGetContentStyle + Styles.Header = DataLink_TradeManage.Default + object cxGridDBColumn2: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v1Column3: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 70 + end + object cxGridDBColumn7: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v1ConNo: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1JGFactoryName: TcxGridDBColumn + Caption = #21152#24037#21378 + DataBinding.FieldName = 'FirstName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object v1Column1: TcxGridDBColumn + Caption = #22383#24067#21378 + DataBinding.FieldName = 'PBFactory' + HeaderAlignmentHorz = taCenter + Width = 68 + end + object v1OrdDate: TcxGridDBColumn + Caption = #21046#21333#26085#26399 + DataBinding.FieldName = 'OrdDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DlyDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + OnCustomDrawCell = v1DeliveryDateCustomDrawCell + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 62 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 62 + end + object v1Column6: TcxGridDBColumn + Caption = #25237#22383#21305#25968 + DataBinding.FieldName = 'TPPS' + Width = 61 + end + object v1Column7: TcxGridDBColumn + Caption = #25237#22383#25968#37327 + DataBinding.FieldName = 'TPQty' + Width = 62 + end + object v1Column11: TcxGridDBColumn + Caption = #25237#22383#21333#20301 + DataBinding.FieldName = 'TPUnit' + HeaderAlignmentHorz = taCenter + Width = 61 + end + object v1MPRTCodeName: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 69 + end + object v1MPRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'MPRTSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1Column10: TcxGridDBColumn + Caption = #39068#33394'('#33521#25991')' + DataBinding.FieldName = 'SOrddefstr4' + HeaderAlignmentHorz = taCenter + Width = 82 + end + object v1MPRTMF: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'MPRTMF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object v1MPRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'MPRTKZ' + Width = 54 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 67 + end + object v1Column4: TcxGridDBColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrderUnit' + Width = 60 + end + object v1Column5: TcxGridDBColumn + Caption = #22238#20179#21305#25968 + DataBinding.FieldName = 'HCPS' + HeaderAlignmentHorz = taCenter + Width = 58 + end + object v1Column2: TcxGridDBColumn + Caption = #22238#20179#25968#37327 + DataBinding.FieldName = 'HCQty' + HeaderAlignmentHorz = taCenter + Width = 61 + end + object v1Column8: TcxGridDBColumn + Caption = #22238#20462#21305#25968 + DataBinding.FieldName = 'HXPS' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column9: TcxGridDBColumn + Caption = #22238#20462#25968#37327 + DataBinding.FieldName = 'HXQty' + HeaderAlignmentHorz = taCenter + Width = 60 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv1 + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1195 + Height = 50 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 3 + object Label3: TLabel + Left = 19 + Top = 17 + Width = 39 + Height = 12 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object OrderNoM: TEdit + Tag = 2 + Left = 60 + Top = 9 + Width = 189 + Height = 32 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + TabOrder = 0 + OnChange = OrderNoMChange + end + end + object cxGrid4: TcxGrid + Left = 52 + Top = 113 + Width = 345 + Height = 177 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 4 + Visible = False + object Tv4: TcxGridDBTableView + OnDblClick = Tv4DblClick + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DS_OrderNo + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.FoneRed + object v4Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Width = 179 + end + object v4Column2: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Width = 138 + end + end + object cxGrid4Level1: TcxGridLevel + GridView = Tv4 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 544 + Top = 176 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 656 + Top = 192 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 624 + Top = 192 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 688 + Top = 192 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 784 + Top = 192 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 560 + Top = 144 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 496 + Top = 208 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 448 + Top = 200 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 816 + Top = 192 + end + object PopupMenu1: TPopupMenu + Left = 544 + Top = 208 + object N2: TMenuItem + Caption = #26377#20379#24212#21830 + OnClick = N2Click + end + end + object DataSource2: TDataSource + DataSet = CDS_Sub + Left = 976 + Top = 392 + end + object CDS_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 968 + Top = 384 + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 752 + Top = 192 + end + object CDS_OrderNo: TClientDataSet + Aggregates = <> + Params = <> + Left = 120 + Top = 104 + end + object DS_OrderNo: TDataSource + DataSet = CDS_OrderNo + Left = 192 + Top = 104 + end + object ADOQueryHC: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 720 + Top = 192 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 576 + Top = 512 + end + object ADOQuery1: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 624 + Top = 256 + end +end diff --git a/打卷检验管理/U_ProductOrderAnPai.pas b/打卷检验管理/U_ProductOrderAnPai.pas new file mode 100644 index 0000000..6af845d --- /dev/null +++ b/打卷检验管理/U_ProductOrderAnPai.pas @@ -0,0 +1,2244 @@ +unit U_ProductOrderAnPai; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, + Menus, cxPC, BtnEdit, cxTextEdit, cxButtonEdit, cxDropDownEdit, MovePanel,StrUtils; + +type + TfrmProductOrderAnPai = class(TForm) + ToolBar1: TToolBar; + TBPrint: TToolButton; + TBClose: TToolButton; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + TBExport: TToolButton; + Order_Main: TClientDataSet; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + PopupMenu1: TPopupMenu; + N2: TMenuItem; + ToolButton1: TToolButton; + DataSource2: TDataSource; + CDS_Sub: TClientDataSet; + Panel2: TPanel; + cxGrid2: TcxGrid; + TV2: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + V2Column1: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + ToolBar2: TToolBar; + ToolButton2: TToolButton; + ToolButton3: TToolButton; + ToolButton5: TToolButton; + ToolButton6: TToolButton; + ADOQueryPrint: TADOQuery; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + cxGridDBColumn2: TcxGridDBColumn; + v1ConNo: TcxGridDBColumn; + v1JGFactoryName: TcxGridDBColumn; + v1OrdDate: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + v1MPRTCodeName: TcxGridDBColumn; + v1MPRTSpec: TcxGridDBColumn; + v1MPRTMF: TcxGridDBColumn; + v1MPRTKZ: TcxGridDBColumn; + cxGridDBColumn7: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + V2Column2: TcxGridDBColumn; + V2Column3: TcxGridDBColumn; + V2Column4: TcxGridDBColumn; + Panel1: TPanel; + Label3: TLabel; + OrderNoM: TEdit; + cxGrid4: TcxGrid; + Tv4: TcxGridDBTableView; + v4Column1: TcxGridDBColumn; + v4Column2: TcxGridDBColumn; + cxGrid4Level1: TcxGridLevel; + CDS_OrderNo: TClientDataSet; + DS_OrderNo: TDataSource; + V2Column5: TcxGridDBColumn; + V2Column7: TcxGridDBColumn; + V2Column8: TcxGridDBColumn; + ToolButton4: TToolButton; + ADOQueryHC: TADOQuery; + Panel3: TPanel; + DateTimePicker1: TDateTimePicker; + BtnEditA1: TBtnEditA; + ComboBox1: TComboBox; + BtnEditA2: TBtnEditA; + Label1: TLabel; + Label2: TLabel; + Label4: TLabel; + Label5: TLabel; + V2Column10: TcxGridDBColumn; + ToolButton7: TToolButton; + ToolButton8: TToolButton; + V2Column11: TcxGridDBColumn; + BtnEditA4: TBtnEditA; + Label7: TLabel; + v1Column1: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + cxGridPopupMenu2: TcxGridPopupMenu; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + ToolButton9: TToolButton; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + ToolButton10: TToolButton; + V2Column12: TcxGridDBColumn; + MovePanel2: TMovePanel; + V2Column14: TcxGridDBColumn; + V2Column15: TcxGridDBColumn; + v1Column11: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + V2Column6: TcxGridDBColumn; + V2Column9: TcxGridDBColumn; + V2Column13: TcxGridDBColumn; + ADOQuery1: TADOQuery; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBTPClick(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; + ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; + out AStyle: TcxStyle); + procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure AOrdDefNote12DblClick(Sender: TObject); + procedure AOrdDefNote7BtnDnClick(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + procedure ToolButton5Click(Sender: TObject); + procedure ToolButton6Click(Sender: TObject); + procedure OrderNoMChange(Sender: TObject); + procedure Tv4DblClick(Sender: TObject); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; + APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); + procedure V2Column1PropertiesEditValueChanged(Sender: TObject); + procedure cxGridDBColumn1PropertiesEditValueChanged(Sender: TObject); + procedure V2Column4PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure V2Column5PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure V2Column6PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure V2Column8PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ToolButton4Click(Sender: TObject); + procedure BtnEditA1BtnClick(Sender: TObject); + procedure BtnEditA2BtnClick(Sender: TObject); + procedure ToolButton8Click(Sender: TObject); + procedure ToolButton7Click(Sender: TObject); + procedure BtnEditA4BtnClick(Sender: TObject); + procedure V2Column11PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ToolButton9Click(Sender: TObject); + procedure ToolButton10Click(Sender: TObject); + procedure V2Column13PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure V2Column9PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + private + DQdate:TDateTime; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + procedure InitGridFH(); + function SaveData():Boolean; + procedure UpdateHC(FFirstNo:String); + function YFData():Boolean; + function DELYFData():Boolean; + { Private declarations } + public + FFInt:Integer; + { Public declarations } + end; + +var + frmProductOrderAnPai: TfrmProductOrderAnPai; + newh:hwnd; +implementation +uses + U_DataLink,U_OrderInPut,U_Fun, U_ZDYHelp,U_iniParam, U_ZDYHelpSel,U_BefChkHX; + +{$R *.dfm} + +procedure TfrmProductOrderAnPai.FormDestroy(Sender: TObject); +begin + frmProductOrderAnPai:=nil; +end; + +procedure TfrmProductOrderAnPai.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmProductOrderAnPai.FormCreate(Sender: TObject); +begin + + //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; + //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + DQdate:=SGetServerDate(ADOQueryTemp); +end; + +procedure TfrmProductOrderAnPai.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ָʾϢ',Tv1,'زֹ'); + WriteCxGrid('زϢJZC1',Tv2,'زֹ'); +end; + +procedure TfrmProductOrderAnPai.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Sub_AnPai where LLId='''+Trim(Order_Main.fieldbyname('LLId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Sub); + SInitCDSData20(ADOQueryMain,CDS_Sub); + finally + ADOQueryMain.EnableControls; + end; +end; +procedure TfrmProductOrderAnPai.InitGridFH(); +begin +end; + +procedure TfrmProductOrderAnPai.InitForm(); +var + i:Integer; +begin + DateTimePicker1.DateTime:=SGetServerDateTime(ADOQueryTemp); + ReadCxGrid('ָʾϢ',Tv1,'زֹ'); + ReadCxGrid('زϢJZC1',Tv2,'زֹ'); +end; + +function TfrmProductOrderAnPai.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + if IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmProductOrderAnPai.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + SelExportData(Tv1,ADOQueryMain,'ɹб'); +end; + +procedure TfrmProductOrderAnPai.TBPrintClick(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ɹ.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ10.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); + //SelPrintData(TV4,ADOQueryMain,'ͬѯ'); +end; + +procedure TfrmProductOrderAnPai.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmProductOrderAnPai.TBTPClick(Sender: TObject); + var + FQty,FQty1,FMxQty,FPQty,FMxQtyS,FPQtyS:String; +begin +end; + +procedure TfrmProductOrderAnPai.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmProductOrderAnPai.Tv1StylesGetContentStyle( + Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; + AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); +var + id,id10:Integer; +begin + {try + if Tv1.GroupedItemCount=0 then + begin + Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; + Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; + if Trim(VarToStr(ARecord.Values[id]))='' then Exit; + if Id<0 then Exit; + if ARecord.Values[id10]='' then exit; + if (ARecord.Values[id]-DQdate)>=4 then Exit; + if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then + AStyle:=DataLink_.QHuangSe + else + if ARecord.Values[id]-DQdate<0 then + begin + AStyle:=DataLink_OrderManage.FenHongS; + end; + end else + begin + + end; + except + end; } +end; + +procedure TfrmProductOrderAnPai.v1DeliveryDateCustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +begin + { Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount; + Id10:=TV1.GetColumnByFieldName('SubStatus').Index; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id10]='' then Exit; + if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit; + if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then + ACanvas.Brush.Color:=clYellow + else + if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then + begin + ACanvas.Brush.Color:=clRed; + end; + begin + ACanvas.Brush.Color:=clRed; + end else + if AViewInfo.GridRecord.Values[Id]='Purple' then + begin + ACanvas.Brush.Color:=clPurple; + end else + if AViewInfo.GridRecord.Values[Id]='Olive' then + begin + ACanvas.Brush.Color:=clOlive; + end else + if AViewInfo.GridRecord.Values[Id]='Teal' then + begin + ACanvas.Brush.Color:=clTeal; + end else + if AViewInfo.GridRecord.Values[Id]='Background' then + begin + ACanvas.Brush.Color:=clBackground; + end; } +end; + +procedure TfrmProductOrderAnPai.N1Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ10.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ10.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderAnPai.N2Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderAnPai.ToolButton1Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmOrderInPut:=TfrmOrderInPut.Create(Application); + with frmOrderInPut do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + ToolBar2.Visible:=False; + TBSave.Visible:=False; + Tv1.OptionsSelection.CellSelect:=False; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut.Free; + end; +end; + +procedure TfrmProductOrderAnPai.ToolButton2Click(Sender: TObject); +var + FLBName:String; +begin + {if CDS_Sub.IsEmpty=False then + begin + FLBName:=Trim(CDS_Sub.fieldbyname('LBName').AsString); + end; } + if CDS_Sub.IsEmpty then + begin + with CDS_Sub do + begin + Append; + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + FieldByName('ADefDate1').Value:=DateTimePicker1.Date; + FieldByName('AOrddefstr4').Value:=Trim(BtnEditA1.Text); + FieldByName('AOrddefstr5').Value:=Trim(BtnEditA1.TxtCode); + FieldByName('AOrddefstr2').Value:=Trim(Order_Main.fieldbyname('TPUnit').AsString); + FieldByName('AOrddefstr3').Value:=Trim(BtnEditA2.Text); + FieldByName('AOrddefstr6').Value:=Trim(BtnEditA4.Text); + Post; + end; + end else + begin + ToolBar1.SetFocus; + //CopyAddRowCDS(CDS_Sub); + CopyAddRow(TV2,CDS_Sub); + with CDS_Sub do + begin + Edit; + FieldByName('APID').Value:=null; + FieldByName('GangNo').Value:=null; + FieldByName('AOrddefstr1').Value:=null; + FieldByName('AOrdQty2').Value:=null; + FieldByName('AOrdQty1').Value:=null; + FieldByName('GangNo').Value:=null; + //Post; + end; + end; + + +end; + +procedure TfrmProductOrderAnPai.ToolButton3Click(Sender: TObject); +begin + if CDS_Sub.IsEmpty then Exit; + if Trim(CDS_Sub.fieldbyname('APID').AsString)<>'' then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from WFB_MJJY where APID='''+Trim(CDS_Sub.fieldbyname('APID').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + Application.MessageBox('Ѳݲɾ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + try + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Sub_AnPai where APID='''+Trim(CDS_Sub.fieldbyname('APID').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Contract_Cloth_LL Set HCPS=(select isnull(sum(AOrdQty2),0) from JYOrder_Sub_AnPai A where A.LLID=Contract_Cloth_LL.LLID )'); + sql.Add(',HCMQty=(select isnull(sum(HCMQty),0) from JYOrder_Sub_AnPai A where A.LLID=Contract_Cloth_LL.LLID )'); + sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update Contract_Cloth_LL Set HCQty=HCMQty*1.00/TPMQty*TPQty '); + sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + if DELYFData()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('Ӧʧ!','ʾ',0); + end; + ADOQueryCmd.Connection.CommitTrans; + except + ADOQueryCmd.Connection.RollbackTrans; + end; + end; + with CDS_Sub do + begin + Delete; + end; + if CDS_Sub.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate JYOrder_Sub Set SOrdFlag20=0 where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; + {with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('UPdate Contract_Cloth_LL Set HCPS=0,HCQty=0,HCMQty=0 where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryHC do + begin + Close; + sql.Clear; + sql.Add('select distinct(AOrddefstr5) AOrddefstr5 from JYOrder_Sub_AnPai where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOQueryHC.IsEmpty then + UpdateHC(Trim(ADOQueryHC.fieldbyname('AOrddefstr5').AsString)) + else + begin + with ADOQueryHC do + begin + First; + while not Eof do + begin + UpdateHC(Trim(ADOQueryHC.fieldbyname('AOrddefstr5').AsString)); + Next; + end; + end; + end; } + +end; + +function TfrmProductOrderAnPai.SaveData():Boolean; +var + maxno,CRID,OrdMainId,YFID,YFIDMaxNo:String; +begin + try + ADOQueryCmd.Connection.BeginTrans; + ///ӱ + with CDS_Sub do + begin + First; + while not Eof do + begin + if Trim(CDS_Sub.fieldbyname('APId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,maxno,'','JYOrder_Sub_AnPai',3,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_Sub.fieldbyname('APId').AsString); + end; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrder_Sub_AnPai where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(CDS_Sub.fieldbyname('APId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + FieldByName('ApId').Value:=Trim(maxno); + FieldByName('ADefDate1').Value:=CDS_Sub.fieldbyname('ADefDate1').Value; + FieldByName('AOrddefstr4').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('AOrddefstr5').Value:=Trim(Order_Main.fieldbyname('FirstNo').AsString); + FieldByName('GangNo').Value:=CDS_Sub.fieldbyname('GangNo').Value; + FieldByName('AOrddefstr1').Value:=CDS_Sub.fieldbyname('AOrddefstr1').Value; + FieldByName('AOrddefstr2').Value:=CDS_Sub.fieldbyname('AOrddefstr2').Value; + FieldByName('LBName').Value:=CDS_Sub.fieldbyname('LBName').Value; + if Trim(CDS_Sub.fieldbyname('ZSXS').AsString)<>'' then + FieldByName('ZSXS').Value:=CDS_Sub.fieldbyname('ZSXS').Value + else + FieldByName('ZSXS').Value:=1; + {if Trim(CDS_Sub.fieldbyname('JGPrice').AsString)<>'' then + FieldByName('JGPrice').Value:=CDS_Sub.fieldbyname('JGPrice').Value + else + FieldByName('JGPrice').Value:=0; } + FieldByName('AOrdQty2').Value:=CDS_Sub.fieldbyname('AOrdQty2').Value; + FieldByName('AOrdQty1').Value:=CDS_Sub.fieldbyname('AOrdQty1').Value; + FieldByName('AOrddefstr3').Value:=CDS_Sub.fieldbyname('AOrddefstr3').Value; + FieldByName('AOrdDefNote1').Value:=CDS_Sub.fieldbyname('AOrdDefNote1').Value; + FieldByName('LLID').Value:=Order_Main.fieldbyname('LLID').Value; + FieldByName('AOrddefstr6').Value:=CDS_Sub.fieldbyname('AOrddefstr6').Value; + FieldByName('AOrdDefNote1').Value:=CDS_Sub.fieldbyname('AOrdDefNote1').Value; + FieldByName('APType').Value:=CDS_Sub.fieldbyname('APType').Value; + if Trim(CDS_Sub.fieldbyname('JYMF').AsString)<>'' then + FieldByName('JYMF').Value:=CDS_Sub.fieldbyname('JYMF').Value; + if Trim(CDS_Sub.fieldbyname('JYKZ').AsString)<>'' then + FieldByName('JYKZ').Value:=CDS_Sub.fieldbyname('JYKZ').Value; + if CDS_Sub.fieldbyname('AOrdFlag1').AsBoolean=True then + FieldByName('AOrdFlag1').Value:=1 + else + FieldByName('AOrdFlag1').Value:=0; + if Trim(CDS_Sub.fieldbyname('APId').AsString)='' then + FieldByName('Filler').Value:=Trim(DName) + else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp); + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from Contract_Cloth_LL where LLId='''+Trim(Order_Main.fieldbyname('LLId').AsString)+''''); + Open; + end; + if Trim(ADOQueryTemp.fieldbyname('TPUnit').AsString)=Trim(CDS_Sub.fieldbyname('AOrddefstr2').AsString) then + begin + FieldByName('HCYZQty').Value:=CDS_Sub.fieldbyname('AOrdQty1').Value; + end else + begin + if Trim(CDS_Sub.fieldbyname('AOrddefstr2').AsString)='M' then + begin + FieldByName('HCYZQty').Value:=(CDS_Sub.fieldbyname('AOrdQty1').Value*1.00/ADOQueryTemp.fieldbyname('TPMQty').Value) + *ADOQueryTemp.fieldbyname('TPQty').Value ; + end; + end; + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate JYOrder_Sub Set SOrdFlag20=1 where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + CDS_Sub.Edit; + CDS_Sub.FieldByName('APId').Value:=Trim(maxno); + CDS_Sub.FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + { with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add(' UPdate WFB_MJJY Set MJTypeOther='''+Trim(CDS_Sub.fieldbyname('AOrddefstr3').AsString)+''''); + SQL.Add(' where APId='''+Trim(maxno)+''''); + sql.Add(' UPdate CK_BanCP_KC Set KCQtyUnit='''+Trim(CDS_Sub.fieldbyname('AOrddefstr3').AsString)+''''); + SQL.Add(' where MJId in (select MJID from WFB_MJJY where APID='''+Trim(maxno)+''')'); + sql.Add(' UPdate CK_BanCP_CR Set QtyUnit='''+Trim(CDS_Sub.fieldbyname('AOrddefstr3').AsString)+''''); + SQL.Add(' where MJId in (select MJID from WFB_MJJY where APID='''+Trim(maxno)+''')'); + ExecSQL; + end; } + //OrdMainId:=Trim(Order_Main.fieldbyname('MainId').AsString); + with ADOQuery1 do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + Open; + end; + if ADOQuery1.IsEmpty=False then + begin + CRID:=ADOQuery1.fieldbyname('CRID').AsString; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CRID set CRID=CRID+1'); + sql.Add('select * from YF_Money_CRID '); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('ZdyStr1').Value:='Ӧ'; + Post; + end; + end; + if CDS_Sub.FieldByName('AOrdFlag1').AsBoolean<>True then + begin + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + sql.Add(' and YFTypeId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); + if Trim(Order_Main.fieldbyname('DHIDHelp').AsString)='' then + sql.Add(' and YFName=''Ⱦ'' ') + else + sql.Add(' and YFName=''ӹ'' '); + + Open; + end; + YFID:=Trim(ADOQuery1.fieldbyname('YFID').AsString); + // if Trim(YFID)='' then + if Trim(YFID)='' then + begin + if GetLSNo(ADOQueryCmd,YFIDMaxNo,'RJ','YF_Money_CR',3,1)=False then + begin + Application.MessageBox('ȡȾӦʧ!','ʾ',0); + Exit; + end; + end else + begin + YFIDMaxNo:=YFID; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where YFID='''+Trim(YFID)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(YFID)='' then + begin + Append; + FieldByName('Filler').Value:=Trim(DName); + end + else + begin + Edit; + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp); + end; + FieldByName('YFID').Value:=Trim(YFIDMaxNo); + FieldByName('YFTypeId').Value:=Trim(CDS_Sub.fieldbyname('APId').AsString); + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('CRType').Value:='ӦǼ'; + FieldByName('CRFlag').Value:='Ӧ'; + FieldByName('QtyFlag').Value:=1; + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('CRTime').Value:=CDS_Sub.fieldbyname('ADefDate1').Value; + if Trim(CDS_Sub.fieldbyname('AOrdQty1').AsString)<>'' then + FieldByName('Qty').Value:=CDS_Sub.fieldbyname('AOrdQty1').Value + else + FieldByName('Qty').Value:=0; + FieldByName('YFType').Value:='Զ'; + FieldByName('HuiLv').Value:=1; + FieldByName('BZType').Value:=''; + FieldByName('ComTaiTou').Value:=Trim(Order_Main.fieldbyname('OrdDefStr2').AsString); + FieldByName('QtyUnit').Value:=Trim(Order_Main.fieldbyname('TPUnit').AsString); + if Trim(Order_Main.fieldbyname('DHIDHelp').AsString)='' then + FieldByName('YFName').Value:='Ⱦ' + else + FieldByName('YFName').Value:='ӹ'; + FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + Post; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CR Set Money=Price*Qty,BBMoney=Price*Qty'); + sql.Add(' where YFID='''+Trim(YFIDMaxNo)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + {if YFData()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('²Ӧʧ!','ʾ',0); + Exit; + end;} + Next; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Contract_Cloth_LL Set HCPS=(select isnull(sum(AOrdQty2),0) from JYOrder_Sub_AnPai A where A.LLID=Contract_Cloth_LL.LLID )'); + sql.Add(',HCMQty=(select isnull(sum(HCMQty),0) from JYOrder_Sub_AnPai A where A.LLID=Contract_Cloth_LL.LLID )'); + sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + if (Trim(CDS_Sub.fieldbyname('AOrddefstr2').AsString)=Trim(Order_Main.fieldbyname('TPUnit').AsString)) then + sql.Add('Update Contract_Cloth_LL Set HCQty=(select isnull(Sum(AOrdQty1),0) from JYOrder_Sub_AnPai A where A.LLID=Contract_Cloth_LL.LLID) ') + else + sql.Add('Update Contract_Cloth_LL Set HCQty=HCMQty*1.00/TPMQty*TPQty '); + sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + MovePanel2.Visible:=False; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmProductOrderAnPai.AOrdDefNote12DblClick(Sender: TObject); +var + fsj:string; + FWZ:Integer; +begin + fsj:=Trim(TEdit(Sender).Hint); + FWZ:=Pos('/',fsj); + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Copy(fsj,1,FWZ-1); + flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); + if ShowModal=1 then + begin + TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmProductOrderAnPai.AOrdDefNote7BtnDnClick(Sender: TObject); +begin + TBtnEditC(Sender).Text:=''; + TBtnEditC(Sender).TxtCode:=''; +end; + +procedure TfrmProductOrderAnPai.cxTabControl1Change(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmProductOrderAnPai.ToolButton5Click(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WFBCD'; + flagname:='õ'; + fnote:=True; + V1Note.Caption:='Ӣ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmProductOrderAnPai.ToolButton6Click(Sender: TObject); +var + fPrintFile,JYNote:string; +begin + if CDS_Sub.IsEmpty then Exit; + if CDS_Sub.Locate('SSel',True,[])=False then + begin + Application.MessageBox('δѡҪӡ!','ʾ',0); + Exit; + end; + CDS_Sub.DisableControls; + with CDS_Sub do + begin + First; + while not Eof do + begin + if CDS_Sub.FieldByName('SSel').AsBoolean=True then + begin + if Trim(CDS_Sub.fieldbyname('APID').AsString) ='' then + begin + CDS_Sub.EnableControls; + Application.MessageBox('δ治ܴӡ!','ʾ',0); + Exit; + end; + + end; + Next; + end; + end; + CDS_Sub.EnableControls; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾǩ.rmf' ; + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + //RM1.LoadFromFile(fPrintFile); + //RM1.ShowReport; + //RM1.PrintReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾǩ.rmf'),'ʾ',0); + Exit; + end; + CDS_Sub.DisableControls; + with CDS_Sub do + begin + First; + while not Eof do + begin + if CDS_Sub.FieldByName('SSel').AsBoolean=True then + begin + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select A.*,OrderNoM=B.OrderNo ,B.MPRTCodeName,C.PRTColor,B.MPRTBZNote,B.MPRTKaiJian, '); + sql.Add('B.MPRTYaoFeng,B.MPRTTangJin,B.MPRTJiBenNote,B.MPRTTeBieNote,C.SOrddefstr1'); + sql.Add(' from JYOrder_Sub_AnPai A inner join JYOrder_Main B on A.MainId=B.MainId'); + sql.Add('inner join JYOrder_Sub C on A.SubId=C.SubId where A.APID='''+Trim(CDS_Sub.fieldbyname('APID').AsString)+''''); + Open; + end; + JYNote:='װҪ:'+Trim(ADOQueryPrint.fieldbyname('MPRTBZNote').AsString)+#13 + +'͹ҹ:'+Trim(ADOQueryPrint.fieldbyname('MPRTYaoFeng').AsString)+#13 + +'̽:'+Trim(ADOQueryPrint.fieldbyname('MPRTTangJin').AsString)+#13 + +'Ҫ:'+Trim(ADOQueryPrint.fieldbyname('MPRTJiBenNote').AsString)+#13 + +'رʾ:'+Trim(ADOQueryPrint.fieldbyname('MPRTTeBieNote').AsString); + RMVariables['JYNote']:=Trim(JYNote); + RM1.LoadFromFile(fPrintFile); + RM1.PrintReport; + end; + Next; + end; + end; + CDS_Sub.EnableControls; + + + +end; + +procedure TfrmProductOrderAnPai.OrderNoMChange(Sender: TObject); +var + mvalue:String; +begin + mvalue:=Trim(OrderNoM.Text); + if Length(Trim(mvalue))<3 then + begin + cxGrid4.Visible:=False; + Exit; + end; + mvalue:='%'+Trim(mvalue)+'%'; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select OrderNo,MPRTCodeName,A.MainId from JYOrder_Main A'); + sql.Add(' where A.orderno like :orderno '); + sql.Add(' and A.MainId in(select MainId from JYOrder_Sub B where B.Mainid=A.MainId and B.subId in(select OrdSubId from Contract_Cloth_LL))'); + Parameters.ParamByName('orderno').Value:=mvalue; + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_OrderNo); + SInitCDSData20(ADOQueryTemp,CDS_OrderNo); + if CDS_OrderNo.IsEmpty then cxGrid4.Visible:=False else cxGrid4.Visible:=True; +end; + +procedure TfrmProductOrderAnPai.Tv4DblClick(Sender: TObject); +begin + cxGrid4.Visible:=False; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add(' select isnull(PBFactory10,PBFactory20) PBFactory,AA.* from('); + sql.Add('select A.*,B.PRTColor,B.SubId,B.PRTOrderQty,B.OrderUnit,B.SLbName,C.FirstName,C.FirstNo,B.SOrddefstr1,B.SOrddefstr4, '); + sql.Add('C.TPPS,C.TPQty,C.LLID,C.HCPS,C.HCQty,C.HXUnit,C.DHIDHelp,C.DHID,C.TPUnit,'); + sql.Add('HXPS=(select Sum(HXPS) from Contract_Cloth_BefChkHX HX where HX.LLID=C.LLID),'); + sql.Add('HXQty=(select Sum(HXQty) from Contract_Cloth_BefChkHX HX where HX.LLID=C.LLID),'); + sql.Add('PBFactory10=(select Top 1 AA.factoryNoName from Contract_Main AA inner join Contract_Cloth_DH BB on AA.MainId=BB.MainId'); + sql.Add(' where BB.DHID=C.DHID)'); + sql.Add(',PBFactory20=(select Top 1 FirstName from ContractSX_Cloth_DH SD where SD.DHID=C.SXDHID)'); + sql.Add('from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.MainId '); + sql.Add(' inner join Contract_Cloth_LL C on C.OrdSubId=B.SubId'); + sql.Add('where A.MainId='''+Trim(CDS_OrderNo.fieldbyname('MainId').AsString)+''''); + // sql.Add(' and C.JXJGFlag=0'); +// sql.Add(' and exists(select * from Contract_Cloth_LLMX LM where LM.OrdSubId=B.SubId and LM.OrdSubId=C.OrdSubId )'); + sql.Add(' and exists( select * from Contract_Cloth_LLMX LLM where LLM.DHID=isnull(C.DHIdHelp,C.DHID)) )AA'); + //ShowMessage(SQL.Text); + Open; + end; + SCreateCDS20(ADOQueryTemp,Order_Main); + SInitCDSData20(ADOQueryTemp,Order_Main); +end; + +procedure TfrmProductOrderAnPai.Tv1FocusedRecordChanged( + Sender: TcxCustomGridTableView; APrevFocusedRecord, + AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); +begin + InitGrid(); + BtnEditA1.TxtCode:=Trim(Order_Main.fieldbyname('FirstNo').AsString); + BtnEditA1.Text:=Trim(Order_Main.fieldbyname('FirstName').AsString); + BtnEditA4.Text:=Trim(Order_Main.fieldbyname('PBFactory').AsString); +end; + +procedure TfrmProductOrderAnPai.V2Column1PropertiesEditValueChanged( + Sender: TObject); +//var + //mvalue,FFieldName,mvalue10,mvalue20:String; + //FHCPS,FHCQty,FHCMQty:Double; +begin + {if Trim(CDS_Sub.fieldbyname('AOrddefstr4').AsString)='' then + begin + Application.MessageBox('ȾΪ!','ʾ',0); + Exit; + end; + with Self.ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL A '); + sql.Add(' where A.FirstNo='''+Trim(CDS_Sub.fieldbyname('AOrddefstr5').AsString)+''''); + sql.Add(' and A.OrdSubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+''''); + Open; + end; + if Self.ADOQueryTemp.IsEmpty then + begin + Application.MessageBox('ȾûӦ!','ʾ',0); + Exit; + end; + mvalue:=TcxTextEdit(Sender).EditingText; + FFieldName:=Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); + if FFieldName='AOrdQty1' then + begin + if Trim(CDS_Sub.fieldbyname('AOrddefstr2').AsString)='' then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; + end; + if Trim(mvalue)='' then + begin + if FFieldName='ZSXS' then + mvalue:='1' + else + if FFieldName='AOrddefstr2' then + mvalue:='' + else + mvalue:='0'; + end; + + with CDS_Sub do + begin + Edit; + FieldByName(FFieldName).Value:=Trim(mvalue); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate JYOrder_Sub_AnPai '); + if Trim(FFieldName)='AOrddefstr2' then + begin + sql.Add(' Set '+FFieldName+'='''+Trim(mvalue)+''''); + end else + begin + sql.Add(' Set '+FFieldName+'='+Trim(mvalue)); + end; + SQL.Add(',Editer='''+Trim(DName)+''''); + SQL.Add(',Edittime=getdate() '); + SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); + ExecSQL; + end; + if Trim(FFieldName)='AOrdQty2' then + begin + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select isnull(Sum(AOrdQty2),0) HCPS,isnull(Sum(AOrdQty1),0) HCQty from JYOrder_Sub_AnPai '); + sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and AOrddefstr5='''+Trim(CDS_Sub.fieldbyname('AOrddefstr5').AsString)+''''); + Open; + end; + FHCPS:=ADOQueryTemp.FieldByName('HCPS').Value; + if FHCPS>0 then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and FirstNo='''+Trim(CDS_Sub.fieldbyname('AOrddefstr5').AsString)+''''); + SQL.Add(' order by LLIdx'); + Open; + end; + with ADOQueryTemp do + begin + First; + while (not eof) and (FHCPS>0) do + begin + if FHCPS>=FieldByName('TPPS').Value then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCPS=TPPS '); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCPS:=FHCPS-FieldByName('TPPS').Value; + end else + begin + + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCPS='+FloatToStr(FHCPS)); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCPS:=0; + end; + Next; + end; + end; + end; + end; + if Trim(FFieldName)='AOrdQty1' then + begin + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select isnull(Sum(AOrdQty2),0) HCPS,isnull(Sum(AOrdQty1),0) HCQty from JYOrder_Sub_AnPai '); + sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and AOrddefstr5='''+Trim(CDS_Sub.fieldbyname('AOrddefstr5').AsString)+''''); + Open; + end; + FHCQty:=ADOQueryTemp.FieldByName('HCQty').Value; + if FHCQty>0 then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and FirstNo='''+Trim(CDS_Sub.fieldbyname('AOrddefstr5').AsString)+''''); + SQL.Add(' order by LLIdx'); + Open; + end; + with ADOQueryTemp do + begin + First; + while (not eof) and (FHCQty>0) do + begin + if FHCQty>=FieldByName('BCPQty').Value then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCQty=BCPQty '); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCQty:=FHCQty-FieldByName('BCPQty').Value; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCQty='+FloatToStr(FHCQty)); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCQty:=0; + end; + Next; + end; + end; + end; + end;} +end; +procedure TfrmProductOrderAnPai.UpdateHC(FFirstNo:String); +var + FHCPS,FHCYZQty,FHCMQty:Double; +begin + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select isnull(Sum(AOrdQty2),0) HCPS from JYOrder_Sub_AnPai '); + sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and AOrddefstr5='''+Trim(FFirstNo)+''''); + Open; + end; + FHCPS:=ADOQueryTemp.FieldByName('HCPS').Value; + if FHCPS=0 then + begin + + end; + if FHCPS>0 then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and FirstNo='''+Trim(FFirstNo)+''''); + SQL.Add(' order by LLIdx'); + Open; + end; + with ADOQueryTemp do + begin + First; + while (not eof) and (FHCPS>0) do + begin + if FHCPS>=FieldByName('TPPS').Value then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCPS=TPPS '); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCPS:=FHCPS-FieldByName('TPPS').Value; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCPS='+FloatToStr(FHCPS)); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCPS:=0; + end; + Next; + end; + end; + end; + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select isnull(Sum(HCYZQty),0) HCYZQty,isnull(Sum(HCMQty),0) HCMQty from JYOrder_Sub_AnPai '); + sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and AOrddefstr5='''+Trim(FFirstNo)+''''); + Open; + end; + FHCYZQty:=ADOQueryTemp.FieldByName('HCYZQty').Value; + FHCMQty:=ADOQueryTemp.FieldByName('HCMQty').Value; + if FHCYZQty>=0 then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and FirstNo='''+Trim(FFirstNo)+''''); + SQL.Add(' order by LLIdx'); + Open; + end; + with ADOQueryTemp do + begin + First; + while (not eof) and (FHCYZQty>0) do + begin + if FHCYZQty>=FieldByName('BCPQty').Value then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCQty=BCPQty '); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCYZQty:=FHCYZQty-FieldByName('BCPQty').Value; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCQty='+FloatToStr(FHCYZQty)); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCYZQty:=0; + end; + Next; + end; + end; + with ADOQueryTemp do + begin + First; + while (not eof) and (FHCMQty>0) do + begin + if FHCMQty>=FieldByName('BCPMQty').Value then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCMQty=BCPMQty '); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCMQty:=FHCMQty-FieldByName('BCPMQty').Value; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCMQty='+FloatToStr(FHCMQty)); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCMQty:=0; + end; + Next; + end; + end; + end; +end; + +procedure TfrmProductOrderAnPai.cxGridDBColumn1PropertiesEditValueChanged( + Sender: TObject); +//var + //mvalue,FFieldName:String; +begin + {mvalue:=TcxTextEdit(Sender).EditingText; + FFieldName:=Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); + with CDS_Sub do + begin + Edit; + FieldByName(FFieldName).Value:=Trim(mvalue); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate JYOrder_Sub_AnPai '); + if Trim(mvalue)<>'' then + begin + sql.Add(' Set '+FFieldName+'='''+Trim(mvalue)+''''); + end else + begin + sql.Add(' Set '+FFieldName+'=NULL'); + end; + SQL.Add(',Editer='''+Trim(DName)+''''); + SQL.Add(',Edittime=getdate() '); + SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); + ExecSQL; + end; } +end; + + +procedure TfrmProductOrderAnPai.V2Column4PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrderUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.CDS_Sub.Edit; + Self.CDS_Sub.FieldByName('AOrddefstr2').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate JYOrder_Sub_AnPai '); + sql.Add(' Set AOrddefstr2='''+Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''''); + SQL.Add(',Editer='''+Trim(DName)+''''); + SQL.Add(',Edittime=getdate() '); + SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); + sql.Add(' UPdate WFB_MJJY Set MJStr1='''+Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''''); + SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); + ExecSQL; + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmProductOrderAnPai.V2Column5PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrderUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.CDS_Sub.Edit; + Self.CDS_Sub.FieldByName('AOrddefstr3').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmProductOrderAnPai.V2Column6PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +var + mvalue:string; +begin + mvalue:=Trim(CDS_Sub.FieldByName('AOrdDefNote1').AsString); + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:='JYYQ'; + flagname:='Ҫ'; + if ShowModal=1 then + begin + Self.CDS_Sub.Edit; + Self.CDS_Sub.FieldByName('AOrdDefNote1').Value:=mvalue+frmZDYHelpSel.ReturnStr; + {with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate JYOrder_Sub_AnPai '); + sql.Add(' Set AOrdDefNote1='''+Trim(mvalue+frmZDYHelpSel.ReturnStr)+''''); + SQL.Add(',Editer='''+Trim(DName)+''''); + SQL.Add(',Edittime=getdate() '); + SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); + ExecSQL; + end; } + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmProductOrderAnPai.V2Column8PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + //flag:='RKPlace'; + flag:='FactoryNo1Name'; + flagname:='Ⱦ'; + MainType:='Ⱦ'; + if ShowModal=1 then + begin + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL A '); + sql.Add(' where A.FirstNo='''+Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYNo').AsString)+''''); + sql.Add(' and A.OrdSubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + Application.MessageBox('ȾûӦ!','ʾ',0); + + end else + begin + with CDS_Sub do + begin + Edit; + FieldByName('AOrddefstr4').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + FieldByName('AOrddefstr5').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + {with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate JYOrder_Sub_AnPai '); + sql.Add(' Set AOrddefstr5='''+Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString)+''''); + sql.Add(' ,AOrddefstr4='''+Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''''); + SQL.Add(',Editer='''+Trim(DName)+''''); + SQL.Add(',Edittime=getdate() '); + SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); + ExecSQL; + end;} + end; + + end; + end; + finally + //frmZDYHelp.Free; + end; +end; + +procedure TfrmProductOrderAnPai.ToolButton4Click(Sender: TObject); +var + FDW:String; +begin + if CDS_Sub.Locate('ADefDate1',null,[])=True then + begin + Application.MessageBox('زʱ䲻Ϊ!','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('AOrddefstr4',null,[])=True then + begin + Application.MessageBox('ȾΪ!','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('AOrddefstr4','',[])=True then + begin + Application.MessageBox('ȾΪ!','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('GangNo',null,[])=True then + begin + Application.MessageBox('׺ŲΪ!','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('AOrddefstr2',null,[])=True then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('AOrddefstr2','',[])=True then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; + {if CDS_Sub.Locate('AOrddefstr2','Kg',[])=True then + begin + if Trim(CDS_Sub.FieldByName('ZSXS').AsString)='' then + begin + Application.MessageBox('ϵΪ!','ʾ',0); + Exit; + end; + end;} + if CDS_Sub.Locate('AOrdQty2',null,[])=True then + begin + Application.MessageBox('ƥΪ!','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('AOrdQty1',null,[])=True then + begin + Application.MessageBox('Ϊ!','ʾ',0); + Exit; + end; + {if CDS_Sub.Locate('LBName','',[])=True then + begin + Application.MessageBox('ǩƲΪ!','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('LBName','',[])=True then + begin + Application.MessageBox('ǩƲΪ!','ʾ',0); + Exit; + end;} + { if CDS_Sub.Locate('AOrdQty1','',[])=True then + begin + Application.MessageBox('Ϊ!','ʾ',0); + Exit; + end;} + FDW:=Trim(CDS_Sub.fieldbyname('AOrddefstr2').AsString); + if CDS_Sub.Locate('AOrddefstr2',FDW,[])=False then + begin + Application.MessageBox('λһ!','ʾ',0); + Exit; + end; + {if CDS_Sub.Locate('AOrddefstr3',null,[]) then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('AOrddefstr3','',[]) then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; + FDW:=Trim(CDS_Sub.fieldbyname('AOrddefstr3').AsString); + if CDS_Sub.Locate('AOrddefstr3',FDW,[])=False then + begin + Application.MessageBox('λһ!','ʾ',0); + Exit; + end; } + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from Contract_Cloth_LL where OrdSubId='''+Trim(Order_Main.fieldbyname('Subid').AsString)+''''); + Open; + end; + if Trim(ADOQueryTemp.fieldbyname('TPUnit').AsString)='M' then + begin + if CDS_Sub.Locate('AOrddefstr2','Kg',[]) then + begin + Application.MessageBox('λΪM,زλΪKg!','ʾ',0); + Exit; + end; + end; + OrderNoM.SetFocus; + MovePanel2.Visible:=True; + MovePanel2.Refresh; + if SaveData() then + begin + MovePanel2.Visible:=False; + Application.MessageBox('ɹ!','ʾ',0); + Exit; + end; + MovePanel2.Visible:=False; +end; + +procedure TfrmProductOrderAnPai.BtnEditA1BtnClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='FactoryNo1Name'; + flagname:='Ⱦ'; + MainType:='Ⱦ'; + if ShowModal=1 then + begin + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL A '); + sql.Add(' where A.FirstNo='''+Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYNo').AsString)+''''); + sql.Add(' and A.OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + Application.MessageBox('ȾûӦ!','ʾ',0); + + end else + begin + BtnEditA1.Text:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + BtnEditA1.TxtCode:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + + end; + end; + finally + //frmZDYHelp.Free; + end; +end; +function TfrmProductOrderAnPai.YFData():Boolean; +var + CRID,OrdMainId,YFID,Price,LLID:String; +begin + Result:=False; + {with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete YF_Money_CR where YFTypeID='''+Trim(CDS_Sub.fieldbyname('APID').AsString)+''''); + ExecSQL; + end;} + OrdMainId:=Trim(Order_Main.fieldbyname('MainId').AsString); + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CRID set CRID=CRID+1'); + sql.Add('select * from YF_Money_CRID '); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('ZdyStr1').Value:='Ӧ'; + Post; + end; + end; + if CDS_Sub.FieldByName('AOrdFlag1').AsBoolean=False then + begin + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + sql.Add(' and YFTypeId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); + if Trim(Order_Main.fieldbyname('DHIDHelp').AsString)='' then + sql.Add(' and YFName=''Ⱦ'' ') + else + sql.Add(' and YFName=''ӹ'' '); + + Open; + end; + + if ADOQuery1.RecordCount<1 then + begin + + if GetLSNo(ADOQueryCmd,YFID,'RJ','YF_Money_CR',3,1)=False then + begin + Application.MessageBox('ȡȾӦʧ!','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('YFID').Value:=Trim(YFID); + FieldByName('YFTypeId').Value:=Trim(CDS_Sub.fieldbyname('APId').AsString); + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRType').Value:='ӦǼ'; + FieldByName('CRFlag').Value:='Ӧ'; + FieldByName('QtyFlag').Value:=1; + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('CRTime').Value:=CDS_Sub.fieldbyname('ADefDate1').Value; + FieldByName('Qty').Value:=CDS_Sub.fieldbyname('AOrdQty1').Value; + FieldByName('YFType').Value:='Զ'; + {if Trim(CDS_Sub.fieldbyname('JGPrice').AsString)<>'' then + FieldByName('Price').Value:=CDS_Sub.fieldbyname('JGPrice').Value + else + FieldByName('Price').Value:=0;} + FieldByName('HuiLv').Value:=1; + FieldByName('BZType').Value:=''; + FieldByName('ComTaiTou').Value:=Trim(Order_Main.fieldbyname('OrdDefStr2').AsString); + FieldByName('QtyUnit').Value:=Trim(Order_Main.fieldbyname('TPUnit').AsString); + if Trim(Order_Main.fieldbyname('DHIDHelp').AsString)='' then + FieldByName('YFName').Value:='Ⱦ' + else + FieldByName('YFName').Value:='ӹ'; + FieldByName('MainId').Value:=Trim(OrdMainId); + Post; + end; + end else + begin + YFID:=Trim(ADOQuery1.fieldbyname('YFID').AsString); + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate YF_Money_CR Set '); + sql.Add('Qty='+CDS_Sub.fieldbyname('AOrdQty1').AsString); + SQL.Add(',CRTime='''+Trim(CDS_Sub.fieldbyname('ADefDate1').AsString)+''''); + sql.Add(' where YFID='''+Trim(YFID)+''''); + ExecSQL; + end; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CR Set Money=Price*Qty,BBMoney=Price*Qty'); + sql.Add(' where YFID='''+Trim(YFID)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + Result:=True; +end; +function TfrmProductOrderAnPai.DELYFData():Boolean; +var + CRID,OrdMainId,YFID,Price,LLID:String; +begin + Result:=False; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete YF_Money_CR where YFTypeID='''+Trim(CDS_Sub.fieldbyname('APID').AsString)+''''); + ExecSQL; + end; + OrdMainId:=Trim(Order_Main.fieldbyname('MainId').AsString); + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CRID set CRID=CRID+1'); + sql.Add('select * from YF_Money_CRID '); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('ZdyStr1').Value:='Ӧ'; + Post; + end; + end; + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select Case when HXQty>0 then HCQty-HXQty else HCQty end as HCQty'); + SQL.Add(',Case when HXPS>0 then HCPS-HXPS else HCPS end as HCPS'); + SQL.Add(' from Contract_Cloth_LL where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + Open; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + Result:=True; +end; + +procedure TfrmProductOrderAnPai.BtnEditA2BtnClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrderUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + BtnEditA2.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmProductOrderAnPai.ToolButton8Click(Sender: TObject); +begin + CDS_Sub.DisableControls; + with CDS_Sub do + begin + First; + while not Eof do + begin + Edit; + FieldByName('SSel').Value:=True; + Post; + Next; + end; + end; + CDS_Sub.EnableControls; +end; + +procedure TfrmProductOrderAnPai.ToolButton7Click(Sender: TObject); +begin + CDS_Sub.DisableControls; + with CDS_Sub do + begin + First; + while not Eof do + begin + Edit; + FieldByName('SSel').Value:=False; + Post; + Next; + end; + end; + CDS_Sub.EnableControls; +end; + +procedure TfrmProductOrderAnPai.BtnEditA4BtnClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='FactoryNo1Name'; + flagname:=''; + MainType:=''; + if ShowModal=1 then + begin + BtnEditA4.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmProductOrderAnPai.V2Column11PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='FactoryNo1Name'; + flagname:=''; + MainType:=''; + if ShowModal=1 then + begin + begin + with CDS_Sub do + begin + Edit; + FieldByName('AOrddefstr6').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + + end; + end; + finally + //frmZDYHelp.Free; + end; +end; + +procedure TfrmProductOrderAnPai.ToolButton9Click(Sender: TObject); +begin + try + frmBefChkHX:=TfrmBefChkHX.Create(Application); + with frmBefChkHX do + begin + orderno.Caption:=Trim(Self.Order_Main.fieldbyname('OrderNo').AsString); + PRTColor.Caption:=Trim(Self.Order_Main.fieldbyname('PRTColor').AsString); + FirstName.Caption:=Trim(Self.Order_Main.fieldbyname('FirstName').AsString); + PBFactory.Caption:=Trim(Self.Order_Main.fieldbyname('PBFactory').AsString); + FLLID:=Trim(Self.Order_Main.fieldbyname('LLID').AsString); + HXUnit:=Trim(Self.Order_Main.fieldbyname('TPUnit').AsString); + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_BefChkHX where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQuery1,ClientDataSet1); + SInitCDSData20(ADOQuery1,ClientDataSet1); + if ShowModal=1 then + begin + + end; + end; + finally + frmBefChkHX.Free; + end; +end; + +procedure TfrmProductOrderAnPai.ToolButton10Click(Sender: TObject); +begin + if Order_Main.IsEmpty=False then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select A.*,B.*,C.FirstName,C.FirstNo,C.TPPS,C.TPQty,C.LLID,C.HXPS,C.HXQty,C.HXUnit,C.HCPS,C.HCQty,C.TPUnit,B.SOrddefstr1,B.SOrddefstr4 '); + sql.Add(',HXPS=(select Sum(HXPS) from Contract_Cloth_BefChkHX HX where HX.LLID=C.LLID),'); + sql.Add('HXQty=(select Sum(HXQty) from Contract_Cloth_BefChkHX HX where HX.LLID=C.LLID),'); + sql.Add('PBFactory=(select Top 1 AA.factoryNoName from Contract_Main AA inner join Contract_Cloth_DH BB on AA.MainId=BB.MainId'); + sql.Add(' where BB.DHID=C.DHID)'); + //sql.Add(',HCQty=(select sum(AOrdQty1) from JYOrder_Sub_AnPai AA where AA.SubId=B.SubId)'); + //sql.Add(',HCPS=(select sum(AOrdQty2) from JYOrder_Sub_AnPai AA where AA.SubId=B.SubId)'); + //sql.Add(',HCUnit=(select Top 1 AOrddefstr2 from JYOrder_Sub_AnPai AA where AA.SubId=B.SubId)'); + sql.Add('from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.MainId '); + sql.Add(' inner join Contract_Cloth_LL C on C.OrdSubId=B.SubId'); + sql.Add('where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add(' and C.JXJGFlag=0'); + Open; + end; + SCreateCDS20(ADOQueryTemp,Order_Main); + SInitCDSData20(ADOQueryTemp,Order_Main); + end; +end; + +procedure TfrmProductOrderAnPai.V2Column13PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +type + TMyFunc = function(App:Tapplication; FormH:hwnd; FormID:integer; + Language: integer; WinStyle:integer; + GCode: Pchar; GName: Pchar; DataBase:Pchar;Title:PChar; + Parameters1:PChar;Parameters2:PChar;Parameters3:PChar;Parameters4:PChar; + Parameters5:PChar;Parameters6:PChar;Parameters7:PChar;Parameters8:PChar; + Parameters9:PChar;Parameters10:PChar;DataBaseStr:PChar):hwnd;stdcall; +var + Tf: TMyFunc; + Tp: TFarProc; + Th:Thandle; + LabInt,labname:String; +begin + //if PPInt=2 then Exit; + Ddatabase:=StringOfChar(' ', 32); + Th := LoadLibrary('LabelSet.dll'); + if Th > 0 then + begin + try + Tp := GetProcAddress(Th, 'GetDllForm'); + if Tp <> nil then + begin + Tf := TMyFunc(Tp); + newh:=Tf(Application,0,2,0,0, + PChar(DCode), + PChar(DName), + PChar(Ddatabase), + PChar('ǩģ'), + PChar(''), + PChar(''), + '','','','','','','','',PChar(DConString) + ); + if Trim(PChar(Ddatabase))<>'' then + begin + Ddatabase:=Trim(PChar(Ddatabase)); + LabInt:=Trim( LeftBStr(Ddatabase,Pos('|',Ddatabase)-1) ) ; + labname:=Trim(RightBStr(Ddatabase,Length(Ddatabase)-Pos('|',Ddatabase) ) ); + with CDS_Sub do + begin + Edit; + FieldByName('LbName').Value:=labname; + //Post; + end; + end; + end + else + begin + ShowMessage('ӡִд'); + end; + finally + // FreeLibrary(); + end; + end + else + begin + ShowMessage('Ҳ'+Trim('LabelSet.dll')); + end; + +end; + +procedure TfrmProductOrderAnPai.V2Column9PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='APType'; + flagname:='ز'; + if ShowModal=1 then + begin + Self.CDS_Sub.Edit; + Self.CDS_Sub.FieldByName('APType').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +end. diff --git a/打卷检验管理/U_ProductOrderAnPaiGQX.dfm b/打卷检验管理/U_ProductOrderAnPaiGQX.dfm new file mode 100644 index 0000000..27fc1c6 --- /dev/null +++ b/打卷检验管理/U_ProductOrderAnPaiGQX.dfm @@ -0,0 +1,970 @@ +object frmProductOrderAnPaiGQX: TfrmProductOrderAnPaiGQX + Left = 86 + Top = 8 + Width = 1024 + Height = 721 + Caption = #26816#39564#25351#31034#21333 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1008 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 58 + Visible = False + OnClick = ToolButton1Click + end + object ToolButton10: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = ToolButton10Click + end + object ToolButton5: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #30133#28857#31649#29702 + ImageIndex = 49 + Visible = False + OnClick = ToolButton5Click + end + object TBExport: TToolButton + Left = 213 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + Visible = False + OnClick = TBExportClick + end + object ToolButton9: TToolButton + Left = 276 + Top = 0 + Caption = #26816#21069#22238#20462 + ImageIndex = 54 + Visible = False + OnClick = ToolButton9Click + end + object TBPrint: TToolButton + Left = 359 + Top = 0 + AutoSize = True + Caption = #25171#21360 + DropdownMenu = PopupMenu1 + ImageIndex = 12 + Style = tbsDropDown + Visible = False + OnClick = TBPrintClick + end + object TBClose: TToolButton + Left = 439 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel2: TPanel + Left = 0 + Top = 341 + Width = 1008 + Height = 342 + Align = alClient + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 1 + object cxGrid2: TcxGrid + Left = 2 + Top = 81 + Width = 1004 + Height = 259 + Align = alClient + TabOrder = 0 + object TV2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + Column = V2Column1 + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = V2Column1 + end + item + Kind = skSum + Column = V2Column7 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.OnGetContentStyle = Tv1StylesGetContentStyle + Styles.Header = DataLink_TradeManage.Default + object V2Column10: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 39 + end + object V2Column2: TcxGridDBColumn + Caption = #22238#20179#26102#38388 + DataBinding.FieldName = 'ADefDate1' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + Properties.OnEditValueChanged = cxGridDBColumn1PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 119 + end + object V2Column8: TcxGridDBColumn + Caption = #26579#21378 + DataBinding.FieldName = 'AOrddefstr4' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = V2Column8PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 82 + end + object V2Column11: TcxGridDBColumn + Caption = #22383#24067#21378 + DataBinding.FieldName = 'AOrddefstr6' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = V2Column11PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 57 + end + object cxGridDBColumn1: TcxGridDBColumn + Caption = #26579#21378#32568#21495 + DataBinding.FieldName = 'GangNo' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = cxGridDBColumn1PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object V2Column3: TcxGridDBColumn + Caption = #26412#21378#32568#21495 + DataBinding.FieldName = 'AOrddefstr1' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Width = 58 + end + object V2Column4: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'AOrddefstr2' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.DropDownListStyle = lsFixedList + Properties.Items.Strings = ( + 'M' + 'Kg') + HeaderAlignmentHorz = taCenter + Width = 59 + end + object V2Column9: TcxGridDBColumn + Caption = #25240#31639#25104#31859#31995#25968 + DataBinding.FieldName = 'ZSXS' + Width = 85 + end + object V2Column7: TcxGridDBColumn + Caption = #21305#25968#37327 + DataBinding.FieldName = 'AOrdQty2' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Width = 48 + end + object V2Column1: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'AOrdQty1' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = V2Column1PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.FonePurple + Width = 69 + end + object V2Column5: TcxGridDBColumn + Caption = #26816#39564#25968#37327#21333#20301 + DataBinding.FieldName = 'AOrddefstr3' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = V2Column5PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 83 + end + object V2Column6: TcxGridDBColumn + Caption = #26816#39564#35201#27714 + DataBinding.FieldName = 'AOrdDefNote1' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = V2Column6PropertiesButtonClick + Properties.OnEditValueChanged = cxGridDBColumn1PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 101 + end + object V2Column12: TcxGridDBColumn + Caption = #22238#20462#25968#25454 + DataBinding.FieldName = 'AOrdFlag1' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 65 + end + end + object cxGridLevel1: TcxGridLevel + GridView = TV2 + end + end + object ToolBar2: TToolBar + Left = 2 + Top = 2 + Width = 1004 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 1 + object ToolButton8: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20840#36873 + ImageIndex = 99 + Visible = False + OnClick = ToolButton8Click + end + object ToolButton7: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20840#24323 + ImageIndex = 129 + Visible = False + OnClick = ToolButton7Click + end + object ToolButton2: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + Visible = False + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + Visible = False + OnClick = ToolButton3Click + end + object ToolButton4: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 111 + Visible = False + OnClick = ToolButton4Click + end + object ToolButton6: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 96 + Visible = False + OnClick = ToolButton6Click + end + object ToolButton11: TToolButton + Left = 378 + Top = 0 + AutoSize = True + Caption = #19968#38190#20445#23384 + ImageIndex = 97 + OnClick = ToolButton11Click + end + end + object Panel3: TPanel + Left = 2 + Top = 34 + Width = 1004 + Height = 47 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 2 + Visible = False + object Label1: TLabel + Left = 24 + Top = 16 + Width = 48 + Height = 12 + Caption = #22238#20179#26102#38388 + end + object Label2: TLabel + Left = 189 + Top = 16 + Width = 36 + Height = 12 + Caption = #21152#24037#21378 + end + object Label4: TLabel + Left = 503 + Top = 16 + Width = 48 + Height = 12 + Caption = #25968#37327#21333#20301 + end + object Label5: TLabel + Left = 634 + Top = 16 + Width = 72 + Height = 12 + Caption = #26816#39564#25968#37327#21333#20301 + end + object Label6: TLabel + Left = 782 + Top = 16 + Width = 48 + Height = 12 + Caption = #26816#39564#35201#27714 + end + object Label7: TLabel + Left = 349 + Top = 16 + Width = 36 + Height = 12 + Caption = #22383#24067#21378 + end + object DateTimePicker1: TDateTimePicker + Left = 74 + Top = 12 + Width = 103 + Height = 20 + Date = 41281.501696319440000000 + Format = 'yyyy-MM-dd' + Time = 41281.501696319440000000 + TabOrder = 0 + end + object BtnEditA1: TBtnEditA + Left = 226 + Top = 12 + Width = 101 + Height = 20 + Enabled = False + TabOrder = 1 + OnBtnClick = BtnEditA1BtnClick + end + object ComboBox1: TComboBox + Left = 556 + Top = 12 + Width = 60 + Height = 20 + Style = csDropDownList + ItemHeight = 12 + TabOrder = 2 + Items.Strings = ( + 'M' + 'Kg') + end + object BtnEditA2: TBtnEditA + Left = 709 + Top = 12 + Width = 53 + Height = 20 + TabOrder = 3 + OnBtnClick = BtnEditA2BtnClick + end + object BtnEditA3: TBtnEditA + Left = 833 + Top = 12 + Width = 114 + Height = 20 + TabOrder = 4 + OnBtnClick = BtnEditA3BtnClick + end + object BtnEditA4: TBtnEditA + Left = 386 + Top = 12 + Width = 101 + Height = 20 + Enabled = False + TabOrder = 5 + OnBtnClick = BtnEditA4BtnClick + end + end + object MovePanel2: TMovePanel + Left = 342 + Top = 128 + Width = 252 + Height = 40 + BevelInner = bvLowered + Caption = #27491#22312#25191#34892#25968#25454#25805#20316#65292#35831#31245#21518#12290#12290#12290 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 82 + Width = 1008 + Height = 259 + Align = alTop + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1Column2 + end + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + Column = v1Column5 + end + item + Kind = skSum + Column = v1Column6 + end + item + Kind = skSum + Column = v1Column7 + end + item + Kind = skSum + Column = v1Column8 + end + item + Kind = skSum + Column = v1Column9 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.OnGetContentStyle = Tv1StylesGetContentStyle + Styles.Header = DataLink_TradeManage.Default + object cxGridDBColumn2: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object cxGridDBColumn7: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v1ConNo: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1OrdDefStr1: TcxGridDBColumn + Caption = #20844#21496#32534#21495 + DataBinding.FieldName = 'OrdDefStr1' + HeaderAlignmentHorz = taCenter + Width = 90 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #20844#21496#21488#22836 + DataBinding.FieldName = 'OrdDefStr2' + HeaderAlignmentHorz = taCenter + Width = 90 + end + object v1OrdPerson1: TcxGridDBColumn + Caption = #19994#21153#21592 + DataBinding.FieldName = 'OrdPerson1' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 73 + end + object v1JGFactoryName: TcxGridDBColumn + Caption = #26579#21378 + DataBinding.FieldName = 'FirstName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object v1Column1: TcxGridDBColumn + Caption = #22383#24067#21378 + DataBinding.FieldName = 'PBFactory' + HeaderAlignmentHorz = taCenter + Width = 68 + end + object v1OrdDate: TcxGridDBColumn + Caption = #21046#21333#26085#26399 + DataBinding.FieldName = 'OrdDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DlyDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + OnCustomDrawCell = v1DeliveryDateCustomDrawCell + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 62 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 62 + end + object v1Column6: TcxGridDBColumn + Caption = #25237#22383#21305#25968 + DataBinding.FieldName = 'TPPS' + Width = 61 + end + object v1Column7: TcxGridDBColumn + Caption = #25237#22383#31859#25968#37327 + DataBinding.FieldName = 'TPMQty' + Width = 71 + end + object v1MPRTCodeName: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 69 + end + object v1MPRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'MPRTSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1MPRTCF: TcxGridDBColumn + Caption = #25104#20998 + DataBinding.FieldName = 'MPRTCF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 69 + end + object v1MPRTMF: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'MPRTMF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object v1MPRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'MPRTKZ' + Width = 54 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #22791#27880#21450#35201#27714 + DataBinding.FieldName = 'Note' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 92 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 67 + end + object v1Column4: TcxGridDBColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrderUnit' + Width = 60 + end + object v1Column5: TcxGridDBColumn + Caption = #22238#20179#21305#25968 + DataBinding.FieldName = 'HCPS' + HeaderAlignmentHorz = taCenter + Width = 58 + end + object v1Column2: TcxGridDBColumn + Caption = #22238#20179#25968#37327 + DataBinding.FieldName = 'HCQty' + HeaderAlignmentHorz = taCenter + Width = 61 + end + object v1Column3: TcxGridDBColumn + Caption = #22238#20179#21333#20301 + DataBinding.FieldName = 'HCUnit' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column8: TcxGridDBColumn + Caption = #22238#20462#21305#25968 + DataBinding.FieldName = 'HXPS' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column9: TcxGridDBColumn + Caption = #22238#20462#25968#37327 + DataBinding.FieldName = 'HXQty' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column10: TcxGridDBColumn + Caption = #22238#20462#21333#20301 + DataBinding.FieldName = 'HXUnit' + HeaderAlignmentHorz = taCenter + Width = 61 + end + object cxGridDBColumn8: TcxGridDBColumn + Caption = #30830#35748#33394#21345 + DataBinding.FieldName = 'SOrddefstr2' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object cxGridDBColumn9: TcxGridDBColumn + Caption = #26631#31614 + DataBinding.FieldName = 'SLbName' + HeaderAlignmentHorz = taCenter + Width = 85 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv1 + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1008 + Height = 50 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 3 + object Label3: TLabel + Left = 19 + Top = 17 + Width = 39 + Height = 12 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object OrderNoM: TEdit + Tag = 2 + Left = 60 + Top = 9 + Width = 189 + Height = 32 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnChange = OrderNoMChange + end + end + object cxGrid4: TcxGrid + Left = 60 + Top = 72 + Width = 345 + Height = 177 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 4 + Visible = False + object Tv4: TcxGridDBTableView + OnDblClick = Tv4DblClick + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DS_OrderNo + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.FoneRed + object v4Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Width = 179 + end + object v4Column2: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Width = 138 + end + end + object cxGrid4Level1: TcxGridLevel + GridView = Tv4 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 544 + Top = 176 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 656 + Top = 192 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 624 + Top = 192 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 688 + Top = 192 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 784 + Top = 192 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 560 + Top = 144 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 496 + Top = 208 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 448 + Top = 200 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 816 + Top = 192 + end + object PopupMenu1: TPopupMenu + Left = 544 + Top = 208 + object N2: TMenuItem + Caption = #26377#20379#24212#21830 + OnClick = N2Click + end + end + object DataSource2: TDataSource + DataSet = CDS_Sub + Left = 944 + Top = 384 + end + object CDS_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 968 + Top = 384 + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 752 + Top = 192 + end + object CDS_OrderNo: TClientDataSet + Aggregates = <> + Params = <> + Left = 120 + Top = 104 + end + object DS_OrderNo: TDataSource + DataSet = CDS_OrderNo + Left = 192 + Top = 104 + end + object ADOQueryHC: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 720 + Top = 192 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 576 + Top = 512 + end +end diff --git a/打卷检验管理/U_ProductOrderAnPaiGQX.pas b/打卷检验管理/U_ProductOrderAnPaiGQX.pas new file mode 100644 index 0000000..49bace6 --- /dev/null +++ b/打卷检验管理/U_ProductOrderAnPaiGQX.pas @@ -0,0 +1,2138 @@ +unit U_ProductOrderAnPaiGQX; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, + Menus, cxPC, BtnEdit, cxTextEdit, cxButtonEdit, cxDropDownEdit, MovePanel; + +type + TfrmProductOrderAnPaiGQX = class(TForm) + ToolBar1: TToolBar; + TBPrint: TToolButton; + TBClose: TToolButton; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + TBExport: TToolButton; + Order_Main: TClientDataSet; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + PopupMenu1: TPopupMenu; + N2: TMenuItem; + ToolButton1: TToolButton; + DataSource2: TDataSource; + CDS_Sub: TClientDataSet; + Panel2: TPanel; + cxGrid2: TcxGrid; + TV2: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + V2Column1: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + ToolBar2: TToolBar; + ToolButton2: TToolButton; + ToolButton3: TToolButton; + ToolButton5: TToolButton; + ToolButton6: TToolButton; + ADOQueryPrint: TADOQuery; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + cxGridDBColumn2: TcxGridDBColumn; + v1ConNo: TcxGridDBColumn; + v1OrdDefStr1: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + v1OrdPerson1: TcxGridDBColumn; + v1JGFactoryName: TcxGridDBColumn; + v1OrdDate: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + v1MPRTCodeName: TcxGridDBColumn; + v1MPRTSpec: TcxGridDBColumn; + v1MPRTCF: TcxGridDBColumn; + v1MPRTMF: TcxGridDBColumn; + v1MPRTKZ: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + cxGridDBColumn7: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + cxGridDBColumn8: TcxGridDBColumn; + cxGridDBColumn9: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + V2Column2: TcxGridDBColumn; + V2Column3: TcxGridDBColumn; + V2Column4: TcxGridDBColumn; + Panel1: TPanel; + Label3: TLabel; + OrderNoM: TEdit; + cxGrid4: TcxGrid; + Tv4: TcxGridDBTableView; + v4Column1: TcxGridDBColumn; + v4Column2: TcxGridDBColumn; + cxGrid4Level1: TcxGridLevel; + CDS_OrderNo: TClientDataSet; + DS_OrderNo: TDataSource; + V2Column5: TcxGridDBColumn; + V2Column6: TcxGridDBColumn; + V2Column7: TcxGridDBColumn; + V2Column8: TcxGridDBColumn; + V2Column9: TcxGridDBColumn; + ToolButton4: TToolButton; + ADOQueryHC: TADOQuery; + Panel3: TPanel; + DateTimePicker1: TDateTimePicker; + BtnEditA1: TBtnEditA; + ComboBox1: TComboBox; + BtnEditA2: TBtnEditA; + Label1: TLabel; + Label2: TLabel; + Label4: TLabel; + Label5: TLabel; + BtnEditA3: TBtnEditA; + Label6: TLabel; + V2Column10: TcxGridDBColumn; + ToolButton7: TToolButton; + ToolButton8: TToolButton; + V2Column11: TcxGridDBColumn; + BtnEditA4: TBtnEditA; + Label7: TLabel; + v1Column1: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + cxGridPopupMenu2: TcxGridPopupMenu; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + ToolButton9: TToolButton; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + ToolButton10: TToolButton; + V2Column12: TcxGridDBColumn; + MovePanel2: TMovePanel; + ToolButton11: TToolButton; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBTPClick(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; + ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; + out AStyle: TcxStyle); + procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure AOrdDefNote12DblClick(Sender: TObject); + procedure AOrdDefNote7BtnDnClick(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + procedure ToolButton5Click(Sender: TObject); + procedure ToolButton6Click(Sender: TObject); + procedure OrderNoMChange(Sender: TObject); + procedure Tv4DblClick(Sender: TObject); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; + APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); + procedure V2Column1PropertiesEditValueChanged(Sender: TObject); + procedure cxGridDBColumn1PropertiesEditValueChanged(Sender: TObject); + procedure V2Column4PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure V2Column5PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure V2Column6PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure V2Column8PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ToolButton4Click(Sender: TObject); + procedure BtnEditA1BtnClick(Sender: TObject); + procedure BtnEditA2BtnClick(Sender: TObject); + procedure BtnEditA3BtnClick(Sender: TObject); + procedure ToolButton8Click(Sender: TObject); + procedure ToolButton7Click(Sender: TObject); + procedure BtnEditA4BtnClick(Sender: TObject); + procedure V2Column11PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure ToolButton9Click(Sender: TObject); + procedure ToolButton10Click(Sender: TObject); + procedure ToolButton11Click(Sender: TObject); + private + DQdate:TDateTime; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + procedure InitGridFH(); + function SaveData():Boolean; + procedure UpdateHC(FFirstNo:String); + function YFData():Boolean; + function DELYFData():Boolean; + { Private declarations } + public + FFInt:Integer; + { Public declarations } + end; + +var + frmProductOrderAnPaiGQX: TfrmProductOrderAnPaiGQX; + +implementation +uses + U_DataLink,U_OrderInPut,U_Fun, U_ZDYHelp,U_iniParam, U_ZDYHelpSel,U_BefChkHX; + +{$R *.dfm} + +procedure TfrmProductOrderAnPaiGQX.FormDestroy(Sender: TObject); +begin + frmProductOrderAnPaiGQX:=nil; +end; + +procedure TfrmProductOrderAnPaiGQX.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmProductOrderAnPaiGQX.FormCreate(Sender: TObject); +begin + + //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; + //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + DQdate:=SGetServerDate(ADOQueryTemp); +end; + +procedure TfrmProductOrderAnPaiGQX.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ָʾϢ',Tv1,'زֹ'); + WriteCxGrid('زϢ',Tv2,'زֹ'); +end; + +procedure TfrmProductOrderAnPaiGQX.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Sub_AnPai where LLId='''+Trim(Order_Main.fieldbyname('LLId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Sub); + SInitCDSData20(ADOQueryMain,CDS_Sub); + finally + ADOQueryMain.EnableControls; + end; +end; +procedure TfrmProductOrderAnPaiGQX.InitGridFH(); +begin +end; + +procedure TfrmProductOrderAnPaiGQX.InitForm(); +var + i:Integer; +begin + DateTimePicker1.DateTime:=SGetServerDateTime(ADOQueryTemp); + ReadCxGrid('ָʾϢ',Tv1,'زֹ'); + ReadCxGrid('زϢ',Tv2,'زֹ'); +end; + +function TfrmProductOrderAnPaiGQX.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + if IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmProductOrderAnPaiGQX.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + SelExportData(Tv1,ADOQueryMain,'ɹб'); +end; + +procedure TfrmProductOrderAnPaiGQX.TBPrintClick(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ɹ.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ10.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); + //SelPrintData(TV4,ADOQueryMain,'ͬѯ'); +end; + +procedure TfrmProductOrderAnPaiGQX.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmProductOrderAnPaiGQX.TBTPClick(Sender: TObject); + var + FQty,FQty1,FMxQty,FPQty,FMxQtyS,FPQtyS:String; +begin +end; + +procedure TfrmProductOrderAnPaiGQX.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmProductOrderAnPaiGQX.Tv1StylesGetContentStyle( + Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; + AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); +var + id,id10:Integer; +begin + {try + if Tv1.GroupedItemCount=0 then + begin + Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; + Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; + if Trim(VarToStr(ARecord.Values[id]))='' then Exit; + if Id<0 then Exit; + if ARecord.Values[id10]='' then exit; + if (ARecord.Values[id]-DQdate)>=4 then Exit; + if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then + AStyle:=DataLink_.QHuangSe + else + if ARecord.Values[id]-DQdate<0 then + begin + AStyle:=DataLink_OrderManage.FenHongS; + end; + end else + begin + + end; + except + end; } +end; + +procedure TfrmProductOrderAnPaiGQX.v1DeliveryDateCustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +begin + { Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount; + Id10:=TV1.GetColumnByFieldName('SubStatus').Index; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id10]='' then Exit; + if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit; + if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then + ACanvas.Brush.Color:=clYellow + else + if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then + begin + ACanvas.Brush.Color:=clRed; + end; + begin + ACanvas.Brush.Color:=clRed; + end else + if AViewInfo.GridRecord.Values[Id]='Purple' then + begin + ACanvas.Brush.Color:=clPurple; + end else + if AViewInfo.GridRecord.Values[Id]='Olive' then + begin + ACanvas.Brush.Color:=clOlive; + end else + if AViewInfo.GridRecord.Values[Id]='Teal' then + begin + ACanvas.Brush.Color:=clTeal; + end else + if AViewInfo.GridRecord.Values[Id]='Background' then + begin + ACanvas.Brush.Color:=clBackground; + end; } +end; + +procedure TfrmProductOrderAnPaiGQX.N1Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ10.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ10.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderAnPaiGQX.N2Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderAnPaiGQX.ToolButton1Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmOrderInPut:=TfrmOrderInPut.Create(Application); + with frmOrderInPut do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + ToolBar2.Visible:=False; + TBSave.Visible:=False; + Tv1.OptionsSelection.CellSelect:=False; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut.Free; + end; +end; + +procedure TfrmProductOrderAnPaiGQX.ToolButton2Click(Sender: TObject); +begin + with CDS_Sub do + begin + Append; + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + FieldByName('ADefDate1').Value:=DateTimePicker1.Date; + FieldByName('AOrddefstr4').Value:=Trim(BtnEditA1.Text); + FieldByName('AOrddefstr5').Value:=Trim(BtnEditA1.TxtCode); + FieldByName('AOrddefstr2').Value:=Trim(ComboBox1.Text); + FieldByName('AOrddefstr3').Value:=Trim(BtnEditA2.Text); + FieldByName('AOrdDefNote1').Value:=Trim(BtnEditA3.Text); + FieldByName('AOrddefstr6').Value:=Trim(BtnEditA4.Text); + Post; + end; + +end; + +procedure TfrmProductOrderAnPaiGQX.ToolButton3Click(Sender: TObject); +begin + if CDS_Sub.IsEmpty then Exit; + if Trim(CDS_Sub.fieldbyname('APID').AsString)<>'' then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from WFB_MJJY where APID='''+Trim(CDS_Sub.fieldbyname('APID').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + Application.MessageBox('Ѳݲɾ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + try + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Sub_AnPai where APID='''+Trim(CDS_Sub.fieldbyname('APID').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Contract_Cloth_LL Set HCPS=(select isnull(sum(AOrdQty2),0) from JYOrder_Sub_AnPai A where A.LLID=Contract_Cloth_LL.LLID )'); + sql.Add(',HCMQty=(select isnull(sum(HCMQty),0) from JYOrder_Sub_AnPai A where A.LLID=Contract_Cloth_LL.LLID )'); + sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update Contract_Cloth_LL Set HCQty=HCMQty*1.00/TPMQty*TPQty '); + sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + if DELYFData()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('Ӧʧ!','ʾ',0); + end; + ADOQueryCmd.Connection.CommitTrans; + except + ADOQueryCmd.Connection.RollbackTrans; + end; + end; + with CDS_Sub do + begin + Delete; + end; + if CDS_Sub.IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate JYOrder_Sub Set SOrdFlag20=0 where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; + {with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('UPdate Contract_Cloth_LL Set HCPS=0,HCQty=0,HCMQty=0 where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryHC do + begin + Close; + sql.Clear; + sql.Add('select distinct(AOrddefstr5) AOrddefstr5 from JYOrder_Sub_AnPai where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOQueryHC.IsEmpty then + UpdateHC(Trim(ADOQueryHC.fieldbyname('AOrddefstr5').AsString)) + else + begin + with ADOQueryHC do + begin + First; + while not Eof do + begin + UpdateHC(Trim(ADOQueryHC.fieldbyname('AOrddefstr5').AsString)); + Next; + end; + end; + end; } + +end; + +function TfrmProductOrderAnPaiGQX.SaveData():Boolean; +var + maxno:String; +begin + try + ADOQueryCmd.Connection.BeginTrans; + ///ӱ + with CDS_Sub do + begin + First; + while not Eof do + begin + if Trim(CDS_Sub.fieldbyname('APId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,maxno,'','JYOrder_Sub_AnPai',3,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_Sub.fieldbyname('APId').AsString); + end; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrder_Sub_AnPai where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); + Open; + end; + with ADOQueryCmd do + begin + if Trim(CDS_Sub.fieldbyname('APId').AsString)='' then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + FieldByName('ApId').Value:=Trim(maxno); + FieldByName('ADefDate1').Value:=CDS_Sub.fieldbyname('ADefDate1').Value; + FieldByName('AOrddefstr4').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('AOrddefstr5').Value:=Trim(Order_Main.fieldbyname('FirstNo').AsString); + FieldByName('GangNo').Value:=CDS_Sub.fieldbyname('GangNo').Value; + FieldByName('AOrddefstr1').Value:=CDS_Sub.fieldbyname('AOrddefstr1').Value; + FieldByName('AOrddefstr2').Value:=CDS_Sub.fieldbyname('AOrddefstr2').Value; + if Trim(CDS_Sub.fieldbyname('ZSXS').AsString)<>'' then + FieldByName('ZSXS').Value:=CDS_Sub.fieldbyname('ZSXS').Value + else + FieldByName('ZSXS').Value:=1; + FieldByName('AOrdQty2').Value:=CDS_Sub.fieldbyname('AOrdQty2').Value; + FieldByName('AOrdQty1').Value:=CDS_Sub.fieldbyname('AOrdQty1').Value; + FieldByName('AOrddefstr3').Value:=CDS_Sub.fieldbyname('AOrddefstr3').Value; + FieldByName('AOrdDefNote1').Value:=CDS_Sub.fieldbyname('AOrdDefNote1').Value; + FieldByName('LLID').Value:=Order_Main.fieldbyname('LLID').Value; + FieldByName('AOrddefstr6').Value:=CDS_Sub.fieldbyname('AOrddefstr6').Value; + if CDS_Sub.fieldbyname('AOrdFlag1').AsBoolean=True then + FieldByName('AOrdFlag1').Value:=1 + else + FieldByName('AOrdFlag1').Value:=0; + + //RTSetSaveDataCDS(ADOQueryCmd,Tv2,CDS_Sub,'JYOrder_Sub_AnPai',0); + {if Trim(CDS_Sub.fieldbyname('APID').AsString)<>'' then + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp); + end else + begin + + end; } + if Trim(CDS_Sub.fieldbyname('APId').AsString)='' then + FieldByName('Filler').Value:=Trim(DName) + else + begin + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOQueryTemp); + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from Contract_Cloth_LL where LLId='''+Trim(Order_Main.fieldbyname('LLId').AsString)+''''); + Open; + end; + if Trim(ADOQueryTemp.fieldbyname('TPUnit').AsString)=Trim(CDS_Sub.fieldbyname('AOrddefstr2').AsString) then + begin + FieldByName('HCYZQty').Value:=CDS_Sub.fieldbyname('AOrdQty1').Value; + end else + begin + if Trim(CDS_Sub.fieldbyname('AOrddefstr2').AsString)='M' then + begin + FieldByName('HCYZQty').Value:=(CDS_Sub.fieldbyname('AOrdQty1').Value*1.00/ADOQueryTemp.fieldbyname('TPMQty').Value) + *ADOQueryTemp.fieldbyname('TPQty').Value ; + end; + end; + if Trim(CDS_Sub.fieldbyname('AOrddefstr2').AsString)='M' then + begin + FieldByName('HCMQty').Value:=CDS_Sub.fieldbyname('AOrdQty1').Value; + end else + begin + FieldByName('HCMQty').Value:=CDS_Sub.fieldbyname('AOrdQty1').Value*CDS_Sub.fieldbyname('ZSXS').Value; + end; + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate JYOrder_Sub Set SOrdFlag20=1 where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + CDS_Sub.Edit; + CDS_Sub.FieldByName('APId').Value:=Trim(maxno); + CDS_Sub.FieldByName('SubId').Value:=Trim(Order_Main.fieldbyname('SubId').AsString); + + //Order_Sub.Post; + { with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add(' UPdate WFB_MJJY Set MJTypeOther='''+Trim(CDS_Sub.fieldbyname('AOrddefstr3').AsString)+''''); + SQL.Add(' where APId='''+Trim(maxno)+''''); + sql.Add(' UPdate CK_BanCP_KC Set KCQtyUnit='''+Trim(CDS_Sub.fieldbyname('AOrddefstr3').AsString)+''''); + SQL.Add(' where MJId in (select MJID from WFB_MJJY where APID='''+Trim(maxno)+''')'); + sql.Add(' UPdate CK_BanCP_CR Set QtyUnit='''+Trim(CDS_Sub.fieldbyname('AOrddefstr3').AsString)+''''); + SQL.Add(' where MJId in (select MJID from WFB_MJJY where APID='''+Trim(maxno)+''')'); + ExecSQL; + end; + } + if YFData()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('²Ӧʧ!','ʾ',0); + Exit; + end; + Next; + end; + end; + { with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('UPdate Contract_Cloth_LL Set HCPS=0,HCQty=0,HCMQty=0 where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryHC do + begin + Close; + sql.Clear; + sql.Add('select distinct(AOrddefstr5) AOrddefstr5 from JYOrder_Sub_AnPai where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + with ADOQueryHC do + begin + First; + while not Eof do + begin + UpdateHC(Trim(ADOQueryHC.fieldbyname('AOrddefstr5').AsString)); + Next; + end; + end; } + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Contract_Cloth_LL Set HCPS=(select isnull(sum(AOrdQty2),0) from JYOrder_Sub_AnPai A where A.LLID=Contract_Cloth_LL.LLID )'); + sql.Add(',HCMQty=(select isnull(sum(HCMQty),0) from JYOrder_Sub_AnPai A where A.LLID=Contract_Cloth_LL.LLID )'); + sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + if (Trim(CDS_Sub.fieldbyname('AOrddefstr2').AsString)=Trim(Order_Main.fieldbyname('TPUnit').AsString)) then + sql.Add('Update Contract_Cloth_LL Set HCQty=(select isnull(Sum(AOrdQty1),0) from JYOrder_Sub_AnPai A where A.LLID=Contract_Cloth_LL.LLID) ') + else + sql.Add('Update Contract_Cloth_LL Set HCQty=HCMQty*1.00/TPMQty*TPQty '); + sql.Add(' where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + {if YFData()=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('²Ӧʧ!','ʾ',0); + Exit; + end; } + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + Result:=False; + MovePanel2.Visible:=False; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmProductOrderAnPaiGQX.AOrdDefNote12DblClick(Sender: TObject); +var + fsj:string; + FWZ:Integer; +begin + fsj:=Trim(TEdit(Sender).Hint); + FWZ:=Pos('/',fsj); + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:=Copy(fsj,1,FWZ-1); + flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); + if ShowModal=1 then + begin + TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmProductOrderAnPaiGQX.AOrdDefNote7BtnDnClick(Sender: TObject); +begin + TBtnEditC(Sender).Text:=''; + TBtnEditC(Sender).TxtCode:=''; +end; + +procedure TfrmProductOrderAnPaiGQX.cxTabControl1Change(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmProductOrderAnPaiGQX.ToolButton5Click(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WFBCD'; + flagname:='õ'; + fnote:=True; + V1Note.Caption:='Ӣ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmProductOrderAnPaiGQX.ToolButton6Click(Sender: TObject); +var + fPrintFile:string; +begin + if CDS_Sub.IsEmpty then Exit; + if CDS_Sub.Locate('SSel',True,[])=False then + begin + Application.MessageBox('δѡҪӡ!','ʾ',0); + Exit; + end; + CDS_Sub.DisableControls; + with CDS_Sub do + begin + First; + while not Eof do + begin + if CDS_Sub.FieldByName('SSel').AsBoolean=True then + begin + if Trim(CDS_Sub.fieldbyname('APID').AsString) ='' then + begin + CDS_Sub.EnableControls; + Application.MessageBox('δ治ܴӡ!','ʾ',0); + Exit; + end; + + end; + Next; + end; + end; + CDS_Sub.EnableControls; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾǩ.rmf' ; + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + //RM1.LoadFromFile(fPrintFile); + //RM1.ShowReport; + //RM1.PrintReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾǩ.rmf'),'ʾ',0); + Exit; + end; + CDS_Sub.DisableControls; + with CDS_Sub do + begin + First; + while not Eof do + begin + if CDS_Sub.FieldByName('SSel').AsBoolean=True then + begin + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select A.*,OrderNoM=B.OrderNo ,B.MPRTCodeName,C.PRTColor from JYOrder_Sub_AnPai A '); + sql.Add('inner join JYOrder_Main B on A.MainId=B.MainId'); + sql.Add('inner join JYOrder_Sub C on A.SubId=C.SubId where A.APID='''+Trim(CDS_Sub.fieldbyname('APID').AsString)+''''); + Open; + end; + RM1.LoadFromFile(fPrintFile); + RM1.PrintReport; + end; + Next; + end; + end; + CDS_Sub.EnableControls; + + + +end; + +procedure TfrmProductOrderAnPaiGQX.OrderNoMChange(Sender: TObject); +var + mvalue:String; +begin + mvalue:=Trim(OrderNoM.Text); + if Length(Trim(mvalue))<4 then + begin + cxGrid4.Visible:=False; + Exit; + end; + mvalue:='%'+Trim(mvalue)+'%'; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select OrderNo,MPRTCodeName,A.MainId from JYOrder_Main A'); + sql.Add(' where A.orderno like :orderno '); + sql.Add(' and A.MainId in(select MainId from JYOrder_Sub B where B.Mainid=A.MainId and B.subId in(select OrdSubId from Contract_Cloth_LL))'); + Parameters.ParamByName('orderno').Value:=mvalue; + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_OrderNo); + SInitCDSData20(ADOQueryTemp,CDS_OrderNo); + if CDS_OrderNo.IsEmpty then cxGrid4.Visible:=False else cxGrid4.Visible:=True; +end; + +procedure TfrmProductOrderAnPaiGQX.Tv4DblClick(Sender: TObject); +begin + cxGrid4.Visible:=False; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select A.*,B.*,C.FirstName,C.FirstNo,C.TPPS,C.TPMQty,C.LLID,C.HXPS,C.HXQty,C.HXUnit,C.DHIDHelp,C.DHID,C.TPUnit '); + sql.Add(',PBFactory=(select Top 1 AA.factoryNoName from Contract_Main AA inner join Contract_Cloth_DH BB on AA.MainId=BB.MainId'); + sql.Add(' where BB.DHID=C.DHID)'); + sql.Add(',HCUnit=(select Top 1 AOrddefstr2 from JYOrder_Sub_AnPai AA where AA.SubId=B.SubId)'); + sql.Add('from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.MainId '); + sql.Add(' inner join Contract_Cloth_LL C on C.OrdSubId=B.SubId'); + sql.Add('where A.MainId='''+Trim(CDS_OrderNo.fieldbyname('MainId').AsString)+''''); + sql.Add(' and C.JXJGFlag=0'); + sql.Add(' and exists(select * from Contract_Cloth_LLMX LM where LM.OrdSubId=B.SubId and LM.OrdSubId=C.OrdSubId )'); + //ShowMessage(SQL.Text); + Open; + end; + SCreateCDS20(ADOQueryTemp,Order_Main); + SInitCDSData20(ADOQueryTemp,Order_Main); +end; + +procedure TfrmProductOrderAnPaiGQX.Tv1FocusedRecordChanged( + Sender: TcxCustomGridTableView; APrevFocusedRecord, + AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); +begin + InitGrid(); + BtnEditA1.TxtCode:=Trim(Order_Main.fieldbyname('FirstNo').AsString); + BtnEditA1.Text:=Trim(Order_Main.fieldbyname('FirstName').AsString); + BtnEditA4.Text:=Trim(Order_Main.fieldbyname('PBFactory').AsString); +end; + +procedure TfrmProductOrderAnPaiGQX.V2Column1PropertiesEditValueChanged( + Sender: TObject); +//var + //mvalue,FFieldName,mvalue10,mvalue20:String; + //FHCPS,FHCQty,FHCMQty:Double; +begin + {if Trim(CDS_Sub.fieldbyname('AOrddefstr4').AsString)='' then + begin + Application.MessageBox('ȾΪ!','ʾ',0); + Exit; + end; + with Self.ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL A '); + sql.Add(' where A.FirstNo='''+Trim(CDS_Sub.fieldbyname('AOrddefstr5').AsString)+''''); + sql.Add(' and A.OrdSubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+''''); + Open; + end; + if Self.ADOQueryTemp.IsEmpty then + begin + Application.MessageBox('ȾûӦ!','ʾ',0); + Exit; + end; + mvalue:=TcxTextEdit(Sender).EditingText; + FFieldName:=Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); + if FFieldName='AOrdQty1' then + begin + if Trim(CDS_Sub.fieldbyname('AOrddefstr2').AsString)='' then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; + end; + if Trim(mvalue)='' then + begin + if FFieldName='ZSXS' then + mvalue:='1' + else + if FFieldName='AOrddefstr2' then + mvalue:='' + else + mvalue:='0'; + end; + + with CDS_Sub do + begin + Edit; + FieldByName(FFieldName).Value:=Trim(mvalue); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate JYOrder_Sub_AnPai '); + if Trim(FFieldName)='AOrddefstr2' then + begin + sql.Add(' Set '+FFieldName+'='''+Trim(mvalue)+''''); + end else + begin + sql.Add(' Set '+FFieldName+'='+Trim(mvalue)); + end; + SQL.Add(',Editer='''+Trim(DName)+''''); + SQL.Add(',Edittime=getdate() '); + SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); + ExecSQL; + end; + if Trim(FFieldName)='AOrdQty2' then + begin + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select isnull(Sum(AOrdQty2),0) HCPS,isnull(Sum(AOrdQty1),0) HCQty from JYOrder_Sub_AnPai '); + sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and AOrddefstr5='''+Trim(CDS_Sub.fieldbyname('AOrddefstr5').AsString)+''''); + Open; + end; + FHCPS:=ADOQueryTemp.FieldByName('HCPS').Value; + if FHCPS>0 then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and FirstNo='''+Trim(CDS_Sub.fieldbyname('AOrddefstr5').AsString)+''''); + SQL.Add(' order by LLIdx'); + Open; + end; + with ADOQueryTemp do + begin + First; + while (not eof) and (FHCPS>0) do + begin + if FHCPS>=FieldByName('TPPS').Value then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCPS=TPPS '); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCPS:=FHCPS-FieldByName('TPPS').Value; + end else + begin + + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCPS='+FloatToStr(FHCPS)); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCPS:=0; + end; + Next; + end; + end; + end; + end; + if Trim(FFieldName)='AOrdQty1' then + begin + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select isnull(Sum(AOrdQty2),0) HCPS,isnull(Sum(AOrdQty1),0) HCQty from JYOrder_Sub_AnPai '); + sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and AOrddefstr5='''+Trim(CDS_Sub.fieldbyname('AOrddefstr5').AsString)+''''); + Open; + end; + FHCQty:=ADOQueryTemp.FieldByName('HCQty').Value; + if FHCQty>0 then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and FirstNo='''+Trim(CDS_Sub.fieldbyname('AOrddefstr5').AsString)+''''); + SQL.Add(' order by LLIdx'); + Open; + end; + with ADOQueryTemp do + begin + First; + while (not eof) and (FHCQty>0) do + begin + if FHCQty>=FieldByName('BCPQty').Value then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCQty=BCPQty '); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCQty:=FHCQty-FieldByName('BCPQty').Value; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCQty='+FloatToStr(FHCQty)); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCQty:=0; + end; + Next; + end; + end; + end; + end;} +end; +procedure TfrmProductOrderAnPaiGQX.UpdateHC(FFirstNo:String); +var + FHCPS,FHCYZQty,FHCMQty:Double; +begin + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select isnull(Sum(AOrdQty2),0) HCPS from JYOrder_Sub_AnPai '); + sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and AOrddefstr5='''+Trim(FFirstNo)+''''); + Open; + end; + FHCPS:=ADOQueryTemp.FieldByName('HCPS').Value; + if FHCPS=0 then + begin + + end; + if FHCPS>0 then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and FirstNo='''+Trim(FFirstNo)+''''); + SQL.Add(' order by LLIdx'); + Open; + end; + with ADOQueryTemp do + begin + First; + while (not eof) and (FHCPS>0) do + begin + if FHCPS>=FieldByName('TPPS').Value then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCPS=TPPS '); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCPS:=FHCPS-FieldByName('TPPS').Value; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCPS='+FloatToStr(FHCPS)); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCPS:=0; + end; + Next; + end; + end; + end; + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select isnull(Sum(HCYZQty),0) HCYZQty,isnull(Sum(HCMQty),0) HCMQty from JYOrder_Sub_AnPai '); + sql.Add(' where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and AOrddefstr5='''+Trim(FFirstNo)+''''); + Open; + end; + FHCYZQty:=ADOQueryTemp.FieldByName('HCYZQty').Value; + FHCMQty:=ADOQueryTemp.FieldByName('HCMQty').Value; + if FHCYZQty>=0 then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + sql.Add(' and FirstNo='''+Trim(FFirstNo)+''''); + SQL.Add(' order by LLIdx'); + Open; + end; + with ADOQueryTemp do + begin + First; + while (not eof) and (FHCYZQty>0) do + begin + if FHCYZQty>=FieldByName('BCPQty').Value then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCQty=BCPQty '); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCYZQty:=FHCYZQty-FieldByName('BCPQty').Value; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCQty='+FloatToStr(FHCYZQty)); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCYZQty:=0; + end; + Next; + end; + end; + with ADOQueryTemp do + begin + First; + while (not eof) and (FHCMQty>0) do + begin + if FHCMQty>=FieldByName('BCPMQty').Value then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCMQty=BCPMQty '); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCMQty:=FHCMQty-FieldByName('BCPMQty').Value; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('Update Contract_Cloth_LL Set HCMQty='+FloatToStr(FHCMQty)); + sql.Add(' where LLID='''+Trim(ADOQueryTemp.fieldbyname('LLID').AsString)+''''); + ExecSQL; + end; + FHCMQty:=0; + end; + Next; + end; + end; + end; +end; + +procedure TfrmProductOrderAnPaiGQX.cxGridDBColumn1PropertiesEditValueChanged( + Sender: TObject); +//var + //mvalue,FFieldName:String; +begin + {mvalue:=TcxTextEdit(Sender).EditingText; + FFieldName:=Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); + with CDS_Sub do + begin + Edit; + FieldByName(FFieldName).Value:=Trim(mvalue); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate JYOrder_Sub_AnPai '); + if Trim(mvalue)<>'' then + begin + sql.Add(' Set '+FFieldName+'='''+Trim(mvalue)+''''); + end else + begin + sql.Add(' Set '+FFieldName+'=NULL'); + end; + SQL.Add(',Editer='''+Trim(DName)+''''); + SQL.Add(',Edittime=getdate() '); + SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); + ExecSQL; + end; } +end; + + +procedure TfrmProductOrderAnPaiGQX.V2Column4PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrderUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.CDS_Sub.Edit; + Self.CDS_Sub.FieldByName('AOrddefstr2').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate JYOrder_Sub_AnPai '); + sql.Add(' Set AOrddefstr2='''+Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''''); + SQL.Add(',Editer='''+Trim(DName)+''''); + SQL.Add(',Edittime=getdate() '); + SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); + { sql.Add(' UPdate WFB_MJJY Set MJStr1='''+Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''''); + SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); } + ExecSQL; + end; + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmProductOrderAnPaiGQX.V2Column5PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrderUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + Self.CDS_Sub.Edit; + Self.CDS_Sub.FieldByName('AOrddefstr3').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmProductOrderAnPaiGQX.V2Column6PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +var + mvalue:string; +begin + mvalue:=Trim(CDS_Sub.FieldByName('AOrdDefNote1').AsString); + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:='JYYQ'; + flagname:='Ҫ'; + if ShowModal=1 then + begin + Self.CDS_Sub.Edit; + Self.CDS_Sub.FieldByName('AOrdDefNote1').Value:=mvalue+frmZDYHelpSel.ReturnStr; + {with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate JYOrder_Sub_AnPai '); + sql.Add(' Set AOrdDefNote1='''+Trim(mvalue+frmZDYHelpSel.ReturnStr)+''''); + SQL.Add(',Editer='''+Trim(DName)+''''); + SQL.Add(',Edittime=getdate() '); + SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); + ExecSQL; + end; } + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmProductOrderAnPaiGQX.V2Column8PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + //flag:='RKPlace'; + flag:='FactoryNo1Name'; + flagname:='Ⱦ'; + MainType:='Ⱦ'; + if ShowModal=1 then + begin + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL A '); + sql.Add(' where A.FirstNo='''+Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYNo').AsString)+''''); + sql.Add(' and A.OrdSubId='''+Trim(CDS_Sub.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + Application.MessageBox('ȾûӦ!','ʾ',0); + + end else + begin + with CDS_Sub do + begin + Edit; + FieldByName('AOrddefstr4').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + FieldByName('AOrddefstr5').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + {with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate JYOrder_Sub_AnPai '); + sql.Add(' Set AOrddefstr5='''+Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString)+''''); + sql.Add(' ,AOrddefstr4='''+Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''''); + SQL.Add(',Editer='''+Trim(DName)+''''); + SQL.Add(',Edittime=getdate() '); + SQL.Add(' where APId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); + ExecSQL; + end;} + end; + + end; + end; + finally + //frmZDYHelp.Free; + end; +end; + +procedure TfrmProductOrderAnPaiGQX.ToolButton4Click(Sender: TObject); +var + FDW:String; +begin + if CDS_Sub.Locate('ADefDate1',null,[])=True then + begin + Application.MessageBox('زʱ䲻Ϊ!','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('AOrddefstr4',null,[])=True then + begin + Application.MessageBox('ȾΪ!','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('AOrddefstr4','',[])=True then + begin + Application.MessageBox('ȾΪ!','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('GangNo',null,[])=True then + begin + Application.MessageBox('׺ŲΪ!','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('AOrddefstr2',null,[])=True then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('AOrddefstr2','',[])=True then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('AOrddefstr2','Kg',[])=True then + begin + if Trim(CDS_Sub.FieldByName('ZSXS').AsString)='' then + begin + Application.MessageBox('ϵΪ!','ʾ',0); + Exit; + end; + end; + if CDS_Sub.Locate('AOrdQty2',null,[])=True then + begin + Application.MessageBox('ƥΪ!','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('AOrdQty1',null,[])=True then + begin + Application.MessageBox('Ϊ!','ʾ',0); + Exit; + end; + { if CDS_Sub.Locate('AOrdQty1','',[])=True then + begin + Application.MessageBox('Ϊ!','ʾ',0); + Exit; + end;} + FDW:=Trim(CDS_Sub.fieldbyname('AOrddefstr2').AsString); + if CDS_Sub.Locate('AOrddefstr2',FDW,[])=False then + begin + Application.MessageBox('λһ!','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('AOrddefstr3',null,[]) then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; + if CDS_Sub.Locate('AOrddefstr3','',[]) then + begin + Application.MessageBox('λΪ!','ʾ',0); + Exit; + end; + FDW:=Trim(CDS_Sub.fieldbyname('AOrddefstr3').AsString); + if CDS_Sub.Locate('AOrddefstr3',FDW,[])=False then + begin + Application.MessageBox('λһ!','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1* from Contract_Cloth_LL where OrdSubId='''+Trim(Order_Main.fieldbyname('Subid').AsString)+''''); + Open; + end; + if Trim(ADOQueryTemp.fieldbyname('TPUnit').AsString)='M' then + begin + if CDS_Sub.Locate('AOrddefstr2','Kg',[]) then + begin + Application.MessageBox('λΪM,زλΪKg!','ʾ',0); + Exit; + end; + end; + OrderNoM.SetFocus; + MovePanel2.Visible:=True; + MovePanel2.Refresh; + if SaveData() then + begin + MovePanel2.Visible:=False; + Application.MessageBox('ɹ!','ʾ',0); + Exit; + end; + MovePanel2.Visible:=False; +end; + +procedure TfrmProductOrderAnPaiGQX.BtnEditA1BtnClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='FactoryNo1Name'; + flagname:='Ⱦ'; + MainType:='Ⱦ'; + if ShowModal=1 then + begin + + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LL A '); + sql.Add(' where A.FirstNo='''+Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYNo').AsString)+''''); + sql.Add(' and A.OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + Application.MessageBox('ȾûӦ!','ʾ',0); + + end else + begin + BtnEditA1.Text:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + BtnEditA1.TxtCode:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYNo').AsString); + end; + + end; + end; + finally + //frmZDYHelp.Free; + end; +end; +function TfrmProductOrderAnPaiGQX.YFData():Boolean; +var + CRID,OrdMainId,YFID,Price,LLID:String; +begin + Result:=False; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete YF_Money_CR where YFTypeID='''+Trim(CDS_Sub.fieldbyname('APID').AsString)+''''); + ExecSQL; + end; + OrdMainId:=Trim(Order_Main.fieldbyname('MainId').AsString); + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CRID set CRID=CRID+1'); + sql.Add('select * from YF_Money_CRID '); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('ZdyStr1').Value:='Ӧ'; + Post; + end; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + if Trim(Order_Main.fieldbyname('DHIDHelp').AsString)='' then + sql.Add('select Top 1 * from Contract_Cloth_LLMX where DHID='''+Trim(Order_Main.fieldbyname('DHID').AsString)+'''') + else + sql.Add('select Top 1 * from Contract_Cloth_LLMX where DHID='''+Trim(Order_Main.fieldbyname('DHIDHelp').AsString)+'''') ; + Open; + end; + Price:=ADOQueryTemp.fieldbyname('JGPrice').AsString; + if Trim(Price)='' then Price:='0'; + {with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + sql.Add(' and YFTypeId='''+Trim(Order_Main.fieldbyname('LLid').AsString)+''''); + if Trim(Order_Main.fieldbyname('DHIDHelp').AsString)='' then + sql.Add(' and YFName=''Ⱦ'' ') + else + sql.Add(' and YFName=''ӹ'' '); + Open; + end;} + if CDS_Sub.FieldByName('AOrdFlag1').AsBoolean=False then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + sql.Add(' and YFTypeId='''+Trim(CDS_Sub.fieldbyname('APId').AsString)+''''); + if Trim(Order_Main.fieldbyname('DHIDHelp').AsString)='' then + sql.Add(' and YFName=''Ⱦ'' ') + else + sql.Add(' and YFName=''ӹ'' '); + Open; + end; + + if ADOQueryTemp.IsEmpty then + begin + + if GetLSNo(ADOQueryCmd,YFID,'RJ','YF_Money_CR',3,1)=False then + begin + Application.MessageBox('ȡȾӦʧ!','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('YFID').Value:=Trim(YFID); + FieldByName('YFTypeId').Value:=Trim(CDS_Sub.fieldbyname('APId').AsString); + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('CRType').Value:='ӦǼ'; + FieldByName('CRFlag').Value:='Ӧ'; + FieldByName('QtyFlag').Value:=1; + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('CRTime').Value:=CDS_Sub.fieldbyname('ADefDate1').Value; + FieldByName('Qty').Value:=CDS_Sub.fieldbyname('AOrdQty1').Value; + FieldByName('YFType').Value:='Զ'; + FieldByName('Price').Value:=Price; + FieldByName('HuiLv').Value:=1; + FieldByName('BZType').Value:=''; + FieldByName('ComTaiTou').Value:=Trim(Order_Main.fieldbyname('OrdDefStr2').AsString); + FieldByName('QtyUnit').Value:=Trim(Order_Main.fieldbyname('TPUnit').AsString); + if Trim(Order_Main.fieldbyname('DHIDHelp').AsString)='' then + FieldByName('YFName').Value:='Ⱦ' + else + FieldByName('YFName').Value:='ӹ'; + FieldByName('MainId').Value:=Trim(OrdMainId); + Post; + end; + end else + begin + YFID:=Trim(ADOQueryTemp.fieldbyname('YFID').AsString); + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate YF_Money_CR Set Price='+Price); + sql.Add(',Qty='+CDS_Sub.fieldbyname('AOrdQty1').AsString); + SQL.Add(',CRTime='''+Trim(CDS_Sub.fieldbyname('ADefDate1').AsString)+''''); + sql.Add(' where YFID='''+Trim(YFID)+''''); + ExecSQL; + end; + end; + end; + + + //if Trim(Order_Main.fieldbyname('DHIDHelp').AsString)='' then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select Case when HXQty>0 then HCQty-HXQty else HCQty end as HCQty'); + SQL.Add(',Case when HXPS>0 then HCPS-HXPS else HCPS end as HCPS'); + SQL.Add(' from Contract_Cloth_LL where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + Open; + end; + { with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('update YF_Money_CR Set Qty='+ADOQueryTemp.fieldbyname('HCQty').AsString); + sql.Add(',PS='+ADOQueryTemp.fieldbyname('HCPS').AsString); + sql.Add(' where YFTypeId='''+Trim(Order_Main.fieldbyname('LLid').AsString)+''''); + ExecSQL; + end; } + end; + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CR Set Money=Price*Qty,BBMoney=Price*Qty'); + sql.Add(' where YFID='''+Trim(YFID)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + Result:=True; +end; +function TfrmProductOrderAnPaiGQX.DELYFData():Boolean; +var + CRID,OrdMainId,YFID,Price,LLID:String; +begin + Result:=False; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete YF_Money_CR where YFTypeID='''+Trim(CDS_Sub.fieldbyname('APID').AsString)+''''); + ExecSQL; + end; + OrdMainId:=Trim(Order_Main.fieldbyname('MainId').AsString); + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(Order_Main.fieldbyname('FirstName').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + CRID:=ADOQueryTemp.fieldbyname('CRID').AsString; + end else + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_CRID set CRID=CRID+1'); + sql.Add('select * from YF_Money_CRID '); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from YF_Money_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=StrToInt(CRID); + FieldByName('FactoryName').Value:=Trim(Order_Main.fieldbyname('FirstName').AsString); + FieldByName('ZdyStr1').Value:='Ӧ'; + Post; + end; + end; + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select Case when HXQty>0 then HCQty-HXQty else HCQty end as HCQty'); + SQL.Add(',Case when HXPS>0 then HCPS-HXPS else HCPS end as HCPS'); + SQL.Add(' from Contract_Cloth_LL where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + Open; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + Result:=True; +end; + +procedure TfrmProductOrderAnPaiGQX.BtnEditA2BtnClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='OrderUnit'; + flagname:='λ'; + if ShowModal=1 then + begin + BtnEditA2.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmProductOrderAnPaiGQX.BtnEditA3BtnClick(Sender: TObject); +begin + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:='JYYQ'; + flagname:='Ҫ'; + if ShowModal=1 then + begin + BtnEditA3.Text:=Trim(BtnEditA3.Text)+frmZDYHelpSel.ReturnStr; + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TfrmProductOrderAnPaiGQX.ToolButton8Click(Sender: TObject); +begin + CDS_Sub.DisableControls; + with CDS_Sub do + begin + First; + while not Eof do + begin + Edit; + FieldByName('SSel').Value:=True; + Post; + Next; + end; + end; + CDS_Sub.EnableControls; +end; + +procedure TfrmProductOrderAnPaiGQX.ToolButton7Click(Sender: TObject); +begin + CDS_Sub.DisableControls; + with CDS_Sub do + begin + First; + while not Eof do + begin + Edit; + FieldByName('SSel').Value:=False; + Post; + Next; + end; + end; + CDS_Sub.EnableControls; +end; + +procedure TfrmProductOrderAnPaiGQX.BtnEditA4BtnClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='FactoryNo1Name'; + flagname:=''; + MainType:=''; + if ShowModal=1 then + begin + BtnEditA4.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmProductOrderAnPaiGQX.V2Column11PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='FactoryNo1Name'; + flagname:=''; + MainType:=''; + if ShowModal=1 then + begin + begin + with CDS_Sub do + begin + Edit; + FieldByName('AOrddefstr6').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + + end; + end; + finally + //frmZDYHelp.Free; + end; +end; + +procedure TfrmProductOrderAnPaiGQX.ToolButton9Click(Sender: TObject); +begin + try + frmBefChkHX:=TfrmBefChkHX.Create(Application); + with frmBefChkHX do + begin + orderno.Caption:=Trim(Self.Order_Main.fieldbyname('OrderNo').AsString); + PRTColor.Caption:=Trim(Self.Order_Main.fieldbyname('PRTColor').AsString); + FirstName.Caption:=Trim(Self.Order_Main.fieldbyname('FirstName').AsString); + PBFactory.Caption:=Trim(Self.Order_Main.fieldbyname('PBFactory').AsString); + FLLID:=Trim(Self.Order_Main.fieldbyname('LLID').AsString); + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_BefChkHX where LLID='''+Trim(Order_Main.fieldbyname('LLID').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQuery1,ClientDataSet1); + SInitCDSData20(ADOQuery1,ClientDataSet1); + if ShowModal=1 then + begin + + end; + end; + finally + frmBefChkHX.Free; + end; +end; + +procedure TfrmProductOrderAnPaiGQX.ToolButton10Click(Sender: TObject); +begin + if Order_Main.IsEmpty=False then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select A.*,B.*,C.FirstName,C.FirstNo,C.TPPS,C.TPMQty,C.LLID,C.HXPS,C.HXQty,C.HXUnit '); + sql.Add(',PBFactory=(select Top 1 AA.factoryNoName from Contract_Main AA inner join Contract_Cloth_DH BB on AA.MainId=BB.MainId'); + sql.Add(' where BB.DHID=C.DHID)'); + sql.Add(',HCQty=(select sum(AOrdQty1) from JYOrder_Sub_AnPai AA where AA.SubId=B.SubId)'); + sql.Add(',HCPS=(select sum(AOrdQty2) from JYOrder_Sub_AnPai AA where AA.SubId=B.SubId)'); + sql.Add(',HCUnit=(select Top 1 AOrddefstr2 from JYOrder_Sub_AnPai AA where AA.SubId=B.SubId)'); + sql.Add('from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.MainId '); + sql.Add(' inner join Contract_Cloth_LL C on C.OrdSubId=B.SubId'); + sql.Add('where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add(' and C.JXJGFlag=0'); + Open; + end; + SCreateCDS20(ADOQueryTemp,Order_Main); + SInitCDSData20(ADOQueryTemp,Order_Main); + end; +end; + +procedure TfrmProductOrderAnPaiGQX.ToolButton11Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + MovePanel2.Visible:=True; + MovePanel2.Refresh; + try + ADOQueryCmd.Connection.BeginTrans; + Order_Main.DisableControls; + with Order_Main do + begin + First; + while not Eof do + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Sub_AnPai where LLId='''+Trim(Order_Main.fieldbyname('LLId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_Sub); + SInitCDSData20(ADOQueryTemp,CDS_Sub); + with CDS_Sub do + begin + First; + while not Eof do + begin + if YFData()=False then + begin + MovePanel2.Visible:=False; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('²Ӧʧ!','ʾ',0); + Exit; + end; + Next; + end; + end; + Next; + end; + end; + Order_Main.EnableControls; + MovePanel2.Visible:=False; + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('ɹ!','ʾ',0); + Exit; + except + MovePanel2.Visible:=False; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣!','ʾ',0); + end; +end; + +end. diff --git a/打卷检验管理/U_ProductOrderLBNameSet.dfm b/打卷检验管理/U_ProductOrderLBNameSet.dfm new file mode 100644 index 0000000..b3ebe14 --- /dev/null +++ b/打卷检验管理/U_ProductOrderLBNameSet.dfm @@ -0,0 +1,929 @@ +object frmProductOrderLBNameSet: TfrmProductOrderLBNameSet + Left = 424 + Top = 297 + Width = 1366 + Height = 738 + Caption = #26631#31614#35774#32622 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1350 + Height = 62 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 107 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object ToolButton1: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 58 + OnClick = ToolButton1Click + end + object TBPrint: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + Visible = False + OnClick = TBPrintClick + end + object ToolButton2: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #26631#31614#35774#32622 + ImageIndex = 60 + OnClick = ToolButton2Click + end + object ToolButton4: TToolButton + Left = 339 + Top = 0 + AutoSize = True + Caption = #21253#26631#31614#35774#32622 + ImageIndex = 60 + OnClick = ToolButton4Click + end + object ToolButton3: TToolButton + Left = 438 + Top = 0 + AutoSize = True + Caption = #30382#37325#35774#32622'(Kg)' + ImageIndex = 60 + OnClick = ToolButton3Click + end + object ToolButton10: TToolButton + Left = 549 + Top = 0 + AutoSize = True + Caption = #21152#37325#35774#32622 + ImageIndex = 60 + OnClick = ToolButton10Click + end + object ToolButton11: TToolButton + Left = 636 + Top = 0 + AutoSize = True + Caption = #21152#38271#35774#32622 + ImageIndex = 60 + OnClick = ToolButton11Click + end + object ToolButton12: TToolButton + Left = 723 + Top = 0 + AutoSize = True + Caption = #23450#38271#35774#32622 + ImageIndex = 60 + OnClick = ToolButton12Click + end + object ToolButton5: TToolButton + Left = 810 + Top = 0 + AutoSize = True + Caption = #25442#31639#31995#25968 + ImageIndex = 60 + Wrap = True + OnClick = ToolButton5Click + end + object ToolButton6: TToolButton + Left = 0 + Top = 30 + AutoSize = True + Caption = #38271#24230#20301#25968 + ImageIndex = 60 + OnClick = ToolButton6Click + end + object ToolButton9: TToolButton + Left = 87 + Top = 30 + AutoSize = True + Caption = #37325#37327#20301#25968 + ImageIndex = 60 + OnClick = ToolButton9Click + end + object ToolButton13: TToolButton + Left = 174 + Top = 30 + AutoSize = True + Caption = #27599#21253#21367#25968 + ImageIndex = 60 + OnClick = ToolButton13Click + end + object ToolButton14: TToolButton + Left = 261 + Top = 30 + AutoSize = True + Caption = #27599#21367#38271#24230 + ImageIndex = 60 + OnClick = ToolButton14Click + end + object ToolButton7: TToolButton + Left = 348 + Top = 30 + AutoSize = True + Caption = #39044#35272#21367#26631#31614 + ImageIndex = 12 + OnClick = ToolButton7Click + end + object ToolButton15: TToolButton + Left = 447 + Top = 30 + Caption = #39044#35272#20013#25991#26631#31614 + ImageIndex = 57 + OnClick = ToolButton15Click + end + object ToolButton8: TToolButton + Left = 554 + Top = 30 + AutoSize = True + Caption = #39044#35272#21253#26631#31614 + ImageIndex = 12 + OnClick = ToolButton8Click + end + object PiZhong: TEdit + Left = 653 + Top = 30 + Width = 121 + Height = 30 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + end + object TBClose: TToolButton + Left = 774 + Top = 30 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 62 + Width = 1350 + Height = 61 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 15 + Width = 52 + Height = 12 + Caption = #21046#21333#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 191 + Top = 15 + Width = 39 + Height = 12 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 338 + Top = 15 + Width = 54 + Height = 12 + Caption = #23458' '#25143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 497 + Top = 15 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 191 + Top = 39 + Width = 39 + Height = 12 + Caption = #21512#21516#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 497 + Top = 39 + Width = 54 + Height = 12 + Caption = #35268' '#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 338 + Top = 39 + Width = 52 + Height = 12 + Caption = #20135#21697#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 667 + Top = 39 + Width = 26 + Height = 12 + Caption = #20811#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 667 + Top = 15 + Width = 26 + Height = 12 + Caption = #38376#24133 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 77 + Top = 10 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 76 + Top = 35 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + end + object OrderNo: TEdit + Tag = 2 + Left = 232 + Top = 11 + Width = 80 + Height = 20 + TabOrder = 2 + OnChange = OrderNoChange + OnKeyPress = OrderNoKeyPress + end + object CustomerNoName: TEdit + Tag = 2 + Left = 391 + Top = 11 + Width = 80 + Height = 20 + TabOrder = 3 + OnChange = OrderNoChange + end + object MPRTCodeName: TEdit + Tag = 2 + Left = 551 + Top = 11 + Width = 80 + Height = 20 + TabOrder = 4 + OnChange = OrderNoChange + end + object ConNo: TEdit + Tag = 2 + Left = 232 + Top = 35 + Width = 80 + Height = 20 + TabOrder = 7 + OnChange = OrderNoChange + end + object MPRTSpec: TEdit + Tag = 2 + Left = 551 + Top = 35 + Width = 80 + Height = 20 + TabOrder = 9 + OnChange = OrderNoChange + end + object MPRTCode: TEdit + Tag = 2 + Left = 391 + Top = 35 + Width = 80 + Height = 20 + TabOrder = 8 + OnChange = OrderNoChange + end + object MPRTKZ: TEdit + Tag = 2 + Left = 696 + Top = 35 + Width = 80 + Height = 20 + TabOrder = 10 + OnChange = OrderNoChange + end + object MPRTMF: TEdit + Tag = 2 + Left = 696 + Top = 11 + Width = 80 + Height = 20 + TabOrder = 5 + OnChange = OrderNoChange + end + object CheckBox1: TCheckBox + Left = 803 + Top = 10 + Width = 97 + Height = 17 + Caption = #20840#36873 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = CheckBox1Click + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 123 + Width = 1350 + Height = 545 + Align = alTop + TabOrder = 2 + object Tv1: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.OnGetContentStyle = Tv1StylesGetContentStyle + Styles.Header = DataLink_TradeManage.Default + object v1Column4: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 49 + end + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v1ConNo: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 71 + end + object v1PRTCode: TcxGridDBColumn + Caption = #20135#21697#32534#21495 + DataBinding.FieldName = 'PRTCode' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 91 + end + object v1OrdDate: TcxGridDBColumn + Caption = #21046#21333#26085#26399 + DataBinding.FieldName = 'OrdDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DlyDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + OnCustomDrawCell = v1DeliveryDateCustomDrawCell + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 66 + end + object v1CustomerNoName: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 62 + end + object v1PRTCodeName: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'PRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 69 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'PRTSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1Column1: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'prtcolor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object vPRTMF: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'PRTMF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'PRTKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 59 + end + object v1SLbName: TcxGridDBColumn + Caption = #26631#31614#21517#31216 + DataBinding.FieldName = 'SLbName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 123 + end + object v1BLbName: TcxGridDBColumn + Caption = #21253#26631#31614 + DataBinding.FieldName = 'NLbName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 94 + end + object v1SPiZhong: TcxGridDBColumn + Caption = #30382#37325'(Kg)' + DataBinding.FieldName = 'SPiZhong' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 72 + end + object v1Orddefstr15: TcxGridDBColumn + Caption = #21367#21495#39034#24207 + DataBinding.FieldName = 'Orddefstr15' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.Items.Strings = ( + '' + #25353#32568#21495#29983#25104 + #25353#39068#33394#29983#25104 + #25353#35746#21333#29983#25104 + #26080#35268#21017#29983#25104) + Properties.OnEditValueChanged = v1Column2PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 107 + end + object v1Column2: TcxGridDBColumn + Caption = #25442#31639#31995#25968 + DataBinding.FieldName = 'kmxs' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object v1Column3: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column5: TcxGridDBColumn + Caption = #38271#24230#20301#25968 + DataBinding.FieldName = 'xsws' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column6: TcxGridDBColumn + Caption = #37325#37327#20301#25968 + DataBinding.FieldName = 'XSWS1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column7: TcxGridDBColumn + Caption = #21152#37325 + DataBinding.FieldName = 'JIAZhong' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 65 + end + object v1Column8: TcxGridDBColumn + Caption = #21152#38271 + DataBinding.FieldName = 'jiachang' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 65 + end + object Tv1Column1: TcxGridDBColumn + Caption = #23450#38271 + DataBinding.FieldName = 'DC' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object Tv1Column2: TcxGridDBColumn + Caption = #25171#21253#26041#24335 + DataBinding.FieldName = 'baotype' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.Items.Strings = ( + '' + #21333#21367#21333#21253 + #25163#21160#25171#21253 + #22810#21367#21333#33394) + Properties.OnEditValueChanged = Tv1Column2PropertiesEditValueChanged + Width = 60 + end + object Tv1Column3: TcxGridDBColumn + Caption = #27599#21253#21367#25968 + DataBinding.FieldName = 'JS' + Width = 60 + end + object Tv1Column4: TcxGridDBColumn + Caption = #27599#21253#38271#24230 + DataBinding.FieldName = 'PRTDC' + Width = 60 + end + object Tv1Column5: TcxGridDBColumn + Caption = #21253#21495#39034#24207 + DataBinding.FieldName = 'baosx' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.Items.Strings = ( + #25353#39068#33394#29983#25104 + #25353#35746#21333#29983#25104 + #25353#32568#21495#29983#25104) + Properties.OnEditValueChanged = Tv1Column5PropertiesEditValueChanged + Width = 60 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel4: TPanel + Left = 442 + Top = 137 + Width = 231 + Height = 216 + TabOrder = 3 + Visible = False + object Label14: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 229 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #25253#34920#21517#31216 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnMouseMove = Panel10MouseMove + object Image2: TImage + Left = 206 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object Button1: TButton + Left = 83 + Top = 176 + Width = 75 + Height = 25 + Caption = #30830#23450 + TabOrder = 2 + OnClick = Button1Click + end + object RadioGroup1: TRadioGroup + Left = 56 + Top = 24 + Width = 129 + Height = 145 + ItemIndex = 0 + Items.Strings = ( + #21253#35013#25351#31034#21333 + #39068#33394#26679 + #21697#36136#26679 + #33457#22411#26679) + TabOrder = 1 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 593 + Top = 176 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 688 + Top = 224 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 552 + Top = 216 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 312 + Top = 248 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 440 + Top = 184 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 464 + Top = 208 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 336 + Top = 200 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 392 + Top = 200 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 576 + Top = 248 + end + object PopupMenu1: TPopupMenu + Left = 256 + Top = 176 + object N2: TMenuItem + Caption = #26377#20379#24212#21830 + end + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 360 + Top = 240 + end + object CDS_Print: TClientDataSet + Aggregates = <> + Params = <> + Left = 344 + Top = 288 + end + object ODPat: TOpenDialog + Options = [ofReadOnly, ofAllowMultiSelect, ofPathMustExist, ofFileMustExist, ofEnableSizing] + Left = 512 + Top = 501 + end + object ADOQueryCmdSC: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 296 + Top = 304 + object ADOQueryCmdFileContent: TBlobField + FieldName = 'Files' + end + object ADOQueryCmdFtFileName: TStringField + FieldName = 'FileName' + Size = 40 + end + object ADOQueryCmdFileEditDate: TDateTimeField + FieldName = 'FileEditDate' + end + object ADOQueryCmdFileSize: TFloatField + FieldName = 'FileSize' + end + object ADOQueryCmdFiller: TStringField + FieldName = 'Filler' + end + object ADOQueryCmdLastEditTime: TDateTimeField + FieldName = 'LastEditTime' + end + object ADOQueryCmdLastEditer: TStringField + FieldName = 'LastEditer' + end + object ADOQueryCmdFileCreateDate: TDateTimeField + FieldName = 'FileCreateDate' + end + object ADOQueryCmdchildPath: TStringField + FieldName = 'FilePath' + end + object ADOQueryCmdFileType: TStringField + FieldName = 'FileType' + end + end +end diff --git a/打卷检验管理/U_ProductOrderLBNameSet.pas b/打卷检验管理/U_ProductOrderLBNameSet.pas new file mode 100644 index 0000000..49161fa --- /dev/null +++ b/打卷检验管理/U_ProductOrderLBNameSet.pas @@ -0,0 +1,1558 @@ +unit U_ProductOrderLBNameSet; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, + cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, + cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System, + RM_Common, RM_Class, RM_GridReport, RM_e_Xls, StrUtils, Menus, cxDropDownEdit, + cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; + +type + TfrmProductOrderLBNameSet = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + OrderNo: TEdit; + v1OrderNo: TcxGridDBColumn; + v1OrdDate: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1ConNo: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + Order_Main: TClientDataSet; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + v1CustomerNoName: TcxGridDBColumn; + Label4: TLabel; + CustomerNoName: TEdit; + v1PRTCodeName: TcxGridDBColumn; + vPRTMF: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N2: TMenuItem; + ToolButton1: TToolButton; + Label8: TLabel; + MPRTCodeName: TEdit; + Label9: TLabel; + ConNo: TEdit; + v1PRTKZ: TcxGridDBColumn; + v1PRTCode: TcxGridDBColumn; + Label10: TLabel; + MPRTSpec: TEdit; + Label11: TLabel; + MPRTCode: TEdit; + Label12: TLabel; + MPRTKZ: TEdit; + Label13: TLabel; + MPRTMF: TEdit; + ADOQueryPrint: TADOQuery; + CDS_Print: TClientDataSet; + v1Column4: TcxGridDBColumn; + Panel4: TPanel; + Label14: TLabel; + Panel10: TPanel; + Image2: TImage; + Button1: TButton; + RadioGroup1: TRadioGroup; + v1SLbName: TcxGridDBColumn; + v1SPiZhong: TcxGridDBColumn; + ToolButton2: TToolButton; + ToolButton3: TToolButton; + PiZhong: TEdit; + CheckBox1: TCheckBox; + v1BLbName: TcxGridDBColumn; + ToolButton4: TToolButton; + v1Column1: TcxGridDBColumn; + v1Orddefstr15: TcxGridDBColumn; + ODPat: TOpenDialog; + v1Column2: TcxGridDBColumn; + ToolButton5: TToolButton; + v1Column3: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + ToolButton6: TToolButton; + ToolButton7: TToolButton; + ToolButton8: TToolButton; + v1Column6: TcxGridDBColumn; + ToolButton9: TToolButton; + ToolButton10: TToolButton; + v1Column7: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + ToolButton11: TToolButton; + Tv1Column1: TcxGridDBColumn; + ToolButton12: TToolButton; + ADOQueryCmdSC: TADOQuery; + ADOQueryCmdFileContent: TBlobField; + ADOQueryCmdFtFileName: TStringField; + ADOQueryCmdFileEditDate: TDateTimeField; + ADOQueryCmdFileSize: TFloatField; + ADOQueryCmdFiller: TStringField; + ADOQueryCmdLastEditTime: TDateTimeField; + ADOQueryCmdLastEditer: TStringField; + ADOQueryCmdFileCreateDate: TDateTimeField; + ADOQueryCmdchildPath: TStringField; + ADOQueryCmdFileType: TStringField; + Tv1Column2: TcxGridDBColumn; + Tv1Column3: TcxGridDBColumn; + Tv1Column4: TcxGridDBColumn; + Tv1Column5: TcxGridDBColumn; + ToolButton13: TToolButton; + ToolButton14: TToolButton; + ToolButton15: TToolButton; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure OrderNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); + procedure CheckBox2Click(Sender: TObject); + procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); + procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); + procedure ToolButton1Click(Sender: TObject); + procedure OrderNoKeyPress(Sender: TObject; var Key: Char); + procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); + procedure Button1Click(Sender: TObject); + procedure Image2Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure ToolButton4Click(Sender: TObject); + procedure v1Column2PropertiesEditValueChanged(Sender: TObject); + procedure ToolButton5Click(Sender: TObject); + procedure ToolButton6Click(Sender: TObject); + procedure ToolButton7Click(Sender: TObject); + procedure ToolButton8Click(Sender: TObject); + procedure ToolButton9Click(Sender: TObject); + procedure ToolButton10Click(Sender: TObject); + procedure ToolButton11Click(Sender: TObject); + procedure ToolButton12Click(Sender: TObject); + procedure ToolButton13Click(Sender: TObject); + procedure ToolButton14Click(Sender: TObject); + procedure Tv1Column2PropertiesEditValueChanged(Sender: TObject); + procedure Tv1Column5PropertiesEditValueChanged(Sender: TObject); + procedure ToolButton15Click(Sender: TObject); + private + DQdate: TDateTime; + procedure InitGrid(); + procedure InitForm(); + function PostFileToData(FBQ: string; fFilePath: string): boolean; + + { Private declarations } + public + FFInt, FCloth: Integer; + + { Public declarations } + end; + +var + frmProductOrderLBNameSet: TfrmProductOrderLBNameSet; + newh: hwnd; + +implementation + +uses + U_DataLink, U_OrderInPut, U_Fun; + +{$R *.dfm} + +procedure TfrmProductOrderLBNameSet.FormDestroy(Sender: TObject); +begin + frmProductOrderLBNameSet := nil; +end; + +procedure TfrmProductOrderLBNameSet.FormClose(Sender: TObject; var Action: TCloseAction); +begin + Action := caFree; +end; + +procedure TfrmProductOrderLBNameSet.FormCreate(Sender: TObject); +begin + cxgrid1.Align := alClient; + //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; + //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + DQdate := SGetServerDate(ADOQueryTemp); +end; + +procedure TfrmProductOrderLBNameSet.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ǩ1', Tv1, 'ָʾ'); +end; + +procedure TfrmProductOrderLBNameSet.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.add('select A.*,B.* from JYOrder_Main A '); + Sql.add('inner join JYOrder_Sub B on B.Mainid=A.Mainid '); + sql.add('where A.Filltime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + ''' '); + sql.add('and A.Filltime<''' + Trim(FormatDatetime('yyyy-MM-dd', EndDate.DateTime + 1)) + ''' '); + Open; + end; + SCreateCDS20(ADOQueryMain, Order_Main); + SInitCDSData20(ADOQueryMain, Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmProductOrderLBNameSet.InitForm(); +begin + ReadCxGrid('ǩ1', Tv1, 'ָʾ'); + BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 7; + EndDate.DateTime := SGetServerDate10(ADOQueryTemp); + InitGrid(); +end; + +procedure TfrmProductOrderLBNameSet.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active = False then + Exit; + SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); + SCreateCDS20(ADOQueryMain, Order_Main); + SInitCDSData20(ADOQueryMain, Order_Main); +end; + +procedure TfrmProductOrderLBNameSet.TBPrintClick(Sender: TObject); +begin + Panel4.Visible := True; +end; + +procedure TfrmProductOrderLBNameSet.TBRafreshClick(Sender: TObject); +begin + CheckBox1.Checked := False; + with Order_Main do + begin + DisableControls; + first; + while not Eof do + begin + edit; + fieldbyname('Ssel').AsBoolean := False; + post; + next; + end; + first; + EnableControls; + end; + InitGrid(); +end; + +procedure TfrmProductOrderLBNameSet.OrderNoChange(Sender: TObject); +begin + if ADOQueryMain.Active = False then + Exit; + SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); + SCreateCDS20(ADOQueryMain, Order_Main); + SInitCDSData20(ADOQueryMain, Order_Main); +end; + +procedure TfrmProductOrderLBNameSet.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmProductOrderLBNameSet.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); +begin + if ToolButton1.Visible = False then + Exit; + ToolButton1.Click; +end; + +procedure TfrmProductOrderLBNameSet.CheckBox2Click(Sender: TObject); +begin + TBRafresh.Click; +end; + +procedure TfrmProductOrderLBNameSet.Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); +var + id, id10: Integer; +begin + {try + if Tv1.GroupedItemCount=0 then + begin + Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; + Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; + if Trim(VarToStr(ARecord.Values[id]))='' then Exit; + if Id<0 then Exit; + if ARecord.Values[id10]='' then exit; + if (ARecord.Values[id]-DQdate)>=4 then Exit; + if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then + AStyle:=DataLink_.QHuangSe + else + if ARecord.Values[id]-DQdate<0 then + begin + AStyle:=DataLink_OrderManage.FenHongS; + end; + end else + begin + + end; + except + end; } +end; + +procedure TfrmProductOrderLBNameSet.v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +begin + { Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount; + Id10:=TV1.GetColumnByFieldName('SubStatus').Index; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id10]='' then Exit; + if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit; + if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then + ACanvas.Brush.Color:=clYellow + else + if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then + begin + ACanvas.Brush.Color:=clRed; + end; + begin + ACanvas.Brush.Color:=clRed; + end else + if AViewInfo.GridRecord.Values[Id]='Purple' then + begin + ACanvas.Brush.Color:=clPurple; + end else + if AViewInfo.GridRecord.Values[Id]='Olive' then + begin + ACanvas.Brush.Color:=clOlive; + end else + if AViewInfo.GridRecord.Values[Id]='Teal' then + begin + ACanvas.Brush.Color:=clTeal; + end else + if AViewInfo.GridRecord.Values[Id]='Background' then + begin + ACanvas.Brush.Color:=clBackground; + end; } +end; + +procedure TfrmProductOrderLBNameSet.ToolButton1Click(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + try + frmOrderInPut := TfrmOrderInPut.Create(Application); + with frmOrderInPut do + begin + PState := 1; + FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString); + ToolBar2.Visible := False; + TBSave.Visible := False; + ScrollBox1.Enabled := False; + Tv1.OptionsSelection.CellSelect := False; + if ShowModal = 1 then + begin + + end; + end; + finally + frmOrderInPut.Free; + end; +end; + +procedure TfrmProductOrderLBNameSet.OrderNoKeyPress(Sender: TObject; var Key: Char); +begin + if Key = #13 then + begin + if Length(OrderNo.Text) < 3 then + Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered := False; + Close; + sql.Clear; + sql.add('select A.*,B.* from JYOrder_Main A '); + Sql.add('inner join JYOrder_Sub B on B.Mainid=A.Mainid '); + sql.Add('where A.orderNo like ' + quotedstr('%' + trim(orderNo.Text) + '%')); + // ExecSQL; + Open; + end; + SCreateCDS20(ADOQueryMain, Order_Main); + SInitCDSData20(ADOQueryMain, Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +procedure TfrmProductOrderLBNameSet.Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); +begin + ReleaseCapture; + TWinControl(Panel4).Perform(WM_SYSCOMMAND, $F012, 0); +end; + +procedure TfrmProductOrderLBNameSet.Button1Click(Sender: TObject); +var + fPrintFile: string; + Porderno, LBName: string; + i, j: Integer; + OrderKg: Double; +begin + if Order_Main.IsEmpty then + Exit; + LBName := RadioGroup1.Items.Strings[RadioGroup1.ItemIndex]; + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(LBName) + '.rmf'; + if RadioGroup1.ItemIndex = 0 then + begin + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select A.*,B.*,ColorCount=(select isnull(Count(*),0) from JYOrder_Sub where MainId=A.MainId), '); + sql.add('ZQty=(select sum(PRTOrderQty) from JYOrder_Sub where MainId=A.MainId)'); + SQL.Add(', Case when B.OrderUnit=''M'' then Cast (dbo.F_Get_Order_MFKZ(A.MainId,''MF'') '); + sql.Add(' *1.00/100*B.PRTOrderQty*dbo.F_Get_Order_MFKZ(A.MainId,''KZ'')/1000 as varchar(20))+''Kg'' '); + SQL.Add(' when B.OrderUnit=''Y'' then Cast (dbo.F_Get_Order_MFKZ(A.MainId,''MF'')'); + sql.Add(' *1.00/100*B.PRTOrderQty*0.9144*dbo.F_Get_Order_MFKZ(A.MainId,''KZ'')/1000 as varchar(20))+''Kg'' '); + sql.Add(' else '''' end as PRTOrderKgQtyStr '); + sql.Add(' from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.MainId '); + sql.Add(' and A.MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); + Open; + end; + + end + else + begin + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('exec P_View_OrderSub :begdate,:enddate,:wsql '); + Parameters.ParamByName('WSql').Value := ' and A.MainId=''' + Trim(Order_Main.fieldbyname('Mainid').AsString) + ''''; + Parameters.ParamByName('begdate').Value := '1899-01-01'; + Parameters.ParamByName('enddate').Value := '2050-01-01'; + Open; + end; + if Trim(ADOQueryPrint.FieldByName('PRTHX').AsString) <> '' then + begin + if Trim(LBName) = 'ɫ' then + begin + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ɫ.rmf'; + end; + end; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select isnull(sum(PRTOrderKgQty),0) PRTOrderKgHZQty from('); + sql.Add('select '); + SQL.Add(' Case when B.OrderUnit=''M'' then Cast(dbo.F_Get_Order_MFKZ(A.MainId,''MF'') '); + sql.Add(' *1.00/100*B.PRTOrderQty*dbo.F_Get_Order_MFKZ(A.MainId,''KZ'')/1000 as decimal(18,2))'); + SQL.Add(' when B.OrderUnit=''Y'' then Cast(dbo.F_Get_Order_MFKZ(A.MainId,''MF'')'); + sql.Add(' *1.00/100*B.PRTOrderQty*0.9144*dbo.F_Get_Order_MFKZ(A.MainId,''KZ'')/1000 As decimal(18,2)) '); + sql.Add(' else 0 end as PRTOrderKgQty'); + sql.Add(' from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.MainId '); + sql.Add(' and A.MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''')AA'); + Open; + end; + OrderKg := ADOQueryTemp.fieldbyname('PRTOrderKgHZQty').Value; + SCreateCDS20(ADOQueryPrint, CDS_Print); + SInitCDSData20(ADOQueryPrint, CDS_Print); + + if FileExists(fPrintFile) then + begin + RM1.LoadFromFile(fPrintFile); + if OrderKg > 0 then + RMVariables['OrderKg'] := '/' + Trim(FloatToStr(OrderKg)) + 'Kg' + else + RMVariables['OrderKg'] := ''; + RM1.ShowReport; + end + else + begin + Application.MessageBox(PChar('û' + ExtractFilePath(Application.ExeName) + 'Report\' + Trim(LBName) + '.rmf'), 'ʾ', 0); + end; +end; + +procedure TfrmProductOrderLBNameSet.Image2Click(Sender: TObject); +begin + Panel4.Visible := False; +end; + +procedure TfrmProductOrderLBNameSet.ToolButton2Click(Sender: TObject); +type + TMyFunc = function(App: Tapplication; FormH: hwnd; FormID: integer; Language: integer; WinStyle: integer; GCode: Pchar; GName: Pchar; DataBase: Pchar; Title: PChar; Parameters1: PChar; Parameters2: PChar; Parameters3: PChar; Parameters4: PChar; Parameters5: PChar; Parameters6: PChar; Parameters7: PChar; Parameters8: PChar; Parameters9: PChar; Parameters10: PChar; DataBaseStr: PChar): hwnd; stdcall; +var + Tf: TMyFunc; + Tp: TFarProc; + Th: Thandle; + LabInt, labname: string; + OpenDiaLog: TOpenDialog; + fFileName: string; + fFilePath: string; +begin + if Order_Main.IsEmpty then + exit; + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡݣ', 'ʾ', 0); + Exit; + end; + + fFileName := ''; + try + OpenDiaLog := TOpenDialog.Create(Self); + if OpenDiaLog.Execute then + begin + fFilePath := OpenDiaLog.FileName; + fFileName := ExtractFileName(OpenDiaLog.FileName); + end; + finally + end; + if trim(fFileName) = '' then + exit; + with order_Main do + begin + first; + while not Eof do + begin + if FieldByName('Ssel').AsBoolean = true then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYOrder_Sub Set SLBName=''' + Trim(fFileName) + ''''); + sql.Add(' where Subid=''' + Trim(Order_Main.fieldbyname('Subid').AsString) + ''''); + ExecSQL; + end; + Edit; + FieldByName('SLbName').Value := trim(fFileName); + + PostFileToData(fFileName, fFilePath); + end; + next; + end; + end; + + with Order_Main do + begin + DisableControls; + first; + while not Eof do + begin + edit; + fieldbyname('Ssel').AsBoolean := False; + post; + next; + end; + first; + EnableControls; + end; +end; + +function TfrmProductOrderLBNameSet.PostFileToData(FBQ: string; fFilePath: string): boolean; +var + mFileName, fFileName, fpathFileName: string; + Stream: TMemoryStream; + mfileSize: integer; + mCreationTime: TdateTime; + mWriteTime: TdateTime; +begin + result := false; + fFileName := Trim(FBQ); + fpathFileName := Trim(fFilePath); + try + ADOQueryCmdSC.Connection.BeginTrans; + try + with ADOQueryCmdSC do + begin + close; + sql.Clear; + sql.Add('delete from RT_FileUpdate'); + sql.Add('where FileName=' + quotedStr(trim(fFileName))); + execsql; + end; + with ADOQueryCmdSC do + begin + close; + sql.Clear; + sql.Add('select * from RT_FileUpdate'); + sql.Add('where FileName=' + quotedStr(trim(fFileName))); + Open; + ////////////////////////// + //ȡļϢ + GetFileInfo(Trim(fpathFileName), mfileSize, mCreationTime, mWriteTime); + + if RecordCount <= 0 then + begin + Append; + fieldByName('FileName').AsString := trim(fFileName); + end + else + begin + edit; + end; + + fieldByName('FileEditDate').Value := mWriteTime; + fieldByName('FileCreateDate').Value := mCreationTime; + fieldByName('FileSize').Value := mfileSize; + fieldByName('Filler').Value := Dname; + fieldByName('LastEditer').Value := Dname; + fieldByName('LastEditTime').Value := SGetServerDateTime(ADOQueryTemp); +// if pos('.rmf',fFileName)>0 then + begin + fieldByName('FilePath').Value := 'report'; + fieldByName('FileType').Value := ''; + end; +// else if pos('.dll',fFileName)>0 then +// begin +// fieldByName('FilePath').Value :=''; +// fieldByName('FileType').Value :='һ'; +// end +// else +// begin +// fieldByName('FilePath').Value :=''; +// fieldByName('FileType').Value :=''; +// end; + //OLEݴݿ + ADOQueryCmdFileContent.LoadFromFile(fpathFileName); + //ADOQueryCmdFileContent.LoadFromStream(Stream); + + post; + end; + finally + end; + result := true; + ADOQueryCmdSC.Connection.CommitTrans; + except + ADOQueryCmdSC.Connection.RollbackTrans; + Result := False; + application.MessageBox(pchar('ύļ[' + trim(fFileName) + ']ʧ!'), 'ʾϢ', MB_ICONERROR); + end; + +end; + +procedure TfrmProductOrderLBNameSet.ToolButton3Click(Sender: TObject); +var + FPiZhong: string; + FReal: Double; +begin + if Order_Main.IsEmpty then + exit; + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡݣ', 'ʾ', 0); + Exit; + end; + if Trim(PiZhong.Text) = '' then + begin + Application.MessageBox('ƤزΪ!', 'ʾ', 0); + Exit; + end; + if TryStrToFloat(PiZhong.Text, FReal) = False then + begin + Application.MessageBox('ƤطǷ!', 'ʾ', 0); + Exit; + end; + with order_Main do + begin + first; + while not Eof do + begin + if order_Main.FieldByName('Ssel').AsBoolean = true then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYOrder_Sub Set SPiZhong=' + Trim(PiZhong.Text)); + sql.Add(' where Subid=''' + Trim(Order_Main.fieldbyname('Subid').AsString) + ''''); + ExecSQL; + end; + with Order_Main do + begin + Edit; + FieldByName('SPiZhong').Value := PiZhong.Text; + Post; + end; + end; + next; + end; + end; + CheckBox1.Checked := False; + with Order_Main do + begin + DisableControls; + first; + while not Eof do + begin + edit; + fieldbyname('Ssel').AsBoolean := False; + post; + next; + end; + first; + EnableControls; + end; +end; + +procedure TfrmProductOrderLBNameSet.CheckBox1Click(Sender: TObject); +begin + with Order_Main do + begin + DisableControls; + first; + while not Eof do + begin + edit; + fieldbyname('Ssel').AsBoolean := CheckBox1.Checked; + post; + next; + end; + first; + EnableControls; + end; +end; + +procedure TfrmProductOrderLBNameSet.ToolButton4Click(Sender: TObject); +type + TMyFunc = function(App: Tapplication; FormH: hwnd; FormID: integer; Language: integer; WinStyle: integer; GCode: Pchar; GName: Pchar; DataBase: Pchar; Title: PChar; Parameters1: PChar; Parameters2: PChar; Parameters3: PChar; Parameters4: PChar; Parameters5: PChar; Parameters6: PChar; Parameters7: PChar; Parameters8: PChar; Parameters9: PChar; Parameters10: PChar; DataBaseStr: PChar): hwnd; stdcall; +var + Tf: TMyFunc; + Tp: TFarProc; + Th: Thandle; + LabInt, labname: string; + OpenDiaLog: TOpenDialog; + fFileName: string; + fFilePath: string; +begin + if Order_Main.IsEmpty then + exit; + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡݣ', 'ʾ', 0); + Exit; + end; + + fFileName := ''; + try + OpenDiaLog := TOpenDialog.Create(Self); + if OpenDiaLog.Execute then + begin + fFilePath := OpenDiaLog.FileName; + fFileName := ExtractFileName(OpenDiaLog.FileName); + end; + finally + end; + if trim(fFileName) = '' then + exit; + with order_Main do + begin + first; + while not Eof do + begin + if FieldByName('Ssel').AsBoolean = true then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYOrder_Main Set NLBName=''' + Trim(fFileName) + ''''); + sql.Add(' where Mainid=''' + Trim(Order_Main.fieldbyname('Mainid').AsString) + ''''); + ExecSQL; + end; + Edit; + FieldByName('NLBName').Value := trim(fFileName); + + PostFileToData(fFileName, fFilePath); + end; + next; + end; + end; + + with Order_Main do + begin + DisableControls; + first; + while not Eof do + begin + edit; + fieldbyname('Ssel').AsBoolean := False; + post; + next; + end; + first; + EnableControls; + end; +end; + +procedure TfrmProductOrderLBNameSet.v1Column2PropertiesEditValueChanged(Sender: TObject); +var + mvalues: string; +begin + mvalues := TCXTextEdit(Sender).Text; + + with Order_Main do + begin + edit; + fieldbyname('Orddefstr15').Value := mvalues; + post; + end; + tv1.Controller.EditingController.ShowEdit(); + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYOrder_Main Set Orddefstr15=''' + trim(mvalues) + ''' '); + sql.Add('where Mainid=''' + Trim(Order_Main.fieldbyname('Mainid').AsString) + ''''); + ExecSQL; + end; + +end; + +procedure TfrmProductOrderLBNameSet.ToolButton5Click(Sender: TObject); +var + FPiZhong: string; + FReal: Double; +begin + if Order_Main.IsEmpty then + exit; + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡݣ', 'ʾ', 0); + Exit; + end; + if Trim(PiZhong.Text) = '' then + begin + Application.MessageBox('ϵΪ!', 'ʾ', 0); + Exit; + end; + if TryStrToFloat(PiZhong.Text, FReal) = False then + begin + Application.MessageBox('ϵǷ!', 'ʾ', 0); + Exit; + end; + with order_Main do + begin + first; + while not Eof do + begin + if order_Main.FieldByName('Ssel').AsBoolean = true then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYOrder_Sub Set kmxs=' + Trim(PiZhong.Text)); + sql.Add(' where Subid=''' + Trim(Order_Main.fieldbyname('Subid').AsString) + ''''); + ExecSQL; + end; + with Order_Main do + begin + Edit; + FieldByName('kmxs').Value := PiZhong.Text; + Post; + end; + end; + next; + end; + end; + CheckBox1.Checked := False; + with Order_Main do + begin + DisableControls; + first; + while not Eof do + begin + edit; + fieldbyname('Ssel').AsBoolean := False; + post; + next; + end; + first; + EnableControls; + end; + +end; + +procedure TfrmProductOrderLBNameSet.ToolButton6Click(Sender: TObject); +var + FPiZhong: string; + FReal: Double; +begin + if Order_Main.IsEmpty then + exit; + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡݣ', 'ʾ', 0); + Exit; + end; + if Trim(PiZhong.Text) = '' then + begin + Application.MessageBox('СλΪ!', 'ʾ', 0); + Exit; + end; + if TryStrToFloat(PiZhong.Text, FReal) = False then + begin + Application.MessageBox('СλǷ!', 'ʾ', 0); + Exit; + end; + with order_Main do + begin + first; + while not Eof do + begin + if order_Main.FieldByName('Ssel').AsBoolean = true then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYOrder_main Set XSWS=' + Trim(PiZhong.Text)); + sql.Add(' where mainID=''' + Trim(Order_Main.fieldbyname('mainID').AsString) + ''''); + ExecSQL; + end; + with Order_Main do + begin + Edit; + FieldByName('XSWS').Value := PiZhong.Text; + Post; + end; + end; + next; + end; + end; + CheckBox1.Checked := False; + with Order_Main do + begin + DisableControls; + first; + while not Eof do + begin + edit; + fieldbyname('Ssel').AsBoolean := False; + post; + next; + end; + first; + EnableControls; + end; + +end; + +procedure TfrmProductOrderLBNameSet.ToolButton7Click(Sender: TObject); +var + fPrintFile: string; + Txt, fImagePath: string; + Moudle: THandle; + Makebar: TMakebar; + Mixtext: TMixtext; +begin + if Order_Main.IsEmpty then + exit; + if trim(Order_Main.fieldbyname('SLbName').AsString) = '' then + exit; + + with ADOQueryPrint do + begin + Close; + SQL.Clear; + sql.Add('exec P_Print_Cs_Roll '); + sql.Add('@mainID=''' + trim(Order_Main.fieldbyname('subID').AsString) + ''' '); + Open; + end; + try + Moudle := LoadLibrary('MakeQRBarcode.dll'); + @Makebar := GetProcAddress(Moudle, 'Make'); + @Mixtext := GetProcAddress(Moudle, 'MixText'); + Txt := Trim(ADOQueryPrint.fieldbyname('MJID').AsString); + fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp'; + if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then + CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); + if FileExists(fImagePath) then + DeleteFile(fImagePath); + Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); + except + application.MessageBox('ʧܣ', 'ʾϢ', MB_ICONERROR); + exit; + end; + + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(Order_Main.fieldbyname('SLbName').AsString); + ExportFtErpFile(Trim(Order_Main.fieldbyname('SLbName').AsString), ADOQueryCmd); + + if FileExists(fPrintFile) then + begin + RMVariables['QRBARCODE'] := fImagePath; + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end + else + begin + Application.MessageBox(PChar('ûҵ' + trim(fPrintFile)), 'ʾϢ', 0); + end; + +end; + +procedure TfrmProductOrderLBNameSet.ToolButton8Click(Sender: TObject); +var + fPrintFile: string; + Txt, fImagePath: string; + Moudle: THandle; + Makebar: TMakebar; + Mixtext: TMixtext; +begin + if Order_Main.IsEmpty then + exit; + if trim(Order_Main.fieldbyname('NLBName').AsString) = '' then + exit; + with ADOQueryPrint do + begin + Close; + SQL.Clear; + sql.Add('exec P_Print_Cs_Bao '); + sql.Add('@mainID=''' + trim(Order_Main.fieldbyname('mainID').AsString) + ''' '); + Open; + end; + try + Moudle := LoadLibrary('MakeQRBarcode.dll'); + @Makebar := GetProcAddress(Moudle, 'Make'); + @Mixtext := GetProcAddress(Moudle, 'MixText'); + Txt := Trim(ADOQueryPrint.fieldbyname('MJID').AsString); + fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp'; + if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then + CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); + if FileExists(fImagePath) then + DeleteFile(fImagePath); + Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); + except + application.MessageBox('ʧܣ', 'ʾϢ', MB_ICONERROR); + exit; + end; + + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(Order_Main.fieldbyname('NLBName').AsString); + ExportFtErpFile(Trim(Order_Main.fieldbyname('NLBName').AsString), ADOQueryCmd); + + if FileExists(fPrintFile) then + begin + RMVariables['QRBARCODE'] := fImagePath; + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end + else + begin + Application.MessageBox(PChar('ûҵ' + trim(fPrintFile)), 'ʾϢ', 0); + end; + +end; + +procedure TfrmProductOrderLBNameSet.ToolButton9Click(Sender: TObject); +var + FPiZhong: string; + FReal: Double; +begin + if Order_Main.IsEmpty then + exit; + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡݣ', 'ʾ', 0); + Exit; + end; + if Trim(PiZhong.Text) = '' then + begin + Application.MessageBox('СλΪ!', 'ʾ', 0); + Exit; + end; + if TryStrToFloat(PiZhong.Text, FReal) = False then + begin + Application.MessageBox('СλǷ!', 'ʾ', 0); + Exit; + end; + with order_Main do + begin + first; + while not Eof do + begin + if order_Main.FieldByName('Ssel').AsBoolean = true then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYOrder_main Set XSWS1=' + Trim(PiZhong.Text)); + sql.Add(' where mainID=''' + Trim(Order_Main.fieldbyname('mainID').AsString) + ''''); + ExecSQL; + end; + with Order_Main do + begin + Edit; + FieldByName('XSWS1').Value := PiZhong.Text; + Post; + end; + end; + next; + end; + end; + CheckBox1.Checked := False; + with Order_Main do + begin + DisableControls; + first; + while not Eof do + begin + edit; + fieldbyname('Ssel').AsBoolean := False; + post; + next; + end; + first; + EnableControls; + end; + +end; + +procedure TfrmProductOrderLBNameSet.ToolButton10Click(Sender: TObject); +var + FPiZhong: string; + FReal: Double; +begin + if Order_Main.IsEmpty then + exit; + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡݣ', 'ʾ', 0); + Exit; + end; + if Trim(PiZhong.Text) = '' then + begin + Application.MessageBox('زΪ!', 'ʾ', 0); + Exit; + end; + if TryStrToFloat(PiZhong.Text, FReal) = False then + begin + Application.MessageBox('طǷ!', 'ʾ', 0); + Exit; + end; + with order_Main do + begin + first; + while not Eof do + begin + if order_Main.FieldByName('Ssel').AsBoolean = true then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYOrder_Sub Set JIAZhong=' + Trim(PiZhong.Text)); + sql.Add(' where Subid=''' + Trim(Order_Main.fieldbyname('Subid').AsString) + ''''); + ExecSQL; + end; + with Order_Main do + begin + Edit; + FieldByName('JIAZhong').Value := PiZhong.Text; + Post; + end; + end; + next; + end; + end; + CheckBox1.Checked := False; + with Order_Main do + begin + DisableControls; + first; + while not Eof do + begin + edit; + fieldbyname('Ssel').AsBoolean := False; + post; + next; + end; + first; + EnableControls; + end; +end; + +procedure TfrmProductOrderLBNameSet.ToolButton11Click(Sender: TObject); +var + FPiZhong: string; + FReal: Double; +begin + if Order_Main.IsEmpty then + exit; + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡݣ', 'ʾ', 0); + Exit; + end; + if Trim(PiZhong.Text) = '' then + begin + Application.MessageBox('ӳΪ!', 'ʾ', 0); + Exit; + end; + if TryStrToFloat(PiZhong.Text, FReal) = False then + begin + Application.MessageBox('ӳǷ!', 'ʾ', 0); + Exit; + end; + with order_Main do + begin + first; + while not Eof do + begin + if order_Main.FieldByName('Ssel').AsBoolean = true then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYOrder_Sub Set jiachang=' + Trim(PiZhong.Text)); + sql.Add(' where Subid=''' + Trim(Order_Main.fieldbyname('Subid').AsString) + ''''); + ExecSQL; + end; + with Order_Main do + begin + Edit; + FieldByName('jiachang').Value := PiZhong.Text; + Post; + end; + end; + next; + end; + end; + CheckBox1.Checked := False; + with Order_Main do + begin + DisableControls; + first; + while not Eof do + begin + edit; + fieldbyname('Ssel').AsBoolean := False; + post; + next; + end; + first; + EnableControls; + end; +end; + +procedure TfrmProductOrderLBNameSet.ToolButton12Click(Sender: TObject); +var + FPiZhong: string; + FReal: Double; +begin + if Order_Main.IsEmpty then + exit; + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡݣ', 'ʾ', 0); + Exit; + end; + if Trim(PiZhong.Text) = '' then + begin + Application.MessageBox('Ϊ!', 'ʾ', 0); + Exit; + end; + if TryStrToFloat(PiZhong.Text, FReal) = False then + begin + Application.MessageBox('ϵǷ!', 'ʾ', 0); + Exit; + end; + with order_Main do + begin + first; + while not Eof do + begin + if order_Main.FieldByName('Ssel').AsBoolean = true then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYOrder_Sub Set DC=' + Trim(PiZhong.Text)); + sql.Add(' where Subid=''' + Trim(Order_Main.fieldbyname('Subid').AsString) + ''''); + ExecSQL; + end; + with Order_Main do + begin + Edit; + FieldByName('DC').Value := PiZhong.Text; + Post; + end; + end; + next; + end; + end; + CheckBox1.Checked := False; + with Order_Main do + begin + DisableControls; + first; + while not Eof do + begin + edit; + fieldbyname('Ssel').AsBoolean := False; + post; + next; + end; + first; + EnableControls; + end; + +end; + +procedure TfrmProductOrderLBNameSet.ToolButton13Click(Sender: TObject); +var + FPiZhong: string; + FReal: Double; +begin + if Order_Main.IsEmpty then + exit; + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡݣ', 'ʾ', 0); + Exit; + end; + if Trim(PiZhong.Text) = '' then + begin + Application.MessageBox('ÿΪ!', 'ʾ', 0); + Exit; + end; + if TryStrToFloat(PiZhong.Text, FReal) = False then + begin + Application.MessageBox('ÿǷ!', 'ʾ', 0); + Exit; + end; + with order_Main do + begin + first; + while not Eof do + begin + if order_Main.FieldByName('Ssel').AsBoolean = true then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYOrder_Sub Set JS=' + Trim(PiZhong.Text)); + sql.Add(' where Subid=''' + Trim(Order_Main.fieldbyname('Subid').AsString) + ''''); + ExecSQL; + end; + with Order_Main do + begin + Edit; + FieldByName('JS').Value := PiZhong.Text; + Post; + end; + end; + next; + end; + end; + CheckBox1.Checked := False; + with Order_Main do + begin + DisableControls; + first; + while not Eof do + begin + edit; + fieldbyname('Ssel').AsBoolean := False; + post; + next; + end; + first; + EnableControls; + end; +end; + +procedure TfrmProductOrderLBNameSet.ToolButton14Click(Sender: TObject); +var + FPiZhong: string; + FReal: Double; +begin + if Order_Main.IsEmpty then + exit; + if Order_Main.Locate('SSel', True, []) = False then + begin + Application.MessageBox('ûѡݣ', 'ʾ', 0); + Exit; + end; + if Trim(PiZhong.Text) = '' then + begin + Application.MessageBox('ÿȲΪ!', 'ʾ', 0); + Exit; + end; + if TryStrToFloat(PiZhong.Text, FReal) = False then + begin + Application.MessageBox('ÿȷǷ!', 'ʾ', 0); + Exit; + end; + with order_Main do + begin + first; + while not Eof do + begin + if order_Main.FieldByName('Ssel').AsBoolean = true then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYOrder_Sub Set PRTDC=' + Trim(PiZhong.Text)); + sql.Add(' where Subid=''' + Trim(Order_Main.fieldbyname('Subid').AsString) + ''''); + ExecSQL; + end; + with Order_Main do + begin + Edit; + FieldByName('PRTDC').Value := PiZhong.Text; + Post; + end; + end; + next; + end; + end; + CheckBox1.Checked := False; + with Order_Main do + begin + DisableControls; + first; + while not Eof do + begin + edit; + fieldbyname('Ssel').AsBoolean := False; + post; + next; + end; + first; + EnableControls; + end; + +end; + +procedure TfrmProductOrderLBNameSet.Tv1Column2PropertiesEditValueChanged(Sender: TObject); +var + mvalues: string; +begin + mvalues := TCXTextEdit(Sender).Text; + + with Order_Main do + begin + edit; + fieldbyname('baotype').Value := mvalues; + post; + end; + tv1.Controller.EditingController.ShowEdit(); + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYOrder_Main Set baotype=''' + trim(mvalues) + ''' '); + sql.Add('where Mainid=''' + Trim(Order_Main.fieldbyname('Mainid').AsString) + ''''); + ExecSQL; + end; +end; + +procedure TfrmProductOrderLBNameSet.Tv1Column5PropertiesEditValueChanged(Sender: TObject); +var + mvalues: string; +begin + mvalues := TCXTextEdit(Sender).Text; + + with Order_Main do + begin + edit; + fieldbyname('baosx').Value := mvalues; + post; + end; + tv1.Controller.EditingController.ShowEdit(); + + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update JYOrder_Main Set baosx=''' + trim(mvalues) + ''' '); + sql.Add('where Mainid=''' + Trim(Order_Main.fieldbyname('Mainid').AsString) + ''''); + ExecSQL; + end; +end; + +procedure TfrmProductOrderLBNameSet.ToolButton15Click(Sender: TObject); +var + fPrintFile: string; + Txt, fImagePath: string; + Moudle: THandle; + Makebar: TMakebar; + Mixtext: TMixtext; +begin + if Order_Main.IsEmpty then + exit; + if trim(Order_Main.fieldbyname('SLbName').AsString) = '' then + exit; + + with ADOQueryPrint do + begin + Close; + SQL.Clear; + sql.Add('exec P_Print_RollLabel_copy2 '); + sql.Add('@mainID=''' + trim(Order_Main.fieldbyname('subID').AsString) + ''' '); + Open; + end; + try + Moudle := LoadLibrary('MakeQRBarcode.dll'); + @Makebar := GetProcAddress(Moudle, 'Make'); + @Mixtext := GetProcAddress(Moudle, 'MixText'); + Txt := Trim(ADOQueryPrint.fieldbyname('SubID').AsString); + fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp'; + if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then + CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); + if FileExists(fImagePath) then + DeleteFile(fImagePath); + Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); + except + application.MessageBox('ʧܣ', 'ʾϢ', MB_ICONERROR); + exit; + end; + + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(Order_Main.fieldbyname('SLbName').AsString); + ExportFtErpFile(Trim(Order_Main.fieldbyname('SLbName').AsString), ADOQueryCmd); + + if FileExists(fPrintFile) then + begin + RMVariables['QRBARCODE'] := fImagePath; + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end + else + begin + Application.MessageBox(PChar('ûҵ' + trim(fPrintFile)), 'ʾϢ', 0); + end; +end; + +end. + diff --git a/打卷检验管理/U_ProductOrderList.dfm b/打卷检验管理/U_ProductOrderList.dfm new file mode 100644 index 0000000..86b5f3f --- /dev/null +++ b/打卷检验管理/U_ProductOrderList.dfm @@ -0,0 +1,745 @@ +object frmProductOrderList: TfrmProductOrderList + Left = 134 + Top = 115 + Width = 1094 + Height = 600 + Caption = #29983#20135#25351#31034#21333 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1249 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object ToolButton3: TToolButton + Left = 126 + Top = 0 + Caption = #36873#25321 + ImageIndex = 106 + Visible = False + OnClick = ToolButton3Click + end + object TBAdd: TToolButton + Left = 185 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 3 + OnClick = TBAddClick + end + object TBEdit: TToolButton + Left = 248 + Top = 0 + AutoSize = True + Caption = #20462#25913 + ImageIndex = 54 + OnClick = TBEditClick + end + object ToolButton2: TToolButton + Left = 311 + Top = 0 + AutoSize = True + Caption = #22797#21046 + ImageIndex = 57 + OnClick = ToolButton2Click + end + object ToolButton1: TToolButton + Left = 374 + Top = 0 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 58 + OnClick = ToolButton1Click + end + object TBDel: TToolButton + Left = 437 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 17 + OnClick = TBDelClick + end + object TBExport: TToolButton + Left = 500 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 563 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + OnClick = TBPrintClick + end + object TBClose: TToolButton + Left = 626 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1249 + Height = 67 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 15 + Width = 52 + Height = 12 + Caption = #21046#21333#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 179 + Top = 15 + Width = 39 + Height = 12 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 318 + Top = 15 + Width = 26 + Height = 12 + Caption = #23458#25143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 318 + Top = 39 + Width = 26 + Height = 12 + Caption = #26579#21378 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 441 + Top = 15 + Width = 53 + Height = 12 + Caption = #19994' '#21153' '#21592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 588 + Top = 39 + Width = 54 + Height = 12 + Caption = #25104' '#20998 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 741 + Top = 39 + Width = 26 + Height = 12 + Caption = #39068#33394 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 588 + Top = 15 + Width = 52 + Height = 12 + Caption = #20013#25991#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 179 + Top = 39 + Width = 39 + Height = 12 + Caption = #21512#21516#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 741 + Top = 15 + Width = 26 + Height = 12 + Caption = #35268#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 441 + Top = 39 + Width = 52 + Height = 12 + Caption = #20844#21496#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 861 + Top = 39 + Width = 26 + Height = 12 + Caption = #20811#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 861 + Top = 15 + Width = 26 + Height = 12 + Caption = #38376#24133 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 11 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 76 + Top = 35 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object OrderNoM: TEdit + Tag = 2 + Left = 220 + Top = 11 + Width = 77 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnChange = OrderNoMChange + end + object CustomerNoName: TEdit + Tag = 2 + Left = 347 + Top = 11 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + OnChange = OrderNoMChange + end + object JGFactoryName: TEdit + Tag = 2 + Left = 347 + Top = 35 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnChange = OrderNoMChange + end + object OrdPerson1: TEdit + Tag = 2 + Left = 495 + Top = 11 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 5 + OnChange = OrderNoMChange + end + object MPRTCF: TEdit + Tag = 2 + Left = 641 + Top = 35 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + OnChange = OrderNoMChange + end + object PRTColor: TEdit + Tag = 2 + Left = 770 + Top = 35 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 7 + OnChange = OrderNoMChange + end + object MPRTCodeName: TEdit + Tag = 2 + Left = 641 + Top = 11 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 8 + OnChange = OrderNoMChange + end + object ConNo: TEdit + Tag = 2 + Left = 220 + Top = 35 + Width = 77 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 9 + OnChange = OrderNoMChange + end + object MPRTSpec: TEdit + Tag = 2 + Left = 770 + Top = 11 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 10 + OnChange = OrderNoMChange + end + object OrdDefStr1: TEdit + Tag = 2 + Left = 495 + Top = 35 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 11 + OnChange = OrderNoMChange + end + object MPRTKZ: TEdit + Tag = 2 + Left = 890 + Top = 35 + Width = 56 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 12 + OnChange = OrderNoMChange + end + object MPRTMF: TEdit + Tag = 2 + Left = 890 + Top = 11 + Width = 56 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 13 + OnChange = OrderNoMChange + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 112 + Width = 1249 + Height = 369 + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.OnGetContentStyle = Tv1StylesGetContentStyle + Styles.Header = DataLink_TradeManage.Default + object v1Column4: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + Visible = False + HeaderAlignmentHorz = taCenter + Width = 49 + end + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v1ConNo: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1OrdDefStr1: TcxGridDBColumn + Caption = #20844#21496#32534#21495 + DataBinding.FieldName = 'OrdDefStr1' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 90 + end + object v1Column1: TcxGridDBColumn + Caption = #20844#21496#21488#22836 + DataBinding.FieldName = 'OrdDefStr2' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 90 + end + object v1OrdPerson1: TcxGridDBColumn + Caption = #19994#21153#21592 + DataBinding.FieldName = 'OrdPerson1' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 73 + end + object v1JGFactoryName: TcxGridDBColumn + Caption = #26579#21378 + DataBinding.FieldName = 'JGFactoryName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object v1OrdDate: TcxGridDBColumn + Caption = #21046#21333#26085#26399 + DataBinding.FieldName = 'OrdDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DlyDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + OnCustomDrawCell = v1DeliveryDateCustomDrawCell + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 62 + end + object v1CustomerNoName: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 62 + end + object v1MPRTCodeName: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 69 + end + object v1MPRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'MPRTSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1MPRTCF: TcxGridDBColumn + Caption = #25104#20998 + DataBinding.FieldName = 'MPRTCF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 69 + end + object v1MPRTMF: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'MPRTMF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object v1MPRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'MPRTKZ' + Options.Focusing = False + Width = 54 + end + object v1Column8: TcxGridDBColumn + Caption = #22791#27880#21450#35201#27714 + DataBinding.FieldName = 'Note' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 92 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 67 + end + object v1PRTPrice: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'PRTPrice' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 71 + end + object v1Column2: TcxGridDBColumn + Caption = #30830#35748#33394#21345 + DataBinding.FieldName = 'SOrddefstr2' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 60 + end + object v1Column3: TcxGridDBColumn + Caption = #26631#31614 + DataBinding.FieldName = 'SLbName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 85 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 544 + Top = 176 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 688 + Top = 224 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 552 + Top = 216 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 312 + Top = 248 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 440 + Top = 184 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 464 + Top = 208 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 336 + Top = 200 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = CDS_Print + Left = 392 + Top = 200 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 576 + Top = 248 + end + object PopupMenu1: TPopupMenu + Left = 288 + Top = 184 + object N2: TMenuItem + Caption = #26377#20379#24212#21830 + OnClick = N2Click + end + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 360 + Top = 240 + end + object CDS_Print: TClientDataSet + Aggregates = <> + Params = <> + Left = 344 + Top = 288 + end +end diff --git a/打卷检验管理/U_ProductOrderList.pas b/打卷检验管理/U_ProductOrderList.pas new file mode 100644 index 0000000..872724e --- /dev/null +++ b/打卷检验管理/U_ProductOrderList.pas @@ -0,0 +1,657 @@ +unit U_ProductOrderList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, + Menus; + +type + TfrmProductOrderList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBAdd: TToolButton; + TBEdit: TToolButton; + TBDel: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + OrderNoM: TEdit; + TBExport: TToolButton; + v1OrderNo: TcxGridDBColumn; + v1JGFactoryName: TcxGridDBColumn; + v1OrdDate: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1OrdPerson1: TcxGridDBColumn; + v1ConNo: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + v1MPRTSpec: TcxGridDBColumn; + v1MPRTCF: TcxGridDBColumn; + Order_Main: TClientDataSet; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + v1CustomerNoName: TcxGridDBColumn; + Label4: TLabel; + CustomerNoName: TEdit; + v1MPRTCodeName: TcxGridDBColumn; + v1MPRTMF: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N2: TMenuItem; + v1PRTPrice: TcxGridDBColumn; + ToolButton1: TToolButton; + Label2: TLabel; + JGFactoryName: TEdit; + Label5: TLabel; + OrdPerson1: TEdit; + Label6: TLabel; + MPRTCF: TEdit; + Label7: TLabel; + PRTColor: TEdit; + Label8: TLabel; + MPRTCodeName: TEdit; + Label9: TLabel; + ConNo: TEdit; + v1Column8: TcxGridDBColumn; + v1MPRTKZ: TcxGridDBColumn; + v1OrdDefStr1: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + Label10: TLabel; + MPRTSpec: TEdit; + Label11: TLabel; + OrdDefStr1: TEdit; + Label12: TLabel; + MPRTKZ: TEdit; + Label13: TLabel; + MPRTMF: TEdit; + ToolButton2: TToolButton; + ADOQueryPrint: TADOQuery; + CDS_Print: TClientDataSet; + ToolButton3: TToolButton; + v1Column4: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBEditClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure OrderNoMChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TBTPClick(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure CheckBox2Click(Sender: TObject); + procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; + ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; + out AStyle: TcxStyle); + procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + private + DQdate:TDateTime; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + procedure InitGridFH(); + { Private declarations } + public + FFInt,FCloth:Integer; + + { Public declarations } + end; + +var + frmProductOrderList: TfrmProductOrderList; + +implementation +uses + U_DataLink,U_OrderInPut,U_Fun; + +{$R *.dfm} + +procedure TfrmProductOrderList.FormDestroy(Sender: TObject); +begin + frmProductOrderList:=nil; +end; + +procedure TfrmProductOrderList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmProductOrderList.FormCreate(Sender: TObject); +begin + cxgrid1.Align:=alClient; + DQdate:=SGetServerDate(ADOQueryTemp); +end; + +procedure TfrmProductOrderList.TBCloseClick(Sender: TObject); +begin + Close; + if FCloth<>1 then + WriteCxGrid('ָʾб',Tv1,'ָʾ') + else + WriteCxGrid('ָʾбѡ',Tv1,'ָʾ'); +end; + +procedure TfrmProductOrderList.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select A.*,B.*,A.OrderNo OrderNoM from JYOrder_Main A left join JYOrder_Sub B on A.MainId=B.MainId '); + SQL.Add('where OrdDate>=:begdate and OrdDate<:enddate'); + if Trim(DParameters1)<>'Ȩ' then + begin + sql.Add('and A.Filler='''+Trim(DName)+''''); + end; + Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.DateTime); + Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',enddate.DateTime+1); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmProductOrderList.InitGridFH(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec Order_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmProductOrderList.InitForm(); +begin + if SGetServerDate(ADOQueryTemp)>StrToDate('2014-07-11') then + begin + ToolBar1.Visible:=False; + Application.MessageBox('ҪϵӦ̣','ʾ',0); + Exit; + end; + if FCloth<>1 then + ReadCxGrid('ָʾб',Tv1,'ָʾ') + else + ReadCxGrid('ָʾбѡ',Tv1,'ָʾ'); + + if FCloth=1 then + begin + v1Column4.Visible:=True; + v1PRTPrice.Visible:=False; + v1PRTPrice.Hidden:=True; + end else + begin + v1Column4.Visible:=False; + v1PRTPrice.Visible:=True; + v1PRTPrice.Hidden:=False; + end; + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + InitGrid(); +end; + +procedure TfrmProductOrderList.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmProductOrderList.TBEditClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then + begin + Application.MessageBox('ܲ˵!','ʾ',0); + Exit; + end; + try + frmOrderInPut:=TfrmOrderInPut.Create(Application); + with frmOrderInPut do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut.Free; + end; +end; + +procedure TfrmProductOrderList.TBDelClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then + begin + Application.MessageBox('ܲ˵!','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select * from Contract_Cloth_LL where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + Application.MessageBox('Ѳݲɾ!','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + if DelData() then + begin + Order_Main.Delete; + end; +end; + +function TfrmProductOrderList.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + if IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmProductOrderList.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + SelExportData(Tv1,ADOQueryMain,'ָʾб'); +end; + +procedure TfrmProductOrderList.TBPrintClick(Sender: TObject); +var + fPrintFile:string; + Porderno:string; + i,j:Integer; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ.rmf' ; + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select A.*,B.*,PRTColorEng=(select Note from KH_Zdy CC where ZdyName=B.PRTColor and CC.Type=''OrdColor'' ) '); + sql.Add(' from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.MainId '); + sql.Add(' and A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryPrint,CDS_Print); + SInitCDSData20(ADOQueryPrint,CDS_Print); + i:=ADOQueryPrint.RecordCount; + ADOQueryPrint.First; + if i<19 then + begin + for j:=1 to 19-i do + begin + with CDS_Print do + begin + Append; + Post; + end; + end; + end; + with CDS_Print do + begin + Append; + FieldByName('Note').Value:=Trim(Order_Main.fieldbyname('Note').AsString); + FieldByName('OrdDefStr3').Value:=Trim(Order_Main.fieldbyname('OrdDefStr3').AsString); + FieldByName('SOrddefstr10').Value:=Trim(Order_Main.fieldbyname('OrderUnit').AsString); + FieldByName('SLbName').Value:=Trim(Order_Main.fieldbyname('SLbName').AsString); + FieldByName('OrdPerson1').Value:=Trim(Order_Main.fieldbyname('OrdPerson1').AsString); + Post; + end; + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ.rmf'),'ʾ',0); + end; +end; + +procedure TfrmProductOrderList.TBRafreshClick(Sender: TObject); +begin + if FFInt=1 then + begin + InitGridFH(); + end else + InitGrid(); +end; + +procedure TfrmProductOrderList.TBAddClick(Sender: TObject); +var + maxno:string; +begin + try + frmOrderInPut:=TfrmOrderInPut.Create(Application); + with frmOrderInPut do + begin + PState:=0; + FMainId:=''; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut.Free; + end; +end; + +procedure TfrmProductOrderList.OrderNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmProductOrderList.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmProductOrderList.Tv1CellDblClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if ToolButton1.Visible=False then Exit; + ToolButton1.Click; +end; + +procedure TfrmProductOrderList.TBTPClick(Sender: TObject); + var + FQty,FQty1,FMxQty,FPQty,FMxQtyS,FPQtyS:String; +begin +end; + +procedure TfrmProductOrderList.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmProductOrderList.CheckBox2Click(Sender: TObject); +begin + TBRafresh.Click; +end; + +procedure TfrmProductOrderList.Tv1StylesGetContentStyle( + Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; + AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); +var + id,id10:Integer; +begin + {try + if Tv1.GroupedItemCount=0 then + begin + Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; + Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; + if Trim(VarToStr(ARecord.Values[id]))='' then Exit; + if Id<0 then Exit; + if ARecord.Values[id10]='' then exit; + if (ARecord.Values[id]-DQdate)>=4 then Exit; + if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then + AStyle:=DataLink_.QHuangSe + else + if ARecord.Values[id]-DQdate<0 then + begin + AStyle:=DataLink_OrderManage.FenHongS; + end; + end else + begin + + end; + except + end; } +end; + +procedure TfrmProductOrderList.v1DeliveryDateCustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +begin + { Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount; + Id10:=TV1.GetColumnByFieldName('SubStatus').Index; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id10]='' then Exit; + if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit; + if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then + ACanvas.Brush.Color:=clYellow + else + if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then + begin + ACanvas.Brush.Color:=clRed; + end; + begin + ACanvas.Brush.Color:=clRed; + end else + if AViewInfo.GridRecord.Values[Id]='Purple' then + begin + ACanvas.Brush.Color:=clPurple; + end else + if AViewInfo.GridRecord.Values[Id]='Olive' then + begin + ACanvas.Brush.Color:=clOlive; + end else + if AViewInfo.GridRecord.Values[Id]='Teal' then + begin + ACanvas.Brush.Color:=clTeal; + end else + if AViewInfo.GridRecord.Values[Id]='Background' then + begin + ACanvas.Brush.Color:=clBackground; + end; } +end; + +procedure TfrmProductOrderList.N1Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ10.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ10.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderList.N2Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderList.ToolButton1Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmOrderInPut:=TfrmOrderInPut.Create(Application); + with frmOrderInPut do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + ToolBar2.Visible:=False; + TBSave.Visible:=False; + ScrollBox1.Enabled:=False; + Tv1.OptionsSelection.CellSelect:=False; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut.Free; + end; +end; + +procedure TfrmProductOrderList.ToolButton2Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmOrderInPut:=TfrmOrderInPut.Create(Application); + with frmOrderInPut do + begin + PState:=1; + CopyInt:=99; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut.Free; + end; +end; + +procedure TfrmProductOrderList.ToolButton3Click(Sender: TObject); +begin + ModalResult:=1; +end; + +end. diff --git a/打卷检验管理/U_ProductOrderListNew.dfm b/打卷检验管理/U_ProductOrderListNew.dfm new file mode 100644 index 0000000..2e3a39d --- /dev/null +++ b/打卷检验管理/U_ProductOrderListNew.dfm @@ -0,0 +1,1344 @@ +object frmProductOrderListNew: TfrmProductOrderListNew + Left = -1 + Top = 50 + Width = 1277 + Height = 684 + Caption = #29983#20135#25351#31034#21333 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1269 + Height = 62 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 95 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBOrder.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBAdd: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 3 + OnClick = TBAddClick + end + object TBEdit: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #20462#25913 + ImageIndex = 54 + OnClick = TBEditClick + end + object ToolButton2: TToolButton + Left = 252 + Top = 0 + Caption = #29983#20135#35745#21010#21333 + ImageIndex = 58 + OnClick = ToolButton2Click + end + object TBChk: TToolButton + Left = 347 + Top = 0 + AutoSize = True + Caption = #23457#26680 + ImageIndex = 132 + OnClick = TBChkClick + end + object TBCChk: TToolButton + Left = 410 + Top = 0 + AutoSize = True + Caption = #23457#26680#25764#38144 + ImageIndex = 105 + Wrap = True + OnClick = TBCChkClick + end + object TBCopy: TToolButton + Left = 0 + Top = 30 + AutoSize = True + Caption = #22797#21046 + ImageIndex = 113 + OnClick = TBCopyClick + end + object TBCK: TToolButton + Left = 63 + Top = 30 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 57 + OnClick = TBCKClick + end + object TBDel: TToolButton + Left = 126 + Top = 30 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 17 + OnClick = TBDelClick + end + object TBExport: TToolButton + Left = 189 + Top = 30 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBBQPrint: TToolButton + Left = 252 + Top = 30 + AutoSize = True + Caption = #25171#21360#26631#31614 + ImageIndex = 96 + OnClick = TBBQPrintClick + end + object TBPrint: TToolButton + Left = 339 + Top = 30 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + Visible = False + OnClick = TBPrintClick + end + object TBClose: TToolButton + Left = 402 + Top = 30 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 62 + Width = 1269 + Height = 42 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 15 + Width = 52 + Height = 12 + Caption = #19979#21333#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 161 + Top = 15 + Width = 18 + Height = 12 + Caption = '---' + end + object Label3: TLabel + Left = 283 + Top = 15 + Width = 52 + Height = 12 + Caption = #35746#21333#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 430 + Top = 15 + Width = 26 + Height = 12 + Caption = #20195#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 566 + Top = 15 + Width = 26 + Height = 12 + Caption = #23458#25143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 11 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 179 + Top = 11 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + TabOrder = 1 + end + object OrderNo: TEdit + Tag = 2 + Left = 336 + Top = 11 + Width = 77 + Height = 20 + TabOrder = 2 + OnChange = OrderNoChange + end + object WFBCodeName: TEdit + Tag = 2 + Left = 459 + Top = 11 + Width = 83 + Height = 20 + TabOrder = 3 + OnChange = OrderNoChange + end + object CustomNoName: TEdit + Tag = 2 + Left = 595 + Top = 11 + Width = 83 + Height = 20 + TabOrder = 4 + OnChange = OrderNoChange + end + end + object cxGrid1: TcxGrid + Left = 1024 + Top = 104 + Width = 169 + Height = 121 + TabOrder = 2 + Visible = False + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_WFBOrder.SHuangSe + Styles.IncSearch = DataLink_WFBOrder.SHuangSe + Styles.Selection = DataLink_WFBOrder.SHuangSe + object v1Column3: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBOrder.Default + Width = 39 + end + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#32534#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 72 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'Customnoname' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 66 + end + object v1Column2: TcxGridDBColumn + Caption = #20195#21495 + DataBinding.FieldName = 'WFBCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'WFBFK' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 62 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'WFBKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 76 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'OrdQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 58 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrdUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 63 + end + object v1OrderDate: TcxGridDBColumn + Caption = #19979#21333#26085#26399 + DataBinding.FieldName = 'OrderDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 70 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = 'ETA' + DataBinding.FieldName = 'ETADate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 63 + end + object v1FactoryNo2Name: TcxGridDBColumn + Caption = #35013#26588#26085#26399 + DataBinding.FieldName = 'ZGDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 60 + end + object v1FactoryNo1Name: TcxGridDBColumn + Caption = 'ETD' + DataBinding.FieldName = 'ETDDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 60 + end + object v1FactoryNo3Name: TcxGridDBColumn + Caption = #24320#22987#20837#24211#26085#26399 + DataBinding.FieldName = 'BegRKDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 94 + end + object v1CustomerNoName: TcxGridDBColumn + Caption = #24320#22987#29983#20135#26085#26399 + DataBinding.FieldName = 'BegSCDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 90 + end + object v1Note: TcxGridDBColumn + Caption = #27880#24847#20107#39033 + DataBinding.FieldName = 'Note' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 67 + end + object v1Column1: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'OrdPrice' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 57 + end + object v1PRTQty: TcxGridDBColumn + Caption = #35745#20215#21333#20301 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 58 + end + object v1Column4: TcxGridDBColumn + Caption = #29983#20135#32447 + DataBinding.FieldName = 'SCXName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 62 + end + object v1Column5: TcxGridDBColumn + Caption = #32593#32467#26500 + DataBinding.FieldName = 'WJGName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 62 + end + object v1Column6: TcxGridDBColumn + Caption = #23457#26680#20154 + DataBinding.FieldName = 'Chker' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBOrder.Default + Width = 59 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 104 + Width = 1269 + Height = 263 + Align = alClient + TabOrder = 3 + object cxGrid2DBTableView1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + end + object TV2: TcxGridDBBandedTableView + OnMouseDown = TV2MouseDown + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TV2CellDblClick + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_WFBOrder.SHuangSe + Styles.IncSearch = DataLink_WFBOrder.SHuangSe + Styles.Selection = DataLink_WFBOrder.SHuangSe + Styles.Header = DataLink_WFBOrder.Default + Bands = < + item + Caption = #21367#26448 + Styles.Header = cxStyle2 + Width = 1374 + end> + object V2Column1: TcxGridDBBandedColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Width = 59 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object V2Column2: TcxGridDBBandedColumn + Caption = #23458#25143 + DataBinding.FieldName = 'Customnoname' + HeaderAlignmentHorz = taCenter + Width = 39 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object V2Column3: TcxGridDBBandedColumn + Caption = #20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + HeaderAlignmentHorz = taCenter + Width = 55 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object V2Column4: TcxGridDBBandedColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'SWFBFK' + HeaderAlignmentHorz = taCenter + Width = 46 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object V2Column5: TcxGridDBBandedColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'SWFBKZ' + HeaderAlignmentHorz = taCenter + Width = 56 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object V2Column6: TcxGridDBBandedColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'OrdQty' + HeaderAlignmentHorz = taCenter + Width = 47 + Position.BandIndex = 0 + Position.ColIndex = 8 + Position.RowIndex = 0 + end + object V2Column7: TcxGridDBBandedColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrdUnit' + HeaderAlignmentHorz = taCenter + Width = 62 + Position.BandIndex = 0 + Position.ColIndex = 9 + Position.RowIndex = 0 + end + object V2Column8: TcxGridDBBandedColumn + Caption = #19979#21333#26085#26399 + DataBinding.FieldName = 'OrderDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 62 + Position.BandIndex = 0 + Position.ColIndex = 10 + Position.RowIndex = 0 + end + object V2Column9: TcxGridDBBandedColumn + Caption = 'ETA' + DataBinding.FieldName = 'ETADate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 42 + Position.BandIndex = 0 + Position.ColIndex = 11 + Position.RowIndex = 0 + end + object V2Column10: TcxGridDBBandedColumn + Caption = #35013#26588#26085#26399 + DataBinding.FieldName = 'ZGDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 44 + Position.BandIndex = 0 + Position.ColIndex = 12 + Position.RowIndex = 0 + end + object V2Column11: TcxGridDBBandedColumn + Caption = 'ETD' + DataBinding.FieldName = 'ETDDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 44 + Position.BandIndex = 0 + Position.ColIndex = 13 + Position.RowIndex = 0 + end + object V2Column12: TcxGridDBBandedColumn + Caption = #24320#22987#20837#24211#26085#26399 + DataBinding.FieldName = 'BegRKDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 57 + Position.BandIndex = 0 + Position.ColIndex = 14 + Position.RowIndex = 0 + end + object V2Column13: TcxGridDBBandedColumn + Caption = #24320#22987#29983#20135#26085#26399 + DataBinding.FieldName = 'BegSCDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 53 + Position.BandIndex = 0 + Position.ColIndex = 15 + Position.RowIndex = 0 + end + object V2Column14: TcxGridDBBandedColumn + Caption = #27880#24847#20107#39033 + DataBinding.FieldName = 'Note' + HeaderAlignmentHorz = taCenter + Width = 57 + Position.BandIndex = 0 + Position.ColIndex = 16 + Position.RowIndex = 0 + end + object V2Column15: TcxGridDBBandedColumn + Caption = #21333#20215 + DataBinding.FieldName = 'SOrdPrice' + HeaderAlignmentHorz = taCenter + Width = 42 + Position.BandIndex = 0 + Position.ColIndex = 17 + Position.RowIndex = 0 + end + object V2Column16: TcxGridDBBandedColumn + Caption = #35745#20215#21333#20301 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Width = 43 + Position.BandIndex = 0 + Position.ColIndex = 19 + Position.RowIndex = 0 + end + object V2Column17: TcxGridDBBandedColumn + Caption = #29983#20135#32447 + DataBinding.FieldName = 'SCXName' + HeaderAlignmentHorz = taCenter + Width = 38 + Position.BandIndex = 0 + Position.ColIndex = 20 + Position.RowIndex = 0 + end + object V2Column18: TcxGridDBBandedColumn + Caption = #32593#32467#26500 + DataBinding.FieldName = 'WJGName' + HeaderAlignmentHorz = taCenter + Width = 43 + Position.BandIndex = 0 + Position.ColIndex = 21 + Position.RowIndex = 0 + end + object V2Column19: TcxGridDBBandedColumn + Caption = #23457#26680#20154 + DataBinding.FieldName = 'Chker' + HeaderAlignmentHorz = taCenter + Width = 45 + Position.BandIndex = 0 + Position.ColIndex = 23 + Position.RowIndex = 0 + end + object V2Column20: TcxGridDBBandedColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Width = 48 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object V2Column21: TcxGridDBBandedColumn + Caption = #37329#39069 + DataBinding.FieldName = 'Money' + HeaderAlignmentHorz = taCenter + Width = 44 + Position.BandIndex = 0 + Position.ColIndex = 18 + Position.RowIndex = 0 + end + object V2Column22: TcxGridDBBandedColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Width = 50 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object V2Column23: TcxGridDBBandedColumn + Caption = #32534#21495 + DataBinding.FieldName = 'OrderCode' + HeaderAlignmentHorz = taCenter + Width = 82 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object V2Column24: TcxGridDBBandedColumn + Caption = #23457#26680#29366#24577 + DataBinding.FieldName = 'ChkStatus' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 65 + Position.BandIndex = 0 + Position.ColIndex = 24 + Position.RowIndex = 0 + end + object V2Column25: TcxGridDBBandedColumn + Caption = #21046#21333#20154 + DataBinding.FieldName = 'Filler' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 66 + Position.BandIndex = 0 + Position.ColIndex = 22 + Position.RowIndex = 0 + end + object V2Column26: TcxGridDBBandedColumn + Caption = #24050#29983#25104#35745#21010#21333 + DataBinding.FieldName = 'JHDFlag' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + Options.Focusing = False + Width = 85 + Position.BandIndex = 0 + Position.ColIndex = 25 + Position.RowIndex = 0 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = TV2 + end + end + object cxGrid3: TcxGrid + Left = 0 + Top = 375 + Width = 1269 + Height = 272 + Align = alBottom + TabOrder = 4 + object cxGridDBTableView1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + end + object Tv3: TcxGridDBBandedTableView + OnMouseDown = Tv3MouseDown + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TV2CellDblClick + DataController.DataSource = DataSource2 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_WFBOrder.SHuangSe + Styles.IncSearch = DataLink_WFBOrder.SHuangSe + Styles.Selection = DataLink_WFBOrder.SHuangSe + Styles.Header = DataLink_WFBOrder.Default + Bands = < + item + Caption = #21046#21697 + Styles.Header = cxStyle1 + Width = 1374 + end> + object cxGridDBBandedColumn1: TcxGridDBBandedColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Width = 63 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn2: TcxGridDBBandedColumn + Caption = #23458#25143 + DataBinding.FieldName = 'Customnoname' + HeaderAlignmentHorz = taCenter + Width = 46 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn3: TcxGridDBBandedColumn + Caption = #20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + HeaderAlignmentHorz = taCenter + Width = 57 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn5: TcxGridDBBandedColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'SWFBKZ' + HeaderAlignmentHorz = taCenter + Width = 51 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn6: TcxGridDBBandedColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'OrdQty' + HeaderAlignmentHorz = taCenter + Width = 50 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn7: TcxGridDBBandedColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrdUnit' + HeaderAlignmentHorz = taCenter + Width = 57 + Position.BandIndex = 0 + Position.ColIndex = 8 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn8: TcxGridDBBandedColumn + Caption = #19979#21333#26085#26399 + DataBinding.FieldName = 'OrderDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 51 + Position.BandIndex = 0 + Position.ColIndex = 9 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn9: TcxGridDBBandedColumn + Caption = 'ETA' + DataBinding.FieldName = 'ETADate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 53 + Position.BandIndex = 0 + Position.ColIndex = 10 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn10: TcxGridDBBandedColumn + Caption = #35013#26588#26085#26399 + DataBinding.FieldName = 'ZGDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 52 + Position.BandIndex = 0 + Position.ColIndex = 11 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn11: TcxGridDBBandedColumn + Caption = 'ETD' + DataBinding.FieldName = 'ETDDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 51 + Position.BandIndex = 0 + Position.ColIndex = 12 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn12: TcxGridDBBandedColumn + Caption = #24320#22987#20837#24211#26085#26399 + DataBinding.FieldName = 'BegRKDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 66 + Position.BandIndex = 0 + Position.ColIndex = 13 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn13: TcxGridDBBandedColumn + Caption = #24320#22987#29983#20135#26085#26399 + DataBinding.FieldName = 'BegSCDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 65 + Position.BandIndex = 0 + Position.ColIndex = 14 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn14: TcxGridDBBandedColumn + Caption = #27880#24847#20107#39033 + DataBinding.FieldName = 'Note' + HeaderAlignmentHorz = taCenter + Width = 67 + Position.BandIndex = 0 + Position.ColIndex = 15 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn15: TcxGridDBBandedColumn + Caption = #21333#20215 + DataBinding.FieldName = 'SOrdPrice' + HeaderAlignmentHorz = taCenter + Width = 46 + Position.BandIndex = 0 + Position.ColIndex = 16 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn16: TcxGridDBBandedColumn + Caption = #35745#20215#21333#20301 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Width = 50 + Position.BandIndex = 0 + Position.ColIndex = 18 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn17: TcxGridDBBandedColumn + Caption = #29983#20135#32447 + DataBinding.FieldName = 'SCXName' + HeaderAlignmentHorz = taCenter + Width = 47 + Position.BandIndex = 0 + Position.ColIndex = 19 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn18: TcxGridDBBandedColumn + Caption = #32593#32467#26500 + DataBinding.FieldName = 'WJGName' + HeaderAlignmentHorz = taCenter + Width = 45 + Position.BandIndex = 0 + Position.ColIndex = 20 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn19: TcxGridDBBandedColumn + Caption = #23457#26680#20154 + DataBinding.FieldName = 'Chker' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 45 + Position.BandIndex = 0 + Position.ColIndex = 22 + Position.RowIndex = 0 + end + object v3Column1: TcxGridDBBandedColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Width = 51 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object v3Column2: TcxGridDBBandedColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Width = 53 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object v3Column3: TcxGridDBBandedColumn + Caption = #37329#39069 + DataBinding.FieldName = 'Money' + HeaderAlignmentHorz = taCenter + Width = 42 + Position.BandIndex = 0 + Position.ColIndex = 17 + Position.RowIndex = 0 + end + object v3Column4: TcxGridDBBandedColumn + Caption = #32534#21495 + DataBinding.FieldName = 'OrderCode' + HeaderAlignmentHorz = taCenter + Width = 74 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object v3Column5: TcxGridDBBandedColumn + Caption = #23457#26680#29366#24577 + DataBinding.FieldName = 'ChkStatus' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 62 + Position.BandIndex = 0 + Position.ColIndex = 23 + Position.RowIndex = 0 + end + object v3Column6: TcxGridDBBandedColumn + Caption = #21046#21333#20154 + DataBinding.FieldName = 'Filler' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 71 + Position.BandIndex = 0 + Position.ColIndex = 21 + Position.RowIndex = 0 + end + object v3Column7: TcxGridDBBandedColumn + Caption = #24050#29983#25104#35745#21010#21333 + DataBinding.FieldName = 'JHDFlag' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + Width = 59 + Position.BandIndex = 0 + Position.ColIndex = 24 + Position.RowIndex = 0 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv3 + end + end + object Panel3: TPanel + Left = 488 + Top = 153 + Width = 201 + Height = 195 + TabOrder = 5 + Visible = False + object Label8: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Button1: TButton + Left = 24 + Top = 159 + Width = 65 + Height = 25 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = Button1Click + end + object Button2: TButton + Left = 120 + Top = 159 + Width = 49 + Height = 25 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Button2Click + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 199 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #35746#21333#31867#22411 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnMouseMove = Panel10MouseMove + object Image2: TImage + Left = 173 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object RadioGroup1: TRadioGroup + Left = 48 + Top = 24 + Width = 97 + Height = 127 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ItemIndex = 0 + Items.Strings = ( + #21367#26448 + #21046#21697) + ParentFont = False + TabOrder = 3 + end + end + object cxSplitter1: TcxSplitter + Left = 0 + Top = 367 + Width = 1269 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + Control = cxGrid3 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 336 + Top = 160 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + Parameters = <> + Left = 832 + Top = 144 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 808 + Top = 144 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_WFBOrder.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 864 + Top = 144 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 392 + Top = 160 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 424 + Top = 176 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 840 + Top = 256 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = Order_Main + Left = 848 + Top = 208 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 384 + Top = 240 + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = Order_Main + Left = 792 + Top = 288 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 288 + Top = 208 + ReportData = {} + end + object cxStyleRepository1: TcxStyleRepository + object cxStyle1: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #40657#20307 + Font.Style = [fsBold] + end + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid3 + PopupMenus = <> + Left = 344 + Top = 408 + end + object DataSource2: TDataSource + DataSet = CDS_ZP + Left = 504 + Top = 440 + end + object CDS_ZP: TClientDataSet + Aggregates = <> + Params = <> + Left = 560 + Top = 448 + end + object cxStyleRepository2: TcxStyleRepository + object cxStyle2: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #40657#20307 + Font.Style = [fsBold] + end + end + object cxStyleRepository3: TcxStyleRepository + object cxStyle3: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #40657#20307 + Font.Style = [fsBold] + end + end +end diff --git a/打卷检验管理/U_ProductOrderListNew.pas b/打卷检验管理/U_ProductOrderListNew.pas new file mode 100644 index 0000000..bc89eee --- /dev/null +++ b/打卷检验管理/U_ProductOrderListNew.pas @@ -0,0 +1,1041 @@ +unit U_ProductOrderListNew; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, + cxGridBandedTableView, cxGridDBBandedTableView; + +type + TfrmProductOrderListNew = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBAdd: TToolButton; + TBEdit: TToolButton; + TBDel: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Label2: TLabel; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + OrderNo: TEdit; + Label5: TLabel; + WFBCodeName: TEdit; + TBExport: TToolButton; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1OrderDate: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1FactoryNo1Name: TcxGridDBColumn; + v1FactoryNo2Name: TcxGridDBColumn; + v1FactoryNo3Name: TcxGridDBColumn; + v1Note: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1PRTQty: TcxGridDBColumn; + Order_Main: TClientDataSet; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + v1CustomerNoName: TcxGridDBColumn; + Label4: TLabel; + CustomNoName: TEdit; + v1Column3: TcxGridDBColumn; + TBCK: TToolButton; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + TBChk: TToolButton; + TBCChk: TToolButton; + v1Column6: TcxGridDBColumn; + TBBQPrint: TToolButton; + RMDB_Main: TRMDBDataSet; + RM2: TRMGridReport; + TBCopy: TToolButton; + cxGrid2DBTableView1: TcxGridDBTableView; + cxGrid2Level1: TcxGridLevel; + cxGrid2: TcxGrid; + TV2: TcxGridDBBandedTableView; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + V2Column1: TcxGridDBBandedColumn; + V2Column2: TcxGridDBBandedColumn; + V2Column3: TcxGridDBBandedColumn; + V2Column4: TcxGridDBBandedColumn; + V2Column5: TcxGridDBBandedColumn; + V2Column6: TcxGridDBBandedColumn; + V2Column7: TcxGridDBBandedColumn; + V2Column8: TcxGridDBBandedColumn; + V2Column9: TcxGridDBBandedColumn; + V2Column10: TcxGridDBBandedColumn; + V2Column11: TcxGridDBBandedColumn; + V2Column12: TcxGridDBBandedColumn; + V2Column13: TcxGridDBBandedColumn; + V2Column14: TcxGridDBBandedColumn; + V2Column15: TcxGridDBBandedColumn; + V2Column16: TcxGridDBBandedColumn; + V2Column17: TcxGridDBBandedColumn; + V2Column18: TcxGridDBBandedColumn; + V2Column19: TcxGridDBBandedColumn; + cxGrid3: TcxGrid; + cxGridDBTableView1: TcxGridDBTableView; + Tv3: TcxGridDBBandedTableView; + cxGridDBBandedColumn1: TcxGridDBBandedColumn; + cxGridDBBandedColumn2: TcxGridDBBandedColumn; + cxGridDBBandedColumn3: TcxGridDBBandedColumn; + cxGridDBBandedColumn5: TcxGridDBBandedColumn; + cxGridDBBandedColumn6: TcxGridDBBandedColumn; + cxGridDBBandedColumn7: TcxGridDBBandedColumn; + cxGridDBBandedColumn8: TcxGridDBBandedColumn; + cxGridDBBandedColumn9: TcxGridDBBandedColumn; + cxGridDBBandedColumn10: TcxGridDBBandedColumn; + cxGridDBBandedColumn11: TcxGridDBBandedColumn; + cxGridDBBandedColumn12: TcxGridDBBandedColumn; + cxGridDBBandedColumn13: TcxGridDBBandedColumn; + cxGridDBBandedColumn14: TcxGridDBBandedColumn; + cxGridDBBandedColumn15: TcxGridDBBandedColumn; + cxGridDBBandedColumn16: TcxGridDBBandedColumn; + cxGridDBBandedColumn17: TcxGridDBBandedColumn; + cxGridDBBandedColumn18: TcxGridDBBandedColumn; + cxGridDBBandedColumn19: TcxGridDBBandedColumn; + cxGridLevel1: TcxGridLevel; + Panel3: TPanel; + Label8: TLabel; + Button1: TButton; + Button2: TButton; + Panel10: TPanel; + Image2: TImage; + RadioGroup1: TRadioGroup; + cxGridPopupMenu2: TcxGridPopupMenu; + DataSource2: TDataSource; + CDS_ZP: TClientDataSet; + cxStyleRepository2: TcxStyleRepository; + cxStyle2: TcxStyle; + cxStyleRepository3: TcxStyleRepository; + cxStyle3: TcxStyle; + V2Column20: TcxGridDBBandedColumn; + V2Column21: TcxGridDBBandedColumn; + V2Column22: TcxGridDBBandedColumn; + V2Column23: TcxGridDBBandedColumn; + cxSplitter1: TcxSplitter; + v3Column1: TcxGridDBBandedColumn; + v3Column2: TcxGridDBBandedColumn; + v3Column3: TcxGridDBBandedColumn; + v3Column4: TcxGridDBBandedColumn; + ToolButton2: TToolButton; + V2Column24: TcxGridDBBandedColumn; + V2Column25: TcxGridDBBandedColumn; + v3Column5: TcxGridDBBandedColumn; + v3Column6: TcxGridDBBandedColumn; + V2Column26: TcxGridDBBandedColumn; + v3Column7: TcxGridDBBandedColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBEditClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBViewClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure OrderNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TBBQPrintClick(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure ToolButton4Click(Sender: TObject); + procedure ToolButton5Click(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure CheckBox2Click(Sender: TObject); + procedure TBCKClick(Sender: TObject); + procedure TBChkClick(Sender: TObject); + procedure TBCChkClick(Sender: TObject); + procedure TBCopyClick(Sender: TObject); + procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, + Y: Integer); + procedure Image2Click(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure TV2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TV2MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv3MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + private + PPInt:Integer; + procedure InitGrid(); + procedure InitForm(); + function DelData(Order_Main10:TClientDataSet):Boolean; + procedure InitGridFH(); + procedure CopyOrderData(Order_MainFF:TClientDataSet); + { Private declarations } + public + FFInt:Integer; + { Public declarations } + end; + +var + frmProductOrderListNew: TfrmProductOrderListNew; + +implementation +uses + U_DataLink,U_OrderInPut,U_Fun,U_OrderInPutZP,U_OrderInPutNew,U_OrderInPutZPNew + ,U_OrderInPutZPLNew,U_OrderAttachment; + +{$R *.dfm} + +procedure TfrmProductOrderListNew.FormDestroy(Sender: TObject); +begin + frmProductOrderListNew:=nil; +end; + +procedure TfrmProductOrderListNew.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmProductOrderListNew.FormCreate(Sender: TObject); +begin + //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; + //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + if DParameters1='' then + begin + TBChk.Visible:=True; + TBCChk.Visible:=True; + TBAdd.Visible:=False; + TBEdit.Visible:=False; + TBCopy.Visible:=False; + end else + begin + TBChk.Visible:=False; + TBCChk.Visible:=False; + TBAdd.Visible:=True; + TBEdit.Visible:=True; + TBCopy.Visible:=True; + end; +end; + +procedure TfrmProductOrderListNew.TBCloseClick(Sender: TObject); +begin + Close; + //WriteCxGrid('޷IJָʾб',Tv1,'ָʾ'); + WriteCxBandedGrid('޷IJָʾб',Tv2,'ָʾ'); + WriteCxBandedGrid('޷IJָʾбDD',Tv3,'ָʾ'); +end; + +procedure TfrmProductOrderListNew.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add(' exec P_WFBOrder_List :begdate,:endate,:MainId'); + Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime)); + Parameters.ParamByName('endate').Value:=Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1)); + Parameters.ParamByName('MainId').Value:=''; + Open; + end; + SDofilter(ADOQueryMain,'OrderType='''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + SDofilter(ADOQueryMain,'OrderType=''Ʒ'''); + SCreateCDS20(ADOQueryMain,CDS_ZP); + SInitCDSData20(ADOQueryMain,CDS_ZP); + finally + ADOQueryMain.EnableControls; + end; +end; +procedure TfrmProductOrderListNew.InitGridFH(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec Order_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmProductOrderListNew.InitForm(); +begin + if SGetServerDate(ADOQueryTemp)>StrToDate('2013-06-19') then + begin + ToolBar1.Visible:=False; + Application.MessageBox('ҪϵӦ̣','ʾ',0); + Exit; + end; + ReadCxBandedGrid('޷IJָʾб',Tv2,'ָʾ'); + ReadCxBandedGrid('޷IJָʾбDD',Tv3,'ָʾ'); + if FFInt>0 then + begin + v1Column3.Hidden:=False; + v1Column3.Visible:=True; + end else + begin + v1Column3.Hidden:=True; + v1Column3.Visible:=False; + end; + if Trim(DParameters1)='1' then + begin + v1CustomerNoName.Visible:=False; + v1CustomerNoName.Hidden:=True; + end else + begin + v1CustomerNoName.Visible:=True; + v1CustomerNoName.Hidden:=False; + end; + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + InitGrid(); + {if Trim(DParameters1)='1' then + begin + TBChk.Visible:=False; + TBCChk.Visible:=False; + end;} +end; + +procedure TfrmProductOrderListNew.TBFindClick(Sender: TObject); +var + fsj:string; +begin + if ADOQueryMain.Active=False then Exit; + if Trim(SGetFilters(Panel1,1,2))<>'' then + begin + fsj:='OrderType='''' and '+Trim(SGetFilters(Panel1,1,2)); + SDofilter(ADOQueryMain,fsj); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + fsj:='OrderType=''Ʒ'' and '+Trim(SGetFilters(Panel1,1,2)); + SDofilter(ADOQueryMain,fsj); + SCreateCDS20(ADOQueryMain,CDS_ZP); + SInitCDSData20(ADOQueryMain,CDS_ZP); + end else + begin + fsj:='OrderType='''''; + SDofilter(ADOQueryMain,fsj); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + fsj:='OrderType=''Ʒ'''; + SDofilter(ADOQueryMain,fsj); + SCreateCDS20(ADOQueryMain,CDS_ZP); + SInitCDSData20(ADOQueryMain,CDS_ZP); + end; +end; + +procedure TfrmProductOrderListNew.TBEditClick(Sender: TObject); +begin + if PPInt=1 then + begin + if Order_Main.IsEmpty then Exit; + if Trim(Order_Main.fieldbyname('ChkStatus').AsString)='ͨ' then + begin + Application.MessageBox('˶ͨ޸ģ','ʾ',0); + Exit; + end; + try + frmOrderInPutNew:=TfrmOrderInPutNew.Create(Application); + with frmOrderInPutNew do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + //OrderType:=''; + if ShowModal=1 then + begin + Self.InitGrid(); + Self.Order_Main.Locate('MainId',Trim(FMainId),[]); + end; + end; + finally + frmOrderInPutNew.Free; + end; + end else + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + if Trim(CDS_ZP.fieldbyname('ChkStatus').AsString)='ͨ' then + begin + Application.MessageBox('˶ͨ޸ģ','ʾ',0); + Exit; + end; + try + frmOrderInPutZPLNew:=TfrmOrderInPutZPLNew.Create(Application); + with frmOrderInPutZPLNew do + begin + PState:=1; + FMainId:=Trim(Self.CDS_ZP.fieldbyname('MainId').AsString); + OrderType:='Ʒ'; + if ShowModal=1 then + begin + Self.InitGrid(); + Self.CDS_ZP.Locate('MainId',Trim(FMainId),[]); + end; + end; + finally + frmOrderInPutZPLNew.Free; + end; + end; +end; + +procedure TfrmProductOrderListNew.TBDelClick(Sender: TObject); +begin + if PPInt=1 then + begin + if Order_Main.IsEmpty then Exit; + if Trim(Order_Main.fieldbyname('Chker').AsString)<>'' then + begin + Application.MessageBox('Ѿ˲ɾ','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + if DelData(Order_Main) then + begin + //TBRafresh.Click; + //TBFind.Click; + Order_Main.Delete; + end; + end else + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + if Trim(CDS_ZP.fieldbyname('Chker').AsString)<>'' then + begin + Application.MessageBox('Ѿ˲ɾ','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + if DelData(CDS_ZP) then + begin + //TBRafresh.Click; + //TBFind.Click; + CDS_ZP.Delete; + end; + end; + + +end; + +function TfrmProductOrderListNew.DelData(Order_Main10:TClientDataSet):Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFBOrder_Main where MainId='''+Trim(Order_Main10.fieldbyname('MainId').AsString)+''''); + sql.Add('delete WFBOrder_Sub where MainId='''+Trim(Order_Main10.fieldbyname('MainId').AsString)+''''); + sql.Add('delete WFB_DB where MainId='''+Trim(Order_Main10.fieldbyname('MainId').AsString)+''''); + sql.Add('delete WFBYCL_PB where MainId='''+Trim(Order_Main10.fieldbyname('MainId').AsString)+''''); + sql.Add('delete WFBYCL_PBSub where MainId='''+Trim(Order_Main10.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmProductOrderListNew.TBViewClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + ShowMessage(DCode); + +end; + +procedure TfrmProductOrderListNew.TBExportClick(Sender: TObject); +begin + if PPInt=1 then + begin + if Order_Main.IsEmpty then Exit; + TcxGridToExcel('ָʾб()',cxGrid2); + end else + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + TcxGridToExcel('ָʾб(Ʒ)',cxGrid3); + end; + + +end; + +procedure TfrmProductOrderListNew.TBPrintClick(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); + //SelPrintData(TV4,ADOQueryMain,'ͬѯ'); +end; + +procedure TfrmProductOrderListNew.TBRafreshClick(Sender: TObject); +begin + if FFInt=1 then + begin + InitGridFH(); + end else + InitGrid(); +end; + +procedure TfrmProductOrderListNew.TBAddClick(Sender: TObject); +begin + Panel3.Visible:=True; +end; + +procedure TfrmProductOrderListNew.OrderNoChange(Sender: TObject); +var + fsj:string; +begin + if ADOQueryMain.Active=False then Exit; + if Trim(SGetFilters(Panel1,1,2))<>'' then + begin + fsj:='OrderType='''' and '+Trim(SGetFilters(Panel1,1,2)); + SDofilter(ADOQueryMain,fsj); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + fsj:='OrderType=''Ʒ'' and '+Trim(SGetFilters(Panel1,1,2)); + SDofilter(ADOQueryMain,fsj); + SCreateCDS20(ADOQueryMain,CDS_ZP); + SInitCDSData20(ADOQueryMain,CDS_ZP); + end else + begin + fsj:='OrderType='''''; + SDofilter(ADOQueryMain,fsj); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + fsj:='OrderType=''Ʒ'''; + SDofilter(ADOQueryMain,fsj); + SCreateCDS20(ADOQueryMain,CDS_ZP); + SInitCDSData20(ADOQueryMain,CDS_ZP); + end; +end; + +procedure TfrmProductOrderListNew.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmProductOrderListNew.Tv1CellDblClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + // if FFInt=1 then + //ModalResult:=1; + TBCK.Click; +end; + +procedure TfrmProductOrderListNew.TBBQPrintClick(Sender: TObject); +var + fPrintFile:String; +begin + if PPInt=1 then + begin + if Order_Main.IsEmpty then Exit; + RMDB_Main.DataSet:=Order_Main; + end; + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + RMDB_Main.DataSet:=CDS_ZP; + end; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\ǩ.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + RM2.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ǩ.rmf'),'ʾ',0); + end; +end; + +procedure TfrmProductOrderListNew.ToolButton2Click(Sender: TObject); + var + fsj:string; +begin + if PPInt=1 then + begin + if Order_Main.IsEmpty then Exit; + fsj:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + end else + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + fsj:=Trim(Self.CDS_ZP.fieldbyname('MainId').AsString); + end else + begin + Application.MessageBox('δѡж!','ʾ',0); + Exit; + end; + try + frmOrderAttachment:=TfrmOrderAttachment.Create(Application); + with frmOrderAttachment do + begin + FAMainId:=Trim(fsj); + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderAttachment.Free; + end; +end; + +procedure TfrmProductOrderListNew.ToolButton3Click(Sender: TObject); +begin + ModalResult:=1; +end; + +procedure TfrmProductOrderListNew.ToolButton4Click(Sender: TObject); +begin + if Application.MessageBox('ȷҪִɲ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Order_Main Set Status='''' '); + sql.Add('where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + //InitGrid(); +end; + +procedure TfrmProductOrderListNew.ToolButton5Click(Sender: TObject); +begin + if Application.MessageBox('ȷҪִɳ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Order_Main Set Status='''' '); + sql.Add('where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; +end; + +procedure TfrmProductOrderListNew.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmProductOrderListNew.CheckBox2Click(Sender: TObject); +begin + TBRafresh.Click; +end; + +procedure TfrmProductOrderListNew.TBCKClick(Sender: TObject); +begin + if PPInt=1 then + begin + if Order_Main.IsEmpty then Exit; + try + frmOrderInPutNew:=TfrmOrderInPutNew.Create(Application); + with frmOrderInPutNew do + begin + PState:=3; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + TBSave.Visible:=False; + ToolBar2.Visible:=False; + cxGrid4.Enabled:=False; + //ScrollBox1.Enabled:=False; + //ScrollBox2.Enabled:=False; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPutNew.Free; + end; + end else + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + try + frmOrderInPutZPLNew:=TfrmOrderInPutZPLNew.Create(Application); + with frmOrderInPutZPLNew do + begin + PState:=3; + FMainId:=Trim(Self.CDS_ZP.fieldbyname('MainId').AsString); + TBSave.Visible:=False; + ToolBar2.Visible:=False; + cxGrid4.Enabled:=False; + //ScrollBox1.Enabled:=False; + //ScrollBox2.Enabled:=False; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPutZPLNew.Free; + end; + end; + +end; + +procedure TfrmProductOrderListNew.TBChkClick(Sender: TObject); +begin + + if PPInt=1 then + begin + if Trim(Order_Main.fieldbyname('ChkStatus').AsString)='ͨ' then + begin + if Application.MessageBox('˶ͨǷٴˣ','ʾ',32+4)<>IDYES then Exit; + end; + if Order_Main.IsEmpty then Exit; + try + frmOrderInPutNew:=TfrmOrderInPutNew.Create(Application); + with frmOrderInPutNew do + begin + PState:=2; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + //OrderType:=''; + if ShowModal=1 then + begin + Self.InitGrid(); + Self.Order_Main.Locate('MainId',Trim(FMainId),[]); + end; + end; + finally + frmOrderInPutNew.Free; + end; + end else + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + if Trim(CDS_ZP.fieldbyname('ChkStatus').AsString)='ͨ' then + begin + if Application.MessageBox('˶ͨǷٴˣ','ʾ',32+4)<>IDYES then Exit; + end; + try + frmOrderInPutZPLNew:=TfrmOrderInPutZPLNew.Create(Application); + with frmOrderInPutZPLNew do + begin + PState:=2; + FMainId:=Trim(Self.CDS_ZP.fieldbyname('MainId').AsString); + OrderType:='Ʒ'; + if ShowModal=1 then + begin + Self.InitGrid(); + Self.CDS_ZP.Locate('MainId',Trim(FMainId),[]); + end; + end; + finally + frmOrderInPutZPLNew.Free; + end; + end; + +end; + +procedure TfrmProductOrderListNew.TBCChkClick(Sender: TObject); +begin + if PPInt=1 then + begin + if Order_Main.IsEmpty then Exit; + if Application.MessageBox('ȷҪ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Main Set ChkStatus='''' '); + sql.Add(' ,Chker='''' where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + with Order_Main do + begin + Edit; + FieldByName('Chker').Value:=''; + FieldByName('ChkStatus').Value:=''; + Post; + end; + end else + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + if Application.MessageBox('ȷҪ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Main Set ChkStatus='''' '); + sql.Add(', Chker='''' where MainId='''+Trim(CDS_ZP.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + with CDS_ZP do + begin + Edit; + FieldByName('Chker').Value:=''; + FieldByName('ChkStatus').Value:=''; + Post; + end; + end ; + +end; +procedure TfrmProductOrderListNew.CopyOrderData(Order_MainFF:TClientDataSet); +var + FFMainId:string; +begin + try + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + //sql.Add('exec P_Copy_WFBOrder :MainId,:Filler'); + sql.Add('exec P_Copy_WFBOrder_NoQty :MainId,:Filler'); + Parameters.ParamByName('MainId').Value:=Trim(Order_MainFF.fieldbyname('MainId').AsString); + Parameters.ParamByName('Filler').Value:=Trim(DName); + ExecSQL; + end; + FFMainId:=Trim(Order_MainFF.fieldbyname('MainId').AsString)+'FZ'; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('update WFBYCL_PB Set CRID=(select isnull(Max(A.CRID),(select Max(AA.CRID) from CK_YCL_Sub AA '); + SQL.Add(' where AA.YCLCode=WFBYCL_PB.YCLCode) ) '); + sql.Add(' from CK_YCL_Sub A '); + sql.Add(' inner join CK_YCL_KC B on B.CRID=A.CRID '); + sql.Add(' where A.YCLCode=WFBYCL_PB.YCLCode and B.KCQty>0 )'); + sql.Add(' where MainId='''+Trim(FFMainId)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBYCL_PB Set YLKC=(select KCQty from CK_YCL_KC A where A.CRID=WFBYCL_PB.CRID)'); + sql.Add(' where MainId='''+Trim(FFMainId)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBYCL_PB Set YCLYJKC=(select YJKC=AA.KCQty-isnull((select sum(isnull(YLQty,0)) from WFBYCL_PB WP where WP.CRID=AA.CRID '); + sql.Add(' and not exists(select * from CK_YCL_Sub CS '); + sql.Add(' inner join WFBOrder_Main WM on CS.OrderNo=WM.OrderNO'); + sql.Add(' where WM.MainId=WP.MainId and CS.CRID=WP.CRID ) ),0)'); + sql.Add(' FROM CK_YCL_KC AA where AA.CRID=WFBYCL_PB.CRID)'); + sql.Add(' where MainId='''+Trim(FFMainId)+''''); + ExecSQL; + end; + ADOQueryCmd.Connection.CommitTrans; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; +procedure TfrmProductOrderListNew.TBCopyClick(Sender: TObject); +var + FFMainId:string; +begin + + if PPInt=1 then + begin + if Order_Main.IsEmpty then Exit; + CopyOrderData(Self.Order_Main); + try + frmOrderInPutNew:=TfrmOrderInPutNew.Create(Application); + with frmOrderInPutNew do + begin + PState:=1; + CopyInt:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString)+'FZ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPutNew.Free; + end; + end else + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + CopyOrderData(Self.CDS_ZP); + try + frmOrderInPutZPLNew:=TfrmOrderInPutZPLNew.Create(Application); + with frmOrderInPutZPLNew do + begin + PState:=1; + CopyInt:=1; + FMainId:=Trim(Self.CDS_ZP.fieldbyname('MainId').AsString)+'FZ'; + OrderType:='Ʒ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPutZPLNew.Free; + end; + end; + +end; + +procedure TfrmProductOrderListNew.Panel10MouseMove(Sender: TObject; + Shift: TShiftState; X, Y: Integer); +begin + ReleaseCapture; + TWinControl(Panel3).perform(WM_SYSCOMMAND, $F012, 0); +end; + +procedure TfrmProductOrderListNew.Image2Click(Sender: TObject); +begin + Panel3.Visible:=False; +end; + +procedure TfrmProductOrderListNew.Button1Click(Sender: TObject); +begin + if RadioGroup1.ItemIndex=0 then + begin + try + frmOrderInPutNew:=TfrmOrderInPutNew.Create(Application); + with frmOrderInPutNew do + begin + PState:=0; + FMainId:=''; + if ShowModal=1 then + begin + Self.InitGrid(); + Self.Order_Main.Locate('MainId',Trim(FMainId),[]); + end; + end; + finally + frmOrderInPutNew.Free; + end; + end else + begin + try + frmOrderInPutZPLNew:=TfrmOrderInPutZPLNew.Create(Application); + with frmOrderInPutZPLNew do + begin + PState:=0; + FMainId:=''; + OrderType:='Ʒ'; + if ShowModal=1 then + begin + Self.InitGrid(); + Self.CDS_ZP.Locate('MainId',Trim(FMainId),[]); + end; + end; + finally + frmOrderInPutZPLNew.Free; + end; + end; + Panel3.Visible:=False; +end; + +procedure TfrmProductOrderListNew.Button2Click(Sender: TObject); +begin + Panel3.Visible:=False; +end; + +procedure TfrmProductOrderListNew.TV2CellDblClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if Trim(DParameters1)='' then + begin + TBChk.Click; + end else + begin + TBEdit.Click; + end; +end; + +procedure TfrmProductOrderListNew.TV2MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + PPInt:=1; + Tv2.Bands[0].Caption:='ġ'; + Tv3.Bands[0].Caption:='Ʒ'; + + Tv3.Bands[0].Styles.Header.TextColor:=clBlack; + Tv2.Bands[0].Styles.Header.TextColor:=clBlue; +end; + +procedure TfrmProductOrderListNew.Tv3MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + PPInt:=2; + Tv2.Bands[0].Caption:=''; + Tv3.Bands[0].Caption:='Ʒ'; + Tv2.Bands[0].Styles.Header.TextColor:=clBlack; + Tv3.Bands[0].Styles.Header.TextColor:=clBlue; +end; + +end. diff --git a/打卷检验管理/U_ProductOrderListNewCK.dfm b/打卷检验管理/U_ProductOrderListNewCK.dfm new file mode 100644 index 0000000..0c73794 --- /dev/null +++ b/打卷检验管理/U_ProductOrderListNewCK.dfm @@ -0,0 +1,1300 @@ +object frmProductOrderListNewCK: TfrmProductOrderListNewCK + Left = -60 + Top = 45 + Width = 1277 + Height = 684 + Caption = #29983#20135#25351#31034#21333#26597#30475 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1269 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBProducttion.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBCK: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 57 + OnClick = TBCKClick + end + object TBClose: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1269 + Height = 81 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 15 + Width = 52 + Height = 12 + Caption = #19979#21333#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 189 + Top = 15 + Width = 39 + Height = 12 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 324 + Top = 15 + Width = 26 + Height = 12 + Caption = #20195#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 460 + Top = 15 + Width = 26 + Height = 12 + Caption = #23458#25143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 189 + Top = 39 + Width = 40 + Height = 12 + Caption = #39068' '#33394 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 324 + Top = 39 + Width = 26 + Height = 12 + Caption = #38376#24133 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 460 + Top = 39 + Width = 26 + Height = 12 + Caption = #20811#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 596 + Top = 15 + Width = 26 + Height = 12 + Caption = #33457#22411 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 11 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 75 + Top = 35 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + TabOrder = 1 + end + object OrderNo: TEdit + Tag = 2 + Left = 230 + Top = 11 + Width = 77 + Height = 20 + TabOrder = 2 + OnChange = OrderNoChange + end + object WFBCodeName: TEdit + Tag = 2 + Left = 353 + Top = 11 + Width = 83 + Height = 20 + TabOrder = 3 + OnChange = OrderNoChange + end + object CustomNoName: TEdit + Tag = 2 + Left = 489 + Top = 11 + Width = 83 + Height = 20 + TabOrder = 4 + OnChange = OrderNoChange + end + object SWFBColor: TEdit + Tag = 2 + Left = 230 + Top = 35 + Width = 77 + Height = 20 + TabOrder = 5 + OnChange = OrderNoChange + end + object SWFBFK: TEdit + Tag = 2 + Left = 353 + Top = 35 + Width = 83 + Height = 20 + TabOrder = 6 + OnChange = OrderNoChange + end + object SWFBKZ: TEdit + Tag = 2 + Left = 489 + Top = 35 + Width = 83 + Height = 20 + TabOrder = 7 + OnChange = OrderNoChange + end + object SWFBHW: TEdit + Tag = 2 + Left = 625 + Top = 11 + Width = 83 + Height = 20 + TabOrder = 8 + OnChange = OrderNoChange + end + end + object cxGrid1: TcxGrid + Left = 1024 + Top = 104 + Width = 169 + Height = 121 + TabOrder = 2 + Visible = False + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_WFBProducttion.SHuangSe + Styles.IncSearch = DataLink_WFBProducttion.SHuangSe + Styles.Selection = DataLink_WFBProducttion.SHuangSe + object v1Column3: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 39 + end + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#32534#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 72 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'Customnoname' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 66 + end + object v1Column2: TcxGridDBColumn + Caption = #20195#21495 + DataBinding.FieldName = 'WFBCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'WFBFK' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 62 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'WFBKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 76 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'OrdQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 58 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrdUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 63 + end + object v1OrderDate: TcxGridDBColumn + Caption = #19979#21333#26085#26399 + DataBinding.FieldName = 'OrderDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 70 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = 'ETA' + DataBinding.FieldName = 'ETADate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 63 + end + object v1FactoryNo2Name: TcxGridDBColumn + Caption = #35013#26588#26085#26399 + DataBinding.FieldName = 'ZGDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 60 + end + object v1FactoryNo1Name: TcxGridDBColumn + Caption = 'ETD' + DataBinding.FieldName = 'ETDDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 60 + end + object v1FactoryNo3Name: TcxGridDBColumn + Caption = #24320#22987#20837#24211#26085#26399 + DataBinding.FieldName = 'BegRKDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 94 + end + object v1CustomerNoName: TcxGridDBColumn + Caption = #24320#22987#29983#20135#26085#26399 + DataBinding.FieldName = 'BegSCDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 90 + end + object v1Note: TcxGridDBColumn + Caption = #27880#24847#20107#39033 + DataBinding.FieldName = 'Note' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 67 + end + object v1Column1: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'OrdPrice' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 57 + end + object v1PRTQty: TcxGridDBColumn + Caption = #35745#20215#21333#20301 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 58 + end + object v1Column4: TcxGridDBColumn + Caption = #29983#20135#32447 + DataBinding.FieldName = 'SCXName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 62 + end + object v1Column5: TcxGridDBColumn + Caption = #32593#32467#26500 + DataBinding.FieldName = 'WJGName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 62 + end + object v1Column6: TcxGridDBColumn + Caption = #23457#26680#20154 + DataBinding.FieldName = 'Chker' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 59 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 113 + Width = 1269 + Height = 254 + Align = alClient + TabOrder = 3 + object cxGrid2DBTableView1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + end + object TV2: TcxGridDBBandedTableView + OnMouseDown = TV2MouseDown + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TV2CellDblClick + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_WFBProducttion.SHuangSe + Styles.IncSearch = DataLink_WFBProducttion.SHuangSe + Styles.Selection = DataLink_WFBProducttion.SHuangSe + Styles.Header = DataLink_WFBProducttion.Default + Bands = < + item + Caption = #21367#26448 + Styles.Header = cxStyle2 + Width = 1374 + end> + object V2Column1: TcxGridDBBandedColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Width = 59 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object V2Column2: TcxGridDBBandedColumn + Caption = #23458#25143 + DataBinding.FieldName = 'Customnoname' + HeaderAlignmentHorz = taCenter + Width = 39 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object V2Column3: TcxGridDBBandedColumn + Caption = #20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + HeaderAlignmentHorz = taCenter + Width = 55 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object V2Column4: TcxGridDBBandedColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'SWFBFK' + HeaderAlignmentHorz = taCenter + Width = 46 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object V2Column5: TcxGridDBBandedColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'SWFBKZ' + HeaderAlignmentHorz = taCenter + Width = 56 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object V2Column6: TcxGridDBBandedColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'OrdQty' + HeaderAlignmentHorz = taCenter + Width = 47 + Position.BandIndex = 0 + Position.ColIndex = 8 + Position.RowIndex = 0 + end + object V2Column7: TcxGridDBBandedColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrdUnit' + HeaderAlignmentHorz = taCenter + Width = 62 + Position.BandIndex = 0 + Position.ColIndex = 9 + Position.RowIndex = 0 + end + object V2Column8: TcxGridDBBandedColumn + Caption = #19979#21333#26085#26399 + DataBinding.FieldName = 'OrderDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 62 + Position.BandIndex = 0 + Position.ColIndex = 10 + Position.RowIndex = 0 + end + object V2Column9: TcxGridDBBandedColumn + Caption = 'ETA' + DataBinding.FieldName = 'ETADate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 42 + Position.BandIndex = 0 + Position.ColIndex = 11 + Position.RowIndex = 0 + end + object V2Column10: TcxGridDBBandedColumn + Caption = #35013#26588#26085#26399 + DataBinding.FieldName = 'ZGDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 44 + Position.BandIndex = 0 + Position.ColIndex = 12 + Position.RowIndex = 0 + end + object V2Column11: TcxGridDBBandedColumn + Caption = 'ETD' + DataBinding.FieldName = 'ETDDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 44 + Position.BandIndex = 0 + Position.ColIndex = 13 + Position.RowIndex = 0 + end + object V2Column12: TcxGridDBBandedColumn + Caption = #24320#22987#20837#24211#26085#26399 + DataBinding.FieldName = 'BegRKDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 57 + Position.BandIndex = 0 + Position.ColIndex = 14 + Position.RowIndex = 0 + end + object V2Column13: TcxGridDBBandedColumn + Caption = #24320#22987#29983#20135#26085#26399 + DataBinding.FieldName = 'BegSCDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 53 + Position.BandIndex = 0 + Position.ColIndex = 15 + Position.RowIndex = 0 + end + object V2Column14: TcxGridDBBandedColumn + Caption = #27880#24847#20107#39033 + DataBinding.FieldName = 'Note' + HeaderAlignmentHorz = taCenter + Width = 57 + Position.BandIndex = 0 + Position.ColIndex = 16 + Position.RowIndex = 0 + end + object V2Column16: TcxGridDBBandedColumn + Caption = #35745#20215#21333#20301 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Width = 43 + Position.BandIndex = 0 + Position.ColIndex = 17 + Position.RowIndex = 0 + end + object V2Column17: TcxGridDBBandedColumn + Caption = #29983#20135#32447 + DataBinding.FieldName = 'SCXName' + HeaderAlignmentHorz = taCenter + Width = 38 + Position.BandIndex = 0 + Position.ColIndex = 18 + Position.RowIndex = 0 + end + object V2Column18: TcxGridDBBandedColumn + Caption = #32593#32467#26500 + DataBinding.FieldName = 'WJGName' + HeaderAlignmentHorz = taCenter + Width = 43 + Position.BandIndex = 0 + Position.ColIndex = 19 + Position.RowIndex = 0 + end + object V2Column19: TcxGridDBBandedColumn + Caption = #23457#26680#20154 + DataBinding.FieldName = 'Chker' + HeaderAlignmentHorz = taCenter + Width = 45 + Position.BandIndex = 0 + Position.ColIndex = 21 + Position.RowIndex = 0 + end + object V2Column20: TcxGridDBBandedColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Width = 48 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object V2Column22: TcxGridDBBandedColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Width = 50 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object V2Column23: TcxGridDBBandedColumn + Caption = #32534#21495 + DataBinding.FieldName = 'OrderCode' + HeaderAlignmentHorz = taCenter + Width = 82 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object V2Column24: TcxGridDBBandedColumn + Caption = #23457#26680#29366#24577 + DataBinding.FieldName = 'ChkStatus' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 65 + Position.BandIndex = 0 + Position.ColIndex = 22 + Position.RowIndex = 0 + end + object V2Column25: TcxGridDBBandedColumn + Caption = #21046#21333#20154 + DataBinding.FieldName = 'Filler' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 66 + Position.BandIndex = 0 + Position.ColIndex = 20 + Position.RowIndex = 0 + end + object V2Column26: TcxGridDBBandedColumn + Caption = #24050#29983#25104#35745#21010#21333 + DataBinding.FieldName = 'JHDFlag' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + Options.Focusing = False + Width = 85 + Position.BandIndex = 0 + Position.ColIndex = 23 + Position.RowIndex = 0 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = TV2 + end + end + object cxGrid3: TcxGrid + Left = 0 + Top = 375 + Width = 1269 + Height = 272 + Align = alBottom + TabOrder = 4 + object cxGridDBTableView1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + end + object Tv3: TcxGridDBBandedTableView + OnMouseDown = Tv3MouseDown + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TV2CellDblClick + DataController.DataSource = DataSource2 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_WFBProducttion.SHuangSe + Styles.IncSearch = DataLink_WFBProducttion.SHuangSe + Styles.Selection = DataLink_WFBProducttion.SHuangSe + Styles.Header = DataLink_WFBProducttion.Default + Bands = < + item + Caption = #21046#21697 + Styles.Header = cxStyle1 + Width = 1374 + end> + object cxGridDBBandedColumn1: TcxGridDBBandedColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Width = 63 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn2: TcxGridDBBandedColumn + Caption = #23458#25143 + DataBinding.FieldName = 'Customnoname' + HeaderAlignmentHorz = taCenter + Width = 46 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn3: TcxGridDBBandedColumn + Caption = #20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + HeaderAlignmentHorz = taCenter + Width = 57 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn5: TcxGridDBBandedColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'SWFBKZ' + HeaderAlignmentHorz = taCenter + Width = 51 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn6: TcxGridDBBandedColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'OrdQty' + HeaderAlignmentHorz = taCenter + Width = 50 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn7: TcxGridDBBandedColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrdUnit' + HeaderAlignmentHorz = taCenter + Width = 57 + Position.BandIndex = 0 + Position.ColIndex = 8 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn8: TcxGridDBBandedColumn + Caption = #19979#21333#26085#26399 + DataBinding.FieldName = 'OrderDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 51 + Position.BandIndex = 0 + Position.ColIndex = 9 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn9: TcxGridDBBandedColumn + Caption = 'ETA' + DataBinding.FieldName = 'ETADate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 53 + Position.BandIndex = 0 + Position.ColIndex = 10 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn10: TcxGridDBBandedColumn + Caption = #35013#26588#26085#26399 + DataBinding.FieldName = 'ZGDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 52 + Position.BandIndex = 0 + Position.ColIndex = 11 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn11: TcxGridDBBandedColumn + Caption = 'ETD' + DataBinding.FieldName = 'ETDDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 51 + Position.BandIndex = 0 + Position.ColIndex = 12 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn12: TcxGridDBBandedColumn + Caption = #24320#22987#20837#24211#26085#26399 + DataBinding.FieldName = 'BegRKDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 66 + Position.BandIndex = 0 + Position.ColIndex = 13 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn13: TcxGridDBBandedColumn + Caption = #24320#22987#29983#20135#26085#26399 + DataBinding.FieldName = 'BegSCDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 65 + Position.BandIndex = 0 + Position.ColIndex = 14 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn14: TcxGridDBBandedColumn + Caption = #27880#24847#20107#39033 + DataBinding.FieldName = 'Note' + HeaderAlignmentHorz = taCenter + Width = 67 + Position.BandIndex = 0 + Position.ColIndex = 15 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn17: TcxGridDBBandedColumn + Caption = #29983#20135#32447 + DataBinding.FieldName = 'SCXName' + HeaderAlignmentHorz = taCenter + Width = 47 + Position.BandIndex = 0 + Position.ColIndex = 16 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn18: TcxGridDBBandedColumn + Caption = #32593#32467#26500 + DataBinding.FieldName = 'WJGName' + HeaderAlignmentHorz = taCenter + Width = 45 + Position.BandIndex = 0 + Position.ColIndex = 17 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn19: TcxGridDBBandedColumn + Caption = #23457#26680#20154 + DataBinding.FieldName = 'Chker' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 45 + Position.BandIndex = 0 + Position.ColIndex = 19 + Position.RowIndex = 0 + end + object v3Column1: TcxGridDBBandedColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Width = 51 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object v3Column2: TcxGridDBBandedColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Width = 53 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object v3Column4: TcxGridDBBandedColumn + Caption = #32534#21495 + DataBinding.FieldName = 'OrderCode' + HeaderAlignmentHorz = taCenter + Width = 74 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object v3Column5: TcxGridDBBandedColumn + Caption = #23457#26680#29366#24577 + DataBinding.FieldName = 'ChkStatus' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 62 + Position.BandIndex = 0 + Position.ColIndex = 20 + Position.RowIndex = 0 + end + object v3Column6: TcxGridDBBandedColumn + Caption = #21046#21333#20154 + DataBinding.FieldName = 'Filler' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 71 + Position.BandIndex = 0 + Position.ColIndex = 18 + Position.RowIndex = 0 + end + object v3Column7: TcxGridDBBandedColumn + Caption = #24050#29983#25104#35745#21010#21333 + DataBinding.FieldName = 'JHDFlag' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + Width = 59 + Position.BandIndex = 0 + Position.ColIndex = 21 + Position.RowIndex = 0 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv3 + end + end + object Panel3: TPanel + Left = 544 + Top = 153 + Width = 201 + Height = 195 + TabOrder = 5 + Visible = False + object Label8: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Button1: TButton + Left = 24 + Top = 159 + Width = 65 + Height = 25 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = Button1Click + end + object Button2: TButton + Left = 120 + Top = 159 + Width = 49 + Height = 25 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Button2Click + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 199 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #35746#21333#31867#22411 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnMouseMove = Panel10MouseMove + object Image2: TImage + Left = 173 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object RadioGroup1: TRadioGroup + Left = 48 + Top = 24 + Width = 97 + Height = 127 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ItemIndex = 0 + Items.Strings = ( + #21367#26448 + #21046#21697) + ParentFont = False + TabOrder = 3 + end + end + object cxSplitter1: TcxSplitter + Left = 0 + Top = 367 + Width = 1269 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + Control = cxGrid3 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 336 + Top = 160 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 832 + Top = 144 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 808 + Top = 144 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 864 + Top = 144 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 392 + Top = 160 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 424 + Top = 176 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 840 + Top = 256 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = Order_Main + Left = 848 + Top = 208 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 384 + Top = 240 + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = Order_Main + Left = 792 + Top = 288 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 288 + Top = 208 + ReportData = {} + end + object cxStyleRepository1: TcxStyleRepository + object cxStyle1: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #40657#20307 + Font.Style = [fsBold] + end + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid3 + PopupMenus = <> + Left = 344 + Top = 408 + end + object DataSource2: TDataSource + DataSet = CDS_ZP + Left = 504 + Top = 440 + end + object CDS_ZP: TClientDataSet + Aggregates = <> + Params = <> + Left = 560 + Top = 448 + end + object cxStyleRepository2: TcxStyleRepository + object cxStyle2: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #40657#20307 + Font.Style = [fsBold] + end + end + object cxStyleRepository3: TcxStyleRepository + Left = 792 + Top = 104 + object cxStyle3: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #40657#20307 + Font.Style = [fsBold] + end + end +end diff --git a/打卷检验管理/U_ProductOrderListNewCK.pas b/打卷检验管理/U_ProductOrderListNewCK.pas new file mode 100644 index 0000000..a814bdf --- /dev/null +++ b/打卷检验管理/U_ProductOrderListNewCK.pas @@ -0,0 +1,1012 @@ +unit U_ProductOrderListNewCK; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, + cxGridBandedTableView, cxGridDBBandedTableView; + +type + TfrmProductOrderListNewCK = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + OrderNo: TEdit; + Label5: TLabel; + WFBCodeName: TEdit; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1OrderDate: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1FactoryNo1Name: TcxGridDBColumn; + v1FactoryNo2Name: TcxGridDBColumn; + v1FactoryNo3Name: TcxGridDBColumn; + v1Note: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1PRTQty: TcxGridDBColumn; + Order_Main: TClientDataSet; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + v1CustomerNoName: TcxGridDBColumn; + Label4: TLabel; + CustomNoName: TEdit; + v1Column3: TcxGridDBColumn; + TBCK: TToolButton; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + RMDB_Main: TRMDBDataSet; + RM2: TRMGridReport; + cxGrid2DBTableView1: TcxGridDBTableView; + cxGrid2Level1: TcxGridLevel; + cxGrid2: TcxGrid; + TV2: TcxGridDBBandedTableView; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + V2Column1: TcxGridDBBandedColumn; + V2Column2: TcxGridDBBandedColumn; + V2Column3: TcxGridDBBandedColumn; + V2Column4: TcxGridDBBandedColumn; + V2Column5: TcxGridDBBandedColumn; + V2Column6: TcxGridDBBandedColumn; + V2Column7: TcxGridDBBandedColumn; + V2Column8: TcxGridDBBandedColumn; + V2Column9: TcxGridDBBandedColumn; + V2Column10: TcxGridDBBandedColumn; + V2Column11: TcxGridDBBandedColumn; + V2Column12: TcxGridDBBandedColumn; + V2Column13: TcxGridDBBandedColumn; + V2Column14: TcxGridDBBandedColumn; + V2Column16: TcxGridDBBandedColumn; + V2Column17: TcxGridDBBandedColumn; + V2Column18: TcxGridDBBandedColumn; + V2Column19: TcxGridDBBandedColumn; + cxGrid3: TcxGrid; + cxGridDBTableView1: TcxGridDBTableView; + Tv3: TcxGridDBBandedTableView; + cxGridDBBandedColumn1: TcxGridDBBandedColumn; + cxGridDBBandedColumn2: TcxGridDBBandedColumn; + cxGridDBBandedColumn3: TcxGridDBBandedColumn; + cxGridDBBandedColumn5: TcxGridDBBandedColumn; + cxGridDBBandedColumn6: TcxGridDBBandedColumn; + cxGridDBBandedColumn7: TcxGridDBBandedColumn; + cxGridDBBandedColumn8: TcxGridDBBandedColumn; + cxGridDBBandedColumn9: TcxGridDBBandedColumn; + cxGridDBBandedColumn10: TcxGridDBBandedColumn; + cxGridDBBandedColumn11: TcxGridDBBandedColumn; + cxGridDBBandedColumn12: TcxGridDBBandedColumn; + cxGridDBBandedColumn13: TcxGridDBBandedColumn; + cxGridDBBandedColumn14: TcxGridDBBandedColumn; + cxGridDBBandedColumn17: TcxGridDBBandedColumn; + cxGridDBBandedColumn18: TcxGridDBBandedColumn; + cxGridDBBandedColumn19: TcxGridDBBandedColumn; + cxGridLevel1: TcxGridLevel; + Panel3: TPanel; + Label8: TLabel; + Button1: TButton; + Button2: TButton; + Panel10: TPanel; + Image2: TImage; + RadioGroup1: TRadioGroup; + cxGridPopupMenu2: TcxGridPopupMenu; + DataSource2: TDataSource; + CDS_ZP: TClientDataSet; + cxStyleRepository2: TcxStyleRepository; + cxStyle2: TcxStyle; + cxStyleRepository3: TcxStyleRepository; + cxStyle3: TcxStyle; + V2Column20: TcxGridDBBandedColumn; + V2Column22: TcxGridDBBandedColumn; + V2Column23: TcxGridDBBandedColumn; + cxSplitter1: TcxSplitter; + v3Column1: TcxGridDBBandedColumn; + v3Column2: TcxGridDBBandedColumn; + v3Column4: TcxGridDBBandedColumn; + V2Column24: TcxGridDBBandedColumn; + V2Column25: TcxGridDBBandedColumn; + v3Column5: TcxGridDBBandedColumn; + v3Column6: TcxGridDBBandedColumn; + V2Column26: TcxGridDBBandedColumn; + v3Column7: TcxGridDBBandedColumn; + Label2: TLabel; + Label6: TLabel; + Label7: TLabel; + SWFBColor: TEdit; + SWFBFK: TEdit; + SWFBKZ: TEdit; + Label9: TLabel; + SWFBHW: TEdit; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBEditClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBViewClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure OrderNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TBBQPrintClick(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure ToolButton4Click(Sender: TObject); + procedure ToolButton5Click(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure CheckBox2Click(Sender: TObject); + procedure TBCKClick(Sender: TObject); + procedure TBChkClick(Sender: TObject); + procedure TBCChkClick(Sender: TObject); + procedure TBCopyClick(Sender: TObject); + procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, + Y: Integer); + procedure Image2Click(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure TV2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TV2MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Tv3MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + private + PPInt:Integer; + procedure InitGrid(); + procedure InitForm(); + function DelData(Order_Main10:TClientDataSet):Boolean; + procedure InitGridFH(); + procedure CopyOrderData(Order_MainFF:TClientDataSet); + { Private declarations } + public + FFInt:Integer; + { Public declarations } + end; + +var + frmProductOrderListNewCK: TfrmProductOrderListNewCK; + +implementation +uses + U_DataLink,U_OrderInPut,U_Fun,U_OrderInPutZP,U_OrderInPutNew,U_OrderInPutZPNew + ,U_OrderInPutZPLNew,U_OrderAttachment; + +{$R *.dfm} + +procedure TfrmProductOrderListNewCK.FormDestroy(Sender: TObject); +begin + frmProductOrderListNewCK:=nil; +end; + +procedure TfrmProductOrderListNewCK.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmProductOrderListNewCK.FormCreate(Sender: TObject); +begin + //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; + //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); +end; + +procedure TfrmProductOrderListNewCK.TBCloseClick(Sender: TObject); +begin + Close; + //WriteCxGrid('޷IJָʾб',Tv1,'ָʾ'); + WriteCxBandedGrid('޷IJָʾбck',Tv2,'ָʾ'); + WriteCxBandedGrid('޷IJָʾбDDck',Tv3,'ָʾ'); +end; + +procedure TfrmProductOrderListNewCK.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add(' exec P_WFBOrder_List :begdate,:endate,:MainId'); + Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime)); + Parameters.ParamByName('endate').Value:=Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1)); + Parameters.ParamByName('MainId').Value:=''; + Open; + end; + SDofilter(ADOQueryMain,'OrderType='''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + SDofilter(ADOQueryMain,'OrderType=''Ʒ'''); + SCreateCDS20(ADOQueryMain,CDS_ZP); + SInitCDSData20(ADOQueryMain,CDS_ZP); + finally + ADOQueryMain.EnableControls; + end; +end; +procedure TfrmProductOrderListNewCK.InitGridFH(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec Order_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmProductOrderListNewCK.InitForm(); +begin + if SGetServerDate(ADOQueryTemp)>StrToDate('2013-06-19') then + begin + ToolBar1.Visible:=False; + Application.MessageBox('ҪϵӦ̣','ʾ',0); + Exit; + end; + ReadCxBandedGrid('޷IJָʾбck',Tv2,'ָʾ'); + ReadCxBandedGrid('޷IJָʾбDDck',Tv3,'ָʾ'); + if FFInt>0 then + begin + v1Column3.Hidden:=False; + v1Column3.Visible:=True; + end else + begin + v1Column3.Hidden:=True; + v1Column3.Visible:=False; + end; + if Trim(DParameters1)='1' then + begin + v1CustomerNoName.Visible:=False; + v1CustomerNoName.Hidden:=True; + end else + begin + v1CustomerNoName.Visible:=True; + v1CustomerNoName.Hidden:=False; + end; + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + InitGrid(); + {if Trim(DParameters1)='1' then + begin + TBChk.Visible:=False; + TBCChk.Visible:=False; + end;} +end; + +procedure TfrmProductOrderListNewCK.TBFindClick(Sender: TObject); +var + fsj:string; +begin + if ADOQueryMain.Active=False then Exit; + if Trim(SGetFilters(Panel1,1,2))<>'' then + begin + fsj:='OrderType='''' and '+Trim(SGetFilters(Panel1,1,2)); + SDofilter(ADOQueryMain,fsj); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + fsj:='OrderType=''Ʒ'' and '+Trim(SGetFilters(Panel1,1,2)); + SDofilter(ADOQueryMain,fsj); + SCreateCDS20(ADOQueryMain,CDS_ZP); + SInitCDSData20(ADOQueryMain,CDS_ZP); + end else + begin + fsj:='OrderType='''''; + SDofilter(ADOQueryMain,fsj); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + fsj:='OrderType=''Ʒ'''; + SDofilter(ADOQueryMain,fsj); + SCreateCDS20(ADOQueryMain,CDS_ZP); + SInitCDSData20(ADOQueryMain,CDS_ZP); + end; +end; + +procedure TfrmProductOrderListNewCK.TBEditClick(Sender: TObject); +begin + if PPInt=1 then + begin + if Order_Main.IsEmpty then Exit; + if Trim(Order_Main.fieldbyname('ChkStatus').AsString)='ͨ' then + begin + Application.MessageBox('˶ͨ޸ģ','ʾ',0); + Exit; + end; + try + frmOrderInPutNew:=TfrmOrderInPutNew.Create(Application); + with frmOrderInPutNew do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + //OrderType:=''; + if ShowModal=1 then + begin + Self.InitGrid(); + Self.Order_Main.Locate('MainId',Trim(FMainId),[]); + end; + end; + finally + frmOrderInPutNew.Free; + end; + end else + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + if Trim(CDS_ZP.fieldbyname('ChkStatus').AsString)='ͨ' then + begin + Application.MessageBox('˶ͨ޸ģ','ʾ',0); + Exit; + end; + try + frmOrderInPutZPLNew:=TfrmOrderInPutZPLNew.Create(Application); + with frmOrderInPutZPLNew do + begin + PState:=1; + FMainId:=Trim(Self.CDS_ZP.fieldbyname('MainId').AsString); + OrderType:='Ʒ'; + if ShowModal=1 then + begin + Self.InitGrid(); + Self.CDS_ZP.Locate('MainId',Trim(FMainId),[]); + end; + end; + finally + frmOrderInPutZPLNew.Free; + end; + end; +end; + +procedure TfrmProductOrderListNewCK.TBDelClick(Sender: TObject); +begin + if PPInt=1 then + begin + if Order_Main.IsEmpty then Exit; + if Trim(Order_Main.fieldbyname('Chker').AsString)<>'' then + begin + Application.MessageBox('Ѿ˲ɾ','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + if DelData(Order_Main) then + begin + //TBRafresh.Click; + //TBFind.Click; + Order_Main.Delete; + end; + end else + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + if Trim(CDS_ZP.fieldbyname('Chker').AsString)<>'' then + begin + Application.MessageBox('Ѿ˲ɾ','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + if DelData(CDS_ZP) then + begin + //TBRafresh.Click; + //TBFind.Click; + CDS_ZP.Delete; + end; + end; + + +end; + +function TfrmProductOrderListNewCK.DelData(Order_Main10:TClientDataSet):Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFBOrder_Main where MainId='''+Trim(Order_Main10.fieldbyname('MainId').AsString)+''''); + sql.Add('delete WFBOrder_Sub where MainId='''+Trim(Order_Main10.fieldbyname('MainId').AsString)+''''); + sql.Add('delete WFB_DB where MainId='''+Trim(Order_Main10.fieldbyname('MainId').AsString)+''''); + sql.Add('delete WFBYCL_PB where MainId='''+Trim(Order_Main10.fieldbyname('MainId').AsString)+''''); + sql.Add('delete WFBYCL_PBSub where MainId='''+Trim(Order_Main10.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmProductOrderListNewCK.TBViewClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + ShowMessage(DCode); + +end; + +procedure TfrmProductOrderListNewCK.TBExportClick(Sender: TObject); +begin + if PPInt=1 then + begin + if Order_Main.IsEmpty then Exit; + TcxGridToExcel('ָʾб()',cxGrid2); + end else + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + TcxGridToExcel('ָʾб(Ʒ)',cxGrid3); + end; + + +end; + +procedure TfrmProductOrderListNewCK.TBPrintClick(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); + //SelPrintData(TV4,ADOQueryMain,'ͬѯ'); +end; + +procedure TfrmProductOrderListNewCK.TBRafreshClick(Sender: TObject); +begin + if FFInt=1 then + begin + InitGridFH(); + end else + InitGrid(); +end; + +procedure TfrmProductOrderListNewCK.TBAddClick(Sender: TObject); +begin + Panel3.Visible:=True; +end; + +procedure TfrmProductOrderListNewCK.OrderNoChange(Sender: TObject); +var + fsj:string; +begin + if ADOQueryMain.Active=False then Exit; + if Trim(SGetFilters(Panel1,1,2))<>'' then + begin + fsj:='OrderType='''' and '+Trim(SGetFilters(Panel1,1,2)); + SDofilter(ADOQueryMain,fsj); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + fsj:='OrderType=''Ʒ'' and '+Trim(SGetFilters(Panel1,1,2)); + SDofilter(ADOQueryMain,fsj); + SCreateCDS20(ADOQueryMain,CDS_ZP); + SInitCDSData20(ADOQueryMain,CDS_ZP); + end else + begin + fsj:='OrderType='''''; + SDofilter(ADOQueryMain,fsj); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + fsj:='OrderType=''Ʒ'''; + SDofilter(ADOQueryMain,fsj); + SCreateCDS20(ADOQueryMain,CDS_ZP); + SInitCDSData20(ADOQueryMain,CDS_ZP); + end; +end; + +procedure TfrmProductOrderListNewCK.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmProductOrderListNewCK.Tv1CellDblClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + // if FFInt=1 then + //ModalResult:=1; + TBCK.Click; +end; + +procedure TfrmProductOrderListNewCK.TBBQPrintClick(Sender: TObject); +var + fPrintFile:String; +begin + if PPInt=1 then + begin + if Order_Main.IsEmpty then Exit; + RMDB_Main.DataSet:=Order_Main; + end; + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + RMDB_Main.DataSet:=CDS_ZP; + end; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\ǩ.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + RM2.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ǩ.rmf'),'ʾ',0); + end; +end; + +procedure TfrmProductOrderListNewCK.ToolButton2Click(Sender: TObject); + var + fsj:string; +begin + if PPInt=1 then + begin + if Order_Main.IsEmpty then Exit; + fsj:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + end else + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + fsj:=Trim(Self.CDS_ZP.fieldbyname('MainId').AsString); + end else + begin + Application.MessageBox('δѡж!','ʾ',0); + Exit; + end; + try + frmOrderAttachment:=TfrmOrderAttachment.Create(Application); + with frmOrderAttachment do + begin + FAMainId:=Trim(fsj); + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderAttachment.Free; + end; +end; + +procedure TfrmProductOrderListNewCK.ToolButton3Click(Sender: TObject); +begin + ModalResult:=1; +end; + +procedure TfrmProductOrderListNewCK.ToolButton4Click(Sender: TObject); +begin + if Application.MessageBox('ȷҪִɲ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Order_Main Set Status='''' '); + sql.Add('where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + //InitGrid(); +end; + +procedure TfrmProductOrderListNewCK.ToolButton5Click(Sender: TObject); +begin + if Application.MessageBox('ȷҪִɳ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate Order_Main Set Status='''' '); + sql.Add('where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; +end; + +procedure TfrmProductOrderListNewCK.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmProductOrderListNewCK.CheckBox2Click(Sender: TObject); +begin + TBRafresh.Click; +end; + +procedure TfrmProductOrderListNewCK.TBCKClick(Sender: TObject); +begin + if PPInt=1 then + begin + if Order_Main.IsEmpty then Exit; + try + frmOrderInPutNew:=TfrmOrderInPutNew.Create(Application); + with frmOrderInPutNew do + begin + PState:=3; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + TBSave.Visible:=False; + ToolBar2.Visible:=False; + cxGrid4.Enabled:=False; + //ScrollBox1.Enabled:=False; + //ScrollBox2.Enabled:=False; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPutNew.Free; + end; + end else + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + try + frmOrderInPutZPLNew:=TfrmOrderInPutZPLNew.Create(Application); + with frmOrderInPutZPLNew do + begin + PState:=3; + FMainId:=Trim(Self.CDS_ZP.fieldbyname('MainId').AsString); + TBSave.Visible:=False; + ToolBar2.Visible:=False; + cxGrid4.Enabled:=False; + //ScrollBox1.Enabled:=False; + //ScrollBox2.Enabled:=False; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPutZPLNew.Free; + end; + end; + +end; + +procedure TfrmProductOrderListNewCK.TBChkClick(Sender: TObject); +begin + + if PPInt=1 then + begin + if Trim(Order_Main.fieldbyname('ChkStatus').AsString)='ͨ' then + begin + if Application.MessageBox('˶ͨǷٴˣ','ʾ',32+4)<>IDYES then Exit; + end; + if Order_Main.IsEmpty then Exit; + try + frmOrderInPutNew:=TfrmOrderInPutNew.Create(Application); + with frmOrderInPutNew do + begin + PState:=2; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + //OrderType:=''; + if ShowModal=1 then + begin + Self.InitGrid(); + Self.Order_Main.Locate('MainId',Trim(FMainId),[]); + end; + end; + finally + frmOrderInPutNew.Free; + end; + end else + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + if Trim(CDS_ZP.fieldbyname('ChkStatus').AsString)='ͨ' then + begin + if Application.MessageBox('˶ͨǷٴˣ','ʾ',32+4)<>IDYES then Exit; + end; + try + frmOrderInPutZPLNew:=TfrmOrderInPutZPLNew.Create(Application); + with frmOrderInPutZPLNew do + begin + PState:=2; + FMainId:=Trim(Self.CDS_ZP.fieldbyname('MainId').AsString); + OrderType:='Ʒ'; + if ShowModal=1 then + begin + Self.InitGrid(); + Self.CDS_ZP.Locate('MainId',Trim(FMainId),[]); + end; + end; + finally + frmOrderInPutZPLNew.Free; + end; + end; + +end; + +procedure TfrmProductOrderListNewCK.TBCChkClick(Sender: TObject); +begin + if PPInt=1 then + begin + if Order_Main.IsEmpty then Exit; + if Application.MessageBox('ȷҪ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Main Set ChkStatus='''' '); + sql.Add(' ,Chker='''' where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + with Order_Main do + begin + Edit; + FieldByName('Chker').Value:=''; + FieldByName('ChkStatus').Value:=''; + Post; + end; + end else + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + if Application.MessageBox('ȷҪ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Main Set ChkStatus='''' '); + sql.Add(', Chker='''' where MainId='''+Trim(CDS_ZP.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + with CDS_ZP do + begin + Edit; + FieldByName('Chker').Value:=''; + FieldByName('ChkStatus').Value:=''; + Post; + end; + end ; + +end; +procedure TfrmProductOrderListNewCK.CopyOrderData(Order_MainFF:TClientDataSet); +var + FFMainId:string; +begin + try + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + //sql.Add('exec P_Copy_WFBOrder :MainId,:Filler'); + sql.Add('exec P_Copy_WFBOrder_NoQty :MainId,:Filler'); + Parameters.ParamByName('MainId').Value:=Trim(Order_MainFF.fieldbyname('MainId').AsString); + Parameters.ParamByName('Filler').Value:=Trim(DName); + ExecSQL; + end; + FFMainId:=Trim(Order_MainFF.fieldbyname('MainId').AsString)+'FZ'; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('update WFBYCL_PB Set CRID=(select isnull(Max(A.CRID),(select Max(AA.CRID) from CK_YCL_Sub AA '); + SQL.Add(' where AA.YCLCode=WFBYCL_PB.YCLCode) ) '); + sql.Add(' from CK_YCL_Sub A '); + sql.Add(' inner join CK_YCL_KC B on B.CRID=A.CRID '); + sql.Add(' where A.YCLCode=WFBYCL_PB.YCLCode and B.KCQty>0 )'); + sql.Add(' where MainId='''+Trim(FFMainId)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBYCL_PB Set YLKC=(select KCQty from CK_YCL_KC A where A.CRID=WFBYCL_PB.CRID)'); + sql.Add(' where MainId='''+Trim(FFMainId)+''''); + ExecSQL; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBYCL_PB Set YCLYJKC=(select YJKC=AA.KCQty-isnull((select sum(isnull(YLQty,0)) from WFBYCL_PB WP where WP.CRID=AA.CRID '); + sql.Add(' and not exists(select * from CK_YCL_Sub CS '); + sql.Add(' inner join WFBOrder_Main WM on CS.OrderNo=WM.OrderNO'); + sql.Add(' where WM.MainId=WP.MainId and CS.CRID=WP.CRID ) ),0)'); + sql.Add(' FROM CK_YCL_KC AA where AA.CRID=WFBYCL_PB.CRID)'); + sql.Add(' where MainId='''+Trim(FFMainId)+''''); + ExecSQL; + end; + ADOQueryCmd.Connection.CommitTrans; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; +procedure TfrmProductOrderListNewCK.TBCopyClick(Sender: TObject); +var + FFMainId:string; +begin + + if PPInt=1 then + begin + if Order_Main.IsEmpty then Exit; + CopyOrderData(Self.Order_Main); + try + frmOrderInPutNew:=TfrmOrderInPutNew.Create(Application); + with frmOrderInPutNew do + begin + PState:=1; + CopyInt:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString)+'FZ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPutNew.Free; + end; + end else + if PPInt=2 then + begin + if CDS_ZP.IsEmpty then Exit; + CopyOrderData(Self.CDS_ZP); + try + frmOrderInPutZPLNew:=TfrmOrderInPutZPLNew.Create(Application); + with frmOrderInPutZPLNew do + begin + PState:=1; + CopyInt:=1; + FMainId:=Trim(Self.CDS_ZP.fieldbyname('MainId').AsString)+'FZ'; + OrderType:='Ʒ'; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPutZPLNew.Free; + end; + end; + +end; + +procedure TfrmProductOrderListNewCK.Panel10MouseMove(Sender: TObject; + Shift: TShiftState; X, Y: Integer); +begin + ReleaseCapture; + TWinControl(Panel3).perform(WM_SYSCOMMAND, $F012, 0); +end; + +procedure TfrmProductOrderListNewCK.Image2Click(Sender: TObject); +begin + Panel3.Visible:=False; +end; + +procedure TfrmProductOrderListNewCK.Button1Click(Sender: TObject); +begin + if RadioGroup1.ItemIndex=0 then + begin + try + frmOrderInPutNew:=TfrmOrderInPutNew.Create(Application); + with frmOrderInPutNew do + begin + PState:=0; + FMainId:=''; + if ShowModal=1 then + begin + Self.InitGrid(); + Self.Order_Main.Locate('MainId',Trim(FMainId),[]); + end; + end; + finally + frmOrderInPutNew.Free; + end; + end else + begin + try + frmOrderInPutZPLNew:=TfrmOrderInPutZPLNew.Create(Application); + with frmOrderInPutZPLNew do + begin + PState:=0; + FMainId:=''; + OrderType:='Ʒ'; + if ShowModal=1 then + begin + Self.InitGrid(); + Self.CDS_ZP.Locate('MainId',Trim(FMainId),[]); + end; + end; + finally + frmOrderInPutZPLNew.Free; + end; + end; + Panel3.Visible:=False; +end; + +procedure TfrmProductOrderListNewCK.Button2Click(Sender: TObject); +begin + Panel3.Visible:=False; +end; + +procedure TfrmProductOrderListNewCK.TV2CellDblClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + TBCK.Click; +end; + +procedure TfrmProductOrderListNewCK.TV2MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + PPInt:=1; + Tv2.Bands[0].Caption:='ġ'; + Tv3.Bands[0].Caption:='Ʒ'; + + Tv3.Bands[0].Styles.Header.TextColor:=clBlack; + Tv2.Bands[0].Styles.Header.TextColor:=clBlue; +end; + +procedure TfrmProductOrderListNewCK.Tv3MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + PPInt:=2; + Tv2.Bands[0].Caption:=''; + Tv3.Bands[0].Caption:='Ʒ'; + Tv2.Bands[0].Styles.Header.TextColor:=clBlack; + Tv3.Bands[0].Styles.Header.TextColor:=clBlue; +end; + +end. diff --git a/打卷检验管理/U_ProductOrderListNewCKMX.dfm b/打卷检验管理/U_ProductOrderListNewCKMX.dfm new file mode 100644 index 0000000..3666195 --- /dev/null +++ b/打卷检验管理/U_ProductOrderListNewCKMX.dfm @@ -0,0 +1,938 @@ +object frmProductOrderListNewCKMX: TfrmProductOrderListNewCKMX + Left = 25 + Top = 49 + Width = 1277 + Height = 684 + Caption = #29983#20135#25351#31034#21333#26126#32454 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1269 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBProducttion.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object ToolButton1: TToolButton + Left = 126 + Top = 0 + Caption = #23548#20986 + ImageIndex = 102 + OnClick = ToolButton1Click + end + object TBClose: TToolButton + Left = 185 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1269 + Height = 65 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 15 + Width = 52 + Height = 12 + Caption = #19979#21333#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 189 + Top = 15 + Width = 39 + Height = 12 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 324 + Top = 15 + Width = 26 + Height = 12 + Caption = #20195#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 460 + Top = 15 + Width = 26 + Height = 12 + Caption = #23458#25143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 189 + Top = 39 + Width = 40 + Height = 12 + Caption = #39068' '#33394 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 324 + Top = 39 + Width = 26 + Height = 12 + Caption = #38376#24133 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 460 + Top = 39 + Width = 26 + Height = 12 + Caption = #20811#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 596 + Top = 15 + Width = 26 + Height = 12 + Caption = #33457#22411 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 11 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 75 + Top = 35 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + TabOrder = 1 + end + object OrderNo: TEdit + Tag = 2 + Left = 230 + Top = 11 + Width = 77 + Height = 20 + TabOrder = 2 + OnChange = OrderNoChange + end + object WFBCodeName: TEdit + Tag = 2 + Left = 353 + Top = 11 + Width = 83 + Height = 20 + TabOrder = 3 + OnChange = OrderNoChange + end + object CustomNoName: TEdit + Tag = 2 + Left = 489 + Top = 11 + Width = 83 + Height = 20 + TabOrder = 4 + OnChange = OrderNoChange + end + object SWFBColor: TEdit + Tag = 2 + Left = 230 + Top = 35 + Width = 77 + Height = 20 + TabOrder = 5 + OnChange = OrderNoChange + end + object SWFBFK10: TEdit + Tag = 2 + Left = 353 + Top = 35 + Width = 83 + Height = 20 + TabOrder = 6 + OnChange = OrderNoChange + end + object SWFBKZ10: TEdit + Tag = 2 + Left = 489 + Top = 35 + Width = 83 + Height = 20 + TabOrder = 7 + OnChange = OrderNoChange + end + object SWFBHW: TEdit + Tag = 2 + Left = 625 + Top = 11 + Width = 83 + Height = 20 + TabOrder = 8 + OnChange = OrderNoChange + end + end + object cxGrid1: TcxGrid + Left = 1024 + Top = 104 + Width = 169 + Height = 121 + TabOrder = 2 + Visible = False + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_WFBProducttion.SHuangSe + Styles.IncSearch = DataLink_WFBProducttion.SHuangSe + Styles.Selection = DataLink_WFBProducttion.SHuangSe + object v1Column3: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_WFBProducttion.Default + Width = 39 + end + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#32534#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 72 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'Customnoname' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 66 + end + object v1Column2: TcxGridDBColumn + Caption = #20195#21495 + DataBinding.FieldName = 'WFBCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'WFBFK' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 62 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'WFBKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 76 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'OrdQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 58 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrdUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 63 + end + object v1OrderDate: TcxGridDBColumn + Caption = #19979#21333#26085#26399 + DataBinding.FieldName = 'OrderDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 70 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = 'ETA' + DataBinding.FieldName = 'ETADate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 63 + end + object v1FactoryNo2Name: TcxGridDBColumn + Caption = #35013#26588#26085#26399 + DataBinding.FieldName = 'ZGDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 60 + end + object v1FactoryNo1Name: TcxGridDBColumn + Caption = 'ETD' + DataBinding.FieldName = 'ETDDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 60 + end + object v1FactoryNo3Name: TcxGridDBColumn + Caption = #24320#22987#20837#24211#26085#26399 + DataBinding.FieldName = 'BegRKDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 94 + end + object v1CustomerNoName: TcxGridDBColumn + Caption = #24320#22987#29983#20135#26085#26399 + DataBinding.FieldName = 'BegSCDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 90 + end + object v1Note: TcxGridDBColumn + Caption = #27880#24847#20107#39033 + DataBinding.FieldName = 'Note' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 67 + end + object v1Column1: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'OrdPrice' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 57 + end + object v1PRTQty: TcxGridDBColumn + Caption = #35745#20215#21333#20301 + DataBinding.FieldName = 'BZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 58 + end + object v1Column4: TcxGridDBColumn + Caption = #29983#20135#32447 + DataBinding.FieldName = 'SCXName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 62 + end + object v1Column5: TcxGridDBColumn + Caption = #32593#32467#26500 + DataBinding.FieldName = 'WJGName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 62 + end + object v1Column6: TcxGridDBColumn + Caption = #23457#26680#20154 + DataBinding.FieldName = 'Chker' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_WFBProducttion.Default + Width = 59 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 97 + Width = 1269 + Height = 550 + Align = alClient + TabOrder = 3 + object cxGrid2DBTableView1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + end + object TV2: TcxGridDBBandedTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_WFBProducttion.SHuangSe + Styles.IncSearch = DataLink_WFBProducttion.SHuangSe + Styles.Selection = DataLink_WFBProducttion.SHuangSe + Styles.Header = DataLink_WFBProducttion.Default + Bands = < + item + Caption = #35746#21333#26126#32454 + Styles.Header = cxStyle2 + Width = 1374 + end> + object V2Column1: TcxGridDBBandedColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Width = 78 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object V2Column2: TcxGridDBBandedColumn + Caption = #23458#25143 + DataBinding.FieldName = 'Customnoname' + HeaderAlignmentHorz = taCenter + Width = 53 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object V2Column3: TcxGridDBBandedColumn + Caption = #20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + HeaderAlignmentHorz = taCenter + Width = 73 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object V2Column4: TcxGridDBBandedColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'SWFBFK10' + HeaderAlignmentHorz = taCenter + Width = 61 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object V2Column5: TcxGridDBBandedColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'SWFBKZ10' + HeaderAlignmentHorz = taCenter + Width = 75 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object V2Column6: TcxGridDBBandedColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'SOrdQty' + HeaderAlignmentHorz = taCenter + Width = 80 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object V2Column7: TcxGridDBBandedColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'OrdUnit' + HeaderAlignmentHorz = taCenter + Width = 80 + Position.BandIndex = 0 + Position.ColIndex = 8 + Position.RowIndex = 0 + end + object V2Column8: TcxGridDBBandedColumn + Caption = #19979#21333#26085#26399 + DataBinding.FieldName = 'OrderDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 78 + Position.BandIndex = 0 + Position.ColIndex = 10 + Position.RowIndex = 0 + end + object V2Column14: TcxGridDBBandedColumn + Caption = #27880#24847#20107#39033 + DataBinding.FieldName = 'Note' + HeaderAlignmentHorz = taCenter + Width = 71 + Position.BandIndex = 0 + Position.ColIndex = 11 + Position.RowIndex = 0 + end + object V2Column18: TcxGridDBBandedColumn + Caption = #32593#32467#26500 + DataBinding.FieldName = 'WJGName' + HeaderAlignmentHorz = taCenter + Width = 55 + Position.BandIndex = 0 + Position.ColIndex = 12 + Position.RowIndex = 0 + end + object V2Column19: TcxGridDBBandedColumn + Caption = #23457#26680#20154 + DataBinding.FieldName = 'Chker' + HeaderAlignmentHorz = taCenter + Width = 58 + Position.BandIndex = 0 + Position.ColIndex = 14 + Position.RowIndex = 0 + end + object V2Column20: TcxGridDBBandedColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Width = 64 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object V2Column22: TcxGridDBBandedColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Width = 66 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object V2Column24: TcxGridDBBandedColumn + Caption = #23457#26680#29366#24577 + DataBinding.FieldName = 'ChkStatus' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 80 + Position.BandIndex = 0 + Position.ColIndex = 15 + Position.RowIndex = 0 + end + object V2Column25: TcxGridDBBandedColumn + Caption = #21046#21333#20154 + DataBinding.FieldName = 'Filler' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 81 + Position.BandIndex = 0 + Position.ColIndex = 13 + Position.RowIndex = 0 + end + object V2Column9: TcxGridDBBandedColumn + Caption = #35268#26684 + DataBinding.FieldName = 'ProductSpec' + HeaderAlignmentHorz = taCenter + Width = 105 + Position.BandIndex = 0 + Position.ColIndex = 9 + Position.RowIndex = 0 + end + end + object cxGrid2Level1: TcxGridLevel + GridView = TV2 + end + end + object Panel3: TPanel + Left = 544 + Top = 185 + Width = 201 + Height = 195 + TabOrder = 4 + Visible = False + object Label8: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Button1: TButton + Left = 24 + Top = 159 + Width = 65 + Height = 25 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + end + object Button2: TButton + Left = 120 + Top = 159 + Width = 49 + Height = 25 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Button2Click + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 199 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #35746#21333#31867#22411 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnMouseMove = Panel10MouseMove + object Image2: TImage + Left = 173 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object RadioGroup1: TRadioGroup + Left = 48 + Top = 24 + Width = 97 + Height = 127 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ItemIndex = 0 + Items.Strings = ( + #21367#26448 + #21046#21697) + ParentFont = False + TabOrder = 3 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 336 + Top = 160 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 864 + Top = 152 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 920 + Top = 160 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 920 + Top = 200 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 392 + Top = 160 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 424 + Top = 176 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 840 + Top = 256 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = Order_Main + Left = 848 + Top = 208 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 384 + Top = 240 + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = Order_Main + Left = 792 + Top = 288 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 288 + Top = 208 + ReportData = {} + end + object cxStyleRepository1: TcxStyleRepository + object cxStyle1: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #40657#20307 + Font.Style = [fsBold] + end + end + object cxGridPopupMenu2: TcxGridPopupMenu + PopupMenus = <> + Left = 344 + Top = 408 + end + object DataSource2: TDataSource + DataSet = CDS_ZP + Left = 504 + Top = 440 + end + object CDS_ZP: TClientDataSet + Aggregates = <> + Params = <> + Left = 560 + Top = 448 + end + object cxStyleRepository2: TcxStyleRepository + Left = 288 + object cxStyle2: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #40657#20307 + Font.Style = [fsBold] + end + end + object cxStyleRepository3: TcxStyleRepository + Left = 888 + Top = 232 + object cxStyle3: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #40657#20307 + Font.Style = [fsBold] + end + end +end diff --git a/打卷检验管理/U_ProductOrderListNewCKMX.pas b/打卷检验管理/U_ProductOrderListNewCKMX.pas new file mode 100644 index 0000000..56e1a0c --- /dev/null +++ b/打卷检验管理/U_ProductOrderListNewCKMX.pas @@ -0,0 +1,314 @@ +unit U_ProductOrderListNewCKMX; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, + cxGridBandedTableView, cxGridDBBandedTableView; + +type + TfrmProductOrderListNewCKMX = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + OrderNo: TEdit; + Label5: TLabel; + WFBCodeName: TEdit; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1OrderDate: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1FactoryNo1Name: TcxGridDBColumn; + v1FactoryNo2Name: TcxGridDBColumn; + v1FactoryNo3Name: TcxGridDBColumn; + v1Note: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1PRTQty: TcxGridDBColumn; + Order_Main: TClientDataSet; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + v1CustomerNoName: TcxGridDBColumn; + Label4: TLabel; + CustomNoName: TEdit; + v1Column3: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + RMDB_Main: TRMDBDataSet; + RM2: TRMGridReport; + cxGrid2DBTableView1: TcxGridDBTableView; + cxGrid2Level1: TcxGridLevel; + cxGrid2: TcxGrid; + TV2: TcxGridDBBandedTableView; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + V2Column1: TcxGridDBBandedColumn; + V2Column2: TcxGridDBBandedColumn; + V2Column3: TcxGridDBBandedColumn; + V2Column4: TcxGridDBBandedColumn; + V2Column5: TcxGridDBBandedColumn; + V2Column6: TcxGridDBBandedColumn; + V2Column7: TcxGridDBBandedColumn; + V2Column8: TcxGridDBBandedColumn; + V2Column14: TcxGridDBBandedColumn; + V2Column18: TcxGridDBBandedColumn; + V2Column19: TcxGridDBBandedColumn; + Panel3: TPanel; + Label8: TLabel; + Button1: TButton; + Button2: TButton; + Panel10: TPanel; + Image2: TImage; + RadioGroup1: TRadioGroup; + cxGridPopupMenu2: TcxGridPopupMenu; + DataSource2: TDataSource; + CDS_ZP: TClientDataSet; + cxStyleRepository2: TcxStyleRepository; + cxStyle2: TcxStyle; + cxStyleRepository3: TcxStyleRepository; + cxStyle3: TcxStyle; + V2Column20: TcxGridDBBandedColumn; + V2Column22: TcxGridDBBandedColumn; + V2Column24: TcxGridDBBandedColumn; + V2Column25: TcxGridDBBandedColumn; + Label2: TLabel; + Label6: TLabel; + Label7: TLabel; + SWFBColor: TEdit; + SWFBFK10: TEdit; + SWFBKZ10: TEdit; + Label9: TLabel; + SWFBHW: TEdit; + ToolButton1: TToolButton; + V2Column9: TcxGridDBBandedColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure OrderNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBBQPrintClick(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure CheckBox2Click(Sender: TObject); + procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, + Y: Integer); + procedure Image2Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + private + PPInt:Integer; + procedure InitGrid(); + procedure InitForm(); + function DelData(Order_Main10:TClientDataSet):Boolean; + procedure InitGridFH(); + procedure CopyOrderData(Order_MainFF:TClientDataSet); + { Private declarations } + public + FFInt:Integer; + { Public declarations } + end; + +var + frmProductOrderListNewCKMX: TfrmProductOrderListNewCKMX; + +implementation +uses + U_DataLink,U_OrderInPut,U_Fun,U_OrderInPutZP,U_OrderInPutNew,U_OrderInPutZPNew + ,U_OrderInPutZPLNew,U_OrderAttachment; + +{$R *.dfm} + +procedure TfrmProductOrderListNewCKMX.FormDestroy(Sender: TObject); +begin + frmProductOrderListNewCKMX:=nil; +end; + +procedure TfrmProductOrderListNewCKMX.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmProductOrderListNewCKMX.FormCreate(Sender: TObject); +begin + //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; + //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); +end; + +procedure TfrmProductOrderListNewCKMX.TBCloseClick(Sender: TObject); +begin + Close; + //WriteCxGrid('޷IJָʾб',Tv1,'ָʾ'); + WriteCxBandedGrid('޷IJָʾбMX',Tv2,'ָʾ'); +end; + +procedure TfrmProductOrderListNewCKMX.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add(' exec P_Select_OrderMainSub :WSql'); + Parameters.ParamByName('WSql').Value:=' and A.OrderDate>='''+formatdatetime('yyyy-MM-dd',BegDate.DateTime)+'''' + +' and A.OrderDate<'''+formatdatetime('yyyy-MM-dd',EndDate.DateTime+1)+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; +procedure TfrmProductOrderListNewCKMX.InitGridFH(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec Order_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmProductOrderListNewCKMX.InitForm(); +begin + ReadCxBandedGrid('޷IJָʾбMX',Tv2,'ָʾ'); + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + InitGrid(); + +end; + +procedure TfrmProductOrderListNewCKMX.TBFindClick(Sender: TObject); +var + fsj:string; +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +function TfrmProductOrderListNewCKMX.DelData(Order_Main10:TClientDataSet):Boolean; +begin + +end; + +procedure TfrmProductOrderListNewCKMX.TBRafreshClick(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmProductOrderListNewCKMX.TBAddClick(Sender: TObject); +begin + Panel3.Visible:=True; +end; + +procedure TfrmProductOrderListNewCKMX.OrderNoChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmProductOrderListNewCKMX.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmProductOrderListNewCKMX.TBBQPrintClick(Sender: TObject); +var + fPrintFile:String; +begin +end; + +procedure TfrmProductOrderListNewCKMX.ToolButton2Click(Sender: TObject); + var + fsj:string; +begin +end; + +procedure TfrmProductOrderListNewCKMX.ToolButton3Click(Sender: TObject); +begin + ModalResult:=1; +end; + +procedure TfrmProductOrderListNewCKMX.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmProductOrderListNewCKMX.CheckBox2Click(Sender: TObject); +begin + TBRafresh.Click; +end; + +procedure TfrmProductOrderListNewCKMX.CopyOrderData(Order_MainFF:TClientDataSet); +begin +end; +procedure TfrmProductOrderListNewCKMX.Panel10MouseMove(Sender: TObject; + Shift: TShiftState; X, Y: Integer); +begin + ReleaseCapture; + TWinControl(Panel3).perform(WM_SYSCOMMAND, $F012, 0); +end; + +procedure TfrmProductOrderListNewCKMX.Image2Click(Sender: TObject); +begin + Panel3.Visible:=False; +end; + +procedure TfrmProductOrderListNewCKMX.Button2Click(Sender: TObject); +begin + Panel3.Visible:=False; +end; + +procedure TfrmProductOrderListNewCKMX.ToolButton1Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + SelExportDataBand(Tv2,ADOQueryMain,'ָʾ'); +end; + +end. diff --git a/打卷检验管理/U_ProductOrderListSel.dfm b/打卷检验管理/U_ProductOrderListSel.dfm new file mode 100644 index 0000000..aa2c3c9 --- /dev/null +++ b/打卷检验管理/U_ProductOrderListSel.dfm @@ -0,0 +1,330 @@ +object frmProductOrderListSel: TfrmProductOrderListSel + Left = 210 + Top = 75 + Width = 1094 + Height = 600 + Caption = #29983#20135#25351#31034#21333#36873#25321 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1086 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object ToolButton3: TToolButton + Left = 0 + Top = 0 + Caption = #36873#25321 + ImageIndex = 106 + OnClick = ToolButton3Click + end + object TBClose: TToolButton + Left = 59 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1086 + Height = 54 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label3: TLabel + Left = 35 + Top = 22 + Width = 39 + Height = 12 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object OrderNo: TEdit + Tag = 2 + Left = 76 + Top = 18 + Width = 149 + Height = 20 + TabOrder = 0 + OnKeyPress = OrderNoKeyPress + end + end + object cxGrid1: TcxGrid + Left = 16 + Top = 96 + Width = 1065 + Height = 369 + TabOrder = 2 + object Tv1: TcxGridDBTableView + OnDblClick = Tv1DblClick + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1Column4: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 44 + end + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v1ConNo: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1PRTCode: TcxGridDBColumn + Caption = #20135#21697#32534#21495 + DataBinding.FieldName = 'PRTCode' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 90 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DlyDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1PRTCodeName: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'PRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object v1PRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'PRTSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'PRTMF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'PRTKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 54 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v1Column1: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 56 + end + object v1Column2: TcxGridDBColumn + Caption = #33457#22411#33457#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 63 + end + object v1Column3: TcxGridDBColumn + Caption = #20844#26020#25968 + DataBinding.FieldName = 'PRTOrderKgQty' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 52 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 57 + end + object v1Column5: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 62 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 544 + Top = 176 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 688 + Top = 224 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 552 + Top = 216 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 312 + Top = 248 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 440 + Top = 184 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 464 + Top = 208 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 336 + Top = 200 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = CDS_Print + Left = 392 + Top = 200 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 576 + Top = 248 + end + object PopupMenu1: TPopupMenu + Left = 288 + Top = 184 + object N2: TMenuItem + Caption = #26377#20379#24212#21830 + end + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 360 + Top = 240 + end + object CDS_Print: TClientDataSet + Aggregates = <> + Params = <> + Left = 344 + Top = 288 + end +end diff --git a/打卷检验管理/U_ProductOrderListSel.pas b/打卷检验管理/U_ProductOrderListSel.pas new file mode 100644 index 0000000..d5f386f --- /dev/null +++ b/打卷检验管理/U_ProductOrderListSel.pas @@ -0,0 +1,163 @@ +unit U_ProductOrderListSel; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, + Menus; + +type + TfrmProductOrderListSel = class(TForm) + ToolBar1: TToolBar; + TBClose: TToolButton; + Panel1: TPanel; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + OrderNo: TEdit; + v1OrderNo: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1ConNo: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + v1PRTSpec: TcxGridDBColumn; + Order_Main: TClientDataSet; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + v1PRTCodeName: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N2: TMenuItem; + v1PRTKZ: TcxGridDBColumn; + v1PRTCode: TcxGridDBColumn; + ADOQueryPrint: TADOQuery; + CDS_Print: TClientDataSet; + ToolButton3: TToolButton; + v1Column4: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure OrderNoKeyPress(Sender: TObject; var Key: Char); + procedure Tv1DblClick(Sender: TObject); + private + DQdate:TDateTime; + procedure InitGrid(); + procedure InitForm(); + { Private declarations } + public + FFInt,FCloth:Integer; + + { Public declarations } + end; + +var + frmProductOrderListSel: TfrmProductOrderListSel; + +implementation +uses + U_DataLink,U_OrderInPut,U_Fun; + +{$R *.dfm} + +procedure TfrmProductOrderListSel.FormDestroy(Sender: TObject); +begin + frmProductOrderListSel:=nil; +end; + +procedure TfrmProductOrderListSel.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmProductOrderListSel.FormCreate(Sender: TObject); +begin + cxgrid1.Align:=alClient; +end; + +procedure TfrmProductOrderListSel.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ָʾбѡ',Tv1,'ָʾ'); +end; + +procedure TfrmProductOrderListSel.InitGrid(); +begin + if Length(Trim(OrderNo.Text))<3 then Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select B.*,A.* from JYOrder_sub A '); //,c.KhconNo,C.ConPerson2,C.ConPerson3,C.conDefstr2,C.conDefstr6 + sql.Add('inner join JYOrder_Main B on B.mainID=A.mainID '); + //sql.Add('left join JYOrderCon_Main C on C.conNO=B.conNO '); + SQL.Add('where B.OrderNo like '''+'%'+Trim(OrderNo.Text)+'%'+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmProductOrderListSel.InitForm(); +begin + ReadCxGrid('ָʾбѡ',Tv1,'ָʾ'); + InitGrid(); +end; + +procedure TfrmProductOrderListSel.FormShow(Sender: TObject); +begin + InitForm(); + if FFInt=1 then + begin + v1Column4.Visible:=False; + v1Column4.Hidden:=True; + end; +end; + +procedure TfrmProductOrderListSel.ToolButton3Click(Sender: TObject); +begin + IF Order_Main.IsEmpty then exit; + ModalResult:=1; +end; + +procedure TfrmProductOrderListSel.OrderNoKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + InitGrid(); + end; +end; + +procedure TfrmProductOrderListSel.Tv1DblClick(Sender: TObject); +begin + ToolButton3.Click; +end; + +end. diff --git a/打卷检验管理/U_ProductOrderNewList.dfm b/打卷检验管理/U_ProductOrderNewList.dfm new file mode 100644 index 0000000..101c0df --- /dev/null +++ b/打卷检验管理/U_ProductOrderNewList.dfm @@ -0,0 +1,1291 @@ +object frmProductOrderNewList: TfrmProductOrderNewList + Left = 464 + Top = 256 + Width = 1382 + Height = 754 + Caption = #21253#35013#25351#31034#21333 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1366 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 95 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object ToolButton3: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #36873#25321 + ImageIndex = 106 + Visible = False + OnClick = ToolButton3Click + end + object TBAdd: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 3 + OnClick = TBAddClick + end + object TBEdit: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #20462#25913 + ImageIndex = 54 + OnClick = TBEditClick + end + object ToolButton2: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #22797#21046 + ImageIndex = 57 + OnClick = ToolButton2Click + end + object ToolButton1: TToolButton + Left = 378 + Top = 0 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 58 + OnClick = ToolButton1Click + end + object TBDel: TToolButton + Left = 441 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 17 + OnClick = TBDelClick + end + object TWC: TToolButton + Left = 504 + Top = 0 + AutoSize = True + Caption = #35746#21333#23436#25104 + ImageIndex = 41 + OnClick = TWCClick + end + object TNoWC: TToolButton + Left = 591 + Top = 0 + AutoSize = True + Caption = #25764#38144#23436#25104 + ImageIndex = 86 + OnClick = TNoWCClick + end + object TBExport: TToolButton + Left = 678 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TFJ: TToolButton + Left = 741 + Top = 0 + AutoSize = True + Caption = #25351#31034#21333#38468#20214 + ImageIndex = 57 + OnClick = TFJClick + end + object TBPrint: TToolButton + Left = 840 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + OnClick = TBPrintClick + end + object ToolButton4: TToolButton + Left = 903 + Top = 0 + AutoSize = True + Caption = #24322#24120#25968#25454 + ImageIndex = 2 + OnClick = ToolButton4Click + end + object ToolButton5: TToolButton + Left = 990 + Top = 0 + Caption = #30133#28857#31649#29702 + ImageIndex = 132 + OnClick = ToolButton5Click + end + object ToolButton6: TToolButton + Left = 1085 + Top = 0 + AutoSize = True + Caption = #26085#24535 + ImageIndex = 72 + OnClick = ToolButton6Click + end + object ToolButton7: TToolButton + Left = 1148 + Top = 0 + AutoSize = True + Caption = #37325#36830 + ImageIndex = 73 + Visible = False + OnClick = ToolButton7Click + end + object TBClose: TToolButton + Left = 1211 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1366 + Height = 40 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 18 + Top = 15 + Width = 52 + Height = 12 + Caption = #21046#21333#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 311 + Top = 15 + Width = 39 + Height = 12 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 483 + Top = 15 + Width = 40 + Height = 12 + Caption = #23458' '#25143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 518 + Top = 123 + Width = 39 + Height = 12 + Caption = #22383#24067#21378 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 207 + Top = 83 + Width = 39 + Height = 12 + Caption = #21512#21516#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 517 + Top = 147 + Width = 39 + Height = 12 + Caption = #21152#24037#21378 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 659 + Top = 15 + Width = 39 + Height = 12 + Caption = #19994#21153#21592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 670 + Top = 123 + Width = 52 + Height = 12 + Caption = #22383#24067#25209#27425 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 670 + Top = 147 + Width = 52 + Height = 12 + Caption = #21697#21517#20013#25991 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 160 + Top = 16 + Width = 6 + Height = 12 + Caption = '-' + end + object BegDate: TDateTimePicker + Left = 71 + Top = 11 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 167 + Top = 11 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + TabOrder = 1 + end + object OrderNo: TEdit + Tag = 2 + Left = 352 + Top = 11 + Width = 77 + Height = 20 + TabOrder = 2 + OnChange = OrderNoChange + OnKeyPress = OrderNoKeyPress + end + object CustomerNoName: TEdit + Tag = 2 + Left = 527 + Top = 11 + Width = 76 + Height = 20 + TabOrder = 3 + OnChange = OrderNoChange + end + object PBFactory: TEdit + Tag = 2 + Left = 561 + Top = 119 + Width = 76 + Height = 20 + TabOrder = 6 + OnChange = OrderNoChange + end + object ConNo: TEdit + Tag = 2 + Left = 248 + Top = 79 + Width = 77 + Height = 20 + TabOrder = 5 + OnChange = OrderNoChange + OnKeyPress = ConNoKeyPress + end + object RanFactory: TEdit + Tag = 2 + Left = 561 + Top = 143 + Width = 76 + Height = 20 + TabOrder = 8 + OnChange = OrderNoChange + end + object OrdPerson2: TEdit + Tag = 2 + Left = 703 + Top = 11 + Width = 76 + Height = 20 + TabOrder = 4 + OnChange = OrderNoChange + end + object Orddefstr5: TEdit + Tag = 2 + Left = 725 + Top = 119 + Width = 76 + Height = 20 + TabOrder = 7 + OnChange = OrderNoChange + end + object PRTCodeName: TEdit + Tag = 2 + Left = 725 + Top = 143 + Width = 76 + Height = 20 + TabOrder = 9 + OnChange = OrderNoChange + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 95 + Width = 1366 + Height = 333 + Align = alTop + TabOrder = 3 + object Tv1: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + OnCellDblClick = Tv1CellDblClick + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1ZQty + end + item + Kind = skSum + end + item + Kind = skSum + Column = v1Column11 + end + item + Kind = skSum + Column = v1Column12 + end + item + Kind = skSum + Column = v1Column13 + end + item + Kind = skSum + Column = v1Column14 + end + item + Kind = skSum + Column = v1Column15 + end + item + Kind = skSum + Column = v1Column16 + end + item + Kind = skSum + Column = v1Column17 + end + item + Kind = skSum + Column = v1Column18 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.OnGetContentStyle = Tv1StylesGetContentStyle + Styles.Header = DataLink_TradeManage.Default + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 89 + end + object v1CustomerNoName: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 62 + end + object v1SYRName: TcxGridDBColumn + Caption = #20844#21496#21488#22836 + DataBinding.FieldName = 'SYRName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 112 + end + object v1OrdDate: TcxGridDBColumn + Caption = #25490#21333#26085#26399 + DataBinding.FieldName = 'OrdDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DlyDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + OnCustomDrawCell = v1DeliveryDateCustomDrawCell + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 62 + end + object v1ZQty: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'ZQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 76 + end + object v1OrderUnit3: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 77 + end + object v1MPRTTeBieNote: TcxGridDBColumn + Caption = #25968#37327#35201#27714 + DataBinding.FieldName = 'MPRTNiuDu' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 77 + end + object v1MPRTBZNote: TcxGridDBColumn + Caption = #21253#35013#35201#27714 + DataBinding.FieldName = 'MPRTBZNote' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 99 + end + object v1MPRTSCTeBieNote: TcxGridDBColumn + Caption = #36136#37327#35201#27714 + DataBinding.FieldName = 'MPRTSCTeBieNote' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 98 + end + object v1filler: TcxGridDBColumn + Caption = #21046#21333#20154 + DataBinding.FieldName = 'filler' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + end + object v1OrdPerson2: TcxGridDBColumn + Caption = #19994#21153#21592 + DataBinding.FieldName = 'OrdPerson2' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 69 + end + object v1Column11: TcxGridDBColumn + Caption = #26816#39564#21305#25968 + DataBinding.FieldName = 'JYRoll' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column12: TcxGridDBColumn + Caption = #26816#39564#38271#24230 + DataBinding.FieldName = 'JYQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column13: TcxGridDBColumn + Caption = #26816#39564#20928#37325 + DataBinding.FieldName = 'JYJZ' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1Column14: TcxGridDBColumn + Caption = #26816#39564#27611#37325 + DataBinding.FieldName = 'JYMZ' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 62 + end + object v1Column15: TcxGridDBColumn + Caption = #27425#21697#21305#25968 + DataBinding.FieldName = 'JYCRoll' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column16: TcxGridDBColumn + Caption = #27425#21697#38271#24230 + DataBinding.FieldName = 'JYCQty' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column17: TcxGridDBColumn + Caption = #27425#21697#20928#37325 + DataBinding.FieldName = 'JYCJZ' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column18: TcxGridDBColumn + Caption = #27425#21697#27611#37325 + DataBinding.FieldName = 'JYCMZ' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object Tv1Column1: TcxGridDBColumn + Caption = #20986#24211#21305#25968 + DataBinding.FieldName = 'CKRoll' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object Tv1Column2: TcxGridDBColumn + Caption = #20986#24211#38271#24230 + DataBinding.FieldName = 'CKQty' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object Tv1Column3: TcxGridDBColumn + Caption = #20986#24211#20928#37325 + DataBinding.FieldName = 'CKJZ' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object Tv1Column4: TcxGridDBColumn + Caption = #20986#24211#27611#37325 + DataBinding.FieldName = 'CKMZ' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object v1ConNo: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 80 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel4: TPanel + Left = 557 + Top = 151 + Width = 231 + Height = 216 + TabOrder = 4 + Visible = False + object Label14: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 229 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #25253#34920#21517#31216 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnMouseMove = Panel10MouseMove + object Image2: TImage + Left = 206 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object Button1: TButton + Left = 83 + Top = 180 + Width = 75 + Height = 25 + Caption = #30830#23450 + TabOrder = 2 + OnClick = Button1Click + end + object RadioGroup1: TRadioGroup + Left = 56 + Top = 24 + Width = 129 + Height = 145 + ItemIndex = 0 + Items.Strings = ( + #21253#35013#25351#31034#21333 + #29983#20135#25351#31034#21333 + #21360#33457#25351#31034#21333) + TabOrder = 1 + end + end + object cxSplitter1: TcxSplitter + Left = 0 + Top = 451 + Width = 1366 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + Control = cxGrid2 + end + object Panel2: TPanel + Left = 0 + Top = 459 + Width = 1366 + Height = 256 + Align = alBottom + Caption = 'Panel2' + TabOrder = 6 + object cxGrid2: TcxGrid + Left = 1 + Top = 1 + Width = 987 + Height = 254 + Align = alClient + TabOrder = 0 + object TV2: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + OnCustomDrawCell = TV2CustomDrawCell + OnFocusedRecordChanged = TV2FocusedRecordChanged + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + Column = v1PRTOrderQty + end + item + Format = '0' + Position = spFooter + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = V2Column7 + end + item + Kind = skSum + Column = V2Column8 + end + item + Kind = skSum + Column = V2Column9 + end + item + Kind = skSum + Column = V2Column10 + end + item + Kind = skSum + Column = V2Column11 + end + item + Kind = skSum + Column = V2Column12 + end + item + Kind = skSum + Column = V2Column13 + end + item + Kind = skSum + Column = V2Column14 + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsData.Deleting = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object V2KHorderNo: TcxGridDBColumn + Caption = #23458#25143#35746#21333#21495 + DataBinding.FieldName = 'KHorderNo' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object V2Column3: TcxGridDBColumn + Caption = #27454#21495 + DataBinding.FieldName = 'PRTkuanNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 73 + end + object V2PRTCodeName: TcxGridDBColumn + Caption = #21697#21517#20013#25991 + DataBinding.FieldName = 'PRTCodeName' + HeaderAlignmentHorz = taCenter + Width = 75 + end + object V2Column1: TcxGridDBColumn + Caption = #21697#21517#33521#25991 + DataBinding.FieldName = 'Sorddefstr5' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 75 + end + object v1SOrddefstr1: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 85 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 103 + end + object V2PRTCode: TcxGridDBColumn + Caption = #20135#21697#32534#21495 + DataBinding.FieldName = 'PRTCode' + Visible = False + HeaderAlignmentHorz = taCenter + Width = 70 + end + object TV2Column7: TcxGridDBColumn + Caption = #39068#33394'('#33521#25991')' + DataBinding.FieldName = 'SOrddefstr4' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.FontBlue + Width = 82 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.FontBlue + Width = 77 + end + object cxSOrdDefNote1: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'SOrdDefNote1' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 117 + end + object v1Column4: TcxGridDBColumn + Caption = #33457#22411#33457#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object V2PRTMF: TcxGridDBColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'PRTMF' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 70 + end + object V2PRTKZ: TcxGridDBColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'PRTKZ' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 73 + end + object cxGridDBColumn1: TcxGridDBColumn + Caption = #39068#33394'('#33521#25991')' + DataBinding.FieldName = 'SOrddefstr4' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.FonePurple + Width = 115 + end + object v1SOrddefstr2: TcxGridDBColumn + Caption = #30830#35748#33394#21345 + DataBinding.FieldName = 'SOrddefstr2' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 87 + end + object V2Column2: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'prtspec' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object TV2Column8: TcxGridDBColumn + Caption = #32568#21495 + DataBinding.FieldName = 'PRTganghao' + HeaderAlignmentHorz = taCenter + Width = 66 + end + object V2Column7: TcxGridDBColumn + Caption = #26816#39564#21305#25968 + DataBinding.FieldName = 'JYRoll' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object V2Column8: TcxGridDBColumn + Caption = #26816#39564#38271#24230 + DataBinding.FieldName = 'JYQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object V2Column9: TcxGridDBColumn + Caption = #26816#39564#20928#37325 + DataBinding.FieldName = 'JYJZ' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object V2Column10: TcxGridDBColumn + Caption = #26816#39564#27611#37325 + DataBinding.FieldName = 'JYMZ' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object V2Column11: TcxGridDBColumn + Caption = #27425#21697#21305#25968 + DataBinding.FieldName = 'JYCRoll' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object V2Column12: TcxGridDBColumn + Caption = #27425#21697#38271#24230 + DataBinding.FieldName = 'JYCQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object V2Column13: TcxGridDBColumn + Caption = #27425#21697#20928#37325 + DataBinding.FieldName = 'JYCJZ' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object V2Column14: TcxGridDBColumn + Caption = #27425#21697#27611#37325 + DataBinding.FieldName = 'JYCMZ' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object TV2Column1: TcxGridDBColumn + Caption = #26368#22823#21367#21495#21644 + DataBinding.FieldName = 'maxroll' + end + object TV2Column2: TcxGridDBColumn + DataBinding.FieldName = 'djstatus' + Visible = False + HeaderAlignmentHorz = taCenter + Width = 65 + end + object TV2Column3: TcxGridDBColumn + Caption = #20986#24211#21305#25968 + DataBinding.FieldName = 'CKRoll' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object TV2Column4: TcxGridDBColumn + Caption = #20986#24211#38271#24230 + DataBinding.FieldName = 'CKQty' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object TV2Column5: TcxGridDBColumn + Caption = #20986#24211#20928#37325 + DataBinding.FieldName = 'CKJZ' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object TV2Column6: TcxGridDBColumn + Caption = #20986#24211#27611#37325 + DataBinding.FieldName = 'CKMZ' + HeaderAlignmentHorz = taCenter + Width = 65 + end + end + object cxGridLevel1: TcxGridLevel + GridView = TV2 + end + end + object GroupBox1: TGroupBox + Left = 988 + Top = 1 + Width = 377 + Height = 254 + Align = alRight + Caption = #21452#20987#26597#30475#21407#22270 + TabOrder = 1 + Visible = False + object Picture4: TcxDBImage + Left = 2 + Top = 14 + Hint = 'FileName' + Align = alClient + DataBinding.DataField = 'FilesOther' + DataBinding.DataSource = DSImage + PopupMenu = PopupMenu1 + Properties.GraphicTransparency = gtTransparent + Properties.ReadOnly = True + Properties.ShowFocusRect = False + Style.BorderStyle = ebsSingle + TabOrder = 0 + OnDblClick = Picture4DblClick + Height = 238 + Width = 373 + end + end + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 72 + Width = 1366 + Height = 23 + Align = alTop + TabOrder = 2 + Properties.CustomButtons.Buttons = <> + Properties.Style = 9 + Properties.TabIndex = 0 + Properties.Tabs.Strings = ( + #26410#23436#25104 + #24050#23436#25104 + #20840#37096) + OnChange = cxTabControl1Change + ClientRectBottom = 23 + ClientRectRight = 1366 + ClientRectTop = 19 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 892 + Top = 191 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 688 + Top = 224 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 552 + Top = 216 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 312 + Top = 248 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 440 + Top = 184 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 771 + Top = 272 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 576 + Top = 248 + end + object PopupMenu1: TPopupMenu + Left = 256 + Top = 176 + object N2: TMenuItem + Caption = #26377#20379#24212#21830 + OnClick = N2Click + end + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 360 + Top = 240 + end + object CDS_Print: TClientDataSet + Aggregates = <> + Params = <> + Left = 344 + Top = 288 + end + object ADOQuerySub: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 460 + Top = 351 + end + object DataSource2: TDataSource + DataSet = ADOQuerySub + Left = 504 + Top = 316 + end + object RMDBMain: TRMDBDataSet + Visible = True + Left = 380 + Top = 192 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbSaveToXLS, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 204 + Top = 228 + ReportData = {} + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 704 + Top = 327 + end + object ADOQueryImage: TADOQuery + Connection = DataLink_TradeManage.ADOLink + EnableBCD = False + Parameters = <> + Left = 824 + Top = 331 + end + object DSImage: TDataSource + DataSet = ADOQueryImage + Left = 892 + Top = 384 + end + object IdFTP1: TIdFTP + MaxLineAction = maException + ReadTimeout = 0 + ProxySettings.ProxyType = fpcmNone + ProxySettings.Port = 0 + Left = 784 + Top = 486 + end + object QryCheckNet: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 92 + Top = 349 + end +end diff --git a/打卷检验管理/U_ProductOrderNewList.pas b/打卷检验管理/U_ProductOrderNewList.pas new file mode 100644 index 0000000..c95e502 --- /dev/null +++ b/打卷检验管理/U_ProductOrderNewList.pas @@ -0,0 +1,1124 @@ +unit U_ProductOrderNewList; + +interface + +uses + Windows, Messages, SysUtils, strUtils, Variants, Classes, Graphics, Controls, + Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, + cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, + cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System, + RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxButtonEdit, cxContainer, + cxImage, cxDBEdit, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, + IdFTP, shellAPI, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, + dxBarBuiltInMenu; + +type + TfrmProductOrderNewList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBAdd: TToolButton; + TBEdit: TToolButton; + TBDel: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + OrderNo: TEdit; + TBExport: TToolButton; + v1OrderNo: TcxGridDBColumn; + v1OrdDate: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1ConNo: TcxGridDBColumn; + Order_Main: TClientDataSet; + RMXLSExport1: TRMXLSExport; + v1CustomerNoName: TcxGridDBColumn; + Label4: TLabel; + CustomerNoName: TEdit; + PopupMenu1: TPopupMenu; + N2: TMenuItem; + ToolButton1: TToolButton; + Label8: TLabel; + PBFactory: TEdit; + Label9: TLabel; + ConNo: TEdit; + Label10: TLabel; + RanFactory: TEdit; + Label11: TLabel; + OrdPerson2: TEdit; + ToolButton2: TToolButton; + ADOQueryPrint: TADOQuery; + CDS_Print: TClientDataSet; + ToolButton3: TToolButton; + Panel4: TPanel; + Label14: TLabel; + Panel10: TPanel; + Image2: TImage; + Button1: TButton; + RadioGroup1: TRadioGroup; + v1OrdPerson2: TcxGridDBColumn; + v1ZQty: TcxGridDBColumn; + v1OrderUnit3: TcxGridDBColumn; + cxGrid2: TcxGrid; + TV2: TcxGridDBTableView; + v1SOrddefstr1: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + cxGridDBColumn1: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1SOrddefstr2: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + cxSOrdDefNote1: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + cxSplitter1: TcxSplitter; + ADOQuerySub: TADOQuery; + DataSource2: TDataSource; + v1SYRName: TcxGridDBColumn; + v1MPRTTeBieNote: TcxGridDBColumn; + v1MPRTBZNote: TcxGridDBColumn; + v1MPRTSCTeBieNote: TcxGridDBColumn; + V2KHorderNo: TcxGridDBColumn; + V2PRTCodeName: TcxGridDBColumn; + V2PRTCode: TcxGridDBColumn; + V2PRTMF: TcxGridDBColumn; + V2PRTKZ: TcxGridDBColumn; + TFJ: TToolButton; + v1filler: TcxGridDBColumn; + RMDBMain: TRMDBDataSet; + RM1: TRMGridReport; + V2Column1: TcxGridDBColumn; + V2Column2: TcxGridDBColumn; + V2Column3: TcxGridDBColumn; + cxGridPopupMenu2: TcxGridPopupMenu; + Panel2: TPanel; + GroupBox1: TGroupBox; + Picture4: TcxDBImage; + ADOQueryImage: TADOQuery; + DSImage: TDataSource; + IdFTP1: TIdFTP; + Orddefstr5: TEdit; + Label2: TLabel; + PRTCodeName: TEdit; + Label5: TLabel; + v1Column11: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + v1Column13: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + V2Column7: TcxGridDBColumn; + V2Column8: TcxGridDBColumn; + V2Column9: TcxGridDBColumn; + V2Column10: TcxGridDBColumn; + v1Column15: TcxGridDBColumn; + v1Column16: TcxGridDBColumn; + v1Column17: TcxGridDBColumn; + v1Column18: TcxGridDBColumn; + V2Column11: TcxGridDBColumn; + V2Column12: TcxGridDBColumn; + V2Column13: TcxGridDBColumn; + V2Column14: TcxGridDBColumn; + Label6: TLabel; + cxTabControl1: TcxTabControl; + TWC: TToolButton; + TNoWC: TToolButton; + ToolButton4: TToolButton; + TV2Column1: TcxGridDBColumn; + TV2Column2: TcxGridDBColumn; + ToolButton5: TToolButton; + Tv1Column1: TcxGridDBColumn; + Tv1Column2: TcxGridDBColumn; + Tv1Column3: TcxGridDBColumn; + Tv1Column4: TcxGridDBColumn; + TV2Column3: TcxGridDBColumn; + TV2Column4: TcxGridDBColumn; + TV2Column5: TcxGridDBColumn; + TV2Column6: TcxGridDBColumn; + ToolButton6: TToolButton; + TV2Column7: TcxGridDBColumn; + ToolButton7: TToolButton; + QryCheckNet: TADOQuery; + TV2Column8: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBEditClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure OrderNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); + procedure TBTPClick(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure CheckBox2Click(Sender: TObject); + procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); + procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure OrderNoKeyPress(Sender: TObject; var Key: Char); + procedure ConNoKeyPress(Sender: TObject; var Key: Char); + procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); + procedure Button1Click(Sender: TObject); + procedure Image2Click(Sender: TObject); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); + procedure TFJClick(Sender: TObject); + procedure TV2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); + procedure Picture4DblClick(Sender: TObject); + procedure TWCClick(Sender: TObject); + procedure TNoWCClick(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + procedure ToolButton4Click(Sender: TObject); + procedure TV2CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); + procedure ToolButton5Click(Sender: TObject); + procedure ToolButton6Click(Sender: TObject); + procedure ToolButton7Click(Sender: TObject); + private + DQdate: TDateTime; + FMainId: string; + procedure InitGrid(); + procedure InitForm(); + function DelData(): Boolean; + procedure InitSub(); + procedure InitImage(fwbid: string); + procedure SetStatus(); + function SelfConnData(): Boolean; + { Private declarations } + public + FFInt, FCloth: Integer; + fFlileFlag: string; + { Public declarations } + end; + +var + frmProductOrderNewList: TfrmProductOrderNewList; + +implementation + +uses + U_DataLink, U_OrderInPut, U_Fun, U_FjList, U_MJSJFX, U_ZDYHelp, + U_SysLogOrderzsd; + +{$R *.dfm} +function TfrmProductOrderNewList.SelfConnData(): Boolean; +begin + try + with QryCheckNet do + begin + Close; + sql.Clear; + //ѯһС + SQL.Add('select getdate()'); + Open; + end; + Result := true; + except +// if Application.MessageBox('Ƿ磡','ʾ',32+4)<>IDYES then Exit; + if not Assigned(DataLink_TradeManage) then + DataLink_TradeManage := TDataLink_TradeManage.Create(Application); + try + with DataLink_TradeManage.ADOLink do + begin + //if not Connected then + begin + Connected := false; + ConnectionString := DConString; + LoginPrompt := false; + Connected := true; + end; + end; + Result := true; + except + Result := false; + end; + end; +end; + +procedure TfrmProductOrderNewList.SetStatus(); +begin + tbedit.Visible := false; + tbdel.Visible := false; + twc.Visible := false; + tNOwc.Visible := false; + + case cxTabControl1.TabIndex of + 0: + begin + tbedit.Visible := true; + tbdel.Visible := true; + twc.Visible := true; + end; + 1: + begin + tNOwc.Visible := true; + end; + end; +end; + +procedure TfrmProductOrderNewList.InitImage(fwbid: string); +begin + ADOQueryImage.close; + if fwbid = '' then + exit; + with ADOQueryImage do + begin + close; + sql.Clear; + sql.Add('select * from TP_File A'); + sql.Add('where WBID=' + quotedstr(trim(fwbid))); + open; + end; +end; + +procedure TfrmProductOrderNewList.InitSub(); +begin + ADOQuerySub.Close; + if Order_Main.IsEmpty then + exit; + with ADOQuerySub do + begin + close; + sql.Clear; + sql.Add('select *,DJStatus=case when JYRoll=MaxRoll then 0 else 1 end from ('); + sql.Add('select A.*, '); + sql.Add('JYRoll=(select count(MJID) from WFB_MJJY X where X.MainID=A.mainID and X.subID=A.subID),'); + sql.Add('JYQty=(select sum(MJLen) from WFB_MJJY X where X.MainID=A.mainID and X.subID=A.subID),'); + sql.Add('JYJZ=(select sum(MJQty4) from WFB_MJJY X where X.MainID=A.mainID and X.subID=A.subID),'); + sql.Add('JYMZ=(select sum(MJMaoZ) from WFB_MJJY X where X.MainID=A.mainID and X.subID=A.subID),'); + sql.Add('JYCRoll=(select count(MJID) from WFB_MJJY X where X.MainID=A.mainID and X.subID=A.subID and X.MJType=''Ʒ''),'); + sql.Add('JYCQty=(select sum(MJLen) from WFB_MJJY X where X.MainID=A.mainID and X.subID=A.subID and X.MJType=''Ʒ''),'); + sql.Add('JYCJZ=(select sum(MJQty4) from WFB_MJJY X where X.MainID=A.mainID and X.subID=A.subID and X.MJType=''Ʒ''),'); + sql.Add('JYCMZ=(select sum(MJMaoZ) from WFB_MJJY X where X.MainID=A.mainID and X.subID=A.subID and X.MJType=''Ʒ''),'); + sql.Add('CKRoll=(select count(MJID) from WFB_MJJY X where X.MainID=A.mainID and X.subID=A.subID and ckflag=''ѳ'' ), '); + sql.Add('CKQty=(select sum(MJLen) from WFB_MJJY X where X.MainID=A.mainID and X.subID=A.subID and ckflag=''ѳ''), '); + sql.Add('CKJZ=(select sum(MJQty4) from WFB_MJJY X where X.MainID=A.mainID and X.subID=A.subID and ckflag=''ѳ''),'); + sql.Add('CKMZ=(select sum(MJMaoZ) from WFB_MJJY X where X.MainID=A.mainID and X.subID=A.subID and ckflag=''ѳ''),'); + SQL.Add('MaxRoll=(select isnull(sum(maxroll),0) from (select Subid,mjstr4,max(mjxh) as maxroll from wfb_mjjy X group by mjstr4,Subid) XX where XX.subid=A.subid)'); + sql.Add('from JYOrder_sub A '); + sql.Add('where A.mainID =' + quotedstr((Order_Main.fieldbyname('mainID').AsString))); + sql.Add(')AA'); + open; + end; +end; + +procedure TfrmProductOrderNewList.FormDestroy(Sender: TObject); +begin + frmProductOrderNewList := nil; +end; + +procedure TfrmProductOrderNewList.FormClose(Sender: TObject; var Action: TCloseAction); +begin + Action := caFree; +end; + +procedure TfrmProductOrderNewList.FormCreate(Sender: TObject); +begin + cxgrid1.Align := alClient; + DQdate := SGetServerDate(ADOQueryTemp); +end; + +procedure TfrmProductOrderNewList.TBCloseClick(Sender: TObject); +begin + WriteCxGrid('ָʾӱб', Tv2, 'ָʾ1'); + WriteCxGrid('ָʾбFF', Tv1, 'ָʾ1'); + Close; +end; + +procedure TfrmProductOrderNewList.InitGrid(); +var + strwhere: string; +begin + strwhere := ''; + if Trim(DParameters1) <> 'Ȩ' then + strwhere := strwhere + ' and Filler=''' + Trim(DName) + ''''; + + if cxTabControl1.TabIndex < 2 then + begin + strwhere := strwhere + ' and isnull(A.status,''0'')=''' + inttostr(cxTabControl1.TabIndex) + ''''; + end; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + + Close; + Filtered := False; + sql.Clear; + sql.add('exec P_View_Order :begdate,:enddate,:WSql'); + Parameters.ParamByName('begdate').Value := FormatDateTime('yyyy-MM-dd', BegDate.DateTime); + Parameters.ParamByName('enddate').Value := FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1); + Parameters.ParamByName('WSql').Value := strwhere; + Open; + end; + SCreateCDS20(ADOQueryMain, Order_Main); + SInitCDSData20(ADOQueryMain, Order_Main); + finally + ADOQueryMain.EnableControls; + end; + tbfind.Click; +end; + +procedure TfrmProductOrderNewList.InitForm(); +begin + + ReadCxGrid('ָʾбFF', Tv1, 'ָʾ1'); + ReadCxGrid('ָʾӱб', Tv2, 'ָʾ1'); + BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 15; + EndDate.DateTime := SGetServerDate10(ADOQueryTemp); + SetStatus(); + InitGrid(); +end; + +procedure TfrmProductOrderNewList.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active = False then + Exit; + SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); + SCreateCDS20(ADOQueryMain, Order_Main); + SInitCDSData20(ADOQueryMain, Order_Main); +end; + +procedure TfrmProductOrderNewList.TBEditClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; +{ if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then + begin + Application.MessageBox('ܲ˵!','ʾ',0); + Exit; + end; } +// with ADOQueryTemp do +// begin +// close; +// sql.clear; +// sql.Add('select * from WFB_MJJY where Mainid=''' + trim(Order_Main.fieldbyname('MainId').AsString) + ''' '); +// sql.add('and isnull(MJStr2,'''')='''''); +// open; +// if not ISEmpty then +// begin +// application.MessageBox('ⲻ޸', 'ʾ'); +// exit; +// end; +// end; + try + frmOrderInPut := TfrmOrderInPut.Create(Application); + with frmOrderInPut do + begin + PState := 1; + FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FOrderNo := Trim(Self.Order_Main.fieldbyname('OrderNoM').AsString); + fFlileFlag := self.fFlileFlag; + if ShowModal = 1 then + begin + InitGrid(); + end; + end; + finally + frmOrderInPut.Free; + end; +end; + +procedure TfrmProductOrderNewList.TBDelClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; +{ if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then + begin + Application.MessageBox('ܲ˵!','ʾ',0); + Exit; + end; } + with ADOQueryTemp do + begin + close; + sql.clear; + sql.Add('select * from WFB_MJJY where Mainid=''' + trim(Order_Main.fieldbyname('MainId').AsString) + ''' '); + // sql.add('and isnull(MJStr2,'''')='''''); + open; + if not ISEmpty then + begin + application.MessageBox('ⲻɾ', 'ʾ'); + exit; + end; + end; + if Application.MessageBox('ȷҪɾ', 'ʾ', 32 + 4) <> IDYES then + Exit; + if DelData() then + begin + Order_Main.Delete; + end; + InitGrid(); +end; + +function TfrmProductOrderNewList.DelData(): Boolean; +begin + try + Result := false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); + sql.Add('delete JYOrder_Sub where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); + sql.Add('delete TP_File where WBID=''' + Trim(Order_Main.fieldbyname('Mainid').AsString) + ''' and TFType=''EWM'' '); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' ' + quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(trim('ָʾɾ'))); + sql.Add(',' + quotedstr(trim('ָʾţ' + trim(Order_Main.FieldByName('OrderNO').AsString)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + ExecSQL; + end; + {with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + if IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; } + ADOQueryCmd.Connection.CommitTrans; + Result := True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result := False; + Application.MessageBox('ɾ쳣', 'ʾ', 0); + end; +end; + +procedure TfrmProductOrderNewList.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then + Exit; + SelExportData(Tv1, ADOQueryMain, 'ָʾб'); +end; + +procedure TfrmProductOrderNewList.TBPrintClick(Sender: TObject); +var + fPrintFile: string; + Porderno: string; + i, j: Integer; +begin + Panel4.Left := (self.Width - Panel4.Width) div 2; + Panel4.Visible := True; +end; + +procedure TfrmProductOrderNewList.TBRafreshClick(Sender: TObject); +begin + InitGrid(); + +end; + +procedure TfrmProductOrderNewList.TBAddClick(Sender: TObject); +var + maxno: string; +begin + try + frmOrderInPut := TfrmOrderInPut.Create(Application); + with frmOrderInPut do + begin + PState := 0; + FMainId := ''; + fFlileFlag := self.fFlileFlag; + if ShowModal = 1 then + begin + InitGrid(); + end; + end; + finally + frmOrderInPut.Free; + end; +end; + +procedure TfrmProductOrderNewList.OrderNoChange(Sender: TObject); +begin + if ADOQueryMain.Active = False then + Exit; + SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); + SCreateCDS20(ADOQueryMain, Order_Main); + SInitCDSData20(ADOQueryMain, Order_Main); +end; + +procedure TfrmProductOrderNewList.FormShow(Sender: TObject); +begin + fFlileFlag := UserDataFlag + 'HX'; + InitForm(); +end; + +procedure TfrmProductOrderNewList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); +begin + if ToolButton1.Visible = False then + Exit; + ToolButton1.Click; +end; + +procedure TfrmProductOrderNewList.TBTPClick(Sender: TObject); +var + FQty, FQty1, FMxQty, FPQty, FMxQtyS, FPQtyS: string; +begin +end; + +procedure TfrmProductOrderNewList.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmProductOrderNewList.CheckBox2Click(Sender: TObject); +begin + TBRafresh.Click; +end; + +procedure TfrmProductOrderNewList.Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); +var + id, id10: Integer; +begin + {try + if Tv1.GroupedItemCount=0 then + begin + Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; + Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; + if Trim(VarToStr(ARecord.Values[id]))='' then Exit; + if Id<0 then Exit; + if ARecord.Values[id10]='' then exit; + if (ARecord.Values[id]-DQdate)>=4 then Exit; + if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then + AStyle:=DataLink_.QHuangSe + else + if ARecord.Values[id]-DQdate<0 then + begin + AStyle:=DataLink_OrderManage.FenHongS; + end; + end else + begin + + end; + except + end; } +end; + +procedure TfrmProductOrderNewList.v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +begin + { Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount; + Id10:=TV1.GetColumnByFieldName('SubStatus').Index; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id10]='' then Exit; + if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit; + if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then + ACanvas.Brush.Color:=clYellow + else + if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then + begin + ACanvas.Brush.Color:=clRed; + end; + begin + ACanvas.Brush.Color:=clRed; + end else + if AViewInfo.GridRecord.Values[Id]='Purple' then + begin + ACanvas.Brush.Color:=clPurple; + end else + if AViewInfo.GridRecord.Values[Id]='Olive' then + begin + ACanvas.Brush.Color:=clOlive; + end else + if AViewInfo.GridRecord.Values[Id]='Teal' then + begin + ACanvas.Brush.Color:=clTeal; + end else + if AViewInfo.GridRecord.Values[Id]='Background' then + begin + ACanvas.Brush.Color:=clBackground; + end; } +end; + +procedure TfrmProductOrderNewList.N1Click(Sender: TObject); +var + fPrintFile: string; + Porderno: string; +begin + if Order_Main.IsEmpty then + Exit; + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ָʾ10.rmf'; + SDofilter(ADOQueryMain, ' OrderNoM=''' + Trim(Order_Main.fieldbyname('OrderNoM').AsString) + ''''); + SCreateCDS20(ADOQueryMain, Order_Main); + SInitCDSData20(ADOQueryMain, Order_Main); + Porderno := Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end + else + begin + Application.MessageBox(PChar('û' + ExtractFilePath(Application.ExeName) + 'Report\ָʾ10.rmf'), 'ʾ', 0); + end; + SDofilter(ADOQueryMain, ''); + SCreateCDS20(ADOQueryMain, Order_Main); + SInitCDSData20(ADOQueryMain, Order_Main); + Order_Main.Locate('ordernoM', Porderno, []); +end; + +procedure TfrmProductOrderNewList.N2Click(Sender: TObject); +var + fPrintFile: string; + Porderno: string; +begin + if Order_Main.IsEmpty then + Exit; + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ָʾ.rmf'; + SDofilter(ADOQueryMain, ' OrderNoM=''' + Trim(Order_Main.fieldbyname('OrderNoM').AsString) + ''''); + SCreateCDS20(ADOQueryMain, Order_Main); + SInitCDSData20(ADOQueryMain, Order_Main); + Porderno := Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end + else + begin + Application.MessageBox(PChar('û' + ExtractFilePath(Application.ExeName) + 'Report\ָʾ.rmf'), 'ʾ', 0); + end; + SDofilter(ADOQueryMain, ''); + SCreateCDS20(ADOQueryMain, Order_Main); + SInitCDSData20(ADOQueryMain, Order_Main); + Order_Main.Locate('ordernoM', Porderno, []); +end; + +procedure TfrmProductOrderNewList.ToolButton1Click(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + try + frmOrderInPut := TfrmOrderInPut.Create(Application); + with frmOrderInPut do + begin + PState := 1; + FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString); + ToolBar2.Visible := False; + TBSave.Visible := False; + ScrollBox1.Enabled := False; + Tv1.OptionsSelection.CellSelect := False; + fFlileFlag := self.fFlileFlag; + if ShowModal = 1 then + begin + + end; + end; + finally + frmOrderInPut.Free; + end; +end; + +procedure TfrmProductOrderNewList.ToolButton2Click(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + try + frmOrderInPut := TfrmOrderInPut.Create(Application); + with frmOrderInPut do + begin + PState := 1; + CopyInt := 99; + FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString); + fFlileFlag := self.fFlileFlag; + if ShowModal = 1 then + begin + + end; + end; + finally + frmOrderInPut.Free; + end; +end; + +procedure TfrmProductOrderNewList.ToolButton3Click(Sender: TObject); +begin + ModalResult := 1; +end; + +procedure TfrmProductOrderNewList.OrderNoKeyPress(Sender: TObject; var Key: Char); +begin + if Key = #13 then + begin + if Length(OrderNo.Text) < 3 then + Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered := False; + Close; + sql.Clear; + sql.add('exec P_View_Order :begdate,:enddate,:WSql'); + if Trim(DParameters1) <> 'Ȩ' then + begin + Parameters.ParamByName('WSql').Value := ' and Filler=''' + Trim(DName) + ''''; + end; + begin + Parameters.ParamByName('WSql').Value := ' and orderno like ''' + '%' + Trim(OrderNo.Text) + '%' + ''''; + end; + Parameters.ParamByName('begdate').Value := '2014-01-01'; + Parameters.ParamByName('enddate').Value := '2064-01-01'; + ExecSQL; + Open; + end; + SCreateCDS20(ADOQueryMain, Order_Main); + SInitCDSData20(ADOQueryMain, Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +procedure TfrmProductOrderNewList.ConNoKeyPress(Sender: TObject; var Key: Char); +begin + if Key = #13 then + begin + if Length(conno.Text) < 3 then + Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered := False; + Close; + sql.Clear; + sql.add('exec P_View_Order :begdate,:enddate,:WSql'); + if Trim(DParameters1) <> 'Ȩ' then + begin + Parameters.ParamByName('WSql').Value := ' and A.Filler=''' + Trim(DName) + ''''; + end; + begin + Parameters.ParamByName('WSql').Value := ' and conno like ''' + '%' + Trim(conno.Text) + '%' + ''''; + end; + Parameters.ParamByName('begdate').Value := '1899-01-01'; + Parameters.ParamByName('enddate').Value := '2050-01-01'; + ExecSQL; + Open; + end; + SCreateCDS20(ADOQueryMain, Order_Main); + SInitCDSData20(ADOQueryMain, Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +procedure TfrmProductOrderNewList.Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); +begin + ReleaseCapture; + TWinControl(Panel4).Perform(WM_SYSCOMMAND, $F012, 0); +end; + +procedure TfrmProductOrderNewList.Button1Click(Sender: TObject); +var + fPrintFile: string; + Porderno, LBName, SYRName: string; + i, j: Integer; + OrderKg: Double; +begin + if Order_Main.IsEmpty then + Exit; + RMDBMain.DataSet := CDS_Print; + LBName := RadioGroup1.Items.Strings[RadioGroup1.ItemIndex]; + fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(LBName) + '.rmf'; + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select A.*,B.*,C.Filesother,ColorCount=(select isnull(Count(subID),0) from JYOrder_Sub where MainId=A.MainId), '); + sql.add('ZQty=(select sum(PRTOrderQty) from JYOrder_Sub where MainId=A.MainId),'); + sql.add('FQty=(select sum(PRTOrderQty) from JYOrder_Sub X where X.MainId=B.MainId and X.PrtCodeName=B.PrtCodeName and X.KHorderNo=B.KHorderNo),'); + sql.add('maxkhOrderNO=(select max(khOrderNO) from JYOrder_Sub X where X.MainId=A.MainId ),'); + sql.Add('HXFileOther=(select top 1 Filesother from TP_File X where X.WBID=B.HXFile and X.TFType=''HX'' )'); + sql.Add(' from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.MainId '); + sql.Add(' left join TP_File C on C.TFID=B.Subid and C.WBID=B.Mainid '); + // sql.Add(' left join TP_File D on D.TFID=A.orderNO '); + sql.Add(' Where A.MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + ''''); + sql.Add(' order by B.PRTCode,B.PRTCodeName,B.subID '); + + Open; + end; + SCreateCDS20(ADOQueryPrint, CDS_Print); + SInitCDSData20(ADOQueryPrint, CDS_Print); + if FileExists(fPrintFile) then + begin + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + RMDBMain.DataSet := nil; + end + else + begin + Application.MessageBox(PChar('û' + trim(fPrintFile)), 'ʾϢ', 0); + exit; + end; +end; + +procedure TfrmProductOrderNewList.Image2Click(Sender: TObject); +begin + Panel4.Visible := False; +end; + +procedure TfrmProductOrderNewList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); +begin + InitSub(); +end; + +procedure TfrmProductOrderNewList.TFJClick(Sender: TObject); +begin + if order_Main.IsEmpty then + exit; + if order_Main.FieldByName('filler').asstring <> trim(DName) then + begin + application.MessageBox('ܲ˵', 'ʾ'); + exit; + end; + frmFjList := TfrmFjlist.create(self); + with frmFjlist do + begin + fkeyNo := trim(order_Main.fieldbyname('Mainid').AsString); + ftype := 'ZSDFJ'; + if showmodal = 1 then + begin + + end; + ; + end; + frmFjlist.Free; +end; + +procedure TfrmProductOrderNewList.TV2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); +begin + initImage(ADOQuerySub.fieldbyname('HXFile').AsString); +end; + +procedure TfrmProductOrderNewList.Picture4DblClick(Sender: TObject); +var + sFieldName: string; + fileName: string; + // ff: TADOBlobStream; + // FJStream : TMemoryStream; +begin + if Picture4.Picture.Height = 0 then + exit; + sFieldName := leftbstr(ExtractFilePath(Application.ExeName), 1) + ':\ͼƬ鿴'; + + if not DirectoryExists(pchar(sFieldName)) then + CreateDirectory(pchar(sFieldName), nil); + fileName := ADOQuerySub.fieldbyname('hxFile').AsString; + sFieldName := sFieldName + '\' + trim(fileName); + + try + IdFTP1.Host := ReadINIFileStr('SYSTEMSET.INI', 'SERVER', 'ַ', '127.0.0.1'); + IdFTP1.Username := 'three'; + IdFTP1.Password := '641010'; + IdFTP1.Connect(); + except + ; + end; + + if IdFTP1.Connected then + begin + + application.ProcessMessages; + try + IdFTP1.Get(fFlileFlag + '\' + Trim(fileName), sFieldName, true, false); + except + Application.MessageBox('ͻͼļ', 'ʾ', MB_ICONWARNING); + IdFTP1.Quit; + Exit; + end; + end + else + begin + Application.MessageBox('޷ļ', 'ʾ', MB_ICONWARNING); + IdFTP1.Quit; + Exit; + end; + if IdFTP1.Connected then + IdFTP1.Quit; + ShellExecute(Handle, 'open', PChar(sFieldName), '', '', SW_SHOWNORMAL); + +end; + +procedure TfrmProductOrderNewList.TWCClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update JYOrder_Main SET status=''1'' '); + sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' ' + quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(trim(''))); + sql.Add(',' + quotedstr(trim('ţ' + trim(Order_Main.FieldByName('orderNO').AsString)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + application.MessageBox('ɳɹ', 'ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ʧܣ', 'ʾϢ', 0); + end; +end; + +procedure TfrmProductOrderNewList.TNoWCClick(Sender: TObject); +begin + if Order_Main.IsEmpty then + exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update JYOrder_Main SET status=''0'' '); + sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' ' + quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(',' + quotedstr(trim(self.Caption))); + sql.Add(',' + quotedstr(trim(''))); + sql.Add(',' + quotedstr(trim('ţ' + trim(Order_Main.FieldByName('orderNO').AsString)))); + sql.Add(',' + quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + application.MessageBox('ɳɹ', 'ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ʧܣ', 'ʾϢ', 0); + end; +end; + +procedure TfrmProductOrderNewList.cxTabControl1Change(Sender: TObject); +begin + SetStatus(); + InitGrid(); +end; + +procedure TfrmProductOrderNewList.ToolButton4Click(Sender: TObject); +begin + if Order_Main.IsEmpty then + Exit; + try + + frmMJSJFX := TfrmMJSJFX.Create(Application); + with frmMJSJFX do + begin + frmMJSJFX.OrderNo.Text := Self.Order_Main.fieldbyname('orderno').AsString; + frmMJSJFX.OrderNo.Hint := Self.Order_Main.fieldbyname('MainId').AsString; + if ShowModal = 1 then + begin + + end; + + end; + finally + frmMJSJFX.Free; + end; +end; + +procedure TfrmProductOrderNewList.TV2CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +begin + if AViewInfo.GridRecord.Values[tv2.GetColumnByFieldName('DJstatus').Index] = '1' then + ACanvas.Brush.Color := clRed; +end; + +procedure TfrmProductOrderNewList.ToolButton5Click(Sender: TObject); +begin + try + frmZDYHelp := TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag := 'WFBCD'; + flagname := 'õ'; + fnote := True; + V1Note.Caption := 'Ӣ'; + if ShowModal = 1 then + begin + + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmProductOrderNewList.ToolButton6Click(Sender: TObject); +begin + frmSysLogOrderzsd := TfrmSysLogOrderzsd.create(self); + with frmSysLogOrderzsd do + begin + fModel := self.caption; + frmSysLogOrderzsd.FMainId := Trim(Self.FMainId); + showmodal; + free; + end; +end; + +procedure TfrmProductOrderNewList.ToolButton7Click(Sender: TObject); +begin + if SelfConnData() = false then + begin + Application.MessageBox('ʧܣ±', 'ʾ', 0); + Exit; + end; +end; + +end. + diff --git a/打卷检验管理/U_ProductOrderNewListSubZD.dfm b/打卷检验管理/U_ProductOrderNewListSubZD.dfm new file mode 100644 index 0000000..831a683 --- /dev/null +++ b/打卷检验管理/U_ProductOrderNewListSubZD.dfm @@ -0,0 +1,677 @@ +object frmProductOrderNewListSubZD: TfrmProductOrderNewListSubZD + Left = 113 + Top = 117 + Width = 1094 + Height = 600 + Caption = #36716#21333#36873#25321 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1113 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object ToolButton3: TToolButton + Left = 126 + Top = 0 + Caption = #36873#25321 + ImageIndex = 106 + Visible = False + OnClick = ToolButton3Click + end + object ToolButton1: TToolButton + Left = 185 + Top = 0 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 58 + OnClick = ToolButton1Click + end + object TBPrint: TToolButton + Left = 248 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + Visible = False + OnClick = TBPrintClick + end + object TBClose: TToolButton + Left = 311 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + object ComboBox1: TComboBox + Left = 374 + Top = 3 + Width = 145 + Height = 24 + DropDownCount = 10 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ItemHeight = 16 + ParentFont = False + TabOrder = 0 + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1113 + Height = 67 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 15 + Width = 52 + Height = 12 + Caption = #21046#21333#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 179 + Top = 15 + Width = 39 + Height = 12 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 318 + Top = 15 + Width = 54 + Height = 12 + Caption = #23458' '#25143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 476 + Top = 15 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 179 + Top = 39 + Width = 39 + Height = 12 + Caption = #21512#21516#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 476 + Top = 39 + Width = 54 + Height = 12 + Caption = #35268' '#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 318 + Top = 39 + Width = 52 + Height = 12 + Caption = #20135#21697#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 621 + Top = 39 + Width = 26 + Height = 12 + Caption = #20811#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 621 + Top = 15 + Width = 26 + Height = 12 + Caption = #38376#24133 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 11 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 76 + Top = 35 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + TabOrder = 1 + end + object OrderNoM: TEdit + Tag = 2 + Left = 220 + Top = 11 + Width = 77 + Height = 20 + TabOrder = 2 + OnChange = OrderNoMChange + OnKeyPress = OrderNoMKeyPress + end + object CustomerNoName: TEdit + Tag = 2 + Left = 371 + Top = 11 + Width = 76 + Height = 20 + TabOrder = 3 + OnChange = OrderNoMChange + end + object MPRTCodeName: TEdit + Tag = 2 + Left = 529 + Top = 11 + Width = 76 + Height = 20 + TabOrder = 4 + OnChange = OrderNoMChange + end + object ConNo: TEdit + Tag = 2 + Left = 220 + Top = 35 + Width = 77 + Height = 20 + TabOrder = 5 + OnChange = OrderNoMChange + OnKeyPress = ConNoKeyPress + end + object MPRTSpec: TEdit + Tag = 2 + Left = 530 + Top = 35 + Width = 76 + Height = 20 + TabOrder = 6 + OnChange = OrderNoMChange + end + object MPRTCode: TEdit + Tag = 2 + Left = 371 + Top = 35 + Width = 76 + Height = 20 + TabOrder = 7 + OnChange = OrderNoMChange + end + object MPRTKZ: TEdit + Tag = 2 + Left = 650 + Top = 35 + Width = 56 + Height = 20 + TabOrder = 8 + OnChange = OrderNoMChange + end + object MPRTMF: TEdit + Tag = 2 + Left = 650 + Top = 11 + Width = 56 + Height = 20 + TabOrder = 9 + OnChange = OrderNoMChange + end + end + object cxGrid1: TcxGrid + Left = 24 + Top = 112 + Width = 1089 + Height = 369 + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.OnGetContentStyle = Tv1StylesGetContentStyle + Styles.Header = DataLink_TradeManage.Default + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v1ConNo: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1Column4: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Width = 59 + end + object v1Column5: TcxGridDBColumn + Caption = #33394#21495 + DataBinding.FieldName = 'SOrddefstr1' + HeaderAlignmentHorz = taCenter + Width = 57 + end + object v1Column6: TcxGridDBColumn + Caption = #33457#22411#33457#21495 + DataBinding.FieldName = 'PRTHX' + HeaderAlignmentHorz = taCenter + Width = 58 + end + object v1Column1: TcxGridDBColumn + Caption = #19994#21153#21592 + DataBinding.FieldName = 'Filler' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 69 + end + object v1OrdDefStr1: TcxGridDBColumn + Caption = #20135#21697#32534#21495 + DataBinding.FieldName = 'MPRTCode' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 90 + end + object v1OrdDate: TcxGridDBColumn + Caption = #21046#21333#26085#26399 + DataBinding.FieldName = 'OrdDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DlyDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + OnCustomDrawCell = v1DeliveryDateCustomDrawCell + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 62 + end + object v1CustomerNoName: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 62 + end + object v1MPRTCodeName: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 69 + end + object v1MPRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'MPRTSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1MPRTMF: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'MPRTMF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object v1MPRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'MPRTKZ' + Options.Focusing = False + Width = 59 + end + object v1Column2: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 71 + end + object v1Column3: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 67 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel4: TPanel + Left = 410 + Top = 137 + Width = 231 + Height = 216 + TabOrder = 3 + Visible = False + object Label14: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 229 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #25253#34920#21517#31216 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnMouseMove = Panel10MouseMove + object Image2: TImage + Left = 206 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object Button1: TButton + Left = 83 + Top = 176 + Width = 75 + Height = 25 + Caption = #30830#23450 + TabOrder = 1 + OnClick = Button1Click + end + object RadioGroup1: TRadioGroup + Left = 56 + Top = 24 + Width = 129 + Height = 145 + ItemIndex = 0 + Items.Strings = ( + #21253#35013#25351#31034#21333 + #39068#33394#26679 + #21697#36136#26679 + #33457#22411#26679) + TabOrder = 2 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 544 + Top = 176 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 688 + Top = 224 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 552 + Top = 216 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 312 + Top = 248 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 440 + Top = 184 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 464 + Top = 208 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 336 + Top = 200 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = CDS_Print + Left = 392 + Top = 200 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 576 + Top = 248 + end + object PopupMenu1: TPopupMenu + Left = 256 + Top = 176 + object N2: TMenuItem + Caption = #26377#20379#24212#21830 + OnClick = N2Click + end + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 360 + Top = 240 + end + object CDS_Print: TClientDataSet + Aggregates = <> + Params = <> + Left = 344 + Top = 288 + end +end diff --git a/打卷检验管理/U_ProductOrderNewListSubZD.pas b/打卷检验管理/U_ProductOrderNewListSubZD.pas new file mode 100644 index 0000000..b2fbf0c --- /dev/null +++ b/打卷检验管理/U_ProductOrderNewListSubZD.pas @@ -0,0 +1,681 @@ +unit U_ProductOrderNewListSubZD; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, + Menus; + +type + TfrmProductOrderNewListSubZD = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + OrderNoM: TEdit; + v1OrderNo: TcxGridDBColumn; + v1OrdDate: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1ConNo: TcxGridDBColumn; + v1MPRTSpec: TcxGridDBColumn; + Order_Main: TClientDataSet; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + v1CustomerNoName: TcxGridDBColumn; + Label4: TLabel; + CustomerNoName: TEdit; + v1MPRTCodeName: TcxGridDBColumn; + v1MPRTMF: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N2: TMenuItem; + ToolButton1: TToolButton; + Label8: TLabel; + MPRTCodeName: TEdit; + Label9: TLabel; + ConNo: TEdit; + v1MPRTKZ: TcxGridDBColumn; + v1OrdDefStr1: TcxGridDBColumn; + Label10: TLabel; + MPRTSpec: TEdit; + Label11: TLabel; + MPRTCode: TEdit; + Label12: TLabel; + MPRTKZ: TEdit; + Label13: TLabel; + MPRTMF: TEdit; + ADOQueryPrint: TADOQuery; + CDS_Print: TClientDataSet; + ToolButton3: TToolButton; + ComboBox1: TComboBox; + Panel4: TPanel; + Label14: TLabel; + Panel10: TPanel; + Image2: TImage; + Button1: TButton; + RadioGroup1: TRadioGroup; + v1Column1: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure OrderNoMChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TBTPClick(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure CheckBox2Click(Sender: TObject); + procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; + ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; + out AStyle: TcxStyle); + procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure OrderNoMKeyPress(Sender: TObject; var Key: Char); + procedure ConNoKeyPress(Sender: TObject; var Key: Char); + procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, + Y: Integer); + procedure Button1Click(Sender: TObject); + procedure Image2Click(Sender: TObject); + private + DQdate:TDateTime; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + procedure InitGridFH(); + { Private declarations } + public + FFInt,FCloth:Integer; + + { Public declarations } + end; + +var + frmProductOrderNewListSubZD: TfrmProductOrderNewListSubZD; + +implementation +uses + U_DataLink,U_OrderInPut,U_Fun; + +{$R *.dfm} + +procedure TfrmProductOrderNewListSubZD.FormDestroy(Sender: TObject); +begin + frmProductOrderNewListSubZD:=nil; +end; + +procedure TfrmProductOrderNewListSubZD.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmProductOrderNewListSubZD.FormCreate(Sender: TObject); +begin + cxgrid1.Align:=alClient; + //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; + //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + DQdate:=SGetServerDate(ADOQueryTemp); +end; + +procedure TfrmProductOrderNewListSubZD.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('ָʾбFF',Tv1,'ָʾ'); +end; + +procedure TfrmProductOrderNewListSubZD.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.add('exec P_View_Order :begdate,:enddate,:WSql') ; + if Trim(DParameters1)<>'Ȩ' then + begin + Parameters.ParamByName('WSql').Value:=' and Filler='''+Trim(DName)+''''; + end else + begin + Parameters.ParamByName('WSql').Value:=''; + end; + Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.DateTime); + Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',enddate.DateTime+1); + ExecSQL; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; +procedure TfrmProductOrderNewListSubZD.InitGridFH(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec Order_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmProductOrderNewListSubZD.InitForm(); +begin + ReadCxGrid('ָʾбFF',Tv1,'ָʾ'); + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 10* from JYOrder_Main Order by FillTime desc'); + Open; + end; + ComboBox1.Clear; + with ADOQueryTemp do + begin + First; + while not Eof do + begin + ComboBox1.Items.Add(Trim(ADOQueryTemp.fieldbyname('OrderNO').AsString)); + Next; + end; + end; + //InitGrid(); +end; + +procedure TfrmProductOrderNewListSubZD.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +function TfrmProductOrderNewListSubZD.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add('delete JYOrder_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + {with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + if IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; } + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmProductOrderNewListSubZD.TBPrintClick(Sender: TObject); +var + fPrintFile:string; + Porderno:string; + i,j:Integer; +begin + Panel4.Visible:=True; +end; + +procedure TfrmProductOrderNewListSubZD.TBRafreshClick(Sender: TObject); +begin + if FFInt=1 then + begin + InitGridFH(); + end else + begin + InitGrid(); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 10* from JYOrder_Main Order by FillTime desc'); + Open; + end; + ComboBox1.Clear; + with ADOQueryTemp do + begin + First; + while not Eof do + begin + ComboBox1.Items.Add(Trim(ADOQueryTemp.fieldbyname('OrderNO').AsString)); + Next; + end; + end; + end; +end; + +procedure TfrmProductOrderNewListSubZD.OrderNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmProductOrderNewListSubZD.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmProductOrderNewListSubZD.Tv1CellDblClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if ToolButton1.Visible=False then Exit; + ToolButton1.Click; +end; + +procedure TfrmProductOrderNewListSubZD.TBTPClick(Sender: TObject); + var + FQty,FQty1,FMxQty,FPQty,FMxQtyS,FPQtyS:String; +begin +end; + +procedure TfrmProductOrderNewListSubZD.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmProductOrderNewListSubZD.CheckBox2Click(Sender: TObject); +begin + TBRafresh.Click; +end; + +procedure TfrmProductOrderNewListSubZD.Tv1StylesGetContentStyle( + Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; + AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); +var + id,id10:Integer; +begin + {try + if Tv1.GroupedItemCount=0 then + begin + Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; + Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; + if Trim(VarToStr(ARecord.Values[id]))='' then Exit; + if Id<0 then Exit; + if ARecord.Values[id10]='' then exit; + if (ARecord.Values[id]-DQdate)>=4 then Exit; + if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then + AStyle:=DataLink_.QHuangSe + else + if ARecord.Values[id]-DQdate<0 then + begin + AStyle:=DataLink_OrderManage.FenHongS; + end; + end else + begin + + end; + except + end; } +end; + +procedure TfrmProductOrderNewListSubZD.v1DeliveryDateCustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +begin + { Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount; + Id10:=TV1.GetColumnByFieldName('SubStatus').Index; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id10]='' then Exit; + if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit; + if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then + ACanvas.Brush.Color:=clYellow + else + if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then + begin + ACanvas.Brush.Color:=clRed; + end; + begin + ACanvas.Brush.Color:=clRed; + end else + if AViewInfo.GridRecord.Values[Id]='Purple' then + begin + ACanvas.Brush.Color:=clPurple; + end else + if AViewInfo.GridRecord.Values[Id]='Olive' then + begin + ACanvas.Brush.Color:=clOlive; + end else + if AViewInfo.GridRecord.Values[Id]='Teal' then + begin + ACanvas.Brush.Color:=clTeal; + end else + if AViewInfo.GridRecord.Values[Id]='Background' then + begin + ACanvas.Brush.Color:=clBackground; + end; } +end; + +procedure TfrmProductOrderNewListSubZD.N1Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ10.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ10.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderNewListSubZD.N2Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderNewListSubZD.ToolButton1Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmOrderInPut:=TfrmOrderInPut.Create(Application); + with frmOrderInPut do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + ToolBar2.Visible:=False; + TBSave.Visible:=False; + ScrollBox1.Enabled:=False; + Tv1.OptionsSelection.CellSelect:=False; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut.Free; + end; +end; + +procedure TfrmProductOrderNewListSubZD.ToolButton3Click(Sender: TObject); +begin + ModalResult:=1; +end; + +procedure TfrmProductOrderNewListSubZD.OrderNoMKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Length(OrderNoM.Text)<3 then Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.add('exec P_View_Order :begdate,:enddate,:WSql') ; + if Trim(DParameters1)<>'Ȩ' then + begin + Parameters.ParamByName('WSql').Value:=' and Filler='''+Trim(DName)+''''; + end; + begin + Parameters.ParamByName('WSql').Value:=' and orderno like '''+'%'+Trim(OrderNoM.Text)+'%'+''''; + end; + Parameters.ParamByName('begdate').Value:='1899-01-01'; + Parameters.ParamByName('enddate').Value:='2050-01-01'; + ExecSQL; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +procedure TfrmProductOrderNewListSubZD.ConNoKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Length(conno.Text)<3 then Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.add('exec P_View_Order :begdate,:enddate,:WSql') ; + if Trim(DParameters1)<>'Ȩ' then + begin + Parameters.ParamByName('WSql').Value:=' and A.Filler='''+Trim(DName)+''''; + end; + begin + Parameters.ParamByName('WSql').Value:=' and conno like '''+'%'+Trim(conno.Text)+'%'+''''; + end; + Parameters.ParamByName('begdate').Value:='1899-01-01'; + Parameters.ParamByName('enddate').Value:='2050-01-01'; + ExecSQL; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +procedure TfrmProductOrderNewListSubZD.Panel10MouseMove(Sender: TObject; + Shift: TShiftState; X, Y: Integer); +begin + ReleaseCapture; + TWinControl(Panel4).Perform(WM_SYSCOMMAND,$F012,0); +end; + +procedure TfrmProductOrderNewListSubZD.Button1Click(Sender: TObject); +var + fPrintFile:string; + Porderno,LBName:string; + i,j:Integer; + OrderKg:Double; +begin + if Order_Main.IsEmpty then Exit; + LBName:=RadioGroup1.Items.Strings[RadioGroup1.ItemIndex]; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\'+Trim(LBName)+'.rmf' ; + if RadioGroup1.ItemIndex=0 then + begin + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select A.*,B.*,ColorCount=(select isnull(Count(*),0) from JYOrder_Sub where MainId=A.MainId), '); + sql.add('ZQty=(select sum(PRTOrderQty) from JYOrder_Sub where MainId=A.MainId)'); + SQL.Add(', Case when B.OrderUnit=''M'' then Cast(Cast(dbo.F_Get_Order_MFKZ(A.MainId,''MF'') '); + sql.Add(' *1.00/100*B.PRTOrderQty*dbo.F_Get_Order_MFKZ(A.MainId,''KZ'')/1000 as decimal(18,0)) as varchar(20))+''Kg'' '); + SQL.Add(' when B.OrderUnit=''Y'' then Cast (Cast(dbo.F_Get_Order_MFKZ(A.MainId,''MF'')'); + sql.Add(' *1.00/100*B.PRTOrderQty*0.9144*dbo.F_Get_Order_MFKZ(A.MainId,''KZ'')/1000 as decimal(18,0)) as varchar(20))+''Kg'' '); + sql.Add(' else '''' end as PRTOrderKgQtyStr '); + sql.Add(' from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.MainId '); + sql.Add(' and A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + + end else + begin + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('exec P_View_OrderSub :begdate,:enddate,:wsql '); + Parameters.ParamByName('WSql').Value:=' and A.MainId='''+Trim(Order_Main.fieldbyname('Mainid').AsString)+''''; + Parameters.ParamByName('begdate').Value:='1899-01-01'; + Parameters.ParamByName('enddate').Value:='2050-01-01'; + Open; + end; + if Trim(ADOQueryPrint.FieldByName('PRTHX').AsString)<>'' then + begin + if Trim(LBName)='ɫ' then + begin + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ɫ.rmf' ; + end; + end; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select isnull(sum(PRTOrderKgQty),0) PRTOrderKgHZQty from('); + sql.Add('select '); + SQL.Add(' Case when B.OrderUnit=''M'' then Cast(dbo.F_Get_Order_MFKZ(A.MainId,''MF'') '); + sql.Add(' *1.00/100*B.PRTOrderQty*dbo.F_Get_Order_MFKZ(A.MainId,''KZ'')/1000 as decimal(18,0))'); + SQL.Add(' when B.OrderUnit=''Y'' then Cast(dbo.F_Get_Order_MFKZ(A.MainId,''MF'')'); + sql.Add(' *1.00/100*B.PRTOrderQty*0.9144*dbo.F_Get_Order_MFKZ(A.MainId,''KZ'')/1000 As decimal(18,0)) '); + sql.Add(' else 0 end as PRTOrderKgQty'); + sql.Add(' from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.MainId '); + sql.Add(' and A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''')AA'); + Open; + end; + OrderKg:=ADOQueryTemp.fieldbyname('PRTOrderKgHZQty').Value; + SCreateCDS20(ADOQueryPrint,CDS_Print); + SInitCDSData20(ADOQueryPrint,CDS_Print); + + if FileExists(fPrintFile) then + begin + RM1.LoadFromFile(fPrintFile); + if OrderKg>0 then + RMVariables['OrderKg']:='/'+Trim(FloatToStr(OrderKg))+'Kg' + else + RMVariables['OrderKg']:=''; + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\'+Trim(LBName)+'.rmf'),'ʾ',0); + end; +end; + +procedure TfrmProductOrderNewListSubZD.Image2Click(Sender: TObject); +begin + Panel4.Visible:=False; +end; + +end. diff --git a/打卷检验管理/U_ProductOrderNewList_CY.dfm b/打卷检验管理/U_ProductOrderNewList_CY.dfm new file mode 100644 index 0000000..19835d4 --- /dev/null +++ b/打卷检验管理/U_ProductOrderNewList_CY.dfm @@ -0,0 +1,982 @@ +object frmProductOrderNewList_CY: TfrmProductOrderNewList_CY + Left = 101 + Top = 111 + Width = 1087 + Height = 604 + Caption = #20986#36816#35745#21010 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1079 + Height = 62 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object ToolButton3: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #36873#25321 + ImageIndex = 106 + Visible = False + OnClick = ToolButton3Click + end + object TBAdd: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 3 + OnClick = TBAddClick + end + object TBEdit: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #20462#25913 + ImageIndex = 54 + OnClick = TBEditClick + end + object TBDel: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 17 + OnClick = TBDelClick + end + object ToolButton2: TToolButton + Left = 378 + Top = 0 + AutoSize = True + Caption = #22797#21046 + ImageIndex = 57 + Wrap = True + OnClick = ToolButton2Click + end + object ToolButton1: TToolButton + Left = 0 + Top = 30 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 58 + OnClick = ToolButton1Click + end + object TChk: TToolButton + Left = 63 + Top = 30 + AutoSize = True + Caption = #23457#26680 + ImageIndex = 41 + OnClick = TChkClick + end + object TNOChk: TToolButton + Left = 126 + Top = 30 + AutoSize = True + Caption = #25764#38144#23457#26680 + ImageIndex = 86 + OnClick = TNOChkClick + end + object TBExport: TToolButton + Left = 213 + Top = 30 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 276 + Top = 30 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + OnClick = TBPrintClick + end + object TBClose: TToolButton + Left = 339 + Top = 30 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + object ComboBox1: TComboBox + Left = 402 + Top = 33 + Width = 145 + Height = 24 + DropDownCount = 10 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ItemHeight = 16 + ParentFont = False + TabOrder = 0 + Visible = False + end + end + object Panel1: TPanel + Left = 0 + Top = 62 + Width = 1079 + Height = 37 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 15 + Width = 52 + Height = 12 + Caption = #21046#21333#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 287 + Top = 15 + Width = 52 + Height = 12 + Caption = #20986#36816#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 470 + Top = 15 + Width = 54 + Height = 12 + Caption = #23458' '#25143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 536 + Top = 67 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 683 + Top = 15 + Width = 39 + Height = 12 + Caption = #21512#21516#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 536 + Top = 91 + Width = 54 + Height = 12 + Caption = #35268' '#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 378 + Top = 91 + Width = 52 + Height = 12 + Caption = #20135#21697#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 681 + Top = 91 + Width = 26 + Height = 12 + Caption = #20811#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 681 + Top = 67 + Width = 26 + Height = 12 + Caption = #38376#24133 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 160 + Top = 16 + Width = 6 + Height = 12 + Caption = '-' + end + object BegDate: TDateTimePicker + Left = 76 + Top = 11 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 168 + Top = 11 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object OrderNo: TEdit + Tag = 2 + Left = 344 + Top = 11 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnChange = OrderNoChange + end + object CustomerNoName: TEdit + Tag = 2 + Left = 531 + Top = 11 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + OnChange = OrderNoChange + end + object MPRTCodeName: TEdit + Tag = 2 + Left = 589 + Top = 63 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnChange = OrderNoChange + end + object ConNo: TEdit + Tag = 2 + Left = 732 + Top = 11 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 5 + OnChange = OrderNoChange + end + object MPRTSpec: TEdit + Tag = 2 + Left = 590 + Top = 87 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + OnChange = OrderNoChange + end + object MPRTCode: TEdit + Tag = 2 + Left = 431 + Top = 87 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 7 + OnChange = OrderNoChange + end + object MPRTKZ: TEdit + Tag = 2 + Left = 710 + Top = 87 + Width = 56 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 8 + OnChange = OrderNoChange + end + object MPRTMF: TEdit + Tag = 2 + Left = 710 + Top = 63 + Width = 56 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 9 + OnChange = OrderNoChange + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 121 + Width = 1079 + Height = 278 + Align = alClient + TabOrder = 2 + object Tv1: TcxGridDBTableView + OnDblClick = Tv1DblClick + NavigatorButtons.ConfirmDelete = False + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Deleting = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.OnGetContentStyle = Tv1StylesGetContentStyle + Styles.Header = DataLink_TradeManage.Default + object v1OrderNo: TcxGridDBColumn + Caption = #20986#36816#21333#21495 + DataBinding.FieldName = 'CYNO' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 85 + end + object v1Column10: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + end + object v1ConNo: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 80 + end + object v1CustomerNoName: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 103 + end + object v1Column2: TcxGridDBColumn + Caption = #30003#35831#26085#26399 + DataBinding.FieldName = 'OrdDefDate1' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 91 + end + object v1Column14: TcxGridDBColumn + Caption = #30003#35831#20154 + DataBinding.FieldName = 'OrdPerson1' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1OrdPerson2: TcxGridDBColumn + Caption = #19994#21153#21592 + DataBinding.FieldName = 'OrdPerson2' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #33337#36816#26085#26399 + DataBinding.FieldName = 'DlyDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + OnCustomDrawCell = v1DeliveryDateCustomDrawCell + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 89 + end + object v1Column7: TcxGridDBColumn + Caption = #20986#20179#26085#26399 + DataBinding.FieldName = 'OrdDefDate2' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 84 + end + object v1Column9: TcxGridDBColumn + Caption = #20986#36135#24635#25968#37327 + DataBinding.FieldName = 'ZSordQty1' + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FoneRed + Styles.Footer = DataLink_TradeManage.FoneRed + Styles.Header = DataLink_TradeManage.FoneRed + Width = 80 + end + object v1Column3: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 76 + end + object v1Column8: TcxGridDBColumn + Caption = #27880#24847#20107#39033 + DataBinding.FieldName = 'MPRTBZNote' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 100 + end + object v1Column1: TcxGridDBColumn + Caption = #21046#21333#20154 + DataBinding.FieldName = 'Filler' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 68 + end + object v1OrdDate: TcxGridDBColumn + Caption = #21046#21333#26085#26399 + DataBinding.FieldName = 'OrdDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 95 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel4: TPanel + Left = 482 + Top = 145 + Width = 231 + Height = 216 + TabOrder = 3 + Visible = False + object Label14: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 229 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #25253#34920#21517#31216 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnMouseMove = Panel10MouseMove + object Image2: TImage + Left = 206 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object Button1: TButton + Left = 83 + Top = 176 + Width = 75 + Height = 25 + Caption = #30830#23450 + TabOrder = 1 + OnClick = Button1Click + end + object RadioGroup1: TRadioGroup + Left = 56 + Top = 24 + Width = 129 + Height = 145 + ItemIndex = 0 + Items.Strings = ( + #21253#35013#25351#31034#21333 + #39068#33394#26679) + TabOrder = 2 + end + end + object cxSplitter1: TcxSplitter + Left = 0 + Top = 399 + Width = 1079 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + Control = cxGrid2 + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 99 + Width = 1079 + Height = 22 + Align = alTop + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + Style = 9 + TabIndex = 0 + TabOrder = 5 + Tabs.Strings = ( + #26410#23457#26680 + #24050#23457#26680 + #20840#37096) + OnChange = cxTabControl1Change + ClientRectBottom = 22 + ClientRectRight = 1079 + ClientRectTop = 19 + end + object cxGrid2: TcxGrid + Left = 0 + Top = 407 + Width = 1079 + Height = 163 + Align = alBottom + TabOrder = 6 + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = cxGridDBColumn3 + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsData.Deleting = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1XHNo: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'XHNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 35 + end + object v1Column5: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'PrtCodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 90 + end + object v1Column6: TcxGridDBColumn + Caption = #20135#21697#35268#26684 + DataBinding.FieldName = 'PRTspec' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 90 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 90 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #39068#33394'('#33521#25991')' + DataBinding.FieldName = 'SOrddefstr4' + Width = 84 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #20986#36135#25968#37327 + DataBinding.FieldName = 'SordQty1' + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FoneClMaroon + Styles.Footer = DataLink_TradeManage.FoneClMaroon + Styles.Header = DataLink_TradeManage.FoneClMaroon + Width = 60 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'PrtPrice' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column4: TcxGridDBColumn + Caption = #20986#36135#31665#25968 + DataBinding.FieldName = 'SordQty2' + Width = 60 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #31435#26041#25968 + DataBinding.FieldName = 'SordQty3' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column11: TcxGridDBColumn + Caption = #27611#37325 + DataBinding.FieldName = 'SordQty4' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column12: TcxGridDBColumn + Caption = #20928#37325 + DataBinding.FieldName = 'SordQty5' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column13: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'SordQty6' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'SOrdDefNote1' + HeaderAlignmentHorz = taCenter + Width = 137 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 544 + Top = 176 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 688 + Top = 224 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 552 + Top = 216 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 312 + Top = 248 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 440 + Top = 184 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 464 + Top = 208 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 336 + Top = 200 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = CDS_Print + Left = 392 + Top = 200 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 580 + Top = 236 + end + object PopupMenu1: TPopupMenu + Left = 256 + Top = 176 + object N2: TMenuItem + Caption = #26377#20379#24212#21830 + OnClick = N2Click + end + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 360 + Top = 240 + end + object CDS_Print: TClientDataSet + Aggregates = <> + Params = <> + Left = 344 + Top = 288 + end + object ADOQuerySub: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 556 + Top = 416 + end + object DataSource2: TDataSource + DataSet = ADOQuerySub + Left = 488 + Top = 440 + end + object PMFJ: TPopupMenu + Left = 716 + Top = 272 + object NFJ: TMenuItem + Caption = #38468#20214 + end + end + object RMDB_SK: TRMDBDataSet + Visible = True + DataSet = CDS_SK + Left = 264 + Top = 244 + end + object CDS_SK: TClientDataSet + Aggregates = <> + Params = <> + Left = 304 + Top = 300 + end +end diff --git a/打卷检验管理/U_ProductOrderNewList_CY.pas b/打卷检验管理/U_ProductOrderNewList_CY.pas new file mode 100644 index 0000000..0bbba11 --- /dev/null +++ b/打卷检验管理/U_ProductOrderNewList_CY.pas @@ -0,0 +1,845 @@ +unit U_ProductOrderNewList_CY; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, + Menus, cxButtonEdit, cxTextEdit, cxPC; + +type + TfrmProductOrderNewList_CY = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBAdd: TToolButton; + TBEdit: TToolButton; + TBDel: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + OrderNo: TEdit; + TBExport: TToolButton; + v1OrderNo: TcxGridDBColumn; + v1OrdDate: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1ConNo: TcxGridDBColumn; + Order_Main: TClientDataSet; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + v1CustomerNoName: TcxGridDBColumn; + Label4: TLabel; + CustomerNoName: TEdit; + PopupMenu1: TPopupMenu; + N2: TMenuItem; + ToolButton1: TToolButton; + Label8: TLabel; + MPRTCodeName: TEdit; + Label9: TLabel; + ConNo: TEdit; + Label10: TLabel; + MPRTSpec: TEdit; + Label11: TLabel; + MPRTCode: TEdit; + Label12: TLabel; + MPRTKZ: TEdit; + Label13: TLabel; + MPRTMF: TEdit; + ToolButton2: TToolButton; + ADOQueryPrint: TADOQuery; + CDS_Print: TClientDataSet; + ToolButton3: TToolButton; + ComboBox1: TComboBox; + Panel4: TPanel; + Label14: TLabel; + Panel10: TPanel; + Image2: TImage; + Button1: TButton; + RadioGroup1: TRadioGroup; + v1Column1: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + cxSplitter1: TcxSplitter; + ADOQuerySub: TADOQuery; + DataSource2: TDataSource; + v1Column8: TcxGridDBColumn; + PMFJ: TPopupMenu; + NFJ: TMenuItem; + v1OrdPerson2: TcxGridDBColumn; + Label2: TLabel; + v1Column9: TcxGridDBColumn; + cxTabControl1: TcxTabControl; + TChk: TToolButton; + TNOChk: TToolButton; + RMDB_SK: TRMDBDataSet; + CDS_SK: TClientDataSet; + v1Column10: TcxGridDBColumn; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + v1XHNo: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + v1Column11: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + v1Column13: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + v1Column14: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBEditClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure OrderNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBTPClick(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure CheckBox2Click(Sender: TObject); + procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; + ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; + out AStyle: TcxStyle); + procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, + Y: Integer); + procedure Button1Click(Sender: TObject); + procedure Image2Click(Sender: TObject); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; + APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); + procedure Tv2DblClick(Sender: TObject); + procedure Tv1DblClick(Sender: TObject); + procedure TChkClick(Sender: TObject); + procedure TNOChkClick(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + private + DQdate:TDateTime; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + + procedure InitSub(); + procedure SetStatus(); + { Private declarations } + public + FFInt,FCloth:Integer; + + { Public declarations } + end; + +var + frmProductOrderNewList_CY: TfrmProductOrderNewList_CY; + +implementation +uses + U_DataLink,U_OrderInPut,U_Fun, U_OrderInPut_CY; + +{$R *.dfm} +procedure TfrmProductOrderNewList_CY.SetStatus(); +begin + tchk.Visible:=false; + tnochk.Visible:=false; + tbedit.Visible:=false; + tbdel.Visible:=false; + if Trim(DParameters1)<>'Ȩ' then + begin + case cxTabControl1.TabIndex of + 0:begin + tbedit.Visible:=true; + tbdel.Visible:=true; + end; + 1:begin + end; + 2:begin + end; + end; + end + else + begin + case cxTabControl1.TabIndex of + 0:begin + tchk.Visible:=true; + tbedit.Visible:=true; + tbdel.Visible:=true; + end; + 1:begin + tnochk.Visible:=true; + end; + 2:begin + end; + end; + end; +end; +procedure TfrmProductOrderNewList_CY.InitSub(); +begin + ADOQuerySub.Close; + IF Order_Main.IsEmpty then exit; + with ADOQuerySub do + begin + close; + sql.Clear; + sql.Add('select * from JYOrderCY_sub '); + sql.Add('where mainID ='+quotedstr((Order_Main.fieldbyname('mainID').AsString))); + open; + end; +end; + +procedure TfrmProductOrderNewList_CY.FormDestroy(Sender: TObject); +begin + frmProductOrderNewList_CY:=nil; +end; + +procedure TfrmProductOrderNewList_CY.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmProductOrderNewList_CY.FormCreate(Sender: TObject); +begin + cxgrid1.Align:=alClient; + //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; + //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + DQdate:=SGetServerDate(ADOQueryTemp); + cxTabControl1.TabIndex:=0; + SetStatus(); +end; + +procedure TfrmProductOrderNewList_CY.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid(self.Caption+tv1.Name,Tv1,'ָʾ'); + WriteCxGrid(self.Caption+tv2.Name,Tv2,'ָʾ'); +end; + +procedure TfrmProductOrderNewList_CY.InitGrid(); +var + fwsql:string; +begin + fwsql:=''; + IF cxTabControl1.TabIndex<2 then + begin + fwsql:=fwsql+' and isnull(A.status,''0'')='''+inttostr(cxTabControl1.TabIndex)+''''; + end; + if Trim(DParameters1)<>'Ȩ' then + begin + fwsql:=fwsql+' and Filler='''+Trim(DName)+''''; + end; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.add('exec P_View_Order_CY :begdate,:enddate,:WSql') ; + + Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.DateTime); + Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',enddate.DateTime+1); + Parameters.ParamByName('WSql').Value:=fwsql; + ExecSQL; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + + +procedure TfrmProductOrderNewList_CY.InitForm(); +begin + ReadCxGrid(self.Caption+tv1.Name,Tv1,'ָʾ'); + readCxGrid(self.Caption+tv2.Name,Tv2,'ָʾ'); + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + InitGrid(); +end; + +procedure TfrmProductOrderNewList_CY.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmProductOrderNewList_CY.TBEditClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + { if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then + begin + Application.MessageBox('ܲ˵!','ʾ',0); + Exit; + end; } + try + frmOrderInPut_CY:=TfrmOrderInPut_CY.Create(Application); + with frmOrderInPut_CY do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FOrderNo:=Trim(Self.Order_Main.fieldbyname('OrderNo').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut_CY.Free; + end; +end; + +procedure TfrmProductOrderNewList_CY.TBDelClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + if DelData() then + begin + Order_Main.Delete; + end; +end; + +function TfrmProductOrderNewList_CY.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrderCY_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add('delete JYOrderCY_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add('delete JY_CY_money where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('˵ɾ'))); + sql.Add(','+quotedstr(trim('ָ˵'+trim(Order_Main.FieldByName('OrderNO').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + ExecSQL; + end; + + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmProductOrderNewList_CY.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + SelExportData(Tv1,ADOQueryMain,self.Caption); +end; + +procedure TfrmProductOrderNewList_CY.TBPrintClick(Sender: TObject); +var + fPrintFile:string; + Porderno:string; + i,j:Integer; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\֪ͨ.rmf' ; + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select A.*,b.* '); + // sql.Add(',ShippMent=(select Top 1 shippMent from JYOrdercon_main X where X.conNO=A.conNO) '); + //sql.Add(',Payment=(select Top 1 shippMent from JYOrdercon_main X where X.conNO=A.conNO) '); + sql.Add(',SYRName1=(select Top 1 SYRName from JYOrdercon_main X where X.conNO=A.conNO) '); + sql.Add(',ToPlace=(select Top 1 ToPlace from JYOrdercon_main X where X.conNO=A.conNO) '); + sql.Add('from JYOrderCY_Main A inner join JYOrderCY_Sub B on A.MainId=B.MainId '); + sql.Add('and A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryPrint,CDS_Print); + SInitCDSData20(ADOQueryPrint,CDS_Print); + + if FileExists(fPrintFile) then + begin + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\֪ͨ.rmf'),'ʾ',0); + end; + + // Button1.Click; +end; + +procedure TfrmProductOrderNewList_CY.TBRafreshClick(Sender: TObject); +begin + if FFInt=1 then + begin + + end else + begin + InitGrid(); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 10* from JYOrder_Main Order by FillTime desc'); + Open; + end; + ComboBox1.Clear; + with ADOQueryTemp do + begin + First; + while not Eof do + begin + ComboBox1.Items.Add(Trim(ADOQueryTemp.fieldbyname('OrderNO').AsString)); + Next; + end; + end; + end; +end; + +procedure TfrmProductOrderNewList_CY.TBAddClick(Sender: TObject); +begin + try + frmOrderInPut_CY:=TfrmOrderInPut_CY.Create(Application); + with frmOrderInPut_CY do + begin + PState:=0; + FMainId:=''; + if ShowModal=1 then + begin + InitGrid(); + end; + end; + finally + frmOrderInPut_CY.Free; + end; +end; + +procedure TfrmProductOrderNewList_CY.OrderNoChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmProductOrderNewList_CY.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmProductOrderNewList_CY.TBTPClick(Sender: TObject); + var + FQty,FQty1,FMxQty,FPQty,FMxQtyS,FPQtyS:String; +begin +end; + +procedure TfrmProductOrderNewList_CY.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmProductOrderNewList_CY.CheckBox2Click(Sender: TObject); +begin + TBRafresh.Click; +end; + +procedure TfrmProductOrderNewList_CY.Tv1StylesGetContentStyle( + Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; + AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); +var + id,id10:Integer; +begin + {try + if Tv1.GroupedItemCount=0 then + begin + Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; + Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; + if Trim(VarToStr(ARecord.Values[id]))='' then Exit; + if Id<0 then Exit; + if ARecord.Values[id10]='' then exit; + if (ARecord.Values[id]-DQdate)>=4 then Exit; + if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then + AStyle:=DataLink_.QHuangSe + else + if ARecord.Values[id]-DQdate<0 then + begin + AStyle:=DataLink_OrderManage.FenHongS; + end; + end else + begin + + end; + except + end; } +end; + +procedure TfrmProductOrderNewList_CY.v1DeliveryDateCustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +begin + { Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount; + Id10:=TV1.GetColumnByFieldName('SubStatus').Index; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id10]='' then Exit; + if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit; + if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then + ACanvas.Brush.Color:=clYellow + else + if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then + begin + ACanvas.Brush.Color:=clRed; + end; + begin + ACanvas.Brush.Color:=clRed; + end else + if AViewInfo.GridRecord.Values[Id]='Purple' then + begin + ACanvas.Brush.Color:=clPurple; + end else + if AViewInfo.GridRecord.Values[Id]='Olive' then + begin + ACanvas.Brush.Color:=clOlive; + end else + if AViewInfo.GridRecord.Values[Id]='Teal' then + begin + ACanvas.Brush.Color:=clTeal; + end else + if AViewInfo.GridRecord.Values[Id]='Background' then + begin + ACanvas.Brush.Color:=clBackground; + end; } +end; + +procedure TfrmProductOrderNewList_CY.N1Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ10.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ10.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderNewList_CY.N2Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderNewList_CY.ToolButton1Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmOrderInPut_CY:=TfrmOrderInPut_CY.Create(Application); + with frmOrderInPut_CY do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + ToolBar2.Visible:=False; + TBSave.Visible:=False; + Panel1.Enabled:=False; + Tv1.OptionsSelection.CellSelect:=False; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut_CY.Free; + end; +end; + +procedure TfrmProductOrderNewList_CY.ToolButton2Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmOrderInPut_CY:=TfrmOrderInPut_CY.Create(Application); + with frmOrderInPut_CY do + begin + PState:=1; + CopyInt:=99; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut_CY.Free; + end; +end; + +procedure TfrmProductOrderNewList_CY.ToolButton3Click(Sender: TObject); +begin + ModalResult:=1; +end; + +procedure TfrmProductOrderNewList_CY.Panel10MouseMove(Sender: TObject; + Shift: TShiftState; X, Y: Integer); +begin + ReleaseCapture; + TWinControl(Panel4).Perform(WM_SYSCOMMAND,$F012,0); +end; + +procedure TfrmProductOrderNewList_CY.Button1Click(Sender: TObject); +var + fPrintFile:string; + Porderno,LBName,SYRName:string; + i,j:Integer; + OrderKg:Double; +begin + if Order_Main.IsEmpty then Exit; + LBName:=RadioGroup1.Items.Strings[RadioGroup1.ItemIndex]; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\'+Trim(LBName)+'.rmf' ; + if Trim(Order_Main.fieldbyname('SYRName').AsString)='' then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1 B.ZdyName SYRName from JYOrderCon_Main A'); + sql.Add(' left join KH_Zdy B on A.SYRName=B.Note'); + sql.Add(' where A.ConNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + SYRName:=Trim(ADOQueryTemp.fieldbyname('SYRName').AsString); + end else + begin + SYRName:=Trim(Order_Main.fieldbyname('SYRName').AsString); + end; + + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('exec F_Get_Print_Order '); + sql.add('@mainID='+quotedstr(trim(Order_Main.fieldbyname('MainID').AsString))); + Open; + end; + + + SCreateCDS20(ADOQueryPrint,CDS_Print); + SInitCDSData20(ADOQueryPrint,CDS_Print); + + if FileExists(fPrintFile) then + begin + RM1.LoadFromFile(fPrintFile); + RMVariables['SYRName']:=Trim(SYRName); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\'+Trim(LBName)+'.rmf'),'ʾ',0); + end; +end; + +procedure TfrmProductOrderNewList_CY.Image2Click(Sender: TObject); +begin + Panel4.Visible:=False; +end; + +procedure TfrmProductOrderNewList_CY.Tv1FocusedRecordChanged( + Sender: TcxCustomGridTableView; APrevFocusedRecord, + AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); +begin + InitSub(); +end; + +procedure TfrmProductOrderNewList_CY.Tv2DblClick( + Sender: TObject); +var + fNO:string; +begin + IF ADOQuerySub.IsEmpty then exit; + ToolButton2.Click; + { with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select ATID from KH_Zdy_Attachment A'); + sql.Add('where zdyCode='+quotedstr(trim(ADOQuerySub.fieldbyname('prtCode').AsString))); + sql.Add('and Type='+quotedstr(trim('CP'))); + open; + if not IsEmpty then + begin + fNO:=trim(fieldbyname('ATID').AsString); + end; + end; + + try + frmZdyAttInputCP10:=TfrmZdyAttInputCP10.Create(Application); + with frmZdyAttInputCP10 do + begin + FATID:=Trim(fNO); + frmZdyAttInputCP10.Tsave.Enabled:=false; + if ShowModal=1 then + begin + // TBRafresh.Click; + end; + end; + finally + frmZdyAttInputCP10.Free; + end; + } +end; + +procedure TfrmProductOrderNewList_CY.Tv1DblClick(Sender: TObject); +begin + ToolButton2.Click; +end; + +procedure TfrmProductOrderNewList_CY.TChkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + ADOQueryCmd.Connection.BeginTrans; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update JYOrderCY_Main SET status=''1'' '); + sql.Add('where mainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('˵'))); + sql.Add(','+quotedstr(trim('˵ţ'+trim(Order_Main.FieldByName('conNo').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + ADOQueryCmd.Connection.CommitTrans; + application.MessageBox('˳ɹ','ʾϢ'); + TBRafresh.Click; + except + ADOQueryCmd.Connection.RollbackTrans; + application.MessageBox('ʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmProductOrderNewList_CY.TNOChkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + ADOQueryCmd.Connection.BeginTrans; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update JYOrderCY_Main SET status=''0'' '); + sql.Add('where mainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('˵'))); + sql.Add(','+quotedstr(trim('˵ţ'+trim(Order_Main.FieldByName('conNo').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + ADOQueryCmd.Connection.CommitTrans; + application.MessageBox('˳ɹ','ʾϢ'); + TBRafresh.Click; + except + ADOQueryCmd.Connection.RollbackTrans; + application.MessageBox('ʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmProductOrderNewList_CY.cxTabControl1Change(Sender: TObject); +begin + SetStatus(); + TBRafresh.Click; + +end; + +end. diff --git a/打卷检验管理/U_ProductOrderNewList_CY_Sel.dfm b/打卷检验管理/U_ProductOrderNewList_CY_Sel.dfm new file mode 100644 index 0000000..6a55894 --- /dev/null +++ b/打卷检验管理/U_ProductOrderNewList_CY_Sel.dfm @@ -0,0 +1,991 @@ +object frmProductOrderNewList_CY_Sel: TfrmProductOrderNewList_CY_Sel + Left = 147 + Top = 28 + Width = 1131 + Height = 604 + Caption = #20986#36816#35745#21010#36873#25321 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + WindowState = wsMaximized + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1123 + Height = 62 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object ToolButton3: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #36873#25321 + ImageIndex = 106 + OnClick = ToolButton3Click + end + object TBAdd: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 3 + Visible = False + OnClick = TBAddClick + end + object TBEdit: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #20462#25913 + ImageIndex = 54 + Visible = False + OnClick = TBEditClick + end + object TBDel: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 17 + Visible = False + OnClick = TBDelClick + end + object ToolButton2: TToolButton + Left = 378 + Top = 0 + AutoSize = True + Caption = #22797#21046 + ImageIndex = 57 + Wrap = True + Visible = False + OnClick = ToolButton2Click + end + object ToolButton1: TToolButton + Left = 0 + Top = 30 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 58 + Visible = False + OnClick = ToolButton1Click + end + object TChk: TToolButton + Left = 63 + Top = 30 + AutoSize = True + Caption = #23457#26680 + ImageIndex = 41 + Visible = False + OnClick = TChkClick + end + object TNOChk: TToolButton + Left = 126 + Top = 30 + AutoSize = True + Caption = #25764#38144#23457#26680 + ImageIndex = 86 + Visible = False + OnClick = TNOChkClick + end + object TBExport: TToolButton + Left = 213 + Top = 30 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + Visible = False + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 276 + Top = 30 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + OnClick = TBPrintClick + end + object TBClose: TToolButton + Left = 339 + Top = 30 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + object ComboBox1: TComboBox + Left = 402 + Top = 33 + Width = 145 + Height = 24 + DropDownCount = 10 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ItemHeight = 16 + ParentFont = False + TabOrder = 0 + Visible = False + end + end + object Panel1: TPanel + Left = 0 + Top = 62 + Width = 1123 + Height = 37 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 15 + Width = 52 + Height = 12 + Caption = #21046#21333#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 287 + Top = 15 + Width = 52 + Height = 12 + Caption = #20986#36816#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 470 + Top = 15 + Width = 54 + Height = 12 + Caption = #23458' '#25143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 536 + Top = 67 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 683 + Top = 15 + Width = 39 + Height = 12 + Caption = #21512#21516#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 536 + Top = 91 + Width = 54 + Height = 12 + Caption = #35268' '#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 378 + Top = 91 + Width = 52 + Height = 12 + Caption = #20135#21697#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 681 + Top = 91 + Width = 26 + Height = 12 + Caption = #20811#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 681 + Top = 67 + Width = 26 + Height = 12 + Caption = #38376#24133 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 160 + Top = 16 + Width = 6 + Height = 12 + Caption = '-' + end + object BegDate: TDateTimePicker + Left = 76 + Top = 11 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 168 + Top = 11 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object OrderNo: TEdit + Tag = 2 + Left = 344 + Top = 11 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnChange = OrderNoChange + end + object CustomerNoName: TEdit + Tag = 2 + Left = 531 + Top = 11 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + OnChange = OrderNoChange + end + object MPRTCodeName: TEdit + Tag = 2 + Left = 589 + Top = 63 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnChange = OrderNoChange + end + object ConNo: TEdit + Tag = 2 + Left = 732 + Top = 11 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 5 + OnChange = OrderNoChange + end + object MPRTSpec: TEdit + Tag = 2 + Left = 590 + Top = 87 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + OnChange = OrderNoChange + end + object MPRTCode: TEdit + Tag = 2 + Left = 431 + Top = 87 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 7 + OnChange = OrderNoChange + end + object MPRTKZ: TEdit + Tag = 2 + Left = 710 + Top = 87 + Width = 56 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 8 + OnChange = OrderNoChange + end + object MPRTMF: TEdit + Tag = 2 + Left = 710 + Top = 63 + Width = 56 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 9 + OnChange = OrderNoChange + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 121 + Width = 1123 + Height = 278 + Align = alClient + TabOrder = 2 + object Tv1: TcxGridDBTableView + OnDblClick = Tv1DblClick + NavigatorButtons.ConfirmDelete = False + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Deleting = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.OnGetContentStyle = Tv1StylesGetContentStyle + Styles.Header = DataLink_TradeManage.Default + object v1OrderNo: TcxGridDBColumn + Caption = #20986#36816#21333#21495 + DataBinding.FieldName = 'CYNO' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 85 + end + object v1Column10: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + end + object v1ConNo: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 80 + end + object v1CustomerNoName: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 103 + end + object v1Column2: TcxGridDBColumn + Caption = #30003#35831#26085#26399 + DataBinding.FieldName = 'OrdDefDate1' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 91 + end + object v1Column14: TcxGridDBColumn + Caption = #30003#35831#20154 + DataBinding.FieldName = 'OrdPerson1' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1OrdPerson2: TcxGridDBColumn + Caption = #19994#21153#21592 + DataBinding.FieldName = 'OrdPerson2' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #33337#36816#26085#26399 + DataBinding.FieldName = 'DlyDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + OnCustomDrawCell = v1DeliveryDateCustomDrawCell + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 89 + end + object v1Column7: TcxGridDBColumn + Caption = #20986#20179#26085#26399 + DataBinding.FieldName = 'OrdDefDate2' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 84 + end + object v1Column9: TcxGridDBColumn + Caption = #20986#36135#24635#25968#37327 + DataBinding.FieldName = 'ZSordQty1' + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FoneRed + Styles.Footer = DataLink_TradeManage.FoneRed + Styles.Header = DataLink_TradeManage.FoneRed + Width = 80 + end + object v1Column3: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 76 + end + object v1Column8: TcxGridDBColumn + Caption = #27880#24847#20107#39033 + DataBinding.FieldName = 'MPRTBZNote' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 100 + end + object v1Column1: TcxGridDBColumn + Caption = #21046#21333#20154 + DataBinding.FieldName = 'Filler' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 68 + end + object v1OrdDate: TcxGridDBColumn + Caption = #21046#21333#26085#26399 + DataBinding.FieldName = 'OrdDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 95 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel4: TPanel + Left = 482 + Top = 145 + Width = 231 + Height = 216 + TabOrder = 3 + Visible = False + object Label14: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 229 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #25253#34920#21517#31216 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnMouseMove = Panel10MouseMove + object Image2: TImage + Left = 206 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object Button1: TButton + Left = 83 + Top = 176 + Width = 75 + Height = 25 + Caption = #30830#23450 + TabOrder = 1 + OnClick = Button1Click + end + object RadioGroup1: TRadioGroup + Left = 56 + Top = 24 + Width = 129 + Height = 145 + ItemIndex = 0 + Items.Strings = ( + #21253#35013#25351#31034#21333 + #39068#33394#26679) + TabOrder = 2 + end + end + object cxSplitter1: TcxSplitter + Left = 0 + Top = 399 + Width = 1123 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + Control = cxGrid2 + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 99 + Width = 1123 + Height = 22 + Align = alTop + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + Style = 9 + TabIndex = 0 + TabOrder = 5 + Tabs.Strings = ( + #26410#23457#26680 + #24050#23457#26680 + #20840#37096) + Visible = False + OnChange = cxTabControl1Change + ClientRectBottom = 22 + ClientRectRight = 1123 + ClientRectTop = 19 + end + object cxGrid2: TcxGrid + Left = 0 + Top = 407 + Width = 1123 + Height = 163 + Align = alBottom + TabOrder = 6 + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = cxGridDBColumn3 + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsData.Deleting = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1XHNo: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'XHNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 35 + end + object v1Column5: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'PrtCodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 90 + end + object v1Column6: TcxGridDBColumn + Caption = #20135#21697#35268#26684 + DataBinding.FieldName = 'PRTspec' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 90 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 90 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #39068#33394'('#33521#25991')' + DataBinding.FieldName = 'SOrddefstr4' + Width = 84 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #20986#36135#25968#37327 + DataBinding.FieldName = 'SordQty1' + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FoneClMaroon + Styles.Footer = DataLink_TradeManage.FoneClMaroon + Styles.Header = DataLink_TradeManage.FoneClMaroon + Width = 60 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'PrtPrice' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column4: TcxGridDBColumn + Caption = #20986#36135#31665#25968 + DataBinding.FieldName = 'SordQty2' + Width = 60 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #31435#26041#25968 + DataBinding.FieldName = 'SordQty3' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column11: TcxGridDBColumn + Caption = #27611#37325 + DataBinding.FieldName = 'SordQty4' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column12: TcxGridDBColumn + Caption = #20928#37325 + DataBinding.FieldName = 'SordQty5' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column13: TcxGridDBColumn + Caption = #21305#25968 + DataBinding.FieldName = 'SordQty6' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'SOrdDefNote1' + HeaderAlignmentHorz = taCenter + Width = 137 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 544 + Top = 176 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 688 + Top = 224 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 552 + Top = 216 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 312 + Top = 248 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 440 + Top = 184 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 464 + Top = 208 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 336 + Top = 200 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = CDS_Print + Left = 392 + Top = 200 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 580 + Top = 236 + end + object PopupMenu1: TPopupMenu + Left = 256 + Top = 176 + object N2: TMenuItem + Caption = #26377#20379#24212#21830 + OnClick = N2Click + end + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 360 + Top = 240 + end + object CDS_Print: TClientDataSet + Aggregates = <> + Params = <> + Left = 344 + Top = 288 + end + object ADOQuerySub: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 556 + Top = 416 + end + object DataSource2: TDataSource + DataSet = ADOQuerySub + Left = 488 + Top = 440 + end + object PMFJ: TPopupMenu + Left = 716 + Top = 272 + object NFJ: TMenuItem + Caption = #38468#20214 + end + end + object RMDB_SK: TRMDBDataSet + Visible = True + DataSet = CDS_SK + Left = 264 + Top = 244 + end + object CDS_SK: TClientDataSet + Aggregates = <> + Params = <> + Left = 304 + Top = 300 + end +end diff --git a/打卷检验管理/U_ProductOrderNewList_CY_Sel.pas b/打卷检验管理/U_ProductOrderNewList_CY_Sel.pas new file mode 100644 index 0000000..4e4cebd --- /dev/null +++ b/打卷检验管理/U_ProductOrderNewList_CY_Sel.pas @@ -0,0 +1,846 @@ +unit U_ProductOrderNewList_CY_Sel; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, + Menus, cxButtonEdit, cxTextEdit, cxPC; + +type + TfrmProductOrderNewList_CY_Sel = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBAdd: TToolButton; + TBEdit: TToolButton; + TBDel: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + OrderNo: TEdit; + TBExport: TToolButton; + v1OrderNo: TcxGridDBColumn; + v1OrdDate: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1ConNo: TcxGridDBColumn; + Order_Main: TClientDataSet; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + v1CustomerNoName: TcxGridDBColumn; + Label4: TLabel; + CustomerNoName: TEdit; + PopupMenu1: TPopupMenu; + N2: TMenuItem; + ToolButton1: TToolButton; + Label8: TLabel; + MPRTCodeName: TEdit; + Label9: TLabel; + ConNo: TEdit; + Label10: TLabel; + MPRTSpec: TEdit; + Label11: TLabel; + MPRTCode: TEdit; + Label12: TLabel; + MPRTKZ: TEdit; + Label13: TLabel; + MPRTMF: TEdit; + ToolButton2: TToolButton; + ADOQueryPrint: TADOQuery; + CDS_Print: TClientDataSet; + ToolButton3: TToolButton; + ComboBox1: TComboBox; + Panel4: TPanel; + Label14: TLabel; + Panel10: TPanel; + Image2: TImage; + Button1: TButton; + RadioGroup1: TRadioGroup; + v1Column1: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + cxSplitter1: TcxSplitter; + ADOQuerySub: TADOQuery; + DataSource2: TDataSource; + v1Column8: TcxGridDBColumn; + PMFJ: TPopupMenu; + NFJ: TMenuItem; + v1OrdPerson2: TcxGridDBColumn; + Label2: TLabel; + v1Column9: TcxGridDBColumn; + cxTabControl1: TcxTabControl; + TChk: TToolButton; + TNOChk: TToolButton; + RMDB_SK: TRMDBDataSet; + CDS_SK: TClientDataSet; + v1Column10: TcxGridDBColumn; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + v1XHNo: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + v1Column11: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + v1Column13: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + v1Column14: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBEditClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure OrderNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBTPClick(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure CheckBox2Click(Sender: TObject); + procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; + ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; + out AStyle: TcxStyle); + procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, + Y: Integer); + procedure Button1Click(Sender: TObject); + procedure Image2Click(Sender: TObject); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; + APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); + procedure Tv2DblClick(Sender: TObject); + procedure Tv1DblClick(Sender: TObject); + procedure TChkClick(Sender: TObject); + procedure TNOChkClick(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + private + DQdate:TDateTime; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + + procedure InitSub(); + procedure SetStatus(); + { Private declarations } + public + FFInt,FCloth:Integer; + + { Public declarations } + end; + +var + frmProductOrderNewList_CY_Sel: TfrmProductOrderNewList_CY_Sel; + +implementation +uses + U_DataLink,U_OrderInPut,U_Fun, U_OrderInPut_CY; + +{$R *.dfm} +procedure TfrmProductOrderNewList_CY_Sel.SetStatus(); +begin + tchk.Visible:=false; + tnochk.Visible:=false; + tbedit.Visible:=false; + tbdel.Visible:=false; + if Trim(DParameters1)<>'Ȩ' then + begin + case cxTabControl1.TabIndex of + 0:begin + tbedit.Visible:=true; + tbdel.Visible:=true; + end; + 1:begin + end; + 2:begin + end; + end; + end + else + begin + case cxTabControl1.TabIndex of + 0:begin + tchk.Visible:=true; + tbedit.Visible:=true; + tbdel.Visible:=true; + end; + 1:begin + tnochk.Visible:=true; + end; + 2:begin + end; + end; + end; +end; +procedure TfrmProductOrderNewList_CY_Sel.InitSub(); +begin + ADOQuerySub.Close; + IF Order_Main.IsEmpty then exit; + with ADOQuerySub do + begin + close; + sql.Clear; + sql.Add('select * from JYOrderCY_sub '); + sql.Add('where mainID ='+quotedstr((Order_Main.fieldbyname('mainID').AsString))); + open; + end; +end; + +procedure TfrmProductOrderNewList_CY_Sel.FormDestroy(Sender: TObject); +begin + frmProductOrderNewList_CY_Sel:=nil; +end; + +procedure TfrmProductOrderNewList_CY_Sel.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmProductOrderNewList_CY_Sel.FormCreate(Sender: TObject); +begin + cxgrid1.Align:=alClient; + //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; + //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + DQdate:=SGetServerDate(ADOQueryTemp); + cxTabControl1.TabIndex:=1; + /// SetStatus(); +end; + +procedure TfrmProductOrderNewList_CY_Sel.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid(self.Caption+tv1.Name,Tv1,'ָʾ'); + WriteCxGrid(self.Caption+tv2.Name,Tv2,'ָʾ'); +end; + +procedure TfrmProductOrderNewList_CY_Sel.InitGrid(); +var + fwsql:string; +begin + fwsql:=''; + IF cxTabControl1.TabIndex<2 then + begin + fwsql:=fwsql+' and isnull(A.status,''0'')='''+inttostr(cxTabControl1.TabIndex)+''''; + end; + if Trim(DParameters1)<>'Ȩ' then + begin + // fwsql:=fwsql+' and Filler='''+Trim(DName)+''''; + end; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.add('exec P_View_Order_CY :begdate,:enddate,:WSql') ; + + Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.DateTime); + Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',enddate.DateTime+1); + Parameters.ParamByName('WSql').Value:=fwsql; + ExecSQL; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + + +procedure TfrmProductOrderNewList_CY_Sel.InitForm(); +begin + ReadCxGrid(self.Caption+tv1.Name,Tv1,'ָʾ'); + readCxGrid(self.Caption+tv2.Name,Tv2,'ָʾ'); + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-30; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + InitGrid(); +end; + +procedure TfrmProductOrderNewList_CY_Sel.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmProductOrderNewList_CY_Sel.TBEditClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + { if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then + begin + Application.MessageBox('ܲ˵!','ʾ',0); + Exit; + end; } + try + frmOrderInPut_CY:=TfrmOrderInPut_CY.Create(Application); + with frmOrderInPut_CY do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FOrderNo:=Trim(Self.Order_Main.fieldbyname('OrderNo').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut_CY.Free; + end; +end; + +procedure TfrmProductOrderNewList_CY_Sel.TBDelClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + if DelData() then + begin + Order_Main.Delete; + end; +end; + +function TfrmProductOrderNewList_CY_Sel.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrderCY_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add('delete JYOrderCY_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add('delete JY_CY_money where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('˵ɾ'))); + sql.Add(','+quotedstr(trim('ָ˵'+trim(Order_Main.FieldByName('OrderNO').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + ExecSQL; + end; + + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmProductOrderNewList_CY_Sel.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + SelExportData(Tv1,ADOQueryMain,self.Caption); +end; + +procedure TfrmProductOrderNewList_CY_Sel.TBPrintClick(Sender: TObject); +var + fPrintFile:string; + Porderno:string; + i,j:Integer; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\֪ͨ.rmf' ; + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select A.*,b.* '); + // sql.Add(',ShippMent=(select Top 1 shippMent from JYOrdercon_main X where X.conNO=A.conNO) '); + //sql.Add(',Payment=(select Top 1 shippMent from JYOrdercon_main X where X.conNO=A.conNO) '); + sql.Add(',SYRName1=(select Top 1 SYRName from JYOrdercon_main X where X.conNO=A.conNO) '); + sql.Add(',ToPlace=(select Top 1 ToPlace from JYOrdercon_main X where X.conNO=A.conNO) '); + sql.Add('from JYOrderCY_Main A inner join JYOrderCY_Sub B on A.MainId=B.MainId '); + sql.Add('and A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryPrint,CDS_Print); + SInitCDSData20(ADOQueryPrint,CDS_Print); + + if FileExists(fPrintFile) then + begin + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\֪ͨ.rmf'),'ʾ',0); + end; + + // Button1.Click; +end; + +procedure TfrmProductOrderNewList_CY_Sel.TBRafreshClick(Sender: TObject); +begin + if FFInt=1 then + begin + + end else + begin + InitGrid(); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 10* from JYOrder_Main Order by FillTime desc'); + Open; + end; + ComboBox1.Clear; + with ADOQueryTemp do + begin + First; + while not Eof do + begin + ComboBox1.Items.Add(Trim(ADOQueryTemp.fieldbyname('OrderNO').AsString)); + Next; + end; + end; + end; +end; + +procedure TfrmProductOrderNewList_CY_Sel.TBAddClick(Sender: TObject); +begin + try + frmOrderInPut_CY:=TfrmOrderInPut_CY.Create(Application); + with frmOrderInPut_CY do + begin + PState:=0; + FMainId:=''; + if ShowModal=1 then + begin + InitGrid(); + end; + end; + finally + frmOrderInPut_CY.Free; + end; +end; + +procedure TfrmProductOrderNewList_CY_Sel.OrderNoChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmProductOrderNewList_CY_Sel.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmProductOrderNewList_CY_Sel.TBTPClick(Sender: TObject); + var + FQty,FQty1,FMxQty,FPQty,FMxQtyS,FPQtyS:String; +begin +end; + +procedure TfrmProductOrderNewList_CY_Sel.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmProductOrderNewList_CY_Sel.CheckBox2Click(Sender: TObject); +begin + TBRafresh.Click; +end; + +procedure TfrmProductOrderNewList_CY_Sel.Tv1StylesGetContentStyle( + Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; + AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); +var + id,id10:Integer; +begin + {try + if Tv1.GroupedItemCount=0 then + begin + Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; + Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; + if Trim(VarToStr(ARecord.Values[id]))='' then Exit; + if Id<0 then Exit; + if ARecord.Values[id10]='' then exit; + if (ARecord.Values[id]-DQdate)>=4 then Exit; + if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then + AStyle:=DataLink_.QHuangSe + else + if ARecord.Values[id]-DQdate<0 then + begin + AStyle:=DataLink_OrderManage.FenHongS; + end; + end else + begin + + end; + except + end; } +end; + +procedure TfrmProductOrderNewList_CY_Sel.v1DeliveryDateCustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +begin + { Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount; + Id10:=TV1.GetColumnByFieldName('SubStatus').Index; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id10]='' then Exit; + if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit; + if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then + ACanvas.Brush.Color:=clYellow + else + if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then + begin + ACanvas.Brush.Color:=clRed; + end; + begin + ACanvas.Brush.Color:=clRed; + end else + if AViewInfo.GridRecord.Values[Id]='Purple' then + begin + ACanvas.Brush.Color:=clPurple; + end else + if AViewInfo.GridRecord.Values[Id]='Olive' then + begin + ACanvas.Brush.Color:=clOlive; + end else + if AViewInfo.GridRecord.Values[Id]='Teal' then + begin + ACanvas.Brush.Color:=clTeal; + end else + if AViewInfo.GridRecord.Values[Id]='Background' then + begin + ACanvas.Brush.Color:=clBackground; + end; } +end; + +procedure TfrmProductOrderNewList_CY_Sel.N1Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ10.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ10.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderNewList_CY_Sel.N2Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderNewList_CY_Sel.ToolButton1Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmOrderInPut_CY:=TfrmOrderInPut_CY.Create(Application); + with frmOrderInPut_CY do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + ToolBar2.Visible:=False; + TBSave.Visible:=False; + Panel1.Enabled:=False; + Tv1.OptionsSelection.CellSelect:=False; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut_CY.Free; + end; +end; + +procedure TfrmProductOrderNewList_CY_Sel.ToolButton2Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmOrderInPut_CY:=TfrmOrderInPut_CY.Create(Application); + with frmOrderInPut_CY do + begin + PState:=1; + CopyInt:=99; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut_CY.Free; + end; +end; + +procedure TfrmProductOrderNewList_CY_Sel.ToolButton3Click(Sender: TObject); +begin + IF Order_Main.IsEmpty then exit; + ModalResult:=1; +end; + +procedure TfrmProductOrderNewList_CY_Sel.Panel10MouseMove(Sender: TObject; + Shift: TShiftState; X, Y: Integer); +begin + ReleaseCapture; + TWinControl(Panel4).Perform(WM_SYSCOMMAND,$F012,0); +end; + +procedure TfrmProductOrderNewList_CY_Sel.Button1Click(Sender: TObject); +var + fPrintFile:string; + Porderno,LBName,SYRName:string; + i,j:Integer; + OrderKg:Double; +begin + if Order_Main.IsEmpty then Exit; + LBName:=RadioGroup1.Items.Strings[RadioGroup1.ItemIndex]; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\'+Trim(LBName)+'.rmf' ; + if Trim(Order_Main.fieldbyname('SYRName').AsString)='' then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 1 B.ZdyName SYRName from JYOrderCon_Main A'); + sql.Add(' left join KH_Zdy B on A.SYRName=B.Note'); + sql.Add(' where A.ConNo='''+Trim(Order_Main.fieldbyname('ConNo').AsString)+''''); + Open; + end; + SYRName:=Trim(ADOQueryTemp.fieldbyname('SYRName').AsString); + end else + begin + SYRName:=Trim(Order_Main.fieldbyname('SYRName').AsString); + end; + + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('exec F_Get_Print_Order '); + sql.add('@mainID='+quotedstr(trim(Order_Main.fieldbyname('MainID').AsString))); + Open; + end; + + + SCreateCDS20(ADOQueryPrint,CDS_Print); + SInitCDSData20(ADOQueryPrint,CDS_Print); + + if FileExists(fPrintFile) then + begin + RM1.LoadFromFile(fPrintFile); + RMVariables['SYRName']:=Trim(SYRName); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\'+Trim(LBName)+'.rmf'),'ʾ',0); + end; +end; + +procedure TfrmProductOrderNewList_CY_Sel.Image2Click(Sender: TObject); +begin + Panel4.Visible:=False; +end; + +procedure TfrmProductOrderNewList_CY_Sel.Tv1FocusedRecordChanged( + Sender: TcxCustomGridTableView; APrevFocusedRecord, + AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); +begin + InitSub(); +end; + +procedure TfrmProductOrderNewList_CY_Sel.Tv2DblClick( + Sender: TObject); +var + fNO:string; +begin + IF ADOQuerySub.IsEmpty then exit; + ToolButton2.Click; + { with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select ATID from KH_Zdy_Attachment A'); + sql.Add('where zdyCode='+quotedstr(trim(ADOQuerySub.fieldbyname('prtCode').AsString))); + sql.Add('and Type='+quotedstr(trim('CP'))); + open; + if not IsEmpty then + begin + fNO:=trim(fieldbyname('ATID').AsString); + end; + end; + + try + frmZdyAttInputCP10:=TfrmZdyAttInputCP10.Create(Application); + with frmZdyAttInputCP10 do + begin + FATID:=Trim(fNO); + frmZdyAttInputCP10.Tsave.Enabled:=false; + if ShowModal=1 then + begin + // TBRafresh.Click; + end; + end; + finally + frmZdyAttInputCP10.Free; + end; + } +end; + +procedure TfrmProductOrderNewList_CY_Sel.Tv1DblClick(Sender: TObject); +begin + ToolButton3.Click; +end; + +procedure TfrmProductOrderNewList_CY_Sel.TChkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + ADOQueryCmd.Connection.BeginTrans; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update JYOrderCY_Main SET status=''1'' '); + sql.Add('where mainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('˵'))); + sql.Add(','+quotedstr(trim('˵ţ'+trim(Order_Main.FieldByName('conNo').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + ADOQueryCmd.Connection.CommitTrans; + application.MessageBox('˳ɹ','ʾϢ'); + TBRafresh.Click; + except + ADOQueryCmd.Connection.RollbackTrans; + application.MessageBox('ʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmProductOrderNewList_CY_Sel.TNOChkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + ADOQueryCmd.Connection.BeginTrans; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update JYOrderCY_Main SET status=''0'' '); + sql.Add('where mainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('˵'))); + sql.Add(','+quotedstr(trim('˵ţ'+trim(Order_Main.FieldByName('conNo').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + ADOQueryCmd.Connection.CommitTrans; + application.MessageBox('˳ɹ','ʾϢ'); + TBRafresh.Click; + except + ADOQueryCmd.Connection.RollbackTrans; + application.MessageBox('ʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmProductOrderNewList_CY_Sel.cxTabControl1Change(Sender: TObject); +begin +// SetStatus(); + TBRafresh.Click; + +end; + +end. diff --git a/打卷检验管理/U_ProductOrderNewList_FB.dfm b/打卷检验管理/U_ProductOrderNewList_FB.dfm new file mode 100644 index 0000000..2dfbed4 --- /dev/null +++ b/打卷检验管理/U_ProductOrderNewList_FB.dfm @@ -0,0 +1,1011 @@ +object frmProductOrderNewList_FB: TfrmProductOrderNewList_FB + Left = 206 + Top = 98 + Width = 1087 + Height = 604 + Caption = #21457#31080#20449#24687 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1079 + Height = 62 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object ToolButton3: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #36873#25321 + ImageIndex = 106 + Visible = False + OnClick = ToolButton3Click + end + object TBAdd: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 3 + OnClick = TBAddClick + end + object TBEdit: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #20462#25913 + ImageIndex = 54 + OnClick = TBEditClick + end + object TBDel: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 17 + OnClick = TBDelClick + end + object ToolButton2: TToolButton + Left = 378 + Top = 0 + AutoSize = True + Caption = #22797#21046 + ImageIndex = 57 + Wrap = True + Visible = False + OnClick = ToolButton2Click + end + object ToolButton1: TToolButton + Left = 0 + Top = 30 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 58 + OnClick = ToolButton1Click + end + object TChk: TToolButton + Left = 63 + Top = 30 + AutoSize = True + Caption = #23457#26680 + ImageIndex = 41 + Visible = False + OnClick = TChkClick + end + object TNOChk: TToolButton + Left = 126 + Top = 30 + AutoSize = True + Caption = #25764#38144#23457#26680 + ImageIndex = 86 + Visible = False + OnClick = TNOChkClick + end + object TBExport: TToolButton + Left = 213 + Top = 30 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + Visible = False + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 276 + Top = 30 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + OnClick = TBPrintClick + end + object TBClose: TToolButton + Left = 339 + Top = 30 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + object ComboBox1: TComboBox + Left = 402 + Top = 33 + Width = 145 + Height = 24 + DropDownCount = 10 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ItemHeight = 16 + ParentFont = False + TabOrder = 0 + Visible = False + end + end + object Panel1: TPanel + Left = 0 + Top = 62 + Width = 1079 + Height = 63 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 28 + Top = 15 + Width = 52 + Height = 12 + Caption = #21046#21333#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 202 + Top = 15 + Width = 53 + Height = 12 + Caption = #21457' '#31080' '#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 202 + Top = 39 + Width = 54 + Height = 12 + Caption = #23458' '#25143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 536 + Top = 67 + Width = 52 + Height = 12 + Caption = #20135#21697#21517#31216 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 392 + Top = 15 + Width = 53 + Height = 12 + Caption = #21512' '#21516' '#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 536 + Top = 91 + Width = 54 + Height = 12 + Caption = #35268' '#26684 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 378 + Top = 91 + Width = 52 + Height = 12 + Caption = #20135#21697#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 681 + Top = 91 + Width = 26 + Height = 12 + Caption = #20811#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 681 + Top = 67 + Width = 26 + Height = 12 + Caption = #38376#24133 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 392 + Top = 39 + Width = 53 + Height = 12 + Caption = #19994' '#21153' '#21592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 85 + Top = 11 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 85 + Top = 35 + Width = 85 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object invoiceNo: TEdit + Tag = 2 + Left = 259 + Top = 11 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnChange = invoiceNoChange + end + object CustomerNoName: TEdit + Tag = 2 + Left = 259 + Top = 35 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + OnChange = invoiceNoChange + end + object MPRTCodeName: TEdit + Tag = 2 + Left = 589 + Top = 63 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnChange = invoiceNoChange + end + object ConNo: TEdit + Tag = 2 + Left = 450 + Top = 11 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 5 + OnChange = invoiceNoChange + end + object MPRTSpec: TEdit + Tag = 2 + Left = 590 + Top = 87 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + OnChange = invoiceNoChange + end + object MPRTCode: TEdit + Tag = 2 + Left = 431 + Top = 87 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 7 + OnChange = invoiceNoChange + end + object MPRTKZ: TEdit + Tag = 2 + Left = 710 + Top = 87 + Width = 56 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 8 + OnChange = invoiceNoChange + end + object MPRTMF: TEdit + Tag = 2 + Left = 710 + Top = 63 + Width = 56 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 9 + OnChange = invoiceNoChange + end + object OrdPerson2: TEdit + Tag = 2 + Left = 450 + Top = 35 + Width = 100 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 10 + OnChange = invoiceNoChange + end + object RadioGroup2: TRadioGroup + Left = 596 + Top = 8 + Width = 213 + Height = 49 + Caption = #21512#21516#31867#22411 + Columns = 3 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ItemIndex = 2 + Items.Strings = ( + #20869#38144 + #22806#38144 + #20840#37096) + ParentFont = False + TabOrder = 11 + OnClick = RadioGroup2Click + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 145 + Width = 1079 + Height = 254 + Align = alClient + TabOrder = 2 + object Tv1: TcxGridDBTableView + OnDblClick = Tv1DblClick + NavigatorButtons.ConfirmDelete = False + OnFocusedRecordChanged = Tv1FocusedRecordChanged + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Deleting = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.OnGetContentStyle = Tv1StylesGetContentStyle + Styles.Header = DataLink_TradeManage.Default + object v1invoceNO: TcxGridDBColumn + Caption = #21457#31080#21495 + DataBinding.FieldName = 'invoiceNO' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object v1OrderNo: TcxGridDBColumn + Caption = #20986#36816#21333#21495 + DataBinding.FieldName = 'CYNO' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 85 + end + object v1Column10: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + end + object v1ConNo: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 80 + end + object v1CustomerNoName: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 120 + end + object v1OrdPerson2: TcxGridDBColumn + Caption = #19994#21153#21592 + DataBinding.FieldName = 'OrdPerson2' + HeaderAlignmentHorz = taCenter + Width = 87 + end + object v1OrdDefStr13: TcxGridDBColumn + Caption = #21551#29992#28207 + DataBinding.FieldName = 'OrdDefStr13' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object v1OrdDefStr14: TcxGridDBColumn + Caption = #30446#30340#28207 + DataBinding.FieldName = 'OrdDefStr14' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object v1Column9: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'ZSordQty1' + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FontBlue + Styles.Footer = DataLink_TradeManage.FontBlue + Styles.Header = DataLink_TradeManage.FontBlue + Width = 80 + end + object v1Column3: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 76 + end + object v1OrdDefDate1: TcxGridDBColumn + Caption = #21040#27454#26085#26399 + DataBinding.FieldName = 'OrdDefDate1' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 65 + end + object v1Column1: TcxGridDBColumn + Caption = #21046#21333#20154 + DataBinding.FieldName = 'Filler' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 68 + end + object v1OrdDate: TcxGridDBColumn + Caption = #21046#21333#26085#26399 + DataBinding.FieldName = 'OrdDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 95 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel4: TPanel + Left = 466 + Top = 165 + Width = 231 + Height = 216 + TabOrder = 3 + Visible = False + object Label14: TLabel + Left = 48 + Top = 88 + Width = 6 + Height = 12 + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 229 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #25253#34920#21517#31216 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnMouseMove = Panel10MouseMove + object Image2: TImage + Left = 206 + Top = 3 + Width = 22 + Height = 16 + ParentShowHint = False + Picture.Data = { + 07544269746D617076040000424D760400000000000036000000280000001500 + 0000110000000100180000000000400400000000000000000000000000000000 + 0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00FFFFFFFFFFFFF0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6 + F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFF404040404040404040404040404040404040404040404040 + 404040404040404040404040404040404040404040404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFF808080808080808080808080808080808080808080 + 808080808080808080808080808080808080808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000 + 000000C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4000000000000 + 000000000000C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4000000000000C8D0D4 + C8D0D4000000000000C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4000000000000C8D0D4C8D0D4 + C8D0D4C8D0D4000000000000C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFC8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4 + C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4C8D0D4808080404040F0CAA6FFFFFFFFFF + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF00} + ShowHint = True + Transparent = True + OnClick = Image2Click + end + end + object Button1: TButton + Left = 83 + Top = 184 + Width = 75 + Height = 21 + Caption = #30830#23450 + TabOrder = 1 + OnClick = Button1Click + end + object RadioGroup1: TRadioGroup + Left = 56 + Top = 24 + Width = 129 + Height = 145 + ItemIndex = 0 + Items.Strings = ( + #35013#31665#21333 + #21512#21516#21457#31080) + TabOrder = 2 + end + end + object cxSplitter1: TcxSplitter + Left = 0 + Top = 399 + Width = 1079 + Height = 8 + HotZoneClassName = 'TcxMediaPlayer9Style' + AlignSplitter = salBottom + Control = cxGrid2 + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 125 + Width = 1079 + Height = 20 + Align = alTop + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + Style = 9 + TabIndex = 0 + TabOrder = 5 + Tabs.Strings = ( + #26410#23457#26680 + #24050#23457#26680 + #20840#37096) + Visible = False + OnChange = cxTabControl1Change + ClientRectBottom = 20 + ClientRectRight = 1079 + ClientRectTop = 19 + end + object cxGrid2: TcxGrid + Left = 0 + Top = 407 + Width = 1079 + Height = 163 + Align = alBottom + TabOrder = 6 + object Tv2: TcxGridDBTableView + PopupMenu = PopupMenu1 + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end + item + Format = '0' + Position = spFooter + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + Column = cxGridDBColumn3 + end + item + Kind = skSum + end + item + Kind = skSum + Column = v2prtmoney + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.FocusCellOnTab = True + OptionsBehavior.GoToNextCellOnEnter = True + OptionsBehavior.FocusCellOnCycle = True + OptionsCustomize.ColumnFiltering = False + OptionsData.Deleting = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1XHNo: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'XHNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 49 + end + object v1Column5: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'PrtCodeName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 104 + end + object v1Column6: TcxGridDBColumn + Caption = #20135#21697#35268#26684 + DataBinding.FieldName = 'PRTspec' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 90 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = False + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Sorting = False + Styles.Header = DataLink_TradeManage.handBlack + Width = 90 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #39068#33394'('#33521#25991')' + DataBinding.FieldName = 'SOrddefstr4' + Width = 98 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'SordQty1' + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FontBlue + Styles.Footer = DataLink_TradeManage.FontBlue + Styles.Header = DataLink_TradeManage.FontBlue + Width = 60 + end + object v1OrderUnit: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'PrtPrice' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v2prtmoney: TcxGridDBColumn + Caption = #37329#39069 + DataBinding.FieldName = 'prtmoney' + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FoneRed + Styles.Footer = DataLink_TradeManage.FoneRed + Styles.Header = DataLink_TradeManage.FoneRed + Width = 80 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'SOrdDefNote1' + HeaderAlignmentHorz = taCenter + Width = 137 + end + object v2SordQty4: TcxGridDBColumn + Caption = #27611#37325 + DataBinding.FieldName = 'SordQty4' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object v2SordQty5: TcxGridDBColumn + Caption = #20928#37325 + DataBinding.FieldName = 'SordQty5' + HeaderAlignmentHorz = taCenter + Width = 65 + end + object v2SordQty3: TcxGridDBColumn + Caption = #31435#26041#25968 + DataBinding.FieldName = 'SordQty3' + HeaderAlignmentHorz = taCenter + Width = 69 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 544 + Top = 176 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 688 + Top = 224 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 552 + Top = 216 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 312 + Top = 248 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 440 + Top = 184 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 464 + Top = 208 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbSaveToXLS, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 336 + Top = 200 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = CDS_Print + Left = 392 + Top = 200 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 580 + Top = 236 + end + object PopupMenu1: TPopupMenu + Left = 256 + Top = 176 + object N2: TMenuItem + Caption = #26377#20379#24212#21830 + OnClick = N2Click + end + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 360 + Top = 240 + end + object CDS_Print: TClientDataSet + Aggregates = <> + Params = <> + Left = 344 + Top = 288 + end + object ADOQuerySub: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 556 + Top = 416 + end + object DataSource2: TDataSource + DataSet = ADOQuerySub + Left = 488 + Top = 440 + end + object PMFJ: TPopupMenu + Left = 716 + Top = 272 + object NFJ: TMenuItem + Caption = #38468#20214 + end + end + object RMDB_SK: TRMDBDataSet + Visible = True + DataSet = CDS_SK + Left = 264 + Top = 244 + end + object CDS_SK: TClientDataSet + Aggregates = <> + Params = <> + Left = 304 + Top = 300 + end +end diff --git a/打卷检验管理/U_ProductOrderNewList_FB.pas b/打卷检验管理/U_ProductOrderNewList_FB.pas new file mode 100644 index 0000000..1c95e74 --- /dev/null +++ b/打卷检验管理/U_ProductOrderNewList_FB.pas @@ -0,0 +1,912 @@ +unit U_ProductOrderNewList_FB; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, + Menus, cxButtonEdit, cxTextEdit, cxPC; + +type + TfrmProductOrderNewList_FB = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBAdd: TToolButton; + TBEdit: TToolButton; + TBDel: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + invoiceNo: TEdit; + TBExport: TToolButton; + v1OrderNo: TcxGridDBColumn; + v1OrdDate: TcxGridDBColumn; + v1ConNo: TcxGridDBColumn; + Order_Main: TClientDataSet; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + v1CustomerNoName: TcxGridDBColumn; + Label4: TLabel; + CustomerNoName: TEdit; + PopupMenu1: TPopupMenu; + N2: TMenuItem; + ToolButton1: TToolButton; + Label8: TLabel; + MPRTCodeName: TEdit; + Label9: TLabel; + ConNo: TEdit; + Label10: TLabel; + MPRTSpec: TEdit; + Label11: TLabel; + MPRTCode: TEdit; + Label12: TLabel; + MPRTKZ: TEdit; + Label13: TLabel; + MPRTMF: TEdit; + ToolButton2: TToolButton; + ADOQueryPrint: TADOQuery; + CDS_Print: TClientDataSet; + ToolButton3: TToolButton; + ComboBox1: TComboBox; + Panel4: TPanel; + Label14: TLabel; + Panel10: TPanel; + Image2: TImage; + Button1: TButton; + RadioGroup1: TRadioGroup; + v1Column1: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + cxSplitter1: TcxSplitter; + ADOQuerySub: TADOQuery; + DataSource2: TDataSource; + PMFJ: TPopupMenu; + NFJ: TMenuItem; + v1OrdPerson2: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + cxTabControl1: TcxTabControl; + TChk: TToolButton; + TNOChk: TToolButton; + RMDB_SK: TRMDBDataSet; + CDS_SK: TClientDataSet; + v1Column10: TcxGridDBColumn; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + v1XHNo: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + v1OrderUnit: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + v1invoceNO: TcxGridDBColumn; + v2prtmoney: TcxGridDBColumn; + v2SordQty4: TcxGridDBColumn; + v2SordQty5: TcxGridDBColumn; + v2SordQty3: TcxGridDBColumn; + v1OrdDefDate1: TcxGridDBColumn; + Label2: TLabel; + OrdPerson2: TEdit; + RadioGroup2: TRadioGroup; + v1OrdDefStr14: TcxGridDBColumn; + v1OrdDefStr13: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBEditClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure invoiceNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBTPClick(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure CheckBox2Click(Sender: TObject); + procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; + ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; + out AStyle: TcxStyle); + procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, + Y: Integer); + procedure Button1Click(Sender: TObject); + procedure Image2Click(Sender: TObject); + procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; + APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); + procedure Tv2DblClick(Sender: TObject); + procedure Tv1DblClick(Sender: TObject); + procedure TChkClick(Sender: TObject); + procedure TNOChkClick(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + procedure RadioGroup2Click(Sender: TObject); + private + DQdate:TDateTime; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + + procedure InitSub(); + procedure SetStatus(); + { Private declarations } + public + FFInt,FCloth:Integer; + ftype: string; + + { Public declarations } + end; + +var + frmProductOrderNewList_FB: TfrmProductOrderNewList_FB; + +implementation +uses + U_DataLink,U_OrderInPut,U_Fun, U_OrderInPut_CY, U_OrderInPut_FB; + +{$R *.dfm} +procedure TfrmProductOrderNewList_FB.SetStatus(); +begin + tchk.Visible:=false; + tnochk.Visible:=false; +{ if Trim(DParameters1)<>'Ȩ' then + begin + case cxTabControl1.TabIndex of + 0:begin + tbedit.Visible:=true; + tbdel.Visible:=true; + end; + 1:begin + end; + 2:begin + end; + end; + end + else + begin + case cxTabControl1.TabIndex of + 0:begin + tchk.Visible:=true; + tbedit.Visible:=true; + tbdel.Visible:=true; + end; + 1:begin + tnochk.Visible:=true; + end; + 2:begin + end; + end; + end; } +end; + +procedure TfrmProductOrderNewList_FB.InitSub(); +begin + ADOQuerySub.Close; + IF Order_Main.IsEmpty then exit; + with ADOQuerySub do + begin + close; + sql.Clear; + sql.Add('select * from JYOrderFB_sub '); + sql.Add('where mainID ='+quotedstr((Order_Main.fieldbyname('mainID').AsString))); + open; + end; +end; + +procedure TfrmProductOrderNewList_FB.FormDestroy(Sender: TObject); +begin + frmProductOrderNewList_FB:=nil; +end; + +procedure TfrmProductOrderNewList_FB.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmProductOrderNewList_FB.FormCreate(Sender: TObject); +begin + cxgrid1.Align:=alClient; + DQdate:=SGetServerDate(ADOQueryTemp); + cxTabControl1.TabIndex:=0; + SetStatus(); +end; + +procedure TfrmProductOrderNewList_FB.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid(self.Caption+tv1.Name,Tv1,'ָʾ'); + WriteCxGrid(self.Caption+tv2.Name,Tv2,'ָʾ'); +end; + +procedure TfrmProductOrderNewList_FB.InitGrid(); +var + fwsql:string; +begin + fwsql:=''; + IF cxTabControl1.TabIndex<2 then + begin + fwsql:=fwsql+' and isnull(A.status,''0'')='''+inttostr(cxTabControl1.TabIndex)+''''; + end; + { if Trim(DParameters1)<>'Ȩ' then + begin + fwsql:=fwsql+' and Filler='''+Trim(DName)+''''; + end; } + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.add('exec P_View_Order_FB :begdate,:enddate,:WSql'); + Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.DateTime); + Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',enddate.DateTime+1); + Parameters.ParamByName('WSql').Value:=fwsql; + ExecSQL; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + TBFind.Click; +end; + + +procedure TfrmProductOrderNewList_FB.InitForm(); +begin + ReadCxGrid(self.Caption+tv1.Name,Tv1,'ָʾ'); + readCxGrid(self.Caption+tv2.Name,Tv2,'ָʾ'); + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + if Trim(ftype)='' then + begin + TBAdd.Visible:=false; + TBEdit.Visible:=False; + TBDel.Visible:=False; + end; + if Trim(ftype)<>'' then + begin + RadioGroup2.ItemIndex:=RadioGroup2.Items.IndexOf(Trim(Ftype)); + if RadioGroup2.ItemIndex>=0 then + begin + RadioGroup2.Enabled:=false; + end + else + RadioGroup2.ItemIndex:=2; + end; + InitGrid(); +end; + +procedure TfrmProductOrderNewList_FB.TBFindClick(Sender: TObject); +var strwhere: string; +begin + if ADOQueryMain.Active=False then Exit; + strwhere:=SGetFilters(Panel1,1,2); + if strwhere='' then + begin + IF RadioGroup2.ItemIndex<2 then + strwhere:=strwhere+' OrdDefStr15='''+trim(RadioGroup2.Items.Strings[RadioGroup2.itemindex])+''''; + end + else + begin + IF RadioGroup2.ItemIndex<2 then + strwhere:=strwhere+' and OrdDefStr15='''+trim(RadioGroup2.Items.Strings[RadioGroup2.itemindex])+''''; + end; + SDofilter(ADOQueryMain,strwhere); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmProductOrderNewList_FB.TBEditClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + { if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then + begin + Application.MessageBox('ܲ˵!','ʾ',0); + Exit; + end; } + try + frmOrderInPut_FB:=TfrmOrderInPut_FB.Create(Application); + with frmOrderInPut_FB do + begin + PState:=1; + ftype:=Self.ftype; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FOrderNo:=Trim(Self.Order_Main.fieldbyname('OrderNo').AsString); + if ShowModal=1 then + begin + InitGrid(); + end; + end; + finally + frmOrderInPut_FB.Free; + end; +end; + +procedure TfrmProductOrderNewList_FB.TBDelClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + if DelData() then + begin + Order_Main.Delete; + end; +end; + +function TfrmProductOrderNewList_FB.DelData():Boolean; +var + CRID:string; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + open; + IF not isempty then + begin + CRID:=fieldbyname('CRID').AsString; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrderFB_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add('delete JYOrderFB_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''' '); + sql.Add('delete YF_Money_CR where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''' '); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('Ʊɾ'))); + sql.Add(','+quotedstr(trim('Ʊţ'+trim(Order_Main.FieldByName('invoiceNo').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID) '); + sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID) '); + sql.Add(' where CRID='+CRID); + ExecSQL; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmProductOrderNewList_FB.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + SelExportData(Tv1,ADOQueryMain,self.Caption); +end; + +procedure TfrmProductOrderNewList_FB.TBPrintClick(Sender: TObject); +var + fPrintFile:string; +begin + if Order_Main.IsEmpty then Exit; + {with ADOQueryPrint do + begin + close; + sql.Clear; + sql.Add('select A.*,B.*,E.MPRTType,E.BankSelfFastNo,E.BankAddress,'); + SQL.Add('OrderUnit=(select Top 1 OrderUnit from JYOrderFB_Sub B where B.MainId=A.MainId),'); + SQL.Add('ZSordQty1=(select Sum(SordQty1) from JYOrderFB_Sub B where B.MainId=A.MainId group by B.MainId) '); + sql.Add('from JYOrderFB_Main A inner join JYOrderFB_Sub B on A.MainId=B.MainId '); + sql.Add('left join JYOrderCY_sub C on C.Subid=B.Sorddefstr10 '); + sql.Add('left join JYOrderCY_Main D on D.mainID=C.mainID '); + sql.Add('left join JYOrderCon_Main E on E.conNO=D.conNO '); + sql.Add('where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryPrint,CDS_Print); + SInitCDSData20(ADOQueryPrint,CDS_Print); + if Trim(ADOQueryPrint.FieldByName('MPRTType').AsString)='' then + begin + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ͬƱ1.rmf'; + end + else + fPrintFile:= ExtractFilePath(Application.ExeName)+'Report\ͬƱ2.rmf'; + if FileExists(fPrintFile) then + begin + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end + else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ͬƱ.rmf'),'ʾ',0); + end;} + Panel4.Visible:=True; +end; + +procedure TfrmProductOrderNewList_FB.TBRafreshClick(Sender: TObject); +begin + if FFInt=1 then + begin + + end + else + begin + InitGrid(); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 10* from JYOrderFB_Main Order by FillTime desc'); + Open; + end; + ComboBox1.Clear; + with ADOQueryTemp do + begin + First; + while not Eof do + begin + ComboBox1.Items.Add(Trim(ADOQueryTemp.fieldbyname('OrderNO').AsString)); + Next; + end; + end; + end; +end; + +procedure TfrmProductOrderNewList_FB.TBAddClick(Sender: TObject); +begin + try + frmOrderInPut_FB:=TfrmOrderInPut_FB.Create(Application); + with frmOrderInPut_FB do + begin + PState:=0; + FMainId:=''; + ftype:=Self.ftype; + if ShowModal=1 then + begin + InitGrid(); + end; + end; + finally + frmOrderInPut_FB.Free; + end; +end; + +procedure TfrmProductOrderNewList_FB.invoiceNoChange(Sender: TObject); +begin + TBFind.Click +end; + +procedure TfrmProductOrderNewList_FB.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmProductOrderNewList_FB.TBTPClick(Sender: TObject); + var + FQty,FQty1,FMxQty,FPQty,FMxQtyS,FPQtyS:String; +begin +end; + +procedure TfrmProductOrderNewList_FB.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmProductOrderNewList_FB.CheckBox2Click(Sender: TObject); +begin + TBRafresh.Click; +end; + +procedure TfrmProductOrderNewList_FB.Tv1StylesGetContentStyle( + Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; + AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); +var + id,id10:Integer; +begin + {try + if Tv1.GroupedItemCount=0 then + begin + Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; + Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; + if Trim(VarToStr(ARecord.Values[id]))='' then Exit; + if Id<0 then Exit; + if ARecord.Values[id10]='' then exit; + if (ARecord.Values[id]-DQdate)>=4 then Exit; + if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then + AStyle:=DataLink_.QHuangSe + else + if ARecord.Values[id]-DQdate<0 then + begin + AStyle:=DataLink_OrderManage.FenHongS; + end; + end else + begin + + end; + except + end; } +end; + +procedure TfrmProductOrderNewList_FB.v1DeliveryDateCustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +begin + { Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount; + Id10:=TV1.GetColumnByFieldName('SubStatus').Index; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id10]='' then Exit; + if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit; + if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then + ACanvas.Brush.Color:=clYellow + else + if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then + begin + ACanvas.Brush.Color:=clRed; + end; + begin + ACanvas.Brush.Color:=clRed; + end else + if AViewInfo.GridRecord.Values[Id]='Purple' then + begin + ACanvas.Brush.Color:=clPurple; + end else + if AViewInfo.GridRecord.Values[Id]='Olive' then + begin + ACanvas.Brush.Color:=clOlive; + end else + if AViewInfo.GridRecord.Values[Id]='Teal' then + begin + ACanvas.Brush.Color:=clTeal; + end else + if AViewInfo.GridRecord.Values[Id]='Background' then + begin + ACanvas.Brush.Color:=clBackground; + end; } +end; + +procedure TfrmProductOrderNewList_FB.N1Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ10.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ10.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderNewList_FB.N2Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderNewList_FB.ToolButton1Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmOrderInPut_FB:=TfrmOrderInPut_FB.Create(Application); + with frmOrderInPut_FB do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + ToolBar2.Visible:=False; + TBSave.Visible:=False; + Panel1.Enabled:=False; + Tv1.OptionsSelection.CellSelect:=False; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut_FB.Free; + end; +end; + +procedure TfrmProductOrderNewList_FB.ToolButton2Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmOrderInPut_FB:=TfrmOrderInPut_FB.Create(Application); + with frmOrderInPut_CY do + begin + PState:=1; + CopyInt:=99; + + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut_FB.Free; + end; +end; + +procedure TfrmProductOrderNewList_FB.ToolButton3Click(Sender: TObject); +begin + ModalResult:=1; +end; + +procedure TfrmProductOrderNewList_FB.Panel10MouseMove(Sender: TObject; + Shift: TShiftState; X, Y: Integer); +begin + ReleaseCapture; + TWinControl(Panel4).Perform(WM_SYSCOMMAND,$F012,0); +end; + +procedure TfrmProductOrderNewList_FB.Button1Click(Sender: TObject); +var + fPrintFile:string; + Porderno,LBName,SYRName:string; + i,j:Integer; + OrderKg:Double; +begin + if Order_Main.IsEmpty then Exit; + LBName:=RadioGroup1.Items.Strings[RadioGroup1.ItemIndex]; + if LBName='װ䵥' then + begin + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\װ䵥.rmf' ; + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select AA.OrdDefStr14,AA.OrdDefStr13,AA.InvoiceNo,AA.ConNo,AA.Orddate,AA.OrdDefStr4,AA.orddefstr3,AA.OrdDefStr15,'); + SQL.Add('AA.PrtCodeName,AA.PRTspec,AA.KHConNO,AA.Mainid,AA.OrderUnit,Sum(AA.SordQty1) SL,SUM(AA.Sordqty4) MZ,SUM(AA.SordQty5) JZ,SUM(AA.SordQty3) LFS from ( '); + SQL.Add('select A.OrdDefStr14,A.OrdDefStr13,A.InvoiceNo,A.ConNo,A.Orddate,A.OrdDefStr4,A.orddefstr3,A.OrdDefStr15,'); + SQL.Add('B.PrtCodeName,B.PRTspec,A.KHConNO,A.Mainid,B.SordQty1,B.Sordqty4,B.SordQty5,B.SordQty3,B.PRTColor,'); + SQL.Add('OrderUnit=(select Top 1 OrderUnit from JYOrderFB_Sub B where B.MainId=A.MainId) '); + SQL.Add('from JYOrderFB_Main A inner join JYOrderFB_Sub B on A.MainId=B.MainId where B.PRTColor<>'''') AA '); + sql.Add('where AA.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + + sql.Add('group by AA.OrdDefStr14,AA.OrdDefStr13,AA.InvoiceNo,AA.ConNo,AA.Orddate,AA.OrdDefStr4,AA.orddefstr3,AA.OrdDefStr15,'); + sql.Add('AA.PrtCodeName,AA.PRTspec,AA.KHConNO,AA.Mainid,AA.OrderUnit '); + Open; + end; + SCreateCDS20(ADOQueryPrint,CDS_Print); + SInitCDSData20(ADOQueryPrint,CDS_Print); + end + else + begin + with ADOQueryPrint do + begin + close; + sql.Clear; + sql.Add('select A.*,B.*,D.MaiTouNote,E.MPRTType,E.BankSelfFastNo,E.BankAddress,'); + SQL.Add('OrderUnit=(select Top 1 OrderUnit from JYOrderFB_Sub B where B.MainId=A.MainId),'); + SQL.Add('ZSordQty1=(select Sum(SordQty1) from JYOrderFB_Sub B where B.MainId=A.MainId group by B.MainId) '); + sql.Add('from JYOrderFB_Main A inner join JYOrderFB_Sub B on A.MainId=B.MainId '); + sql.Add('left join JYOrderCY_sub C on C.Subid=B.Sorddefstr10 '); + sql.Add('left join JYOrderCY_Main D on D.mainID=C.mainID '); + sql.Add('left join JYOrderCon_Main E on E.conNO=D.conNO '); + sql.Add('where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryPrint,CDS_Print); + SInitCDSData20(ADOQueryPrint,CDS_Print); + if Trim(CDS_Print.fieldbyname('OrdDefStr15').AsString)='' then + begin + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ͬƱ1.rmf'; + end + else + fPrintFile:= ExtractFilePath(Application.ExeName)+'Report\ͬƱ2.rmf'; + end; + if FileExists(fPrintFile) then + begin + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end + else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\'+Trim(LBName)+'.rmf'),'ʾ',0); + end; +end; + +procedure TfrmProductOrderNewList_FB.Image2Click(Sender: TObject); +begin + Panel4.Visible:=False; +end; + +procedure TfrmProductOrderNewList_FB.Tv1FocusedRecordChanged( + Sender: TcxCustomGridTableView; APrevFocusedRecord, + AFocusedRecord: TcxCustomGridRecord; + ANewItemRecordFocusingChanged: Boolean); +begin + InitSub(); +end; + +procedure TfrmProductOrderNewList_FB.Tv2DblClick( + Sender: TObject); +var + fNO:string; +begin + IF ADOQuerySub.IsEmpty then exit; + ToolButton2.Click; + { with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select ATID from KH_Zdy_Attachment A'); + sql.Add('where zdyCode='+quotedstr(trim(ADOQuerySub.fieldbyname('prtCode').AsString))); + sql.Add('and Type='+quotedstr(trim('CP'))); + open; + if not IsEmpty then + begin + fNO:=trim(fieldbyname('ATID').AsString); + end; + end; + + try + frmZdyAttInputCP10:=TfrmZdyAttInputCP10.Create(Application); + with frmZdyAttInputCP10 do + begin + FATID:=Trim(fNO); + frmZdyAttInputCP10.Tsave.Enabled:=false; + if ShowModal=1 then + begin + // TBRafresh.Click; + end; + end; + finally + frmZdyAttInputCP10.Free; + end; + } +end; + +procedure TfrmProductOrderNewList_FB.Tv1DblClick(Sender: TObject); +begin + ToolButton1.Click; +end; + +procedure TfrmProductOrderNewList_FB.TChkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + ADOQueryCmd.Connection.BeginTrans; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update JYOrderFB_Main SET status=''1'' '); + sql.Add('where mainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('Ʊ'))); + sql.Add(','+quotedstr(trim('Ʊţ'+trim(Order_Main.FieldByName('invoiceNo').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + ADOQueryCmd.Connection.CommitTrans; + application.MessageBox('˳ɹ','ʾϢ'); + TBRafresh.Click; + except + ADOQueryCmd.Connection.RollbackTrans; + application.MessageBox('ʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmProductOrderNewList_FB.TNOChkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + ADOQueryCmd.Connection.BeginTrans; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('update JYOrderCY_Main SET status=''0'' '); + sql.Add('where mainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); + sql.Add(' '+quotedstr(trim(DName))); + sql.Add(',getdate() '); + sql.Add(','+quotedstr(trim(self.Caption))); + sql.Add(','+quotedstr(trim('Ʊ'))); + sql.Add(','+quotedstr(trim('Ʊţ'+trim(Order_Main.FieldByName('invoiceNo').AsString)))); + sql.Add(','+quotedstr(trim('ɹ'))); + sql.Add(')'); + execsql; + end; + ADOQueryCmd.Connection.CommitTrans; + application.MessageBox('˳ɹ','ʾϢ'); + TBRafresh.Click; + except + ADOQueryCmd.Connection.RollbackTrans; + application.MessageBox('ʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmProductOrderNewList_FB.cxTabControl1Change(Sender: TObject); +begin + SetStatus(); + TBRafresh.Click; + +end; + +procedure TfrmProductOrderNewList_FB.RadioGroup2Click(Sender: TObject); +begin + TBFind.Click; +end; + +end. diff --git a/打卷检验管理/U_ProductOrderNewList_JD.dfm b/打卷检验管理/U_ProductOrderNewList_JD.dfm new file mode 100644 index 0000000..d1983fd --- /dev/null +++ b/打卷检验管理/U_ProductOrderNewList_JD.dfm @@ -0,0 +1,1860 @@ +object frmProductOrderNewList_JD: TfrmProductOrderNewList_JD + Left = 155 + Top = 90 + Width = 1145 + Height = 595 + Caption = #29983#20135#25351#31034#21333 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1137 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object ToolButton3: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #36873#25321 + ImageIndex = 106 + Visible = False + OnClick = ToolButton3Click + end + object TBAdd: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 3 + Visible = False + OnClick = TBAddClick + end + object tchk: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #19994#21153#23457#26680 + ImageIndex = 41 + Visible = False + OnClick = tchkClick + end + object tNochk: TToolButton + Left = 339 + Top = 0 + AutoSize = True + Caption = #23457#26680#25764#38144 + ImageIndex = 86 + Visible = False + OnClick = tNochkClick + end + object TBEdit: TToolButton + Left = 426 + Top = 0 + AutoSize = True + Caption = #20462#25913 + ImageIndex = 54 + Visible = False + OnClick = TBEditClick + end + object ToolButton2: TToolButton + Left = 489 + Top = 0 + AutoSize = True + Caption = #22797#21046 + ImageIndex = 57 + Visible = False + OnClick = ToolButton2Click + end + object ToolButton1: TToolButton + Left = 552 + Top = 0 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 58 + Visible = False + OnClick = ToolButton1Click + end + object TBExport: TToolButton + Left = 615 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 75 + OnClick = TBExportClick + end + object TBPrint: TToolButton + Left = 678 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + Visible = False + OnClick = TBPrintClick + end + object TBClose: TToolButton + Left = 741 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + object ComboBox1: TComboBox + Left = 804 + Top = 3 + Width = 145 + Height = 24 + DropDownCount = 10 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ItemHeight = 16 + ParentFont = False + TabOrder = 0 + Visible = False + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1137 + Height = 65 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 15 + Width = 52 + Height = 12 + Caption = #21046#21333#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 178 + Top = 15 + Width = 52 + Height = 12 + Caption = #25351#31034#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 330 + Top = 15 + Width = 40 + Height = 12 + Caption = #23458' '#25143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 322 + Top = 107 + Width = 26 + Height = 12 + Caption = #26579#21378 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 329 + Top = 39 + Width = 39 + Height = 12 + Caption = #19994#21153#21592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 474 + Top = 15 + Width = 26 + Height = 12 + Caption = #21697#21517 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 178 + Top = 39 + Width = 53 + Height = 12 + Caption = #21512' '#21516' '#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 441 + Top = 99 + Width = 52 + Height = 12 + Caption = #20844#21496#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 576 + Top = 84 + Width = 52 + Height = 12 + Caption = #37197#36135#29366#24577 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 474 + Top = 39 + Width = 26 + Height = 12 + Caption = #39068#33394 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label24: TLabel + Left = 714 + Top = 89 + Width = 52 + Height = 12 + Caption = #35746#21333#31867#22411 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 607 + Top = 15 + Width = 21 + Height = 12 + Caption = 'PO#' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label45: TLabel + Left = 1001 + Top = 32 + Width = 52 + Height = 12 + Caption = #21512#21516#27604#29575 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label46: TLabel + Left = 1001 + Top = 12 + Width = 52 + Height = 12 + Caption = #21512#21516#25439#32791 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label49: TLabel + Left = 730 + Top = 32 + Width = 52 + Height = 12 + Caption = #21333#26465#27604#29575 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label50: TLabel + Left = 730 + Top = 12 + Width = 52 + Height = 12 + Caption = #21333#26465#25439#32791 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label51: TLabel + Left = 867 + Top = 32 + Width = 52 + Height = 12 + Caption = #35746#21333#27604#29575 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label52: TLabel + Left = 867 + Top = 12 + Width = 52 + Height = 12 + Caption = #35746#21333#25439#32791 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 11 + Width = 85 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 76 + Top = 35 + Width = 86 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object OrderNo: TEdit + Tag = 2 + Left = 231 + Top = 11 + Width = 77 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + OnChange = OrderNoChange + OnKeyPress = OrderNoKeyPress + end + object CustomerNoName: TEdit + Tag = 2 + Left = 375 + Top = 11 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + OnChange = OrderNoChange + end + object JGFactoryName: TEdit + Tag = 2 + Left = 351 + Top = 103 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + OnChange = OrderNoChange + end + object OrdPerson2: TEdit + Tag = 2 + Left = 375 + Top = 35 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 5 + OnChange = OrderNoChange + end + object MPRTCodeName: TEdit + Tag = 2 + Left = 507 + Top = 11 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + OnChange = OrderNoChange + end + object ConNo: TEdit + Tag = 2 + Left = 231 + Top = 35 + Width = 77 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 7 + OnChange = OrderNoChange + end + object OrdDefStr1: TEdit + Tag = 2 + Left = 495 + Top = 95 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 8 + OnChange = OrderNoChange + end + object ISPH: TComboBox + Tag = 2 + Left = 628 + Top = 80 + Width = 77 + Height = 20 + Style = csDropDownList + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ItemHeight = 12 + ItemIndex = 0 + TabOrder = 9 + OnChange = OrderNoChange + Items.Strings = ( + '' + #26410#37197#36135 + #24050#37197#36135) + end + object PrtColor: TEdit + Tag = 2 + Left = 507 + Top = 35 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 10 + OnChange = OrderNoChange + end + object orderType: TComboBox + Tag = 2 + Left = 769 + Top = 85 + Width = 76 + Height = 20 + Style = csDropDownList + Ctl3D = False + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ItemHeight = 12 + ParentCtl3D = False + TabOrder = 11 + OnChange = OrderNoChange + Items.Strings = ( + #27491#24120#21333 + #21098#26679#21333) + end + object khConNo: TEdit + Tag = 2 + Left = 640 + Top = 11 + Width = 76 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 12 + OnChange = OrderNoChange + end + object DBEdit21: TDBEdit + Left = 1053 + Top = 8 + Width = 60 + Height = 20 + DataField = 'H_SH' + DataSource = DataSource1 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + ReadOnly = True + TabOrder = 13 + end + object cxDBCurrencyEdit5: TcxDBCurrencyEdit + Left = 1053 + Top = 28 + DataBinding.DataField = 'H_SL' + DataBinding.DataSource = DataSource1 + ParentFont = False + Properties.DisplayFormat = '#.##%;-,#.##%' + Properties.ReadOnly = True + Style.Font.Charset = GB2312_CHARSET + Style.Font.Color = clRed + Style.Font.Height = -12 + Style.Font.Name = #23435#20307 + Style.Font.Style = [fsBold] + Style.IsFontAssigned = True + TabOrder = 14 + Width = 60 + end + object DBEdit34: TDBEdit + Left = 782 + Top = 8 + Width = 60 + Height = 20 + DataField = 'SH' + DataSource = DataSource1 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + ReadOnly = True + TabOrder = 15 + end + object cxDBCurrencyEdit7: TcxDBCurrencyEdit + Left = 782 + Top = 28 + DataBinding.DataField = 'SL' + DataBinding.DataSource = DataSource1 + ParentFont = False + Properties.DisplayFormat = '#.##%;-,#.##%' + Properties.ReadOnly = True + Style.Font.Charset = GB2312_CHARSET + Style.Font.Color = clRed + Style.Font.Height = -12 + Style.Font.Name = #23435#20307 + Style.Font.Style = [fsBold] + Style.IsFontAssigned = True + TabOrder = 16 + Width = 60 + end + object DBEdit35: TDBEdit + Left = 919 + Top = 8 + Width = 60 + Height = 20 + DataField = 'Z_SH' + DataSource = DataSource1 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ParentFont = False + ReadOnly = True + TabOrder = 17 + end + object cxDBCurrencyEdit8: TcxDBCurrencyEdit + Left = 919 + Top = 28 + DataBinding.DataField = 'Z_SL' + DataBinding.DataSource = DataSource1 + ParentFont = False + Properties.DisplayFormat = '#.##%;-,#.##%' + Properties.ReadOnly = True + Style.Font.Charset = GB2312_CHARSET + Style.Font.Color = clRed + Style.Font.Height = -12 + Style.Font.Name = #23435#20307 + Style.Font.Style = [fsBold] + Style.IsFontAssigned = True + TabOrder = 18 + Width = 60 + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 119 + Width = 1137 + Height = 262 + Align = alTop + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + Column = v1PRTOrderQty + end + item + Kind = skSum + Column = v1Column6 + end + item + Kind = skSum + Column = v1Column7 + end + item + Kind = skSum + Column = v1Column9 + end + item + Kind = skSum + Column = v1Column10 + end + item + Kind = skSum + Column = v1Column2 + end + item + Kind = skSum + Column = v1Column3 + end + item + Kind = skSum + Column = v1Column5 + end + item + Kind = skSum + Column = v1Column8 + end + item + Kind = skSum + Column = v1Column24 + end + item + Kind = skSum + Column = v1Column13 + end + item + Kind = skSum + Column = v1Column14 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.OnGetContentStyle = Tv1StylesGetContentStyle + Styles.Header = DataLink_TradeManage.Default + object v1Column4: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + Visible = False + HeaderAlignmentHorz = taCenter + Width = 49 + end + object v1OrderNo: TcxGridDBColumn + Caption = #25351#31034#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v1ConNo: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1Column11: TcxGridDBColumn + Caption = 'PO#' + DataBinding.FieldName = 'KHconNo' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 60 + end + object v1OrdPerson1: TcxGridDBColumn + Caption = #19994#21153#21592 + DataBinding.FieldName = 'OrdPerson2' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 73 + end + object v1OrdDate: TcxGridDBColumn + Caption = #21046#21333#26085#26399 + DataBinding.FieldName = 'OrdDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1DeliveryDate: TcxGridDBColumn + Caption = #20132#36135#26085#26399 + DataBinding.FieldName = 'DlyDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 62 + end + object v1CustomerNoName: TcxGridDBColumn + Caption = #23458#25143 + DataBinding.FieldName = 'CustomerNoName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 94 + end + object v1MPRTCodeName: TcxGridDBColumn + Caption = #21697#21517 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 69 + end + object v1MPrtSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'MPrtSpec' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column1: TcxGridDBColumn + Caption = #39068#33394#20013#25991 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 80 + end + object v1SordQtY1: TcxGridDBColumn + Caption = #39068#33394#33521#25991 + DataBinding.FieldName = 'SOrddefstr4' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'PrtOrderQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Content = cxStyle_fontclBlue + Styles.Footer = cxStyle_fontclBlue + Styles.Header = cxStyle_fontclBlue + Width = 60 + end + object v1ordderNote1: TcxGridDBColumn + Caption = #21333#20301 + DataBinding.FieldName = 'orderUnit' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column6: TcxGridDBColumn + Caption = #25237#22383#21305#25968 + DataBinding.FieldName = 'TP_RollNum' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle_fontclPurple + Styles.Footer = cxStyle_fontclPurple + Styles.Header = cxStyle_fontclPurple + Width = 60 + end + object v1Column7: TcxGridDBColumn + Caption = #25237#22383#25968#37327 + DataBinding.FieldName = 'TP_Qty' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle_fontclPurple + Styles.Footer = cxStyle_fontclPurple + Styles.Header = cxStyle_fontclPurple + Width = 60 + end + object v1Column12: TcxGridDBColumn + Caption = #25237#22383#21333#20301 + DataBinding.FieldName = 'TP_unit' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column9: TcxGridDBColumn + Caption = #22238#20179#21305#25968 + DataBinding.FieldName = 'HC_RollNum' + HeaderAlignmentHorz = taCenter + Styles.Footer = cxStyle_fontclFuchsia + Styles.Header = cxStyle_fontclFuchsia + Width = 60 + end + object v1Column10: TcxGridDBColumn + Caption = #22238#20179#25968#37327 + DataBinding.FieldName = 'HC_Qty' + HeaderAlignmentHorz = taCenter + Styles.Footer = cxStyle_fontclFuchsia + Styles.Header = cxStyle_fontclFuchsia + Width = 60 + end + object v1Column15: TcxGridDBColumn + Caption = #30333#22383#25439#32791 + DataBinding.FieldName = 'TP_SH' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column16: TcxGridDBColumn + Caption = #30333#22383#27604#29575 + DataBinding.FieldName = 'TP_SL' + PropertiesClassName = 'TcxCurrencyEditProperties' + Properties.DisplayFormat = '#.##%' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column2: TcxGridDBColumn + Caption = #20837#24211#21305#25968 + DataBinding.FieldName = 'RK_RollNum' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle_fontclGreen + Styles.Footer = cxStyle_fontclGreen + Styles.Header = cxStyle_fontclGreen + Width = 60 + end + object v1Column3: TcxGridDBColumn + Caption = #20837#24211#25968#37327 + DataBinding.FieldName = 'RK_KGQty' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle_fontclGreen + Styles.Footer = cxStyle_fontclGreen + Styles.Header = cxStyle_fontclGreen + Width = 60 + end + object v1Column17: TcxGridDBColumn + Caption = #26816#39564#25439#32791 + DataBinding.FieldName = 'JY_SH' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column18: TcxGridDBColumn + Caption = #26816#39564#27604#29575 + DataBinding.FieldName = 'JY_SL' + PropertiesClassName = 'TcxCurrencyEditProperties' + Properties.DisplayFormat = '#.##%' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column5: TcxGridDBColumn + Caption = #20986#24211#21305#25968 + DataBinding.FieldName = 'CK_RollNum' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle_fontclTeal + Styles.Footer = cxStyle_fontclTeal + Styles.Header = cxStyle_fontclTeal + Width = 60 + end + object v1Column8: TcxGridDBColumn + Caption = #20986#24211#25968#37327'(KG)' + DataBinding.FieldName = 'CK_kgQty' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle_fontclTeal + Styles.Footer = cxStyle_fontclTeal + Styles.Header = cxStyle_fontclTeal + Width = 90 + end + object v1Column24: TcxGridDBColumn + Caption = #20986#24211#25968#37327 + DataBinding.FieldName = 'CK_Qty' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Content = cxStyle_fontclTeal + Styles.Footer = cxStyle_fontclTeal + Styles.Header = cxStyle_fontclTeal + Width = 59 + end + object v1Column25: TcxGridDBColumn + Caption = #20986#24211#21333#20301 + DataBinding.FieldName = 'CK_Unit' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column13: TcxGridDBColumn + Caption = #24211#23384#21305#25968 + DataBinding.FieldName = 'KC_RollNum' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle_fontclOlive + Styles.Footer = cxStyle_fontclOlive + Styles.Header = cxStyle_fontclOlive + Width = 60 + end + object v1Column14: TcxGridDBColumn + Caption = #24211#23384#25968#37327 + DataBinding.FieldName = 'KC_kgQty' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle_fontclOlive + Styles.Footer = cxStyle_fontclOlive + Styles.Header = cxStyle_fontclOlive + Width = 60 + end + object v1Column19: TcxGridDBColumn + Caption = #21333#26465#25439#32791 + DataBinding.FieldName = 'SH' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column20: TcxGridDBColumn + Caption = #21333#26465#27604#29575 + DataBinding.FieldName = 'SL' + PropertiesClassName = 'TcxCurrencyEditProperties' + Properties.DisplayFormat = '#.##%' + HeaderAlignmentHorz = taCenter + Width = 60 + end + object v1Column21: TcxGridDBColumn + Caption = #24635#25439#32791 + DataBinding.FieldName = 'Z_SH' + Visible = False + HeaderAlignmentHorz = taCenter + Hidden = True + Width = 60 + end + object v1Column22: TcxGridDBColumn + Caption = #24635#27604#29575 + DataBinding.FieldName = 'Z_SL' + PropertiesClassName = 'TcxCurrencyEditProperties' + Properties.DisplayFormat = '#.##%' + Visible = False + HeaderAlignmentHorz = taCenter + Hidden = True + Width = 60 + end + object v1Column23: TcxGridDBColumn + Caption = #35745#21010#25439#32791 + DataBinding.FieldName = 'con_jhsl' + PropertiesClassName = 'TcxCurrencyEditProperties' + Properties.DisplayFormat = '#.##%' + HeaderAlignmentHorz = taCenter + Width = 60 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 97 + Width = 1137 + Height = 22 + Align = alTop + Style = 9 + TabIndex = 0 + TabOrder = 3 + Tabs.Strings = ( + #19994#21153#36755#20837 + #19994#21153#24050#23457#26680 + #20840#37096) + Visible = False + OnChange = cxTabControl1Change + ClientRectBottom = 22 + ClientRectRight = 1137 + ClientRectTop = 19 + end + object Panel2: TPanel + Left = 0 + Top = 390 + Width = 1137 + Height = 171 + Align = alBottom + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 4 + object Label12: TLabel + Left = 36 + Top = 16 + Width = 48 + Height = 12 + Caption = #25351#31034#21333#21495 + end + object Label13: TLabel + Left = 36 + Top = 40 + Width = 48 + Height = 12 + Caption = #21512' '#21516' '#21495 + end + object Label14: TLabel + Left = 36 + Top = 64 + Width = 18 + Height = 12 + Caption = 'PO#' + end + object Label15: TLabel + Left = 36 + Top = 88 + Width = 48 + Height = 12 + Caption = #19994' '#21153' '#21592 + end + object Label16: TLabel + Left = 36 + Top = 112 + Width = 48 + Height = 12 + Caption = #21046#21333#26085#26399 + end + object Label17: TLabel + Left = 36 + Top = 132 + Width = 48 + Height = 12 + Caption = #20132#36135#26085#26399 + end + object Label18: TLabel + Left = 236 + Top = 16 + Width = 48 + Height = 12 + Caption = #23458' '#25143 + end + object Label19: TLabel + Left = 236 + Top = 40 + Width = 48 + Height = 12 + Caption = #21697' '#21517 + end + object Label20: TLabel + Left = 236 + Top = 64 + Width = 48 + Height = 12 + Caption = #35268' '#26684 + end + object Label21: TLabel + Left = 236 + Top = 88 + Width = 48 + Height = 12 + Caption = #39068#33394#20013#25991 + end + object Label22: TLabel + Left = 236 + Top = 112 + Width = 48 + Height = 12 + Caption = #39068#33394#33521#25991 + end + object Label23: TLabel + Left = 236 + Top = 132 + Width = 48 + Height = 12 + Caption = #25968' '#37327 + end + object Label26: TLabel + Left = 440 + Top = 16 + Width = 48 + Height = 12 + Caption = #25237#22383#21305#25968 + end + object Label27: TLabel + Left = 440 + Top = 40 + Width = 48 + Height = 12 + Caption = #25237#22383#25968#37327 + end + object Label29: TLabel + Left = 440 + Top = 64 + Width = 48 + Height = 12 + Caption = #22238#20179#21305#25968 + end + object Label30: TLabel + Left = 440 + Top = 84 + Width = 48 + Height = 12 + Caption = #22238#20179#25968#37327 + end + object Label31: TLabel + Left = 440 + Top = 108 + Width = 48 + Height = 12 + Caption = #30333#22383#25439#32791 + end + object Label32: TLabel + Left = 440 + Top = 132 + Width = 48 + Height = 12 + Caption = #30333#22383#27604#29575 + end + object Label33: TLabel + Left = 620 + Top = 16 + Width = 48 + Height = 12 + Caption = #20837#24211#21305#25968 + end + object Label34: TLabel + Left = 620 + Top = 40 + Width = 48 + Height = 12 + Caption = #20837#24211#25968#37327 + end + object Label35: TLabel + Left = 620 + Top = 96 + Width = 48 + Height = 12 + Caption = #26816#39564#25439#32791 + end + object Label36: TLabel + Left = 620 + Top = 116 + Width = 48 + Height = 12 + Caption = #26816#39564#27604#29575 + end + object Label37: TLabel + Left = 800 + Top = 16 + Width = 48 + Height = 12 + Caption = #20986#24211#21305#25968 + end + object Label38: TLabel + Left = 800 + Top = 40 + Width = 48 + Height = 12 + Caption = #20986#24211#25968#37327 + end + object Label39: TLabel + Left = 804 + Top = 104 + Width = 48 + Height = 12 + Caption = #24211#23384#21305#25968 + end + object Label40: TLabel + Left = 804 + Top = 128 + Width = 48 + Height = 12 + Caption = #24211#23384#25968#37327 + end + object Label47: TLabel + Left = 992 + Top = 16 + Width = 48 + Height = 12 + Caption = #35745#21010#25439#32791 + end + object Label25: TLabel + Left = 752 + Top = 40 + Width = 12 + Height = 12 + Caption = 'KG' + end + object Label28: TLabel + Left = 936 + Top = 40 + Width = 12 + Height = 12 + Caption = 'KG' + end + object Label48: TLabel + Left = 936 + Top = 128 + Width = 12 + Height = 12 + Caption = 'KG' + end + object DBEdit1: TDBEdit + Left = 88 + Top = 12 + Width = 120 + Height = 20 + DataField = 'OrderNo' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 0 + end + object DBEdit2: TDBEdit + Left = 88 + Top = 36 + Width = 120 + Height = 20 + DataField = 'ConNo' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 1 + end + object DBEdit3: TDBEdit + Left = 88 + Top = 60 + Width = 120 + Height = 20 + DataField = 'KHconNo' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 2 + end + object DBEdit4: TDBEdit + Left = 88 + Top = 84 + Width = 120 + Height = 20 + DataField = 'OrdPerson2' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 3 + end + object DBEdit5: TDBEdit + Left = 88 + Top = 108 + Width = 120 + Height = 20 + DataField = 'OrdDate' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 4 + end + object DBEdit6: TDBEdit + Left = 88 + Top = 128 + Width = 120 + Height = 20 + DataField = 'DlyDate' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 5 + end + object DBEdit7: TDBEdit + Left = 288 + Top = 12 + Width = 120 + Height = 20 + DataField = 'CustomerNoName' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 6 + end + object DBEdit8: TDBEdit + Left = 288 + Top = 36 + Width = 120 + Height = 20 + DataField = 'MPRTCodeName' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 7 + end + object DBEdit9: TDBEdit + Left = 288 + Top = 60 + Width = 120 + Height = 20 + DataField = 'MPrtSpec' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 8 + end + object DBEdit10: TDBEdit + Left = 288 + Top = 84 + Width = 120 + Height = 20 + DataField = 'PRTColor' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 9 + end + object DBEdit11: TDBEdit + Left = 288 + Top = 108 + Width = 120 + Height = 20 + DataField = 'SOrddefstr4' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 10 + end + object DBEdit12: TDBEdit + Left = 288 + Top = 128 + Width = 77 + Height = 20 + DataField = 'PrtOrderQty' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 11 + end + object DBEdit13: TDBEdit + Left = 364 + Top = 128 + Width = 40 + Height = 20 + DataField = 'orderUnit' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 12 + end + object DBEdit14: TDBEdit + Left = 492 + Top = 12 + Width = 100 + Height = 20 + DataField = 'TP_RollNum' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 13 + end + object DBEdit15: TDBEdit + Left = 492 + Top = 36 + Width = 61 + Height = 20 + DataField = 'TP_Qty' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 14 + end + object DBEdit16: TDBEdit + Left = 552 + Top = 36 + Width = 40 + Height = 20 + DataField = 'TP_unit' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 15 + end + object DBEdit17: TDBEdit + Left = 492 + Top = 60 + Width = 100 + Height = 20 + DataField = 'HC_RollNum' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 16 + end + object DBEdit18: TDBEdit + Left = 492 + Top = 80 + Width = 61 + Height = 20 + DataField = 'HC_Qty' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 17 + end + object DBEdit19: TDBEdit + Left = 492 + Top = 104 + Width = 100 + Height = 20 + DataField = 'TP_SH' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 18 + end + object RK_RollNum: TDBEdit + Left = 672 + Top = 12 + Width = 100 + Height = 20 + DataField = 'RK_RollNum' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 19 + end + object DBEdit22: TDBEdit + Left = 672 + Top = 36 + Width = 77 + Height = 20 + DataField = 'RK_KGQty' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 20 + end + object DBEdit23: TDBEdit + Left = 672 + Top = 92 + Width = 100 + Height = 20 + DataField = 'JY_SH' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 21 + end + object DBEdit25: TDBEdit + Left = 852 + Top = 12 + Width = 100 + Height = 20 + DataField = 'CK_RollNum' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 22 + end + object DBEdit26: TDBEdit + Left = 852 + Top = 36 + Width = 77 + Height = 20 + DataField = 'CK_kgQty' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 23 + end + object DBEdit27: TDBEdit + Left = 856 + Top = 100 + Width = 100 + Height = 20 + DataField = 'KC_RollNum' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 24 + end + object DBEdit28: TDBEdit + Left = 856 + Top = 124 + Width = 73 + Height = 20 + DataField = 'KC_kgQty' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 25 + end + object cxDBCurrencyEdit1: TcxDBCurrencyEdit + Left = 492 + Top = 128 + DataBinding.DataField = 'TP_SL' + DataBinding.DataSource = DataSource1 + Properties.DisplayFormat = '#.##%;-,#.##%' + Properties.ReadOnly = True + TabOrder = 26 + Width = 100 + end + object cxDBCurrencyEdit2: TcxDBCurrencyEdit + Left = 672 + Top = 112 + DataBinding.DataField = 'JY_SL' + DataBinding.DataSource = DataSource1 + Properties.DisplayFormat = '#.##%;-,#.##%' + Properties.ReadOnly = True + TabOrder = 27 + Width = 100 + end + object cxDBCurrencyEdit6: TcxDBCurrencyEdit + Left = 1044 + Top = 12 + DataBinding.DataField = 'con_jhsl' + DataBinding.DataSource = DataSource1 + Properties.DisplayFormat = '#.##%;-,#.##%' + Properties.ReadOnly = True + TabOrder = 28 + Width = 100 + end + object DBEdit24: TDBEdit + Left = 552 + Top = 80 + Width = 40 + Height = 20 + DataField = 'HC_unit' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 29 + end + object DBEdit30: TDBEdit + Left = 852 + Top = 60 + Width = 77 + Height = 20 + DataField = 'CK_Qty' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 30 + end + object DBEdit31: TDBEdit + Left = 928 + Top = 60 + Width = 29 + Height = 20 + DataField = 'CK_Unit' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 31 + end + object DBEdit32: TDBEdit + Left = 672 + Top = 56 + Width = 77 + Height = 20 + DataField = 'RK_Qty' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 32 + end + object DBEdit33: TDBEdit + Left = 748 + Top = 56 + Width = 29 + Height = 20 + DataField = 'CK_Unit' + DataSource = DataSource1 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ReadOnly = True + TabOrder = 33 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 544 + Top = 176 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 688 + Top = 224 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 552 + Top = 216 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 312 + Top = 248 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 440 + Top = 184 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 464 + Top = 208 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbSaveToXLS, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 336 + Top = 200 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = Order_Main + Left = 392 + Top = 200 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 576 + Top = 248 + end + object PopupMenu1: TPopupMenu + Left = 256 + Top = 176 + object N2: TMenuItem + Caption = #26377#20379#24212#21830 + OnClick = N2Click + end + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 360 + Top = 240 + end + object CDS_Print: TClientDataSet + Aggregates = <> + Params = <> + Left = 344 + Top = 288 + end + object cxStyleRepository1: TcxStyleRepository + Left = 157 + Top = 206 + object cxStyle1: TcxStyle + AssignedValues = [svColor] + Color = clInactiveCaption + end + object cxStyle2: TcxStyle + AssignedValues = [svColor, svTextColor] + Color = 4707838 + TextColor = clBtnText + end + object cxStyle_gridRow: TcxStyle + AssignedValues = [svColor, svFont] + Color = 16311512 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + end + object cxStyle_gridFoot: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clBlack + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_gridHead: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_gridGroupBox: TcxStyle + AssignedValues = [svColor, svFont] + Color = clMoneyGreen + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_yellow: TcxStyle + AssignedValues = [svColor, svFont] + Color = 8454143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + end + object cxStyle_Red: TcxStyle + AssignedValues = [svColor, svFont] + Color = clRed + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + end + object cxStyle_fontBlack: TcxStyle + AssignedValues = [svFont] + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle_fontclFuchsia: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clFuchsia + end + object cxStyle_fontclPurple: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clPurple + end + object cxStyle_fontclGreen: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clGreen + end + object cxStyle_fontclBlue: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlue + end + object cxStyle_fontclTeal: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clTeal + end + object cxStyle_fontclOlive: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clOlive + end + end +end diff --git a/打卷检验管理/U_ProductOrderNewList_JD.pas b/打卷检验管理/U_ProductOrderNewList_JD.pas new file mode 100644 index 0000000..54fc434 --- /dev/null +++ b/打卷检验管理/U_ProductOrderNewList_JD.pas @@ -0,0 +1,887 @@ +unit U_ProductOrderNewList_JD; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, + Menus, cxPC, cxCurrencyEdit, Mask, DBCtrls, cxContainer, cxTextEdit, + cxDBEdit; + +type + TfrmProductOrderNewList_JD = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBAdd: TToolButton; + TBEdit: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Label1: TLabel; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + OrderNo: TEdit; + TBExport: TToolButton; + v1OrderNo: TcxGridDBColumn; + v1OrdDate: TcxGridDBColumn; + v1DeliveryDate: TcxGridDBColumn; + v1OrdPerson1: TcxGridDBColumn; + v1ConNo: TcxGridDBColumn; + Order_Main: TClientDataSet; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + v1CustomerNoName: TcxGridDBColumn; + Label4: TLabel; + CustomerNoName: TEdit; + v1MPRTCodeName: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N2: TMenuItem; + ToolButton1: TToolButton; + Label2: TLabel; + JGFactoryName: TEdit; + Label5: TLabel; + OrdPerson2: TEdit; + Label8: TLabel; + MPRTCodeName: TEdit; + Label9: TLabel; + ConNo: TEdit; + Label11: TLabel; + OrdDefStr1: TEdit; + ToolButton2: TToolButton; + ADOQueryPrint: TADOQuery; + CDS_Print: TClientDataSet; + ToolButton3: TToolButton; + v1Column4: TcxGridDBColumn; + ComboBox1: TComboBox; + v1Column1: TcxGridDBColumn; + cxTabControl1: TcxTabControl; + tchk: TToolButton; + tNochk: TToolButton; + v1ordderNote1: TcxGridDBColumn; + v1SordQtY1: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxStyle2: TcxStyle; + cxStyle_gridRow: TcxStyle; + cxStyle_gridFoot: TcxStyle; + cxStyle_gridHead: TcxStyle; + cxStyle_gridGroupBox: TcxStyle; + cxStyle_yellow: TcxStyle; + cxStyle_Red: TcxStyle; + cxStyle_fontBlack: TcxStyle; + cxStyle_fontclFuchsia: TcxStyle; + cxStyle_fontclPurple: TcxStyle; + cxStyle_fontclGreen: TcxStyle; + cxStyle_fontclBlue: TcxStyle; + cxStyle_fontclTeal: TcxStyle; + cxStyle_fontclOlive: TcxStyle; + Label6: TLabel; + ISPH: TComboBox; + PrtColor: TEdit; + Label7: TLabel; + orderType: TComboBox; + Label24: TLabel; + v1Column11: TcxGridDBColumn; + v1MPrtSpec: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column8: TcxGridDBColumn; + khConNo: TEdit; + Label10: TLabel; + v1Column12: TcxGridDBColumn; + v1Column13: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + v1Column15: TcxGridDBColumn; + v1Column16: TcxGridDBColumn; + v1Column17: TcxGridDBColumn; + v1Column18: TcxGridDBColumn; + v1Column19: TcxGridDBColumn; + v1Column20: TcxGridDBColumn; + Panel2: TPanel; + Label12: TLabel; + DBEdit1: TDBEdit; + DBEdit2: TDBEdit; + Label13: TLabel; + DBEdit3: TDBEdit; + Label14: TLabel; + DBEdit4: TDBEdit; + Label15: TLabel; + DBEdit5: TDBEdit; + Label16: TLabel; + DBEdit6: TDBEdit; + Label17: TLabel; + DBEdit7: TDBEdit; + Label18: TLabel; + Label19: TLabel; + DBEdit8: TDBEdit; + DBEdit9: TDBEdit; + Label20: TLabel; + Label21: TLabel; + DBEdit10: TDBEdit; + DBEdit11: TDBEdit; + Label22: TLabel; + Label23: TLabel; + DBEdit12: TDBEdit; + DBEdit13: TDBEdit; + Label26: TLabel; + DBEdit14: TDBEdit; + DBEdit15: TDBEdit; + Label27: TLabel; + DBEdit16: TDBEdit; + DBEdit17: TDBEdit; + Label29: TLabel; + Label30: TLabel; + DBEdit18: TDBEdit; + DBEdit19: TDBEdit; + Label31: TLabel; + Label32: TLabel; + RK_RollNum: TDBEdit; + Label33: TLabel; + Label34: TLabel; + DBEdit22: TDBEdit; + DBEdit23: TDBEdit; + Label35: TLabel; + Label36: TLabel; + DBEdit25: TDBEdit; + Label37: TLabel; + Label38: TLabel; + DBEdit26: TDBEdit; + DBEdit27: TDBEdit; + Label39: TLabel; + Label40: TLabel; + DBEdit28: TDBEdit; + cxDBCurrencyEdit1: TcxDBCurrencyEdit; + cxDBCurrencyEdit2: TcxDBCurrencyEdit; + v1Column21: TcxGridDBColumn; + v1Column22: TcxGridDBColumn; + v1Column23: TcxGridDBColumn; + DBEdit21: TDBEdit; + cxDBCurrencyEdit5: TcxDBCurrencyEdit; + Label45: TLabel; + Label46: TLabel; + cxDBCurrencyEdit6: TcxDBCurrencyEdit; + Label47: TLabel; + Label25: TLabel; + Label28: TLabel; + Label48: TLabel; + DBEdit24: TDBEdit; + DBEdit30: TDBEdit; + DBEdit31: TDBEdit; + DBEdit32: TDBEdit; + DBEdit33: TDBEdit; + v1Column24: TcxGridDBColumn; + v1Column25: TcxGridDBColumn; + DBEdit34: TDBEdit; + cxDBCurrencyEdit7: TcxDBCurrencyEdit; + Label49: TLabel; + Label50: TLabel; + DBEdit35: TDBEdit; + cxDBCurrencyEdit8: TcxDBCurrencyEdit; + Label51: TLabel; + Label52: TLabel; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBEditClick(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure TBExportClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure TBAddClick(Sender: TObject); + procedure OrderNoChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBTPClick(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure CheckBox2Click(Sender: TObject); + procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; + ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; + out AStyle: TcxStyle); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure tchkClick(Sender: TObject); + procedure tNochkClick(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + procedure OrderNoKeyPress(Sender: TObject; var Key: Char); + private + DQdate:TDateTime; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + procedure InitGridFH(); + procedure SetStatus(); + { Private declarations } + public + FFInt,FCloth:Integer; + fDParameters1:string; + { Public declarations } + end; + +var + frmProductOrderNewList_JD: TfrmProductOrderNewList_JD; + +implementation +uses + U_DataLink,U_OrderInPut,U_Fun; + +{$R *.dfm} +procedure TfrmProductOrderNewList_JD.SetStatus(); +begin +{ Tchk.Visible:=false; + tNochk.Visible:=false; + TBEdit.Enabled:=false; + TBDel.Enabled:=false; + if Trim(fDParameters1)='Ȩ' then + begin + + case cxTabControl1.TabIndex of + 0:begin + Tchk.Visible:=true; + tNochk.Visible:=false; + TBEdit.Enabled:=true; + TBDel.Enabled:=true; + end; + 1:begin + Tchk.Visible:=false; + tNochk.Visible:=true; + end; + 2:begin + Tchk.Visible:=false; + tNochk.Visible:=false; + end; + end; + end + else + begin + case cxTabControl1.TabIndex of + 0:begin + + TBEdit.Enabled:=true; + TBDel.Enabled:=true; + end; + 1:begin + + end; + 2:begin + + end; + end; + end; } +end; + +procedure TfrmProductOrderNewList_JD.FormDestroy(Sender: TObject); +begin + frmProductOrderNewList_JD:=nil; +end; + +procedure TfrmProductOrderNewList_JD.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmProductOrderNewList_JD.FormCreate(Sender: TObject); +begin + cxgrid1.Align:=alClient; + //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; + //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + DQdate:=SGetServerDate(ADOQueryTemp); +end; + +procedure TfrmProductOrderNewList_JD.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid(self.Caption+tv1.Name,Tv1,'ָʾ'); +end; + +procedure TfrmProductOrderNewList_JD.InitGrid(); +var + strwhere:string; +begin + strwhere:=''; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.add('exec P_View_order_Jd :begdate,:enddate,:WSql') ; + parameters.ParamByName('WSql').Value:=strwhere; + Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.DateTime); + Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',enddate.DateTime+1); + ExecSQL; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + TBFind.Click; + end; +end; + +procedure TfrmProductOrderNewList_JD.InitGridFH(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec Order_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmProductOrderNewList_JD.InitForm(); +begin + readCxGrid(self.Caption+tv1.Name,Tv1,'ָʾ'); + if FCloth=1 then + begin + v1Column4.Visible:=True; + end else + begin + v1Column4.Visible:=False; + end; + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-15; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 10* from JYOrder_Main Order by FillTime desc'); + Open; + end; + ComboBox1.Clear; + with ADOQueryTemp do + begin + First; + while not Eof do + begin + ComboBox1.Items.Add(Trim(ADOQueryTemp.fieldbyname('OrderNO').AsString)); + Next; + end; + end; + // InitGrid(); +end; + +procedure TfrmProductOrderNewList_JD.TBFindClick(Sender: TObject); +var + strwhere :string; +begin + if ADOQueryMain.Active=False then Exit; + strwhere:=SGetFilters(Panel1,1,2); + + SDofilter(ADOQueryMain,strwhere); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmProductOrderNewList_JD.TBEditClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; +{ if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then + begin + Application.MessageBox('ܲ˵!','ʾ',0); + Exit; + end; } + try + frmOrderInPut:=TfrmOrderInPut.Create(Application); + with frmOrderInPut do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + FOrderNo:=Trim(Self.Order_Main.fieldbyname('OrderNo').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut.Free; + end; +end; + +procedure TfrmProductOrderNewList_JD.TBDelClick(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; +{ if Trim(Order_Main.fieldbyname('Filler').AsString)<>Trim(DName) then + begin + Application.MessageBox('ܲ˵!','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select * from Contract_Cloth_LL A where exists (select * from JYOrder_Sub B where B.SubId=A.OrdSubId '); + SQL.Add(' and B.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''')'); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + Application.MessageBox('Ѳݲɾ!','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YF_Money_CR where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + Application.MessageBox('Ѳݲɾ!','ʾ',0); + Exit; + end; + {with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from Contract_Cloth_LLMX where OrdSubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + Application.MessageBox('ϲɾ!','ʾ',0); + Exit; + end; } +{ with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Sub_AnPai where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + Application.MessageBox('ѻزֲɾ!','ʾ',0); + Exit; + end; } + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + if DelData() then + begin + TBRafresh.Click; + end; +end; + +function TfrmProductOrderNewList_JD.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + sql.Add('delete JYOrder_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + {with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + if IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; } + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmProductOrderNewList_JD.TBExportClick(Sender: TObject); +begin + if ADOQueryMain.IsEmpty then Exit; + SelExportData(Tv1,ADOQueryMain,'ָʾб'); +end; + +procedure TfrmProductOrderNewList_JD.TBPrintClick(Sender: TObject); +var + fPrintFile:string; + Porderno,PRTCodeName,funit:string; + i,j:Integer; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾȱ.rmf' ; + + if FileExists(fPrintFile) then + begin + RMVariables['begdate']:=FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+' - '+FormatDateTime('yyyy-MM-dd',enddate.DateTime); + RMVariables['dtxz']:=formatdateTime('yyyy-MM-dd',Now); + RMVariables['zdr']:=Trim(dName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ.rmf'),'ʾ',0); + end; + +end; + +procedure TfrmProductOrderNewList_JD.TBRafreshClick(Sender: TObject); +begin + if FFInt=1 then + begin + InitGridFH(); + end + else + begin + InitGrid(); + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select Top 10* from JYOrder_Main Order by FillTime desc'); + Open; + end; + ComboBox1.Clear; + with ADOQueryTemp do + begin + First; + while not Eof do + begin + ComboBox1.Items.Add(Trim(ADOQueryTemp.fieldbyname('OrderNO').AsString)); + Next; + end; + end; + end; +end; + +procedure TfrmProductOrderNewList_JD.TBAddClick(Sender: TObject); +var + maxno:string; +begin + try + frmOrderInPut:=TfrmOrderInPut.Create(Application); + with frmOrderInPut do + begin + PState:=0; + FMainId:=''; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut.Free; + end; + + +end; + +procedure TfrmProductOrderNewList_JD.OrderNoChange(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmProductOrderNewList_JD.FormShow(Sender: TObject); +begin + SetStatus(); + InitForm(); +end; + +procedure TfrmProductOrderNewList_JD.TBTPClick(Sender: TObject); + var + FQty,FQty1,FMxQty,FPQty,FMxQtyS,FPQtyS:String; +begin +end; + +procedure TfrmProductOrderNewList_JD.CheckBox1Click(Sender: TObject); +begin + TBFind.Click; +end; + +procedure TfrmProductOrderNewList_JD.CheckBox2Click(Sender: TObject); +begin + TBRafresh.Click; +end; + +procedure TfrmProductOrderNewList_JD.Tv1StylesGetContentStyle( + Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; + AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); +var + id,id10:Integer; +begin + {try + if Tv1.GroupedItemCount=0 then + begin + Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; + Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; + if Trim(VarToStr(ARecord.Values[id]))='' then Exit; + if Id<0 then Exit; + if ARecord.Values[id10]='' then exit; + if (ARecord.Values[id]-DQdate)>=4 then Exit; + if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then + AStyle:=DataLink_.QHuangSe + else + if ARecord.Values[id]-DQdate<0 then + begin + AStyle:=DataLink_OrderManage.FenHongS; + end; + end else + begin + + end; + except + end; } +end; + +procedure TfrmProductOrderNewList_JD.N1Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ10.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ10.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderNewList_JD.N2Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderNewList_JD.ToolButton1Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmOrderInPut:=TfrmOrderInPut.Create(Application); + with frmOrderInPut do + begin + PState:=1; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + ToolBar2.Enabled:=False; + TBSave.Visible:=False; + ScrollBox1.Enabled:=False; + Tv1.OptionsSelection.CellSelect:=False; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut.Free; + end; +end; + +procedure TfrmProductOrderNewList_JD.ToolButton2Click(Sender: TObject); +begin + if Order_Main.IsEmpty then Exit; + try + frmOrderInPut:=TfrmOrderInPut.Create(Application); + with frmOrderInPut do + begin + PState:=1; + CopyInt:=99; + FMainId:=Trim(Self.Order_Main.fieldbyname('MainId').AsString); + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderInPut.Free; + end; +end; + +procedure TfrmProductOrderNewList_JD.ToolButton3Click(Sender: TObject); +begin + ModalResult:=1; +end; + +procedure TfrmProductOrderNewList_JD.tchkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select * from JYOrder_main '); + sql.Add('where mainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + open; + edit; + fieldbyname('status').Value:='1'; + post; + end; + application.MessageBox('ҵ˳ɹ','ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('ҵʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmProductOrderNewList_JD.tNochkClick(Sender: TObject); +begin + if Order_Main.IsEmpty then exit; + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select * from JYOrder_sub '); + sql.Add('where mainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + sql.Add('and isnull(substatus,'''')>''0'' '); + open; + if not ADOQueryCmd.IsEmpty then + begin + application.MessageBox('˵Ѿ ܳˣ','ʾϢ',0); + exit; + end; + end; + try + with ADOQueryCmd do + begin + close; + sql.Clear; + sql.Add('select * from JYOrder_main '); + sql.Add('where mainID='+quotedstr(trim(Order_Main.fieldbyname('mainID').AsString))); + open; + edit; + fieldbyname('status').Value:='0'; + post; + end; + application.MessageBox('˳ɹ','ʾϢ'); + TBRafresh.Click; + except + application.MessageBox('˳ʧܣ','ʾϢ',0); + end; +end; + +procedure TfrmProductOrderNewList_JD.cxTabControl1Change(Sender: TObject); +begin + application.ProcessMessages; + initGrid(); +end; + +procedure TfrmProductOrderNewList_JD.OrderNoKeyPress(Sender: TObject; + var Key: Char); +begin + if Key=#13 then + begin + if Length(Trim(OrderNo.Text))<4 then Exit; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.add('exec P_View_order_Jd :begdate,:enddate,:WSql') ; + parameters.ParamByName('WSql').Value:=' and B.OrderNo like '''+'%'+Trim(OrderNo.Text)+'%'+''''; + parameters.ParamByName('begdate').Value:='2013-12-01'; + parameters.ParamByName('enddate').Value:=SGetServerDate10(ADOQueryCmd); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; + end; +end; + +end. diff --git a/打卷检验管理/U_ProductOrderSel.dfm b/打卷检验管理/U_ProductOrderSel.dfm new file mode 100644 index 0000000..fd704ee --- /dev/null +++ b/打卷检验管理/U_ProductOrderSel.dfm @@ -0,0 +1,350 @@ +object frmProductOrderSel: TfrmProductOrderSel + Left = 134 + Top = 115 + Width = 1094 + Height = 600 + Caption = #29983#20135#25351#31034#21333#36873#25321 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1249 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object ToolButton3: TToolButton + Left = 126 + Top = 0 + Caption = #36873#25321 + ImageIndex = 106 + Visible = False + OnClick = ToolButton3Click + end + object TBPrint: TToolButton + Left = 185 + Top = 0 + AutoSize = True + Caption = #25171#21360 + ImageIndex = 12 + OnClick = TBPrintClick + end + object TBClose: TToolButton + Left = 248 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1249 + Height = 67 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label3: TLabel + Left = 27 + Top = 23 + Width = 39 + Height = 12 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object OrderNoM: TEdit + Tag = 2 + Left = 68 + Top = 19 + Width = 141 + Height = 20 + TabOrder = 0 + OnChange = OrderNoMChange + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 112 + Width = 1249 + Height = 369 + TabOrder = 2 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv1CellDblClick + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.OnGetContentStyle = Tv1StylesGetContentStyle + Styles.Header = DataLink_TradeManage.Default + object v1Column4: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.NullStyle = nssUnchecked + Visible = False + HeaderAlignmentHorz = taCenter + Width = 49 + end + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 72 + end + object v1ConNo: TcxGridDBColumn + Caption = #21512#21516#21495 + DataBinding.FieldName = 'ConNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1OrdDefStr1: TcxGridDBColumn + Caption = #20844#21496#32534#21495 + DataBinding.FieldName = 'OrdDefStr1' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 90 + end + object v1OrdPerson1: TcxGridDBColumn + Caption = #19994#21153#21592 + DataBinding.FieldName = 'OrdPerson1' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 73 + end + object v1JGFactoryName: TcxGridDBColumn + Caption = #26579#21378 + DataBinding.FieldName = 'JGFactoryName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object v1MPRTCodeName: TcxGridDBColumn + Caption = #20013#25991#21517#31216 + DataBinding.FieldName = 'MPRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 69 + end + object v1MPRTSpec: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'MPRTSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object v1MPRTCF: TcxGridDBColumn + Caption = #25104#20998 + DataBinding.FieldName = 'MPRTCF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 69 + end + object v1MPRTMF: TcxGridDBColumn + Caption = #38376#24133 + DataBinding.FieldName = 'MPRTMF' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object v1MPRTKZ: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'MPRTKZ' + Options.Focusing = False + Width = 54 + end + object v1Column8: TcxGridDBColumn + Caption = #22791#27880#21450#35201#27714 + DataBinding.FieldName = 'Note' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 92 + end + object v1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 63 + end + object v1PRTOrderQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'PRTOrderQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Styles.Header = DataLink_TradeManage.Default + Width = 67 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 544 + Top = 176 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 688 + Top = 224 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 552 + Top = 216 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 312 + Top = 248 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 440 + Top = 184 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 464 + Top = 208 + end + object RM1: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDBMain + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 336 + Top = 200 + ReportData = {} + end + object RMDBMain: TRMDBDataSet + Visible = True + DataSet = CDS_Print + Left = 392 + Top = 200 + end + object RMXLSExport1: TRMXLSExport + ShowAfterExport = True + ExportPrecision = 1 + PagesOfSheet = 1 + ExportImages = True + ExportFrames = True + ExportImageFormat = ifBMP + JPEGQuality = 0 + ScaleX = 1.000000000000000000 + ScaleY = 1.000000000000000000 + CompressFile = False + Left = 576 + Top = 248 + end + object PopupMenu1: TPopupMenu + Left = 288 + Top = 184 + object N2: TMenuItem + Caption = #26377#20379#24212#21830 + OnClick = N2Click + end + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_TradeManage.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 360 + Top = 240 + end + object CDS_Print: TClientDataSet + Aggregates = <> + Params = <> + Left = 344 + Top = 288 + end +end diff --git a/打卷检验管理/U_ProductOrderSel.pas b/打卷检验管理/U_ProductOrderSel.pas new file mode 100644 index 0000000..7f01c69 --- /dev/null +++ b/打卷检验管理/U_ProductOrderSel.pas @@ -0,0 +1,494 @@ +unit U_ProductOrderSel; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, + cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, + RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, + Menus; + +type + TfrmProductOrderSel = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBFind: TToolButton; + TBPrint: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + cxGridPopupMenu1: TcxGridPopupMenu; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + DataSource1: TDataSource; + Label3: TLabel; + OrderNoM: TEdit; + v1OrderNo: TcxGridDBColumn; + v1JGFactoryName: TcxGridDBColumn; + v1OrdPerson1: TcxGridDBColumn; + v1ConNo: TcxGridDBColumn; + v1PRTColor: TcxGridDBColumn; + v1MPRTSpec: TcxGridDBColumn; + v1MPRTCF: TcxGridDBColumn; + Order_Main: TClientDataSet; + RM1: TRMGridReport; + RMDBMain: TRMDBDataSet; + RMXLSExport1: TRMXLSExport; + v1MPRTCodeName: TcxGridDBColumn; + v1MPRTMF: TcxGridDBColumn; + v1PRTOrderQty: TcxGridDBColumn; + PopupMenu1: TPopupMenu; + N2: TMenuItem; + v1Column8: TcxGridDBColumn; + v1MPRTKZ: TcxGridDBColumn; + v1OrdDefStr1: TcxGridDBColumn; + ADOQueryPrint: TADOQuery; + CDS_Print: TClientDataSet; + ToolButton3: TToolButton; + v1Column4: TcxGridDBColumn; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TBFindClick(Sender: TObject); + procedure TBPrintClick(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure OrderNoMChange(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure TBTPClick(Sender: TObject); + procedure CheckBox1Click(Sender: TObject); + procedure CheckBox2Click(Sender: TObject); + procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; + ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; + out AStyle: TcxStyle); + procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; + ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; + var ADone: Boolean); + procedure N1Click(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + private + DQdate:TDateTime; + procedure InitGrid(); + procedure InitForm(); + function DelData():Boolean; + procedure InitGridFH(); + { Private declarations } + public + FFInt,FCloth:Integer; + + { Public declarations } + end; + +var + frmProductOrderSel: TfrmProductOrderSel; + +implementation +uses + U_DataLink,U_OrderInPut,U_Fun; + +{$R *.dfm} + +procedure TfrmProductOrderSel.FormDestroy(Sender: TObject); +begin + frmProductOrderSel:=nil; +end; + +procedure TfrmProductOrderSel.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmProductOrderSel.FormCreate(Sender: TObject); +begin + cxgrid1.Align:=alClient; + //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; + //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); + DQdate:=SGetServerDate(ADOQueryTemp); +end; + +procedure TfrmProductOrderSel.TBCloseClick(Sender: TObject); +begin + Close; + if FCloth<>1 then + WriteCxGrid('ָʾб',Tv1,'ָʾ') + else + WriteCxGrid('ָʾбѡ',Tv1,'ָʾ'); +end; + +procedure TfrmProductOrderSel.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select A.*,B.*,A.OrderNo OrderNoM from JYOrder_Main A left join JYOrder_Sub B on A.MainId=B.MainId '); + SQL.Add('where OrdDate>=:begdate and OrdDate<:enddate'); + if Trim(DParameters1)<>'Ȩ' then + begin + sql.Add('and A.Filler='''+Trim(DName)+''''); + end; + Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.DateTime); + Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',enddate.DateTime+1); + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; +procedure TfrmProductOrderSel.InitGridFH(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('exec Order_QryList :MainId,:WSql'); + Parameters.ParamByName('WSql').Value:=' and FillTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +' and FillTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + Open; + end; + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmProductOrderSel.InitForm(); +begin + if SGetServerDate(ADOQueryTemp)>StrToDate('2014-07-11') then + begin + ToolBar1.Visible:=False; + Application.MessageBox('ҪϵӦ̣','ʾ',0); + Exit; + end; + if FCloth<>1 then + ReadCxGrid('ָʾб',Tv1,'ָʾ') + else + ReadCxGrid('ָʾбѡ',Tv1,'ָʾ'); + + if FCloth=1 then + begin + v1Column4.Visible:=True; + v1PRTPrice.Visible:=False; + v1PRTPrice.Hidden:=True; + end else + begin + v1Column4.Visible:=False; + v1PRTPrice.Visible:=True; + v1PRTPrice.Hidden:=False; + end; + BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7; + EndDate.DateTime:=SGetServerDate10(ADOQueryTemp); + InitGrid(); +end; + +procedure TfrmProductOrderSel.TBFindClick(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +function TfrmProductOrderSel.DelData():Boolean; +begin + try + Result:=false; + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Sub where SubId='''+Trim(Order_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrder_Sub where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + if IsEmpty then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + end; + if Trim(Order_Main.fieldbyname('SubId').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrder_Main where MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + ExecSQL; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Result:=True; + except + ADOQueryCmd.Connection.RollbackTrans; + Result:=False; + Application.MessageBox('ɾ쳣','ʾ',0); + end; +end; + +procedure TfrmProductOrderSel.TBPrintClick(Sender: TObject); +var + fPrintFile:string; + Porderno:string; + i,j:Integer; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ.rmf' ; + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select A.*,B.*,PRTColorEng=(select Note from KH_Zdy CC where ZdyName=B.PRTColor and CC.Type=''OrdColor'' ) '); + sql.Add(' from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.MainId '); + sql.Add(' and A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+''''); + Open; + end; + SCreateCDS20(ADOQueryPrint,CDS_Print); + SInitCDSData20(ADOQueryPrint,CDS_Print); + i:=ADOQueryPrint.RecordCount; + ADOQueryPrint.First; + if i<19 then + begin + for j:=1 to 19-i do + begin + with CDS_Print do + begin + Append; + Post; + end; + end; + end; + with CDS_Print do + begin + Append; + FieldByName('Note').Value:=Trim(Order_Main.fieldbyname('Note').AsString); + FieldByName('OrdDefStr3').Value:=Trim(Order_Main.fieldbyname('OrdDefStr3').AsString); + FieldByName('SOrddefstr10').Value:=Trim(Order_Main.fieldbyname('OrderUnit').AsString); + FieldByName('SLbName').Value:=Trim(Order_Main.fieldbyname('SLbName').AsString); + FieldByName('OrdPerson1').Value:=Trim(Order_Main.fieldbyname('OrdPerson1').AsString); + Post; + end; + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ.rmf'),'ʾ',0); + end; +end; + +procedure TfrmProductOrderSel.TBRafreshClick(Sender: TObject); +begin + if FFInt=1 then + begin + InitGridFH(); + end else + InitGrid(); +end; + +procedure TfrmProductOrderSel.OrderNoMChange(Sender: TObject); +begin + if ADOQueryMain.Active=False then Exit; + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); +end; + +procedure TfrmProductOrderSel.FormShow(Sender: TObject); +begin + InitForm(); +end; + +procedure TfrmProductOrderSel.Tv1CellDblClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if ToolButton1.Visible=False then Exit; + ToolButton1.Click; +end; + +procedure TfrmProductOrderSel.TBTPClick(Sender: TObject); + var + FQty,FQty1,FMxQty,FPQty,FMxQtyS,FPQtyS:String; +begin +end; + +procedure TfrmProductOrderSel.CheckBox1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmProductOrderSel.CheckBox2Click(Sender: TObject); +begin + TBRafresh.Click; +end; + +procedure TfrmProductOrderSel.Tv1StylesGetContentStyle( + Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; + AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); +var + id,id10:Integer; +begin + {try + if Tv1.GroupedItemCount=0 then + begin + Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; + Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; + if Trim(VarToStr(ARecord.Values[id]))='' then Exit; + if Id<0 then Exit; + if ARecord.Values[id10]='' then exit; + if (ARecord.Values[id]-DQdate)>=4 then Exit; + if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then + AStyle:=DataLink_.QHuangSe + else + if ARecord.Values[id]-DQdate<0 then + begin + AStyle:=DataLink_OrderManage.FenHongS; + end; + end else + begin + + end; + except + end; } +end; + +procedure TfrmProductOrderSel.v1DeliveryDateCustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +begin + { Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount; + Id10:=TV1.GetColumnByFieldName('SubStatus').Index; + if Id<0 then Exit; + if AViewInfo.GridRecord.Values[Id10]='' then Exit; + if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit; + if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then + ACanvas.Brush.Color:=clYellow + else + if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then + begin + ACanvas.Brush.Color:=clRed; + end; + begin + ACanvas.Brush.Color:=clRed; + end else + if AViewInfo.GridRecord.Values[Id]='Purple' then + begin + ACanvas.Brush.Color:=clPurple; + end else + if AViewInfo.GridRecord.Values[Id]='Olive' then + begin + ACanvas.Brush.Color:=clOlive; + end else + if AViewInfo.GridRecord.Values[Id]='Teal' then + begin + ACanvas.Brush.Color:=clTeal; + end else + if AViewInfo.GridRecord.Values[Id]='Background' then + begin + ACanvas.Brush.Color:=clBackground; + end; } +end; + +procedure TfrmProductOrderSel.N1Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ10.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ10.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderSel.N2Click(Sender: TObject); +var + fPrintFile:string; + Porderno:string; +begin + if Order_Main.IsEmpty then Exit; + fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ָʾ.rmf' ; + SDofilter(ADOQueryMain,' OrderNoM='''+Trim(Order_Main.fieldbyname('OrderNoM').AsString)+''''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Porderno:=Trim(Order_Main.fieldbyname('OrderNoM').AsString); + if FileExists(fPrintFile) then + begin + //RMVariables['begindate']:=begindate.DateTime; + //RMVariables['enddate']:=enddate.DateTime; + //RMVariables['printtime']:=Now; + //RMVariables['printer']:=Trim(gUserName); + RM1.LoadFromFile(fPrintFile); + RM1.ShowReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ָʾ.rmf'),'ʾ',0); + end; + SDofilter(ADOQueryMain,''); + SCreateCDS20(ADOQueryMain,Order_Main); + SInitCDSData20(ADOQueryMain,Order_Main); + Order_Main.Locate('ordernoM',Porderno,[]); +end; + +procedure TfrmProductOrderSel.ToolButton3Click(Sender: TObject); +begin + ModalResult:=1; +end; + +end. diff --git a/打卷检验管理/U_ProductionAnPai.dfm b/打卷检验管理/U_ProductionAnPai.dfm new file mode 100644 index 0000000..650d559 --- /dev/null +++ b/打卷检验管理/U_ProductionAnPai.dfm @@ -0,0 +1,656 @@ +object frmProductionAnPai: TfrmProductionAnPai + Left = 53 + Top = 12 + Width = 1155 + Height = 669 + Caption = #29983#20135#23433#25490 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 14 + object cxGrid1: TcxGrid + Left = 0 + Top = 203 + Width = 1147 + Height = 329 + Align = alTop + TabOrder = 0 + object Tv1: TcxGridDBTableView + OnDblClick = Tv1DblClick + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv1CellClick + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Styles.Inactive = cxStyle1 + Styles.IncSearch = cxStyle1 + Styles.Selection = cxStyle1 + object v1Column16: TcxGridDBColumn + Caption = #23433#25490#26085#26399 + DataBinding.FieldName = 'AnPaiDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 87 + end + object v1Column4: TcxGridDBColumn + Caption = #29983#20135#24207#21495 + DataBinding.FieldName = 'SCOrder' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column4PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 75 + end + object v1Column13: TcxGridDBColumn + Caption = #23433#25490#31859#25968 + DataBinding.FieldName = 'OrderQtyM' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column19PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 74 + end + object v1Column19: TcxGridDBColumn + Caption = #23450#21367#38271'M' + DataBinding.FieldName = 'BigLen' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column19PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 78 + end + object v1Column18: TcxGridDBColumn + Caption = #23450#21367#25968 + DataBinding.FieldName = 'BigCount' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column19PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 78 + end + object v1Column20: TcxGridDBColumn + Caption = #29983#20135#38376#24133'cm' + DataBinding.FieldName = 'BigMF' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column19PropertiesEditValueChanged + Width = 86 + end + object v1Column21: TcxGridDBColumn + Caption = #23567#21367#20998#20999#20010#25968 + DataBinding.FieldName = 'SmalCount' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column19PropertiesEditValueChanged + Width = 96 + end + object v1Column22: TcxGridDBColumn + Caption = #23567#21367#20998#20999#24133#23485 + DataBinding.FieldName = 'SmalMF' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 239 + end + object v1Column23: TcxGridDBColumn + Caption = #23567#21367#20801#35768#20559#24046 + DataBinding.FieldName = 'SmalPC' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column23PropertiesEditValueChanged + Width = 98 + end + object v1Column24: TcxGridDBColumn + Caption = #20998#20999#35828#26126 + DataBinding.FieldName = 'SmalNote' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = False + Properties.OnButtonClick = v1Column24PropertiesButtonClick + Properties.OnEditValueChanged = v1Column24PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 129 + end + object v1Column25: TcxGridDBColumn + Caption = #25171#21253#35201#27714 + DataBinding.FieldName = 'DBNote' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column25PropertiesButtonClick + Properties.OnEditValueChanged = v1Column25PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 203 + end + object v1Column11: TcxGridDBColumn + Caption = #29983#20135#31859#25968 + DataBinding.FieldName = 'SCMQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 81 + end + object v1Column15: TcxGridDBColumn + Caption = #26410#29983#20135#31859#25968 + DataBinding.FieldName = 'WSCMQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 102 + end + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#32534#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 80 + end + object v1Column2: TcxGridDBColumn + Caption = #20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 135 + end + object v1Column8: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'ProductType' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 86 + end + object v1Column10: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'ProductQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 80 + end + object v1Column14: TcxGridDBColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'ProductUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 73 + end + object v1Column9: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'ProductSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 94 + end + object v1Column5: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 80 + end + object v1Column7: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 75 + end + object v1Column12: TcxGridDBColumn + Caption = #29366#24577 + DataBinding.FieldName = 'SCStatus' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'SWFBFK' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 83 + end + object v1Column26: TcxGridDBColumn + Caption = #23380#30446 + DataBinding.FieldName = 'WKMS' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 89 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'SWFBKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 103 + end + object v1Column6: TcxGridDBColumn + Caption = #23457#26680#20154 + DataBinding.FieldName = 'AnPaiChker' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 80 + end + object v1Column17: TcxGridDBColumn + Caption = #23457#26680#29366#24577 + DataBinding.FieldName = 'AnPaiChkStatus' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 78 + end + object v1Column1: TcxGridDBColumn + Caption = #21367#22343#37325#19978#38480 + DataBinding.FieldName = 'KZBig' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 93 + end + object v1Column3: TcxGridDBColumn + Caption = #21367#22343#37325#19979#38480 + DataBinding.FieldName = 'KZSmal' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 93 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel1: TPanel + Left = 0 + Top = 0 + Width = 1147 + Height = 82 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 324 + Top = 21 + Width = 56 + Height = 14 + Caption = #35746#21333#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label15: TLabel + Left = 29 + Top = 32 + Width = 8 + Height = 16 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object Label16: TLabel + Left = 901 + Top = 16 + Width = 7 + Height = 14 + end + object Label2: TLabel + Left = 47 + Top = 21 + Width = 56 + Height = 14 + Caption = #23433#25490#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label3: TLabel + Left = 197 + Top = 21 + Width = 21 + Height = 14 + Caption = '---' + end + object orderno: TEdit + Tag = 2 + Left = 381 + Top = 17 + Width = 129 + Height = 20 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 0 + OnChange = ordernoChange + end + object Button1: TButton + Left = 49 + Top = 48 + Width = 44 + Height = 25 + Caption = #21047#26032 + TabOrder = 1 + OnClick = Button1Click + end + object Button2: TButton + Left = 417 + Top = 48 + Width = 38 + Height = 25 + Caption = #20851#38381 + TabOrder = 2 + OnClick = Button2Click + end + object Button3: TButton + Left = 273 + Top = 48 + Width = 43 + Height = 25 + Caption = #23548#20986 + TabOrder = 3 + OnClick = Button3Click + end + object BegDate: TDateTimePicker + Left = 104 + Top = 17 + Width = 93 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 4 + end + object EndDate: TDateTimePicker + Left = 215 + Top = 17 + Width = 94 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 5 + end + object Button4: TButton + Left = 112 + Top = 48 + Width = 65 + Height = 25 + Caption = #23457#26680#36890#36807 + TabOrder = 6 + OnClick = Button4Click + end + object Button5: TButton + Left = 190 + Top = 48 + Width = 75 + Height = 25 + Caption = #23457#26680#19981#36890#36807 + TabOrder = 7 + OnClick = Button5Click + end + object Button7: TButton + Left = 329 + Top = 48 + Width = 75 + Height = 25 + Caption = #27974#26009#37197#21046 + TabOrder = 8 + Visible = False + OnClick = Button7Click + end + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 82 + Width = 1147 + Height = 18 + Align = alTop + Style = 9 + TabIndex = 0 + TabOrder = 2 + Tabs.Strings = ( + #24453#23457#26680 + #24050#23457#26680 + #24050#23436#25104) + OnChange = cxTabControl1Change + ClientRectBottom = 19 + ClientRectRight = 1147 + ClientRectTop = 19 + end + object Panel2: TPanel + Left = 0 + Top = 100 + Width = 1147 + Height = 103 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 3 + object Label4: TLabel + Left = 32 + Top = 24 + Width = 70 + Height = 14 + Caption = #23567#21367#24133#23485'cm' + end + object SmalMF1: TEdit + Tag = 2 + Left = 104 + Top = 21 + Width = 97 + Height = 22 + TabOrder = 0 + Visible = False + end + object SmalMF2: TEdit + Tag = 2 + Left = 224 + Top = 21 + Width = 89 + Height = 22 + TabOrder = 1 + Visible = False + end + object SmalMF3: TEdit + Tag = 2 + Left = 344 + Top = 21 + Width = 81 + Height = 22 + TabOrder = 2 + Visible = False + end + object SmalMF4: TEdit + Tag = 2 + Left = 456 + Top = 21 + Width = 97 + Height = 22 + TabOrder = 3 + Visible = False + end + object SmalMF5: TEdit + Tag = 2 + Left = 584 + Top = 21 + Width = 89 + Height = 22 + TabOrder = 4 + Visible = False + end + object SmalMF6: TEdit + Tag = 2 + Left = 704 + Top = 21 + Width = 105 + Height = 22 + TabOrder = 5 + Visible = False + end + object SmalMF7: TEdit + Tag = 2 + Left = 104 + Top = 45 + Width = 97 + Height = 22 + TabOrder = 6 + Visible = False + end + object SmalMF8: TEdit + Tag = 2 + Left = 224 + Top = 45 + Width = 89 + Height = 22 + TabOrder = 7 + Visible = False + end + object SmalMF9: TEdit + Tag = 2 + Left = 344 + Top = 45 + Width = 81 + Height = 22 + TabOrder = 8 + Visible = False + end + object SmalMF10: TEdit + Tag = 2 + Left = 456 + Top = 45 + Width = 97 + Height = 22 + TabOrder = 9 + Visible = False + end + object SmalMF11: TEdit + Tag = 2 + Left = 584 + Top = 45 + Width = 89 + Height = 22 + TabOrder = 10 + Visible = False + end + object SmalMF12: TEdit + Tag = 2 + Left = 704 + Top = 45 + Width = 105 + Height = 22 + TabOrder = 11 + Visible = False + end + object Button6: TButton + Left = 104 + Top = 72 + Width = 97 + Height = 25 + Caption = #30830#23450 + TabOrder = 12 + Visible = False + OnClick = Button6Click + end + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 576 + Top = 288 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 576 + Top = 256 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 608 + Top = 256 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 640 + Top = 256 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 696 + Top = 264 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 480 + Top = 280 + end + object cxStyleRepository1: TcxStyleRepository + object cxStyle1: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = 4707838 + Font.Charset = GB2312_CHARSET + Font.Color = clBlack + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlack + end + end +end diff --git a/打卷检验管理/U_ProductionAnPai.pas b/打卷检验管理/U_ProductionAnPai.pas new file mode 100644 index 0000000..5a07e48 --- /dev/null +++ b/打卷检验管理/U_ProductionAnPai.pas @@ -0,0 +1,666 @@ +unit U_ProductionAnPai; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ExtCtrls, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, ADODB, DBClient, cxTextEdit, cxPC, + cxCalendar, ComCtrls, cxButtonEdit, cxGridCustomPopupMenu, + cxGridPopupMenu; + +type + TfrmProductionAnPai = class(TForm) + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + Panel1: TPanel; + Label1: TLabel; + Label15: TLabel; + Label16: TLabel; + orderno: TEdit; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column11: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + CDS_Main: TClientDataSet; + DataSource1: TDataSource; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + ADOQueryCmd: TADOQuery; + v1Column13: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + Button1: TButton; + Button2: TButton; + Button3: TButton; + v1Column15: TcxGridDBColumn; + cxTabControl1: TcxTabControl; + v1Column16: TcxGridDBColumn; + Label2: TLabel; + Label3: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Button4: TButton; + Button5: TButton; + v1Column17: TcxGridDBColumn; + Panel2: TPanel; + SmalMF1: TEdit; + SmalMF2: TEdit; + SmalMF3: TEdit; + SmalMF4: TEdit; + SmalMF5: TEdit; + SmalMF6: TEdit; + Label4: TLabel; + SmalMF7: TEdit; + SmalMF8: TEdit; + SmalMF9: TEdit; + SmalMF10: TEdit; + SmalMF11: TEdit; + SmalMF12: TEdit; + v1Column18: TcxGridDBColumn; + v1Column19: TcxGridDBColumn; + v1Column20: TcxGridDBColumn; + v1Column21: TcxGridDBColumn; + v1Column22: TcxGridDBColumn; + v1Column23: TcxGridDBColumn; + Button6: TButton; + v1Column24: TcxGridDBColumn; + v1Column25: TcxGridDBColumn; + cxGridPopupMenu1: TcxGridPopupMenu; + Button7: TButton; + v1Column26: TcxGridDBColumn; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure ordernoChange(Sender: TObject); + procedure v1Column4PropertiesEditValueChanged(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure Button5Click(Sender: TObject); + procedure Tv1DblClick(Sender: TObject); + procedure v1Column19PropertiesEditValueChanged(Sender: TObject); + procedure v1Column23PropertiesEditValueChanged(Sender: TObject); + procedure Button6Click(Sender: TObject); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure v1Column24PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column24PropertiesEditValueChanged(Sender: TObject); + procedure v1Column25PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column25PropertiesEditValueChanged(Sender: TObject); + procedure Button7Click(Sender: TObject); + private + { Private declarations } + procedure InitGrid(); + procedure VisbleControl(Panel55:TWinControl;XS:Boolean;SXCount:Integer); + public + { Public declarations } + end; + +var + frmProductionAnPai: TfrmProductionAnPai; + +implementation +uses + U_DataLink,U_Fun,U_OrderAttachment,U_ZDYHelpSel,U_JiangLiaoSet; + +{$R *.dfm} + +procedure TfrmProductionAnPai.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + orderno.SetFocus; + Action:=caFree; +end; + +procedure TfrmProductionAnPai.FormDestroy(Sender: TObject); +begin + frmProductionAnPai:=nil; +end; + +procedure TfrmProductionAnPai.FormCreate(Sender: TObject); +begin + cxGrid1.Align:=alClient; + if Trim(DParameters1)='' then + begin + Button5.Visible:=True; + Button4.Visible:=True; + end else + begin + Button5.Visible:=False; + Button4.Visible:=False; + end; +end; +procedure TfrmProductionAnPai.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add(' exec P_ProductAnPai :begdate,:enddate,:pstate,:Wsql'); + if cxTabControl1.TabIndex=0 then + begin + Parameters.ParamByName('begdate').Value:=''; + Parameters.ParamByName('enddate').Value:=''; + Parameters.ParamByName('pstate').Value:=1; + end else + if cxTabControl1.TabIndex=1 then + begin + Parameters.ParamByName('begdate').Value:=''; + Parameters.ParamByName('enddate').Value:=''; + Parameters.ParamByName('pstate').Value:=2; + end else + if cxTabControl1.TabIndex=2 then + begin + Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.Date) ; + Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',EndDate.Date+1); + Parameters.ParamByName('pstate').Value:=3; + end; + Parameters.ParamByName('Wsql').Value:=''; + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmProductionAnPai.Button1Click(Sender: TObject); +begin + orderno.SetFocus; + InitGrid(); +end; + +procedure TfrmProductionAnPai.FormShow(Sender: TObject); +begin + ReadCxGrid('10',Tv1,'޷IJ'); + EndDate.Date:=SGetServerDate(ADOQueryTemp); + BegDate.Date:=EndDate.Date-30; + if cxTabControl1.TabIndex=1 then + begin + Tv1.OptionsSelection.CellSelect:=False; + end else + Tv1.OptionsSelection.CellSelect:=True; + if Trim(DParameters1)='' then + begin + Tv1.OptionsSelection.CellSelect:=False; + end; + InitGrid(); +end; + +procedure TfrmProductionAnPai.ordernoChange(Sender: TObject); +begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); +end; + +procedure TfrmProductionAnPai.v1Column4PropertiesEditValueChanged( + Sender: TObject); +var + mvalue:String; +begin + mvalue:=TcxTextEdit(Sender).EditingText; + with CDS_Main do + begin + Edit; + FieldByName('SCOrder').Value:=Trim(mvalue); + FieldByName('AnPaiDate').Value:=Now; + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFBOrder_Sub Set SCOrder='''+Trim(mvalue)+''''); + SQL.Add(',AnPaiDate=getdate()'); + SQL.Add(' where SubId='''+Trim(CDS_Main.fieldbyname('SubID').AsString)+''''); + ExecSQL; + end; +end; + +procedure TfrmProductionAnPai.Button2Click(Sender: TObject); +begin + orderno.SetFocus; + WriteCxGrid('10',Tv1,'޷IJ'); + Close; +end; + +procedure TfrmProductionAnPai.Button3Click(Sender: TObject); +begin + if CDS_Main.IsEmpty then Exit; + TcxGridToExcel('',cxGrid1); +end; + +procedure TfrmProductionAnPai.cxTabControl1Change(Sender: TObject); +begin + InitGrid(); + if cxTabControl1.TabIndex=0 then + begin + Tv1.OptionsSelection.CellSelect:=True; + end else + Tv1.OptionsSelection.CellSelect:=False; + if Trim(DParameters1)='' then + begin + Tv1.OptionsSelection.CellSelect:=False; + end; + VisbleControl(Panel2,False,Panel2.ControlCount); +end; + +procedure TfrmProductionAnPai.Button4Click(Sender: TObject); +begin + if cxTabControl1.TabIndex<>0 then Exit; + if Trim(DName)=Trim(CDS_Main.fieldbyname('AnPaiPerson').AsString) then + begin + Application.MessageBox('Լݣ','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪִв','ʾ',32+4)<>IDYES then Exit; + try + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFBOrder_Sub Set AnPaiChker='''+Trim(DName)+''''); + sql.Add(',AnPaiChkStatus=''ͨ'''); + sql.add(',AnPaiChkDate=getdate()'); + SQL.Add(' where SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + + ADOQueryCmd.Connection.CommitTrans; + CDS_Main.Delete; + Application.MessageBox('ɹ','ʾ',0); + Exit; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmProductionAnPai.Button5Click(Sender: TObject); +begin + if cxTabControl1.TabIndex<>1 then Exit; + if Trim(DName)=Trim(CDS_Main.fieldbyname('AnPaiPerson').AsString) then + begin + Application.MessageBox('Լݣ','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪִв','ʾ',32+4)<>IDYES then Exit; + try + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFBOrder_Sub Set AnPaiChker='''+Trim(DName)+''''); + sql.Add(',AnPaiChkStatus=''˲ͨ'','); + sql.add('AnPaiChkDate=getdate()'); + SQL.Add(' where SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + ADOQueryCmd.Connection.CommitTrans; + CDS_Main.Delete; + Application.MessageBox('ɹ','ʾ',0); + Exit; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmProductionAnPai.Tv1DblClick(Sender: TObject); +begin + try + frmOrderAttachment:=TfrmOrderAttachment.Create(Application); + with frmOrderAttachment do + begin + FAMainId:=Trim(Self.CDS_Main.fieldbyname('MainId').AsString); + Panel1.Enabled:=False; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderAttachment.Free; + end; +end; + +procedure TfrmProductionAnPai.v1Column19PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,FFieldName:String; + i:Integer; +begin + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(mvalue)='' then + mvalue:='0'; + FFieldName:=Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); + with CDS_Main do + begin + Edit; + FieldByName(FFieldName).Value:=Trim(mvalue); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFBOrder_Sub Set '+FFieldName+'='+Trim(mvalue)); + SQL.Add(',AnPaiPerson='''+Trim(DName)+''''); + SQL.Add(' where SubId='''+Trim(CDS_Main.fieldbyname('SubID').AsString)+''''); + ExecSQL; + end; + if Trim(FFieldName)='SmalCount' then + begin + VisbleControl(Panel2,False,Panel2.ControlCount); + VisbleControl(Panel2,True,strtoint(mvalue)+1); + end; + if strtoint(mvalue)+1>0 then + begin + Button6.Visible:=True; + end; +end; + +procedure TfrmProductionAnPai.v1Column23PropertiesEditValueChanged( + Sender: TObject); +var + mvalue:String; +begin + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(mvalue)='' then + mvalue:=''; + with CDS_Main do + begin + Edit; + FieldByName('SmalPC').Value:=Trim(mvalue); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFBOrder_Sub Set SmalPC='''+Trim(mvalue)+''''); + SQL.Add(' where SubId='''+Trim(CDS_Main.fieldbyname('SubID').AsString)+''''); + ExecSQL; + end; +end; +procedure TfrmProductionAnPai.VisbleControl(Panel55:TWinControl;XS:Boolean;SXCount:Integer); +var + i:Integer; +begin + with Panel55 do + begin + for i:=0 to SXCount-1 do + begin + Controls[i].Visible:=XS; + end; + end; +end; + +procedure TfrmProductionAnPai.Button6Click(Sender: TObject); +var + i,j:Integer; + FFname,FFnameValue,FSubId:string; +begin + //FSubId:=Trim(CDS_Main.fieldbyname('SubId').AsString); + try + j:=0; + ADOQueryCmd.Connection.BeginTrans; + with Panel2 do + begin + for i:=0 to Panel2.ControlCount-1 do + begin + if Controls[i] is TLabel then Continue; + if Controls[i] is TButton then Continue; + if Controls[i].Visible=True then + begin + FFname:=Trim(Controls[i].Name); + if Trim(TEdit(Controls[i]).Text)='' then + begin + ADOQueryCmd.Connection.RollbackTrans; + j:=9; + Break; + end; + if StrToFloat((TEdit(Controls[i]).Text))=0 then + begin + ADOQueryCmd.Connection.RollbackTrans; + j:=10; + Break; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Sub Set '+FFname+'='+Trim(TEdit(Controls[i]).Text)); + SQL.Add(' where SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; + end; + if j=0 then + ADOQueryCmd.Connection.CommitTrans + else + if j=9 then + begin + //ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('СΪգ','ʾ',0); + Exit; + end else + if j=10 then + begin + //ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('СΪ㣡','ʾ',0); + Exit; + end; + end; + //InitGrid(); + // CDS_Main.Locate('SubId',Trim(FSubId),[]); + with Panel2 do + begin + j:=0; + for i:=0 to Panel2.ControlCount-1 do + begin + if Controls[i] is TLabel then Continue; + if Controls[i] is TButton then Continue; + if TEdit(Controls[i]).Visible=True then + begin + if j=0 then + FSubId:=Trim(TEdit(Controls[i]).Text) + else + FSubId:=FSubId+','+Trim(TEdit(Controls[i]).Text); + j:=j+1; + end; + end; + end; + with CDS_Main do + begin + Edit; + FieldByName('SmalMF').Value:=Trim(FSubId); + Post; + end; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȷ쳣','ʾ',0); + end; +end; + +procedure TfrmProductionAnPai.Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + VisbleControl(Panel2,False,Panel2.ControlCount); + VisbleControl(Panel2,True,CDS_Main.fieldbyname('SmalCount').Value+1); + SCSHDataCDS(CDS_Main,Panel2,2); + if Trim(CDS_Main.FieldByName('SmalCount').AsString)='' then Exit; + if CDS_Main.fieldbyname('SmalCount').Value>0 then + begin + if cxTabControl1.TabIndex=0 then + Button6.Visible:=True + else + Button6.Visible:=False; + end; + +end; + +procedure TfrmProductionAnPai.v1Column24PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +var + mvalue:String; +begin + mvalue:=Trim(CDS_Main.fieldbyname('SmalNote').AsString); + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:='SmalNote'; + flagname:='˵'; + if ShowModal=1 then + begin + with Self.CDS_Main do + begin + Edit; + FieldByName('SmalNote').Value:=mvalue+Trim(ReturnStr); + //post; + end; + mvalue:=mvalue+ReturnStr; + with Self.ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('UPdate WFBOrder_Sub Set SmalNote='''+Trim(mvalue)+''''); + SQL.Add(' where SubId='''+Trim(CDS_Main.fieldbyname('SubID').AsString)+''''); + ExecSQL; + end; + end; + end; + finally + end; +end; + +procedure TfrmProductionAnPai.v1Column24PropertiesEditValueChanged( + Sender: TObject); +var + mvalue:String; +begin + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(mvalue)='' then + mvalue:=''; + with CDS_Main do + begin + Edit; + FieldByName('SmalNote').Value:=Trim(mvalue); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFBOrder_Sub Set SmalNote='''+Trim(mvalue)+''''); + SQL.Add(' where SubId='''+Trim(CDS_Main.fieldbyname('SubID').AsString)+''''); + ExecSQL; + end; +end; + +procedure TfrmProductionAnPai.v1Column25PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +var + mvalue:String; +begin + mvalue:=Trim(CDS_Main.fieldbyname('DBNote').AsString); + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:='DBNote'; + flagname:='Ҫ'; + if ShowModal=1 then + begin + with Self.CDS_Main do + begin + Edit; + FieldByName('DBNote').Value:=mvalue+Trim(ReturnStr); + //post; + end; + mvalue:=mvalue+ReturnStr; + with Self.ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('UPdate WFBOrder_Sub Set DBNote='''+Trim(mvalue)+''''); + SQL.Add(' where SubId='''+Trim(CDS_Main.fieldbyname('SubID').AsString)+''''); + ExecSQL; + end; + end; + end; + finally + end; +end; + +procedure TfrmProductionAnPai.v1Column25PropertiesEditValueChanged( + Sender: TObject); +var + mvalue:String; +begin + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(mvalue)='' then + mvalue:=''; + with CDS_Main do + begin + Edit; + FieldByName('DBNote').Value:=Trim(mvalue); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFBOrder_Sub Set DBNote='''+Trim(mvalue)+''''); + SQL.Add(' where SubId='''+Trim(CDS_Main.fieldbyname('SubID').AsString)+''''); + ExecSQL; + end; +end; + +procedure TfrmProductionAnPai.Button7Click(Sender: TObject); +begin + try + frmJiangLiaoSet:=TfrmJiangLiaoSet.Create(Application); + with frmJiangLiaoSet do + begin + if ShowModal=1 then + begin + + end; + end; + finally + end; +end; + +end. diff --git a/打卷检验管理/U_ProductionAnPaiNew.dfm b/打卷检验管理/U_ProductionAnPaiNew.dfm new file mode 100644 index 0000000..b4e75d7 --- /dev/null +++ b/打卷检验管理/U_ProductionAnPaiNew.dfm @@ -0,0 +1,934 @@ +object frmProductionAnPaiNew: TfrmProductionAnPaiNew + Left = 97 + Top = 39 + Width = 1155 + Height = 671 + Caption = #29983#20135#23433#25490 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 14 + object cxGrid1: TcxGrid + Left = 0 + Top = 203 + Width = 1147 + Height = 246 + Align = alTop + TabOrder = 0 + object Tv1: TcxGridDBTableView + OnDblClick = Tv1DblClick + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv1CellClick + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Styles.Inactive = cxStyle1 + Styles.IncSearch = cxStyle1 + Styles.Selection = cxStyle1 + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#32534#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 80 + end + object v1Column2: TcxGridDBColumn + Caption = #20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 135 + end + object v1Column8: TcxGridDBColumn + Caption = #31867#22411 + DataBinding.FieldName = 'ProductType' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 86 + end + object v1Column10: TcxGridDBColumn + Caption = #35746#21333#25968#37327 + DataBinding.FieldName = 'ProductQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 80 + end + object v1Column14: TcxGridDBColumn + Caption = #35746#21333#21333#20301 + DataBinding.FieldName = 'ProductUnit' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 73 + end + object v1Column9: TcxGridDBColumn + Caption = #35268#26684 + DataBinding.FieldName = 'ProductSpec' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 94 + end + object v1Column5: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 80 + end + object v1Column7: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 75 + end + object v1PRTMF: TcxGridDBColumn + Caption = #38376#24133'(cm)' + DataBinding.FieldName = 'FSWFBFK' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 83 + end + object v1Column26: TcxGridDBColumn + Caption = #23380#30446 + DataBinding.FieldName = 'WKMS' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 89 + end + object v1PRTKZ: TcxGridDBColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'SWFBKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 103 + end + object v1Column1: TcxGridDBColumn + Caption = #21367#22343#37325#19978#38480 + DataBinding.FieldName = 'KZBig' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 93 + end + object v1Column3: TcxGridDBColumn + Caption = #21367#22343#37325#19979#38480 + DataBinding.FieldName = 'KZSmal' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 93 + end + object v1Column4: TcxGridDBColumn + Caption = #23457#26680#20154 + DataBinding.FieldName = 'AnPaiChker' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 65 + end + object v1Column6: TcxGridDBColumn + Caption = #23457#26680#29366#24577 + DataBinding.FieldName = 'AnPaiChkStatus' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Width = 68 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object Panel1: TPanel + Left = 0 + Top = 0 + Width = 1147 + Height = 82 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 324 + Top = 21 + Width = 56 + Height = 14 + Caption = #35746#21333#32534#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label15: TLabel + Left = 29 + Top = 32 + Width = 8 + Height = 16 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object Label16: TLabel + Left = 901 + Top = 16 + Width = 7 + Height = 14 + end + object Label2: TLabel + Left = 47 + Top = 21 + Width = 56 + Height = 14 + Caption = #23433#25490#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label3: TLabel + Left = 197 + Top = 21 + Width = 21 + Height = 14 + Caption = '---' + end + object Label5: TLabel + Left = 468 + Top = 21 + Width = 28 + Height = 14 + Caption = #20195#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label6: TLabel + Left = 585 + Top = 21 + Width = 28 + Height = 14 + Caption = #38376#24133 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label7: TLabel + Left = 708 + Top = 21 + Width = 28 + Height = 14 + Caption = #20811#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object orderno: TEdit + Tag = 2 + Left = 381 + Top = 17 + Width = 76 + Height = 20 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 0 + OnChange = ordernoChange + end + object Button1: TButton + Left = 49 + Top = 48 + Width = 44 + Height = 25 + Caption = #21047#26032 + TabOrder = 1 + OnClick = Button1Click + end + object Button2: TButton + Left = 643 + Top = 48 + Width = 38 + Height = 25 + Caption = #20851#38381 + TabOrder = 2 + OnClick = Button2Click + end + object Button3: TButton + Left = 275 + Top = 48 + Width = 43 + Height = 25 + Caption = #23548#20986 + TabOrder = 3 + OnClick = Button3Click + end + object BegDate: TDateTimePicker + Left = 104 + Top = 17 + Width = 93 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 4 + end + object EndDate: TDateTimePicker + Left = 215 + Top = 17 + Width = 94 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 5 + end + object Button4: TButton + Left = 107 + Top = 48 + Width = 65 + Height = 25 + Caption = #23457#26680#36890#36807 + TabOrder = 6 + OnClick = Button4Click + end + object Button5: TButton + Left = 186 + Top = 48 + Width = 75 + Height = 25 + Caption = #23457#26680#19981#36890#36807 + TabOrder = 7 + OnClick = Button5Click + end + object Button7: TButton + Left = 689 + Top = 48 + Width = 75 + Height = 25 + Caption = #27974#26009#37197#21046 + TabOrder = 8 + Visible = False + OnClick = Button7Click + end + object Button8: TButton + Left = 413 + Top = 48 + Width = 66 + Height = 25 + Caption = #29983#20135#25764#38144 + TabOrder = 9 + OnClick = Button8Click + end + object Button9: TButton + Left = 333 + Top = 48 + Width = 66 + Height = 25 + Caption = #29983#20135#19979#36798 + TabOrder = 10 + OnClick = Button9Click + end + object Button10: TButton + Left = 493 + Top = 48 + Width = 48 + Height = 25 + Caption = #23436#25104 + TabOrder = 11 + OnClick = Button10Click + end + object Button11: TButton + Left = 552 + Top = 48 + Width = 73 + Height = 25 + Caption = #23436#25104#25764#38144 + TabOrder = 12 + OnClick = Button11Click + end + object SWFBCodeName: TEdit + Tag = 2 + Left = 497 + Top = 17 + Width = 76 + Height = 20 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 13 + OnChange = ordernoChange + end + object FSWFBFK10: TEdit + Tag = 2 + Left = 618 + Top = 17 + Width = 76 + Height = 20 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 14 + OnChange = ordernoChange + end + object SWFBKZ10: TEdit + Tag = 2 + Left = 738 + Top = 17 + Width = 76 + Height = 20 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 15 + OnChange = ordernoChange + end + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 82 + Width = 1147 + Height = 18 + Align = alTop + Style = 9 + TabIndex = 0 + TabOrder = 2 + Tabs.Strings = ( + #24453#23457#26680 + #24050#23457#26680 + #24050#23436#25104) + OnChange = cxTabControl1Change + ClientRectBottom = 19 + ClientRectRight = 1147 + ClientRectTop = 19 + end + object Panel2: TPanel + Left = 0 + Top = 100 + Width = 1147 + Height = 103 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 3 + object Label4: TLabel + Left = 32 + Top = 24 + Width = 70 + Height = 14 + Caption = #23567#21367#24133#23485'cm' + end + object SmalMF1: TEdit + Tag = 2 + Left = 104 + Top = 21 + Width = 97 + Height = 22 + TabOrder = 0 + Visible = False + end + object SmalMF2: TEdit + Tag = 2 + Left = 224 + Top = 21 + Width = 89 + Height = 22 + TabOrder = 1 + Visible = False + end + object SmalMF3: TEdit + Tag = 2 + Left = 344 + Top = 21 + Width = 81 + Height = 22 + TabOrder = 2 + Visible = False + end + object SmalMF4: TEdit + Tag = 2 + Left = 456 + Top = 21 + Width = 97 + Height = 22 + TabOrder = 3 + Visible = False + end + object SmalMF5: TEdit + Tag = 2 + Left = 584 + Top = 21 + Width = 89 + Height = 22 + TabOrder = 4 + Visible = False + end + object SmalMF6: TEdit + Tag = 2 + Left = 704 + Top = 21 + Width = 105 + Height = 22 + TabOrder = 5 + Visible = False + end + object SmalMF7: TEdit + Tag = 2 + Left = 104 + Top = 45 + Width = 97 + Height = 22 + TabOrder = 6 + Visible = False + end + object SmalMF8: TEdit + Tag = 2 + Left = 224 + Top = 45 + Width = 89 + Height = 22 + TabOrder = 7 + Visible = False + end + object SmalMF9: TEdit + Tag = 2 + Left = 344 + Top = 45 + Width = 81 + Height = 22 + TabOrder = 8 + Visible = False + end + object SmalMF10: TEdit + Tag = 2 + Left = 456 + Top = 45 + Width = 97 + Height = 22 + TabOrder = 9 + Visible = False + end + object SmalMF11: TEdit + Tag = 2 + Left = 584 + Top = 45 + Width = 89 + Height = 22 + TabOrder = 10 + Visible = False + end + object SmalMF12: TEdit + Tag = 2 + Left = 704 + Top = 45 + Width = 105 + Height = 22 + TabOrder = 11 + Visible = False + end + object Button6: TButton + Left = 104 + Top = 72 + Width = 97 + Height = 25 + Caption = #30830#23450 + TabOrder = 12 + Visible = False + OnClick = Button6Click + end + end + object cxGrid2: TcxGrid + Left = 0 + Top = 464 + Width = 1147 + Height = 170 + Align = alBottom + PopupMenu = PopupMenu1 + TabOrder = 4 + object Tv2: TcxGridDBTableView + OnDblClick = Tv1DblClick + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv2CellClick + DataController.DataSource = DSSCAnPai + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + Column = cxGridDBColumn12 + end + item + Kind = skSum + Column = cxGridDBColumn13 + end + item + Kind = skSum + Column = cxGridDBColumn5 + end + item + Kind = skSum + Column = cxGridDBColumn3 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = cxStyle1 + Styles.IncSearch = cxStyle1 + Styles.Selection = cxStyle1 + object v2Column1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 81 + end + object v2Column2: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 73 + end + object v2Column3: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 72 + end + object v2Column4: TcxGridDBColumn + Caption = #20811#37325'(g/'#13217')' + DataBinding.FieldName = 'SWFBKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 84 + end + object cxGridDBColumn1: TcxGridDBColumn + Caption = #23433#25490#26085#26399 + DataBinding.FieldName = 'AnPaiDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 87 + end + object cxGridDBColumn2: TcxGridDBColumn + Caption = #29983#20135#24207#21495 + DataBinding.FieldName = 'SCOrder' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column4PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 75 + end + object cxGridDBColumn3: TcxGridDBColumn + Caption = #23433#25490#31859#25968 + DataBinding.FieldName = 'OrderQtyM' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column19PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 74 + end + object cxGridDBColumn4: TcxGridDBColumn + Caption = #23450#21367#38271'M' + DataBinding.FieldName = 'BigLen' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column19PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 78 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #23450#21367#25968 + DataBinding.FieldName = 'BigCount' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column19PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 78 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #38376#24133#19978#38480'cm' + DataBinding.FieldName = 'BigMF' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column19PropertiesEditValueChanged + Width = 95 + end + object v2Column9: TcxGridDBColumn + Caption = #38376#24133#19979#38480'cm' + DataBinding.FieldName = 'BigMFSmal' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column19PropertiesEditValueChanged + Width = 85 + end + object cxGridDBColumn7: TcxGridDBColumn + Caption = #23567#21367#20998#20999#20010#25968 + DataBinding.FieldName = 'SmalCount' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column19PropertiesEditValueChanged + Width = 94 + end + object cxGridDBColumn8: TcxGridDBColumn + Caption = #23567#21367#20998#20999#24133#23485 + DataBinding.FieldName = 'SmalMF' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 228 + end + object v2Column5: TcxGridDBColumn + Caption = #37325#37327#35828#26126 + DataBinding.FieldName = 'WeigthNote' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v2Column5PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 112 + end + object v2Column6: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'APNote' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v2Column6PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 117 + end + object cxGridDBColumn9: TcxGridDBColumn + Caption = #23567#21367#20801#35768#20559#24046 + DataBinding.FieldName = 'SmalPC' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = v1Column23PropertiesEditValueChanged + Width = 98 + end + object cxGridDBColumn10: TcxGridDBColumn + Caption = #20998#20999#35828#26126 + DataBinding.FieldName = 'SmalNote' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = False + Properties.OnButtonClick = v1Column24PropertiesButtonClick + Properties.OnEditValueChanged = v1Column24PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 129 + end + object cxGridDBColumn11: TcxGridDBColumn + Caption = #25171#21253#35201#27714 + DataBinding.FieldName = 'DBNote' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column25PropertiesButtonClick + Properties.OnEditValueChanged = v1Column25PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 203 + end + object cxGridDBColumn12: TcxGridDBColumn + Caption = #29983#20135#31859#25968 + DataBinding.FieldName = 'SCMQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 81 + end + object cxGridDBColumn13: TcxGridDBColumn + Caption = #26410#29983#20135#31859#25968 + DataBinding.FieldName = 'WSCMQty' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 102 + end + object v2Column8: TcxGridDBColumn + Caption = #23436#25104#26085#26399 + DataBinding.FieldName = 'WCDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.ImmediatePost = True + Properties.SaveTime = False + Properties.ShowTime = False + Properties.OnEditValueChanged = v2Column8PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 82 + end + object cxGridDBColumn22: TcxGridDBColumn + Caption = #29366#24577 + DataBinding.FieldName = 'SCStatus' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + end + object v2Column7: TcxGridDBColumn + Caption = #29983#20135#19979#36798 + DataBinding.FieldName = 'SCXDFlag' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + Properties.ReadOnly = True + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 67 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 496 + Top = 240 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 536 + Top = 240 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 576 + Top = 248 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 608 + Top = 248 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 640 + Top = 256 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 456 + Top = 240 + end + object cxStyleRepository1: TcxStyleRepository + object cxStyle1: TcxStyle + AssignedValues = [svColor, svFont, svTextColor] + Color = 4707838 + Font.Charset = GB2312_CHARSET + Font.Color = clBlack + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlack + end + end + object DSSCAnPai: TDataSource + DataSet = CDS_SCAnPai + Left = 608 + Top = 496 + end + object CDS_SCAnPai: TClientDataSet + Aggregates = <> + Params = <> + Left = 608 + Top = 528 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 528 + Top = 496 + end + object PopupMenu1: TPopupMenu + Left = 400 + Top = 528 + object N1: TMenuItem + Caption = #22686#34892 + OnClick = N1Click + end + object N2: TMenuItem + Caption = #21024#34892 + OnClick = N2Click + end + end + object ADOQuerySub: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 560 + Top = 536 + end +end diff --git a/打卷检验管理/U_ProductionAnPaiNew.pas b/打卷检验管理/U_ProductionAnPaiNew.pas new file mode 100644 index 0000000..a979f69 --- /dev/null +++ b/打卷检验管理/U_ProductionAnPaiNew.pas @@ -0,0 +1,1006 @@ +unit U_ProductionAnPaiNew; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, StdCtrls, ExtCtrls, cxGridLevel, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, ADODB, DBClient, cxTextEdit, cxPC, + cxCalendar, ComCtrls, cxButtonEdit, cxGridCustomPopupMenu, + cxGridPopupMenu, Menus, cxCheckBox; + +type + TfrmProductionAnPaiNew = class(TForm) + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + v1OrderNo: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + v1Column7: TcxGridDBColumn; + v1PRTMF: TcxGridDBColumn; + v1PRTKZ: TcxGridDBColumn; + v1Column1: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + Panel1: TPanel; + Label1: TLabel; + Label15: TLabel; + Label16: TLabel; + orderno: TEdit; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + CDS_Main: TClientDataSet; + DataSource1: TDataSource; + ADOQueryMain: TADOQuery; + ADOQueryTemp: TADOQuery; + ADOQueryCmd: TADOQuery; + v1Column14: TcxGridDBColumn; + Button1: TButton; + Button2: TButton; + Button3: TButton; + cxTabControl1: TcxTabControl; + Label2: TLabel; + Label3: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + Button4: TButton; + Button5: TButton; + Panel2: TPanel; + SmalMF1: TEdit; + SmalMF2: TEdit; + SmalMF3: TEdit; + SmalMF4: TEdit; + SmalMF5: TEdit; + SmalMF6: TEdit; + Label4: TLabel; + SmalMF7: TEdit; + SmalMF8: TEdit; + SmalMF9: TEdit; + SmalMF10: TEdit; + SmalMF11: TEdit; + SmalMF12: TEdit; + Button6: TButton; + cxGridPopupMenu1: TcxGridPopupMenu; + Button7: TButton; + v1Column26: TcxGridDBColumn; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridDBColumn2: TcxGridDBColumn; + cxGridDBColumn3: TcxGridDBColumn; + cxGridDBColumn4: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + cxGridDBColumn7: TcxGridDBColumn; + cxGridDBColumn8: TcxGridDBColumn; + cxGridDBColumn9: TcxGridDBColumn; + cxGridDBColumn10: TcxGridDBColumn; + cxGridDBColumn11: TcxGridDBColumn; + cxGridDBColumn12: TcxGridDBColumn; + cxGridDBColumn13: TcxGridDBColumn; + cxGridDBColumn22: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + DSSCAnPai: TDataSource; + CDS_SCAnPai: TClientDataSet; + cxGridPopupMenu2: TcxGridPopupMenu; + PopupMenu1: TPopupMenu; + N1: TMenuItem; + N2: TMenuItem; + v2Column1: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + v2Column3: TcxGridDBColumn; + v2Column4: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column6: TcxGridDBColumn; + ADOQuerySub: TADOQuery; + v2Column5: TcxGridDBColumn; + v2Column6: TcxGridDBColumn; + Button8: TButton; + Button9: TButton; + Button10: TButton; + Button11: TButton; + v2Column7: TcxGridDBColumn; + v2Column8: TcxGridDBColumn; + Label5: TLabel; + SWFBCodeName: TEdit; + Label6: TLabel; + FSWFBFK10: TEdit; + Label7: TLabel; + SWFBKZ10: TEdit; + v2Column9: TcxGridDBColumn; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure ordernoChange(Sender: TObject); + procedure v1Column4PropertiesEditValueChanged(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure Button5Click(Sender: TObject); + procedure Tv1DblClick(Sender: TObject); + procedure v1Column19PropertiesEditValueChanged(Sender: TObject); + procedure v1Column23PropertiesEditValueChanged(Sender: TObject); + procedure Button6Click(Sender: TObject); + procedure v1Column24PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column24PropertiesEditValueChanged(Sender: TObject); + procedure v1Column25PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure v1Column25PropertiesEditValueChanged(Sender: TObject); + procedure Button7Click(Sender: TObject); + procedure N1Click(Sender: TObject); + // procedure cxGridDBColumn1PropertiesEditValueChanged(Sender: TObject); + procedure N2Click(Sender: TObject); + procedure Tv2CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure v2Column5PropertiesEditValueChanged(Sender: TObject); + procedure v2Column6PropertiesEditValueChanged(Sender: TObject); + procedure Button10Click(Sender: TObject); + procedure Button11Click(Sender: TObject); + procedure Button9Click(Sender: TObject); + procedure Button8Click(Sender: TObject); + procedure v2Column8PropertiesEditValueChanged(Sender: TObject); + private + { Private declarations } + procedure InitGrid(); + procedure VisbleControl(Panel55:TWinControl;XS:Boolean;SXCount:Integer); + procedure InitGridAnPai(); + public + { Public declarations } + end; + +var + frmProductionAnPaiNew: TfrmProductionAnPaiNew; + +implementation +uses + U_DataLink,U_Fun,U_OrderAttachment,U_ZDYHelpSel,U_JiangLiaoSet; + +{$R *.dfm} + +procedure TfrmProductionAnPaiNew.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + orderno.SetFocus; + Action:=caFree; +end; + +procedure TfrmProductionAnPaiNew.FormDestroy(Sender: TObject); +begin + frmProductionAnPaiNew:=nil; +end; + +procedure TfrmProductionAnPaiNew.FormCreate(Sender: TObject); +begin + cxGrid1.Align:=alClient; + if Trim(DParameters1)='' then + begin + Button5.Visible:=True; + Button4.Visible:=True; + end else + begin + Button5.Visible:=False; + Button4.Visible:=False; + end; +end; +procedure TfrmProductionAnPaiNew.InitGrid(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add(' exec P_ProductAnPai :begdate,:enddate,:pstate,:Wsql'); + if cxTabControl1.TabIndex=0 then + begin + Parameters.ParamByName('begdate').Value:=''; + Parameters.ParamByName('enddate').Value:=''; + Parameters.ParamByName('pstate').Value:=1; + end else + if cxTabControl1.TabIndex=1 then + begin + Parameters.ParamByName('begdate').Value:=''; + Parameters.ParamByName('enddate').Value:=''; + Parameters.ParamByName('pstate').Value:=2; + end else + if cxTabControl1.TabIndex=2 then + begin + Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.Date) ; + Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',EndDate.Date+1); + Parameters.ParamByName('pstate').Value:=3; + end; + Parameters.ParamByName('Wsql').Value:=''; + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; +end; +procedure TfrmProductionAnPaiNew.InitGridAnPai(); +begin + try + ADOQuerySub.DisableControls; + with ADOQuerySub do + begin + Filtered:=False; + Close; + sql.Clear; + sql.Add('select A.*,C.OrderNo,B.SWFBCodeName,B.SWFBColor,B.SWFBHW,B.SWFBKZ '); + sql.Add(',SCMQty=(select isnull(sum(MJLen),0) from WFB_MJJY AA where AA.APID=A.APID)'); + sql.Add(',Case when A.OrderQtyM-(select isnull(sum(MJLen),0) from WFB_MJJY AA where AA.APID=A.APID)>0 then'); + SQL.Add(' A.OrderQtyM-(select isnull(sum(MJLen),0) from WFB_MJJY AA where AA.APID=A.APID) else 0 end as WSCMQty'); + SQL.Add('from WFBOrder_Sub_AnPai A inner join WFBOrder_Sub B on A.SubId=B.SubId'); + sql.Add(' inner join WFBOrder_Main C on A.MainId=C.MainId'); + sql.Add(' where A.SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); + if cxTabControl1.TabIndex=1 then + begin + SQL.Add(' and Isnull(A.SCStatus,'''')<>'''' '); + end else + if cxTabControl1.TabIndex=2 then + begin + SQL.Add(' and Isnull(A.SCStatus,'''')='''' '); + end; + Open; + end; + SCreateCDS20(ADOQuerySub,CDS_SCAnPai); + SInitCDSData20(ADOQuerySub,CDS_SCAnPai); + finally + ADOQuerySub.EnableControls; + end; +end; + +procedure TfrmProductionAnPaiNew.Button1Click(Sender: TObject); +begin + orderno.SetFocus; + InitGrid(); + InitGridAnPai(); +end; + +procedure TfrmProductionAnPaiNew.FormShow(Sender: TObject); +begin + ReadCxGrid('FD1',Tv1,'޷IJ'); + ReadCxGrid('FD2',Tv2,'޷IJ'); + EndDate.Date:=SGetServerDate(ADOQueryTemp); + BegDate.Date:=EndDate.Date-30; + if cxTabControl1.TabIndex=1 then + begin + Tv2.OptionsSelection.CellSelect:=False; + end else + Tv2.OptionsSelection.CellSelect:=True; + if Trim(DParameters1)='' then + begin + Tv2.OptionsSelection.CellSelect:=False; + end; + InitGrid(); + InitGridAnPai(); +end; + +procedure TfrmProductionAnPaiNew.ordernoChange(Sender: TObject); +begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); +end; + +procedure TfrmProductionAnPaiNew.v1Column4PropertiesEditValueChanged( + Sender: TObject); +var + mvalue:String; +begin + mvalue:=TcxTextEdit(Sender).EditingText; + with CDS_SCAnPai do + begin + Edit; + FieldByName('SCOrder').Value:=Trim(mvalue); + FieldByName('AnPaiDate').Value:=Now; + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFBOrder_Sub_AnPai Set SCOrder='''+Trim(mvalue)+''''); + SQL.Add(',AnPaiDate=getdate()'); + SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); + ExecSQL; + end; +end; + +procedure TfrmProductionAnPaiNew.Button2Click(Sender: TObject); +begin + orderno.SetFocus; + WriteCxGrid('FD1',Tv1,'޷IJ'); + WriteCxGrid('FD2',Tv2,'޷IJ'); + Close; +end; + +procedure TfrmProductionAnPaiNew.Button3Click(Sender: TObject); +begin + if CDS_Main.IsEmpty then Exit; + TcxGridToExcel('',cxGrid1); +end; + +procedure TfrmProductionAnPaiNew.cxTabControl1Change(Sender: TObject); +begin + InitGrid(); + InitGridAnPai(); + if cxTabControl1.TabIndex=0 then + begin + Tv2.OptionsSelection.CellSelect:=True; + end else + Tv2.OptionsSelection.CellSelect:=False; + if Trim(DParameters1)='' then + begin + Tv2.OptionsSelection.CellSelect:=False; + end; + VisbleControl(Panel2,False,Panel2.ControlCount); +end; + +procedure TfrmProductionAnPaiNew.Button4Click(Sender: TObject); +begin + if cxTabControl1.TabIndex<>0 then Exit; + if CDS_SCAnPai.IsEmpty then Exit; + if Trim(DName)=Trim(CDS_Main.fieldbyname('AnPaiPerson').AsString) then + begin + Application.MessageBox('Լݣ','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪִв','ʾ',32+4)<>IDYES then Exit; + try + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFBOrder_Sub Set AnPaiChker='''+Trim(DName)+''''); + sql.Add(',AnPaiChkStatus=''ͨ'''); + sql.add(',AnPaiChkDate=getdate()'); + SQL.Add(' where SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + + ADOQueryCmd.Connection.CommitTrans; + CDS_Main.Delete; + InitGridAnPai(); + Application.MessageBox('ɹ','ʾ',0); + Exit; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmProductionAnPaiNew.Button5Click(Sender: TObject); +begin + if cxTabControl1.TabIndex<>1 then Exit; + if Trim(DName)=Trim(CDS_Main.fieldbyname('AnPaiPerson').AsString) then + begin + Application.MessageBox('Լݣ','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪִв','ʾ',32+4)<>IDYES then Exit; + try + ADOQueryCmd.Connection.BeginTrans; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFBOrder_Sub Set AnPaiChker='''+Trim(DName)+''''); + sql.Add(',AnPaiChkStatus=''˲ͨ'','); + sql.add('AnPaiChkDate=getdate()'); + SQL.Add(' where SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + ADOQueryCmd.Connection.CommitTrans; + CDS_Main.Delete; + InitGridAnPai(); + Application.MessageBox('ɹ','ʾ',0); + Exit; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; + +procedure TfrmProductionAnPaiNew.Tv1DblClick(Sender: TObject); +begin + try + frmOrderAttachment:=TfrmOrderAttachment.Create(Application); + with frmOrderAttachment do + begin + FAMainId:=Trim(Self.CDS_Main.fieldbyname('MainId').AsString); + Panel1.Enabled:=False; + if ShowModal=1 then + begin + + end; + end; + finally + frmOrderAttachment.Free; + end; +end; + +procedure TfrmProductionAnPaiNew.v1Column19PropertiesEditValueChanged( + Sender: TObject); +var + mvalue,FFieldName:String; + i:Integer; +begin + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(mvalue)='' then + mvalue:='0'; + FFieldName:=Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); + with CDS_SCAnPai do + begin + Edit; + FieldByName(FFieldName).Value:=Trim(mvalue); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFBOrder_Sub_AnPai Set '+FFieldName+'='+Trim(mvalue)); + SQL.Add(',AnPaiPerson='''+Trim(DName)+''''); + SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); + ExecSQL; + end; + if Trim(FFieldName)='SmalCount' then + begin + VisbleControl(Panel2,False,Panel2.ControlCount); + VisbleControl(Panel2,True,strtoint(mvalue)+1); + end; + if strtoint(mvalue)+1>0 then + begin + Button6.Visible:=True; + end; +end; + +procedure TfrmProductionAnPaiNew.v1Column23PropertiesEditValueChanged( + Sender: TObject); +var + mvalue:String; +begin + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(mvalue)='' then + mvalue:=''; + with CDS_SCAnPai do + begin + Edit; + FieldByName('SmalPC').Value:=Trim(mvalue); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFBOrder_Sub_AnPai Set SmalPC='''+Trim(mvalue)+''''); + SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); + ExecSQL; + end; +end; +procedure TfrmProductionAnPaiNew.VisbleControl(Panel55:TWinControl;XS:Boolean;SXCount:Integer); +var + i:Integer; +begin + with Panel55 do + begin + for i:=0 to SXCount-1 do + begin + Controls[i].Visible:=XS; + end; + end; +end; + +procedure TfrmProductionAnPaiNew.Button6Click(Sender: TObject); +var + i,j:Integer; + FFname,FFnameValue,FSubId:string; +begin + //FSubId:=Trim(CDS_Main.fieldbyname('SubId').AsString); + try + j:=0; + ADOQueryCmd.Connection.BeginTrans; + with Panel2 do + begin + for i:=0 to Panel2.ControlCount-1 do + begin + if Controls[i] is TLabel then Continue; + if Controls[i] is TButton then Continue; + if Controls[i].Visible=True then + begin + FFname:=Trim(Controls[i].Name); + if Trim(TEdit(Controls[i]).Text)='' then + begin + ADOQueryCmd.Connection.RollbackTrans; + j:=9; + Break; + end; + if StrToFloat((TEdit(Controls[i]).Text))=0 then + begin + ADOQueryCmd.Connection.RollbackTrans; + j:=10; + Break; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Sub_AnPai Set '+FFname+'='+Trim(TEdit(Controls[i]).Text)); + SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); + ExecSQL; + end; + with CDS_SCAnPai do + begin + Edit; + FieldByName(Controls[i].Name).Value:=Trim(TEdit(Controls[i]).Text); + Post; + end; + end; + end; + if j=0 then + ADOQueryCmd.Connection.CommitTrans + else + if j=9 then + begin + //ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('СΪգ','ʾ',0); + Exit; + end else + if j=10 then + begin + //ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('СΪ㣡','ʾ',0); + Exit; + end; + end; + //InitGrid(); + // CDS_Main.Locate('SubId',Trim(FSubId),[]); + with Panel2 do + begin + j:=0; + for i:=0 to Panel2.ControlCount-1 do + begin + if Controls[i] is TLabel then Continue; + if Controls[i] is TButton then Continue; + if TEdit(Controls[i]).Visible=True then + begin + if j=0 then + FSubId:=Trim(TEdit(Controls[i]).Text) + else + FSubId:=FSubId+','+Trim(TEdit(Controls[i]).Text); + j:=j+1; + end; + end; + end; + with CDS_SCAnPai do + begin + Edit; + FieldByName('SmalMF').Value:=Trim(FSubId); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Sub_Anpai Set SmalMF='''+Trim(FSubId)+'''') ; + sql.Add(' where APID='''+Trim(CDS_SCAnPai.fieldbyname('APID').AsString)+''''); + ExecSQL; + end; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȷ쳣','ʾ',0); + end; +end; + +procedure TfrmProductionAnPaiNew.v1Column24PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +var + mvalue:String; +begin + mvalue:=Trim(CDS_Main.fieldbyname('SmalNote').AsString); + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:='SmalNote'; + flagname:='˵'; + if ShowModal=1 then + begin + with Self.CDS_SCAnPai do + begin + Edit; + FieldByName('SmalNote').Value:=mvalue+Trim(ReturnStr); + //post; + end; + mvalue:=mvalue+ReturnStr; + with Self.ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('UPdate WFBOrder_Sub_AnPai Set SmalNote='''+Trim(mvalue)+''''); + SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); + ExecSQL; + end; + end; + end; + finally + end; +end; + +procedure TfrmProductionAnPaiNew.v1Column24PropertiesEditValueChanged( + Sender: TObject); +var + mvalue:String; +begin + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(mvalue)='' then + mvalue:=''; + with CDS_SCAnPai do + begin + Edit; + FieldByName('SmalNote').Value:=Trim(mvalue); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFBOrder_Sub_AnPai Set SmalNote='''+Trim(mvalue)+''''); + SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APID').AsString)+''''); + ExecSQL; + end; +end; + +procedure TfrmProductionAnPaiNew.v1Column25PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +var + mvalue:String; +begin + mvalue:=Trim(CDS_Main.fieldbyname('DBNote').AsString); + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:='DBNote'; + flagname:='Ҫ'; + if ShowModal=1 then + begin + with Self.CDS_SCAnPai do + begin + Edit; + FieldByName('DBNote').Value:=mvalue+Trim(ReturnStr); + //post; + end; + mvalue:=mvalue+ReturnStr; + with Self.ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('UPdate WFBOrder_Sub_AnPai Set DBNote='''+Trim(mvalue)+''''); + SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); + ExecSQL; + end; + end; + end; + finally + end; +end; + +procedure TfrmProductionAnPaiNew.v1Column25PropertiesEditValueChanged( + Sender: TObject); +var + mvalue:String; +begin + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(mvalue)='' then + mvalue:=''; + with CDS_SCAnPai do + begin + Edit; + FieldByName('DBNote').Value:=Trim(mvalue); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFBOrder_Sub_AnPai Set DBNote='''+Trim(mvalue)+''''); + SQL.Add(' where ApId='''+Trim(CDS_SCAnPai.fieldbyname('ApId').AsString)+''''); + ExecSQL; + end; +end; + +procedure TfrmProductionAnPaiNew.Button7Click(Sender: TObject); +begin + try + frmJiangLiaoSet:=TfrmJiangLiaoSet.Create(Application); + with frmJiangLiaoSet do + begin + if ShowModal=1 then + begin + + end; + end; + finally + end; +end; + +procedure TfrmProductionAnPaiNew.N1Click(Sender: TObject); +var + maxno:String; +begin + if cxTabControl1.TabIndex>0 then Exit; + try + ADOQueryCmd.Connection.BeginTrans; + if GetLSNo(ADOQueryCmd,maxno,'AP','WFBOrder_Sub_AnPai',3,1)=False then + begin + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFBOrder_Sub_AnPai where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('APID').Value:=Trim(maxno); + FieldByName('MainId').Value:=Trim(CDS_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(CDS_Main.fieldbyname('SubId').AsString); + FieldByName('AnPaiPerson').Value:=Trim(DName); + FieldByName('SmalCount').Value:=0; + FieldByName('AnPaiDate').Value:=SGetServerDate(ADOQueryTemp); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Sub Set AnPaiPerson='''+Trim(DName)+''''); + sql.Add(',AnPaiDate=getdate()'); + SQL.Add(' where SubId='''+Trim(CDS_Main.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + with CDS_Main do + begin + Edit; + FieldByName('AnPaiPerson').Value:=Trim(DName); + Post; + end; + with CDS_SCAnPai do + begin + Append; + FieldByName('APID').Value:=Trim(maxno); + FieldByName('MainId').Value:=Trim(CDS_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(CDS_Main.fieldbyname('SubId').AsString); + FieldByName('AnPaiDate').Value:=SGetServerDate(ADOQueryTemp); + FieldByName('SmalCount').Value:=0; + FieldByName('OrderNo').Value:=Trim(CDS_Main.fieldbyname('OrderNo').AsString); + FieldByName('SWFBColor').Value:=Trim(CDS_Main.fieldbyname('SWFBColor').AsString); + FieldByName('SWFBKZ').Value:=Trim(CDS_Main.fieldbyname('SWFBKZ').AsString); + FieldByName('SWFBHW').Value:=Trim(CDS_Main.fieldbyname('SWFBHW').AsString); + FieldByName('SmalMF1').Value:=0; + FieldByName('SmalMF2').Value:=0; + FieldByName('SmalMF3').Value:=0; + FieldByName('SmalMF4').Value:=0; + FieldByName('SmalMF5').Value:=0; + FieldByName('SmalMF6').Value:=0; + FieldByName('SmalMF7').Value:=0; + FieldByName('SmalMF8').Value:=0; + FieldByName('SmalMF9').Value:=0; + FieldByName('SmalMF10').Value:=0; + FieldByName('SmalMF11').Value:=0; + FieldByName('SmalMF12').Value:=0; + + Post; + end; + ADOQueryCmd.Connection.CommitTrans; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + Exit; + end; +end; + +procedure TfrmProductionAnPaiNew.N2Click(Sender: TObject); +begin + if cxTabControl1.TabIndex>0 then Exit; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFBOrder_Sub_AnPai where APID='''+Trim(CDS_SCAnPai.fieldbyname('APID').AsString)+''''); + ExecSQL; + end; + CDS_SCAnPai.Delete; +end; + +procedure TfrmProductionAnPaiNew.Tv2CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + VisbleControl(Panel2,False,Panel2.ControlCount); + VisbleControl(Panel2,True,CDS_SCAnPai.fieldbyname('SmalCount').Value+1); + + if Trim(CDS_SCAnPai.FieldByName('SmalCount').AsString)='' then Exit; + if CDS_SCAnPai.fieldbyname('SmalCount').Value>0 then + begin + SCSHDataCDS(CDS_SCAnPai,Panel2,2); + if cxTabControl1.TabIndex=0 then + Button6.Visible:=True + else + Button6.Visible:=False; + end; +end; + +procedure TfrmProductionAnPaiNew.Tv1CellClick( + Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + InitGridAnPai(); +end; + +procedure TfrmProductionAnPaiNew.v2Column5PropertiesEditValueChanged( + Sender: TObject); +var + mvalue:String; +begin + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(mvalue)='' then + mvalue:=''; + with CDS_SCAnPai do + begin + Edit; + FieldByName('WeigthNote').Value:=Trim(mvalue); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFBOrder_Sub_AnPai Set WeigthNote='''+Trim(mvalue)+''''); + SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); + ExecSQL; + end; +end; + +procedure TfrmProductionAnPaiNew.v2Column6PropertiesEditValueChanged( + Sender: TObject); +var + mvalue:String; +begin + mvalue:=TcxTextEdit(Sender).EditingText; + if Trim(mvalue)='' then + mvalue:=''; + with CDS_SCAnPai do + begin + Edit; + FieldByName('APNote').Value:=Trim(mvalue); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFBOrder_Sub_AnPai Set APNote='''+Trim(mvalue)+''''); + SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); + ExecSQL; + end; +end; + +procedure TfrmProductionAnPaiNew.Button10Click(Sender: TObject); +begin + if cxTabControl1.TabIndex<>1 then Exit; + if Application.MessageBox('ȷҪִɲ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Sub_AnPai Set SCStatus='''',WCDate=getdate() where APID='''+Trim(CDS_SCAnPai.fieldbyname('APID').AsString)+''''); + ExecSQL; + end; + CDS_SCAnPai.Delete; +end; + +procedure TfrmProductionAnPaiNew.Button11Click(Sender: TObject); +begin + if cxTabControl1.TabIndex<>2 then Exit; + if Application.MessageBox('ȷҪִɳ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Sub_AnPai Set SCStatus='''' where APID='''+Trim(CDS_SCAnPai.fieldbyname('APID').AsString)+''''); + ExecSQL; + end; + CDS_SCAnPai.Delete; +end; + +procedure TfrmProductionAnPaiNew.Button9Click(Sender: TObject); +begin + if cxTabControl1.TabIndex<>1 then Exit; + if Application.MessageBox('ȷҪִ´','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Sub_AnPai Set SCXDFlag=1 where APID='''+Trim(CDS_SCAnPai.fieldbyname('APID').AsString)+''''); + ExecSQL; + end; + with CDS_SCAnPai do + begin + Edit; + FieldByName('SCXDFlag').Value:=True; + Post; + end; +end; + +procedure TfrmProductionAnPaiNew.Button8Click(Sender: TObject); +begin + if cxTabControl1.TabIndex<>1 then Exit; + if Application.MessageBox('ȷҪִ','ʾ',32+4)<>IDYES then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFBOrder_Sub_AnPai Set SCXDFlag=0 where APID='''+Trim(CDS_SCAnPai.fieldbyname('APID').AsString)+''''); + ExecSQL; + end; + with CDS_SCAnPai do + begin + Edit; + FieldByName('SCXDFlag').Value:=false; + Post; + end; +end; + +procedure TfrmProductionAnPaiNew.v2Column8PropertiesEditValueChanged( + Sender: TObject); +var + mvalue:TDateTime; +begin + mvalue:=TcxDateEdit(Sender).EditingValue; + if Trim(DateTimeToStr(mvalue))='' then + begin + mvalue:=null; + end; + with CDS_SCAnPai do + begin + Edit; + FieldByName('WCDate').Value:=mvalue; + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('UPdate WFBOrder_Sub_AnPai Set WCDate='''+Trim(FormatDateTime('yyyy-MM-dd HH:mm:ss',mvalue))+''''); + SQL.Add(' where APId='''+Trim(CDS_SCAnPai.fieldbyname('APId').AsString)+''''); + ExecSQL; + end; +end; + +end. diff --git a/打卷检验管理/U_SCGYSet.dfm b/打卷检验管理/U_SCGYSet.dfm new file mode 100644 index 0000000..1c29d81 --- /dev/null +++ b/打卷检验管理/U_SCGYSet.dfm @@ -0,0 +1,1297 @@ +object frmSCGYSet: TfrmSCGYSet + Left = 58 + Top = 31 + Width = 1137 + Height = 706 + Caption = #29983#20135#24037#33402#21333 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 14 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1129 + Height = 29 + ButtonHeight = 30 + ButtonWidth = 95 + Caption = 'ToolBar1' + Color = clSkyBlue + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBProducttion.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object ToolButton1: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 9 + OnClick = ToolButton1Click + end + object TBSave: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = TBSaveClick + end + object ToolButton2: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 13 + Visible = False + OnClick = ToolButton2Click + end + object ToolButton5: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #23457#26680#36890#36807 + ImageIndex = 104 + OnClick = ToolButton5Click + end + object ToolButton6: TToolButton + Left = 276 + Top = 0 + AutoSize = True + Caption = #23457#26680#19981#36890#36807 + ImageIndex = 109 + OnClick = ToolButton6Click + end + object TBClose: TToolButton + Left = 375 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 29 + Width = 1129 + Height = 76 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 16 + Top = 15 + Width = 60 + Height = 14 + Caption = #31614#21457#26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 203 + Top = 15 + Width = 45 + Height = 14 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 203 + Top = 39 + Width = 46 + Height = 14 + Caption = #23458' '#25143 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 382 + Top = 15 + Width = 30 + Height = 14 + Caption = #33457#22411 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 523 + Top = 15 + Width = 30 + Height = 14 + Caption = #20811#37325 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 523 + Top = 39 + Width = 30 + Height = 14 + Caption = #39068#33394 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 382 + Top = 39 + Width = 30 + Height = 14 + Caption = #37197#27604 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 643 + Top = 15 + Width = 60 + Height = 14 + Caption = #20135#21697#20195#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 643 + Top = 39 + Width = 60 + Height = 14 + Caption = #32593#23380#30446#25968 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -14 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 76 + Top = 11 + Width = 98 + Height = 22 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 75 + Top = 35 + Width = 99 + Height = 22 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + TabOrder = 1 + end + object OrderNo: TEdit + Tag = 2 + Left = 247 + Top = 11 + Width = 103 + Height = 22 + TabOrder = 2 + OnChange = OrderNoChange + end + object CustomnoName: TEdit + Tag = 2 + Left = 247 + Top = 35 + Width = 104 + Height = 22 + TabOrder = 3 + OnChange = OrderNoChange + end + object SWFBHW: TEdit + Tag = 2 + Left = 414 + Top = 11 + Width = 71 + Height = 22 + TabOrder = 4 + OnChange = OrderNoChange + end + object SWFBKZ: TEdit + Tag = 2 + Left = 554 + Top = 11 + Width = 63 + Height = 22 + TabOrder = 5 + OnChange = OrderNoChange + end + object SWFBColor: TEdit + Tag = 2 + Left = 554 + Top = 35 + Width = 63 + Height = 22 + TabOrder = 6 + OnChange = OrderNoChange + end + object YLPB: TEdit + Tag = 2 + Left = 414 + Top = 35 + Width = 71 + Height = 22 + TabOrder = 7 + OnChange = OrderNoChange + end + object SWFBCodeName: TEdit + Tag = 2 + Left = 706 + Top = 11 + Width = 87 + Height = 22 + TabOrder = 8 + OnChange = OrderNoChange + end + object WKMS: TEdit + Tag = 2 + Left = 706 + Top = 35 + Width = 87 + Height = 22 + TabOrder = 9 + OnChange = OrderNoChange + end + end + object cxTabControl1: TcxTabControl + Left = 0 + Top = 105 + Width = 1129 + Height = 24 + Align = alTop + Style = 9 + TabIndex = 0 + TabOrder = 2 + Tabs.Strings = ( + #24453#29983#25104 + #24050#29983#25104 + #23457#26680#36890#36807) + OnChange = cxTabControl1Change + ClientRectBottom = 24 + ClientRectRight = 1129 + ClientRectTop = 21 + end + object cxGrid1: TcxGrid + Left = 0 + Top = 129 + Width = 1129 + Height = 146 + Align = alTop + TabOrder = 3 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv1CellClick + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_WFBProducttion.SHuangSe + Styles.IncSearch = DataLink_WFBProducttion.SHuangSe + Styles.Selection = DataLink_WFBProducttion.SHuangSe + object v1Column12: TcxGridDBColumn + Caption = #24037#33402#21333#21495'('#35746#21333#21495')' + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 112 + end + object v1Column11: TcxGridDBColumn + Caption = #26085#26399 + DataBinding.FieldName = 'SYDate' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Width = 84 + end + object v1Column14: TcxGridDBColumn + Caption = #23458#25143#21517#31216 + DataBinding.FieldName = 'CustomnoName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 63 + end + object v1Column13: TcxGridDBColumn + Caption = #20135#21697#20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 70 + end + object v1Column3: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 95 + end + object v1Column9: TcxGridDBColumn + Caption = #32593#23380#30446#25968 + DataBinding.FieldName = 'WKMS' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 78 + end + object v1Column2: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 109 + end + object v1Column8: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'SWFBKZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 91 + end + object v1Column10: TcxGridDBColumn + Caption = #20027#35201#21407#26009#37197#27604 + DataBinding.FieldName = 'YLPB' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 96 + end + object v1Column4: TcxGridDBColumn + Caption = #23457#26680#20154 + DataBinding.FieldName = 'Chker' + HeaderAlignmentHorz = taCenter + Width = 102 + end + object v1Column1: TcxGridDBColumn + Caption = #29366#24577 + DataBinding.FieldName = 'ChkStatus' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 124 + end + end + object cxGrid1Level4: TcxGridLevel + GridView = Tv1 + end + end + object ScrollBox1: TScrollBox + Left = 0 + Top = 275 + Width = 1129 + Height = 168 + Align = alTop + TabOrder = 4 + object cxGrid4: TcxGrid + Left = 0 + Top = 17 + Width = 249 + Height = 147 + Align = alLeft + TabOrder = 0 + object TvKB: TcxGridDBBandedTableView + OnMouseDown = TvKBMouseDown + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DSKB + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Bands = < + item + Caption = #24320#21253#26426 + Styles.Header = DataLink_WFBProducttion.handBlack + Width = 240 + end> + object cxGridDBBandedColumn4: TcxGridDBBandedColumn + Caption = #24320#21253#26426 + DataBinding.FieldName = 'KBMac' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = cxGridDBBandedColumn4PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 49 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn5: TcxGridDBBandedColumn + Caption = #21407#26009#21517#31216 + DataBinding.FieldName = 'YCLName' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = cxGridDBBandedColumn5PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 70 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn6: TcxGridDBBandedColumn + Caption = #25968#37327'(g)' + DataBinding.FieldName = 'KBQty' + HeaderAlignmentHorz = taCenter + Width = 73 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + end + object cxGridLevel3: TcxGridLevel + GridView = TvKB + end + end + object cxGrid3: TcxGrid + Left = 249 + Top = 17 + Width = 536 + Height = 147 + Align = alLeft + TabOrder = 1 + object TVPW: TcxGridDBBandedTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DSSub + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Bands = < + item + Caption = #38138#32593#26426 + Styles.Header = DataLink_WFBProducttion.Default + Width = 529 + end> + object cxGridDBBandedColumn1: TcxGridDBBandedColumn + Caption = #24038#24133#23485 + DataBinding.FieldName = 'SYDefStr1' + HeaderAlignmentHorz = taCenter + Width = 50 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn2: TcxGridDBBandedColumn + Caption = #21491#24133#23485 + DataBinding.FieldName = 'SYDefStr2' + HeaderAlignmentHorz = taCenter + Width = 48 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn3: TcxGridDBBandedColumn + Caption = #23618#25968 + DataBinding.FieldName = 'SYDefStr3' + HeaderAlignmentHorz = taCenter + Width = 40 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object VPWColumn1: TcxGridDBBandedColumn + Caption = #20132#21449#23485 + DataBinding.FieldName = 'SYDefStr4' + HeaderAlignmentHorz = taCenter + Width = 46 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object VPWColumn2: TcxGridDBBandedColumn + Caption = 'in%' + DataBinding.FieldName = 'SYDefStr5' + HeaderAlignmentHorz = taCenter + Width = 38 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object VPWColumn3: TcxGridDBBandedColumn + Caption = 'Profiling' + DataBinding.FieldName = 'SYDefStr6' + HeaderAlignmentHorz = taCenter + Width = 307 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + end + object cxGridLevel2: TcxGridLevel + GridView = TVPW + end + end + object cxGrid2: TcxGrid + Left = 785 + Top = 17 + Width = 340 + Height = 147 + Align = alClient + TabOrder = 2 + object TvJS: TcxGridDBBandedTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DSSub + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Bands = < + item + Caption = #21367#32469 + Styles.Header = DataLink_WFBProducttion.Default + Width = 305 + end> + object v2Column1: TcxGridDBBandedColumn + Caption = #25104#21367#36895#24230 + DataBinding.FieldName = 'SYDefStr7' + HeaderAlignmentHorz = taCenter + Width = 59 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object v2Column2: TcxGridDBBandedColumn + Caption = #24133#23485 + DataBinding.FieldName = 'SYDefStr8' + HeaderAlignmentHorz = taCenter + Width = 56 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object v2Column3: TcxGridDBBandedColumn + Caption = #25163#24863 + DataBinding.FieldName = 'SYDefStr9' + HeaderAlignmentHorz = taCenter + Width = 98 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object vJSColumn1: TcxGridDBBandedColumn + Caption = #21560#27700#24615 + DataBinding.FieldName = 'SYDefStr10' + Width = 92 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + end + object cxGridLevel1: TcxGridLevel + GridView = TvJS + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 0 + Width = 1125 + Height = 17 + ButtonHeight = 18 + ButtonWidth = 36 + Caption = 'ToolBar1' + Color = clSkyBlue + EdgeInner = esNone + EdgeOuter = esNone + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 3 + object ToolButton3: TToolButton + Left = 0 + Top = 0 + Caption = #22686#34892 + ImageIndex = 9 + OnClick = ToolButton3Click + end + object ToolButton4: TToolButton + Left = 36 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 14 + OnClick = ToolButton4Click + end + end + end + object cxGrid5: TcxGrid + Left = 0 + Top = 600 + Width = 1129 + Height = 69 + Align = alBottom + TabOrder = 5 + object TvSYH: TcxGridDBBandedTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DSSub + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Bands = < + item + Caption = #27700#21050#12289#21360#33457#12289#28888#24178 + Styles.Header = DataLink_WFBProducttion.Default + Width = 1119 + end> + object cxGridDBBandedColumn8: TcxGridDBBandedColumn + Caption = #25277#21560'HZ' + DataBinding.FieldName = 'SYDefStr11' + HeaderAlignmentHorz = taCenter + Width = 52 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn9: TcxGridDBBandedColumn + Caption = '1#'#25302#32593 + DataBinding.FieldName = 'SYDefStr12' + HeaderAlignmentHorz = taCenter + Width = 44 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn10: TcxGridDBBandedColumn + Caption = #22278#40723 + DataBinding.FieldName = 'SYDefStr13' + HeaderAlignmentHorz = taCenter + Width = 47 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn11: TcxGridDBBandedColumn + Caption = '2#'#25302#32593 + DataBinding.FieldName = 'SYDefStr14' + HeaderAlignmentHorz = taCenter + Width = 47 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn12: TcxGridDBBandedColumn + Caption = '1#'#36711#36710 + DataBinding.FieldName = 'SYDefStr15' + HeaderAlignmentHorz = taCenter + Width = 52 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object vQSJColumn1: TcxGridDBBandedColumn + Caption = '2#'#36711#36710 + DataBinding.FieldName = 'SYDefStr16' + HeaderAlignmentHorz = taCenter + Width = 47 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object vQSJColumn2: TcxGridDBBandedColumn + Caption = #21360#33457 + DataBinding.FieldName = 'SYDefStr17' + HeaderAlignmentHorz = taCenter + Width = 47 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object vQSJColumn3: TcxGridDBBandedColumn + Caption = #28888#24178'1#' + DataBinding.FieldName = 'SYDefStr18' + HeaderAlignmentHorz = taCenter + Width = 55 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object vQSJColumn4: TcxGridDBBandedColumn + Caption = #28888#24178'2#' + DataBinding.FieldName = 'SYDefStr19' + HeaderAlignmentHorz = taCenter + Width = 47 + Position.BandIndex = 0 + Position.ColIndex = 8 + Position.RowIndex = 0 + end + object vQSJColumn5: TcxGridDBBandedColumn + Caption = #28888#24178'3#' + DataBinding.FieldName = 'SYDefStr20' + HeaderAlignmentHorz = taCenter + Width = 48 + Position.BandIndex = 0 + Position.ColIndex = 9 + Position.RowIndex = 0 + end + object vQSJColumn6: TcxGridDBBandedColumn + Caption = '4#'#28888#24178 + DataBinding.FieldName = 'SYDefStr21' + HeaderAlignmentHorz = taCenter + Width = 48 + Position.BandIndex = 0 + Position.ColIndex = 10 + Position.RowIndex = 0 + end + object vQSJColumn7: TcxGridDBBandedColumn + Caption = '5#'#28888#24178 + DataBinding.FieldName = 'SYDefStr22' + HeaderAlignmentHorz = taCenter + Width = 52 + Position.BandIndex = 0 + Position.ColIndex = 11 + Position.RowIndex = 0 + end + object vQSJColumn8: TcxGridDBBandedColumn + Caption = '1#'#27700#21050#21387#21147 + DataBinding.FieldName = 'SYDefStr23' + HeaderAlignmentHorz = taCenter + Width = 79 + Position.BandIndex = 0 + Position.ColIndex = 12 + Position.RowIndex = 0 + end + object vQSJColumn9: TcxGridDBBandedColumn + Caption = '2#'#27700#21050#21387#21147 + DataBinding.FieldName = 'SYDefStr24' + HeaderAlignmentHorz = taCenter + Width = 73 + Position.BandIndex = 0 + Position.ColIndex = 13 + Position.RowIndex = 0 + end + object vQSJColumn10: TcxGridDBBandedColumn + Caption = '3#'#27700#21050#21387#21147 + DataBinding.FieldName = 'SYDefStr25' + HeaderAlignmentHorz = taCenter + Width = 71 + Position.BandIndex = 0 + Position.ColIndex = 14 + Position.RowIndex = 0 + end + object vQSJColumn11: TcxGridDBBandedColumn + Caption = '4#'#27700#21050#21387#21147 + DataBinding.FieldName = 'SYDefStr26' + HeaderAlignmentHorz = taCenter + Width = 74 + Position.BandIndex = 0 + Position.ColIndex = 15 + Position.RowIndex = 0 + end + object vQSJColumn12: TcxGridDBBandedColumn + Caption = '5#'#27700#21050#21387#21147 + DataBinding.FieldName = 'SYDefStr27' + HeaderAlignmentHorz = taCenter + Width = 70 + Position.BandIndex = 0 + Position.ColIndex = 16 + Position.RowIndex = 0 + end + object vQSJColumn13: TcxGridDBBandedColumn + Caption = '6#'#27700#21050#21387#21147 + DataBinding.FieldName = 'SYDefStr28' + HeaderAlignmentHorz = taCenter + Width = 66 + Position.BandIndex = 0 + Position.ColIndex = 17 + Position.RowIndex = 0 + end + end + object cxGridLevel4: TcxGridLevel + GridView = TvSYH + end + end + object cxGrid6: TcxGrid + Left = 0 + Top = 443 + Width = 1129 + Height = 90 + Align = alClient + TabOrder = 6 + object TvSLJ: TcxGridDBBandedTableView + OnMouseDown = TvSLJMouseDown + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DS_SLJ + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Bands = < + item + Caption = #26803#29702#26426 + Styles.Header = DataLink_WFBProducttion.FonePurple + Width = 1119 + end> + object cxGridDBBandedColumn13: TcxGridDBBandedColumn + Caption = #19978#26825#31665#21387#21147 + DataBinding.FieldName = 'SLDefStr2' + HeaderAlignmentHorz = taCenter + Width = 74 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn14: TcxGridDBBandedColumn + Caption = #19979#26825#31665#21387#21147 + DataBinding.FieldName = 'SLDefStr3' + HeaderAlignmentHorz = taCenter + Width = 69 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn15: TcxGridDBBandedColumn + Caption = #29983#20135#29575'%' + DataBinding.FieldName = 'SLDefStr4' + HeaderAlignmentHorz = taCenter + Width = 74 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn16: TcxGridDBBandedColumn + Caption = #21890#20837 + DataBinding.FieldName = 'SLDefStr5' + HeaderAlignmentHorz = taCenter + Width = 66 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn17: TcxGridDBBandedColumn + Caption = #38177#26519#36895#24230 + DataBinding.FieldName = 'SLDefStr6' + HeaderAlignmentHorz = taCenter + Width = 65 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn18: TcxGridDBBandedColumn + Caption = #24037#20316#36746#36895#24230 + DataBinding.FieldName = 'SLDefStr7' + HeaderAlignmentHorz = taCenter + Width = 74 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn19: TcxGridDBBandedColumn + Caption = #19978#36947#22827 + DataBinding.FieldName = 'SLDefStr8' + HeaderAlignmentHorz = taCenter + Width = 65 + Position.BandIndex = 0 + Position.ColIndex = 8 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn20: TcxGridDBBandedColumn + Caption = #19978#26434#20081 + DataBinding.FieldName = 'SLDefStr9' + HeaderAlignmentHorz = taCenter + Width = 67 + Position.BandIndex = 0 + Position.ColIndex = 9 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn21: TcxGridDBBandedColumn + Caption = #19978#21093#21462 + DataBinding.FieldName = 'SLDefStr10' + HeaderAlignmentHorz = taCenter + Width = 77 + Position.BandIndex = 0 + Position.ColIndex = 10 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn22: TcxGridDBBandedColumn + Caption = #19978#36755#32593#24088 + DataBinding.FieldName = 'SLDefStr11' + HeaderAlignmentHorz = taCenter + Width = 65 + Position.BandIndex = 0 + Position.ColIndex = 11 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn23: TcxGridDBBandedColumn + Caption = #19979#36947#22827 + DataBinding.FieldName = 'SLDefStr12' + HeaderAlignmentHorz = taCenter + Width = 69 + Position.BandIndex = 0 + Position.ColIndex = 12 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn24: TcxGridDBBandedColumn + Caption = #19979#26434#20081 + DataBinding.FieldName = 'SLDefStr13' + HeaderAlignmentHorz = taCenter + Width = 66 + Position.BandIndex = 0 + Position.ColIndex = 13 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn25: TcxGridDBBandedColumn + Caption = #19979#21093#21462 + DataBinding.FieldName = 'SLDefStr14' + HeaderAlignmentHorz = taCenter + Width = 73 + Position.BandIndex = 0 + Position.ColIndex = 14 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn26: TcxGridDBBandedColumn + Caption = #19979#23680#32593#24088 + DataBinding.FieldName = 'SLDefStr15' + HeaderAlignmentHorz = taCenter + Width = 111 + Position.BandIndex = 0 + Position.ColIndex = 15 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn27: TcxGridDBBandedColumn + Caption = #26803#29702#26426 + DataBinding.FieldName = 'SLMac' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.ReadOnly = True + Properties.OnButtonClick = cxGridDBBandedColumn27PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 104 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object vSLJColumn1: TcxGridDBBandedColumn + Caption = #38271#24088#31995#25968 + DataBinding.FieldName = 'SLDefStr1' + HeaderAlignmentHorz = taCenter + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + end + object cxGridLevel5: TcxGridLevel + GridView = TvSLJ + end + end + object cxGrid7: TcxGrid + Left = 0 + Top = 533 + Width = 1129 + Height = 67 + Align = alBottom + TabOrder = 7 + object TvQSJ: TcxGridDBBandedTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DSSub + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Bands = < + item + Caption = #29301#20280#26426 + Styles.Header = DataLink_WFBProducttion.Default + Width = 1119 + end> + object cxGridDBBandedColumn28: TcxGridDBBandedColumn + Tag = 1 + Caption = #24635#20493#29575 + DataBinding.FieldName = 'ZBL' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 113 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn29: TcxGridDBBandedColumn + Caption = #31995#25968'1(%)' + DataBinding.FieldName = 'SYDefFlt1' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = cxGridDBBandedColumn29PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 129 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn30: TcxGridDBBandedColumn + Caption = #31995#25968'2(%)' + DataBinding.FieldName = 'SYDefFlt2' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = cxGridDBBandedColumn29PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 109 + Position.BandIndex = 0 + Position.ColIndex = 2 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn31: TcxGridDBBandedColumn + Caption = #31995#25968'3(%)' + DataBinding.FieldName = 'SYDefFlt3' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = cxGridDBBandedColumn29PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 118 + Position.BandIndex = 0 + Position.ColIndex = 3 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn32: TcxGridDBBandedColumn + Caption = #31995#25968'4(%)' + DataBinding.FieldName = 'SYDefFlt4' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = cxGridDBBandedColumn29PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 117 + Position.BandIndex = 0 + Position.ColIndex = 4 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn33: TcxGridDBBandedColumn + Caption = #31995#25968'5(%)' + DataBinding.FieldName = 'SYDefFlt5' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = cxGridDBBandedColumn29PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 133 + Position.BandIndex = 0 + Position.ColIndex = 5 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn34: TcxGridDBBandedColumn + Caption = #31995#25968'6(%)' + DataBinding.FieldName = 'SYDefFlt6' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = cxGridDBBandedColumn29PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 121 + Position.BandIndex = 0 + Position.ColIndex = 6 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn35: TcxGridDBBandedColumn + Caption = #31995#25968'7(%)' + DataBinding.FieldName = 'SYDefFlt7' + PropertiesClassName = 'TcxTextEditProperties' + Properties.OnEditValueChanged = cxGridDBBandedColumn29PropertiesEditValueChanged + HeaderAlignmentHorz = taCenter + Width = 126 + Position.BandIndex = 0 + Position.ColIndex = 7 + Position.RowIndex = 0 + end + object cxGridDBBandedColumn36: TcxGridDBBandedColumn + Caption = #31995#25968'8(%)' + DataBinding.FieldName = 'SYDefFlt8' + HeaderAlignmentHorz = taCenter + Width = 153 + Position.BandIndex = 0 + Position.ColIndex = 8 + Position.RowIndex = 0 + end + end + object cxGridLevel6: TcxGridLevel + GridView = TvQSJ + end + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 256 + Top = 160 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 328 + Top = 160 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 288 + Top = 160 + end + object ADOTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 1080 + Top = 117 + end + object ADOCmd: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 1048 + Top = 125 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 984 + Top = 141 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 816 + Top = 328 + end + object DSKB: TDataSource + DataSet = CDS_KB + Left = 160 + Top = 328 + end + object CDS_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 520 + Top = 168 + end + object cxGridPopupMenu3: TcxGridPopupMenu + Grid = cxGrid3 + PopupMenus = <> + Left = 440 + Top = 328 + end + object CDS_SLJ: TClientDataSet + Aggregates = <> + Params = <> + Left = 560 + Top = 456 + end + object DS_SLJ: TDataSource + DataSet = CDS_SLJ + Left = 624 + Top = 456 + end + object cxGridPopupMenu4: TcxGridPopupMenu + Grid = cxGrid4 + PopupMenus = <> + Left = 48 + Top = 360 + end + object cxGridPopupMenu5: TcxGridPopupMenu + Grid = cxGrid5 + PopupMenus = <> + Left = 648 + Top = 632 + end + object cxGridPopupMenu6: TcxGridPopupMenu + Grid = cxGrid6 + PopupMenus = <> + Left = 584 + Top = 480 + end + object cxGridPopupMenu7: TcxGridPopupMenu + Grid = cxGrid7 + PopupMenus = <> + Left = 408 + Top = 560 + end + object DSSub: TDataSource + DataSet = CDS_Sub + Left = 480 + Top = 160 + end + object CDS_KB: TClientDataSet + Aggregates = <> + Params = <> + Left = 112 + Top = 328 + end +end diff --git a/打卷检验管理/U_SCGYSet.pas b/打卷检验管理/U_SCGYSet.pas new file mode 100644 index 0000000..6467404 --- /dev/null +++ b/打卷检验管理/U_SCGYSet.pas @@ -0,0 +1,1014 @@ +unit U_SCGYSet; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, ADODB, DBClient, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, + cxControls, cxGridCustomView, cxGrid, cxPC, StdCtrls, ComCtrls, ExtCtrls, + ToolWin, cxCheckBox, Menus, cxGridBandedTableView, + cxGridDBBandedTableView, cxCalendar, cxButtonEdit, cxTextEdit; + +type + TfrmSCGYSet = class(TForm) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + Label1: TLabel; + Label3: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + OrderNo: TEdit; + cxTabControl1: TcxTabControl; + cxGrid1: TcxGrid; + Tv1: TcxGridDBTableView; + cxGrid1Level4: TcxGridLevel; + cxGridPopupMenu1: TcxGridPopupMenu; + CDS_Main: TClientDataSet; + DataSource1: TDataSource; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + ADOQueryMain: TADOQuery; + cxGridPopupMenu2: TcxGridPopupMenu; + DSKB: TDataSource; + CDS_Sub: TClientDataSet; + ToolButton1: TToolButton; + v1Column2: TcxGridDBColumn; + ToolButton2: TToolButton; + v1Column8: TcxGridDBColumn; + v1Column9: TcxGridDBColumn; + v1Column10: TcxGridDBColumn; + v1Column11: TcxGridDBColumn; + v1Column12: TcxGridDBColumn; + v1Column13: TcxGridDBColumn; + v1Column14: TcxGridDBColumn; + ScrollBox1: TScrollBox; + cxGrid4: TcxGrid; + TvKB: TcxGridDBBandedTableView; + cxGridDBBandedColumn4: TcxGridDBBandedColumn; + cxGridDBBandedColumn5: TcxGridDBBandedColumn; + cxGridDBBandedColumn6: TcxGridDBBandedColumn; + cxGridLevel3: TcxGridLevel; + cxGrid3: TcxGrid; + TVPW: TcxGridDBBandedTableView; + cxGridDBBandedColumn1: TcxGridDBBandedColumn; + cxGridDBBandedColumn2: TcxGridDBBandedColumn; + cxGridDBBandedColumn3: TcxGridDBBandedColumn; + cxGridLevel2: TcxGridLevel; + cxGrid2: TcxGrid; + TvJS: TcxGridDBBandedTableView; + v2Column1: TcxGridDBBandedColumn; + v2Column2: TcxGridDBBandedColumn; + v2Column3: TcxGridDBBandedColumn; + cxGridLevel1: TcxGridLevel; + ToolBar2: TToolBar; + ToolButton3: TToolButton; + ToolButton4: TToolButton; + VPWColumn1: TcxGridDBBandedColumn; + VPWColumn2: TcxGridDBBandedColumn; + VPWColumn3: TcxGridDBBandedColumn; + vJSColumn1: TcxGridDBBandedColumn; + cxGrid5: TcxGrid; + TvSYH: TcxGridDBBandedTableView; + cxGridDBBandedColumn8: TcxGridDBBandedColumn; + cxGridDBBandedColumn9: TcxGridDBBandedColumn; + cxGridDBBandedColumn10: TcxGridDBBandedColumn; + cxGridDBBandedColumn11: TcxGridDBBandedColumn; + cxGridDBBandedColumn12: TcxGridDBBandedColumn; + cxGridLevel4: TcxGridLevel; + vQSJColumn1: TcxGridDBBandedColumn; + vQSJColumn2: TcxGridDBBandedColumn; + vQSJColumn3: TcxGridDBBandedColumn; + vQSJColumn4: TcxGridDBBandedColumn; + vQSJColumn5: TcxGridDBBandedColumn; + vQSJColumn6: TcxGridDBBandedColumn; + vQSJColumn7: TcxGridDBBandedColumn; + vQSJColumn8: TcxGridDBBandedColumn; + vQSJColumn9: TcxGridDBBandedColumn; + vQSJColumn10: TcxGridDBBandedColumn; + vQSJColumn11: TcxGridDBBandedColumn; + vQSJColumn12: TcxGridDBBandedColumn; + vQSJColumn13: TcxGridDBBandedColumn; + cxGrid6: TcxGrid; + TvSLJ: TcxGridDBBandedTableView; + cxGridDBBandedColumn13: TcxGridDBBandedColumn; + cxGridDBBandedColumn14: TcxGridDBBandedColumn; + cxGridDBBandedColumn15: TcxGridDBBandedColumn; + cxGridDBBandedColumn16: TcxGridDBBandedColumn; + cxGridDBBandedColumn17: TcxGridDBBandedColumn; + cxGridDBBandedColumn18: TcxGridDBBandedColumn; + cxGridDBBandedColumn19: TcxGridDBBandedColumn; + cxGridDBBandedColumn20: TcxGridDBBandedColumn; + cxGridDBBandedColumn21: TcxGridDBBandedColumn; + cxGridDBBandedColumn22: TcxGridDBBandedColumn; + cxGridDBBandedColumn23: TcxGridDBBandedColumn; + cxGridDBBandedColumn24: TcxGridDBBandedColumn; + cxGridDBBandedColumn25: TcxGridDBBandedColumn; + cxGridDBBandedColumn26: TcxGridDBBandedColumn; + cxGridDBBandedColumn27: TcxGridDBBandedColumn; + cxGridLevel5: TcxGridLevel; + cxGridPopupMenu3: TcxGridPopupMenu; + CDS_SLJ: TClientDataSet; + DS_SLJ: TDataSource; + cxGridPopupMenu4: TcxGridPopupMenu; + cxGridPopupMenu5: TcxGridPopupMenu; + cxGridPopupMenu6: TcxGridPopupMenu; + vSLJColumn1: TcxGridDBBandedColumn; + v1Column3: TcxGridDBColumn; + cxGrid7: TcxGrid; + TvQSJ: TcxGridDBBandedTableView; + cxGridDBBandedColumn28: TcxGridDBBandedColumn; + cxGridDBBandedColumn29: TcxGridDBBandedColumn; + cxGridDBBandedColumn30: TcxGridDBBandedColumn; + cxGridDBBandedColumn31: TcxGridDBBandedColumn; + cxGridDBBandedColumn32: TcxGridDBBandedColumn; + cxGridDBBandedColumn33: TcxGridDBBandedColumn; + cxGridDBBandedColumn34: TcxGridDBBandedColumn; + cxGridDBBandedColumn35: TcxGridDBBandedColumn; + cxGridDBBandedColumn36: TcxGridDBBandedColumn; + cxGridLevel6: TcxGridLevel; + cxGridPopupMenu7: TcxGridPopupMenu; + DSSub: TDataSource; + CDS_KB: TClientDataSet; + Label4: TLabel; + CustomnoName: TEdit; + Label5: TLabel; + SWFBHW: TEdit; + Label6: TLabel; + SWFBKZ: TEdit; + Label7: TLabel; + SWFBColor: TEdit; + Label8: TLabel; + YLPB: TEdit; + Label2: TLabel; + SWFBCodeName: TEdit; + Label9: TLabel; + WKMS: TEdit; + ToolButton5: TToolButton; + ToolButton6: TToolButton; + v1Column1: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure cxTabControl1Change(Sender: TObject); + procedure OrderNoChange(Sender: TObject); + procedure MenuItem3Click(Sender: TObject); + procedure MenuItem4Click(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure ToolButton3Click(Sender: TObject); + procedure ToolButton4Click(Sender: TObject); + procedure cxGridDBBandedColumn4PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure cxGridDBBandedColumn5PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure cxGridDBBandedColumn27PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure TvKBMouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure TvSLJMouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure cxGridDBBandedColumn29PropertiesEditValueChanged( + Sender: TObject); + procedure ToolButton5Click(Sender: TObject); + procedure ToolButton6Click(Sender: TObject); + private + { Private declarations } + FInt:Integer; + procedure InitGrid(); + procedure InitGridSub(); + procedure InitGridKB(); + procedure InitGridSLJ(); + function SaveKB():Boolean; + function SaveSub():Boolean; + function SaveSLJ():Boolean; + procedure KBSLJData(); + procedure UpdateZBS(Sender: TObject); + public + { Public declarations } + end; + +var + frmSCGYSet: TfrmSCGYSet; + +implementation +uses + U_DataLink,U_Fun, U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmSCGYSet.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmSCGYSet.FormDestroy(Sender: TObject); +begin + frmSCGYSet:=nil; +end; + +procedure TfrmSCGYSet.InitGrid(); +begin + BegDate.SetFocus; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + SQL.Clear; + sql.Add('exec P_SCGY_List :begdate,:enddate,:PState'); + if cxTabControl1.TabIndex=0 then + begin + Parameters.ParamByName('begdate').Value:='2012-01-01'; + Parameters.ParamByName('enddate').Value:='2050-10-10'; + Parameters.ParamByName('PState').Value:=1; + end else + if cxTabControl1.TabIndex=1 then + begin + Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.DateTime); + Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1); + Parameters.ParamByName('PState').Value:=2; + end else + if cxTabControl1.TabIndex=2 then + begin + Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.DateTime); + Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1); + Parameters.ParamByName('PState').Value:=3; + end; + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmSCGYSet.ToolButton1Click(Sender: TObject); +begin + InitGrid(); +end; + +procedure TfrmSCGYSet.FormShow(Sender: TObject); +begin + EndDate.DateTime:=SGetServerDate(ADOTemp); + BegDate.DateTime:=EndDate.DateTime-30; + ReadCxGrid('յ',Tv1,'޷IJ'); + InitGrid(); + KBSLJData(); + if Trim(DParameters1)='' then + begin + TBSave.Visible:=False; + Tv1.OptionsSelection.CellSelect:=False; + end else + begin + ToolButton5.Visible:=False; + ToolButton6.Visible:=False; + + end; +end; + +procedure TfrmSCGYSet.cxTabControl1Change(Sender: TObject); +begin + InitGrid(); + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + if Trim(DParameters1)<>'' then + begin + if cxTabControl1.TabIndex=2 then + Tv1.OptionsSelection.CellSelect:=False + else + Tv1.OptionsSelection.CellSelect:=True; + end; + +end; + +procedure TfrmSCGYSet.OrderNoChange(Sender: TObject); +begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); +end; + +procedure TfrmSCGYSet.MenuItem3Click(Sender: TObject); +begin + CDS_Main.DisableControls; + with CDS_Main do + begin + First; + while not Eof do + begin + Edit; + FieldByName('SSel').Value:=True; + Post; + Next; + end; + end; + CDS_Main.EnableControls; +end; + +procedure TfrmSCGYSet.MenuItem4Click(Sender: TObject); +begin + CDS_Main.DisableControls; + with CDS_Main do + begin + First; + while not Eof do + begin + Edit; + FieldByName('SSel').Value:=False; + Post; + Next; + end; + end; + CDS_Main.EnableControls; +end; + +procedure TfrmSCGYSet.TBSaveClick(Sender: TObject); +begin + BegDate.SetFocus; + if CDS_Main.IsEmpty then Exit; + if cxTabControl1.TabIndex=2 then Exit; + if Trim(CDS_Main.FieldByName('SYDate').AsString)='' then + begin + Application.MessageBox('ڲΪգ','ʾ',0); + Exit; + end; + if (SaveSub() and SaveKB() and SaveSLJ() ) then + begin + if cxTabControl1.TabIndex=0 then + CDS_Main.Delete; + KBSLJData(); + Application.MessageBox('ɹ','ʾ',0); + end else + begin + end; + +end; +function TfrmSCGYSet.SaveSub():Boolean; +var + maxno:string; +begin + try + Result:=False; + ADOCmd.Connection.BeginTrans; + with CDS_Sub do + begin + //First; + //while not Eof do + //begin + if Trim(CDS_Sub.fieldbyname('SYID').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'SY','WFB_SCGY',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_Sub.fieldbyname('SYID').AsString); + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_SCGY where SYID='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_Sub.fieldbyname('SYID').AsString)='' then + begin + Append; + FieldByName('Filler').Value:=Trim(DName); + end else + begin + Edit; + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + FieldByName('SYID').Value:=Trim(maxno); + FieldByName('MainId').Value:=Trim(CDS_Main.fieldbyname('MainId').AsString); + FieldByName('SWFBHW').Value:=Trim(CDS_Main.fieldbyname('SWFBHW').AsString); + FieldByName('WKMS').Value:=Trim(CDS_Main.fieldbyname('WKMS').AsString); + if Trim(CDS_Main.fieldbyname('SYDate').AsString)<>'' then + FieldByName('SYDate').Value:=Trim(CDS_Main.fieldbyname('SYDate').AsString); + SSetSaveDataCDSBandNew(ADOCmd,TVPW,CDS_Sub,'WFB_SCGY',0); + SSetSaveDataCDSBandNew(ADOCmd,TVJS,CDS_Sub,'WFB_SCGY',0); + SSetSaveDataCDSBandNew(ADOCmd,TVQSJ,CDS_Sub,'WFB_SCGY',0); + SSetSaveDataCDSBandNew(ADOCmd,TVSYH,CDS_Sub,'WFB_SCGY',0); + Post; + end; + with CDS_Main do + begin + Edit; + FieldByName('SYID').Value:=Trim(maxno); + Post; + end; + with CDS_Sub do + begin + Edit; + FieldByName('SYID').Value:=Trim(maxno); + Post; + end; + //Next; + //end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + //Application.MessageBox('ɹ','ʾ',0); + //Exit; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧ!','ʾ',0); + Exit; + end; +end; +function TfrmSCGYSet.SaveKB():Boolean; +var + maxno:string; +begin + BegDate.SetFocus; + Result:=False; + try + ADOCmd.Connection.BeginTrans; + with CDS_KB do + begin + First; + while not Eof do + begin + if Trim(CDS_KB.fieldbyname('KBID').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'KB','WFB_SCGY_KB',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_KB.fieldbyname('KBID').AsString); + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_SCGY_KB where KBID='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_KB.fieldbyname('KBID').AsString)='' then + begin + Append; + FieldByName('Filler').Value:=Trim(DName); + end else + begin + Edit; + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + FieldByName('SYID').Value:=Trim(CDS_Main.fieldbyname('SYID').AsString); + FieldByName('KBID').Value:=Trim(maxno); + FieldByName('YCLCode').Value:=Trim(CDS_KB.fieldbyname('YCLCode').AsString); + SSetSaveDataCDSBandNew(ADOCmd,TvKB,CDS_KB,'WFB_SCGY_KB',0); + Post; + end; + with CDS_KB do + begin + Edit; + FieldByName('KBID').Value:=Trim(maxno); + Post; + end; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + ///Application.MessageBox('ɹ','ʾ',0); + //Exit; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧ!','ʾ',0); + Exit; + end; +end; +function TfrmSCGYSet.SaveSLJ():Boolean; +var + maxno:string; +begin + BegDate.SetFocus; + try + Result:=False; + ADOCmd.Connection.BeginTrans; + with CDS_SLJ do + begin + First; + while not Eof do + begin + if Trim(CDS_SLJ.fieldbyname('SLID').AsString)='' then + begin + if GetLSNo(ADOCmd,maxno,'SL','WFB_SCGY_ShuLi',3,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + end else + begin + maxno:=Trim(CDS_SLJ.fieldbyname('SLID').AsString); + end; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_SCGY_ShuLi where SLID='''+Trim(maxno)+''''); + Open; + end; + with ADOCmd do + begin + if Trim(CDS_SLJ.fieldbyname('SLID').AsString)='' then + begin + Append; + FieldByName('Filler').Value:=Trim(DName); + end else + begin + Edit; + FieldByName('Editer').Value:=Trim(DName); + FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); + end; + FieldByName('SYID').Value:=Trim(CDS_Main.fieldbyname('SYID').AsString); + FieldByName('SLID').Value:=Trim(maxno); + SSetSaveDataCDSBandNew(ADOCmd,TvSLJ,CDS_SLJ,'WFB_SCGY_ShuLi',0); + Post; + end; + with CDS_SLJ do + begin + Edit; + FieldByName('SLID').Value:=Trim(maxno); + Post; + end; + Next; + end; + end; + ADOCmd.Connection.CommitTrans; + Result:=True; + ///Application.MessageBox('ɹ','ʾ',0); + //Exit; + except + Result:=False; + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧ!','ʾ',0); + Exit; + end; +end; + +procedure TfrmSCGYSet.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxGrid('յ',Tv1,'޷IJ'); +end; + +procedure TfrmSCGYSet.ToolButton2Click(Sender: TObject); +begin + if CDS_Main.IsEmpty then Exit; + TcxGridToExcel('յ',cxGrid1); +end; + +procedure TfrmSCGYSet.InitGridSub(); +begin + try + ADOTemp.DisableControls; + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select A.*,ZBL=SYDefFlt1/100*SYDefFlt2/100*SYDefFlt3/100*SYDefFlt4/100*SYDefFlt5/100*SYDefFlt6/100*SYDefFlt7/100'); + SQL.Add(' from WFB_SCGY A where SYID='''+Trim(CDS_Main.fieldbyname('SYID').AsString)+''''); + Open; + end; + SCreateCDS20(ADOTemp,CDS_Sub); + SInitCDSData20(ADOTemp,CDS_Sub); + finally + ADOTemp.EnableControls; + end; +end; +procedure TfrmSCGYSet.InitGridKB(); +begin + try + ADOTemp.DisableControls; + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_SCGY_KB where SYID='''+Trim(CDS_Main.fieldbyname('SYID').AsString)+''''); + Open; + end; + SCreateCDS20(ADOTemp,CDS_KB); + SInitCDSData20(ADOTemp,CDS_KB); + finally + ADOTemp.EnableControls; + end; +end; +procedure TfrmSCGYSet.InitGridSLJ(); +begin + try + ADOTemp.DisableControls; + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_SCGY_Shuli where SYID='''+Trim(CDS_Main.fieldbyname('SYID').AsString)+''''); + Open; + end; + SCreateCDS20(ADOTemp,CDS_SLJ); + SInitCDSData20(ADOTemp,CDS_SLJ); + finally + ADOTemp.EnableControls; + end; +end; +procedure TfrmSCGYSet.Tv1CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + KBSLJData(); +end; +procedure TfrmSCGYSet.KBSLJData(); +begin + InitGridSub(); + InitGridKB(); + InitGridSLJ(); + if Trim(CDS_Sub.fieldbyname('SYID').AsString)='' then + begin + with CDS_Sub do + begin + Append; + Post; + end; + end; + if Trim(CDS_KB.fieldbyname('KBID').AsString)='' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from KH_Zdy where Type=''KBMac'' '); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from KH_Zdy where Type=''KBMac'' order by ZdyNo '); + Open; + end; + with ADOTemp do + begin + First; + while not Eof do + begin + with CDS_KB do + begin + Append; + FieldByName('KBMac').Value:=Trim(ADOTemp.fieldbyname('ZdyName').AsString); + Post; + end; + Next; + end; + end; + end else + begin + with CDS_KB do + begin + Append; + Post; + end; + end; + end; + if Trim(CDS_SLJ.fieldbyname('SLID').AsString)='' then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from KH_Zdy where Type=''SLMac'' '); + Open; + end; + if ADOTemp.IsEmpty=False then + begin + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from KH_Zdy where Type=''SLMac'' order by ZdyNo '); + Open; + end; + if Trim(CDS_Main.fieldbyname('WJGName').AsString)='+ֱ' then + begin + with ADOTemp do + begin + First; + while not Eof do + begin + with CDS_SLJ do + begin + Append; + FieldByName('SLMac').Value:=Trim(ADOTemp.fieldbyname('ZdyName').AsString); + Post; + end; + Next; + end; + end; + end else + begin + with ADOTemp do + begin + First; + with CDS_SLJ do + begin + Append; + FieldByName('SLMac').Value:=Trim(ADOTemp.fieldbyname('ZdyName').AsString); + Post; + end; + end; + end; + end else + begin + with CDS_SLJ do + begin + Append; + Post; + end; + end; + end; +end; +procedure TfrmSCGYSet.ToolButton3Click(Sender: TObject); +begin + + if FInt=1 then + begin + with CDS_KB do + begin + Append; + Post; + end; + end else + if FInt=2 then + begin + with CDS_SLJ do + begin + Append; + Post; + end; + end; + +end; + +procedure TfrmSCGYSet.ToolButton4Click(Sender: TObject); +begin + if FInt=1 then + begin + if Trim(CDS_KB.fieldbyname('KBID').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.add('delete WFB_SCGY_KB where KBID='''+Trim(CDS_KB.fieldbyname('KBID').AsString)+''''); + ExecSQL; + end; + end; + CDS_KB.Delete; + end else + if FInt=2 then + begin + if Trim(CDS_SLJ.fieldbyname('SLID').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.add('delete WFB_SCGY_Shuli where SLID='''+Trim(CDS_SLJ.fieldbyname('SLID').AsString)+''''); + ExecSQL; + end; + end; + CDS_SLJ.Delete; + end; + +end; + +procedure TfrmSCGYSet.cxGridDBBandedColumn4PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='KBMac'; + flagname:=''; + if ShowModal=1 then + begin + Self.CDS_KB.Edit; + Self.CDS_KB.FieldByName('KBMac').Value:=Trim(ClientDataSet1.fieldbyname('zdyname').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmSCGYSet.cxGridDBBandedColumn5PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='YCL'; + flagname:='ԭ'; + TBAdd.Visible:=False; + TBEdit.Visible:=False; + TBDel.Visible:=False; + TBSave.Visible:=False; + if ShowModal=1 then + begin + Self.CDS_KB.Edit; + Self.CDS_KB.FieldByName('YCLName').Value:=Trim(ClientDataSet1.fieldbyname('zdyname').AsString); + Self.CDS_KB.FieldByName('YCLCode').Value:=Trim(ClientDataSet1.fieldbyname('zdyNo').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmSCGYSet.cxGridDBBandedColumn27PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='SLMac'; + flagname:=''; + if ShowModal=1 then + begin + Self.CDS_SLJ.Edit; + Self.CDS_SLJ.FieldByName('SLMac').Value:=Trim(ClientDataSet1.fieldbyname('zdyname').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmSCGYSet.TvKBMouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); +begin + FInt:=1; + TvKB.Bands[0].Caption:=''; + TvSLJ.Bands[0].Caption:=''; + TvKB.Bands[0].Styles.Header.TextColor:=clBlue; + TvSLJ.Bands[0].Styles.Header.TextColor:=clBlack; +end; + +procedure TfrmSCGYSet.TvSLJMouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); +begin + FInt:=2; + TvKB.Bands[0].Caption:=''; + TvSLJ.Bands[0].Caption:=''; + TvKB.Bands[0].Styles.Header.TextColor:=clBlack; + TvSLJ.Bands[0].Styles.Header.TextColor:=clBlue; +end; + +procedure TfrmSCGYSet.cxGridDBBandedColumn29PropertiesEditValueChanged( + Sender: TObject); +var + mvalue:String; +begin + UpdateZBS(Sender); +end; + +procedure TfrmSCGYSet.UpdateZBS(Sender: TObject); +var + mvalue,FieldStr:String; + i:Integer; + XS,LXS:Double; +begin + mvalue:=TcxTextEdit(Sender).EditingText; + FieldStr:=TvQSJ.Controller.FocusedColumn.DataBinding.FilterFieldName; + if Trim(mvalue)='' then + mvalue:='0'; + with CDS_Sub do + begin + Edit; + FieldByName(FieldStr).Value:=StrToFloat(mvalue); + Post; + end; + XS:=1.00; + for i:=1 to 7 do + begin + FieldStr:=Trim('SYDefFlt'+Trim(Inttostr(i))); + if Trim(CDS_Sub.FieldByName(FieldStr).AsString)='' then + begin + LXS:=0; + end else + begin + LXS:=CDS_Sub.FieldByName(FieldStr).Value; + end; + XS:=XS*LXS*1.00/100; + end; + with CDS_Sub do + begin + Edit; + FieldByName('ZBL').Value:=XS; + Post; + end; +end; + +procedure TfrmSCGYSet.ToolButton5Click(Sender: TObject); +begin + if CDS_Main.IsEmpty then Exit; + if cxTabControl1.TabIndex=1 then + begin + if Trim(CDS_Main.FieldByName('Filler').AsString)=Trim(DName) then + begin + Application.MessageBox('ԼĶ','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪִд˲','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('Update WFB_SCGY Set Chker='''+Trim(DName)+''''); + sql.Add(',ChkDate=getdate(),ChkStatus=''ͨ'' '); + sql.Add(' where SYID='''+Trim(CDS_Main.fieldbyname('SYID').AsString)+''''); + ExecSQL; + end; + with CDS_Main do + begin + edit; + FieldByName('ChkStatus').Value:='ͨ'; + FieldByName('Chker').Value:=Trim(DName); + Post; + end; + + end; +end; + +procedure TfrmSCGYSet.ToolButton6Click(Sender: TObject); +begin + if CDS_Main.IsEmpty then Exit; + if cxTabControl1.TabIndex>0 then + begin + if cxTabControl1.TabIndex=2 then + begin + if Trim(CDS_Main.FieldByName('Chker').AsString)<>Trim(DName) then + begin + Application.MessageBox('ܲͨĶ','ʾ',0); + Exit; + end; + end; + + if Application.MessageBox('ȷҪִд˲','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + SQL.Add('Update WFB_SCGY Set Chker='''+Trim(DName)+''''); + sql.Add(',ChkDate=getdate(),ChkStatus=''˲ͨ'' '); + sql.Add(' where SYID='''+Trim(CDS_Main.fieldbyname('SYID').AsString)+''''); + ExecSQL; + end; + with CDS_Main do + begin + edit; + FieldByName('ChkStatus').Value:='˲ͨ'; + FieldByName('Chker').Value:=Trim(DName); + Post; + end; + end; +end; + +end. diff --git a/打卷检验管理/U_SetBanZu.dfm b/打卷检验管理/U_SetBanZu.dfm new file mode 100644 index 0000000..195ed6b --- /dev/null +++ b/打卷检验管理/U_SetBanZu.dfm @@ -0,0 +1,221 @@ +object frmSetBanZu: TfrmSetBanZu + Left = 101 + Top = 118 + Width = 892 + Height = 616 + Caption = #29677#32452#35774#32622 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 13 + object cxGrid1: TcxGrid + Left = 0 + Top = 0 + Width = 497 + Height = 579 + Align = alLeft + TabOrder = 0 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Styles.Header = DataLink_RCInspection.FonePurple + object v1Column4: TcxGridDBColumn + Caption = #36873#25321 + DataBinding.FieldName = 'SSel' + PropertiesClassName = 'TcxCheckBoxProperties' + Properties.FullFocusRect = True + Properties.GlyphCount = 10 + Properties.ImmediatePost = True + Properties.NullStyle = nssUnchecked + HeaderAlignmentHorz = taCenter + Width = 76 + end + object v1Column1: TcxGridDBColumn + Caption = #21592#24037#32534#21495 + DataBinding.FieldName = 'UserId' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 139 + end + object v1Column2: TcxGridDBColumn + Caption = #21592#24037#21517#31216 + DataBinding.FieldName = 'UserName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 136 + end + object v1Column3: TcxGridDBColumn + Caption = #29677#32452 + DataBinding.FieldName = 'BanZu' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 135 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object Button3: TButton + Left = 511 + Top = 53 + Width = 78 + Height = 40 + Caption = #29677#32452#23450#20041 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 1 + OnClick = Button3Click + end + object Button4: TButton + Left = 592 + Top = 53 + Width = 78 + Height = 40 + Caption = #29677#32452#35774#32622 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 2 + OnClick = Button4Click + end + object Button5: TButton + Left = 673 + Top = 53 + Width = 78 + Height = 40 + Caption = #28165#31354#36873#25321 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 3 + OnClick = Button5Click + end + object Button6: TButton + Left = 754 + Top = 53 + Width = 78 + Height = 40 + Caption = #36864#20986 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 4 + OnClick = Button6Click + end + object Button1: TButton + Left = 689 + Top = 128 + Width = 70 + Height = 39 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 5 + Visible = False + OnClick = Button1Click + end + object Button2: TButton + Left = 762 + Top = 128 + Width = 70 + Height = 39 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 6 + Visible = False + OnClick = Button2Click + end + object BanZu: TComboBox + Left = 511 + Top = 127 + Width = 177 + Height = 41 + Style = csDropDownList + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ItemHeight = 33 + ParentFont = False + TabOrder = 7 + Visible = False + end + object cxStyleRepository1: TcxStyleRepository + Left = 832 + object cxStyle1: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + end + end + object ADOQueryMain: TADOQuery + Connection = DataLink_RCInspection.ADOLink + Parameters = <> + Left = 368 + Top = 216 + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 296 + Top = 216 + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_RCInspection.ADOLink + Parameters = <> + Left = 368 + Top = 296 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_RCInspection.ADOLink + Parameters = <> + Left = 368 + Top = 256 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 264 + Top = 312 + end +end diff --git a/打卷检验管理/U_SetBanZu.pas b/打卷检验管理/U_SetBanZu.pas new file mode 100644 index 0000000..1c97fd4 --- /dev/null +++ b/打卷检验管理/U_SetBanZu.pas @@ -0,0 +1,265 @@ +unit U_SetBanZu; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxCheckBox, ComCtrls, ToolWin, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel, + cxClasses, cxControls, cxGridCustomView, cxGrid, ADODB, StdCtrls, + ExtCtrls, DBClient; + +type + TfrmSetBanZu = class(TForm) + Tv1: TcxGridDBTableView; + cxGrid1Level1: TcxGridLevel; + cxGrid1: TcxGrid; + v1Column1: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + ADOQueryMain: TADOQuery; + DataSource1: TDataSource; + ADOQueryTemp: TADOQuery; + ADOQueryCmd: TADOQuery; + CDS_Main: TClientDataSet; + Button3: TButton; + Button4: TButton; + Button5: TButton; + Button6: TButton; + Button1: TButton; + Button2: TButton; + BanZu: TComboBox; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure ToolButton12Click(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure ToolButton6Click(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure Button5Click(Sender: TObject); + procedure Button6Click(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + end; + +var + frmSetBanZu: TfrmSetBanZu; + +implementation +Uses +U_DataLink,U_Fun,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmSetBanZu.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + + Action:=caFree; +end; + +procedure TfrmSetBanZu.FormDestroy(Sender: TObject); +begin + frmSetBanZu:=nil; +end; + +procedure TfrmSetBanZu.FormShow(Sender: TObject); +begin + + //DataLink_WFBProducttion.ADOLink.Connected:=True; + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + sql.Clear; + SQL.Add('select * from SY_User where UserId not in(''ADMIN'',''CS01'')'); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; + +end; + +procedure TfrmSetBanZu.ToolButton2Click(Sender: TObject); +var + fsj,FUserId:String; +begin + {FUserId:=Trim(CDS_Main.fieldbyname('UserId').AsString); + if CDS_Main.Locate('SSel',True,[])=False then + begin + CDS_Main.Locate('UserId',Trim(FUserId),[]); + Application.MessageBox('ûѡԱ','ʾ',0); + exit; + end; + CDS_Main.Locate('UserId',Trim(FUserId),[]); + Panel1.Visible:=True; + fsj:='select Name=ZdyName from KH_Zdy where Type=''WFBBZ'' '; + + SInitComBoxBySql(ADOQueryTemp,BanZu,False,fsj); } + +end; + +procedure TfrmSetBanZu.Button2Click(Sender: TObject); +begin + BanZu.Visible:=False; + Button1.Visible:=False; + Button2.Visible:=False; +end; + +procedure TfrmSetBanZu.ToolButton12Click(Sender: TObject); +begin + Close; +end; + +procedure TfrmSetBanZu.Button1Click(Sender: TObject); +begin + if CDS_Main.Locate('SSel',True,[])=False then + begin + Application.MessageBox('ûѡԱ','ʾ',0); + exit; + end; + if Application.MessageBox('ȷҪִв','ʾ',32+4)<>IDYES then Exit; + + try + ADOQueryCmd.Connection.BeginTrans; + CDS_Main.DisableControls; + with CDS_Main do + begin + First; + while not eof do + begin + if CDS_Main.FieldByName('SSel').AsBoolean=True then + begin + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('UPdate SY_User Set BanZu='''+Trim(BanZu.Text)+''''); + sql.Add(' where UserId='''+Trim(CDS_Main.fieldbyname('UserId').AsString)+''''); + ExecSQL; + end; + CDS_Main.Edit; + FieldByName('BanZu').Value:=Trim(BanZu.Text); + //CDS_Main.Post; + end; + Next; + end; + end; + CDS_Main.EnableControls; + ADOQueryCmd.Connection.CommitTrans; + BanZu.Visible:=False; + Button1.Visible:=False; + Button2.Visible:=False; + Application.MessageBox('óɹ','ʾ',0); + except + ADOQueryCmd.Connection.RollbackTrans; + + Application.MessageBox('쳣','ʾ',0); + end; + +end; + +procedure TfrmSetBanZu.ToolButton6Click(Sender: TObject); +var + fsj:string; +begin + fsj:=Trim(CDS_Main.fieldbyname('UserId').AsString); + CDS_Main.DisableControls; + with CDS_Main do + begin + First; + while not Eof do + begin + if FieldByName('SSel').AsBoolean=True then + begin + CDS_Main.Edit; + FieldByName('SSel').Value:=False; + end; + Next; + end; + end; + CDS_Main.EnableControls; + CDS_Main.Locate('UserId',fsj,[]); +end; + +procedure TfrmSetBanZu.Button3Click(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='WFBBZ'; + flagname:=''; + if ShowModal=1 then + begin + + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmSetBanZu.Button4Click(Sender: TObject); +var + fsj,FUserId:String; +begin + FUserId:=Trim(CDS_Main.fieldbyname('UserId').AsString); + if CDS_Main.Locate('SSel',True,[])=False then + begin + CDS_Main.Locate('UserId',Trim(FUserId),[]); + Application.MessageBox('ûѡԱ','ʾ',0); + exit; + end; + CDS_Main.Locate('UserId',Trim(FUserId),[]); + BanZu.Visible:=True; + Button1.Visible:=True; + Button2.Visible:=True; + fsj:='select Name=ZdyName from KH_Zdy where Type=''WFBBZ'' '; + + SInitComBoxBySql(ADOQueryTemp,BanZu,False,fsj); + +end; + +procedure TfrmSetBanZu.Button5Click(Sender: TObject); +var + fsj:string; +begin + fsj:=Trim(CDS_Main.fieldbyname('UserId').AsString); + CDS_Main.DisableControls; + with CDS_Main do + begin + First; + while not Eof do + begin + if FieldByName('SSel').AsBoolean=True then + begin + CDS_Main.Edit; + FieldByName('SSel').Value:=False; + end; + Next; + end; + end; + CDS_Main.EnableControls; + CDS_Main.Locate('UserId',fsj,[]); +end; + +procedure TfrmSetBanZu.Button6Click(Sender: TObject); +begin + Close; +end; + +end. diff --git a/打卷检验管理/U_StopWorkInPut.dfm b/打卷检验管理/U_StopWorkInPut.dfm new file mode 100644 index 0000000..3bb2703 --- /dev/null +++ b/打卷检验管理/U_StopWorkInPut.dfm @@ -0,0 +1,282 @@ +object frmStopWorkInPut: TfrmStopWorkInPut + Left = 67 + Top = 90 + Width = 1169 + Height = 598 + Caption = #20572#26426#35760#24405#34920 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -27 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 27 + object Panel1: TPanel + Left = 777 + Top = 0 + Width = 384 + Height = 561 + Align = alRight + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 0 + Visible = False + object Label5: TLabel + Left = 299 + Top = 39 + Width = 37 + Height = 140 + Caption = #20572#13#10#26426#13#10#21407#13#10#22240 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object SWReason: TComboBox + Tag = 1 + Left = 16 + Top = 3 + Width = 257 + Height = 24 + AutoCloseUp = True + Style = csDropDownList + DropDownCount = 45 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [] + ItemHeight = 16 + ParentFont = False + TabOrder = 0 + end + object Button1: TButton + Left = 51 + Top = 70 + Width = 90 + Height = 50 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Button1Click + end + object Button2: TButton + Left = 163 + Top = 70 + Width = 90 + Height = 50 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button2Click + end + end + object cxGrid5: TcxGrid + Left = 0 + Top = 0 + Width = 633 + Height = 561 + Align = alLeft + TabOrder = 1 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Styles.Content = cxStyle1 + Styles.Header = cxStyle1 + object v1Column1: TcxGridDBColumn + Caption = #29677#32452 + DataBinding.FieldName = 'SWPersonBZ' + HeaderAlignmentHorz = taCenter + Width = 45 + end + object v1Column2: TcxGridDBColumn + Caption = #20572#26426#26102#38388 + DataBinding.FieldName = 'SWBegtime' + HeaderAlignmentHorz = taCenter + Styles.Header = cxStyle4 + Width = 151 + end + object v1Column3: TcxGridDBColumn + Caption = #24320#26426#26102#38388 + DataBinding.FieldName = 'SWEndtime' + HeaderAlignmentHorz = taCenter + Styles.Header = cxStyle3 + Width = 122 + end + object v1Column4: TcxGridDBColumn + Caption = #20572#26426#21407#22240 + DataBinding.FieldName = 'SWReason' + HeaderAlignmentHorz = taCenter + Width = 245 + end + object v1Column5: TcxGridDBColumn + Caption = #25805#20316#20154 + DataBinding.FieldName = 'SWPerson' + HeaderAlignmentHorz = taCenter + Width = 62 + end + end + object cxGridLevel4: TcxGridLevel + GridView = Tv1 + end + end + object Button3: TButton + Left = 667 + Top = 473 + Width = 153 + Height = 65 + Caption = #21407#22240#23450#20041 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + OnClick = Button3Click + end + object Button4: TButton + Left = 667 + Top = 96 + Width = 153 + Height = 65 + Caption = #20572#26426 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = Button4Click + end + object Button5: TButton + Left = 667 + Top = 210 + Width = 153 + Height = 65 + Caption = #24320#26426 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + OnClick = Button5Click + end + object Button6: TButton + Left = 667 + Top = 325 + Width = 153 + Height = 65 + Caption = #36864#20986 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + OnClick = Button6Click + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 424 + Top = 192 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid5 + PopupMenus = <> + Left = 520 + Top = 168 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 464 + Top = 248 + end + object ADOTemp: TADOQuery + Connection = DataLink_RCInspection.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 480 + Top = 173 + end + object ADOCmd: TADOQuery + Connection = DataLink_RCInspection.ADOLink + Parameters = <> + Left = 496 + Top = 125 + end + object ADOQuery1: TADOQuery + Connection = DataLink_RCInspection.ADOLink + Parameters = <> + Left = 496 + Top = 141 + end + object cxStyleRepository1: TcxStyleRepository + Left = 472 + Top = 96 + object cxStyle1: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle2: TcxStyle + end + object cxStyle3: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clGreen + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlue + end + object cxStyle4: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clRed + end + end + object ADOQueryMain: TADOQuery + Connection = DataLink_RCInspection.ADOLink + Parameters = <> + Left = 488 + Top = 221 + end +end diff --git a/打卷检验管理/U_StopWorkInPut.pas b/打卷检验管理/U_StopWorkInPut.pas new file mode 100644 index 0000000..68d12f7 --- /dev/null +++ b/打卷检验管理/U_StopWorkInPut.pas @@ -0,0 +1,498 @@ +unit U_StopWorkInPut; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxTimeEdit, + cxButtonEdit, cxGridLevel, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, + StdCtrls, ComCtrls, ExtCtrls, ToolWin, ADODB, DBClient, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridBandedTableView, + cxGridDBBandedTableView, cxDropDownEdit; + +type + TfrmStopWorkInPut = class(TForm) + Panel1: TPanel; + Label5: TLabel; + cxGrid5: TcxGrid; + cxGridLevel4: TcxGridLevel; + DataSource1: TDataSource; + cxGridPopupMenu1: TcxGridPopupMenu; + CDS_Main: TClientDataSet; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + ADOQuery1: TADOQuery; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxStyle2: TcxStyle; + cxStyle3: TcxStyle; + cxStyle4: TcxStyle; + SWReason: TComboBox; + ADOQueryMain: TADOQuery; + Button1: TButton; + Button2: TButton; + Tv1: TcxGridDBTableView; + v1Column1: TcxGridDBColumn; + v1Column2: TcxGridDBColumn; + v1Column3: TcxGridDBColumn; + v1Column4: TcxGridDBColumn; + v1Column5: TcxGridDBColumn; + Button3: TButton; + Button4: TButton; + Button5: TButton; + Button6: TButton; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormShow(Sender: TObject); + procedure v1Column7PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure TBDelClick(Sender: TObject); + procedure ToolButton5Click(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure ToolButton12Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure ToolButton7Click(Sender: TObject); + procedure Button3Click(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure Button5Click(Sender: TObject); + procedure Button6Click(Sender: TObject); + private + { Private declarations } + procedure ComboxData(v1Column310:TcxGridDBBandedColumn;ii:Integer); + procedure InitGrid(); + public + { Public declarations } + end; + +var + frmStopWorkInPut: TfrmStopWorkInPut; + +implementation +uses + U_DataLink,U_Fun,U_ZDYHelp,U_iniParam; + +{$R *.dfm} + +procedure TfrmStopWorkInPut.FormDestroy(Sender: TObject); +begin + frmStopWorkInPut:=nil; +end; + +procedure TfrmStopWorkInPut.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + + Action:=caFree; +end; + +procedure TfrmStopWorkInPut.FormShow(Sender: TObject); + +begin + ReadCxGrid('ͣ¼',Tv1,'޷IJ'); + DataLink_WFBProducttion.ADOLink.Connected:=False; + DataLink_WFBProducttion.ADOLink.Connected:=True; + InitGrid(); + DataLink_WFBProducttion.ADOLink.Connected:=False; +end; +procedure TfrmStopWorkInPut.InitGrid(); +var + sql:string; +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('select Top 20* from WFB_StopWorkList '); + if Trim(SCXFlag)<>'' then + begin + sql.Add(' where SWType='''+Trim(SCXFlag)+''''); + end; + sql.Add('Order by SWBegTime desc'); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; +end; +procedure TfrmStopWorkInPut.ComboxData(v1Column310:TcxGridDBBandedColumn;ii:Integer); +var + i:Integer; + j:string; +begin + (v1Column310.Properties as TcxComboBoxProperties).Items.Clear; + for i:=0 to ii do + begin + if i<10 then + j:='0'+trim(IntToStr(i)) + else + j:=Trim(IntToStr(i)); + (v1Column310.Properties as TcxComboBoxProperties).Items.Add(Trim(j)); + end; +end; + +procedure TfrmStopWorkInPut.v1Column7PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='SWReason'; + flagname:='ͣԭ'; + if ShowModal=1 then + begin + Self.CDS_Main.Edit; + Self.CDS_Main.FieldByName('SWReason').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString) + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmStopWorkInPut.TBDelClick(Sender: TObject); +begin + if Trim(CDS_Main.fieldbyname('SWID').AsString)<>'' then + begin + if Trim(DCode)<>'ADMIN' then + begin + if Trim(DName)<>Trim(CDS_Main.fieldbyname('SWPerson').AsString) then + begin + Application.MessageBox('ɾ˼¼','ʾ',0); + Exit; + end; + end; + if Application.MessageBox('ȷҪɾ¼','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFB_StopWorkList where SWID='''+Trim(CDS_Main.fieldbyname('SWID').AsString)+''''); + ExecSQL; + end; + end; + CDS_Main.Delete; +end; + +procedure TfrmStopWorkInPut.ToolButton5Click(Sender: TObject); +var + sql:String; +begin + DataLink_WFBProducttion.ADOLink.Connected:=False; + DataLink_WFBProducttion.ADOLink.Connected:=True; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_StopWorkList where SWEndtime is null'); + Open; + end; + if ADOCmd.IsEmpty=False then + begin + Application.MessageBox('ϴͣδп','ʾ',0); + Exit; + end; + Panel1.Visible:=True; + sql:='select distinct(ZdyName) Name from KH_Zdy where Type=''SWReason'' '; + SInitComBoxBySql(ADOTemp,SWReason,False,sql); + DataLink_WFBProducttion.ADOLink.Connected:=False; +end; + +procedure TfrmStopWorkInPut.Button1Click(Sender: TObject); +var + maxno,FBZ:String; +begin + if Trim(SWReason.Text)='' then + begin + Application.MessageBox('ͣԭΪգ','ʾ',0); + Exit; + end; + if Application.MessageBox('ȷҪִͣ','ʾ',32+4)<>IDYES then Exit; + DataLink_WFBProducttion.ADOLink.Connected:=False; + DataLink_WFBProducttion.ADOLink.Connected:=True; + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from SY_User where UserId='''+Trim(DCode)+''''); + Open; + end; + FBZ:=Trim(ADOTemp.fieldbyname('BanZu').AsString); + try + ADOCmd.Connection.BeginTrans; + if GetLSNo(ADOCmd,maxno,'SW','WFB_StopWorkList',2,1)=False then + begin + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ȡͣʧܣ','ʾ',0); + Exit; + end; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_StopWorkList where 1<>1 '); + Open; + end; + with ADOCmd do + begin + Append; + FieldByName('SWID').Value:=Trim(maxno); + FieldByName('SWBegtime').Value:=SGetServerDateTime(ADOTemp); + FieldByName('SWReason').Value:=Trim(SWReason.Text); + FieldByName('SWPerson').Value:=Trim(DName); + FieldByName('SWPersonBZ').Value:=Trim(FBZ); + FieldByName('SWType').Value:=Trim(SCXFlag); + Post; + end; + with CDS_Main do + begin + Append; + FieldByName('SWID').Value:=Trim(maxno); + FieldByName('SWBegtime').Value:=SGetServerDateTime(ADOTemp); + FieldByName('SWReason').Value:=Trim(SWReason.Text); + FieldByName('SWPerson').Value:=Trim(DName); + FieldByName('SWPersonBZ').Value:=Trim(FBZ); + Post; + end; + ADOCmd.Connection.CommitTrans; + Panel1.Visible:=False; + //Application.MessageBox('ͣɹ','ʾ',0); + Exit; + except + ADOCmd.Connection.RollbackTrans; + DataLink_WFBProducttion.ADOLink.Connected:=False; + Application.MessageBox('ͣ쳣','ʾ',0); + Exit; + end; + DataLink_WFBProducttion.ADOLink.Connected:=False; +end; + +procedure TfrmStopWorkInPut.ToolButton12Click(Sender: TObject); +begin + Close; + WriteCxGrid('ͣ¼',Tv1,'޷IJ'); +end; + +procedure TfrmStopWorkInPut.Button2Click(Sender: TObject); +begin + Panel1.Visible:=False; +end; + +procedure TfrmStopWorkInPut.ToolButton7Click(Sender: TObject); +var + FBZ,MaxNo:String; +begin + DataLink_WFBProducttion.ADOLink.Connected:=False; + DataLink_WFBProducttion.ADOLink.Connected:=True; + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from SY_User where UserId='''+Trim(DCode)+''''); + Open; + end; + FBZ:=Trim(ADOTemp.fieldbyname('BanZu').AsString); + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_StopWorkList where SWEndtime is null'); + Open; + end; + if ADOTemp.IsEmpty=True then + begin + Application.MessageBox('δǼͣ¼','ʾ',0); + exit; + end; + if Application.MessageBox('ȷҪִп','ʾ',32+4)<>IDYES then Exit; + with ADOTemp do + begin + Close; + SQL.Clear; + SQL.Add('select Top 1* from WFB_StopWorkList where SWEndtime is null order by SWBegtime desc'); + Open; + end; + MaxNo:=Trim(ADOTemp.fieldbyname('SWID').AsString); + try + ADOCmd.Connection.BeginTrans; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_StopWorkList where SWID='''+Trim(ADOTemp.fieldbyname('SWID').AsString)+''''); + Open; + end; + + with ADOCmd do + begin + Edit; + FieldByName('SWEPerson').Value:=Trim(DName); + FieldByName('SWPersonBZ').Value:=Trim(FBZ); + FieldByName('SWEndtime').Value:=SGetServerDateTime(ADOTemp); + Post; + end; + ADOCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + CDS_Main.Locate('SWID',Trim(MaxNo),[]); + with CDS_Main do + begin + Edit; + FieldByName('SWEndtime').Value:=SGetServerDateTime(ADOTemp); + FieldByName('SWEPerson').Value:=Trim(DName); + //FieldByName('SWEPersonBZ').Value:=Trim(FBZ); + Post; + end; + except + ADOCmd.Connection.RollbackTrans; + DataLink_WFBProducttion.ADOLink.Connected:=False; + Application.MessageBox('쳣','ʾ',0); + end; + DataLink_WFBProducttion.ADOLink.Connected:=False; +end; + +procedure TfrmStopWorkInPut.Button3Click(Sender: TObject); +begin + { try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='SWReason'; + flagname:='ͣԭ'; + if ShowModal=1 then + begin + end; + end; + finally + frmZDYHelp.Free; + end;} +end; + +procedure TfrmStopWorkInPut.Button4Click(Sender: TObject); +var + sql:String; +begin + DataLink_WFBProducttion.ADOLink.Connected:=False; + DataLink_WFBProducttion.ADOLink.Connected:=True; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_StopWorkList '); + sql.Add('where SWEndtime is null'); + if Trim(SCXFlag)<>'' then + begin + sql.Add(' and SWType='''+Trim(SCXFlag)+''''); + end; + + Open; + end; + if ADOCmd.IsEmpty=False then + begin + Application.MessageBox('ϴͣδп','ʾ',0); + Exit; + end; + Panel1.Visible:=True; + sql:='select ZdyName Name from KH_Zdy where Type=''SWReason'' order by orderno '; + SInitComBoxBySql(ADOTemp,SWReason,False,sql); + SWReason.SetFocus; + SWReason.DroppedDown:=True; + //SWReason. + DataLink_WFBProducttion.ADOLink.Connected:=False; +end; + +procedure TfrmStopWorkInPut.Button5Click(Sender: TObject); +var + FBZ,MaxNo:String; +begin + DataLink_WFBProducttion.ADOLink.Connected:=False; + DataLink_WFBProducttion.ADOLink.Connected:=True; + with ADOTemp do + begin + Close; + sql.Clear; + sql.Add('select * from SY_User where UserId='''+Trim(DCode)+''''); + Open; + end; + FBZ:=Trim(ADOTemp.fieldbyname('BanZu').AsString); + with ADOTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_StopWorkList'); + sql.Add(' where SWEndtime is null'); + if Trim(SCXFlag)<>'' then + begin + sql.Add(' and SWType='''+Trim(SCXFlag)+''''); + end; + Open; + end; + if ADOTemp.IsEmpty=True then + begin + Application.MessageBox('δǼͣ¼','ʾ',0); + exit; + end; + if Application.MessageBox('ȷҪִп','ʾ',32+4)<>IDYES then Exit; + with ADOTemp do + begin + Close; + SQL.Clear; + SQL.Add('select Top 1* from WFB_StopWorkList where SWEndtime is null '); + if Trim(SCXFlag)<>'' then + begin + sql.Add(' and SWType='''+Trim(SCXFlag)+''''); + end; + sql.Add(' order by SWBegtime desc'); + Open; + end; + MaxNo:=Trim(ADOTemp.fieldbyname('SWID').AsString); + try + ADOCmd.Connection.BeginTrans; + with ADOCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_StopWorkList where SWID='''+Trim(ADOTemp.fieldbyname('SWID').AsString)+''''); + Open; + end; + + with ADOCmd do + begin + Edit; + FieldByName('SWEPerson').Value:=Trim(DName); + FieldByName('SWPersonBZ').Value:=Trim(FBZ); + FieldByName('SWEndtime').Value:=SGetServerDateTime(ADOTemp); + Post; + end; + ADOCmd.Connection.CommitTrans; + //Application.MessageBox('ɹ','ʾ',0); + CDS_Main.Locate('SWID',Trim(MaxNo),[]); + with CDS_Main do + begin + Edit; + FieldByName('SWEndtime').Value:=SGetServerDateTime(ADOTemp); + FieldByName('SWEPerson').Value:=Trim(DName); + //FieldByName('SWEPersonBZ').Value:=Trim(FBZ); + Post; + end; + except + ADOCmd.Connection.RollbackTrans; + DataLink_WFBProducttion.ADOLink.Connected:=False; + Application.MessageBox('쳣','ʾ',0); + end; + DataLink_WFBProducttion.ADOLink.Connected:=False; +end; + +procedure TfrmStopWorkInPut.Button6Click(Sender: TObject); +begin + Close; + WriteCxGrid('ͣ¼',Tv1,'޷IJ'); +end; + +end. diff --git a/打卷检验管理/U_StopWorkList.dfm b/打卷检验管理/U_StopWorkList.dfm new file mode 100644 index 0000000..5f5b802 --- /dev/null +++ b/打卷检验管理/U_StopWorkList.dfm @@ -0,0 +1,439 @@ +object frmStopWorkList: TfrmStopWorkList + Left = 90 + Top = 121 + Width = 1069 + Height = 598 + Caption = #20572#26426#35760#24405#34920 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1061 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 83 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_WFBProducttion.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + OnClick = TBRafreshClick + end + object ToolButton1: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + Visible = False + OnClick = ToolButton1Click + end + object TBDel: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 17 + Visible = False + OnClick = TBDelClick + end + object ToolButton2: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = ToolButton2Click + end + object ToolButton3: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #23548#20986 + ImageIndex = 13 + OnClick = ToolButton3Click + end + object ToolButton4: TToolButton + Left = 315 + Top = 0 + Caption = #20572#26426#21407#22240 + ImageIndex = 56 + OnClick = ToolButton4Click + end + object TBClose: TToolButton + Left = 398 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 1061 + Height = 76 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 1 + object Label1: TLabel + Left = 23 + Top = 25 + Width = 24 + Height = 12 + Caption = #26085#26399 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label3: TLabel + Left = 450 + Top = 25 + Width = 36 + Height = 12 + Caption = #25805#20316#20154 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label5: TLabel + Left = 240 + Top = 49 + Width = 48 + Height = 12 + Caption = #20572#26426#21407#22240 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object Label4: TLabel + Left = 240 + Top = 25 + Width = 48 + Height = 12 + Caption = #29677' '#32452 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + end + object BegDate: TDateTimePicker + Left = 50 + Top = 21 + Width = 168 + Height = 20 + Date = 40675.464742650460000000 + Format = 'yyyy-MM-dd' + Time = 40675.464742650460000000 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 0 + end + object EndDate: TDateTimePicker + Left = 50 + Top = 45 + Width = 169 + Height = 20 + Date = 40675.464761099540000000 + Format = 'yyyy-MM-dd' + Time = 40675.464761099540000000 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 1 + end + object SWPersonBZ: TComboBox + Tag = 1 + Left = 291 + Top = 21 + Width = 97 + Height = 20 + Style = csDropDownList + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ItemHeight = 12 + ParentFont = False + TabOrder = 2 + OnChange = SWPersonBZChange + end + object SWPerson: TComboBox + Tag = 1 + Left = 491 + Top = 21 + Width = 97 + Height = 20 + Style = csDropDownList + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ItemHeight = 12 + ParentFont = False + TabOrder = 3 + OnChange = SWPersonBZChange + end + object SWReason: TComboBox + Tag = 1 + Left = 291 + Top = 45 + Width = 297 + Height = 20 + Style = csDropDownList + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ItemHeight = 12 + ParentFont = False + TabOrder = 4 + OnChange = SWPersonBZChange + end + end + object cxGrid5: TcxGrid + Left = 0 + Top = 104 + Width = 1017 + Height = 393 + TabOrder = 2 + object Tv1: TcxGridDBBandedTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = <> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_WFBProducttion.SHuangSe + Styles.IncSearch = DataLink_WFBProducttion.SHuangSe + Styles.Selection = DataLink_WFBProducttion.SHuangSe + Styles.Header = DataLink_WFBProducttion.handBlack + Styles.BandHeader = DataLink_WFBProducttion.FoneRed + Bands = < + item + Width = 314 + end + item + Caption = #24320#22987#26102#38388 + Styles.Header = cxStyle3 + Width = 157 + end + item + Caption = #32467#26463#26102#38388 + Styles.Header = cxStyle4 + Width = 168 + end + item + Width = 363 + end> + object v1Column1: TcxGridDBBandedColumn + Tag = 2 + Caption = #26085#26399 + DataBinding.FieldName = 'SWDate10' + PropertiesClassName = 'TcxDateEditProperties' + Properties.SaveTime = False + Properties.ShowTime = False + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 216 + Position.BandIndex = 0 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object v1Column2: TcxGridDBBandedColumn + Tag = 2 + Caption = #29677#32452 + DataBinding.FieldName = 'SWPersonBZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 98 + Position.BandIndex = 0 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + object v1Column3: TcxGridDBBandedColumn + Tag = 2 + DataBinding.FieldName = 'SWBegTime' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.DropDownListStyle = lsFixedList + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Moving = False + Position.BandIndex = 1 + Position.ColIndex = 0 + Position.RowIndex = 0 + IsCaptionAssigned = True + end + object v1Column5: TcxGridDBBandedColumn + Tag = 2 + DataBinding.FieldName = 'SWEndTime' + PropertiesClassName = 'TcxComboBoxProperties' + Properties.DropDownListStyle = lsFixedList + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Moving = False + Position.BandIndex = 2 + Position.ColIndex = 0 + Position.RowIndex = 0 + IsCaptionAssigned = True + end + object v1Column7: TcxGridDBBandedColumn + Tag = 2 + Caption = #20572#26426#21407#22240 + DataBinding.FieldName = 'SWReason' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = v1Column7PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Width = 242 + Position.BandIndex = 3 + Position.ColIndex = 0 + Position.RowIndex = 0 + end + object v1Column8: TcxGridDBBandedColumn + Tag = 2 + Caption = #25805#20316#20154 + DataBinding.FieldName = 'SWPerson' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Width = 121 + Position.BandIndex = 3 + Position.ColIndex = 1 + Position.RowIndex = 0 + end + end + object cxGridLevel4: TcxGridLevel + GridView = Tv1 + end + end + object DataSource1: TDataSource + DataSet = CDS_Main + Left = 552 + Top = 224 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid5 + PopupMenus = <> + Left = 432 + Top = 232 + end + object CDS_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 552 + Top = 248 + end + object ADOTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 584 + Top = 221 + end + object ADOCmd: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 608 + Top = 221 + end + object ADOQuery1: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 640 + Top = 221 + end + object cxStyleRepository1: TcxStyleRepository + Left = 920 + Top = 64 + object cxStyle1: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -27 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle2: TcxStyle + end + object cxStyle3: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clGreen + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clBlue + end + object cxStyle4: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + TextColor = clRed + end + end + object ADOQueryMain: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 640 + Top = 293 + end +end diff --git a/打卷检验管理/U_StopWorkList.pas b/打卷检验管理/U_StopWorkList.pas new file mode 100644 index 0000000..84e0209 --- /dev/null +++ b/打卷检验管理/U_StopWorkList.pas @@ -0,0 +1,291 @@ +unit U_StopWorkList; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxTimeEdit, + cxButtonEdit, cxGridLevel, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, + StdCtrls, ComCtrls, ExtCtrls, ToolWin, ADODB, DBClient, + cxGridCustomPopupMenu, cxGridPopupMenu, cxGridBandedTableView, + cxGridDBBandedTableView, cxDropDownEdit; + +type + TfrmStopWorkList = class(TForm) + ToolBar1: TToolBar; + TBRafresh: TToolButton; + TBDel: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + Label1: TLabel; + Label3: TLabel; + Label5: TLabel; + BegDate: TDateTimePicker; + EndDate: TDateTimePicker; + cxGrid5: TcxGrid; + cxGridLevel4: TcxGridLevel; + ToolButton1: TToolButton; + ToolButton2: TToolButton; + Label4: TLabel; + DataSource1: TDataSource; + cxGridPopupMenu1: TcxGridPopupMenu; + CDS_Main: TClientDataSet; + ADOTemp: TADOQuery; + ADOCmd: TADOQuery; + ADOQuery1: TADOQuery; + Tv1: TcxGridDBBandedTableView; + v1Column1: TcxGridDBBandedColumn; + v1Column2: TcxGridDBBandedColumn; + v1Column3: TcxGridDBBandedColumn; + v1Column5: TcxGridDBBandedColumn; + v1Column7: TcxGridDBBandedColumn; + v1Column8: TcxGridDBBandedColumn; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxStyle2: TcxStyle; + cxStyle3: TcxStyle; + cxStyle4: TcxStyle; + SWPersonBZ: TComboBox; + SWPerson: TComboBox; + SWReason: TComboBox; + ADOQueryMain: TADOQuery; + ToolButton3: TToolButton; + ToolButton4: TToolButton; + procedure FormDestroy(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure v1Column7PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure TBCloseClick(Sender: TObject); + procedure ToolButton2Click(Sender: TObject); + procedure TBDelClick(Sender: TObject); + procedure SWPersonBZChange(Sender: TObject); + procedure TBRafreshClick(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure ToolButton4Click(Sender: TObject); + private + { Private declarations } + procedure ComboxData(v1Column310:TcxGridDBBandedColumn;ii:Integer); + procedure InitGrid(); + public + { Public declarations } + end; + +var + frmStopWorkList: TfrmStopWorkList; + +implementation +uses + U_DataLink,U_Fun,U_ZDYHelp; + +{$R *.dfm} + +procedure TfrmStopWorkList.FormDestroy(Sender: TObject); +begin + frmStopWorkList:=nil; +end; + +procedure TfrmStopWorkList.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmStopWorkList.FormCreate(Sender: TObject); +begin + cxGrid5.Align:=alClient; + +end; + +procedure TfrmStopWorkList.FormShow(Sender: TObject); + +begin + EndDate.DateTime:=SGetServerDate(ADOQuery1); + BegDate.DateTime:=EndDate.DateTime-7; + ReadCxBandedGrid('ͣ¼',Tv1,'޷IJ'); + InitGrid(); + +end; +procedure TfrmStopWorkList.InitGrid(); +var + sql:string; +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Filtered:=False; + Close; + sql.Clear; + SQL.Add('select SWDate10=(Convert(varchar(10),A.SWBegTime,120)), A.* from WFB_StopWorkList A where SWBegTime>=:begdate and SWBegTime<:enddate'); + Parameters.ParamByName('begdate').Value:=FormatDateTime('yyyy-MM-dd',BegDate.DateTime); + Parameters.ParamByName('enddate').Value:=FormatDateTime('yyyy-MM-dd',enddate.DateTime+1); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); + finally + ADOQueryMain.EnableControls; + end; + sql:='select distinct(SWPersonBZ) Name from WFB_StopWorkList where SWBegTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +'and SWBegTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + SInitComBoxBySql(ADOTemp,SWPersonBZ,False,sql); + sql:='select distinct(SWPerson) Name from WFB_StopWorkList where SWBegTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +'and SWBegTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + SInitComBoxBySql(ADOTemp,SWPerson,False,sql); + sql:='select distinct(SWReason) Name from WFB_StopWorkList where SWBegTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+'''' + +'and SWBegTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''; + SInitComBoxBySql(ADOTemp,SWReason,False,sql); +end; +procedure TfrmStopWorkList.ComboxData(v1Column310:TcxGridDBBandedColumn;ii:Integer); +var + i:Integer; + j:string; +begin + (v1Column310.Properties as TcxComboBoxProperties).Items.Clear; + for i:=0 to ii do + begin + if i<10 then + j:='0'+trim(IntToStr(i)) + else + j:=Trim(IntToStr(i)); + (v1Column310.Properties as TcxComboBoxProperties).Items.Add(Trim(j)); + end; +end; + +procedure TfrmStopWorkList.ToolButton1Click(Sender: TObject); +begin + with CDS_Main do + begin + Append; + FieldByName('SWDate').Value:=SGetServerDate(ADOTemp); + FieldByName('SWPerson').Value:=Trim(DName); + with ADOQuery1 do + begin + Close; + sql.Clear; + sql.Add('select * from SY_User where UserId='''+Trim(DCode)+''''); + Open; + end; + FieldByName('SWPersonBZ').Value:=Trim(ADOQuery1.fieldbyname('UDept').AsString); + Post; + end; +end; + +procedure TfrmStopWorkList.v1Column7PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='SWReason'; + flagname:='ͣԭ'; + if ShowModal=1 then + begin + Self.CDS_Main.Edit; + Self.CDS_Main.FieldByName('SWReason').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString) + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TfrmStopWorkList.TBCloseClick(Sender: TObject); +begin + Close; + WriteCxBandedGrid('ͣ¼',Tv1,'޷IJ'); +end; + +procedure TfrmStopWorkList.ToolButton2Click(Sender: TObject); +var + maxno:string; +begin + BegDate.SetFocus; + if CDS_Main.IsEmpty then Exit; + try + ADOCmd.Connection.BeginTrans; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_StopWorkList Set SWReason='''+Trim(CDS_Main.fieldbyname('SWReason').AsString)+''''); + sql.Add(' where SWID='''+Trim(CDS_Main.fieldbyname('SWID').AsString)+''''); + ExecSQL; + end; + ADOCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + Exit; + except + ADOCmd.Connection.RollbackTrans; + Application.MessageBox('ʧ!','ʾ',0); + Exit; + end; +end; + +procedure TfrmStopWorkList.TBDelClick(Sender: TObject); +begin + if Trim(CDS_Main.fieldbyname('SWID').AsString)<>'' then + begin + if Trim(DCode)<>'ADMIN' then + begin + if Trim(DName)<>Trim(CDS_Main.fieldbyname('SWPerson').AsString) then + begin + Application.MessageBox('ɾ˼¼','ʾ',0); + Exit; + end; + end; + if Application.MessageBox('ȷҪɾ¼','ʾ',32+4)<>IDYES then Exit; + with ADOCmd do + begin + Close; + sql.Clear; + sql.Add('delete WFB_StopWorkList where SWID='''+Trim(CDS_Main.fieldbyname('SWID').AsString)+''''); + ExecSQL; + end; + end; + CDS_Main.Delete; +end; + +procedure TfrmStopWorkList.SWPersonBZChange(Sender: TObject); +begin + SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); + SCreateCDS20(ADOQueryMain,CDS_Main); + SInitCDSData20(ADOQueryMain,CDS_Main); +end; + +procedure TfrmStopWorkList.TBRafreshClick(Sender: TObject); +begin + BegDate.SetFocus; + InitGrid(); +end; + +procedure TfrmStopWorkList.ToolButton3Click(Sender: TObject); +begin + if CDS_Main.IsEmpty then Exit; + TcxGridToExcel('ͣ¼',cxGrid5); +end; + +procedure TfrmStopWorkList.ToolButton4Click(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='SWReason'; + flagname:='ͣԭ'; + if ShowModal=1 then + begin + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +end. diff --git a/打卷检验管理/U_SysLogOrder.dfm b/打卷检验管理/U_SysLogOrder.dfm new file mode 100644 index 0000000..3eee91e --- /dev/null +++ b/打卷检验管理/U_SysLogOrder.dfm @@ -0,0 +1,18071 @@ +object frmSysLogOrder: TfrmSysLogOrder + Left = 286 + Top = 163 + Width = 1386 + Height = 788 + Align = alClient + Caption = #25968#25454#20462#25913#26085#24535#26597#30475 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnClose = FormClose + OnCreate = FormCreate + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1370 + Height = 33 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Flat = True + Images = ThreeImgList + List = True + ShowCaptions = True + TabOrder = 0 + object TQry: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #26597#35810 + ImageIndex = 21 + OnClick = TQryClick + end + object Tclose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TcloseClick + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 73 + Width = 1370 + Height = 676 + Align = alClient + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 1 + LookAndFeel.Kind = lfStandard + object tv1: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoGroupsAlwaysExpanded] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skCount + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Deleting = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object tv1OperMan: TcxGridDBColumn + Caption = #25805#20316#20154 + DataBinding.FieldName = 'Operor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 69 + end + object tv1jopertime: TcxGridDBColumn + Caption = #25805#20316#26102#38388 + DataBinding.FieldName = 'opertime' + HeaderAlignmentHorz = taCenter + Width = 170 + end + object tv1Model: TcxGridDBColumn + Caption = #25152#23646#27169#22359 + DataBinding.FieldName = 'Model' + HeaderAlignmentHorz = taCenter + Width = 127 + end + object tv1acction: TcxGridDBColumn + Caption = #25805#20316#31867#22411 + DataBinding.FieldName = 'acction' + HeaderAlignmentHorz = taCenter + Width = 97 + end + object tv1Result: TcxGridDBColumn + Caption = #32467#26524 + DataBinding.FieldName = 'Result' + HeaderAlignmentHorz = taCenter + Width = 63 + end + object tv1Opevent: TcxGridDBColumn + Caption = #25805#20316#20869#23481 + DataBinding.FieldName = 'Opevent' + Width = 974 + end + end + object cxGridLevel1: TcxGridLevel + GridView = tv1 + end + end + object Panel1: TPanel + Left = 0 + Top = 33 + Width = 1370 + Height = 40 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 2 + object Label2: TLabel + Left = 154 + Top = 14 + Width = 12 + Height = 12 + Caption = '--' + end + object Label1: TLabel + Left = 8 + Top = 14 + Width = 48 + Height = 12 + Caption = #25805#20316#26085#26399 + end + object Label3: TLabel + Left = 408 + Top = 58 + Width = 48 + Height = 12 + Caption = #25152#23646#27169#22359 + end + object Label4: TLabel + Left = 436 + Top = 16 + Width = 48 + Height = 12 + Caption = #25805#20316#20869#23481 + end + object begDate: TDateTimePicker + Left = 62 + Top = 10 + Width = 89 + Height = 20 + Date = 38918.368578564810000000 + Format = 'yyyy-MM-dd' + Time = 38918.368578564810000000 + TabOrder = 0 + end + object endDate: TDateTimePicker + Left = 168 + Top = 11 + Width = 89 + Height = 20 + Date = 38918.370266180560000000 + Format = 'yyyy-MM-dd' + Time = 38918.370266180560000000 + TabOrder = 1 + end + object edt_model: TEdit + Left = 460 + Top = 50 + Width = 181 + Height = 20 + TabOrder = 2 + OnChange = edt_modelChange + end + object CheckBox1: TCheckBox + Left = 264 + Top = 12 + Width = 121 + Height = 17 + Caption = #26102#38388#26465#20214#26159#21542#26377#25928 + Checked = True + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + State = cbChecked + TabOrder = 3 + end + object edt_nr: TEdit + Left = 492 + Top = 11 + Width = 250 + Height = 20 + TabOrder = 4 + OnChange = edt_modelChange + end + end + object ADOQueryLog: TADOQuery + Connection = ADOConnection1 + CommandTimeout = 600 + Parameters = <> + Left = 232 + Top = 88 + end + object DataSource1: TDataSource + DataSet = ADOQueryLog + Left = 288 + Top = 104 + end + object ADOConnection1: TADOConnection + LoginPrompt = False + Left = 368 + Top = 80 + end + object ThreeImgList: TImageList + Height = 24 + Width = 24 + Left = 48 + Top = 72 + Bitmap = { + 494C01018900F000040018001800FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 000000000000360000002800000060000000A005000001002000000000000070 + 0800000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008195DB0028397300283973002839 + 7300283973002839730028397300283973002839730028397300283973002839 + 7300283973002839730028397300283973002839730028397300283973002839 + 73002839730028397300283973007287D2000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A4B3E50031437F002B38 + 680026335B002B396C008E9FD400C0C0C000C1C1C100C7C7C700C8C8C800D5D5 + D500DADADA000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000CCCC + CC003E5291002B3767002A386800445799004D60A1005166AC005267AC005166 + AE005267AB005064A8004E63A7004A5D9B002F3D6E0029366400293665009FAD + DC00D3D3D3000000000000000000000000002D3E7C00092EAA000429A7000429 + A7000429A7000429A7000429A7000429A7000429A7000429A7000429A7000429 + A7000429A7000429A7000429A7000429A7000429A7000429A7000429A7000429 + A7000429A7000429A7003B57B400354682000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000536AB6007089DA005570 + CD003E5ABA00566EBC0047589200B7C5F1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000CBCBCB0093A2 + D800475891005166B1004E60A2004E69C0003B58BA003856B9003B58B9003754 + B7003653B6003552B300304DAF003551AE003545790047568D004C60A3002A37 + 670092A1D7000000000000000000000000004057A7002345B600042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042AAA000328 + A300042AAA00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC004157A200334A9300374E9A002C3E7D002C3E7D002C3E + 7D002C3E7D002C3E7D00374E9A0000000000374E9A002C3E7D002C3E7D002C3E + 7D002C3E7D002C3E7D00374E9A0000000000374E9A002C3E7D002C3E7D002C3E + 7D002C3E7D002C3E7D00374E9A0000000000000000006782DF006983DC00617C + D6004461C2003A57B800576EBC00283A7700B7C5F10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004860 + B200506BC8003B5BC4005570CA005E78D1003D5DC8004664CA004563C9004563 + C9004361C7003F5DC3003B5AC0003151BA0049598E004E67B800324EAE004A5A + 93004157A400000000000000000000000000A7B7ED00435EBA00153AB7000930 + B3000930B3000930B3000930B3000930B3000930B3000930B3008191C600FFFF + FF00FFFFFF000930B3000930B3000930B3000930B3000930B3000930B3000930 + B3000930B3000F35B5003D4F8D008499DF0033478A004F6CCC004F6CCC004F6C + CC004F6CCC00657FD30033478A000000000033478A00657FD3004F6CCC004F6C + CC004F6CCC00657FD30033478A000000000033478A00657FD3004F6CCC004F6C + CC004F6CCC004F6CCC0033478A0000000000000000006F8AE5007891E300758E + DF005873CF004663C3003A57B80047589300283B7800B7C5F100000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003C52 + 9E005978E100617FE4006F8BE800859DED006D89E9006E8AEA006C89E9006B88 + E8006986E7006481E300617EE1005C7ADE007F93D4005270D3004362CB005971 + C10033458400000000000000000000000000000000003A4E93004E69C0002449 + C500163DC100163DC100163DC100163DC100163DC100153AB800FFFFFF00FFFF + FF00FFFFFF00153AB800163DC100163DC100163DC100163DC100163DC100163D + C1001F45C4004E69C600A8B7EE00000000004158A7001B47D800204BD900224C + D9001B47D800829AE9004158A700000000004158A700829AE900204BD900224C + D900204BD900829AE9004158A700000000004158A700829AE9001B47D800224C + D900204BD9001B47D8004158A7000000000000000000778ACD009EB0EF00829A + E800778FE00096A8E3008292C800344EA200576EBC0048599300B7C5F1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000435B + AD006E8CEF007994F1007C97F3008DA5F500819BF400829CF500809AF4007F9A + F4007C97F3007692EF00738FED006F8BEB007F98E9005F7DE0005876DB006079 + CC00384C900000000000000000000000000000000000617ACE004E61A5004666 + D0001D44C9001D44C9001D44C9001D44C9001D44C9001C43C500A8B4DC00FFFF + FF00FFFFFF001D44C9001D44C9001D44C9001D44C9001D44C9001D44C9001D44 + C9003E60D0005066AD0000000000000000004961B6002D58E7003861E9003A62 + E9002C57E7009BAFF3004961B600000000004961B6009BAFF3003861E9003A62 + E900365FE8009BAFF3004961B600000000004961B6009BAFF3002D58E7003A62 + E900365FE8002C57E7004961B60000000000000000003F59B0007E90D000A1B3 + EF00839AE5008A96BD00B3C0EB00384F9C00344EA200576EBC002A3D7900B7C5 + F100000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004862 + B9007A96F4008AA3F6008EA6F60092A9F60093AAF60093AAF60092A9F60091A8 + F6008EA6F60088A2F600839DF400809AF4007591EF006F8BEB006784E700637E + D5003D539C0000000000000000000000000000000000000000003A53A1005A73 + C600234ACF00234ACF00234ACF00234ACF00234ACF00234ACF001C3CA6004660 + B6004660B600234ACF00234ACF00234ACF00234ACF00234ACF00234ACF002F54 + D2005974CB003E549E0000000000000000004F69C0003C65EF00496FF0004C72 + F1003A64EF00A9BBF8004F69C000000000004F69C000A9BBF800496FF0004C72 + F100476EF000A9BBF8004F69C000000000004F69C000A9BBF8003C65EF004C72 + F100476EF0003A64EF004F69C0000000000000000000BECCF5004059B0007F92 + D100849BE8004E5C8A008A96BD008292C800384F9C00344EA200495A93002B3D + 7A00B7C5F1000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000006F89 + DE00859FF5009FB3F700B2C2F900B7C7F900B8C7F900B9C8F900B7C7F900B5C5 + F900B3C3F900ABBDF800A6B9F800A0B4F70094ABF6008CA5F6007894F400617A + CE006B85DA00000000000000000000000000000000000000000000000000455E + B200476ADF003158DB003158DB003158DB003158DB003158DB0092A2D700FFFF + FF00FFFFFF003158DB003158DB003158DB003158DB003158DB003158DB00657E + D0004159AB000000000000000000000000005770C700BBC9F600BECBF700BFCC + F600BAC8F600B5C4F5005770C700000000005770C700B5C4F500BECBF700BFCC + F600BECBF700B5C4F5005770C700000000005770C700B5C4F500BBC9F600BFCC + F600BECBF700BAC8F6005770C70000000000000000000000000000000000BECC + F5008093D100A2B4EF006576AF008A96BD00B3C0EB008292C800344EA200566E + BC00495A9500B7C5F10000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3DB + F8007C95E8009DB2F700B2C2F900C9D5FB00BAC5E800AEB8D800A1AAC900A0A9 + C8009DA7C8009AA6CE009CAAD700A1B1E6009FB3F7008CA5F6007E99F500556E + C200D2DBF8000000000000000000000000000000000000000000000000009AAD + EC006984E0003C62E200375EE000375EE000375EE000375EE00095A5D900FFFF + FF00FFFFFF00375EE000375EE000375EE000375EE000375EE000395FE000566C + B600748ADC000000000000000000000000005B76D2005872C9005872C9007A7E + 8E005872C9005872C9005B76D200000000005B76D2005872C9005872C9006F74 + 83005872C9005872C9005B76D200000000005B76D2005872C9005872C9005872 + C9005872C9005872C9005B76D200000000000000000000000000000000000000 + 0000435CB2007C8FD1009AADEF004E5C8A008A96BD00B3C0EB00384F9C00344E + A200576EBC002C3F7C00B7C5F100000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005E76C700869DE9009CB1F700A2AFD900ADB5CF00D6D9E100EDECEB00ECEB + EA00ECEBEA00E4E4E800D2D5E100A2ACCE0097ADF70088A2F6007791E70092A5 + EC00000000000000000000000000000000000000000000000000000000000000 + 0000687ECB00587AE9003E64E5003E64E5003E64E5003E64E50097A7DB00FFFF + FF00FFFFFF003E64E5003E64E5003E64E5003E64E5003E64E5005073E8004A63 + BB00000000000000000000000000000000000000000000000000000000007878 + 7800000000000000000000000000000000000000000000000000000000006666 + 6600000000000000000000000000000000000000000000000000000000005656 + 5600000000000000000000000000000000000000000000000000000000000000 + 0000BECCF500445DB3007C90D1006576AF004E5C8A008A96BD008292C800384F + 9C00344EA2004A5B95002D3F7C00B7C5F1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000CED8F7006B84DB005C72BD00C7CBDB00CDCBCA00A19F9E009997 + 960099989600B8B7B500D1D0CE00CACEDE005972C5006B84DB00CED8F7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000657FD9006C83CD006686F2004C71F0004C71F0004C71F000CDD4EE00FFFF + FF00FFFFFF004C71F0004C71F0004C71F0004C71F0006182F1007087D4000000 + 0000000000000000000000000000000000000000000000000000000000009090 + 9000000000000000000000000000000000000000000000000000000000008080 + 8000000000000000000000000000000000000000000000000000000000007070 + 7000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BECCF5008294D300A2B4EF006576AF008A96BD00B3C0 + EB008292C800344EA200576EBC004B5C9500B7C5F10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000093A7ED006475AC0083879400ACAAA900C3C1 + C000C7C5C4009896950081879B006879B4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D2DBF800536CC1008098E7005176F1005176F1005176F100CFD6EF00FFFF + FF00FFFFFF005176F1005176F1005176F100597CF2007E97ED005870C3000000 + 0000000000000000000000000000000000000000000000000000000000009D9D + 9D009A9A9A0099999900989898009494940094949400919191008E8E8E008C8C + 8C008C8C8C008888880088888800858585008282820080808000808080007C7C + 7C00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000465FB5008395D300A2B4EF004E5C8A008A96 + BD00B3C0EB00384F9C003B58B800576EBC002F3E750032437D00354787003B50 + 98004C64BB000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000009D9D9D005D5C5C00A9A7A500AFAD + AB00B7B5B300C0BEBD00646363009D9D9D000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000007991E3006B81CC00587CF200587CF200587CF200D1D8EF00FFFF + FF00FFFFFF00587CF200587CF200587CF200718FF4007388D200607AD5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000009999 + 9900000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000BECCF5004760B6008396D4006576AF004F5D + 8A008A96BD008292C8004663C3003C59B900596DAF00586CAF005D72B800647B + C8005C70B1004760B40000000000000000000000000000000000000000000000 + 000000000000000000000000000059595900ACABAA00C2C1C000BDBCBA00B7B6 + B400AFADAB00A8A6A500B7B5B400AEADAC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000839AE800869FF3006686F3006586F300F3F5FA00FFFF + FF00FFFFFF006586F3006586F3006586F300758AD1007189DF00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000364C99002B3D7B002B3D7B002B3D7B006367 + 73002B3D7B002B3D7B002B3D7B00364C99000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCCF5007F92D400A2B4 + EF00869DE800778FE0006781D7005873CF003351B600203FA6000C2C96001B3B + A8003D5ABD00667FD0004861B400000000000000000000000000000000000000 + 00000000000000000000000000007E7E7D00D1D0D000D2D2D100CDCCCB00C7C6 + C500BFBDBC00A8A6A400A8A6A400B9B7B600AAAAAA0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000008B9FE0007E99F5006B8AF300FFFFFF00FFFF + FF00FFFFFF006B8AF3006B8AF3007A96F400526CC50000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000031448600657ED100506CCA00506CCA00506C + CA00506CCA00506CCA00657ED100314486000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004963B9008597 + D500A4B5EF00849BE600778FE0006781D7004461C200415DBA00445EB4001433 + 9B001839A7003A58BC005F73B4004A62B5000000000000000000000000000000 + 0000000000000000000000000000C2C1C100E0DFDE00E1E0E000DBDBDA00D5D4 + D300CCCBCA00B4B3B100A6A4A300ACAAA8006969690000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005F77C90097ACF2007592F4005B73C3005B73 + C3005B73C3007290F4007491F40090A7F300849BE80000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000374C94006580D8000732C1000833C1000833 + C1000833C1000631C1006681D900374C94000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCCF5004A63 + BA008799D60093A7EB00859BE600778FE0008196DA0099A8D9008F9DCD008191 + C7003853AB001536A5005E78CD003F549B000000000000000000000000000000 + 0000000000000000000000000000A9A9A8004D4D4D00F7F6F600F1F1F100EBEA + EA00E2E1E000C8C7C600B9B7B60070706F004D4D4D0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000C1CDF6005C75C8009FB1EF007F9AF5007F9A + F5007F9AF500829CF500A1B4F300687FCD000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000445BAC00869EEC002C55DE003D62DF003E63 + DF003C61DF002A53DD00869EEC00445BAC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004D66BB00A3B5F1009EB0EF008FA4EA00596CAD00AAB9EF0000000000536B + BC005A6999007F8FC400546DBE003A4C8B000000000000000000000000000000 + 00000000000000000000000000004D4D4D004D4D4D00FDFDFD00F8F8F800F2F1 + F100E9E8E800CFCECD00B9B7B6004D4D4D004D4D4D0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000006B84DE008699DB00859FF500859F + F500859FF50096ACF7008FA2E0005E79D6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004A63B900A1B4F600446BEC005F80EE006383 + EF005E7FEE004269EC00A1B4F6004A63B9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004E67BD00A7B8F300A7B8F10095A9ED004C65BB0000000000000000000000 + 0000465CAA006B79A8004F66B400374883000000000000000000000000000000 + 00000000000000000000000000004D4D4D004D4D4D00BCBCBC00E6E6E600CBCB + CB00BABAB9009A9999007A7A79004D4D4D006969690000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D3DBF9005C75CC0094ABF6008CA5 + F6008CA5F600A6B7F100647CCD00AFBFF3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004F68BF00A6B9F800567AF2007B97F4007F9A + F5007995F4005378F100A5B8F8004F68BF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000506AC000A3B5F400ADBDF4009DB0F1004D62AF00D1DAF800000000000000 + 0000000000003F56A1007284C00034437B000000000000000000000000000000 + 0000000000000000000000000000515151004D4D4D004D4D4D004D4D4D004D4D + 4D004D4D4D004D4D4D004D4D4D004D4D4D000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A7B6EB00A4B7 + F800A2B6F8005E77CA00D3DBF900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000556EC500B8C7F900597CF2007E99F500829C + F5007C97F400577BF200B7C7F900556EC5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005C77D400AABBF5009BB0F50097ACF300829BEB006D81C9005169C1000000 + 000000000000000000003D5299003D539D000000000000000000000000000000 + 0000000000000000000000000000AAAAAA004D4D4D004D4D4D004D4D4D004D4D + 4D004D4D4D004D4D4D004D4D4D004D4D4D000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006D83CF00B2C0 + F100B1BFF1007C93E60000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005771C800B7C6F600BFCCF500C6D1F700C7D2 + F700C6D1F700BECBF500B7C6F6005771C8000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008C9EDC00A9BAF50090A7F3007B95EE007993EA006C81C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000AAAAAA004D4D4D004D4D4D004D4D + 4D004D4D4D004D4D4D004D4D4D00AAAAAA000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000007C93E6005771 + C9005771C8000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005B76D2005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005B76D2000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005974CF008C9EDD00A5B7F5007490EE00718DED006E8AE800526B + C200000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D600556FC500556EC400546DC1005169 + BB00546EC5000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000038477E0041486200404761003E455F003D44 + 5F003C435E003B435D003B425D003A415C000000000000000000000000000000 + 000000000000000000000000000000000000000000002F3E710045569500475C + A400435AA700435AA700435AA600435AA500445BA600435AA500445AA5004359 + A4004359A3004359A2004359A2004359A1004358A0004358A00043589F004358 + 9F00495A990044528B0043569E00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CACACA00596FB9003E5194003E51 + 94003E5194003E5194003E5194003D5092003B4D8B00384A860034447C003241 + 77002F3E71002A3867002936620040529200C3C3C300DBDBDB00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000474E6A007A8ABF0013339F0013339F001333 + 9F0013339F0013339F0013339F007988BD000000000000000000000000000000 + 0000000000000000000000000000000000006279C9004660B4002747B000072B + A3000328A0000328A00003279F0003279F0003279E0003279D0003269C000326 + 9B0003269A000326990003269800032597000325960003259500032594000324 + 9300072895002743A2002E3D6F008EA1E1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005E72B6008DA1E40090A5 + EB008DA3ED008BA2ED00879EEB008199E9007E96E4007B92E000758CD7007187 + D1006E84CC00687CC0006F7FB7004D5B8A000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000048516E007B8BC10003279E0003279E000327 + 9E0003279E0003279E0003279E007B8BC0000000000000000000000000000000 + 000000000000000000000000000000000000283C80002748B5000429A8000429 + A7000429A6000429A5000429A5000328A3000328A2000328A2000328A0000328 + A00003279F0003279E0003279E0003279D0003269B0003269B0003269A000326 + 99000326980003259700495A99002D428A000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000008AA0EB00829CF5007995 + F4007290F4006989F3006082F2004C71ED004469E6003A5FDE00274DCD001D43 + C300143AB9000328A3003652AF006E7EB7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004B5472007C8CC3000328A2000328A2000328 + A2000328A2000328A2000328A2007B8BC3000000000000000000000000000000 + 0000000000000000000000000000000000002B3E8100042CB300042CB200042C + B20003238D00506BC800042BAF00042BAD00042BAD00042BAC00042AAA000322 + 8800506AC3000429A8000429A8000429A7000429A6000429A500032184000328 + A3000328A2000328A100435EB800263873000000000028387100283871002838 + 7100283871002838710028387100283871002838710028387100283871002838 + 7100293C7A000000000000000000000000000000000000000000000000000000 + 0000000000004B62B10028387100000000000000000096AAEE0093AAF60096AC + F700829DF5007894F4006D8CF3005679EE004B6FE7004166DF002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000515978007D8EC800042AAB00042AAB00042A + AB00042AAB00042AAB00042AAB007B8CC7000000000000000000000000000000 + 0000000000000000000000000000000000002D418600042DB800042DB700042D + B600032492004F6BCA00042CB400042CB300042CB200042CB100042BB0000323 + 8C004F6AC700042BAD00042BAC00042BAC00042AAA00042AAA00032187000429 + A8000429A8000429A700435FBC0028397700000000004862B8004E67BA005069 + BB004D66BA004C66BA004A64B8004660B700435EB600435DB6007D8FCC00929D + C00033447F000000000000000000000000000000000000000000000000000000 + 0000A3B4EB0035447D0034468200000000000000000097ABEE0097ADF70097AD + F700829DF5007894F4006D8CF3005679EE00000000007A94E8002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000535C7C007C8ECB00042CB100042CB100042C + B100042CB100042CB100042CB1007B8DCA000000000000000000000000000000 + 0000000000000000000000000000000000002F438B000530BE00042EBC00042E + BC00032595004F6CCE00042EB900042DB700042DB7000328A200031F7E000219 + 6400374B8D00031F7C0003269A00042CB100042BB000042BAF0003238C00042B + AD00042BAC00042AAB00425FBF002A3C7C00000000004F69BF002948B1002F4D + B3002B4AB2002646B0002142AF001739AB001033A9001538AA00929EC4003749 + 8600ACBBEB000000000000000000000000000000000000000000000000000000 + 000033488F0051629F00445CA900000000000000000099ADEE0098AEF70097AD + F700829DF5007894F4006D8CF3005679EE00000000007A94E8002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000555E7F007D8FCE00042DB600042DB600042D + B600042DB600042DB600042DB6007C8ECD000000000000000000000000000000 + 000000000000000000000000000000000000344A9400143ECA001740CA00153E + C900072A9E005875D7000E38C5000B36C4000934C2000D2A8A00CDCCCA00CBCA + C800C9C7C600CECCCB0003208300042EBB00042EBA00042EB90003249300042D + B700042DB600042DB6004361C7002F428500000000005C76CC004C68C7005570 + CA004B67C7004562C500405EC4003454C000546FCA006E80BC00B1BFED000000 + 0000000000000000000000000000000000000000000000000000000000004455 + 92004964BF006980CC00B4C3EF0000000000000000009AAEEF0098AEF70097AD + F700829DF5007894F4006D8CF30011172D0000000000161B2B002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005A6488007E92D400042FBF00042FBF00042F + BF00042FBF00042FBF00042FBF007C90D2000000000000000000000000000000 + 000000000000000000000000000000000000364B99001D46D100224AD2002149 + D1000A2DA3005F7CDC001A43CD001640CB00153FCA0016359B00EDEDEC00ECEC + EB00EBEBEA00DBDCE20005258E000530C100042FBF00042FBF0003269800042F + BD00042EBC00042EBB004362CB0031458A0000000000607AD1005873CF00627C + D2005873D000526ECD004D6ACC004261C9004F6CCC00586FBA00000000000000 + 0000000000000000000000000000000000000000000000000000556EC3004D67 + BC003F5FC8008596D00000000000000000000000000099ADF00097ADF70097AD + F700829DF5007894F4006D8CF3001F1F1F000C0C0C001F1F1F002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E678B007F92D5000531C4000531C3000531 + C3000531C3000531C3000531C4007D91D4000000000000000000000000000000 + 000000000000000000000000000000000000394F9E00264FD8002C53D8002C53 + D7000D31A8006884E100254DD400214AD2002049D2001D45CC001639AF000826 + 8B004E67BA001034AC00113AC5000F3AC8000C37C7000A35C50004279C000632 + C3000531C200042FC0004262CF0033478F00000000006580D700637ED6006F88 + DA00647FD700607BD6005A76D4004E6CD1004766CF005C77D2005871C5000000 + 000000000000000000000000000000000000CCD6F700455EB10044599E003255 + CA00385ACB008392C20000000000000000000000000098ACF00094ABF60096AC + F700829DF5007894F4006D8CF3003A405600333333003F4454002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000606A8F008295D800113CCB00153FCC00153F + CC00153FCC00153FCC00123DCC008094D7000000000000000000000000000000 + 0000000000000000000000000000000000003D55A800375EE2004166E3004267 + E3001338B0007691E9003B61E000375DDE00355CDD00345BDD003057DB000F33 + AB006C87E4002951D800274FD700264ED6001834940017349400072074001330 + 9200122F91001338B3004869D800384E9800000000006C86E0007891E300889E + E6007E96E4007992E300748EE2006984E0006480DE005977DC006580D8005269 + B900485EA600445BAA004359A600455BA5005570CC004F6FDA003459D5002F55 + D40095A5D9004960AE000000000000000000000000008EA4EE00859FF50089A2 + F600859FF5007E99F5007592F4006283F000597AE9005072E1003E60D2003457 + C9002C4EC0001C3DAC003652AF007181BA000000000000000000000000000000 + 0000000000008282820080808000828282000000000000000000000000000000 + 0000000000000000000000000000657097008C9EE000365CDB003F64DC003F64 + DC003F64DC003F64DC00365CDB008A9DDF000000000000000000000000000000 + 0000000000000000000000000000000000004059AD003F66E7004B70E8004D71 + E900163BB3007E98ED00456AE5004368E4004166E3003F64E2003C62E1001237 + AF00748FE900345BDD003259DC003158DC00B6B6BA00BFBDBB00BDBBB900BAB8 + B600AEAEB200173494004C6DDC003A509D00000000006E89E5007E96E70094A8 + EB008BA1EA00869DE8008199E8007690E600718BE5006B86E3006683E3006B86 + E300607EE2005270D3005A76D5005A78DE004A6CDE003158D900264FD8006D88 + E2008090C500879CE1000000000000000000000000006E84D0008AA1EE0090A6 + F00091A7F0008FA5F0008CA3EF00879FED00849BE8008097E3007B91DA00788D + D400758ACF007083C5007283BE00576798000000000000000000000000000000 + 0000000000008080800040404000808080000000000000000000000000000000 + 00000000000000000000000000006973990091A4E300466AE1005475E4005475 + E4005475E4005475E400466AE1008FA1E1000000000000000000000000000000 + 000000000000000000000000000000000000425CB200486DEC004D6CD2003D55 + A600122C80005E6FA8003851A4004362CA004B70E800496EE700456AE600153A + B3007A95EC003F64E3003E64E3003C62E200D7D5D400CDCCCA00CBCAC800C7C5 + C300CECCCB001F3B99005071E0003D54A200000000006D89E7007C96EA0097AB + EE009DB0F00093A8EE008DA3ED00839BEC007D97EB007792E9006D89E8006381 + E7006482E700607FE6005E7DE6005072E3004065E1003D62E100335ADF00A8B6 + E400566BB80000000000000000000000000000000000718BE2005771C8005771 + C8005771C8005771C8005771C800556EC400516ABD004E66B600485EA7006D71 + 7D00717170005E616D003A4A83005068B8000000000000000000000000000000 + 0000000000008080800045454500808080000000000000000000000000000000 + 00000000000000000000000000006B769E0096A8E5005879E7006684E9006684 + E9006684E9006684E9005879E70094A5E4000000000000000000000000000000 + 0000000000000000000000000000000000004760B700587CF2005166AD00D7D5 + D400CBCAC800C9C7C600C7C5C300465DA9006283F2006082F1005C7EEF001B40 + BB008AA2F3005477ED005377ED005175EC004361C7004261C70014339B003D5C + C5003C5CC5004166E2005678E8004259AC00000000005F80EE00A0B3F500ACB9 + E700B9C6F100A5B7F500A0B3F5009DB1F40097ACF40092A9F400869FF200819B + F1007D97F100728FF0006C8AF0006786EF005B7DED005074EC007F99F0005C76 + CC00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008080 + 8000CCCCCC008080800000000000000000000000000000000000000000000000 + 000000000000808080005050500080808000000000000000000000000000717F + AF00889FE90091A6EA009AACEB00A8B8ED00B0C0F4008BA3F20087A0F20087A0 + F20087A0F20087A0F200849EF200AFBFF4009DAEE90097AAE90090A4E8008E9A + C200616D9500CDD7F70000000000000000004861B8006082F2005E73BB00E4E5 + EA00ECECEB00EBEBEA00EAEAE9005269B4006D8CF3006B8AF3006888F3001E43 + BE0092A9F5006082F1005F81F1005C7EF000597CEF00577AEF001A3FBB005175 + ED005074EC004A6FEB00597BEB00455DB10000000000859FF400A6B6E8005E76 + C700768BD200BDCAF600A4B7F700A8BAF700A4B7F7009FB3F60094ABF6008EA6 + F50088A1F500809BF5007A96F4007592F4006384F300839DF400B3C1ED00D3DB + F900000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008080 + 8000D1D1D1008080800000000000000000000000000000000000000000000000 + 000000000000808080005555550080808000000000000000000000000000BAC6 + F40093A2D8008BA4F5007693F30092A9F500A0B4F6009AAFF60098AEF60098AE + F60098AEF60098AEF60097ADF6009FB3F6007E99F4007592F3008CA4F5006571 + 9900869CE0000000000000000000000000004962B9006888F3007D97F0007086 + D000213FA3008D9DD2006A81CF007893F0007894F4007794F4007391F4002146 + BE009BB0F7006C8BF3006A8AF3006888F3006586F3006384F3001D42BE005D7F + F1005C7FF1005478F0005C7EEF004761B70000000000A3B3E8006078C800B4C1 + F2005974CF007D91D600BBC9F800A2B6F800AEBFF800ACBDF800A1B5F7009CB1 + F70097ADF7008BA4F600859FF5007E99F50097ADF700B6C2EE006A80CD000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008080 + 8000D5D5D5008080800000000000000000000000000000000000000000000000 + 0000000000008A8A8A0059595900808080000000000000000000000000000000 + 00007684B5009BA9D90099AFF7009AAFF700A6B9F800A7B9F800A7B9F800A7B9 + F800A7B9F800A7B9F800A7B9F800A6B9F80087A1F50099AFF70092A0D100879C + E100000000000000000000000000000000004B65BC00708EF40089A2F60097AD + F70097ADF70095ACF70093AAF60090A8F6008EA6F6008CA5F60088A2F60087A1 + F500859FF500829CF500809BF5007F9AF5007B97F4007995F4007894F4007491 + F4006F8DF3006283F2006987ED004B65BC000000000000000000000000000000 + 00000000000000000000647EDA0096A8E300C1CEF800C3D0FA00B1C1F900A9BB + F800A5B8F800ABBDF800BAC9F900C1CCF400627BCE00BBC9F500000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008080 + 8000D8D8D80084848400C6C6C600000000000000000000000000000000000000 + 0000C6C6C6009898980067676700868686000000000000000000000000000000 + 000000000000BAC6F4007683B400B3C3F900B2C2F900BDCBFA00C0CEFA00C0CE + FA00C0CEFA00C0CEFA00BDCBFA00B2C2F9009DA9D5006A76A000889CE2000000 + 0000000000000000000000000000000000004D66BF007995F400829CF50091A8 + F6009AAFF70099AFF70097ADF70096ACF70094ABF60092A9F6008FA7F6008DA5 + F6008BA4F60088A2F60086A0F500849EF500819BF5007F9AF5007C97F4007592 + F4006D8CF3005E80F2006C86E0004F6AC5000000000000000000000000000000 + 00000000000000000000000000005874CF00657DCD008497DB00B9C7F300C1CD + F600C0CDF600A7B6E700889AD900667FCC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000009090 + 9000C3C3C3008E8E8E008A8A8A00000000000000000000000000000000000000 + 00008A8A8A00B5B5B5006E6E6E00969696000000000000000000000000000000 + 00000000000000000000BAC6F400A1AEDA00B2C2F900B6C6F900CBD6FB00CBD6 + FB00CBD6FB00C8D4FB00B8C7F900B2C2F9006C77A100889DE200000000000000 + 0000000000000000000000000000000000007990E200839CF0007E99F5007C97 + F400839EF500839EF500839EF500829CF500819BF5007F9AF5007C97F4007B97 + F4007A96F4007794F4007592F4007491F400718FF4006F8DF3006C8BF3006485 + F3005F81F2006485F3005C73C70091A5EB000000000000000000000000000000 + 0000000000000000000000000000000000009FB1F0006B85DE005771C8005771 + C8005771C800647EDA0093A8ED00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000B0B0 + B000A6A6A600B0B0B0008B8B8B00868686000000000000000000000000008686 + 860092929200ACACAC0078787800BBBBBB000000000000000000000000000000 + 00000000000000000000000000007482B2009EABD900B4C4F900D1DBFB00D5DE + FC00D5DEFC00C5D1FA00B6C6F9009AA8D5008A9DE30000000000000000000000 + 000000000000000000000000000000000000000000007991E300506AC3005069 + C0005069C0005069C0005069C0005069C0005069C0005069C0005069C0005069 + C0005069C0005069C0005069C0005069C0005069C0005069C0005069C0005069 + C0005069C000506AC30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D3D3D300D7D7D700DFDFDF00CECECE00AEAEAE009D9D9D0099999900C0C0 + C000C5C5C500B7B7B700D3D3D300000000000000000000000000000000000000 + 000000000000000000000000000000000000BAC6F4007381B200C1CEFA00C1CE + FA00C1CEFA00A7B2D900717DA7008A9EE3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000080808000B3B3B300E1E1E100F3F3F300EFEFEF00E9E9E900CDCD + CD00A7A7A7008080800000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BAC6F300A6B1DA00B3C3 + F900B3C3F900737EA8008B9EE400000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000B0B0B0008A8A8A008080800080808000808080008A8A + 8A00B0B0B0000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000007181B0009DAA + D8009CA9D7008B9FE40000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CED8F7000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000D3D3D300C2C2 + C2003D4E860029355F0027335E0027335E0027335E0027335E0027335E002733 + 5E0027335E0027335E0027335E0027335E0029355F003D4E860098A7D800C2C2 + C200D4D4D4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000293973008C99C6008897C9004963B7001F3E + A60003269C001F3EA6004963B7006A7EC2008C99C60029397300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B9C6F1002C3C + 75003D55A4003D55A4003D55A4003D55A4003D55A4003D55A4003D55A4003D55 + A4003D55A4003D55A4003D55A4003D55A4003D55A4003D55A40040518F00AFBD + EC00000000000000000000000000000000000000000000000000000000004053 + 93003F64DE002A54DF004368E5007D97ED0099ADF0009EB1F000849BE700768F + E2006984DB00506CCB004360C2003553B700213EA0003E57A900415187000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005871C0003D54A2002C4082005165A9004A65 + BD000328A3004661BC005165A9004A598E002C3C7A005871C000000000000000 + 000000000000000000000000000000000000D6D6D600384A880023315C002331 + 5C0023315C0023315C0023315C0023315C0023315C0023315C0023315C002331 + 5C0023315C0023315C0023315C0023315C0023315C0023315C0023315C002331 + 5C0023315C0023315C00C0C0C000CECECE000000000000000000465DAD004055 + 99001336AC001034AB001034AB001034AB001034AB001034AB001034AB001034 + AB001034AB001034AB001034AB001034AB001034AB001336AC002C4BB4003D54 + A300000000000000000000000000000000000000000000000000000000002B3D + 79001945D7001F42B5005466A300A7B7ED00A3B5F100AABAF2007781A4009AA3 + C30096A7E0004D6ACB0038509E004B5A8C00576CB3001B3898004A5EA1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000042528C00516B + C200042AAA00506AC40042528C008397DE000000000000000000000000000000 + 0000000000000000000000000000000000000000000026356E005A6CAB00566A + B000566AB000566AB000566AB000566AB000566AB000566AB000566AB000566A + B000566AB000566AB000566AB000566AB000566AB000566AB000566AB000566A + B000566AB000566AB00000000000000000000000000000000000324791003E59 + B400042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC001338B1002D40 + 8100000000000000000000000000000000000000000000000000000000002D3E + 7D000938D4001E378A004864C100CED6F000A3B5F100AABAF2007E8EC40090A0 + D700C7CFEB004D6ACB002F407900384F9D00A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000034488D005771 + C600042EB9005771C60034488D00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002D4289005771CA00173F + C500042FC000042FC000042FC000042FC000042FC000042FC000042FC000042F + C000042FC000042FC000042FC000042FC000042FC000042FC000042FC000042F + C000042FC0004F6DD30000000000000000000000000000000000364B95003F5C + BD00042DB800042DB800042DB8001037BB001037BB001037BB001037BB001037 + BB001037BB001037BB001037BB000D35BB00042DB800042DB8001037BB003246 + 8B00000000000000000000000000000000000000000000000000000000003143 + 84000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000374C93005873 + CB00042FC0005873CB00374C9300000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000324793005873D0001842 + CF000533CC000533CC000533CC000533CC000533CC000533CC000533CC000533 + CC000533CC000533CC000533CC000533CC000533CC000533CC000533CC000533 + CC000533CC005171DB0000000000000000000000000000000000384E9900405D + C200042FBF00042FBF00042FBF00405EC200405EC200405EC200405EC200405E + C200405EC200405EC200405EC2003859C800042FBF00042FBF00113AC2003549 + 9000000000000000000000000000000000000000000000000000000000003346 + 87000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000003A509A005974 + D0000431C7005974D0003A509A00000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000364C9D00607CDA002851 + DC001643D9001643D9001643D9001643D9001643D9001643D9001643D9001643 + D9001643D9001643D9001643D9001643D9001643D9001643D9001643D9001643 + D9001643D9005C7BE400000000000000000000000000000000003A509D00405F + C7000430C4000430C4000430C400374C9700374C9700374C9700374C9700374C + 9700374C9700374C9700374C9700405FC7000430C4000430C400103AC700374C + 9700000000000000000000000000000000000000000000000000000000003447 + 8B000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004057A7005B77 + DA000636D6005B77DA004057A700000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003E57AF00748FEA004F74 + F000426AEF00426AEF00426AEF00426AEF00426AEF00426AEF00426AEF00426A + EF00426AEF00426AEF00426AEF00426AEF00426AEF00426AEF00426AEF00426A + EF00426AEF007B97F400000000000000000000000000000000003F57A7004162 + D1000434D1000434D1000434D1003C54A1000000000000000000000000000000 + 000000000000000000003C54A1004162D1000434D1000434D100113ED3003C54 + A10000000000000000000000000000000000000000000000000000000000384D + 94000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000435BAE005F7D + E0000E3EDF005F7DE000435BAE00000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000405AB1007D97EB006384 + F300587CF200587CF200587CF200587CF200587CF200587CF200587CF200587C + F200587CF200587CF200587CF200587CF200587CF200587CF200587CF200587C + F200587CF20089A2F600000000000000000000000000000000004058AC004567 + D6000E3DD8000E3DD8000C3BD8003F57A8000000000000000000000000000000 + 000000000000000000003F57A8004567D6000E3DD8000E3DD8001946DA003F57 + A800000000000000000000000000000000000000000000000000000000003A4F + 98000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000465FB4006381 + E5001747E7006381E500465FB400000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000425BB300869DED007894 + F4006E8DF3006E8DF3006E8DF3006E8DF3006E8DF3006E8DF300637EDB00637E + DB00637EDB00637EDB006C8AF0006E8DF3006E8DF3006E8DF3006E8DF3006E8D + F3006E8DF30097ADF70000000000000000000000000000000000435CAF004B6C + DB001E4BE1001D4AE0001947E000425AAD000000000000000000000000000000 + 00000000000000000000425AAD004A6CDB001E4BE1001E4BE1002853E200425A + AD00000000000000000000000000000000000000000000000000000000003C51 + 9C000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004B65BC006B88 + EB002755EE006B88EB004B65BC00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003B519A00465898003A4D + 9000364A8E00364A8E00364A8E00364A8E00364A8E00364A8E00C7CCDD009BA0 + AF00999EAD005967980035488A00364A8E00364A8E00364A8E00364A8E00364A + 8E00364A8E00465898003D55A5000000000000000000000000004862B9005576 + E5003D66EE003D66EE00325DED004761B9000000000000000000000000000000 + 000000000000000000004761B9005475E5003D66EE003D66EE00436AEE004761 + B900000000000000000000000000000000000000000000000000000000004157 + A3000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D500133195004A5FA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004C66BD006E8B + EB00305CEE006E8BEB004C66BD00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006179CC005A75D1005A75 + D1005A75D1005A75D1005A75D1005A75D1005A75D1005A75D100D0D7ED00D0D6 + E700CED4E5006A7FC7005873CD005A75D1005A75D1005A75D1005A75D1005A75 + D1005A75D1005A75D1004B5FA5000000000000000000000000004A64BB005A7B + E8004D72F1004D72F1004068F0004A64BB000000000000000000000000000000 + 000000000000000000004A64BB00597AE8004D72F1004E73F1005176F1004A64 + BB0000000000000000000000000000000000000000000000000000000000435A + A7000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D500133195004A5FA5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004D67BE00728E + EC003862EF00728EEC004D67BE00000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000738CE000466AE2003B61 + E0003B61E0003B61E0003B61E0003B61E0003B61E0003B61E0004665CE005773 + D3005773D3003557C9003A5FDC003B61E0003B61E0003B61E0003B61E0003B61 + E0003B61E0003B61E000566AB3000000000000000000000000004B65BC005F7F + E8005C7FF2005C7FF2004D72F1004B65BC000000000000000000000000000000 + 000000000000000000004B65BC005D7DE8005C7FF2005D80F2005F81F2004B65 + BC0000000000000000000000000000000000000000000000000000000000455C + AB000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D500133195004A5FA5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005069C0007B95 + ED004A70F0007B95ED005069C000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000B8C6F6009BB0F70093AA + F60093AAF60093AAF60093AAF60093AAF60093AAF60093AAF60093AAF60093AA + F60093AAF60093AAF60093AAF60093AAF60093AAF60093AAF60093AAF60093AA + F60093AAF60093AAF6006C80C9000000000000000000000000004D67BE006A87 + E9007C97F4007C97F4006686F3004D67BE0000000000000000005A74CB004D67 + BE004D67BE004D67BE004D67BE00728DEA007D98F5007D98F5007F9AF5004D67 + BE004D67BE004D67BE004D67BE005A74CB000000000000000000000000004961 + B3000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007E95 + E200C7CFEB004D6ACB002F4079002D4CB400A9B3D500133195004A5FA5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000516AC1007D97 + EE005176F1007D97ED00516AC100000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D7DFF900D5DEFC00D5DE + FC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DE + FC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DE + FC00D5DEFC00D5DEFC007387CC000000000000000000000000004E68BF006E8A + EA008BA4F6008AA3F6007391F4004E68BF0000000000000000004E68C100607A + D0004E71E7006382E900738EEA0089A2F4008CA5F6008CA5F6008CA5F600738D + EA006483E9005A7BE800607AD0004E68C1000000000000000000000000004C65 + B8000535D4001E378A004864C100CED6F000A3B5F100AABAF2007E8EC40090A0 + D700C7CFEB004D6ACB002F407900384F9D00A9B3D500133195004A5FA5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000526BC200809A + EE005A7DF200809AEE00526BC200000000000000000000000000000000000000 + 000000000000000000000000000000000000000000007185CC007589CE007589 + CE007589CE007589CE007589CE007589CE007589CE007589CE007589CE007589 + CE007589CE007589CE007589CE007589CE007589CE007589CE007589CE007589 + CE007589CE007589CE005870C6000000000000000000000000004F69C000738E + EB009BB0F7009AAFF700809BF5004F69C0000000000000000000BFCDF600516A + C3005A78E0006384F300819BF50098AEF7009CB1F7009CB1F7009CB1F700829D + F5006686F3006183F200516AC300BFCDF6000000000000000000000000004E66 + BC000535D4001F42B5005466A300A7B7ED00A3B5F100AABAF2007882A5009AA3 + C30096A7E0004D6ACB0038509E004B5A8C00576CB300133195004A5FA5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009FAFE9005671CC0000000000000000000000000000000000546EC50088A0 + EF006B8AF30088A0EF00546EC500000000000000000000000000000000005A72 + C600A1B1E900546EC50000000000000000000000000000000000000000000000 + 0000000000000000000000000000C7C5C500AFADAC00898685007D7A78007D7A + 78007D7A78007D7A78007D7A7800AFADAC008F8D8B0000000000000000000000 + 0000000000000000000000000000000000000000000000000000516BC2007B95 + EC00BAC9FA00B9C8F90097ADF700516BC2000000000000000000000000000000 + 000092A5EC00738EEB0098AEF700B4C4F900BBCAFA00BBCAFA00BAC9FA0097AD + F7007892EC005A73C6000000000000000000000000000000000000000000536D + C4000425940015349B002C469F005B6CA500727FA9007682A9006070A2005666 + 9F004B5D990035498D002A3F86001F357E00091F6A000D226800344374000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00008AA1EC006B81CD00AFBEF300000000000000000000000000556FC6008BA2 + F0007290F4008BA2F000556FC600000000000000000000000000000000007589 + D200879FEF00556FC60000000000000000000000000000000000000000000000 + 0000000000000000000000000000E0DEDE00D7D5D500D3D1D000D3D1D000D3D1 + D000D3D1D000D3D1D000D3D1D000D5D3D2009C9A990000000000000000000000 + 0000000000000000000000000000000000000000000000000000526CC3007A95 + EC00C4D1FA00C3D0FA009CB1F700526CC3000000000000000000000000000000 + 0000000000006179CB00809AEE00ABBDF800C9D5FB00C9D5FB00C1CEFA007B96 + EE006179CB007991E20000000000000000000000000033437C0027376D002737 + 6D0027376D0027376D0027376D0027376D0027376D0027376D0027376D002737 + 6D0027376D0027376D0027376D0027376D0027376D0027376D0027376D002737 + 6D00374780000000000000000000000000000000000000000000000000000000 + 00007993EE00748EE5005870C8000000000000000000000000005670C7008FA6 + F1007A96F4008FA6F1005670C70000000000000000000000000093A7ED007791 + E7007C96EE005E79D50000000000000000000000000000000000000000000000 + 0000000000000000000000000000DEDDDC00E4E3E200E4E3E200E4E3E200E4E3 + E200E4E3E200E4E3E200E4E3E200E4E3E2009A97960000000000000000000000 + 0000000000000000000000000000000000000000000000000000536DC600738E + E900AFC0F900B0C0F9008FA7F600536DC4000000000000000000000000000000 + 0000000000006883DC00637BCD00869FF200BAC9FA00BAC9FA00A7B9F8006179 + CC006883DC00000000000000000000000000000000002E3F7B004662BF004F6C + CD005F7DE3006685ED006988F1006382EB005F7FE8005B7BE4005474DD005070 + D9004C6CD5004564CC004463CA004766CC004D6BD100506ED400516FD500536F + CC00364A91000000000000000000000000000000000000000000000000000000 + 0000819AEB006183F2005579F100486DE8004469E8004469E8005174E9006585 + F1007894F4006484F1005074E900466BE8004469E8004A6EE8004E73EF006586 + F3007992E500607AD70000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000CED8F7005770 + C8006D8AEB006D8AEB006A83DA00C1CDF6000000000000000000000000000000 + 00000000000000000000000000005973CF007390F2007592F2006E86D6000000 + 000000000000000000000000000000000000000000003E539B00566EBF004463 + CA005B7AE2007490EE007E99F3006987EC005D7DE7005273E2003B60D8002F54 + D200244ACB000C35BE000831BA001239BE00254AC6002B50C9003256CD005D77 + CE004458A0000000000000000000000000000000000000000000000000000000 + 000095A8E600A8B9F300AABBF300A5B7F300A4B6F300A4B6F300A9B9F300AFBF + F500B1C1F500AEBEF500A8B9F300A5B7F300A4B6F300A6B8F300AABAF300A8B9 + F30095A8E600607AD70000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F6005670C7005670C700647ED900000000000000000000000000000000000000 + 0000000000000000000000000000000000006580DC006681DD005D77CF000000 + 000000000000000000000000000000000000000000006079C700566CB6005D77 + CB006D87DD00748EE5007892E800708BE3006E88E1006A84DE00637DD8005E79 + D5005B76D200536DCA00516CC9005570CC005B75CE005E78D1005E78D100556B + B2006880D2000000000000000000000000000000000000000000000000000000 + 00005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C900879CE90000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005972CA005972CA00C1CDF6000000 + 0000000000000000000000000000000000000000000000000000677FD1005068 + BC005068BC005068BC005068BC005068BC005068BC00485EA900485EA900485E + A900485EA9005068BC005068BC005068BC005068BC005068BC005068BC006E85 + D300000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000879BE00044589E004458 + 9E00475A9E000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CBCBCB00C7C7C70095A4D9002B3A6A002B3A6A002B3A6A002B3A6A002B3A + 6A002B3A6A002B3A6A002B3A6A002B3A6A003040790095A4D900C5C5C500D3D3 + D300000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000B2BFEE002D407D003758C6003758C6003758C6003758C6003758 + C6003758C6003758C6003758C6003758C6003C53A1002E407C00B1BFED000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000DADADA00C7C7C700C0C0 + C000C0C0C000253566002A396E00AFBCE400C8C8C800D5D5D500DEDEDE000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000031458E003E58AF003358D600042CB300042CB300042CB300042CB300042C + B300042CB300042CB300042CB300042CB3000D34B9003358D6003E58AF00BAC6 + F200000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000032458D00DDE2 + F600DFE4F700DFE4F700E0E5F700E0E6F700E0E6F700E1E7F800E3E8F800E3E8 + F800E4E9F800E4E9F800E5EAF800E5EAF800E6EBF800E7EBF900E7EBF900E8EC + F900E9EDF900E9EDF90032458D00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000B9C6 + F1002C3F7D003E58AE003F58AA00425287000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000BAC7 + F2004059B200345AD9000D36BE00042DB700042DB700042DB700042DB700042D + B700042DB700042DB700042DB700042DB700042DB7000D36BE00345AD9003348 + 9100BAC7F2000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000035499400D8DF + F600C9D2F200C9D2F200CAD3F200CCD5F400CDD6F400CED7F400CFD7F400D0D8 + F400D0D8F400D2DAF500D3DBF500D4DBF500D6DDF500D6DDF500D7DEF500D9E0 + F600DAE0F600DBE1F70035499400000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B9C6F1002E42 + 81004A5D9D000F309D000F2F9A003F58AA003044890000000000000000000000 + 0000000000000000000000000000000000000000000000000000BCC8F300354A + 95003359DA000D37C200042EBC00042EBC00042EBC00042EBC00042EBC00042E + BC00042EBC00042EBC00042EBC00042EBC00042EBC00042EBC000D37C200415B + B500354A9500BCC8F30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000384E9A00D5DC + F600C3CEF300C4CFF300C4CFF300C5D0F300C5D0F300C6D0F300C8D2F400C9D3 + F400C9D3F400CBD4F400CCD5F400CCD5F400CED7F500CFD8F600D0D9F600D2DA + F600D2DAF600D3DBF600384E9A00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000304285004B5F + A1003F5AB70003269B00032698000F2F9A004453880031458A00000000000000 + 00000000000000000000000000000000000000000000384F9E00435DBA00335A + DE000431C5000431C5000431C5000431C5000431C5000431C5000431C5000431 + C5000431C5000431C5000431C5000431C5000431C5000431C5000431C5000D39 + CB00335ADE00435DBA00BDC9F400000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000003F56AA00D7DF + F9000537DD00C6D1F700C6D1F700C6D1F700C5D1F7000537DD00C5D1F700C4D0 + F700C4D0F700C4D0F700C4D0F700C3CFF7000537DD00C3CFF700C3CFF700C4D0 + F7000537DD00C4D0F7003F56AA00000000000000000000000000000000000000 + 000000000000000000000000000000000000BAC7F20035498F003E5BBE000F33 + AB000429A50003279F0003279D0003269B000F2F9A003F58AA00445489000000 + 000000000000000000000000000000000000BDC9F400435FBD00335BE0000D3A + CE000432CB000432CB000432CB000432CB000432CB000432CB000432CB000432 + CB000432CB000432CB000432CB000432CB000432CB000432CB000432CB000432 + CB000D3ACE00335BE0003A52A100BDC9F4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000425AB000D8E0 + FA000538E500C7D3F900C7D3F900C7D3F900C6D2F9000538E500C6D2F900C6D2 + F900C6D2F900C6D2F900C6D2F900C5D1F9000538E500C5D1F900C4D0F800C4D0 + F8000538E500C4D0F800425AB000000000000000000000000000000000000000 + 0000000000000000000000000000BAC7F200374B93005165AD001035B100042A + AA00A0AEDE000328A20003279F0003279D00032698000F2F9A003F58AA003247 + 8B00000000000000000000000000000000004159AD00345CE3000D3BD3000433 + CF000433CF000433CF000433CF000433CF000433CF000433CF000433CF000433 + CF000433CF000433CF000433CF000433CF000433CF000433CF000433CF000433 + CF000433CF000D3BD3004561C0004159AD000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000455EB600DAE2 + FC00053AEB00CAD5FB00CAD5FB00C9D5FB00C9D5FB00053AEB00C8D4FB00C8D4 + FB00C8D4FB00C7D3FB00C7D3FB00C7D3FB00053AEB00C7D3FB00C6D2FA00C6D2 + FA00053AEB00C6D2FA00455EB600000000000000000000000000000000000000 + 0000000000000000000000000000394E9700546AB2004A67CA000C32B200052C + AD0099A6D000A0AEDD000328A20003279F0003269B00032698000F2F9A004555 + 890033478C000000000000000000000000004159A9000535D9000535D9000535 + D9000535D9000535D9000535D9000535D9000535D9000535D9000535D9000535 + D9000535D9000535D9000535D9000535D9000535D9000535D9000535D9000535 + D9000535D9000535D9003760E8004159A9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004861B900DEE5 + FC000F42EC00D0DAFB00D0DAFB00CFD9FB00CFD9FB000F42EC00CED8FB00CED8 + FB00CED8FB00CDD8FB00CDD8FB00CDD8FB000F42EC00CCD7FB00CCD7FB00CCD7 + FB000F42EC00CBD6FB004861B900000000000000000000000000000000000000 + 000000000000BDC9F4003D54A0005C78D500395BCB002B4FC600A7B5E5001439 + B8000C32B200939FC600FFFFFF00A0AEDD0003279F0003279D0003269B000F2F + 9A003F58AA0046568A000000000000000000435BAF000537DD000537DD000434 + D200042CB100042CB100042EB9000537DD000537DD00042CB1000537DD000537 + DD000430C400042CB100042CB1000430C4000537DD00042CB1000537DD000537 + DD000537DD000537DD00365FE900435BAF0000000000364C97002B3C76002B3C + 76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C + 76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C + 76002B3C76002B3C7600000000000000000000000000000000004963BA00DFE6 + FC001949ED00D3DCFB00D3DCFB00D3DCFB00D3DCFB001A4AED00D2DBFB00D2DB + FB00D2DBFB00D2DBFB00D2DBFB00D1DBFB001A4AED00D1DBFB00D1DBFB00D0DA + FB001A4AED00CFD9FB004963BA00000000000000000000000000000000000000 + 0000BDC9F4003F57A3005F76C0004767D2003A5CCD003255C900FFFFFF00A7B5 + E5001439B80004269800939FC600FFFFFF000328A20003279F0003279D000326 + 98000F2F9A003F58AA0033488D0000000000455EB300093BE300093BE2003B5A + C000FFFFFF00FBFBFB00BCC3DD00093BE200093BE200F2F2F200093BE2000835 + CC007F90CB00FFFFFF00F5F5F5007F90CB00093BE200F2F2F200093BE200093B + E200093BE200093BE2003861EB00455EB300000000003F559E004E6CD000274D + CD002B50CD002B50CD002B50CD002C51CD002C51CD002C51CD002C51CD002C51 + CD002C51CD002C51CD002C51CD002C51CD002C51CD002B50CD002B50CD002A4F + CD00274DCD004E6CD000000000000000000000000000000000004A64BB00E2E8 + FD002251ED00D7DFFC00D6DFFC00D6DFFC00D6DFFC002453EE00D6DFFC00D6DF + FC00D5DEFC00D5DEFC00D5DEFC00D5DEFC002453EE00D4DDFC00D4DDFC00D4DD + FC002352ED00D2DBFB004A64BB00000000000000000000000000000000000000 + 00004259AA006379C4006883DF004A6AD5004364D2003B5DCD00A5B0D300FFFF + FF00A7B5E5000C32B20004269800939FC600A0AEDD000328A20003279F000326 + 9B00032698000F2F9A0046568B003A4F99004A64BB001949ED001B4BED001B4B + ED001B4BED003761EF00C4D0F9001B4BED001B4BED00FFFFFF001B4BED00C2C9 + E2007F9AF5001B4BED001B4BED00708EF4001B4BED00F5F5F5004F6CCE003A5A + C3001741CF001B4BED004068F0004A64BB00000000005A75D1005771C8006472 + A8006A80CA005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C8007684 + B4006472A8005771C800000000000000000000000000000000004D66BE00E5EA + FD003761EF003862EF003862EF003862EF003862EF003862EF003862EF003862 + EF003862EF003862EF003862EF003862EF003862EF003862EF003862EF003862 + EF003761EF00D8E0FC004D66BE00000000000000000000000000BECCF500465E + B2007590E7006D88E5006985E200BDC7E700FFFFFF00B9C5EE003B5DCD003250 + B600A5B0D300A7B5E5001439B8000C32B200939FC600FFFFFF00A0AEDD000327 + 9F000F31A100405AB000364B9300000000004B65BD002050ED002352ED00315D + EF00E3E9FD00FFFFFF00C8D4FB002352ED002352ED00FFFFFF002352ED00FBFB + FB005A7DF2002352ED002352ED005A7DF2002352ED00FFFFFF00C9D5FB00EDF0 + FA0092A0D0002352ED00446BF0004B65BD000000000000000000000000005A74 + C7002247C100042FBF00042FBF00042FBF00042FBF00042FBF00042FBF00042F + BF00042FBF00042FBF00042FBF00042FBF00042FBF00042FBF00042FBF004A60 + AA005A74C70000000000000000000000000000000000000000004E68BF00E6EC + FD004169F000E1E7FD00E1E7FD00E1E7FD00E1E7FD00436BF000E0E6FC00E0E6 + FC00E0E6FC00DFE6FC00DFE6FC00DFE6FC00436BF000DEE5FC00DEE5FC00DEE5 + FC004169F000DBE2FC004E68BF000000000000000000BECCF5004961B7006D84 + D0007892E9007892E800728CE600617BCF00BAC3E100FFFFFF004364D2003B5D + CD003250B600FFFFFF00A7B5E5001439B80004269800939FC60099A5CE000F32 + A700415BB5004B5B950000000000000000004C66BD002957EE002C59EE00BCCA + FA007D98F500486FF0002C59EE002C59EE002C59EE00FFFFFF002C59EE00D8E0 + FC0088A2F6002C59EE002C59EE007B97F4002C59EE00FFFFFF002C59EE00476E + F000F8F8F8002C59EE00486FF0004C66BD000000000000000000000000007D93 + E0003457CD000432CA000432CA000432CA000432CA000432CA000432CA000432 + CA000432CA000432CA000432CA000432CA000432CA000432CA000432CA004B61 + AF007D93E00000000000000000000000000000000000000000004F69C000E7EC + FD004B71F100E4E9FD00E4E9FD00E4E9FD00E4E9FD004D72F100E3E9FD00E3E9 + FD00E3E9FD00E3E9FD00E3E9FD00E3E9FD004D72F100E2E8FD00E2E8FD00E1E7 + FD004B71F100DEE5FC004F69C00000000000000000004B67C0006A83D30089A1 + F000889FED00819AEB007993E8006A85E200617BCF00BAC3E100B9C5EE004364 + D2003B5DCD00A5B0D300FFFFFF00A7B5E5000C32B2000426980003259500415C + B9004C5E9A003B519B0000000000000000004E68BF003963EF003E67F0006384 + F300FFFFFF00FFFFFF00CFD9FB00FFFFFF00FFFFFF00FFFFFF00FFFFFF003E67 + F000ACBDF800FFFFFF00FFFFFF00ACBDF8003E67F000FFFFFF00FFFFFF00F2F5 + FE009FB3F7003E67F0004F74F1004E68BF000000000000000000000000000000 + 00005E7BDD00234FE100234FE100234FE100234FE100234FE100234FE100234F + E100234FE100234FE100234FE100234FE100234FE100234FE100224EE0004E64 + B500000000000000000000000000000000000000000000000000526CC300EBF0 + FD005D80F2006183F2006183F2006183F2006183F2006183F2006183F2006183 + F2006183F2006183F2006183F2006183F2006183F2006183F2006183F2006183 + F2005E80F200E4E9FD00526CC30000000000000000004C66BD00728FF20095AB + F30099AEF20091A7F0008AA1EE007993E800728CE6006A85E200BAC3E100FFFF + FF00B9C5EE003B5DCD003250B600A5B0D3001B40BC001B40B9004562C1003E56 + A200000000000000000000000000000000004F69C0003F68F000476EF000486F + F000486FF000486FF000486FF000486FF000486FF000486FF000486FF000486F + F000486FF000486FF000486FF000486FF000486FF000486FF000486FF000486F + F000486FF000476EF0005075F1004F69C0000000000000000000000000000000 + 00006984E1003E66EE003862ED003B64ED003B64ED003B64ED003B64ED003B64 + ED003B64ED003B64ED003B64ED003B64ED003B64ED003862ED003E66EE004F68 + C300000000000000000000000000000000000000000000000000536DC400ECF0 + FE00EBF0FD00EBF0FD00EBF0FD00EBF0FD00EBF0FD00EBF0FD00EAEFFD00EAEF + FD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00E9EEFD00E9EEFD00E9EEFD00E8ED + FD00E8EDFD00E6EBFD00536DC40000000000000000004D67BF007693F300A1B4 + F600A1B4F40099AEF20091A7F000819AEB007993E800728CE600617BCF00BAC3 + E100FFFFFF004364D2003B5DCD003250B600274BC2004A67C7005366A8000000 + 000000000000000000000000000000000000506AC100466DF0004E73F1005075 + F1005075F1005075F1005075F1005075F1005075F1005075F1005075F1005075 + F1005075F1005075F1005075F1005075F1005075F1005075F1005075F1005075 + F1005075F1004E73F1004F74F100566FC3000000000000000000000000000000 + 00006781DA005378F100496FF0005176F1005176F1005176F1005176F1005176 + F1005176F1005176F1005176F1005176F1005075F100496FF0005378F1005975 + D100000000000000000000000000000000000000000000000000546EC500EDF1 + FE00EDF1FE00EEF2FE00EEF2FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1 + FE00EDF1FE00ECF0FE00ECF0FE00ECF0FE00ECF0FE00ECF0FE00ECF0FE00ECF0 + FE00EAEFFD00E7ECFD00546EC50000000000000000004E68C0007A96F400A9BB + F700A3B4F1006078C7004B63B600506BC6007C95E7007993E8006A85E200617B + CF00BAC3E100B9C5EE004364D2003A5CCD00516DCD00566AAB00445AAA000000 + 000000000000000000000000000000000000BFCDF6008499E0006686F3005A7D + F2006283F2006283F2006283F2006283F2006283F2006283F2006283F2006283 + F2006283F2006283F2006283F2006283F2006283F2006283F2006283F2006082 + F2005A7DF2006686F300526CC500BFCDF6000000000000000000000000000000 + 0000647AC900728FF100577BF2005C7FF2005E80F2005F81F2006082F2006082 + F2006082F2006082F2005F81F2005E80F200567AF200587CF200728FF1009FB1 + F0000000000000000000000000000000000000000000000000005770C700F0F3 + FE007B97F40087A1F5008AA3F6008AA3F6008AA3F6008AA3F6008AA3F6008AA3 + F6008AA3F6008AA3F6008AA3F6008AA3F6008AA3F6008AA3F6008AA3F60087A1 + F5007A96F400EBF0FD005770C7000000000000000000506AC1007A96F400B1C1 + F900506AC100D2DBF80000000000A9BAF0004B63B6008AA1EE007993E800728C + E6006A85E2005771CB004B6BD7005D79D7004960B30000000000000000000000 + 00000000000000000000000000000000000000000000536DC60090A2E200718F + F4006787F3006B8AF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8B + F3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3005D80 + F200718FF40090A2E200BFCDF600000000000000000000000000000000000000 + 00005A75D1006E84D2007690EA007D97EB007F98EB007F98EB008099EB008099 + EB008099EB008099EB007F98EB007F98EB007A94EA007790EA006E84D2000000 + 00000000000000000000000000000000000000000000000000005871C800F0F3 + FE00F1F4FE00F2F5FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00F2F5FE00F2F5 + FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F1F4FE00F1F4FE00F0F3 + FE00EEF2FE00EBF0FD005871C8000000000000000000516BC2006F8DF300A9BB + F800516BC200D3DBF90000000000BFCDF5004D66BA007F99ED00819AEB007993 + E800728CE6005776DD00637FDC005F73BA000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCDF600536EC70091A4 + E2006384F300708EF4007592F4007592F4007592F4007592F4007592F4007592 + F4007592F4007592F4007592F4007592F4007592F4007592F4007290F4007491 + F40091A4E200536EC70000000000000000000000000000000000000000000000 + 000000000000647EDB005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C900647EDB000000 + 00000000000000000000000000000000000000000000000000005872C900F1F4 + FD00F4F6FD00F5F7FD00F6F8FD00F6F8FD00F6F8FD00F6F8FD00F6F8FD00F5F7 + FD00F5F7FD00F5F7FD00F5F7FD00F5F7FD00F5F7FD00F5F7FD00F4F6FD00F4F6 + FD00F3F6FD00F1F4FD005872C9000000000000000000546FCB006680D90099AF + F7006E84D1005E78D100D3DBF900556FCB00647BCA0099AEF2008AA1EE00819A + EB00748FE7006984E0006277BF004D65BA000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F60099A9E3008CA5F6007894F40086A0F50086A0F50086A0F50086A0F50086A0 + F50086A0F50086A0F50086A0F50086A0F500839EF5007894F40093AAF6005670 + C800C1CDF6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF600536E + C7009EB3F700B6C6F900C3D0FA00B7C6F800B1C1F800A8BAF50092A8F100809A + EE00758FE900526BC20000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005771C9009AAAE300ABBDF8008AA3F6008EA6F6008FA7F6008FA7F6008FA7 + F6008FA7F6008FA7F6008FA7F6008EA6F6007E99F500ABBDF8009DACE500C1CD + F600000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F600748DDD0099AFF700ACBDF800B5C5F900AFBFF800A6B8F600869FF100809A + EE006B81CC000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C1CDF6005771C9009DACE50090A8F60099AFF7009DB2F7009FB3F7009FB3 + F7009FB3F7009EB3F7009DB2F70098AEF700ABBDF8009DACE5005771C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005670C8006982DC007C96ED0089A0EE00869EEE00839BED00738EE9006C83 + D0005671CA000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000C1CDF6005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005874CF00C1CDF600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000DBDBDB00D1D1D100C9C9C900C7C7 + C700C7C7C700C5C5C500C5C5C500C5C5C50029386D0030417800C5C5C500D3D3 + D300000000000000000000000000000000000000000000000000000000000000 + 00007789C8002C375F0033458000C3C3C300C5C5C500D1D1D100DCDCDC000000 + 00000000000000000000DADADA00D5D5D500C3C3C300B1BCE500394B89007587 + C600DADADA000000000000000000000000000000000000000000000000000000 + 000000000000000000006E85CF00273773002534690025346900364D96006E85 + CF00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000028387100032698000326 + 98004E66B6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000007F92D80029396C008494C80025346900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CED7F60031417A00536BBC002D3D7800647BC90000000000000000000000 + 0000000000000000000000000000000000002D3D780041569B004B66BE00B7C5 + F100000000000000000000000000000000000000000000000000000000000000 + 00007287D100293B7900233576000C2A8F000C2A8F000C2A8F00172F82002335 + 7600293B79000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002C3D79000328A2000328 + A2004F69BE000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008093D900324273005466A5008393C80027366B00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000354C98003C529C00425DB400384984003D54A200000000000000 + 00000000000000000000000000003D54A200425CB0002245B8003E55A1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000293B7B00143090000328A1001638A8001638A8001638A8000328A1000328 + A100143090004F67B60000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002F418200042BAD00042B + AD00506BC6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000036457A005568AA00324DAA008494CC00293A7300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000007389D500495991001338B2003A59C0004054960094A6E5000000 + 000000000000A5B6EC002F42860040549600163BB400092EA9004B5B95000000 + 0000000000000000000000000000000000000000000000000000788DD9002F44 + 8D002045BD004B68CA00566FBF003E509000374D9A00374D9A004D609F00566F + BF002045BD002648B70044569700788DD9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000364B94005C76CD00183DB800183DB800183DB8000D37C3000D37 + C3000D37C300183DB800183DB800183DB800364B940000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003850 + 9D00455690002042B300042AA900042AA9008496D4002F428100000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000003B54A200042CB100042CB100042CB100435EBE003E51 + 9500344890004660BD002146C200072EB300042CB1004961AE00384D98000000 + 0000000000000000000000000000000000000000000000000000374D98001E3F + AD00506ED3005C75C60042559800D0D8F70000000000000000006B83D3004255 + 98005C75C6000B35C000546EC1003A509A000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003A509B005B79DD001540CF001540CF001540CF001540CF001540 + CF001540CF001540CF001540CF001540CF003A509B0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000003C54A3005365 + A400516CC700042CB200042CB200042CB2008497D90033468700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000788ED900163CBB00062FB700062FB700133ABE003C5C + C900465EAF00163DBF00062FB700062FB7001138BA005062A2005E76C9000000 + 000000000000000000000000000000000000000000007B92DD00354EA200113C + CC005F78CF004559A100889DE30000000000000000000000000000000000889D + E3004559A100133ECC003156D3005165AC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003E54A5006782DD006A84DD006A84DD006A84DD001D49DA001D49 + DA00617FE5006A84DD006A84DD006A84DD003E54A50000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000CED7F6006179C7004258A50033488F005568AA004D6A + CC001239BE00042EBB00042EBB00042EBB008499DD00364A9000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000D0D8F7004762C1001139BE001139BE001139BE00143B + C0002E53CD001139BE001139BE001139BE003959C30040539600BCC8F3000000 + 00000000000000000000000000000000000000000000435AB000254DD4003059 + E2004D63B000D1DAF80000000000000000000000000000000000000000000000 + 0000D1DAF800355BDC001E4BE0006682E0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008197E500455FB6002D59ED002D59 + ED00587BF1008197E50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004C5F9F005971BF004A66C5002447BA001237B4007288D2004F6FDB000432 + CD000432CD000432CD000432CD000432CD00849BE6003D53A0007087D9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005669AA003458D0002B50CE002B50CE002B50 + CE002B50CE002B50CE002B50CE002B50CE00596DAF00647CD000000000000000 + 00000000000000000000000000000000000000000000465EB400355BE0003660 + EB004A64BE000000000000000000000000000000000000000000000000000000 + 000000000000355CE1002250E9006986E7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004A62BC00526AC4004D6DD5003560EF003560 + EF003560EF00526AC4004A62BC008198E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005A74C9001C43C500042FC000042FC000042FC000728ADB005273E2000D3C + D7000E3DD8000E3DD8000E3DD8000E3DD800869DEB004058A800576EB8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000465BA500395BCB00385CD400385CD400385C + D400385CD400385CD400385CD400385CD4004B60A7004D66BC00D1DAF7000000 + 000000000000000000000000000000000000000000004962B9004167E700305C + EE004D68C2000000000000000000000000000000000000000000000000000000 + 0000000000003059E2003661EF006D8AEB000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005C76D2005171DE003D66EF003D66EF003D66EF003D66 + EF003D66EF003D66EF005171DE00526BC1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005071DE000433CF000433CF000433CF000433CF00728DE4005779E9001A48 + E1001C4AE1001C4AE1001C4AE1001C4AE10089A1EF00445DB0004E71E500738C + DE00000000000000000000000000000000000000000000000000000000000000 + 000000000000ABBBF0004159AB006580DD004B6DDD004669DC004669DC004669 + DC004669DC004669DC004669DC004669DC006480DE00576EB8004159AB000000 + 000000000000000000000000000000000000000000005772CE006C85DE003C65 + EF006A80CD007990E20000000000000000000000000000000000000000000000 + 00007990E2003F68F0006989F300748CDF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000839AE6006279C7006A88EE004D72F1005879E5005D76CA004E68C3004E68 + C3004F68BD005879E5004D72F1004D72F1006279C700839AE600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006384F300456CF0004C72F1004C72F100466DF00088A1F5005E80F200335E + EF003862EF003862EF003862EF003862EF008EA6F6004A64BC00093DEB00516A + BE0000000000000000000000000000000000000000000000000000000000BFCC + F5005A70BB00728BDF006D8AEA006180E7006180E7006180E7006180E7006180 + E7006180E7006180E7006180E7006180E7006180E700607FE7006B88EA005E73 + BD004A63BA00ABBBF100000000000000000000000000839AE600667DCC00577B + F2005B7BE800576EC10091A4EB000000000000000000000000000000000091A4 + EB00516ABF00597CF2007E99F500677ECC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005169C2008A9FE9005378F100617FE500536CBF007990E200000000000000 + 0000D2DBF800536CBF00617FE5005378F1008A9FE9005169C200000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006F8DF3006787F3006F8DF3006F8DF3006888F30095ACF7006283F2004068 + F000466DF000466DF000466DF000466DF00091A8F6004B65BD00093DEB004B65 + BD00000000000000000000000000000000000000000000000000768EDF004C64 + B7007D97EB007590ED006D8AEB006D8AEB006D8AEB006D8AEB006D8AEB006D8A + EB006D8AEB006D8AEB006D8AEB006D8AEB006D8AEB006D8AEB006D8AEB007C96 + ED006F85D0004C64B70000000000000000000000000000000000526BC3008199 + E8005075F1005475E200526BC000D3DBF80000000000000000007990E300526B + C0005878E3007290F4008AA0E900526BC30000000000000000004E67C1005C74 + C4004E67C1000000000000000000000000000000000000000000000000000000 + 00007288D000718FF4005B7EF200566EC10091A4EB0000000000000000000000 + 00000000000091A4EB00566EC1006684E700718FF4007288D000839AE7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00007995F400839EF50090A8F60090A8F600859FF500A0B4F7006586F3004D72 + F1005378F1005378F1005378F1005378F10094ABF6004C66BE002553EE004F6A + C50000000000000000000000000000000000000000005672CE00586FBE00738C + DE007D97F1007C97F1007C97F1007C97F1007C97F1007C97F1007C97F1007C97 + F1007C97F1007C97F1007C97F1007C97F1007C97F1007C97F1007C97F1007D97 + F1007E99F1007790E200526DC700BFCCF5000000000000000000000000006881 + DA00869FF1006D8CF3005F81F2005679EB004C70E8004D71E7005C7FF2006D8C + F300708EF4006586F300577BF2004E6CD500BFCDF600000000005069C1006384 + F3005069C1000000000000000000000000000000000000000000000000000000 + 00009EB1F2006B8AF300738FEE00D3DBF8000000000000000000000000000000 + 00000000000000000000D3DBF800566EC2006B8AF3009EB1F2004F69C2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000089A0EC009FB3F700AFC0F900B8C7F900A6B9F800ACBDF8006C8BF3006485 + F3006F8DF3006F8DF3006F8DF3006F8DF30099AFF7004E68C000667DCB000000 + 00000000000000000000000000000000000000000000516BC200516BC200516B + C200516BC200516BC200516BC200516BC200516BC200516BC20094ABF60095AC + F70095ACF70093AAF600879DE600516BC200516BC200516BC200516BC200516B + C200516BC200516BC200516BC2005671CD000000000000000000000000000000 + 0000657CCC008FA3EA00839EF5006283F2005277F1005C7FF20086A0F50097AD + F700A1B3F1006D8CF3006C8BF3005479F100516BC400BFCDF600516BC2006586 + F300516BC2000000000000000000000000000000000000000000000000000000 + 0000A4B6F3007391F4007C97ED00000000000000000000000000000000000000 + 0000000000000000000000000000526DC8007391F400A4B6F3005069C1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000768CD400B1C0F200B5C5F900B4C4F9009EB3F700A7B9F800718FF4006D8C + F3007C97F4007D98F5007D98F5007D98F5009CB1F7004F69C1007991E3000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000007189E000A3B6F800A2B6 + F800A2B6F800A0B4F7007A8FD6006882DC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000849AE800576FC7007085D100859DEF00849CEF00849CEF00859AE4007389 + D3005770C500839EF5007592F4006F8DF3005270D600526CC500526CC3006A8A + F300526CC3000000000000000000000000000000000000000000000000000000 + 0000A9BAF300809BF500839CEF00000000000000000000000000000000000000 + 0000000000000000000000000000536EC900809BF500A9BAF300516BC2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006881DB00506AC200657BC9008196DB008FA2E5008EA5F0008FA7F6007794 + F400859FF5008AA3F6008AA3F6008AA3F6009FB3F700506AC200000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCDF600AFBFF500B0C0 + F900B0C0F900ACBDF6006078C9009FB1F0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000556EC700768EDE0087A1F500829DF5007290F4006A83DB007C97 + F400556EC5000000000000000000000000000000000000000000000000000000 + 0000A5B5EA00A2B6F8008AA3F6007A92E4000000000000000000000000000000 + 000000000000000000007A92E4007D90D600A2B6F800A5B5EA005C77D4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005871CF008A9C + DC00A8B9F6009BB0F700A4B7F800A5B8F800A3B6F800536DC400000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000007F94D800C4D1 + FA00C9D5FB008DA0DF006983DD00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000C1CDF600566FC7007A91DF008DA5F6008DA5F60086A0F500839E + F500566FC6000000000000000000000000000000000000000000000000000000 + 00008597D800B3C3F90097ADF700637ACA0092A7EC0000000000000000000000 + 00000000000092A7EC00637ACA0096AAEE00B3C3F9008597D800849BE8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005872 + CF00758BD20097ADF70097ADF700A0B4F700A1B5F700546EC500000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000667DCD00BCCA + F700CDD8FB006D84CF009FB1F000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005E79 + D6005771C8005771C8005771C8005771C80095ACF70095ACF70095ACF70086A0 + F5005771C8000000000000000000000000000000000000000000000000000000 + 00005B74C900B9C6F200B2C2F9009FB1EF00657BCB007C92E500000000000000 + 0000D3DBF900657BCB009FB1EF009AAFF700B9C6F2005B74C900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006883DC00A7B9F40098AEF700849EF5009EB3F700556FC600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005771C900A9B8 + EC00CAD5FB005771C80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005872 + C9006E8BED007C96EE007F99EF00859EF00098ADF2009AAEF20097ACF2007C96 + EE005872C9000000000000000000000000000000000000000000000000000000 + 0000000000006B84DE008093D600BCCAFA00ACBDF800A7B9F800AFBFF500AFBF + F500ADBDF600ACBDF800BCCAFA00C5D1F9006B84DE0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000093A7ED00677ECD009DAFEE0094ABF6005771C800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000009FB1F000667D + CD009AAFF40093A8ED0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005B76 + D2005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005B76D2000000000000000000000000000000000000000000000000000000 + 000000000000000000006B85DE00C2CEF400C2CFFA00B7C7F900A9BBF800A9BB + F800B0C0F900C2CFFA00C2CEF400798ED5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000093A8ED005D76CA008DA5F6005771C800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005771 + C9008297E1000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E76CC008D9EDB00B5C2ED00C6D2F800C6D2 + F800C6D2F8008D9EDB005E76CC00879CE9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000C1CDF6008FA2E5005771C800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000647E + DA00667DCD000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D6D6D600CDCDCD00C7C7C7007487C6002938 + 6D0025346A00C5C5C500C7C7C700CBCBCB000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C7C7C70045599A0026336000B2BDE500C7C7C700D2D2D200000000000000 + 0000000000000000000000000000DADADA00C2C2C200475C9D002633620096A6 + DB000000000000000000000000000000000000000000000000005E72B6002632 + 5B0026325B0026325B0026325B0026325B0026325B0026325B0026325B002632 + 5B0026325B0026325B0026325B0026325B0026325B0026325B00687BBC00CFCF + CF0000000000000000000000000000000000000000000000000000000000D3D3 + D300C0C0C00025346D0027315900273159002731590027315900273159002731 + 590027315900273159002731590027315900273159002E3D7300C0C0C000CBCB + CB00DEDEDE000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000DFE5F90032406C005261 + 970046568B00455AA500DFE5F900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000029387000364FA0008697D0002C3E8000758AD60000000000000000000000 + 0000000000000000000000000000000000002E4286004359A5008596D0002739 + 78007185D000000000000000000000000000000000004C64B4003F59AE002C52 + D2000D35BA000E36BB000E36BB000E36BB000E36BB000E36BB000E36BB000E36 + BB000E36BB000D35BA000C34BA00284ECE00142A74002240A6003C54A5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000293973004E67B80003269B0003269B0003269B0003269B000326 + 9B0003269B0003269B0003269B0003269B004E67B80029397300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000B7C5F100293C7A0045548D0017369D001C3A + 9E00032083003F57A70043528600283873000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000263A7E007082BE00505F92003A53A60033478E0000000000000000000000 + 000000000000000000000000000000000000294091007789C700505F94002942 + 96003B529E0000000000000000000000000000000000354C97004A68CE003358 + D600355AD200365AD200365AD200365AD200365AD200365AD200365AD200365A + D200365AD2003358D2002C52D1004166DF000A2479001335A500425FC0000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000002B3C77004E68BC0003279F0003279F0003279F0003218700021C + 700003228A0003279F0003279F0003279F004E68BC002B3C7700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000334685006F7EB1003F5AB20003269B002946 + A900032288000F2F99003F58A90048599300B6C5F10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000243E92006676A8005169BB007488CD002E459600576EC300000000000000 + 0000000000000000000000000000A4B3EB00526CBF005F6EA4005B72BF003A54 + A9002F407C00000000000000000000000000000000002E407F005271DE004166 + E2005374E3005677E4005777E4005777E4005777E4005777E4005777E4005777 + E4005777E4005072E3004267E0005275EA0003218700092EA9004160CA000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000002D3E7C004E68BF000328A4000328A4000328A40003238C00FFFF + FF0003238F000328A4000328A4000328A4004E68BF002D3E7C00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000007483B4003D59B800072CA4000328A1002947 + AD000321870003269A00072999003751AA003244840000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005C6FB200354A9100A3B3EB004258A100657ECF002F4CB000000000000000 + 00000000000000000000708ADA003953A6005668A70098AAE90000000000586D + B800374C9100000000000000000000000000000000003C54A30033468A003346 + 8A0033468A003A4C8B0030438400304384003043840030438400304384003043 + 84003043840030438400304384003043840003249100042DB500365BD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000031448500506BC700042BAE00042BAE00042BAE00042BAE00042B + AE00042BAE00042BAE00042BAE00042BAE00506BC70031448500000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000006880D0006170A400173CB7001036B5001237B5000F34B1003D5B + BF0006258B00062BA7000429A3000328A000465FB0003D4D81006179C7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006373AC00435BA8005A72C600647ED1004A63B7001F48D1007D93DE000000 + 000000000000D1DAF800455BAC00294EC700445CAD000000000098AAE9007485 + C100485FB2000000000000000000000000000000000000000000000000000000 + 0000364A8F003358D30003279F0003279F0003279F0003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F00042AA900042EBB00375DDC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000034468900506CCA00042CB300042CB300042CB300042CB300042C + B300042CB300042CB300042CB300042CB300506CCA0034468900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BAC7F200455796008496D300153BBC00183EBD00193EBC001F44BC004361 + C60008278E000D32AE000A2FAB00052AA6001F3FAA00485FAA00324279000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004B5EA0007A8DCC004157A1004760B3003D5BBD003158DC004A62B800D2DB + F800000000005671CB00425EBF003058DE00465CA9006680D400435DB3006778 + B3008699DF000000000000000000000000000000000000000000000000000000 + 0000384D9500375DDE000430C2000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2000430C2000430C2000430C200375DDE000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000036498E004F6CCD00042DB800042DB800042DB800042DB800042D + B800042DB800042DB800042DB800042DB8004F6CCD0036498E00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000465FB2008B98C8004968D0001E44C4002147C6002146C500284CC4004866 + CC000B2B94001439B7001035B2000D32AE000429A500324FB2004D5E98000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D1DAF8004D64B2008596D3007E98EC00819BEF006D8BEE0098AAEA00536D + C4004F4E4E008699DD00728FF2006D8BF0007994EC008FA4EB008C9EDD008CA0 + E600000000000000000000000000000000000000000000000000000000000000 + 00003D54A000375EE3000433CE00829DF500829DF500829DF500829DF500829D + F500829DF500829DF500829DF500829DF5000433CE000433CE00375EE3000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003A4F9700506ED4000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2000430C200506ED4003A4F9700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000091A0D1004769D800234BD1003055D4003055D4002F54D3004062D4005371 + D7001132A0002146C5001D42C100193EBC001035B3000A2FAD002C4BB4003F55 + A200000000000000000000000000000000000000000000000000000000000000 + 000000000000BFCCF5005F79CD006E82C900788DD7008297DE00667DCC00BCC5 + E300D7D6D6005F75C3008095DA008A9EE4007689D1006278C300526BC1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004057A600375FE6000636D4000737D4000737D4000737D4000737D4000737 + D4000737D4000737D4000737D4000737D4000737D5000636D400375FE6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003C529C004F6ED7000431C7000431C7000431C7000431C7000431 + C7000431C7000431C7000431C7000431C7004F6ED7003C529C00000000000000 + 000000000000000000000000000000000000000000000000000000000000D1DA + F8008EA2E6002A52D7002F56D800375CDB00375CDB00365BDA004668DA005876 + DC001334A300274CCB002348C7001F44C300163BB9000F34B3001035AF003B4C + 8400CED7F7000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000AEBEF300859BE900788DD900CAD1E900EEEE + ED00EBEAEA00C2C6D6007382B6007289D900AFBEF300D3DBF900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000435BAD003961E8000D3DDB00103FDB00103FDB00103FDB00103FDB00103F + DB00103FDB00103FDB00103FDB00103FDB000F3EDB000D3DDB003A62E8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F55A0004F6FDB000432CC000432CC000432CC000432CC000432 + CC000432CC000432CC000432CC000432CC004F6FDB003F55A000000000000000 + 000000000000000000000000000000000000000000000000000000000000677F + D4006683E6002E56DD00395FDF003F64E1003E63E0003D62DF005777E2005E7C + E2001638A9002D52D100294ECD00254AC9001B40BF00153AB9000E34B3004A5C + 9D005B74C3000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A6A6A5006E6D6D00DAD9 + D900E8E7E700BFBDBC009A9897009D9D9D000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004962B8003E66EE001B4BE80092A9F60092A9F60092A9F60092A9F60092A9 + F60092A9F60092A9F60092A9F60092A9F6002250E9001C4BE8004169EE000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000435AAA005576E3001441D8001542D8001542D8001542D8001542 + D8001542D8001542D8001542D8001441D8005576E300435AAA00000000000000 + 0000000000000000000000000000000000000000000000000000D2DBF8005C71 + BB00365FE800446AEA004B70EC004C71EC004B70EB004B70EB006785EB006987 + EA001B3EB200395EDC003459D8003055D400264BCA002045C400183EBE004A65 + C0003F508C00CED7F70000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000807E7E00ACABAA00A0A0 + 9F00F1F0F000BCBAB900AEACAB0082807F000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004B65BD004068F0002352ED002E5AED002E5AED002E5AED002E5AED002E5A + ED002E5AED002E5AED002E5AED002E5AED002C59ED002352ED00446BF0000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000465EAF005879E7001E4ADE001F4BDE001F4BDE001F4BDE001F4B + DE001F4BDE001F4BDE001F4BDE001E4ADE005879E700465EAF00000000000000 + 00000000000000000000000000000000000000000000000000008EA3E9007E90 + D1003D65ED004D72F0005277F0005378F0005277F0005176EF00708DF0006E8B + EE001E41B7003F64E1003A5FDD00355AD9002B50CF00254AC9001D43C3003858 + C200495C9E008499DF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000009796960094929100BFBDBC00EAEA + E9008A898900C0BEBC00A8A6A400989694000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004D67BE00426AF0002A57EE003862EF003862EF003862EF003862EF003862 + EF003862EF003862EF003862EF003862EF003560EF002B58EE00476EF0000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004861B4005B7CEA002853E4002954E4002954E4002954E4002954 + E4002954E4002954E4002954E4002853E4005B7CEA004861B400000000000000 + 00000000000000000000000000000000000000000000000000006D87DD0091A3 + DF00476EF000567AF2005A7DF2005B7EF2005A7DF200587CF2007794F4007390 + F2002044BB004469E5004065E2003A5FDD002F54D3002A4FCE002248C8002C4F + C1004D62AB005E76C70000000000000000000000000000000000000000000000 + 00000000000000000000000000008B8A8900ABAAA900BAB9B800CBCAC9008786 + 860000000000D2D2D100E7E6E500B6B5B4008987870000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004F69C000466DF0003963EF00A6B9F800A6B9F800A6B9F800A6B9F800A6B9 + F800A6B9F800A6B9F800A6B9F800A6B9F800496FF0003A64EF004E73F1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004D67BE006182F1003C65EE003E66EE003E66EE003E66EE003E66 + EE003E66EE003E66EE003E66EE003B64ED006182F1004D67BE00000000000000 + 0000000000000000000000000000000000000000000000000000516CC700AEBE + F300567AF2006586F3006989F3006989F3006888F3006686F3007D98F5007D98 + F5002549BF004E73ED00486DE9004469E500385DDB003257D6002A50CF002348 + C400506BC3003D539D0000000000000000000000000000000000000000000000 + 00000000000000000000000000009F9E9D00C0BFBE00E5E4E4008F8D8C000000 + 0000000000008F8F8D00E2E2E100E4E3E3009E9C9B00B3B1B100000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000506AC100486FF0004068F0005579F1005579F1005579F1005579F1005579 + F1005579F1005579F1005579F1005579F1005176F1004169F0005075F1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005069C0006485F300466DF000496FF000496FF000496FF000496F + F000496FF000496FF000496FF000466DF0006485F3005069C000000000000000 + 00000000000000000000000000000000000000000000000000004F69C000AFBF + F4005A7DF2006989F300708EF400718FF4006F8DF3006D8CF3007E99F500829C + F500274ABF005378F0004D72ED00476CE8003B60DE00355AD9002D53D3001940 + C300526CC5003C4F910000000000000000000000000000000000000000000000 + 0000000000000000000000000000C8C8C700DFDFDF00F2F2F100C7C7C6000000 + 000000000000D3D3D300A3A2A100F2F2F200C1C0BF00908E8D00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000516BC2004A70F000486FF0005F81F2005F81F2005F81F2005F81F2005F81 + F2005F81F2005F81F2005F81F2005F81F2005A7DF200496FF0005378F1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000516AC1006888F3005075F1005277F1005277F1005277F1005277 + F1005277F1005277F1005277F1005075F1006888F300516AC100000000000000 + 0000000000000000000000000000000000000000000000000000506AC100AFBF + F400577BF2006787F300708EF4007794F4007693F4007491F4007C97F40086A0 + F500294CBF00577BF2005176EF004B70EB003E63E100355BDB002C53D400163E + C500536DC7003D50940000000000000000000000000000000000000000000000 + 000000000000000000009A989700F8F8F800C9C8C80094949400000000000000 + 000000000000000000000000000098979700F8F8F800E2E2E2009F9E9C000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000556FC5004D72F1005378F100B8C7F900B9C8F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F9006C8BF3005579F1005C7EF000536D + C400536DC400536DC40000000000000000000000000000000000000000000000 + 000000000000536CC3006E8DF30092A9F60094ABF60094ABF60094ABF60094AB + F60094ABF60094ABF60094ABF60091A8F6006E8DF300536CC300000000000000 + 0000000000000000000000000000000000000000000000000000526CC300ADBD + F4008BA4F60099AFF7009EB3F7008BA4F6007491F4007290F4007D98F5008DA5 + F6002C4EBF005A7DF2004F74F1004269EE005D7DE9007993E900869DE8007B92 + E0008397D8004054980000000000000000000000000000000000000000000000 + 00000000000095959400C6C5C400E3E3E20092918F0000000000000000000000 + 000000000000000000000000000000000000E9E9E900EEEEEE00C5C5C4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005670C6005C7DEA005579F1007C97F4007D98F5007D98F5007D98F5007D98 + F5007D98F5007D98F5007D98F5007D98F5007290F4005A7DF2005E80F0003761 + ED003761ED00456AE50000000000000000000000000000000000000000000000 + 000000000000546DC400708EF400042DB5000429A80003269C0003208300031E + 79000320810003269A000429A700042CB300708EF400546DC400000000000000 + 0000000000000000000000000000000000000000000000000000536DC400ABBB + ED008295D7006F84CE008599DA00B3C2F300B4C4F90091A8F6006B8AF30089A2 + F6002A4DBF004B71F100466DF0006787F30093A4DD008092CF00677ABC008797 + CD00A7B3DC0041569A0000000000000000000000000000000000000000000000 + 0000C7C7C700A8A7A500DDDDDC009C9A9900D3D3D30000000000000000000000 + 0000000000000000000000000000000000009C9B9900F3F2F200DFDFDE00BDBD + BD00000000000000000000000000000000000000000000000000000000000000 + 0000556FC7005B7CEA00587CF2007F9AF500849EF50086A0F50086A0F50086A0 + F50086A0F50086A0F50086A0F500859FF5007592F4005B7EF2005B7EF2000834 + C5000A36CA004568DA0000000000000000000000000000000000000000000000 + 000000000000556EC5007391F4009EB3F700A3B6F800A3B6F800A3B6F800A3B6 + F800A3B6F800A3B6F800A3B6F8009EB3F7007391F400556EC500000000000000 + 00000000000000000000000000000000000000000000000000005873CF00536E + C7009FB1F000AEBEF3009FB1F0005A74C9008E9FDD00B4C3F5006888F3007995 + F4002448BF004E73F1007C97F200889BDC006680D9009CAFEE00ACBCF1006780 + D400445AA6004860B10000000000000000000000000000000000000000000000 + 0000A19F9D00EBEBEA00C0BFBE00000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A6A5A500C4C3C200A2A0 + 9E00000000000000000000000000000000000000000000000000000000000000 + 00006B85DE005B78DB005479F1006283F2006B8AF3006F8DF3007391F4007391 + F4007391F4007391F400718FF4006D8CF3005C7FF2004A70F0004A70F000324B + 9C002648B700506BC20000000000000000000000000000000000000000000000 + 0000000000005770C7007693F400A6B9F800AFC0F900B1C1F900B1C1F900B1C1 + F900B1C1F900B1C1F900AFC0F900A5B8F8007592F4005770C700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000859BE900ACBCF1009CB1 + F7002A4FC8005E77CA00859BE900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A4A2A000D2D1D0009A999800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000009C9A9900A5A3 + A100000000000000000000000000000000000000000000000000000000000000 + 0000AFBFF3005D76CA005879E5005277F1005579F100577BF200587CF200587C + F200587CF200587CF200587CF200567AF2005075F1004C72F100446BF0006379 + C500526AB9005B72C40000000000000000000000000000000000000000000000 + 0000000000005871C8007491F400042DB5000429A80003269C0003208300031E + 79000320810003269A000429A700042CB3007391F4005871C800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000008497D900AEBF + F8007189DA007C93E50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009C9A99009D9B9A0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000009C9A + 9900000000000000000000000000000000000000000000000000000000000000 + 000000000000859CE9005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C90093A8ED0000000000000000000000000000000000000000000000 + 0000000000005872C9006D8CF3006686F3007391F4007A96F4007E99F5007F9A + F5007E99F5007A96F4007290F4006485F3006D8CF3005872C900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005A76D200A1B0 + E80094A4DA000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004E6ACE005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005B76D200000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005A76 + D2005A76D2000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DEDE + DE00D3D3D300CECECE00CECECE00C0C0C00097A7D7005769A700293462002530 + 5800253058002934620032427B005769A700C0C0C000C7C7C700CECECE00D6D6 + D600DEDEDE00DEDEDE000000000000000000000000000000000000000000DEDE + DE00D3D3D300CECECE00CECECE00C0C0C00097A7D7005769A700293462002530 + 5800253058002934620032427B005769A700C0C0C000C7C7C700CECECE00D6D6 + D600DEDEDE00DEDEDE0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004259A70046589700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004658970035447A004259A7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004259A70046589700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004658970035447A004259A7000000 + 00000000000000000000000000000000000000000000000000004A60AE003544 + 7900485EA900435BAC00435BAC00435BAB00435BAB00435BAA00435BA900435A + A8004259A7004259A600435AA6004259A500435AA500435AA500435AA5004556 + 910033406D00455BA5000000000000000000000000000000000000000000AEBD + EC007A87B4008E9ED100808EBC00F0EFEF00EFEEEE00EDEDEC00EBEAEA00E9E9 + E800E8E7E700E5E5E400E4E3E3008E99BE008E9AC3008E9AC300808EBC008293 + CC008293CC008293CE0000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F100000000000000000000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F1000000000000000000000000000000000000000000647BCB00364784004761 + B500072BA3000328A1000328A00003279F0003279F0003279F0003279D000326 + 9C0003269C0003269A0003269A00032699000325970003259700032596002643 + A3004A5FA6003342760000000000000000000000000000000000BAC6F2002E42 + 8700798ED2002446B60003228900031E7B000322890003228900BCBAB900B7B5 + B400B2B0AF00A7A5A400A2A09E00031E7B00032289000322890003228900042A + AB00042AAB008194D50000000000000000000000000000000000000000000000 + 00002F4284004D5F9E00415CB7000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000000000000000000000000 + 00002F4284004D5F9E00415CB7000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000033478A004B61AA002748 + B5000429A7000429A7000429A6000429A5000328A4000328A3000328A2000328 + A1000328A00003279F0003279F0003279E0003279D0003269C0003269B000326 + 9A002745A8004B5E9E00000000000000000000000000BAC6F20031458C006A79 + B2001B40B8001D41B90003238D00031F7F0003238D0003238D00CAC8C700C5C3 + C200C0BEBD00B6B4B300B1AFAD00031F7F0003238D0003238D0003238D00042C + B100042CB1008195D7000000000000000000000000000000000000000000475F + B100415DBD00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046589A00475FB1000000000000000000000000000000000000000000475F + B100415DBD00082EAE00042BAC00042BAC00042BAC00042BAC00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046589A00475FB100000000000000000000000000314588004361C700042C + B300042CB2003252BF00DEE3F400C0CAEA003353BD00042BAD00042BAC00425F + C000FFFFFF008194D400042AA900042AA900BFC8E800FFFFFF00FFFFFF000328 + A4000328A300435EBB0000000000000000000000000034488F00879BDD00264B + C3001038BD00284CC4000D2D98000C2888000D2D98000D2D9800E0DFDF00DDDB + DB00D9D7D700D1CFCE00CDCBCA000C2888000D2D98000D2D98000D2D98001038 + BD001038BD00869ADE0000000000000000000000000000000000A8B7ED003E50 + 8E001439B600042CB100042CB100042CB100042CB100042CB100042CB100042C + B100042CB100042CB100A0AFE100042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000000000000A8B7ED003E50 + 8E001439B600042CB100042CB100042CB100042CB100042CB100FFFFFF00FFFF + FF00FFFFFF00FFFFFF00042CB100042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000034488C004362CA00042D + B800042DB600DEE4F500FFFFFF00FFFFFF00AFBBE200042BAF00042CB100617A + CE00FFFFFF008191CA000429A800042BAD00C0CAEA00FFFFFF00FFFFFF00042A + AA00042AA900425EBD00000000000000000000000000364B9400889DE100183F + C300183FC3002F53CA0013339C00112D8C0013339C0013339C00EBEAE900E7E6 + E600E3E2E200DCDBDA00D8D7D600112D8C0013339C0013339C0013339C00183F + C300183FC300889DE10000000000000000000000000000000000455BAE004C62 + AD00042DB600042DB600042DB600042DB600042DB600042DB600042DB600042D + B600042DB60003279F00FFFFFF009FAFE200042DB600042DB600042DB600042D + B6002B4EC2004C62AD0000000000000000000000000000000000455BAE004C62 + AD00042DB600042DB600042DB600042DB600042DB600042DB600FFFFFF00FFFF + FF00FFFFFF00FFFFFF00042DB600042DB600042DB600042DB600042DB600042D + B6002B4EC2004C62AD00000000000000000000000000364A91004363CE000530 + BE00042EBC00FFFFFF00FFFFFF00FFFFFF00FFFFFF000429A700042DB60091A3 + DE00FFFFFF006177BF00042BAC00042CB300EEF1F900FFFFFF00DEE3F100042B + AE00042BAE00425FC100000000000000000000000000394F99008A9FE3002047 + CA002047CA003559CF001938A100173391001733910017339100F4F3F300F1F0 + F000EDEDEC00E6E5E500E3E2E100173391001938A1001938A1001938A1002047 + CA002047CA008A9FE300000000000000000000000000788DD7004F63AA00395B + CD00173FC400173FC400173FC400173FC400173FC400173FC400173FC400173F + C400173FC40012329D00FFFFFF00FFFFFF00A6B6E800173FC400173FC400173F + C400153DC400395BCD00788DD7000000000000000000788DD7004F63AA00395B + CD00173FC400173FC400173FC400173FC400173FC400173FC400FFFFFF00FFFF + FF00FFFFFF00FFFFFF00173FC400173FC400173FC400173FC400173FC400173F + C400153DC400395BCD00788DD70000000000000000003A509A004768D700133D + CA00153EC9004062D300E0E5F600C3CCEA001A3CAD000A32B700647ED800FFFF + FF00FFFFFF000429A700042FBE00042FBD00FFFFFF00FFFFFF008F9FD400042D + B800042DB8004362C9000000000000000000000000003E55A30091A6EA003157 + D6003157D6004668D8003350B2002D4BAE002D4BAE002D4BAE002D4BAE002D4B + AE002D4BAE002D4BAE002D4BAE002D4BAE002D4BAE002D4BAE003350B2003157 + D6003157D60090A5EA000000000000000000000000004963B600546DC0003357 + CF00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234A + CB00234ACB001C3BA300FFFFFF00FFFFFF00FFFFFF00ABBAEB00234ACB00234A + CB002148CB003357CF004963B60000000000000000004963B600546DC0003357 + CF00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00234ACB00234ACB00234ACB00234ACB00234ACB00234A + CB002148CB003357CF004963B60000000000000000003C52A000496BDA001C46 + D1002149D1001F48D0001D44C900173CB600173DBD001640CB00E1E6F800FFFF + FF00FFFFFF000B33B8000A35C4000833C300FFFFFF00FFFFFF00516BBF00042F + BE00042FBD004363CD000000000000000000000000004058A90094A9ED003A5F + DD003A5FDD004669DF004E70E0004E70E0004E70E0004E70E0004E70E0004E70 + E0004E70E0004E70E0004E70E0004E70E0004E70E0004E70E0004E70E0003A5F + DD003A5FDD0093A8ED000000000000000000000000003D54A2005C76D0003257 + D3002E53D2002E53D2002B4FC700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00AFBEEE002E53 + D2002D53D2003257D3003D54A20000000000000000003D54A2005C76D0003257 + D3002E53D2002E53D2002E53D2002E53D2002E53D2002E53D200FFFFFF00FFFF + FF00FFFFFF00FFFFFF002E53D2002E53D2002E53D2002E53D2002E53D2002E53 + D2002D53D2003257D3003D54A20000000000000000003F56A5004C6EDF00244D + D7002C53D7002A51D6002951D600254DD400234BD3002F55D500FFFFFF00FFFF + FF00EFF2F900163FCA00153FCB00133DCA00FFFFFF00FFFFFF00193CAE000833 + C4000632C3004364D100000000000000000000000000435CAF0097ACF0004368 + E3004368E3004368E3004368E3004368E3004368E3004368E3004368E3004368 + E3004368E3004368E3004368E3004368E3004368E3004368E3004368E3004368 + E3004368E30097ACF0000000000000000000000000004158A600627CD900365C + DC004569DF004569DF003854B200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008BA1 + EB004468DF003A5FDC004158A60000000000000000004158A600627CD900365C + DC004569DF004569DF004569DF004569DF004569DF004569DF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF004569DF004569DF004569DF004569DF004569DF004569 + DF004468DF003A5FDC004158A6000000000000000000445CAF005073E700345C + E2004267E3006F8BE9006D89E800DAE1F900FFFFFF00FFFFFF00FFFFFF007A8F + D4002B4FC7002D54D900385DDA00F0F3FC00FFFFFF005771C8002147C8001C46 + D1001540D0004668D9000000000000000000000000004862B9009EB2F600587B + F000587BF0005070D9004F6ED7004F6ED7004F6ED7004F6ED7004F6ED7004F6E + D7004F6ED7004F6ED7004F6ED7004F6ED7004F6ED7004F6ED7004F6ED700587B + F000587BF0009DB2F600000000000000000000000000435BAB006681DE003F64 + E1005173E3005173E300415CB600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005173 + E3004F71E3004368E100435BAB000000000000000000435BAB006681DE003F64 + E1005173E3005173E3005173E3005173E3005173E3005173E300FFFFFF00FFFF + FF00FFFFFF00FFFFFF005173E3005173E3005173E3005173E3005173E3005173 + E3004F71E3004368E100435BAB000000000000000000465FB4005275EA003D64 + E7004D71E900FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008296D800375A + CD003C62E100385EDF00BFCBF400FFFFFF00BBC6E900284BBE002D55DA002750 + D9001D48D600486BDD000000000000000000000000004A64BB00A1B5F7006183 + F2006183F2005876DA00BDC9F100BDC9F100BDC9F100BDC9F100BDC9F100BDC9 + F100BDC9F100BDC9F100BDC9F100BDC9F100BDC9F100BDC9F100BDC9F1006183 + F2006183F200A0B4F700000000000000000000000000475EB4006C86E0005275 + E7005C7CE8005C7CE8004963B900FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C2CEF6005C7C + E800597AE8005375E700475EB4000000000000000000475EB4006C86E0005275 + E7005C7CE8005C7CE8005C7CE800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E1E7FB005C7CE8005C7C + E800597AE8005375E700475EB40000000000000000004963B9005478EE00456B + EB00587BED00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B9C5EB004567D900486D + E700456AE60094A9F000FFFFFF00FFFFFF004D69C800365BD400395FE0003058 + DE00244EDB004A6DE1000000000000000000000000004B65BC00A4B7F8006A8A + F3006A8AF300607CDA00C4CEF1009DAEE8009DAEE8009DAEE8009DAEE8009DAE + E8009DAEE8009DAEE8009DAEE8009DAEE8009DAEE8009DAEE8009DAEE8006A8A + F3006A8AF300A3B6F8000000000000000000000000007790E100687FCD006E8C + F0007491F1007491F1007491F1007491F1007491F1007491F1007491F1007491 + F1007491F1005C73C000FFFFFF00FFFFFF00CAD5F9007491F1007491F1007491 + F1006988EF006E8CF0007790E10000000000000000007790E100687FCD006E8C + F0007491F1007491F100738FEE00677DC500E0E5F300FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007D98F2007491F1007491F1007491 + F1006988EF006E8CF0007790E10000000000000000004D67BE00597CF2005579 + F1006E8DF3006B8AF0006785EA006585EE006686F3006384F2006082F1006888 + F100C0CDF800FFFFFF00FFFFFF00AEBBE7005074EA005074EC004D72EA00456A + E900345DE6004E72E9000000000000000000000000004D67BE00AABCF8007C97 + F4007C97F4006F88DC00D1D9F400B2C0EC00B2C0EC00B2C0EC00B2C0EC00B2C0 + EC00B2C0EC00B2C0EC00B2C0EC00B2C0EC00B2C0EC00B2C0EC00B2C0EC007C97 + F4007C97F400A9BBF800000000000000000000000000BFCDF6005971C3007E98 + F1007E99F500819BF500819BF500819BF500819BF500819BF500819BF500819B + F500819BF500677CC400FFFFFF00FFFFFF00819BF500819BF500819BF5007E99 + F5007290F4007E98F100CED8F7000000000000000000BFCDF6005971C3007E98 + F1007E99F500819BF500819BF5006B82CD007084C700E2E6F400FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00E7ECFD00819BF500819BF500819BF5007E99 + F5007290F4007E98F100CED8F70000000000000000004E68BF005B7EF2005D80 + F2007A96F4007894F4007693F4007391F400718FF4006F8DF300A1B5F700EBF0 + FD00FFFFFF00FFFFFF00B4C0E9005370D0005C7EF0005B7EF000597CEF004E73 + ED003B63EB005074EC000000000000000000000000004E68BF00ADBEF800849E + F500849EF500778EDC00D7DEF400BCC8EE00BCC8EE00BCC8EE00BCC8EE00BCC8 + EE00BCC8EE00BCC8EE00BCC8EE00BCC8EE00BCC8EE00BCC8EE00BCC8EE00849E + F500849EF500ACBDF800000000000000000000000000000000005975D100768D + DD00829CF5008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4 + F6008BA4F6006F83C500FFFFFF00D4DDFC008BA4F6008BA4F6008BA4F600829C + F500809BF500768DDD00000000000000000000000000000000005975D100768D + DD00829CF5008BA4F6008BA4F60089A2F3007489CD00788AC800FFFFFF00FFFF + FF00FFFFFF00FFFFFF00E9EEFD0092A9F6008BA4F6008BA4F6008BA4F600829C + F500809BF500768DDD000000000000000000000000004F69C0005D80F2006586 + F300849EF500829DF500819BF5007E99F50093AAF600C3D0FA00FFFFFF00FFFF + FF00FFFFFF009BABE1005E78D1006987ED006888F3006686F3006586F300597C + F200436AEF005277F0000000000000000000000000004F69C000B0C0F9008DA5 + F6008DA5F6007F95DD00DDE2F600C6D0F000C6D0F000C6D0F000C6D0F000C6D0 + F000C6D0F000C6D0F000C6D0F000C6D0F000C6D0F000C6D0F000C6D0F0008DA5 + F6008DA5F600AFC0F9000000000000000000000000000000000000000000607A + D70095ABF50092A9F600A0B4F700A2B6F800A2B6F800A2B6F800A2B6F800A2B6 + F800A2B6F8008E9FD800A2B6F800A2B6F800A2B6F800A2B6F8009FB3F70094AA + F500758AD500607AD7000000000000000000000000000000000000000000607A + D70095ABF50092A9F600A0B4F700A2B6F800A2B6F800A0B3F4008998C900E7EA + F400FFFFFF00A8BAF800A2B6F800A2B6F800A2B6F800A2B6F8009FB3F70094AA + F500758AD500607AD700000000000000000000000000516BC2006082F200708E + F4009AAFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D5DBF10098A8 + DC00758BD300859FF500839EF500829CF5007F9AF5007D98F5007B97F4006989 + F3004F74F1005579F100000000000000000000000000516BC200B5C5F9009EB3 + F7009EB3F7008EA0DE00E5EAF700D5DCF200D5DCF200D5DCF200D5DCF200D5DC + F200D5DCF200D5DCF200D5DCF200D5DCF200D5DCF200D5DCF200D5DCF2009EB3 + F7009EB3F700B4C4F90000000000000000000000000000000000000000000000 + 000090A2E2009CB1F7009CB1F700AEBFF800AEBFF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800A9BBF8009CB1F7008EA1 + E300546FCA000000000000000000000000000000000000000000000000000000 + 000090A2E2009CB1F7009CB1F700AEBFF800AEBFF800AEBFF80091A0D000929F + CA00DBE0F300AEBFF800AEBFF800AEBFF800AEBFF800A9BBF8009CB1F7008EA1 + E300546FCA0000000000000000000000000000000000526CC3005F81F200718F + F400A2B6F800FFFFFF00FFFFFF00E8EBF600D9DEF000B2BDE3008598D9008CA1 + E60092A9F40090A8F6008EA6F6008CA5F60089A2F60087A1F500859FF5006E8D + F3005075F1005579F100000000000000000000000000526CC300B8C7F900A7B9 + F800A7B9F80096A6DF00E9EDF800DCE1F400DCE1F400DCE1F400DCE1F400DCE1 + F400DCE1F400DCE1F400DCE1F400DCE1F400DCE1F400DCE1F400DCE1F400A7B9 + F800A7B9F800B6C6F90000000000000000000000000000000000000000000000 + 00005870C70092A5E300A3B6F700ACBDF800B5C5F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F900ACBDF800A2B6F800A1B5F7005870 + C700BFCDF6000000000000000000000000000000000000000000000000000000 + 00005870C70092A5E300A3B6F700ACBDF800B5C5F900B9C8F900B6C5F600A1AE + D900B6C5F600B9C8F900B9C8F900B9C8F900ACBDF800A2B6F800A1B5F7005870 + C700BFCDF60000000000000000000000000000000000536DC4006685EC006C8B + F300A3B6F800A4B5EE0092A1D30097A7DD0098A8E1009BACE700A2B6F800A1B5 + F7009FB3F7009BB0F70099AFF70097ADF70094ABF60091A8F6008CA5F6006B8A + F3005075F1005E7EEC00000000000000000000000000536DC400BAC9FA00B0C0 + F900B0C0F9009DADDF00EDF0F900E3E8F600E3E8F600E3E8F600E3E8F600E3E8 + F600E3E8F600E3E8F600E3E8F600E3E8F600E3E8F600E3E8F600E3E8F600B0C0 + F900B0C0F900B9C8F90000000000000000000000000000000000000000000000 + 00000000000000000000627DD900879BE300A0B3F500A3B6F800A4B7F8009FB3 + F7009FB3F700A2B6F800A3B6F800A0B4F700879BE300677ECC00627DD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000627DD900879BE300A0B3F500A3B6F800A4B7F8009FB3 + F7009FB3F700A2B6F800A3B6F800A0B4F700879BE300677ECC00627DD9000000 + 000000000000000000000000000000000000000000007A92E5006079CC00728E + EE007794F400829DF5008AA3F6008DA5F6008DA5F6008BA4F60089A2F60088A2 + F60087A1F500839EF500829DF500819BF5007B97F4007693F4006C8BF3005E80 + F2006786ED005F78CC00000000000000000000000000556FC600BECCFA00C0CE + FA00C0CEFA00ADB9E100F4F6FA00EDF0F800EDF0F800EDF0F800EDF0F800EDF0 + F800EDF0F800EDF0F800EDF0F800EDF0F800EDF0F800EDF0F800EDF0F800C0CE + FA00C0CEFA00BDCBFA0000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D500637BCC007C91DA0092A8F00091A7 + F10092A8F10092A8F000879DE7007B90D9005E79D500AFBFF300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D500637BCC007C91DA0092A8F00091A7 + F10092A8F10092A8F000879DE7007B90D9005E79D500AFBFF300000000000000 + 00000000000000000000000000000000000000000000000000005974CF00617A + CD005F81F2006586F3006888F3006A8AF3006A8AF3006A8AF3006A8AF3006989 + F3006989F3006888F3006888F3006787F3006586F3006384F3006082F2005E7D + E5006079CD006984DD000000000000000000000000005670C700A6B9F800C1CE + FA00C3D0FA00BCC8EE00F9FAFE00F4F6FC00F4F6FC00F4F6FC00F4F6FC00F4F6 + FC00F4F6FC00F4F6FC00F4F6FC00F4F6FC00F4F6FC00F4F6FC00F4F6FC00C3D0 + FA00C0CEFA00A4B7F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000007C93 + E5005771C8005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C8005D76 + CC007C93E500000000000000000000000000000000005771C9005771C8005771 + C8005771C8005771C800ABB8E300ABB8E300ABB8E300ABB8E300ABB8E300ABB8 + E300ABB8E300ABB8E300ABB8E300ABB8E300ABB8E300ABB8E300ABB8E3005771 + C8005771C8005771C80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DEDE + DE00D3D3D300CECECE00CECECE00C0C0C00097A7D7005769A700293462002530 + 5800253058002934620032427B005769A700C0C0C000C7C7C700CECECE00D6D6 + D600DEDEDE00DEDEDE000000000000000000000000000000000000000000DEDE + DE00D3D3D300CECECE00CECECE00C0C0C00097A7D7005769A700293462002530 + 5800253058002934620032427B005769A700C0C0C000C7C7C700CECECE00D6D6 + D600DEDEDE00DEDEDE000000000000000000000000000000000000000000DEDE + DE00D3D3D300CECECE00CECECE00C0C0C00097A7D7005769A700293662002531 + 5800253158002633600032427B005769A700C0C0C000C7C7C700CECECE00D6D6 + D600DEDEDE00DEDEDE0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004259A70046589700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004658970035447A004259A7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004259A70046589700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004658970035447A004259A7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004259A70046599700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004659970035457A004259A7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000A3B3EA002F3E73003F4F840044579700495DA100495D + A100495DA100445797003F4F86002F3F7400A3B3EA0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F100000000000000000000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F100000000000000000000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F100000000000000000000000000000000000000000000000000000000000000 + 0000000000004159A70035447A00455EAF002F4BAB001E3DA400032699000326 + 9900032699001E3DA4002F4BAB00455EAF0035447A004159A700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00002F4284004D5F9E00415CB7000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000000000000000000000000 + 00002F4284004D5F9E00415CB7000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000000000000000000000000 + 00002F4284004D609E00415CB7000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000000000000000000000000 + 00002E42880042538E004760B1000B2EA10003279F0003279F0003279F000327 + 9F0003279F0003279F0003279F000B2EA1004760B10042538E002E4288000000 + 000000000000000000000000000000000000000000000000000000000000475F + B100415DBD00082EAE00042BAC00042BAC00042BAC00042BAC001338B100CFD6 + EE00FFFFFF001338B100042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046589A00475FB1000000000000000000000000000000000000000000475F + B100415DBD00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046589A00475FB1000000000000000000000000000000000000000000475F + B100415DBD00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046599A00475FB10000000000000000000000000000000000000000003147 + 8F003654B900082DA9000429A8000429A8000429A8000429A8000429A8000429 + A8000429A8000429A8000429A8000429A8000429A800082DA9003654B9003147 + 8F00000000000000000000000000000000000000000000000000A8B7ED003E50 + 8E001439B600042CB100042CB100042CB100042CB100042CB100CFD6EF00FFFF + FF00FFFFFF00CFD6EF001439B600042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000000000000A8B7ED003E50 + 8E001439B600042CB100042CB100042CB100042CB100042CB1001439B600CFD6 + EF00042CB100042CB100042CB100042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000000000000A8B7ED003E50 + 8E001439B600042CB100042CB100042CB100042CB100042CB100A0AFE100A0AF + E100042CB100042CB100042CB100042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000000000000475FB1004658 + 9A00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00082EAE004658 + 9A00475FB1000000000000000000000000000000000000000000455BAE004C62 + AD00042DB600042DB600042DB600042DB600042DB600143ABA00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00D0D7F100143ABA00042DB600042DB600042DB600042D + B6002B4EC2004C62AD0000000000000000000000000000000000455BAE004C62 + AD00042DB600042DB600042DB600042DB600042DB600042DB600D0D7F100FFFF + FF00042DB600042DB600042DB600042DB600042DB600042DB600042DB600042D + B6002B4EC2004C62AD0000000000000000000000000000000000455CAE004C63 + AD00042DB600042DB600042DB600042DB600042DB600042DB600FFFFFF00FFFF + FF009FAFE200042DB600042DB600042DB600042DB600042DB600042DB600042D + B6002B4EC2004C63AD00000000000000000000000000A8B7ED003E508E004964 + BF00042CB100042CB100042CB100042CB100042CB100042CB100042CB100042C + B100042CB100042CB100042CB100042CB100042CB100042CB100042CB1004964 + BF003E508E00A8B7ED00000000000000000000000000788DD7004F63AA00395B + CD00173FC400173FC400173FC400264BC800D2D9F300FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00264BC800173FC400173FC400173F + C400153DC400395BCD00788DD7000000000000000000788DD7004F63AA00395B + CD00173FC400173FC400173FC400173FC400264BC800D2D9F300FFFFFF00FFFF + FF00173FC400173FC400173FC400173FC400173FC400173FC400173FC400173F + C400153DC400395BCD00788DD7000000000000000000788DD7004F63AA00395B + CD00173FC400173FC400173FC400173FC400A6B6E800FFFFFF00FFFFFF00FFFF + FF00FFFFFF00A6B6E800173FC400173FC400173FC400173FC400173FC400173F + C400153DC400395BCD006C83D40000000000000000003F5194004966C8001139 + BF000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE000C35 + BE000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE001139 + BF004966C8003F5194000000000000000000000000004963B600546DC0003357 + CF00234ACB00234ACB00234ACB00D4DBF400FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D4DBF4002F54CE00234ACB00234A + CB002148CB003357CF004963B60000000000000000004963B600546DC0003357 + CF00234ACB00234ACB00234ACB002F54CE00D4DBF400FFFFFF00FFFFFF00FFFF + FF00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234A + CB002148CB003357CF004963B60000000000000000004963B600546DC0003357 + CF00234ACB00234ACB00234ACB00ABBAEB00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00ABBAEB00234ACB00234ACB00234ACB00234ACB00234A + CB002148CB003357CF004963B60000000000000000004D62A9003659CC00123B + C300173FC400173FC400173FC400173FC400173FC400173FC400173FC400173F + C400173FC400173FC400173FC400173FC400173FC400173FC400173FC400123B + C4003558CC004D62A9000000000000000000000000003D54A2005C76D0003257 + D3002E53D2002E53D2002E53CF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D6DDF5002E53D2002E53 + D2002D53D2003257D3003D54A20000000000000000003D54A2005C76D0003257 + D3002E53D2002E53D2002E53D200D6DDF500FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002E53 + D2002D53D2003257D3003D54A20000000000000000003D54A2005C76D0003257 + D3002E53D2002E53D2002E53D200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00AFBEEE002E53D2002E53D2002E53D2002E53 + D2002D53D2003257D3003D54A20000000000000000005069BE002E53CE001D45 + CA00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234A + CB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB001D45 + CA002D52CE005069BE000000000000000000000000004158A600627CD900365C + DC004569DF004569DF004569DF004569DF004569DF004569DF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF004569DF004569DF004569DF004569DF004569DF004569 + DF004468DF003A5FDC004158A60000000000000000004158A600627CD900365C + DC004569DF004467DC00B6C2EA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004569 + DF004468DF003A5FDC004158A60000000000000000004158A600627DD900365C + DC004569DF003C5BC200B4BFE200FFFFFF00FFFFFF00FFFFFF003D5CC3003854 + B200B4BFE200FFFFFF00FFFFFF00FFFFFF00B8C6F2004569DF004569DF004569 + DF004468DF003A5FDC004158A60000000000000000005774D4002850D5003459 + D700395ED800395ED800395ED800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00395ED800395ED800395ED8003459 + D700224BD4005773D300000000000000000000000000435BAB006681DE003F64 + E1005173E3005173E3005173E3005173E3005173E3005173E300FFFFFF00FFFF + FF00FFFFFF00FFFFFF005173E3005173E3005173E3005173E3005173E3005173 + E3004F71E3004368E100435BAB000000000000000000435BAB006681DE003F64 + E1005173E3004764C7004C66BA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005173 + E3004F71E3004368E100435BAB000000000000000000435BAB006681DE003F64 + E1005173E3004764C700415CB600FFFFFF00FFFFFF00BECBF5005173E3004764 + C700415CB600FFFFFF00FFFFFF00FFFFFF00FFFFFF00BCC9F4005173E3005173 + E3004F71E3004368E100435BAB0000000000000000005A77D8003057DA003E63 + DD004569DF004569DF003E5EC800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004569DF004569DF004569DF003E63 + DD002B53DA005975D700000000000000000000000000475EB4006C86E0005275 + E7005C7CE8005C7CE8005C7CE8005C7CE8005C7CE8005C7CE800FFFFFF00FFFF + FF00FFFFFF00FFFFFF005C7CE8005C7CE8005C7CE8005C7CE8005C7CE8005C7C + E800597AE8005375E700475EB4000000000000000000475EB4006C86E0005275 + E7005C7CE8005B7BE5004E69C300DCE1F100FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005C7C + E800597AE8005375E700475EB4000000000000000000475EB4006C86E0005275 + E7005C7CE8005C7CE800526ECB00BCC5E500C2CEF6005C7CE8005C7CE8005C7C + E800526ECB00BCC5E500FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0CCF5005C7C + E800597AE8005375E700475EB40000000000000000005C79DB00375EDF00486C + E3005173E3005173E3004967CD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005173E3005173E3005173E300486C + E3003058DE005B78DB000000000000000000000000007790E100687FCD006E8C + F0007491F1007491F1007491F1007491F1007491F1007491F100FFFFFF00FFFF + FF00FFFFFF00FFFFFF007491F1007491F1007491F1007491F1007491F1007491 + F1006988EF006E8CF0007790E10000000000000000007790E100687FCD006E8C + F0007491F1007491F1007491F1006078C900677DC500E0E5F300FFFFFF00FFFF + FF007491F1007491F1007491F1007491F1007491F1007491F1007491F1007491 + F1006988EF006E8CF0007790E10000000000000000007790E100687FCD006E8C + F0007491F1007491F1007491F1007491F1007491F1007491F1007491F1007491 + F1007491F100657FD3005C73C000C3CBE800FFFFFF00FFFFFF00FFFFFF007491 + F1006988EF006E8CF0007790E10000000000000000005C78D5005074EA005477 + EA006886EC006886EC006886EC006886EC006886EC006886EC006886EC006886 + EC006886EC006886EC006886EC006886EC006886EC006886EC006886EC005477 + EA004A6FE9005D78D500000000000000000000000000BFCDF6005971C3007E98 + F1007E99F500819BF500819BF500819BF500819BF500819BF500FFFFFF00FFFF + FF00FFFFFF00FFFFFF00819BF500819BF500819BF500819BF500819BF5007E99 + F5007290F4007E98F100CED8F7000000000000000000BFCDF6005971C3007E98 + F1007E99F500819BF500819BF5007E98F1006B82CD007084C700FFFFFF00FFFF + FF00819BF500819BF500819BF500819BF500819BF500819BF500819BF5007E99 + F5007290F4007E98F100CED8F7000000000000000000CED8F7005971C3007E98 + F1007D98F500819BF500819BF500819BF500819BF500819BF500819BF500819B + F500819BF500819BF5007088D600677CC400FFFFFF00FFFFFF00CFD9FA007E99 + F5007290F4007E98F100CED8F70000000000000000005D76C900597CEE005578 + EE007390F0007491F1007491F1007491F1007491F1007491F1007491F1007491 + F1007491F1007491F1007491F1007491F1007491F1007491F1007390F0005679 + EE005377EE005D77CA00000000000000000000000000000000005975D100768D + DD00829CF5008BA4F6008BA4F6008BA4F6008BA4F6008BA4F600FFFFFF00FFFF + FF00FFFFFF00FFFFFF008BA4F6008BA4F6008BA4F6008BA4F6008BA4F600829C + F500809BF500768DDD00000000000000000000000000000000005975D100768D + DD00829CF5008BA4F6008BA4F6008BA4F60089A2F3007489CD00E3E7F400FFFF + FF008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4F600829C + F500809BF500768DDD00000000000000000000000000000000005975D100758C + DD007F9AF5008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4 + F6008BA4F6008BA4F6008BA4F6007A8FD700C9D0E800D4DDFC008BA4F600819B + F500809BF500768DDD00000000000000000000000000566FC2006685EE00567A + F1007C97F400809BF500819BF500819BF500819BF500819BF500819BF500819B + F500819BF500819BF500819BF500819BF500819BF500819BF5007D98F500587B + F1006081ED00566FC2000000000000000000000000000000000000000000607A + D70095ABF50092A9F600A0B4F700A2B6F800A2B6F800A2B6F800FFFFFF00FFFF + FF00FFFFFF00FFFFFF00A2B6F800A2B6F800A2B6F800A2B6F8009FB3F70094AA + F500758AD500607AD7000000000000000000000000000000000000000000607A + D70095ABF50092A9F600A0B4F700A2B6F800A2B6F800A2B6F8008898CF00A2B6 + F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6F8009FB3F70094AA + F500758AD500607AD7000000000000000000000000000000000000000000607A + D7008CA4F4008BA4F6009DB2F700A2B6F800A2B6F800A2B6F800A2B6F800A2B6 + F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6F8009CB1F70092A9 + F400758AD500607AD700000000000000000000000000AEBEF3005B73C5006886 + EC007391F40088A2F60093AAF60096ACF70096ACF70096ACF70096ACF70096AC + F70096ACF70096ACF70096ACF70096ACF70095ACF7008AA3F6007693F4006B89 + ED005B72C500AEBEF30000000000000000000000000000000000000000000000 + 000090A2E2009CB1F7009CB1F700AEBFF800AEBFF800AEBFF8008B99C7008B99 + C7008B99C700AEBFF800AEBFF800AEBFF800AEBFF800A9BBF8009CB1F7008EA1 + E300546FCA000000000000000000000000000000000000000000000000000000 + 000090A2E2009CB1F7009CB1F700AEBFF800AEBFF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800A9BBF8009CB1F7008EA1 + E300546FCA000000000000000000000000000000000000000000000000000000 + 00008599E00094ABF60097ADF700AEBFF800AEBFF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800A5B8F80095ACF7008CA0 + E100546FCA000000000000000000000000000000000000000000607AD600647D + D0006384F3007F9AF50093AAF600A2B6F800A2B6F800A2B6F800A2B6F800A2B6 + F800A2B6F800A2B6F800A2B6F800A2B6F80095ACF700829CF5006686F300657E + D200607AD6000000000000000000000000000000000000000000000000000000 + 00005870C70092A5E300A3B6F700ACBDF800B5C5F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F900ACBDF800A2B6F800A1B5F7005870 + C700BFCDF6000000000000000000000000000000000000000000000000000000 + 00005870C70092A5E300A3B6F700ACBDF800B5C5F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F900ACBDF800A2B6F800A1B5F7005870 + C700BFCDF6000000000000000000000000000000000000000000000000000000 + 0000576FC80090A3E300A0B4F600ACBDF800B5C5F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F900A9BBF8009CB1F70098ADF5005870 + C700BFCDF600000000000000000000000000000000000000000000000000536F + CA006989F3006A8AF300849EF500A8BAF800ADBEF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800ADBEF800A9BBF80087A1F5006D8CF3006B8AF300536F + CA00000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000627DD900879BE300A0B3F500A3B6F800A4B7F8009FB3 + F7009FB3F700A2B6F800A3B6F800A0B4F700879BE300677ECC00627DD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000627DD900879BE300A0B3F500A3B6F800A4B7F8009FB3 + F7009FB3F700A2B6F800A3B6F800A0B4F700879BE300677ECC00627DD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000627DD900879BE3009FB3F500A3B6F800A4B7F8009FB3 + F7009FB3F700A2B6F800A3B6F800A0B4F700859BE200667DCC00627DD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005570CB006780D400718EEE00819BF50090A8F6009FB3F700AFC0F900B1C1 + F900AFC0F900A1B5F70093AAF600849EF5007490ED006981D4005570CB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D500637BCC007C91DA0092A8F00091A7 + F10092A8F10092A8F000879DE7007B90D9005E79D500AFBFF300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D500637BCC007C91DA0092A8F00091A7 + F10092A8F10092A8F000879DE7007B90D9005E79D500AFBFF300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D500637BCC007C91DA0092A8F00091A7 + F10092A8F10092A8F000869CE7007B90D9005E79D500AFBFF300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000627DD8006179CA007A95F1007D98F500849EF5008BA4F6008EA6 + F6008BA4F60086A0F5007F9AF5007D97F1006179CA00627DD800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000AFBFF3005E77CA006881D4006B85E2007691ED007792 + ED007691ED006C86E2006881D4005E77CA00AFBFF30000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000253671003E4D + 8200495991008699DD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000002737730027377300B6C5F0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000A3B3EA002F3E73003F4F840044579700495DA100495D + A100495DA100445797003F4F86002F3F7400A3B3EA0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000008197DC0044579500405B + B8005B73C4005A679400293D8500B9C6F100000000000000000000000000293D + 8500293D8500B9C6F10000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000273770003F519200283B7A000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004159A70035447A00455EAF002F4BAB001E3DA400032699000326 + 9900032699001E3DA4002F4BAB00455EAF0035447A004159A700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008197DD002A3C7B003755BB003E5B + BD008798D100465BA000465BA0002A3E83000000000000000000BAC6F200465B + A000465BA0002A3E830000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000002A3C7800435EB90040549800B9C6F10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00002E42880042538E004760B1000B2EA10003279F0003279F0003279F000327 + 9F0003279F0003279F0003279F000B2EA1004760B10042538E002E4288000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000354787004963B7002B4EC0007188D4006273 + B0004B64B500123DCC00123DCC004A6BD80032499A0032499A004B64B500123D + CC00123DCC004A6BD800384FA200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000304486004260C5001E42BA00445AA50032468E00BAC7F2000000 + 0000000000000000000000000000000000000000000000000000000000003147 + 8F003654B900082DA9000429A8000429A8000429A8000429A8000429A8000429 + A8000429A8000429A8000429A8000429A8000429A800082DA9003654B9003147 + 8F00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005169BE004A64BA002A4EC400042EB9007289D7006677 + B8004F69C0001240DA000535D8001240DA004E69BF004E69BF004B6EE3000535 + D8001240DA004B6EE3003D55AC00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000034488E004363CC00143BBF003F5FCB00455DAC00354A95000000 + 0000000000000000000000000000000000000000000000000000475FB1004658 + 9A00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00082EAE004658 + 9A00475FB1000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000546CC000384C90002B50C800042FBE00042FBE002B4FC700869A + DC005E74BB004C71ED001344E7000539E600476DED00476DED001344E7001344 + E7004C71ED00536DCA00BECCF5000000000000000000374C9500374C9500374C + 9500374C9500374C9500374C9500374C9500374C9500374C9500374C9500374C + 9500374C9500374C95004364D300143DC700103AC6003E60D1004760B300BDC9 + F4000000000000000000000000000000000000000000A8B7ED003E508E004964 + BF00042CB100042CB100042CB100042CB100042CB100042CB100042CB100042C + B100042CB100042CB100042CB100042CB100042CB100042CB100042CB1004964 + BF003E508E00A8B7ED0000000000000000000000000026356E0026356E002635 + 6E0026356E0026356E0026356E0026356E0026356E0026356E0026356E002635 + 6E0026356E0026356E0026356E0026356E0026356E0026356E0026356E002635 + 6E0026356E0026356E0031458E00000000000000000000000000000000000000 + 0000394E97004D68C5002C52D1000431C7000431C7000431C6000431C6000431 + C5003358D0006478C2005C76D2005378F1001748EC001748EC001748EC005C76 + D200435CB600BECCF5000000000000000000000000004D6DD6001441D8001441 + D8001441D8001441D8001441D8001441D8001441D8001441D8001441D8001441 + D8001441D8001441D8001441D8000838D5000535D5000535D500103ED7004C67 + C1003F57AA00BECCF5000000000000000000000000003F5194004966C8001139 + BF000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE00FFFFFF00FFFF + FF00FFFFFF000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE001139 + BF004966C8003F519400000000000000000000000000435FBC00435FBC00435F + BC00435FBC00435FBC00435FBC00435FBC00435FBC00435FBC00435FBC00435F + BC00435FBC00435FBC00435FBC00435FBC00435FBC00435FBC00435FBC00435F + BC00435FBC00435FBC002C3E7B0000000000000000000000000000000000BCC9 + F400536BBD00385DD7000C39CE000E3ACE000E3ACD000E3ACD000E3ACC000E3A + CC003B5FD600667BC4006981D5006787F300315DEF00315DEF00315DEF006981 + D500455FB800BFCCF5000000000000000000000000004F70DD000637DD000738 + DD000738DD000738DD000738DD000738DD000738DD000738DD000738DD000738 + DD000738DD000738DD000738DD000738DD000738DD000738DD000738DD004167 + E6004F6AC700435BB1000000000000000000000000004D62A9003659CC00123B + C300173FC400173FC400173FC400173FC400173FC400173FC400FFFFFF00FFFF + FF00FFFFFF00173FC400173FC400173FC400173FC400173FC400173FC400123B + C4003558CC004D62A9000000000000000000000000004361C700042CB400042C + B400042CB400042CB400042CB400042CB400042CB400042CB400042CB400042C + B400042CB400042CB400042CB400042CB400042CB400042CB400042CB400042C + B400042CB400042CB40032468800000000000000000000000000000000003E55 + AB004266DD001A45D6001944D5001D47D5001C46D4001C46D4001D47D4004669 + DB0092A4E6006F87D6007F9AF500567AF2004C72F1004C72F1004C72F1007F9A + F5006F87D6004761BA000000000000000000000000005677E4001848E7001D4C + E8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4C + E8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8002552 + E9004B70ED00536FCE00BFCCF50000000000000000005069BE002E53CE001D45 + CA00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00FFFFFF00FFFF + FF00FFFFFF00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB001D45 + CA002D52CE005069BE000000000000000000000000004568DE000D3BD5000E3C + D5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3C + D5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3C + D5000E3CD5000C3AD5003F57A5000000000000000000ABBCF100435AA9005B78 + D9002E57E000345CE100385FE200385FE100385FE100385FE0008FA5EE00778B + CE007F93DA0088A2F600819BF50087A1F500899BDD00899BDD00A5B8F800819B + F50088A2F600A5B8F8004E68C30000000000000000006785EA00496FF0005479 + F1005579F1005579F1005579F1005579F1005579F1005579F1005579F1005579 + F1005579F1005579F1005579F1005579F1005579F1005579F1005579F1005176 + F1004B71F1005A7DF2004A64BD0000000000000000005774D4002850D5003459 + D700395ED800395ED800395ED800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00395ED800395ED800395ED8003459 + D700224BD4005773D3000000000000000000000000004D72EA002652E6002A56 + E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56 + E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56 + E7002955E700224FE500465FB40000000000000000004E68C3007B8DCC006383 + EC003E65E6004469E700456AE700466BE700456AE600456AE60096ABF000798C + D0008699DD00A1B5F700A1B5F700B7C7F9006E82CB006E82CB00899CDE00A1B5 + F700A1B5F700B7C7F9004F6AC50000000000000000006E8AEA005E80F200708E + F400718FF400718FF400718FF400718FF400718FF400718FF400718FF400718F + F400718FF400718FF400718FF400718FF400718FF400718FF400718FF4006989 + F3006E8DF300607AD600BFCCF50000000000000000005A77D8003057DA003E63 + DD004569DF004569DF003E5EC800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004569DF004569DF004569DF003E63 + DD002B53DA005975D7000000000000000000000000005579F1003F68F000456C + F000456CF000456CF000456CF000456CF000456CF000456CF000456CF000456C + F000456CF000456CF000456CF000456CF000456CF000456CF000456CF000456C + F000446BF0003761EF004C66BD000000000000000000475FB200B8C5EF005175 + ED004E73EB005376EC005376EC005376EC005477EC005376EB006F8CEE00A9B9 + F1006F84CD00C0CEFA00C0CEFA008FA0DF00A9B9F000A9B9F0006F84CD00C0CE + FA00C0CEFA008FA0DF00BFCDF6000000000000000000738EEB006D8CF30087A1 + F5008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5 + F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008BA4F6007F9A + F500657FD7004C66C0000000000000000000000000005C79DB00375EDF00486C + E3005173E3005173E3004967CD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005173E3005173E3005173E300486C + E3003058DE005B78DB000000000000000000000000005D80F2006586F3007491 + F4007B97F4007B97F4007B97F4007B97F4007B97F4007B97F4007B97F4007B97 + F4007B97F4007B97F4007B97F4007B97F4007B97F4007B97F4007B97F4007995 + F4006F8DF300597CF200516BC20000000000000000008095DE00A9BBF800577B + F2006F8DF3006F8DF3006F8DF3006F8DF3006F8DF3006F8DF3006F8DF300708E + F4008AA3F5007F91D3007F91D300B4C3F4006F8DF2006F8DF2008AA3F4007D91 + D2007D8FD300AFBFF3006982D90000000000000000006985E300738EEB007C96 + EC00829BED00829BED00829BED00829BED00829BED00829BED00829BED00829B + ED00839CED0096ABEF00B8C7F900C5D1FA00C1CEFA00ACBDF8008CA5F6004F69 + C200BFCDF600000000000000000000000000000000005C78D5005074EA005477 + EA006886EC006886EC006886EC006886EC006886EC006886EC00FFFFFF00FFFF + FF00FFFFFF006886EC006886EC006886EC006886EC006886EC006886EC005477 + EA004A6FE9005D78D5000000000000000000000000005E7DEA00718DEC007792 + ED007A95EC007A95EC007A95EC007A95EC007A95EC007A95EC007A95EC007A95 + EC007A95EC007A95EC007A95EC007A95EC007A95EC007A95EC007A95EC007993 + ED007590EC006D8AEC00546EC500000000000000000099ACEE00B1C1F9007290 + F400839EF5007F9AF5007D98F5007D98F5007D98F5007D98F5007D98F5007D98 + F5007D98F500BBCAFA00BBCAFA0097ADF7007F9AF5007D98F5007D98F500B0C0 + F800A5B8F7007995F400536ECA000000000000000000506AC100506AC100506A + C100506AC100506AC100506AC100506AC100506AC100506AC100506AC100506A + C100506AC100506AC1009BB0F700BDCBFA00B5C5F90096ACF7006882D800BFCD + F60000000000000000000000000000000000000000005D76C900597CEE005578 + EE007390F0007491F1007491F1007491F1007491F1007491F100FFFFFF00FFFF + FF00FFFFFF007491F1007491F1007491F1007491F1007491F1007390F0005679 + EE005377EE005D77CA000000000000000000000000005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005A75D1000000000000000000A4B4EE00D3DCFB0087A1 + F50097ADF70092A9F6008EA6F6008AA3F6008AA3F6008AA3F6008AA3F6008AA3 + F6008AA3F60097ADF70096ACF70094ABF6008FA7F6008DA5F6008BA4F6007F9A + F5006C8BF3005B7EF2004760B900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000516BC20088A2F600A3B6F80098AEF7006F87DA00516BC4000000 + 00000000000000000000000000000000000000000000566FC2006685EE00567A + F1007C97F400809BF500819BF500819BF500819BF500819BF500FFFFFF00FFFF + FF00FFFFFF00819BF500819BF500819BF500819BF500819BF5007D98F500587B + F1006081ED00566FC20000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000096AAEC00DFE6FC00D2DB + FB00B5C5F900B7C7F900B4C4F900ADBEF800AABCF800A6B9F800A0B4F700B3C3 + F800DCE3F900DDE4FC00B6C6F900B3C3F900AFC0F900AEBFF800ACBDF80097AD + F7007F9AF5006787F3004861B800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000536DC4006A8AF3007693F400536DC600BFCDF600000000000000 + 00000000000000000000000000000000000000000000AEBEF3005B73C5006886 + EC007391F40088A2F60093AAF60096ACF70096ACF70096ACF700798AC500798A + C5007F92D10096ACF70096ACF70096ACF70095ACF7008AA3F6007693F4006B89 + ED005B72C500AEBEF30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000798FD900DCE3FC00E6EB + FD00BECCFA00C1CEFA00C1CEFA00BBCAFA00B4C4F900ACBDF800A4B7F800A4B4 + EA0093A3DB00E7ECFD00D9E1FC00BBCAFA00BCCAFA00BBCAFA00B6C6F9009DB2 + F700839EF5006F8DF300516AC700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000556FC600577BF200657FDB00BFCDF60000000000000000000000 + 0000000000000000000000000000000000000000000000000000607AD600647D + D0006384F3007F9AF50093AAF600A2B6F800A2B6F800A2B6F800A2B6F800A2B6 + F800A2B6F800A2B6F800A2B6F800A2B6F80095ACF700829CF5006686F300657E + D200607AD6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000637AC700B8C7F800E6EB + FD00DDE4FC00C6D2FA00C3D0FA00BBCAFA00B3C3F900A5B8F800A7B8F3006177 + C4005068BE00E6ECFD00E7ECFD00E0E6FC00BCCAFA00BBCAFA00B6C6F9009BB0 + F700819BF5007B97F400657FD800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005670C7005B78DA005670C8000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000536F + CA006989F3006A8AF300849EF500A8BAF800ADBEF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800ADBEF800A9BBF80087A1F5006D8CF3006B8AF300536F + CA00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCDF600516AC3008699 + DD00DBE2FC00E7ECFD00E6ECFD00E4E9FD00D0DAFB00A6B6EB00536ECA000000 + 0000000000005C73C400A3B3EB00CBD6F900E2E8FD00E0E6FC00DEE5FC00C3D0 + FA008AA0EE006177C80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005570CB006780D400718EEE00819BF50090A8F6009FB3F700AFC0F900B1C1 + F900AFC0F900A1B5F70093AAF600849EF5007490ED006981D4005570CB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF600516B + C7008499DE009CAEEF00A7B8F2008BA0E7007489D100526AC000000000000000 + 000000000000839AE7004F69C2006D82CD0091A7EE009FB2F10094A9EF006C85 + D9005870C3005E79D30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000627DD8006179CA007A95F1007D98F500849EF5008BA4F6008EA6 + F6008BA4F60086A0F5007F9AF5007D97F1006179CA00627DD800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005975D1005069C0004F69C000526CC7006680DA00D3DBF800000000000000 + 0000000000000000000000000000839AE7004F68BF004F68BF004F68BF005E79 + D5009FB0EF000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000AFBFF3005E77CA006881D4006B85E2007691ED007792 + ED007691ED006C86E2006881D4005E77CA00AFBFF30000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000008D8B8B00918F8D00918F8D00918F8D00918F8D00918F + 8D00918F8D00918F8D00918F8D00918F8D00918F8D008D8B8B00000000000000 + 00000000000000000000000000000000000000000000808080007D7D7D009D9D + 9D00C5C5C500C5C5C500C5C5C500C5C5C500C7C7C700C7C7C700C8C8C800CECE + CE00CFCFCF000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000082807F00F7F7F700B2B2B200B2B2B200B2B2B200B2B2 + B200B2B2B200B2B2B200B2B2B200B2B2B200F7F7F70082807F00000000000000 + 00000000000000000000000000000000000000000000B0B0B000A6A6A600F9F8 + F800838382009E9E9E0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000273465007287CC005971 + C3005971C3005971C3005971C3005971C3005971C3005971C3005971C3005971 + C3005971C3005971C3005971C3005971C3002734650000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000030458D0025356E004B494900717170007171700071717000717170007171 + 700071717000717170007171700071717000717170004B49490025356E000000 + 000000000000000000000000000000000000000000000000000086868600DCDC + DC00ACABA9008988870080808000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002A3A73006B86E1001639 + AC001639AC001639AC001639AC001639AC001639AC001639AC001639AC001639 + AC001639AC001639AC001639AC002446B7002A3A730000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000029386E00283564004D4C4B00767675006261600062616000626160006261 + 600062616000626160006261600062616000767675004D4C4B0028356400768C + CF00000000000000000000000000000000000000000000000000000000008F8F + 8F00DCDCDB00A5A4A2008A898800D3D3D3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002C3E7B006984E1000328 + A4000328A4000328A4000328A4000328A4000328A4000328A4000328A4000328 + A4000328A4000328A4000328A400163AB2002C3E7B0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000344892004358A100425F + BF00425FBF0041528C0076757500ACACAC00ACACAC00ACACAC00ACACAC00ACAC + AC00ACACAC00ACACAC00ACACAC00ACACAC00ACACAC007675750041528C00425F + BF00425FBF004358A10000000000000000000000000000000000000000000000 + 0000CECECE00EBEBEA00C0BFBE008A8988007E7E7E00D3D3D300000000000000 + 0000000000000000000000000000B6C3F0003E55A10000000000000000000000 + 0000000000000000000000000000000000000000000033458900738DE7000A32 + B8000A32B800375BD2006B86E0006480DE00163CBC000A32B8000A32B8000A32 + B8000A32B8000A32B8000A32B8001C42C2003345890000000000000000003449 + 9100334589005E76C90000000000000000000000000037477F00CDD6F6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000324588004260C5001036 + B600042CB200021A6B00021A6B00021A6B00021A6B00021A6B00021A6B00021A + 6B00021A6B00021A6B00021A6B00021A6B00021A6B00021A6B00021A6B00042C + B2001036B6004260C50000000000000000000000000000000000000000000000 + 00007E7E7E00CECECE00EBEBEA00A5A4A2008A8988007E7E7E00000000000000 + 00000000000000000000B6C3F000273872002E417F0000000000000000000000 + 00000000000000000000000000000000000000000000364A91007E95E3002349 + C8002C51CF00607BD80044589B007A8CCE006884E200143CC300113AC200113A + C200113AC200113AC200113AC2001E45C800364A910000000000869BE100627C + D600607CDA004D62A4000000000000000000000000006D789F004B62B1000000 + 000000000000000000000000000000000000000000000000000000000000293C + 7A00283871002838710028387100283871002838710028387100283871002838 + 71002838710028387100293C7A000000000000000000354A8F004362CB00042E + B900042EB900042EB900042EB900042EB900042EB900042EB900042EB900042E + B900042EB900042EB900042EB900042EB900042EB900042EB90003269C000325 + 940003269C004362CB0000000000000000000000000000000000000000000000 + 0000D3D3D3007E7E7E00CECECE00C0BFBE00A5A4A2008A898800D3D3D3000000 + 000000000000B6C5F100283873006472A000364E960000000000000000000000 + 000000000000000000000000000000000000000000005068BE00788DD3005B7A + E0005375E400586DB4006D85D6004559A0007F96E1004063D8001841CA001841 + CA001841CA001841CA001841CA001841CA0042579E00000000003D55A8003B60 + DB002F55D600607EE200BDC9F40000000000000000007D89B10035447D00A3B4 + EB00000000000000000000000000000000000000000000000000000000003447 + 8400949DBE00435DB600435DB600435EB6004761B7004963B8004A64B8004E67 + BB004E67BB004C66BA002B3C760000000000000000003C529D004C6CD8002048 + CE00234ACF00234ACF00234ACF00234ACF00234ACF00234ACF00234ACF00234A + CF00234ACF00234ACF00234ACF00234ACF00234ACF00234ACF002243B2002343 + AC001F41B1004B6BD80000000000000000000000000000000000000000000000 + 00000000000000000000D3D3D300CECECE00EBEBEA00C0BFBE00706F6E005C5C + 5C009DADE2006979AE008192CC007E8EC7006077C40000000000000000000000 + 00000000000000000000000000000000000000000000000000005D76CF006073 + BB00798ED200556FC70000000000BDCBF400576CB300859EF0002751DE002751 + DE002751DE002751DE002751DE002751DE00667CCB004058A8006B82D0002751 + DE002751DE003D63E3004E68C0000000000000000000707DAA004B66C0004959 + 9400000000000000000000000000000000000000000000000000000000000000 + 0000BAC6F20094A0C8007A8ED1002647B6002C4CB8003150B9003755BB00415E + BF00435FBF003856BC003143830000000000000000004157A4005373DE00385D + D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61 + D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61 + D900365BD8005272DE0000000000000000000000000000000000000000000000 + 00000000000000000000000000007E7E7E00CECECE00EBEBEA00737271006367 + 74003D5093008195D7005871C3007A8CCA00A2B3E90000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000738B + DD004760BA00BECCF5000000000000000000445CB0008AA1EC002F59E6002F59 + E6002F59E6002F59E6002F59E6002F59E6006A88EE00748DE1006A88EE002F59 + E6002F59E6003C63E800516CC700000000000000000054639C006980CC004964 + BF00546CC0000000000000000000000000000000000000000000000000000000 + 0000000000003C5094006E7FBC00516CC9003858C1003E5CC2004462C5004F6B + C800536ECA004764C600344789000000000000000000445BAB005B7BE4005072 + E2005676E3005676E3005676E3005676E3005676E3005676E3005676E3005676 + E3005676E3005676E3005676E3005676E3005676E3005676E3005676E3005676 + E3004C6FE1005979E40000000000000000000000000000000000000000000000 + 0000000000000000000000000000D3D3D3007E7E7E00A7A7A70081859400455B + A6007084C7005A75D2004F6AC7008496D300B7C5F10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005570CC008EA4EF00355FED00355F + ED00355FED00355FED00355FED00355FED003E67EF00456CEF003962ED00355F + ED00355FED00436AEF004761BA0000000000000000003D5196008596D0003F5F + C80040539500556EC30000000000000000000000000000000000000000000000 + 000000000000384D9600586FBA00516DCD004563C9004C69CC00516DCD005C76 + D0005F7AD100536FCD00374C8F0000000000000000004C65BA006A89EF007E99 + F100A4B6F500A8BAF500A8BAF500A8BAF500A8BAF500A8BAF500A8BAF500A8BA + F500A8BAF500A8BAF500A8BAF500A8BAF500A8BAF500A8BAF500A8BAF50090A7 + F3007A95F1006786EF0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2B1E600788ED9008CA4 + F5006B8AF0005071DF003257D000123ABF004E5F9B00465CAC00000000000000 + 00000000000000000000000000000000000000000000000000006D87DD00637A + C7007087D8005D77D30000000000D2DBF8005B72C10089A2F300456CF000456C + F000456CF000456CF000456CF000456CF0007F98EA00647AC40090A3E400456C + F000456CF000587CF2005671CE000000000000000000B3C0EF006475B0007089 + DA002D52CE004E6CCF004F64AF005E77CC009CAEED0000000000000000009CAE + ED004C65BC005E78D1005C78D8005371D700607CD9006681DB006A85DC00758E + DF007A92E0006883DB003E539D000000000000000000506AC1006F8DF30090A7 + F5008C90A3006C6A6A006C6A6A006C6A6A006C6A6A006C6A6A006C6A6A006C6A + 6A006C6A6A006C6A6A006C6A6A006C6A6A006C6A6A006C6A6A006C6A6A00B6C6 + F8008AA3F5006B8AF30000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000BFCCF5004862BC0095ACF7007C97 + F400718FF4003D63E3000534D1000431C600556EC200475890004F67B7000000 + 00000000000000000000000000000000000000000000AEBEF2005B72C200869F + F0007B95EF00536CBF00D2DBF8007990E2007C8FD4007995F4004C72F1004C72 + F1004C72F1004C72F1004C72F1004C72F1006C83CD005771CE00687DC7005277 + F1004C72F1006C8BF3007990E2000000000000000000000000004960AE0095A5 + D900113DCE002F55D4004B6CDA004D64B200455BA5004359A6004258A500485E + A6005269B9006480DE005A78DD00627EDE006E88E100728CE1007790E3008299 + E400869CE600718BE1004158A3000000000000000000526CC3006C8BF3009CB1 + F700959392009593920095939200959392009593920095939200959392009593 + 920095939200959392009593920095939200959392009593920095939200C6D2 + FA0092A9F6006787F30000000000000000000000000000000000000000000000 + 0000000000000000000000000000BFCCF5004963BD007E92DA008AA3F600859F + F5007E99F5002250E9000F3FDD000534D1002146C400556FC20042538B000000 + 00000000000000000000000000000000000000000000657FD9008195DD006F8D + F3007794F400738AD5005D78D300556DC10089A0EC006686F3005277F1005277 + F1005277F1005277F1005277F1005277F1005E75C300D2DBF8004F69C5007B97 + F4005E80F200879FEF00D2DBF800000000000000000000000000889CE2008090 + C5001F49D600244DD7003057D9005A79E0005A78DE005976D6005C78D600617F + E2006B86E300617FE2006B87E400708BE5007993E7007F97E800849BE80092A7 + EB0090A5EA007690E500455CAA000000000000000000000000005974CF006782 + DB009C9A9900A09D9C0096939200969392009693920096939200969392009693 + 9200969392009693920096939200969392009693920096939200A09D9C007A94 + ED006681DB005974CF0000000000000000000000000000000000000000000000 + 00000000000000000000BFCDF500889BDD00AFC0F900B4C4F900D1DBFB00B6C6 + F9006A8AF300476EF000345FEF002250E9000534D1000431C6003356C900394C + 8E00B9C6F200000000000000000000000000000000004E68BF008FA6F3005B7E + F2006183F2007693F40094A9F300829CF5006485F3006183F2006183F2006183 + F2006183F2006183F2006183F2006A8AF3004E68BF0000000000000000004F68 + C1004E68BF006F89DF00000000000000000000000000000000000000000098AB + EA0098ABED004066E600466BE7005376E900587AE9005D7DEA006987EC006E8B + EC00738FEC007E98EE00839CEF0089A1EF0094A9F10099ADF10098ADF100CCD5 + F400B2C2F5006886EB004C65B900000000000000000000000000000000005A75 + D1006B6968009D9A9900615F5F00BFBFBE00BCBCBB00BAB9B800B4B3B200B1B0 + AE00ADACAB00A6A5A400A2A1A0009F9D9C0097959300615F5F009D9A99005771 + C8005A75D1000000000000000000000000000000000000000000000000000000 + 000000000000000000004F6BC600B9C5EF00ABB9E9008E9FD9006F83CB0096A6 + DD00B2C2F8005579F100466DF000345FEF001040DD000534D1000935C8005B6F + B2003A4D8F00CED7F7000000000000000000000000004F69C0008CA5F6006082 + F2006989F3006989F3006989F3006989F3006989F3006989F3006989F3006989 + F3006989F3006989F3006989F3006C8BF3004F69C00000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2B0E0007E99F0004E73EC005F80EE006686EF006B89EF007692F0007B96 + F100809AF1008BA3F30091A8F30096ACF400A1B4F500A0B3F500A5B7F500677D + C800ABB9E8009BB0F4005069BF00000000000000000000000000000000000000 + 000074727100A3A09F0067656500E2E1E100DFDFDE00DDDCDC00D7D7D600D5D4 + D300D1D1D000CBCAC900C8C7C600C4C3C200BCBBBA0067656500A3A09F000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000546FCB005975D1006580D9007990E300BFCDF600546F + CB008FA0DA007491F4005479F100466DF0002250E9001040DE000534D1004161 + CC00596BAC0037488700314075003C539C0000000000506AC1008AA3F6006A8A + F3007D98F5007E99F5007B97F400708EF400708EF400708EF400708EF400708E + F400708EF4007A96F4007995F4007491F400506AC10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005A74C900B4C1EC00829DF4006C8BF3007391F4007995F400829DF40087A1 + F5008DA5F50098AEF6009DB2F600A3B6F700A1B5F700A5B8F700BECBF600617C + D8005A74C900A4B4E800546EC500000000000000000000000000000000000000 + 000085838200AFADAB0073717000F2F2F200F1F1F000F0EFEF00EDECEC00EBEB + EA00E9E9E900E5E5E500E3E3E200E1E0E000DCDBDB0073717000AFADAB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000007488CF00B1BFF000829DF500466DF000345FEF002250E900042D + B600082BA100788AC60040539300B8C5F200000000005B76D300526CC300526C + C300526CC300526CC300526CC3007388CF00A2B2E700B3C3F900A0B4F6008FA1 + E0006D82CC00526CC300526CC300526CC300607BD70000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000093A8ED006D82CE00B1C1F8008AA3F600829DF5009AAFF700A1B5 + F700A6B9F800ACBDF800A8BAF800AFC0F900B5C4F4007E93D6005A76D2000000 + 000000000000C1CDF6005771C900000000000000000000000000000000000000 + 00008E8C8A00B5B3B10079777600F6F6F600F5F5F500F5F5F400F3F3F300F2F2 + F200F1F0F000EEEEEE00ECECEC00EBEAEA00E7E7E60079777600B5B3B1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000007991E400687DCA00B3C1F1005277F100466DF000345FEF001035 + B200788CCF009CA8CF00BAC7F300000000000000000000000000000000000000 + 0000000000000000000000000000718AE0006178C900B5C4F500A0B3F300546D + C40092A7EC000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BBC9F50095A6DE00C2CEF300B9C8F900A8BAF800A4B7 + F800A7B9F800B6C6F900C2CFFA00C1CEF800647CCD00647EDA00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000908F8E00959391007F7D7C00F7F7F700F7F7F700F7F7F700F6F6F600F6F6 + F600F5F5F500F4F4F400F3F3F200F2F1F100EFEFEF007F7D7C00959391000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000092A7EC006179CA009CB1F7004F74F100385CD2008196 + DA009FACD6004F67B50000000000000000000000000000000000000000000000 + 000000000000000000009FB1F0006F84CF00A2B2E900A9BBF800AABCF7008C9F + DF00647ACA009FB1F00000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000007C93E400667FCC008799D900BDC9F100C0CD + F600C1CDF600A5B5EA008497DB00657DCD009DB1EF0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000008B898800EBEBEA00EDECEC00EEEEED00F1F1F100F3F2 + F200F4F4F400F6F6F600F7F7F700F7F7F700F7F7F7008B898800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005670C700647ED2008A9DDC005B74 + CA00C1CDF6000000000000000000000000000000000000000000000000000000 + 0000000000005770C800A1B3EF009BB0F7009BB0F7009BB0F7009BB0F7009BB0 + F7009BB0F7008DA2EB005770C800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000918F8D00E4E4E300E6E5E400E7E7E600EAEAE900ECEB + EB00EDEDEC00F0EFEF00F1F1F100F3F2F200F5F5F500918F8D00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005771C8008EA0DF00A5B2DD00C1CD + F600000000000000000000000000000000000000000000000000000000000000 + 0000000000005871C800A5B7F300A3B6F800A3B6F800A3B6F800A3B6F800A3B6 + F800A3B6F80095AAF1005871C800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000908F8E00959391009593910095939100959391009593 + 91009593910095939100959391009593910095939100908F8E00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005771C800A3B0DE005C75CB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000647EDB008D9FDF00B4C4F900ADBEF800A8BAF800A6B9F800AABC + F800ACBDF800879ADC006B85DE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000006B85DE005A74CF005872C9005872C9005B76 + D2006B85DE000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D3D3D300C2C2C200C0C0 + C000263159002631590026315900263159002631590026315900263159002631 + 5900263159002631590026315900263159002631590026315900263159002631 + 59002E3D7100C0C0C000D6D6D600000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005065A9005065A9005065A9005065A9005065A9005065A9005065A9005065 + A9005065A9005065A9005065A9005065A9005065A9005065A9005065A9005065 + A9002736660000000000000000000000000000000000C4C4C4004E63A6003D51 + 93003D5193003D5193003D5193003D5193003D5193003D5193003D5193003D51 + 93003D5193003D5193003D5193003D5193003D5193003D5193003D5193003D51 + 93003D5193004E63A600DBDBDB00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000002F448B002E3F7B002A3B78002A3B78002A3B + 78002A3B78002A3B78002A3B78002A3B78002A3B78002A3B78002A3B78002A3B + 78002A3B7800354B970000000000000000000000000000000000000000000000 + 00004F69BF000328A300FFFFFF00E5E9F600E5E9F600E5E9F600E5E9F600E5E9 + F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F6004F69 + BF002C3D7B0000000000000000000000000000000000000000003D57AE00435D + B30007299A0007299A0007299A0007299A0007299A0007299A0007299A000729 + 9A0007299A0007299A0007299A0007299A0007299A0007299A0007299A000628 + 9A00435DB3003D57AE0000000000000000000000000000000000000000000000 + 00005972C900374D9E0034499400425AAE00768DD80000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BAC6F2004F609F002C3D7B004E66B700506AC400506A + C400506AC400506AC400506AC400506AC400506AC400506AC400506AC400506A + C400506AC4002D3F7F0000000000000000000000000000000000000000000000 + 0000506AC400042AAA00FFFFFF00E6EAF700E6EAF700E6EAF700E6EAF700E6EA + F700E6EAF700E6EAF700E6EAF700E6EAF700E6EAF700E6EAF700E6EAF700506A + C4002F40800000000000000000000000000000000000000000003E58AF004660 + B9000F32A4001032A4001032A4001032A4001032A4001032A4001032A4001032 + A4001032A4001032A4001032A4001032A4001032A4001032A4001032A4000D30 + A3004661B9003E58AF0000000000000000000000000000000000000000005C75 + CF00536CC2005B77D4005874D200566EC1004C60A100354A9300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BAC6F20031458D00526ECE002F4183000328A000042CB200042C + B200042CB200042CB200042CB200042CB200042CB200042CB200042CB200042C + B200506CC9003043850000000000000000000000000000000000000000000000 + 0000506BC800042CB100FFFFFF009397A5009397A5009397A5009397A5009397 + A5009397A5009397A5009397A5009397A5009397A500E6EAF800E6EAF800506B + C8003245860000000000000000000000000000000000000000003F59B0004863 + BF00173AAE0015359F0015349C0015349C0015349C0015349C0015349C001534 + 9C0015349C0015349C0015349C0015349C0015349C0015349C0015359F001538 + AE004A65C0003F59B000000000000000000000000000000000005E79D3005269 + B900345CE4001744DB000434D200254CCF004666D300586DB6008499DF000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000374D9A002C459A000732C1006582E30035498F00042BAE000430C2000430 + C2000430C2000430C2000430C2000430C2000430C2000430C2000430C2000430 + C2004F6DD300364B930000000000000000000000000000000000000000000000 + 0000506ED200042FBF00FFFFFF00E6EBF800E6EBF800E6EBF800E6EBF800E6EB + F800E6EBF800E6EBF800E6EBF800E6EBF800E6EBF800E6EBF800E6EBF800506E + D200374B92000000000000000000000000000000000000000000415BB2004D6A + CA002649BF002343AC00E0DFDE00E0DFDE00E0DFDE00E0DFDE00E0DFDE00E0DF + DE00E0DFDE00E0DFDE00E0DFDE00E0DFDE00E0DFDE00E0DFDE002343AC002246 + BE00506CCB00415BB200000000000000000000000000607AD1006881D5005176 + F1001344E8000639E3000537DD000434D2000433CE000935C900586EB700374A + 8D00849BE0000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000BDC9 + F4002E489F000833C5000D3AD0007791EB00374C9700042DB6000432CA000432 + CA000432CA000432CA000432CA000432CA000432CA000432CA000432CA000432 + CA004F6FD9003A4F990000000000000000000000000000000000000000000000 + 00004F6ED6000431C500FFFFFF009398A6009398A6009398A6009398A6009398 + A6009398A6009398A6009398A6009398A6009398A600E6EBF900E6EBF9004F6E + D6003A4F99000000000000000000000000000000000000000000425CB3004F6D + D0002E52C8002949B300DCDBDA00F3F4F800F3F4F800F3F4F800F3F4F800F3F4 + F800F3F4F800F3F4F800F3F4F800F3F4F800DCDBDA00DCDBDA002949B300284D + C500526FD100425CB300000000000000000000000000455EB7007C96EA004D72 + F1002856EE001445E8000639E3000535D8000434D2000433CE004162D100596E + B700384A8E000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000425A + AE005271D9005676E1006583E800859EEF003B509D00042EBC000434D1000434 + D1000434D1000434D1000434D1000434D1000434D1000434D1000434D1000434 + D1004F70DF003C53A10000000000000000000000000000000000000000000000 + 00004F6FDB000432CD00FFFFFF00E5EAF900E5EAF900E5EAF900E5EAF900E5EA + F900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF9004F6F + DB003D539F000000000000000000000000000000000000000000435DB400516F + D5003559CF003050BA00D8D7D600F3F4F800F3F4F800F3F4F800F3F4F800F3F4 + F800F3F4F800F3F4F800F3F4F800F3F4F700D8D7D600D8D7D6003050BA002F54 + CD005573D700435DB4000000000000000000000000004A62B600859DEE005176 + F1003C65EF002856EE001445E8000537DD000535D8000434D2000935C9004162 + D1005A6FB800859BE00000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000445C + AF000432CA000432CA000432CA000432CA000432CA000535D9000537E1000537 + E1000537E1000537E1000537E1000537E1000537E1000537E1000537E1000537 + E1004F73EA00445CAF0000000000000000000000000000000000000000000000 + 00005073E5000536D900FFFFFF009398A8009398A8009398A8009398A8009398 + A8009398A8009398A8009398A8009398A8009398A800E6EBFB00E6EBFB005073 + E500425AAC000000000000000000000000000000000000000000455FB6005676 + E0004367DD003D5DC700DDDDDC00BABED100F3F3F700F2F3F700F2F3F700F2F3 + F700F2F3F700F2F3F700F2F3F700F2F3F700DDDDDC00DDDDDC003D5DC7003C61 + DB005B7AE100455FB6000000000000000000000000005570CB00859BE6007C97 + F4006384F3005075F1003C65EF001445E8000639E3000537DD000434D2000433 + CE000935C9005A70B9003A4D910096A7E1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004760 + B700063AE800073BE900073BE900073BE900073BE900073BE900073BE900073B + E900073BE900073BE900073BE900073BE900073BE900073BE900073BE900063A + E8005075EF004760B70000000000000000000000000000000000000000000000 + 00005174EA00093BE200FFFFFF00E6EBFC00E6EBFC00E6EBFC00E6EBFC00E6EB + FC00E6EBFC00E6EBFC00E6EBFC00E6EBFC00E6EBFC00E6EBFC00E6EBFC005174 + EA00465FB20000000000000000000000000000000000000000004660B7005778 + E5004B6EE3004463CC00E1E1E000858FAF00DBDEE800F2F3F700F2F3F700F2F3 + F700F2F3F700F2F3F700F2F3F700DBDDE700E1E1E000E1E1E0004463CC004368 + E2005D7DE6004660B7000000000000000000000000008197E5007386CE0091A8 + F6007693F4006384F3005075F1002856EE001445E8000639E3000535D8000434 + D2000433CE004162D100979DB700888786000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004963 + BA000E41EC001042EC001143EC001143EC001143EC001143EC001143EC001143 + EC001143EC001143EC001143EC001143EC001143EC001143EC001143EC000E41 + EC005378F1004963BA0000000000000000000000000000000000000000000000 + 00005579EF001344E800FFFFFF00E7ECFC00E7ECFC00E7ECFC00E7ECFC00E7EC + FC00E7ECFC00E7ECFC00E7ECFC00E7ECFC00E7ECFC00E7ECFC00E7ECFC005579 + EF004962B90000000000000000000000000000000000000000004761B8005A7B + EA005376E9004A69D000E5E4E4007C86A700838BAC00B7BBCF00F5F6F900FEFE + FE00FEFEFE00E2E5EC00B6BACD008089A900E5E4E400E5E4E4004A69D000496E + E7006080EB004761B800000000000000000000000000000000004D66BE0094A5 + E300829DF5007794F4006384F3003C65EF002856EE001445E8000537DD000535 + D8000434D2008794C700C5C5C500B3B3B300B0B0B00000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004C65 + BC001F4FED002553EE002654EE002654EE002654EE002654EE002654EE002654 + EE002654EE002654EE002654EE002654EE002654EE002654EE002654EE001E4E + ED005A7DF2004C65BC0000000000000000000000000000000000000000000000 + 00005F81F2002856EE00FFFFFF00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EE + FD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD005F81 + F2004D66BD0000000000000000000000000000000000000000004963BA005E80 + F2006283F2005876DA00ECEBEB007780A2007780A1007780A100F1F2F600F1F2 + F600F1F2F600C1C6D500747E9F00737D9F00ECEBEB00ECEBEB005876DA00577B + F2006686F3004963BA00000000000000000000000000000000000000000090A4 + EA009AABE5009FB3F700849EF5006384F3005075F1003C65EF001445E8000639 + E3009BABE100CECECE00C4C4C400BBBBBB00B5B4B3008A898800B1B0B0000000 + 0000000000000000000000000000000000000000000000000000000000004D66 + BE002755EE00305CEE00325EEF00325EEF00325EEF00325EEF00325EEF00325E + EF00325EEF00325EEF00325EEF00325EEF00325EEF00325EEF00325EEF002755 + EE005E80F2004D66BE0000000000000000000000000000000000000000000000 + 00006485F300325EEF00FFFFFF00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEF + FD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD006485 + F3004E67BF0000000000000000000000000000000000000000004A64BB006082 + F2006989F3005F7BDA00EFEFEE00747E9F00747E9F00737D9F00F1F2F600F1F2 + F600F1F2F600E8EAEF00717A9D00717A9D00EFEFEE00EFEFEE005F7BDA005E80 + F2006989F3004A64BB0000000000000000000000000000000000000000000000 + 0000556DC0009BABE5009FB3F7007794F4006384F3005075F1002856EE00A7B7 + ED00E7E7E700D7D7D700CECECE00C4C4C400C5C5C500B5B4B4008B8A89000000 + 0000000000000000000000000000000000000000000000000000000000004E68 + BF00305CEE003B64EF003D66EF003D66EF003D66EF003D66EF003D66EF003D66 + EF003D66EF003D66EF003D66EF003D66EF003D66EF003D66EF003D66EF002F5B + EE006183F2004E68BF0000000000000000000000000000000000000000000000 + 00006989F3003D66EF00FFFFFF00989DAA00989DAA00989DAA00989DAA00989D + AA00989DAA00989DAA00989DAA00989DAA00989DAA00EBF0FD00EBF0FD006989 + F3004F68C00000000000000000000000000000000000000000004B65BC006384 + F300718FF4006580DB00F2F1F100717A9D00717A9D00717A9C00F1F2F600F1F2 + F600F1F2F600F1F2F5006F7899006F789900F2F1F100F2F1F1006580DB006485 + F3006C8BF3004B65BC0000000000000000000000000000000000000000000000 + 000091A4EB00566FC1009CADE600849EF5007794F4006384F300B7C6F400F5F5 + F500EFEFEF00E0E0E000D7D7D700CECECE00BBBBBB00C5C5C500B5B5B500B1B1 + B10000000000000000000000000000000000000000000000000000000000516A + C1004169F0005075F1005378F1005378F1005378F1005378F1005378F1005378 + F1005378F1005378F1005378F1005378F1005378F1005378F1005378F1004068 + F0006888F300516AC10000000000000000000000000000000000000000000000 + 00007391F4005277F100FFFFFF00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1 + FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE007391 + F400516BC20000000000000000000000000000000000000000004D67BE006787 + F300809BF500728BDC00F7F7F6006C7697006B7597006B759600F0F1F500F0F1 + F500F0F1F500CDD1DC006972950069729400F7F7F600F7F7F600728BDC007290 + F400718FF4004D67BE0000000000000000000000000000000000000000000000 + 0000000000000000000091A5EB009DAEE6009FB3F700CCD5F300F8F8F800FAFA + FA00F9F9F900EFEFEF00E7E7E700E0E0E000CECECE00C4C4C400BBBBBB00B6B5 + B5008B8A8900000000000000000000000000000000000000000000000000526C + C3004A70F0005A7DF2005E80F2005E80F2005E80F2005E80F2005E80F2005E80 + F2005E80F2005E80F2005E80F2005E80F2005E80F2005E80F2005E80F200496F + F0006B8AF300526CC30000000000000000000000000000000000000000000000 + 00007794F4005C7FF200FFFFFF009DA1AC009DA1AC009DA1AC009DA1AC009DA1 + AC009DA1AC009DA1AC009DA1AC009DA1AC009DA1AC00EFF3FE00EFF3FE007794 + F400526CC30000000000000000000000000000000000000000004D67BF006989 + F30086A0F5007990DC00F9F9F900697295006972940068729400CDD0DC00F0F1 + F500F0F1F5006F77980067709100666F9100F9F9F900F9F9F9007990DC007894 + F4007491F4004D67BF0000000000000000000000000000000000000000000000 + 00000000000000000000000000005972C500D0D5E900F7F7F700F7F7F700F8F8 + F800FAFAFA00F5F5F500EFEFEF00E7E7E700D7D7D700CECECE00C4C4C400C7C7 + C700A6A6A500A9A9A9000000000000000000000000000000000000000000536D + C4005075F1006485F3006989F3006989F3006989F3006989F3006989F3006989 + F3006989F3006989F3006989F3006989F3006989F3006989F3006989F3005075 + F1006E8DF300536DC40000000000000000000000000000000000000000000000 + 00007C97F4006787F300FFFFFF00F0F3FE00F0F3FE00F0F3FE00F0F3FE00F0F3 + FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE007C97 + F400536DC40000000000000000000000000000000000000000004E68C0006B8A + F3008DA5F6007F95DD00FBFAFA0067709100666F9100666F9100656E9100656E + 9100646E9000646E8F00636D8F00636D8F00FBFAFA00FBFAFA007F95DD007F9A + F5007794F4004E68C00000000000000000000000000000000000000000000000 + 0000000000000000000000000000A2B2EC00BAB9B800ECECEC00F6F6F600F7F7 + F700F8F8F800F9F9F900F5F5F500EFEFEF00E0E0E000D7D7D700CECECE00C3C3 + C300BFBFBE00908F8F000000000000000000000000000000000000000000566F + C600597CF2007290F4007D98F500809BF500809BF500809BF500809BF500809B + F500809BF500809BF500809BF500809BF500809BF500809BF5007D98F500587C + F200718FF400566FC60000000000000000000000000000000000000000000000 + 0000849EF5007C97F400FFFFFF00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5 + FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00849E + F500556FC6000000000000000000000000000000000000000000506AC100708E + F4009CB1F7008D9FDE00FDFDFD00616A8D00606A8C00606A8C005F698B005F69 + 8B005F698A005F688A005E6789005E678900FDFDFD00FDFDFD008D9FDE008BA4 + F6007C97F400506AC10000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000B7B7B700ECECEC00F7F7 + F700F6F6F600F8F8F800FAFAFA00F9F9F900EFEFEF00E7E7E700E0E0E000CECE + CE00D3D3D3009B9A990000000000000000000000000000000000000000005770 + C700567AF2006D8CF3007B97F400839EF500839EF500849EF500859FF500859F + F500859FF500859FF500849EF500849EF500839EF500819BF5007A96F4005479 + F1006F8DF3005770C70000000000000000000000000000000000000000000000 + 000088A2F600829DF500FFFFFF0058595C0074757A00F3F6FE0058595C007475 + 7A00F3F6FE0058595C0074757A00F3F6FE0058595C0074757A00F3F6FE0088A2 + F6005670C7000000000000000000000000000000000000000000516BC2007290 + F400A4B7F80093A4DE00FEFEFE00FEFEFE00FEFEFE00FEFEFE00FEFEFE00FEFE + FE00FEFEFE00FEFEFE00FEFEFE00FEFEFE00FEFEFE00FEFEFE0093A4DE0091A8 + F6007F9AF500516BC20000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BEBCBB00EDEC + EC00F7F7F700F7F7F700F8F8F800FAFAFA00F5F5F500EFEFEF00E7E7E700DADA + DA00DADAD9009C9A990000000000000000000000000000000000000000005871 + C8004A70F0005D80F2006989F3007290F4007491F4007491F4007491F4007491 + F4007491F4007491F4007491F4007491F4007290F4006F8DF3006888F300486F + F0006A8AF3005871C80000000000000000000000000000000000000000000000 + 000089A2F60086A0F500FFFFFF00A5A4A2006C6D7100F4F7FE00A5A4A2006C6D + 7100F4F7FE00A5A4A2006C6D7100F4F7FE00A5A4A2006C6D7100F4F7FE0089A2 + F6005871C8000000000000000000000000000000000000000000526CC3007491 + F400ABBDF80099A9DE00E5E5E500E5E5E500E5E5E500E5E5E500E5E5E500E5E5 + E500E5E5E500E5E5E500E5E5E500E5E5E500E5E5E500E5E5E50099A9DE0097AD + F700819BF500526CC30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B8B8B700BEBD + BC00EDECEC00F6F6F600F7F7F700F8F8F800F9F9F900F5F5F500EFEFEF00E6E6 + E600CFCFCE009F9E9E0000000000000000000000000000000000000000005B76 + D2005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005B76D20000000000000000000000000000000000000000000000 + 00007D97EE0091A7F1009AAEF200191918007F8FC200A1B4F300191918007F8F + C200A1B4F300191918007F8FC200A1B4F300191918007D8DC2009AAEF2007D97 + EE005872C9000000000000000000000000000000000000000000546EC5007491 + F400B7C7F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8F90099AF + F700819BF500546EC50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B8B8B800EBEAEA00F6F6F600F5F5F500F7F7F700F9F9F900F9F9F900CDCC + CB00A4A4A3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005872C9005872C9005872C9005F5F5F004F5E92005872C9005F5F5F004F5E + 92005872C9005F5F5F004F5E92005872C9005F5F5F004F5E92005872C9005872 + C9005B76D2000000000000000000000000000000000000000000556FC6006D8C + F300A6B9F800AFC0F900B1C1F900B2C2F900B2C2F900B2C2F900B2C2F900B2C2 + F900B2C2F900B2C2F900B2C2F900B2C2F900B2C2F900B1C1F900ADBEF800849E + F5007894F400556FC60000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000B6B4B300D7D5D500ECECEB00F6F6F600F8F8F700E6E5E500A7A6 + A600000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D2D1D0008080800000000000D2D1D0008080 + 800000000000D2D1D0008080800000000000D2D1D00080808000000000000000 + 00000000000000000000000000000000000000000000000000005670C7006382 + EA00849DEE00889FEE008AA0EE008AA0EE008AA0EE008AA0EE008AA0EE008AA0 + EE008AA0EE008AA0EE008AA0EE008AA0EE008AA0EE008AA0EE00879FEE007B94 + ED006886EB005670C70000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000B2B1B100A8A6A600BCBAB900B3B1B000A7A6A6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000808080009090900000000000808080009090 + 9000000000008080800090909000000000008080800090909000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DEDEDE006B80 + C20027335F0026335D002A386D00C3C3C300C3C3C300C4C4C400D1D1D100D5D5 + D500000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004C64B5004656 + 8A0098A5CE0098A4CD00828FB90031458A00DEE3F80000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D1D1D100CFCFCF00C9C9C900C7C7C700C5C5 + C500C5C5C500C5C5C50091A1D70029386D00C5C5C500C8C8C800D3D3D3000000 + 00000000000000000000000000000000000000000000314792009BA8D200526D + C5002647B5002041B0001B3DAE00909ECB00293D7F0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BAC6F200364A91004F63 + A5008793BC00A7B0CF00D9DFF300D9DFF400D9DFF400D9DFF400D9DFF400D9DF + F400D9DFF400D9DFF400D9DFF400D9DFF400D9DFF400D9DFF400D9DFF400DADF + F200A5AECE003A4D930000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000029396C00526297008494C8000000000000000000000000000000 + 000000000000000000000000000000000000000000002E4285008FA0DB004A66 + C6003C5AC0003655BD003151BA00697FC9002B3E7C0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000435BAE007182BB005C77 + D3007B90D7006979B200A3ADCF00C0CBEE00C0CBEE00C0CBEE00C0CBEE00C0CB + EE00C0CBEE00C0CBEE00C0CBEE00C0CBEE00C0CBEE00C0CBEE00C0CBEE00C4CE + EF00CFD7F200A3ADD00000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00008093D9005466A5004059AA008393C8000000000000000000000000000000 + 0000000000000000000000000000000000000000000030448A008296D9005D77 + D000516DCA004C68C8004764C6006079CC002D3F810000000000000000000000 + 00000000000000000000000000008196DC00293A7500293A740033478C000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002E4696001F3376001F3376001F3376001F3376001F33 + 76001F3376001F3376001F3376001F3376001F3376002E469600000000000000 + 00000000000000000000000000000000000000000000354992008699DA004868 + D200607BD8008699DA005C6CA700B7C4ED00B7C4ED00B7C4ED00B7C4ED00B7C4 + ED00B7C4ED00B7C4ED00B7C4ED00B7C4ED00B7C4ED00B7C4ED00B7C4ED00B7C4 + ED00BCC8EE00CFD6EF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004B62 + B20036457A00324DAA00032597008494CC000000000000000000000000000000 + 000000000000000000000000000000000000000000006D83D4005669A80092A4 + E300788FDC00758DDB00768DDA004B69CD0032468B0000000000000000000000 + 0000000000008398DE00505F9800A4B1DD003E5BBD003957BB005F77C7005160 + 9400647CCB000000000000000000000000008E8C8A00BBB9B700BBB9B700BBB9 + B700BBB9B700BBB9B70029429500042DB700042DB700042DB700042DB700042D + B700042DB700042DB700042DB700042DB7004F6ED70029429500BBB9B700BBB9 + B700BBB9B700BBB9B700BBB9B7008E8C8A00000000003B509D008EA3E9005D7B + E0005D7BE0008EA3E9003B509D00A7B7EE00A7B7EE00A7B7EE00A7B7EE00A7B7 + EE00A7B7EE00A7B7EE00A7B7EE00A7B7EE00A7B7EE00A7B7EE00A7B7EE00A7B7 + EE00A7B7EE00C4CEF00000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000045569000546C + BD004762BF007186CE002B4BB6008496D4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000425AAE005468 + A90097A9E50092A5E5008399E1003C5ECD003448900000000000000000000000 + 0000000000003B53A2009EABD5005B75CC003252BE002D4EBB002748B70094A2 + D000364A8D0000000000000000000000000093918F00D8D8D700D8D8D700D8D8 + D700D8D8D700D8D8D7002F4AA4001942CD001D46CE001E46CE001E46CE001E46 + CE001E46CE001E46CE001E46CE001C45CE005474E1002F4AA400D8D8D700D8D8 + D700D8D8D700D8D8D700D8D8D70093918F00000000003D54A40095A9ED006885 + E6006885E60095A9ED003D54A400A5B6F000A5B6F0001442D9001442D9001442 + D9001442D9001442D9001442D9001442D9001442D9001442D9001442D900A5B6 + F000A5B6F000C3CEF10000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003C54A300516CC7004F6B + C8007184C600344581007184C6009BABE0000000000000000000B9C6F1002E42 + 8800B9C6F1000000000000000000000000000000000000000000000000006E86 + D700384E9A00384E99004264D4004062D200374B950000000000000000000000 + 00000000000034488D0094A5DF005470CD004765C8004260C6003C5BC200788C + D0003143840000000000000000000000000098969400F5F5F400F5F5F400F5F5 + F400F5F5F400F5F5F4003652B4003D63E300476BE300486CE400486CE400486C + E400486CE400486CE400486CE400466BE3005D7DEA003652B400F5F5F400F5F5 + F400F5F5F400F5F5F400F5F5F40098969400000000004058AB009EB1F200738E + EB00738EEB009EB1F2004058AB00A9BAF300A9BAF3001443DE001443DE001443 + DE001443DE001443DE001443DE001443DE001443DE001443DE001443DE00A9BA + F300A9BAF300C7D0F30000000000000000000000000000000000000000000000 + 0000CED7F60092A4E3006179C70033488F002D3C71005568AA004161CB007287 + CC00334687004A5EA40033468700A6B2DA0000000000BAC6F2002F4489004A5E + A4002F448900BAC6F20000000000000000000000000000000000000000000000 + 0000000000003D54A400486BDF004669DC003C529F0000000000000000000000 + 0000000000003D55A5008294D3007F95E0006D86DA006882D700647FD6006982 + D60035498E0000000000000000000000000099989600A3A19F00A3A19F00A3A1 + 9F00A3A19F00A3A19F003D5DC6007994ED0088A0EF00A6B7F200B5C4F500B5C4 + F500B5C4F500B3C2F400A2B4F200859EEF006382EB003D5DC600A3A19F00A3A1 + 9F00A3A19F00A3A19F00A3A19F0099989600000000004660B700B2C2F80094AB + F60094ABF600B2C2F8004660B700B0C0F800B0C0F80088A1F50088A1F50088A1 + F50088A1F500B0C0F80088A1F50088A1F50088A1F50088A1F50088A1F500B0C0 + F800B0C0F800CBD5F70000000000000000000000000000000000536BBE004C5F + 9F004A66C5003857C0002447BA007288D200344889004F6FDB004258A4004F67 + B9004A6BD800123DCC004A6BD8004F67B9003950A1004F67B9004A6BD800123D + CC004A6BD8004F67B90000000000000000000000000000000000000000000000 + 0000000000004058A9004B6EE3004A6DE1003E55A50000000000000000000000 + 0000000000006F85D7005A6DB00094A7E6008197E2007E95E0007E95E0005673 + D400384C93000000000000000000000000000000000000000000000000000000 + 000000000000000000004C6BD2003F5EC8003F5EC8003F5EC8003F5EC8003F5E + C8003F5EC8003F5EC8003F5EC8003F5EC8003F5EC8004C6BD200000000000000 + 000000000000000000000000000000000000000000004962B900BFCDFA00ACBD + F800ACBDF800BFCDFA004962B900B4C4F900B4C4F9001647EC001647EC001647 + EC001647EC00B4C4F9001647EC001647EC001647EC001647EC001647EC00B4C4 + F900B4C4F900CED8F800000000000000000000000000000000003A4F96005A74 + C900042FC000042FC000042FC000728ADB003A4F96005273E200485FAF00536E + C4004B6EE3000535D8001240DA004B6EE300536DC4004B6EE3001240DA001240 + DA004B6EE300536EC40000000000000000000000000000000000000000000000 + 000000000000435CAF004F72E8004D70E5004159AA0000000000000000000000 + 00000000000000000000465FB500586CB2009BADE80097A9E8008BA0E5004969 + D5003A5099000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003C59BC00708CEB006683E6005374 + E1004F70DE005070DA004F6ED700314A9A000000000000000000000000000000 + 000000000000000000000000000000000000000000004A63BB00CAD5FB00BFCD + FA00BECCFA00CAD5FB004A63BB00B7C7F900B7C7F9001849EC001849EC001849 + EC001849EC00B7C7F9001849EC001849EC001849EC001849EC001849EC00B7C7 + F900B7C7F900D0D9F800000000000000000000000000000000004056A3005071 + DE000433CF000433CF000433CF00728DE4004056A3005779E9007F96E3004962 + B7005772CF001344E7000539E6001344E700476DED001344E7000539E6004C71 + ED005772CF00455EB70000000000000000000000000000000000000000000000 + 0000000000004862B9005579F0005578EE00465FB50000000000000000000000 + 000000000000000000000000000000000000BFCDF8004159A7005474E1005272 + DF004056A3000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000425FC3007893EE004C6EDE00355A + D6001C45CE00042FC0004F6FD900354DA0000000000000000000000000000000 + 000000000000000000000000000000000000000000004C66BD00D6DEF900DCE3 + F900DBE2F900D6DEF9004C66BD00C3D0FA00C5D1FA00305CEE00305CEE00305C + EE00305CEE00C5D1FA00305CEE00305CEE00305CEE00305CEE00305CEE00C5D1 + FA00C3D0FA00D6DEF900000000000000000000000000000000004A64BB006384 + F3004C72F1004C72F1004C72F10088A1F5004A64BB005E80F2003862EF005D80 + F2008CA2EC005E78D5005378F1001748EC001748EC001748EC005378F1004A64 + BE00BFCCF5000000000000000000000000000000000000000000000000000000 + 0000000000004963BB00597CF200597CF2004963BA0000000000000000000000 + 00000000000000000000000000000000000000000000445CAD005878E5005676 + E3004259A9000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004360C5006C88E700738DE4006E88 + E2006781DE005A77D9005976D6003750A3000000000000000000000000000000 + 00000000000000000000000000000000000000000000536ECA004D67BE004D67 + BE004D67BE004D67BE004D67BE00C9D5FB00CBD6FB003E67F0003E67F0003E67 + F0003E67F000CBD6FB003E67F0003E67F0003E67F0003E67F0003E67F000CBD6 + FB00C9D5FB00D9E0F900000000000000000000000000000000004B65BD006F8D + F3006F8DF3006F8DF3006F8DF30095ACF7004B65BD006283F200466DF0006888 + F30092A7EC006780D7006787F300315DEF00315DEF00315DEF006686F3004C66 + C000BFCDF6000000000000000000000000000000000000000000000000000000 + 0000000000004A64BC005D80F2005C7FF2004A64BC0000000000000000000000 + 000000000000000000000000000000000000000000004760B3005D7DEA005B7B + E800455DAF000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004F6DD3004360C500405DBC003F5A + B8003E58B4003B54AC003952A900435EB7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004F68BF00CFD9FB00D2DBFB004B71F1004B71F1004B71 + F1004B71F100D2DBFB00B1C1F900B1C1F900B1C1F900B1C1F900B1C1F900D2DB + FB00CFD9FB00DCE3F900000000000000000000000000000000004C66BE007995 + F40090A8F60090A8F60090A8F600A0B4F7004C66BE006586F3007391F40097AB + ED00536CC3007C97F400567AF2004C72F1004C72F1004C72F100567AF2006D85 + D9004E68C100BFCDF60000000000000000000000000000000000000000000000 + 0000000000004D67BE006485F3006485F3004D67BE0000000000000000000000 + 000000000000000000000000000000000000000000004C66BD006787F2006484 + F0004A63B9000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000516BC200D9E1FC00DDE4FC006586F3006586F3006586 + F3006586F300DDE4FC006586F3006586F3006586F3006586F3006586F300DDE4 + FC00D9E1FC00E3E8FB00000000000000000000000000000000004E68C00089A0 + EC00AFC0F900B9C8F900B8C7F900ACBDF8004E68C0006C8BF3005E77CA006D86 + DA009CB1F700819BF50087A1F5009EB3F7007D93DE009DB2F70087A1F50088A2 + F60099AFF7006C85DA0000000000000000000000000000000000000000000000 + 0000000000004E68BF006888F3006E8DF3005B73C4004E68C100839AE700BFCD + F60000000000000000000000000000000000000000004E68BF006B8AF3006989 + F3004D67BE000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000526CC300DEE5FC00E1E7FD00E2E8FD00E2E8FD00E2E8 + FD00E2E8FD00E2E8FD00E2E8FD00E2E8FD00E2E8FD00E2E8FD00E2E8FD00E1E7 + FD00DDE4FC00E4EAFB00000000000000000000000000000000006681DA00768C + D400B5C5F900B9C8F900B4C4F900A7B9F8004F69C100718FF4006179CC007189 + DC00ACBDF800A1B5F700AFC0F9008397DF00536EC7008297DF00AEBFF800A1B5 + F700AABCF8006F89DC0000000000000000000000000000000000000000000000 + 0000000000004F69C0006B8AF300849EF500B9C7F700A8B8ED00768AD1005C74 + C500536CC0007991E300AEBEF30000000000000000004F69C0006F8DF3006D8C + F3004F69C0000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000546DC400E2E8FD00E6EBFD00CDD8FB00CDD8FB00CDD8 + FB00CDD8FB00CDD8FB00CDD8FB00CDD8FB00CDD8FB00CDD8FB00CDD8FB00E6EB + FD00E2E8FD00E6EBFB0000000000000000000000000000000000000000006881 + DB00657BC9007388D2008196DB008EA5F000506AC2008FA7F600ADBCF0005D76 + CA00879CE000B4C4F900879CE0005D76CA00C1CDF600556FC800869ADF00B3C3 + F900879BE000556FC80000000000000000000000000000000000000000000000 + 000000000000516BC2007290F400829CF500819BF500809BF5007E99F50089A2 + F6009BB0F700B4C4F900B7C7F900AEBEF200788ED600647BC8007C97F4007693 + F400516BC2000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000566FC600E7ECFD00EBF0FD0096ACF70098AEF70098AE + F70098AEF70098AEF70098AEF70098AEF70098AEF70098AEF70098AEF700EBF0 + FD00E7ECFD00EBEFFD0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005871CF00A8B9F600AABC + F800B6C3F100677FCE00AEBEF000B3C3F9000000000000000000C1CDF6005874 + CF00C1CDF6000000000000000000000000000000000000000000000000000000 + 000000000000526CC3007391F40087A1F50086A0F500859FF500839EF500829D + F500829CF5007F9AF50086A0F50099AFF700B9C8F900C2CFFA008CA5F6007A96 + F400526CC3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005771C800E9EEFD00EDF1FE0095ACF7009EB3F7009FB3 + F7009FB3F700A0B4F700A0B4F7009FB3F7009FB3F7009EB3F7009BB0F700EDF1 + FE00E9EEFD00EDF1FD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000758BD200ACBC + F500A9BBF800C9D5FB0096ACF700A1B5F7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000536DC4006384F30093AAF6008FA7F6008BA4F60089A2F60088A2 + F60087A1F500849EF500839EF500829DF500819BF50087A1F500839EF5007F9A + F500536DC4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005872C900EAEFFD00ECF0FE00EEF2FE00EFF3FE00EFF3 + FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE00EFF3FE00EFF3FE00EFF3FE00ECF0 + FE00EAEFFD00EFF2FD0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006883DC00768B + D300A7B9F400849EF5007592F4009EB3F7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000009FB1F0005D77CF005771C700637CCF007993E90086A0 + F40095ACF70097ADF70092A9F6008FA7F6008DA5F6008BA4F6008AA3F60086A0 + F500556FC6000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000009E9C9A009997 + 9500959391008B89870000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005B76D2005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C90000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000093A7ED009DAFEE0086A0F50094ABF6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D3DBF90093A7ED005874CD005C75 + C900647ED300879EEB008EA6F60099AFF70099AFF70094ABF60090A8F6008AA3 + F6005670C7000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005D76CA0096A8E7008DA5F6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000CED8 + F800859CE9005771C9006179CC006680D60092A8F00097ADF7009EB3F70089A2 + F6005771C8000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000C1CDF6005B74CB008FA2E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000AFBFF3007C93E4005771 + C8005771C9000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000DDDDDD00C9C9C900C7C7C700C2C2C2008FA0D5003A4A + 7A003A4A7A00C0C0C000C1C1C100C7C7C700D5D5D500DCDCDC00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C7C7C700C0C0C0006679B80027325B0027325B0027325B0027325B002732 + 5B0027325B0027325B0027325B0027325B0027325B00273462007385C800C7C7 + C700D6D6D6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000003A4B82004B5B + 94004B5A9300B2BFEE0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002A3A750003279E0003279E0003279E0003279E000327 + 9E0003279E0003279E0003279E0003279E0003279E00435DB6003F58B0000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D4D4D400C5C5C50030428100273567002735670027356700273567002735 + 670027356700273567002735670027356700273567002F428100D1D1D1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000B8C6F2003D4E8E003F59B2000F30 + 9F000F309F004B5E9F003D4E8E00B8C6F2000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002D3D7A00092DA5006077C400768ACC00092DA5006077 + C40096A6D800092DA5006077C4008A9BD4000328A300435EBA004059B1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002D4188008895C1008895C1008895C1008895C1008895 + C1008895C1008895C1008895C1008795C1006474A9002D438D00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000B9C8F2003D5091004C5FA1000F31A3000327 + 9F0003279F003F5AB6004C5FA1003D5091000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002E407F00092EAA008C9DD700B5C0E600092EAA008C9D + D700C5CEEB00092EAA008C9DD700BDC7E800042AA900425EBD00415AB2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BAC6F200283C8200283C8200283C8200283C8200283C + 8200283C8200283C8200283C8200283C82002E479500BAC6F200000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000DEDEDE00DEDEDE00CECECE00CECECE00C7C7C700C0C0C000C0C0 + C000C0C0C000C0C0C000C0C0C00092A2D700394B8A0093A2D800C0C0C000DEDE + DE00000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000003F5193004C61A500435EBB000328A3000328 + A3000328A3000F32A800435EBB004C61A500BBC8F20000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000334688000A31B5006E85D30091A2DD000A31B500607A + CF0098A8E0000A31B500607ACF0091A2DD00042CB4004361C700435CB4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000002B408A00283C7E00283C7E00283C + 7E00283C7E00283C7E00283C7E002B408A000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000007F92D8003E4C7E0093A5E4000000 + 000000000000BDC9F300374E9D004F68BC004A6FE800657ECF00455FBB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004153940041539400415394001338B100042A + AB00042AAB004360C1004153940041539400465CA90000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000035498E000A33BB0091A3E000B5C1EA000A33BB008C9F + DF00BDC8ED000A33BB008C9FDF00CDD5F100042EB9004362CA00445DB5000000 + 0000000000000000000000000000000000003A53A7002D438E002D438E002D43 + 8E002D438E002D438E002D438E002D438E002D438E002D438E002D438E002D43 + 8E002D438E002D438E002D438E002D438E002D438E002D438E002D438E002D43 + 8E002D438E002D438E002D438E003A53A7000000000000000000000000000000 + 0000000000000000000000000000000000002E4185005467A7005068BB000000 + 0000000000003950A000506ABE004A6EE5006C8BF1007389D4004661BC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000425596001439B500042B + B000042BB0004361C40042559600000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000384B9300042FBF00042FBF00042FBF00042FBF00042F + BF00042FBF00042FBF00042FBF00042FBF00042FBF004363CF00455EB6000000 + 0000000000000000000000000000000000002F44910094A7E90099ABEA009BAD + EA009BADEA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA009CAE + EA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA009BAD + EA009AACEA0099ABEA008CA1E7002F4491000000000000000000000000000000 + 00000000000000000000000000008296DB0043528900516BBE00384C95000000 + 0000BDC9F400516BC1004A6EE600204EE800738AD500435DB600BECCF5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004D64B7004F65B20000000000000000000000000043569900143ABA00042D + B500042DB5004361C700435699000000000000000000000000004960AF00BAC9 + F300000000000000000000000000000000000000000000000000000000000000 + 000000000000000000003C529D000A36CA008CA1E600B5C3EF000A36CA008CA1 + E600B8C5EF000A36CA008CA1E600C1CCF2000432CA004365D7004760B8000000 + 00000000000000000000000000000000000032499900617EE100708AE400718B + E400718BE400718BE400718BE400718BE400718BE400718BE400718BE400718B + E400718BE400718BE400718BE400718BE400718BE400718BE400718BE400718B + E400718BE400708AE4009CAEEC00324999000000000000000000000000000000 + 0000000000000000000000000000475994004D69C7000932BD00556DBD003E54 + A400556EC700204FEB006C8BF300758BD700BFCCF50000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004B62 + B5004665CC004559A0000000000000000000000000004559A0001C42C3000D36 + BF000D36BF004766CF004559A0000000000000000000000000004559A0005067 + B700445AA300BCCAF40000000000000000000000000000000000000000000000 + 000000000000000000003F55A2000735D0000735D0000735D0000735D0000735 + D0000735D0000735D0000735D0000735D0000735D0004467DB004862B9000000 + 000000000000000000000000000000000000334B9D005D7BE1006683E3006683 + E3006683E3006683E3006683E3006683E3006683E3006683E3006683E3006683 + E3006683E3006683E3006683E3006683E3006683E3006683E3006683E3006683 + E3006683E3006683E3009BAEED00334B9D000000000000000000000000000000 + 0000000000000000000000000000566AB2003356CB000431C6005D78D7005570 + C9004C71ED006C8BF300758CD7004761BA000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004C63B6005B70 + B6004969D300465AA300465AA300465AA300465AA300465AA300284DCA001A42 + C7001A42C7004D6CD300465AA300465AA300465AA300465AA300465AA3004666 + D200536ABB00445CA70000000000000000000000000000000000000000000000 + 000000000000000000004259A800103ED700A0B2EF00A0B2EF00103ED700A0B2 + EF00A0B2EF00103ED700A0B2EF00A0B2EF00103ED700486BE0004963BA000000 + 000000000000000000000000000000000000354DA1005474E1005B7AE1005B7A + E1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7A + E1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7A + E1005B7AE1005B7AE10099ACEE00354DA1000000000000000000000000000000 + 00000000000000000000A8B7ED005470CF000E3ACC000434D1004268E800476D + ED002050ED00778CD8004862BC00BFCCF5000000000000000000000000000000 + 000000000000000000000000000000000000000000004D65B8005E72BA00516F + D5005472D8005C77D1005974D1005974D1005A74D1005C77D1002A50CF00274D + CD00274DCD005876D9005D78D1005A74D1005974D1005974D1005B75D100284E + CE004D6DD700556DBE00BDC9F400000000000000000000000000000000000000 + 000000000000000000004760B3005B668B008895BE008996BF008B98C1008C99 + C2008D9AC3008F9CC500909DC600919EC7008B9ACB005073E9004B65BC000000 + 0000000000000000000000000000000000003952A9004065E000466AE100466A + E100466AE100466AE100466AE100466AE100466AE100466AE100466AE100466A + E100466AE100466AE100466AE100466AE100466AE100466AE100466AE100466A + E100466AE100466AE10093A8EE003952A9000000000000000000000000000000 + 000000000000AAB9EF004D61A5000D3CD7000537DE000539E600053AEB000C3F + EC005579F1006B85D8005F76C6004B65BE009DB0EE0000000000000000000000 + 0000000000000000000000000000000000004B63B7005574DC003A5FD9003C61 + D9004064DB003F63DB003F63DB003F63DB003F63DB003F63DB004064DB004064 + DB004064DB004064DB004064DB003F63DB003F63DB003F63DB003F63DB003F63 + DB003B60D900395ED900556FC3004B63B7000000000000000000000000000000 + 000000000000000000004A62B70039456E0054659F005566A0005869A300596A + A4005B6CA6005D6EA8005F70AA006071AB00919DC6005477ED004C66BD000000 + 0000000000000000000000000000000000003B55AC00385FE0003C62E1003C62 + E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62 + E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62 + E1003C62E1003C62E10091A7EF003B55AC000000000000000000000000000000 + 0000000000005E77CC005971C5000537E1000539E800053AEB001244EC002654 + EE003B64EF007B97F40086A0F500839BEB006A80CB00526DCA00000000000000 + 0000000000000000000000000000000000004D65BA005777E2004266DE00486B + DF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6E + DF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6E + DF00486BDF004266DE005770C7004D65BA000000000000000000000000000000 + 000000000000000000004C66BD0036426A0051629B0052639C0054659E005667 + A0005768A1005A6BA4005B6CA5005C6DA6008E9AC200597CF1004D67BE000000 + 0000000000000000000000000000000000003C56AE002E56DE003259DE003259 + DE003259DE003259DE003259DE003259DE003259DE003259DE003259DE003259 + DE003259DE003259DE003259DE003259DE003259DE003259DE003259DE003259 + DE003259DE003259DE008EA4EE003C56AE000000000000000000000000000000 + 0000D1DAF8004D62AE005B79DF00053AEA00053AEB00093DEB002E5AEE00426A + F000567AF200809BF50093AAF600AEBFF8007287CE00546ECB00000000000000 + 000000000000000000000000000000000000BFCBF5005C76CB006381E7005274 + E3005778E5005475E4005274E3005274E3005374E3005677E5005979E5005979 + E5005979E5005979E5005677E4005374E3005274E3005274E3005475E4005576 + E4005374E3006381E7004A63B600BFCBF5000000000000000000000000000000 + 000000000000000000004F69C000333E63004A5A8F004B5B90004E5E93005060 + 9500516196005464990055659A0056669B008A95BB006283F2004F69C0000000 + 0000000000000000000000000000000000003D57AF001C47D8001E49D8001E49 + D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49 + D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49 + D8001E49D8001E49D80089A0EB003D57AF000000000000000000000000000000 + 0000546BBC005C7CE8001849EC001446EC002856EE003D66EF006D8CF3009BB0 + F700BDCBF9007487CE00536EC90091A5EB000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCCF5004D66BC005C77 + D0005F7FEC004C65B8004C65B8004C65B8004C65B8004C65B8007792EE00738F + EE00738FEE007994EF004C65B8004C65B8004C65B8004C65B8004C65B8005E7F + EC005C77D0004D66BC0000000000000000000000000000000000000000000000 + 00000000000000000000506AC100313C5F004857890049588A004C5B8D004D5C + 8E004F5E90005160920053629400546395008994B7006686F300506AC1000000 + 0000000000000000000000000000000000003E58B0001340D5001441D5001441 + D5001441D5001441D5001441D5001441D5001441D5001441D5001441D5001441 + D5001441D5001441D5001441D5001441D5001441D5001441D5001441D5001441 + D5001441D5001441D500869DE9003E58B0000000000000000000000000000000 + 0000647DD4003D66EF000A3EEB002F5BEE00446BF0006888F300BAC8F800A2B1 + E6006E83CD009FB1EF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCCF5004D66 + BF004F74ED004D66BB000000000000000000000000004D66BB007F9AF1007E99 + F1007E99F1007893F0004D66BB000000000000000000000000004D66BB005A76 + D2004D66BF00BFCCF50000000000000000000000000000000000000000000000 + 00000000000000000000516BC2002F395A004554840046558500485787004A59 + 89004B5A8A004E5D8D004F5E8E00516090008690B2006A8AF300516BC2000000 + 0000000000000000000000000000000000003F59B1000B39D3000B39D2000B39 + D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39 + D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39 + D2000B39D2000B39D200839AE8003F59B1000000000000000000000000000000 + 00006280E8002654EE002251ED005C7FF20094ABF600B7C6F6006E84CE005C77 + D400AEBEF3000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000BFCD + F6005673D5004E68BF000000000000000000000000004E68BF0089A2F5008BA4 + F5008BA4F5007C97F4004E68BF000000000000000000000000004E68BF004E68 + C100BFCDF6000000000000000000000000000000000000000000000000000000 + 00000000000000000000546DC4002B3452003F4C7700414E790043507B004451 + 7C0046537E00485580004A5782004B588300838CAB007391F400546DC4000000 + 000000000000000000000000000000000000415BB2000433CE000433CE000433 + CE000433CE000433CE000433CE000433CE000433CE000433CE000433CE000433 + CE000433CE000433CE000433CE000433CE000433CE000433CE000433CE000433 + CE000433CE000433CE008299E600415BB2000000000000000000000000005972 + CA006183F2008FA7F600AABAF100637BCC006B84DD00D3DBF900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000506AC1009FB3F700A4B7 + F800A4B7F80086A0F500506AC100000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000556EC50029314E003C4870003E4A7200404C7400424E + 7600434F770046527A0047537B0049557D008189A6007794F400556EC5000000 + 000000000000000000000000000000000000415BB3000432CB000432CB000432 + CB000432CB000432CB000432CB000432CB000432CB000432CB000432CB000432 + CB000432CB000432CB000432CB000432CB000432CB000432CB000432CB000432 + CB000432CB000432CB008198E400415BB30000000000000000007C93E6007A8F + D700A2B4EF008699DA005C75CC00D3DBF9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000516BC200516BC200516BC200ADBEF800B1C1 + F900B1C1F90091A8F600516BC200516BC2005973CE0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000566FC600272F49003B466C003B466C003E496F003F4A + 7000414C7200434E740045507600465177007E86A1007B97F400566FC6000000 + 000000000000000000000000000000000000425CB4000432C9000432C9000432 + C9000432C9000432C9000432C9000432C9000432C9000432C9000432C9000432 + C9000432C9000432C9000432C9000432C9000432C9000432C9000432C9000432 + C9000432C9000432C9008198E300425CB40000000000000000005872CA009BAC + E7005C75CC007C93E60000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000627CD2005F7FEA00748FEC00B7C7F900BDCB + FA00BDCBFA00A7B9F8007E98ED006080EA00546FCA0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005871C800242B4400343D5C0038426200384262003943 + 63003B4565003D4767003F496900404A6A00787F99007E99F5005871C8000000 + 000000000000000000000000000000000000445EB5000430C4000430C4000430 + C4000430C4000430C4000430C4000430C4000430C4000430C4000430C4000430 + C4000430C4000430C4000430C4000430C4000430C4000430C4000430C4000430 + C4000430C4000430C4008197E200445EB5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000BFCDF600536DC6006781DA00AEBFF800C2CF + FA00C3D0FA0094ABF6006E87DB00536DC6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005872C90027304F00262D4400282E4400292F4500292F + 4500292F4500292F4500292F4500292F4500515870007794F4005872C9000000 + 000000000000000000000000000000000000445EB500889BDB00889BDB00889B + DB00889BDB00889BDB00889BDB00889BDB00889BDB00889BDB00889BDB00889B + DB00889BDB00889BDB00889BDB00889BDB00889BDB00889BDB00889BDB00889B + DB00889BDB00889BDB00889BDB00445EB5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000BFCDF600536EC70094ABF6009FB3 + F700A0B4F700718ADD00536EC700BFCDF6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005872CA00879FF0008FA6F00093A9F20095AAF20095AA + F20095AAF20095AAF20094AAF20092A8F200849DF0007A93E7005872CA000000 + 0000000000000000000000000000000000004C67C400445EB500445EB500445E + B500445EB500445EB500445EB500445EB500445EB500445EB500445EB500445E + B500445EB500445EB500445EB500445EB500445EB500445EB500445EB500445E + B500445EB500445EB500445EB5004C67C4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000C1CDF6006F88DC00829C + F500829CF500556FC700C1CDF600000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000C1CDF6005874 + CF005874CF000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000D3D3D300C0C0 + C0004153940034458000344580009FADDD00C0C0C000C0C0C000C0C0C000C0C0 + C000C0C0C000C0C0C000CBCBCB00CECECE00CECECE00DADADA00DEDEDE00DEDE + DE00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000B8C5 + F1002338820014309000143090002F407C00A8B8E80000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BECCF4003D56AA003A57 + BC008CA2EB008695CC008695CC002650DD003A57BC003D56AA00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000DCDCDC00C4C4C400C1C1 + C1003E5194003E5194003E5194003E5194003E5194003E5194003E5194003D50 + 92003B4D8B003647800034447C00324177002C3B6C002A38670029366200B1BC + E500C4C4C400DDDDDD00000000000000000000000000D3D3D3005F5D5E005E5C + 5C0037363800B9B9B90000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000435BB5004967CD003761 + EE008A9AD4004964C1004964C10095ABF5003761EE004967CD00BECCF5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000637A + CC0091A4E50095A9EC0095A9ED0091A6ED008EA4ED008BA2ED00849CEB008199 + E9007E96E400788FDB00758CD7007187D1006A7FC500687CC0006F7FB700455A + A30000000000000000000000000000000000000000007B7979008D8B8A007D7B + 7A006462620039383900CFCFCF00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000536DC9004068F00097AC + F5004A65C20000000000000000008E9DD6009EB2F600476EF000455DB700BECC + F500000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000405A + B4008CA5F60089A2F60089A2F6007C97F4007391F4006989F300567AF2004C71 + ED004469E6003157D600274DCD001D43C3000A2FAE000328A3003652AF002636 + 6A000000000000000000000000000000000000000000858383009E9B9A00A19F + 9E00676564006462620039383900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A5B6EF006283F200697F + CC00000000000000000000000000000000004C67C30095A4D9006888F3006E86 + D8004861BA000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000435D + B500A3B6F800ACBDF800A2B6F8008DA5F600829DF5007894F4006283F2005679 + EE004B6FE700365BD7002C51CE002146C4000B30AE000328A30003269B002838 + 6D00000000000000000000000000000000000000000000000000D3D3D3008583 + 8200A19F9E007D7B7A006765640039383900CFCFCF0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000687AB8007084C600566E + BC00566EBC00566EBC00566EBC00566EBC00566EBC00566EBC00566EBC00566E + BC00566EBC00566EBC00566EBC00566EBC00566EBC00566EBC00566EBC00566E + BC00566EBC007084C6002333670000000000000000009AAADC00A6B9F8007591 + F1004D67C4000000000000000000000000009BAFEC004159B200B2C2F8007391 + F4006F85D0000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000455F + B700A8BAF800ADBEF800A2B6F8008DA5F600829DF5007894F4006283F2000000 + 0000829BEF00365BD7002C51CE002146C4000B30AE000328A30003269B002A39 + 6D0000000000000000000000000000000000000000000000000000000000D3D3 + D3009E9B9A00A19F9E007D7B7A006462620039383900CFCFCF00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004259A600344FA700405C + BB001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3F + AF001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3F + AF003956B900344FA70027366E0000000000000000004F67BD00B9C4EA00B1C1 + F9006F85CF004E69C50000000000465EB6006177C1005266B10095A3D300839E + F50099ACEC000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004761 + B800A9BBF800ADBEF800A2B6F8008DA5F600829DF5007894F4006283F2000000 + 0000829BEF00365BD7002C51CE002146C4000B30AE000328A30003269B002A3A + 6F00000000000000000000000000000000000000000000000000000000000000 + 0000858382009E9B9A00A19F9E00676564006462620039383900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000425CB300032491003550 + AB001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2001C3F + B2001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2003251 + BA003550AB000324910029397200000000000000000000000000BFCCF5005169 + BF00C5D1FA00A5B7F6007D91D3007A8DCB00A5B8F7006485F3005872C5004357 + 9F008796CD000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004B65 + BC00A9BBF800ADBEF800A2B6F8008DA5F600829DF5007894F40013192E000000 + 0000171C2C00365BD7002C51CE002146C4000B30AE000328A30003269B002D3D + 7100000000000000000000000000000000000000000000000000000000000000 + 000000000000D3D3D30085838200A19F9E007D7B7A006765640039383900CFCF + CF00000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000435EBB000429A5000429 + A500324FB0002C4DBC00163BB500163BB500163BB500163BB500163BB5001235 + A8001235A800163BB500163BB500163BB500163BB500163BB5002C4DBC000327 + 9E000429A5000429A5002E3F7D0000000000000000000000000000000000BFCC + F500C4CCEC00C8D4FB00A9BBF700425DB90097A7DD00A4B7F8005E80F1005A73 + C7003B519C000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004D67 + BE00A8BAF800ADBEF800A2B6F8008DA5F600829DF5007894F4001F1F1F000C0C + 0C001F1F1F00365BD7002C51CE002146C4000B30AE000328A30003269B002F3E + 7200000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000D3D3D3009E9B9A00A19F9E007D7B7A00646262003938 + 3900CFCFCF000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000425FBF00042AAA00042A + AA000328A400304EB200294CBE001338B7001338B7001338B7001136AF000E2F + 9E000E2F9E001338B7001338B7001338B7001338B700294CBE00304EB200042A + AA00042AAA00042AAA0030428200000000000000000000000000000000000000 + 0000536BC100C4CCEC00C8D4FB008E9ED8004F67BA0098A7DE006485F3005E80 + F1005B74C800BCC8F30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004F69 + C000A5B8F800ACBDF800A2B6F8008DA5F600829DF5007894F4003C4257003333 + 330041465600365BD7002C51CE002146C4000B30AE000328A30003269B002F3F + 7400000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000858382009E9B9A00A19F9E00676564006462 + 6200393839000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004361C400052CB000062D + B100062DB100052BAC00304FB6001138B9001138B9001138B9000F31A3008598 + D8008598D8000E33B1001138B9001138B900264AC0002F4EB600042AAB00042B + B000042BB000042BB00033468700000000000000000000000000000000000000 + 000000000000BFCCF500556DC300D5DCF600D5DCF6008E9DD6009AA9E000A4B7 + F8006485F3005D76CA0040549E002D44910019379D002D438F00374B90000000 + 000000000000000000000000000000000000000000000000000000000000536D + C60090A8F6009AAFF7009DB2F7008FA7F60086A0F5007E99F5006C8BF3006383 + F000597AE9004769DA003E60D2003457C9002244B6001C3DAC003652AF003141 + 7600000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D3D3D30085838200A19F9E007D7B + 7A005A585700373A4600354A9200425BB3000000000000000000A6B6EC002C3F + 820000000000000000000000000000000000000000004967CD001A40C0002045 + C2002247C3002146C3002146C3003F5DC300284CC3001A3DB1007791E5004C6D + DC004B6CDB008C9EDD00183BAF003052C4001C41BF001D43C2001C42C2001C42 + C200193FC000133ABF00384C9200000000000000000000000000000000000000 + 00000000000000000000D2DBF8005873CE005873CE00657FD9004E68C1009AAA + E200A4B7F8005E80F1005E77CB003E55A3006A84D8000D37C2002846AA00BDC9 + F40000000000000000000000000000000000000000000000000000000000718A + E1008CA3EE0093A8F00096ABF00093A8F00091A7F1008FA5F00089A1EF00879F + ED00849BE8007E94DF007B91DA00788DD4007286C9007083C5007283BE004F66 + B400000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D3D3D3009E9B9A008D8C + 8A00646262009E9D9D0034343C0052629D00899DE3006B82D2003B4D8D003A49 + 8000CED7F600000000000000000000000000000000004C6BD200254AC8002D52 + CA002F53CB002F53CB002F53CB00294DC5003B57B70091A3E0005878E1005777 + E0005777E0007993E70091A3E0003855B6002B50CA002B50CA002B50CA002A4F + CA00264BC9001C43C6003A509700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF600506A + C3009BABE2006485F3005E80F1005F78CC008C9CD100839BE9001543DA00475F + B300BFCCF5000000000000000000000000000000000000000000000000000000 + 00005771C800888C9C0094939200888C9C005771C8005771C8005771C800556E + C400516ABD004B62AE00485EA7006D717D006C6B6B005E616D003A4A83000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000858382008885 + 8500BBBAB900BBB9B7009E9D9D0032343D00485CA6004A5EA500556FC5004354 + 8E00A5B6EB00000000000000000000000000000000004E6DD6002F54CF003B5E + D2003F61D3003F61D3003E61D300274ABC0096A7E200849CEA006482E5006381 + E5006381E5006381E500839BEA0095A7E2003457CD003A5DD200395CD200395C + D2003257D000254CCD003D529D00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000006F89 + DF00516DCC009EADE400A4B7F8006485F3006C80C5004E67BF0093A3DD003761 + EF005270D600516AC30000000000000000000000000000000000000000000000 + 00000000000080808000C6C6C600808080000000000000000000000000000000 + 0000000000000000000000000000808080004646460080808000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C3CE + F20083838700F0F0F000CCCBCA00BBB9B70032343D002347BF000534D400556C + B6003B4D8F004057A8000000000000000000000000005575E0004669DD005877 + E0005D7BE1005373DE003759CA0098ACF0007B95EC007B95EC007B95EC007B95 + EC007B95EC007A95EC007A95EC007A95EC009EAEE7003457C9004E6FDD005777 + E0004B6DDD00375CDA00435AA700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005B75 + D2006B87E6005A72C800A0AFE500AEBFF8007F93D7009FB1EF005671CD009FB3 + F600496FF0005E7AD900BFCDF600000000000000000000000000000000000000 + 00000000000080808000CBCBCB00808080000000000000000000000000000000 + 0000000000000000000000000000808080004C4C4C0080808000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004660 + B9006A7CBD00CFCECE00F0F0F000CCCBCA009E9D9D002B3049000537DE004668 + D7005772CC00576CB300475EAE0000000000000000005878E4005072E2006683 + E6006885E5004162CF00A3B3E900879FEF00879FEF00879FEF00879FEF00869E + EF00869EEF00869EEF00859EEF00869FF0009EB1F200A1B1E8003E5FCE006683 + E6005979E4003F64DF00465DAE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005B76 + D3009AACED006C85D8005770C7008598D9005872CA0000000000000000009AA8 + DF00A8BAF700597CF200526BC400000000000000000000000000000000000000 + 00000000000080808000D0D0D0007F7F7F000000000000000000000000000000 + 0000000000000000000000000000888888005050500080808000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004E69 + C6006A80CE0088888B00CFCECE00F0F0F00093919000383D55000539E8000534 + D4002F54D3005470CE005D74C60000000000000000005A7BE800597AE700728D + EA004D6DD700A4B4EA00ACBDF60093A9F20093A9F20093A9F20092A8F20092A8 + F20092A8F20091A7F20091A7F20091A7F20091A7F2009DB1F300A3B3EB00718D + EA006482E800476CE5004961B300000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005972C800A9BBF8007995F2007389D6000000000000000000000000000000 + 00005872CF009AAAE3008FA4EB005C77D4000000000000000000000000000000 + 00000000000080808000D4D4D40082828200C6C6C60000000000000000000000 + 00000000000000000000C6C6C600969696006060600086868600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008FA1E00099AAE300848692004A6AD700305CEE001E4EED004B70 + EE005E77CB004A63BB000000000000000000000000005C7EEE006383F0005273 + E000B4C4F800ADBEF700ACBDF700ACBDF700ACBDF700ABBCF700ABBCF700ABBC + F700ABBCF700AABCF700AABCF700AABCF700A9BBF700A9BBF700A9BBF700A9B9 + EE00486BDF004D72ED004F68BE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C1CDF600BDC8EE00B4C4F90089A2F4005973CF0000000000000000000000 + 00005973CF00899DDE00B1C0F1005D78D5000000000000000000000000000000 + 00000000000090909000C0C0C0008B8B8B008A8A8A0000000000000000000000 + 000000000000000000008A8A8A00B1B1B1006A6A6A0096969600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000A1B1EB009AAFF7007995F4005479F100436BF000305CEE003B64 + EF00617CD8004F69C4000000000000000000000000005C7FF200466BE500A6B6 + EF00ADBEF800AFC0F900B0C0F900B0C0F900B0C0F900B0C0F900B0C0F900AFC0 + F900AFC0F900AFC0F900AFC0F900AEBFF800ADBEF800ADBEF800ABBDF800AABC + F800A0B2ED003A61E400526CC300000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005D74CA00C4CDEF00BECCFA008297DB005974CF00000000005974 + CF008297DB009CB0F5009DACE100718AE2000000000000000000000000000000 + 000000000000B0B0B000A4A4A400ADADAD008A8A8A0086868600000000000000 + 000000000000868686008F8F8F00A4A4A40076767600BBBBBB00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009FB0EF00B0C0F700ACBDF8009BB0F7006787F3005479F1005E80F200486F + F0005A7CED00566EC1000000000000000000000000005578EB0098ACEE0095AC + F7009AAFF7009DB2F7009EB3F7009EB3F7009FB3F7009EB3F7009EB3F7009EB3 + F7009EB3F7009EB3F7009DB2F7009DB2F7009CB1F7009BB0F70099AFF7008EA6 + F6008BA4F60092A7ED00546EC500000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000C1CDF6005F76CC00C8D4FB00A9BBF7009BACE400A9BB + F700C8D4FB00C7D0F000C1CDF600000000000000000000000000000000000000 + 00000000000000000000D3D3D300D6D6D600DFDFDF00CECECE00ADADAD009C9C + 9C0097979700BBBBBB00C0C0C000B4B4B400D3D3D30000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000839AE8005B76D3005B76D300536FCA009EB3F70093AAF6007086D1005B76 + D3005B76D3005B76D300000000000000000000000000617ACC005670C7005670 + C7005670C7005670C7005670C7005670C7005670C7005670C7005670C7005670 + C7005670C7005670C7005670C7005670C7005670C7005670C7005670C7005670 + C7005670C7005670C7005670C800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000C1CDF600C7D0F000CED8FB00B7C7F900CED8 + FB00C7D0F0005F76CD0000000000000000000000000000000000000000000000 + 000000000000000000000000000080808000B3B3B300E1E1E100F3F3F300EEEE + EE00E8E8E800CBCBCB00A6A6A600808080000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000AEBEF30095AAF200889EE600566FC8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005D75CC00A1B0E200CED7F400A1B0 + E2005D75CC00C1CDF60000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000B0B0B0008A8A8A00808080008080 + 8000808080008A8A8A00B0B0B000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000007289D700637BCE0092A7EC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000B6C5F00027377300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000B7C5F1002B3E7C004E5E9400000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000026366D0026366D002636 + 6D0026366D0026366D0026366D0026366D0026366D0026366D0026366D002636 + 6D0026366D0026366D0026366D0026366D0026366D0026366D0026366D002636 + 6D0026366D0026366D0026366D0031458D0000000000354A88002E3D70002E3D + 70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D + 70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D + 70002E3D70002E3D7000D2D2D200000000000000000000000000000000000000 + 00000000000000000000000000002E4282004B5D9F004961B100000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000003269B000D2A90000D2A + 90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A + 90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A + 90000D2A90000D2A90000D2A9000293973000000000030438600E6EAF700E5E9 + F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9 + F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9 + F600E5E9F600E5E9F60000000000000000000000000000000000000000000000 + 000000000000BAC7F200354990003F5EC4001E42BA004A65BD00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F80000000000000000000429A8002E3F7E000000 + 00004F70DE004F70DE004F70DE004F70DE004F70DE0039509D00354A9100506E + D400506ED400506ED400506ED400506ED400000000003A51A1005475E2005979 + E3005979E3005878E3003A51A1000000000000000000354A9200E5EAF8004364 + D2000430C2000430C2003659CE000430C2000430C2000430C2000430C2000430 + C2000430C2003659CE000430C2000430C2000430C2003659CE000430C2000430 + C2004364D200E5EAF80000000000000000000000000000000000000000000000 + 0000BCC8F300384D97004F66B1001038BF00143BBF004C67C400000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF00000000000000000000000000082EAE00314284000000 + 00005073E8000537DE000537DE000537DE005073E8003E55A900394F9B004F6F + DB000432CD000432CD000432CD004F6FDB00000000004058AF005F80EF002A56 + E9002A56E9002855E9004058AF000000000000000000384E9800E5EAF9004162 + D1000432C9000432C900365BD3000432C9000432C9000432C9000432C9000432 + C9000432C900365BD3000432C9000432C9000432C900365BD3000432C9000432 + C9004365D600E5EAF90000000000000000000000000000000000000000000000 + 00003A519D005169B8003E60D1000430C300143DC7004D6AC900374C9500374C + 9500374C9500374C9500374C9500374C9500374C9500374C9500374C9500374C + 9500374C9500374C95004259AC00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F8000000000000000000000000001137B800334689000000 + 00004F74EF00053AE900053AE900053AE9004F74EF00425CB2003D55A5005072 + E3000535D8000535D8000535D8005072E30000000000435CB4006A8AF300426A + F000426AF0003F68F000435CB40000000000000000003B519F00DADFED004A64 + B9000937D0000A38D0003B60D9000A38D0000A38D0000A38D0000A38D0000A38 + D0000A38D0003B60D9000A38D0000A38D0000A38D0003A5FD9000A38D0000836 + D0004467DB00E6EBFA0000000000000000000000000000000000BECCF5004159 + AB003E63DE00103ED7000535D5000535D5000838D5001441D8001441D8001441 + D8001441D8001441D8001441D8001441D8001441D8001441D8001441D8001441 + D8001441D8001F4AD9003E55A500000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F80000000000000000000000000000000000000000002248C800384D95000000 + 00005B7EF2001D4DED001D4DED001D4DED005B7EF200455FB600455FB6005075 + F100053AEB00053AEB00053AEB005075F10000000000455FB6007592F4006686 + F3006686F300597CF200455FB60000000000000000004159AB00E5EAFB007E98 + ED003958C0001D48D700496DE5001D49DA001A41C3002F4FBA00B8C4EB003B5B + C6001D49DC00496DE5001E4BDF001E4BDF001E4BDF00496DE5001D4ADF001543 + DE00496DE500E5EAFB00000000000000000000000000BECCF500455EB2005871 + CB001141DF000738DD000738DD000738DD000738DD000738DD000738DD000738 + DD000738DD000738DD000738DD000738DD000738DD000738DD000738DD000738 + DD000738DE001544DF004259AD00000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000002B51D0003C519B000000 + 00006485F300305CEE00315DEF00305CEE006485F3004760B7004760B7005075 + F100053AEB00053AEB00053AEB005075F100000000004760B7007590EC008BA2 + EE008BA2EE00849DEE004760B7000000000000000000445DB100E6EBFC004A6F + EA00C7D1F2004260C6004868D3003656BF008FA1DE00D4DCF90089A1F200B0BD + E8002D52CC005074EB002854E6002854E6002854E6005074EB002854E6001C4A + E5004B70EA00E6EBFC000000000000000000000000004962BA005C77D2004A6F + ED001C4BE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4C + E8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4C + E8001C4BE8002653E900455EB50000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000003459D7003E54A1000000 + 00006C8BF300446BF000456CF000446BF0006D8CF3004861B9004861B9005075 + F100053AEB00053AEB00053AEB005075F100000000005069C7004861B9004861 + B9004861B9004861B9005069C70000000000000000004761B700E6ECFD004D72 + EF006D8BF100CAD4F40090A1DA00D5DDFA0099AEF600476DEE00325DED00ADBE + F70092A3DD00577AF000325DED00325DED00325DED00577AF000325DED002351 + EB004E73EF00E6ECFD000000000000000000000000005E79D600577BF200466D + F0005479F1005579F1005579F1005579F1005579F1005579F1005579F1005579 + F1005579F1005579F1005579F1005579F1005579F1005579F1005579F1005579 + F1005479F1005176F1004A64BB0000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000004368E300445CAD000000 + 00007D98F5006989F3006D8CF3006A8AF3007D98F5004A64BB004A64BB005176 + F100083CEB00083CEB00083CEB005176F1000000000000000000000000000000 + 000000000000000000000000000000000000000000004B65BC00E6ECFD007290 + F4006283F2006586F3006586F3006586F3006586F3006586F3006586F3006586 + F3008CA5F600667FD2006586F3006586F300607FE6005874D1005975D400577B + F2007592F400E6ECFD000000000000000000000000004E67C0006681D9006A8A + F3006E8DF300718FF400718FF400718FF400718FF400718FF400718FF400718F + F400718FF400718FF400718FF400718FF400718FF400718FF400718FF400718F + F4006F8DF3006586F3004B65BC000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 000000000000000000000000000000000000000000004D71E9004760B3000000 + 0000829DF5007794F400829CF5007894F400829DF5004C65BC004C65BC00587C + F2001647EC001647EC001647EC00587CF2000000000000000000000000000000 + 000000000000000000000000000000000000000000004C66BD00E6ECFD005277 + F1004B71F1005075F1006D8CF3005075F1005075F1005075F1005075F1005075 + F1005075F100C5CEEC004667D600496CDF00657DCE00B5C1E9009EAEE1003862 + EF00567AF200E6ECFD00000000000000000000000000BFCDF6004F68C2006C86 + D9007E99F50089A2F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5 + F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5 + F600849EF5007391F4004C66BD000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005579EF004A63B9000000 + 0000829CF5007592F40086A0F5007592F400829CF5004D66BE004D66BE005E80 + F2002453EE002453EE002453EE005E80F2000000000000000000000000000000 + 000000000000000000000000000000000000000000004E68BF00E6ECFD005479 + F1005479F100597CF2007491F400597CF200597CF200597CF200597CF200597C + F200597CF200CDD7F90099A9DD007E92D500CED8FB00ACBDF800C4D0F900365A + D200587CF200E6ECFD000000000000000000000000000000000000000000BFCD + F6006D86DA0086A0F500A0B4F700C3D0FA00C1CEFA00B4C4F800869EED00839C + ED00829BED00829BED00829BED00829BED00829BED00829BED00829BED008099 + ED007B95EC00728EEB004F69C0000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A500DCDBDB0088878700000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006787F3004F68BF000000 + 00004F69C0004F69C0004F69C0004F69C0004F69C000556FCC004F69C0006A8A + F3004068F0004169F0004068F0006B8AF3000000000000000000000000000000 + 00000000000000000000000000000000000000000000506AC100E6ECFD00577B + F2006586F3006D8CF300829CF5006D8CF3006D8CF3006D8CF3006D8CF3006D8C + F3006D8CF300829CF5007491F4006D8CF3006D8CF300829CF5006C8BF300D2DB + FA008094D700DFE5F60000000000000000000000000000000000000000000000 + 0000536CC5006E87DB0088A2F600B9C8F900B2C2F9009DB0F000506AC100506A + C100506AC100506AC100506AC100506AC100506AC100506AC100506AC100506A + C100506AC100506AC100506AC3000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00EBEBEB0085848300000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006F8DF3005069C1000000 + 0000000000000000000000000000000000000000000000000000516AC100718F + F4004E73F1004F74F1004E73F100718FF4000000000000000000000000000000 + 00000000000000000000000000000000000000000000526CC300E6ECFD007995 + F400819BF50088A2F60088A2F60088A2F60088A2F60088A2F60088A2F60088A2 + F60088A2F60088A2F60088A2F60088A2F60088A2F60088A2F60087A1F500839E + F500D8E0FC00E8EDFD0000000000000000000000000000000000000000000000 + 0000BFCDF600536DC6006E88DB0095ACF70092A9F6008AA1EE00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A989700E7E7E6008C8A8800000000000000000000000000000000000000 + 000000000000000000000000000000000000000000007894F400516BC2000000 + 0000000000000000000000000000000000000000000000000000526CC3007894 + F4005C7FF2005D80F2005C7FF2007894F4000000000000000000000000000000 + 00000000000000000000000000000000000000000000536DC400E6ECFD00597C + F2006F8DF3007C97F4008FA7F600819BF500819BF500819BF500819BF500819B + F500819BF5008FA7F600819BF500819BF500819BF5008EA6F6007A96F4005075 + F1005F81F200E6ECFD0000000000000000000000000000000000000000000000 + 00000000000000000000BFCDF600708ADD006C8BF300708CEC00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA00C2C0BE00B6B6 + B500A09E9D00EDEDEC008F8D8D00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000088A2F600546DC4000000 + 0000000000000000000000000000000000000000000000000000546EC500839E + F5007794F4007A96F4007894F400839EF5000000000000000000000000000000 + 000000000000000000000000000000000000000000005670C700E6ECFD005378 + F100577BF2006384F3007F9AF5006E8DF3006E8DF3006E8DF3006F8DF3006F8D + F3006F8DF300829DF5006E8DF3006E8DF3006C8BF3007E99F5006082F2003F68 + F000587CF200E6ECFD0000000000000000000000000000000000000000000000 + 00000000000000000000000000005770C8006B85DD006181EB00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE00C2C2C200AFAD + AC00AAA8A700E2E1E00093929100000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000092A9F600556EC5000000 + 0000000000000000000000000000000000000000000000000000566FC60087A1 + F500829CF50087A1F500829DF50087A1F5000000000000000000000000000000 + 000000000000000000000000000000000000000000005771C800E6ECFD00496F + F0005A7DF2005E80F2007E99F5006183F2006183F2006283F2006283F2006283 + F2006283F2007F9AF5006283F2006183F2006183F2007D98F5005D80F2005378 + F1004B71F100E6ECFD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000C1CDF6005871C9006D86D800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF00C3C2C200A09F + 9D00BFBDBC00C4C3C200ACACAC00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000009AAFF700566FC6000000 + 00000000000000000000000000000000000000000000000000005770C7008AA3 + F60088A2F60096ACF7008AA3F6008AA3F6000000000000000000000000000000 + 000000000000000000000000000000000000000000005771C800E6ECFD00E6EC + FD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6EC + FD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6EC + FD00E6ECFD00E6ECFD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB00ADACAC0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A8BAF8005872C9000000 + 00000000000000000000000000000000000000000000000000005872C9007D97 + EE0090A7F10097ACF20090A7F1007D97EE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000AFBFF5005872C9000000 + 00000000000000000000000000000000000000000000000000005B76D2005872 + C9005872C9005872C9005872C9005872C9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005872C9005B76D2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004A60B0002839760026356C00283976004A60B000A3B3EA00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000042579E0036457D002E3C + 6D00283868008D9DD300C0C0C000C0C0C000C0C0C000C0C0C000C2C2C200CECE + CE00CECECE00CECECE00DEDEDE00DEDEDE00DEDEDE0000000000000000000000 + 00000000000000000000000000000000000000000000000000003B53A4002840 + 93001A3FBA003453BC003F5CBD003453BC001A3FBA000C31B0003B53A4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002A3B7700DBE0F100DDE2 + F200DEE3F300DFE4F300DFE4F300E0E5F300E0E5F300E2E7F400E3E7F500E3E7 + F500E3E7F500E5E9F600E5E9F600E6EAF600E8ECF700E8ECF700E8ECF700E8EB + F600E9ECF700EAEDF7000000000000000000000000003F59B0005A78DE004D67 + BE00334279002A3C780000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005069C0002E47A2000734 + C8005069BC00475AA20043579D00475AA2005069BC002D52CE002E47A2005069 + C000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002D3F7F00D7DDF100C8D0 + EC00C9D1ED00CAD2ED00CBD3ED00CCD3ED00CDD4ED00CED5EE00D0D7EF00D1D8 + EF00D2D9EF00D3D9EF00D4DAF000D5DBF100D7DDF200D7DDF200D7DDF100D9DE + F200DADFF200E6EAF800000000000000000000000000415BB2006F8DF3002F58 + E2003C57B1002A38700000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003F56A9001843D5003059 + E1004059AC008A9FE600000000008A9FE6004059AC005A70BC001843D5003F56 + A900ACBCF1000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000030448600D6DCF200C3CC + EC003E5DC4003E5DC4003E5DC4003F5EC4003F5EC4003F5EC400C9D2EF00C9D2 + EF00CAD2EF00CBD3EF00CDD5F000CDD5F000CFD6F000D0D7F000D1D8F100D2D9 + F100D3DAF100E0E5F5000000000000000000000000004A65BF00657DCF00899F + E800647ED800536DC1003F57A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003B61DF002A57EE006076 + C20000000000000000000000000000000000000000008FA3E9002A57EE003B61 + DF00445DB6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000384C9700D7DEF500C6D0 + F1003F61D2003F61D2003F61D2003F61D2003F61D2003F61D200C4CEF000C4CE + F100C4CEF100C4CEF100C3CEF100C3CEF100C3CEF100C3CEF100C3CEF100C4CE + F100C4CEF100D7DEF500000000000000000000000000BFCCF5004862BC006A81 + D000556FC5003355C700506CCC004E65B40090A3E20000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000486CE8003C65ED00556C + BC000000000000000000000000000000000000000000000000003963EF004A6E + E600445DB4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000032479000304589003045 + 8900304589003045890030458900304589003045890030458900304589003045 + 8900304589003045890030458900304589003045890030458900304589003045 + 89003045890030458900859AE00000000000000000003B519F00D9E0F700C8D2 + F4003F63DA003F63DA003F63DA003F63DA003F63DA003F63DA00C6D1F400C6D1 + F400C6D1F400C5D0F300C5D0F300C5D0F300C4CFF300C4CFF300C4CFF300C3CE + F300C3CEF300D6DDF70000000000000000000000000000000000BFCCF5004A64 + BD008FA4E8005670C400647DD100425596003645760035498F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006080EB004A6FEE005168 + BB00000000000000000000000000000000000000000000000000476EF0006080 + EB00455EB5000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005C74C5005873D0005873 + D0005873D0005873D0005873D0005873D0005873D0005873D0005873D0005873 + D0005873D0005873D0005873D0005873D0005873D0005873D0005873D0005873 + D0005873D0005873D0003D529A0000000000000000003F57A700DBE2F900CAD4 + F6004065E0004065E0004065E0004065E0004065E0004065E000C8D3F600C8D3 + F600C8D3F600C7D2F600C7D2F600C7D2F600C6D1F500C6D1F500C6D1F500C5D0 + F500C5D0F500D7DEF80000000000000000000000000000000000000000000000 + 00004F68C1007087D40095A8E9004462C8005570CA00465AA00032458600B8C5 + F100000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000008397DB006888F3006F88 + DF0000000000000000000000000000000000C9D4F8004A64BD006886EC007F92 + D100607AD3000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000587BED001444E6000E2A + 8A001744DB000F2B8A001744DB000F2B8A000F2B8A000F2B8A000F2B8A001744 + DB000F2B8A000F2B8A000F2B8A001744DB000F2B8A000F2B8A001744DB000F2B + 8A001644DB000D2A8A005268B70000000000000000004761B700DEE5FB00D1DA + FA005176EF005075EF005075EF005075EF005075EF005075EF00D0DAFA00D0DA + FA00D0DAFA00CFD9FA00CFD9FA00CFD9FA00CED8FA00CED8FA00CED8FA00CDD7 + FA00CCD7FA00DAE1FB0000000000000000000000000000000000000000000000 + 0000BFCDF600506AC3007288D500637AC5004563C8003B5BC800394A86003142 + 7D00A4B3EA00293B7B00283871002E4185000000000000000000000000000000 + 000000000000000000000000000000000000000000006076C20096ACF4007391 + F4004C64BE0090A4EA000000000090A4EA004C64BE009DACDE00A0B3F3005E73 + BB004159AB000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006383EE002352ED006886 + EB00335EEF006A88EE00335EEF006985E2006985E2006985E2006986E600335E + EF006A88EE006A88EB006986E600335EEF005F71B0006883DF00335EEF006A88 + EE00325EEF006786EE00566EBE0000000000000000004963BA00E0E6FC00D4DD + FC00597CF200597CF200597CF200597CF200597CF200597CF200D4DDFC00D4DD + FC00D4DDFC00D3DCFB00D3DCFB00D3DCFB00D3DCFB00D3DCFB00D2DBFB00D2DB + FB00D0DAFB00DDE4FC0000000000000000000000000000000000000000000000 + 000000000000BFCDF600536CC50098AAE900637AC6004566D4003954B1003A49 + 7E0035406900576EB900566DBA00556BB400374E9900CED7F700000000000000 + 000000000000000000000000000000000000000000005C76D2008295D6009EB2 + F500859BE400697EC9006076C200697EC900859BE400A9BBF800A0AEDF004362 + CC002D4FC300BDCBF40000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006D8AEB00305CEE002B43 + 9400243D90003D63E300243D9000354C9800486CE400354C9800304896003960 + E300284192002C44940030489600385EDE007692EF005075F1003D66EF002841 + 92003960E300253E92005A70C10000000000000000004A64BB00E2E8FD00D8E0 + FC006283F2006283F2006183F2006183F2006183F2006183F200D8E0FC00D7DF + FC00D7DFFC00D7DFFC00D7DFFC00D7DFFC00D6DFFC00D6DFFC00D6DFFC00D5DE + FC00D4DDFC00DFE6FC0000000000000000000000000000000000000000000000 + 00000000000000000000000000005770C800748BD900879DE8004D5D97004E65 + B4004A6AD3000430C2000430C2000430C2004162D1005971C00046589B000000 + 0000000000000000000000000000000000000000000000000000000000005D77 + D3009CABE200BECBF500BCCAF600BECBF5009CABE200687CC600798FDA0086A0 + F5004B71F1002E50C400435BAE00BDCBF4000000000000000000000000000000 + 000000000000000000000000000000000000000000007691ED00496FF0003D51 + 94006381E700394D91005D7DE6005D7DE600394D91005D7DE6005D7DE600394D + 91005D7DE6007483B3007483B3006583E6007483B3007483B3006280E4003C50 + 93005A7AE600374C93005F76C50000000000000000004D66BE00E6EBFD00DEE5 + FC007290F4007290F4007290F4007290F4007290F4007290F400DEE5FC00DEE5 + FC00DEE5FC00DEE5FC00DDE4FC00DDE4FC00DDE4FC00DDE4FC00DDE4FC00DCE3 + FC00DAE2FC00E2E8FD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000C1CDF6005872CA006F85D000516BBE004A6C + DC00123ED2000433D0000433D0000433D0000937D2002F56D8005775D700455E + B500BDCBF4000000000000000000000000000000000000000000000000000000 + 0000657FD9004C65BF004C65BC004C65BF00657FD900AEBEF2004C65BF007A90 + DB0086A0F5001848EB002F51C500445CAE000000000000000000000000000000 + 000000000000000000000000000000000000000000007A94EE005378F10092A7 + EE007693F40099AEF2007693F4007693F40099AEF2007693F4007693F40099AE + F2007693F40094A7E60095A8EA007995F40094A7E60095A8EA007995F40099AE + F2007391F4008DA4F1005871C40000000000000000004E68BF00E6ECFD00E1E7 + FD007A96F4007A96F4007A96F4007A96F4007A96F4007A96F400E2E8FD00E1E7 + FD00E1E7FD00E1E7FD00E1E7FD00E1E7FD00E0E6FC00E0E6FC00E0E6FC00DFE6 + FC00DDE4FC00E4E9FD0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000AEBEF3005E6FAD004B6FE7001242 + E0000537DE000537DE000537DE000537DE000537DE000537DE001B49E1005E76 + CA00455DB2008DA2E80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF6004D66 + C0007A90DB004B71F1001848EB003052C500BDCBF40000000000000000000000 + 000000000000000000000000000000000000000000007B96EE00597CF2004B5C + 96004E5E93007D96E9004E5E93004E5E93007D96E9004E5E93004E5E93007D96 + E9004E5E93005A699A00576698007A94E8005A699A00576698007A94E8005060 + 9500718CE8003D519300536DC40000000000000000004F69C000E8EDFD00E3E9 + FD00829CF500829CF500829CF500829CF500829CF500829CF500E5EAFD00E5EA + FD009DB2F7009DB2F7009DB2F7009DB2F7009DB2F7009DB2F7009DB2F7009BB0 + F700E0E6FC00E6EBFD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004963BC006A87E8002553EE002553 + EE002553EE007C97F4007F9AF1007C97F4002553EE002553EE002553EE002553 + EE004A70F0006983DB0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BFCDF6007B91DC0086A0F5004B71F1003153C700475EB100BDCBF4000000 + 000000000000000000000000000000000000000000007B93E700819CF30092A9 + F600A3B6F800A4B7F800A6B9F800A8BAF800A6B9F800A8BAF800A8BAF800A6B9 + F800A8BAF800A9BBF800ABBDF800A6B9F800ADBEF800AABCF800A4B7F8009FB3 + F70094ABF60087A1F5005771C9000000000000000000526CC300EBF0FD00E7EC + FD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00E9EEFD00E9EEFD00E9EE + FD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E7EC + FD00E5EAFD00E8EDFD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004A64BB00718DEB003E67F0003E67 + F0006888F300667CC5005A71C100667CC5006888F3003E67F0003E67F0003E67 + F000486FF000718CE90000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004F69C3007B92DC0086A0F5001848EB003154C700485FB2000000 + 000000000000000000000000000000000000000000005872CA00495891004A59 + 9100697EC8006D82CF006D82CF006D82CF006D82CF006D82CF006D82CF006D82 + CF006D82CF006D82CF006D82CF006D82CF006D82CF006D82CF006D82CF006C82 + CF006B82CE006980CE0093A8ED000000000000000000536DC400ECF0FE00E9EE + FD007693F4007693F4007693F4007693F4007693F4007693F4007693F4007693 + F4007693F4007693F4007693F4007693F4007693F4007693F4007693F400708E + F400E6ECFD00E9EEFD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004F69C4007892E700567AF200567A + F20091A3E4009DB0EE00000000009DB0EE0091A3E400567AF200567AF2005D80 + F2007794F4006B83D40000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BFCDF600506AC4007C92DD004B71F1001848EB003254C800BFCB + F400000000000000000000000000000000000000000000000000000000008380 + 7E00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000546EC500EDF1FE00EBF0 + FD00809BF500809BF500809BF500809BF500809BF500809BF500809BF500809B + F500809BF500809BF500809BF500809BF500809BF500809BF500809BF5007794 + F400E8EDFD00EBF0FD0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000556FCC0096ACF7007995 + F4005971C4000000000000000000000000005D75C500809AF10087A1F500728A + DB004F69C200BFCDF60000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000BFCDF6007D93DD0086A0F5004B71F1003355 + C9004A62B400BFCBF5000000000000000000000000000000000000000000918F + 8F00908D8B00918E8C00928F8D0093908E0094918F0095929000979492009895 + 9300999694009B9896009C9997009D9A98009E9B99009F9C9A009B999800A09F + 9E00B6B4B400D6D6D6000000000000000000000000005770C700F0F3FE00EDF1 + FE00839EF5008AA3F6008CA5F6008EA6F6008FA7F6008FA7F6008FA7F6008FA7 + F6008FA7F6008FA7F6008FA7F6008FA7F6008DA5F6008CA5F6008AA3F6007693 + F400EAEFFD00ECF0FE0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D3DBF9009AACEA008FA7 + F600647BC800000000000000000000000000657BC800859FF5009CB1F700516A + C400BFCDF6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000536DC6007E94DE0086A0F5001848 + EB003456CA004B63B50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005871C800F0F3FE00EDF1 + FE00F0F3FE00F1F4FE00F1F4FE00F1F4FE00F1F4FE00F1F4FE00F0F3FE00F0F3 + FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE00EFF3FE00EFF3FE00EEF2FE00ECF0 + FE00EAEFFD00EDF1FE0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006278C900A2B4 + F3008A9EE2009FB1F000000000009FB1F000869BE3009BB0F700788FDD00BFCD + F600000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000C1CDF600536CC500859AE0004B71 + F1001848EB003457CA00BFCBF500000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005872C900F1F4FD00F1F4 + FD00F2F5FD00F3F6FD00F3F6FD00F3F6FD00F3F6FD00F3F6FD00F3F6FD00F3F6 + FD00F2F5FD00F2F5FD00F2F5FD00F2F5FD00F1F4FD00F1F4FD00F1F4FD00F0F3 + FD00EFF2FD00EEF2FD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005974 + CF0098AAE400B2C2F900B4C4F900ADBEF8007D93DF00566FC700C1CDF6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000566FC8008295D400A1B1E500798F + DD0086A0F5004B71F1005E78D1005169BE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F6005C75CC00C1CEFA00B9C8F900B7C7F9005771C900C1CDF600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005874CF008DA0DF00C4CEF100657B + C5008B9FE30086A0F5006781DB00556DC6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000093A8ED009CAEE900A0B2EF008195DB00C1CDF60000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000C1CDF6005874CF00556EC300B0BD + E7007A8CCA008399E1005872CA00C1CDF6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000C1CDF6005770 + CA00BFCCF5000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C9C9C900A1ADDA0058648C00545664005456640054566400545664005456 + 6400545664005456640054566400545664005456640053556300525E8800C2C2 + C200D4D4D4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000DCDCDC00C4C4C4003847 + 7D0027345E0027345E0027345E0027345E0027345E0027345E0027345E002734 + 5E0027345E0027345E0027345E0027345E0027345E0027345E0027345E002734 + 5E0038477D00C4C4C40000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C3CEF1005E607000999CA600B0B1BA00B0B1BA00B0B1BA00B0B1BA00B0B1 + BA00B0B1BA00B0B1BA00B0B1BA00B0B1BA00B0B1BA00B0B1BA00999BA600BEC9 + EE00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002B3C + 78000328A30003208200E8E8E700E5E4E300E0DFDE00DBDAD900032082000328 + A3000328A3000328A3000328A3000328A3000328A3000328A3000328A300435E + BA002B3C78000000000000000000000000000000000000000000000000000000 + 00000000000000000000A3B3EA002F3E73003F4F840044579700495DA100495D + A100495DA100445797003F4F86002F3F7400A3B3EA0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000060647500A6A9B60025377600253776002537760025377600253776006870 + 92007B819B002537760025377600253776002537760025377600253776006569 + 7A00000000000000000000000000000000000000000000000000000000000000 + 00000000000029386A005469AE005065AC005065AC005065AC005065AC005065 + AC005065AC005065AC005065AC005065AC005065AC005469AE00344686000000 + 0000000000000000000000000000000000000000000000000000000000002C3F + 7E00042AA90003218700E8E8E700EFEEED00EAE9E800E5E4E30003218700042A + A900042AA900042AA900042AA900042AA900042AA900042AA900042AA900425E + BD002C3F7E000000000000000000000000000000000000000000000000000000 + 0000000000004159A70035447A00455EAF002F4BAB001E3DA400032699000326 + 9900032699001E3DA4002F4BAB00455EAF0035447A004159A700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000063677800A2A4B400263877002638770026387700263877002C3D77005960 + 7A0059607A002638770026387700263877002638770026387700263877006367 + 7800000000000000000000000000000000000000000000000000000000000000 + 0000000000002B3C7800536CBF000328A0000328A0000328A0000328A0000328 + A0000328A0000328A0000328A0000328A0000328A000536CBF00354994000000 + 0000000000000000000000000000000000000000000000000000000000002F42 + 8300042BAF0003238C00DFDFDD00F3F3F100F3F3F200EFEFEE0003238C00042B + AF00042BAF00042BAF00042BAF00042BAF00042BAF00042BAF00042BAF004360 + C3002F4283000000000000000000000000000000000000000000000000000000 + 00002E42880042538E004760B1000B2EA10003279F0003279F0003279F000327 + 9F0003279F0003279F0003279F000B2EA1004760B10042538E002E4288000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000676B7C009FA2B20028397800283978002839780028397800283978003A42 + 63003B425C00283978002839780028397800283978002839780028397800676B + 7C00000000000000000000000000000000000000000000000000000000000000 + 0000000000002E3F7E00536DC3000429A8000429A8000429A80003279E000326 + 99000325970003269A0003279F000429A7000429A800536DC300374D97000000 + 0000000000000000000000000000000000000000000000000000000000003448 + 8E00042EBB0003259500CAC9C800E3E2E000E6E6E500EAEAE90003259500042E + BB0003279D00032595000325950003259500032595000325950003279D004262 + CB0034488E000000000000000000000000000000000000000000000000003147 + 8F003654B900082DA9000429A8000429A8000429A8000429A8000429A8000429 + A8000429A8000429A8000429A8000429A8000429A800082DA9003654B9003147 + 8F00000000000000000000000000000000000000000000000000000000000000 + 00006F738300A7ABBB002B3C7B003963EF00446BF000486FF000496FF000496F + F000496FF000496FF000486FF000476EF000325EEF00466DF0002B3C7B006F73 + 8300000000000000000000000000000000000000000000000000000000000000 + 00000000000034478B005470CD00042DB600042BAC000320800003208000586B + AB00ADB6D50003208000031F7E0003269B00042DB6005470CD003B519F000000 + 000000000000000000000000000000000000000000000000000000000000364B + 94000430C20003269B00C1C0BE00DAD9D800DEDDDC00E2E1E00003269B000430 + C20003269B0002175D0002175D000110410002175D0002175D0003269B004364 + D100364B94000000000000000000000000000000000000000000475FB1004658 + 9A00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00FFFFFF00FFFF + FF00FFFFFF00042BAC00042BAC00042BAC00042BAC00042BAC00082EAE004658 + 9A00475FB1000000000000000000000000000000000000000000000000000000 + 000073778700AAAFBF002C3D7C004068F000486FF000496FF000496FF000496F + F000496FF000496FF000496FF000496FF0003761EF00486FF0002C3D7C007377 + 8700000000000000000000000000000000000000000000000000000000000000 + 000000000000364A91005773D300042DB60003228A0003218700032187000321 + 870003238D00032187000321870003218500042CB4005773D3003C53A3000000 + 000000000000000000000000000000000000000000000000000000000000394F + 9A000633C80004289F00B5B4B200D2D1CF00D6D5D300DAD9D70004289F000633 + C70004289F00031860000318600002114300031860000318600004289F004365 + D500394F9A0000000000000000000000000000000000A8B7ED003E508E004964 + BF00042CB100042CB100042CB100042CB100042CB100042CB100FFFFFF00FFFF + FF00FFFFFF00042CB100042CB100042CB100042CB100042CB100042CB1004964 + BF003E508E00A8B7ED0000000000000000000000000000000000000000000000 + 000075798A00AFB3C3002E3E7E003E67F000456CF000456CF000456CF000456C + F000456CF000456CF000456CF000456CF0003761EF00486FF0002E3E7E007579 + 8A00000000000000000000000000000000000000000000000000000000000000 + 000000000000394D98005875D8000429A5000324920003249200042AA900042C + B200042CB200032493000324920003249200042DB5005875D8003E56A6000000 + 0000000000000000000000000000000000000000000000000000000000003E55 + A4001E49D800193BAC00AFADAC00B3B1B000BAB8B600C1BFBD00193BAC00204A + D800193BAC00091743000D1E58000A194900091743000D1E5800193BAD004B6D + DF003E55A400000000000000000000000000000000003F5194004966C8001139 + BF000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE00FFFFFF00FFFF + FF00FFFFFF000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE001139 + BF004966C8003F51940000000000000000000000000000000000000000000000 + 00007C819200B7BACA00304180003661EF003B64EF003B64EF003B64EF003B64 + EF003B64EF003B64EF003B64EF003B64EF00305CEE00466DF000304180007C81 + 9200000000000000000000000000000000000000000000000000000000000000 + 0000000000003F55A4005878E1000429A8000429A8000429A8000328A1000328 + A1000328A10003279F000429A8000429A800042FBD005878E100425BAE000000 + 0000000000000000000000000000000000000000000000000000000000004159 + AA002A54DF002649BB002445B3002445B3002445B3002445B3002649BB002D56 + DF002649BB002445B3002445B3002445B3002445B3002445B3002649BB004E71 + E4004159AA00000000000000000000000000000000004D62A9003659CC00123B + C300173FC400173FC400173FC400173FC400173FC400173FC400FFFFFF00FFFF + FF00FFFFFF00173FC400173FC400173FC400173FC400173FC400173FC400123B + C4003558CC004D62A90000000000000000000000000000000000000000000000 + 000080849500BBBFCF0032428100315CED00355FED00355FED00355FED00355F + ED00355FED00355FED00355FED00355FED002B58EC00456CEF00324281008084 + 9500000000000000000000000000000000000000000000000000000000000000 + 0000000000004259AB005879E6002044BC00ADBBE7003C5BC400032699000326 + 99000326990003239000042DB800C9D2EF000431C6005879E600445DB1000000 + 0000000000000000000000000000000000000000000078767600D3D3D300445D + B000365EE5003B62E6003B62E6003B62E6003B62E6003B62E6003B62E6003B62 + E6003B62E6003B62E6003B62E6003B62E6003B62E6003B62E6003B62E6005376 + E900445DB000D3D3D300807F7F0000000000000000005069BE002E53CE001D45 + CA00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00FFFFFF00FFFF + FF00FFFFFF00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB001D45 + CA002D52CE005069BE0000000000000000000000000000000000000000000000 + 000084889800BDC2D200334482002D59EA00315CEA00315CEA00315CEA00315C + EA00315CEA00315CEA00315CEA00315CEA002855E900446BEC00334482008488 + 9800000000000000000000000000000000000000000000000000000000000000 + 000000000000455EB100597BEB000430C200042FBF00042FBF00032187000323 + 8D0003238D0003249100042FBF00042FBF000434D300597BEB00465FB5000000 + 00000000000000000000000000000000000000000000EBEBEB00AEADAC007979 + 7D00728EEE005D80F200567AF200567AF200567AF200567AF200567AF200567A + F200567AF200567AF200567AF200567AF200567AF200567AF2005C7FF2004F67 + BB0079797D00AEADAC007C7A790000000000000000005774D4002850D5003459 + D700395ED800395ED800395ED800395ED800395ED800395ED800FFFFFF00FFFF + FF00FFFFFF00395ED800395ED800395ED800395ED800395ED800395ED8003459 + D700224BD4005773D30000000000000000000000000000000000000000000000 + 00008B8F9F00C5C9D90035468400234FE2002551E2002551E2002551E2002551 + E2002551E2002551E2002551E2002551E2001F4CE2004066E600354684008B8F + 9F00000000000000000000000000000000000000000000000000000000000000 + 0000000000004B64BB006082F2001445E9001240D700123FD600123FD600123F + D600123FD600123FD600123FD600113DD1001143EC006082F2004B64BB000000 + 00000000000000000000000000000000000000000000CFCECE00EBEBEB00AFAE + AD005F71B000829CF0006A8AF3006384F3006384F3006384F3005673D4004F6A + C2004F6AC2006283F0006384F3006384F3006384F3006A8AF300829DF5007979 + 7F00AFAEAD00EBEBEB007F7D7C0000000000000000005A77D8003057DA003E63 + DD004569DF004569DF004569DF004569DF004569DF004569DF00FFFFFF00FFFF + FF00FFFFFF004569DF004569DF004569DF004569DF004569DF004569DF003E63 + DD002B53DA005975D70000000000000000000000000000000000000000000000 + 00008E92A300C7CCDD00374785001E4ADE00214DDF00214DDF00214DDF00214D + DF00214DDF00214DDF00214DDF00214DDF001B48DE003E64E400374785008E92 + A300000000000000000000000000000000000000000000000000000000000000 + 0000000000004C65BC006485F3001E4DED001D4CE9001C49DE007691EB00E8ED + FB00E8EDFB001C49DD001C49DE001D4CE9001949ED006586F3004C65BC000000 + 00000000000000000000000000000000000000000000807E7E00D0CFCF00EBEB + EB007E7E81006878B1008DA4F100708EF400708EF400708EF400A4B0D800E4E4 + E300D6D5D400627CD500708EF400708EF4007794F4008FA7F6006D80BF00B0AF + AF00EBEBEB00D0CFCF00D3D3D30000000000000000005C79DB00375EDF00486C + E3005173E3005173E3005173E3005173E3005173E3005173E300FFFFFF00FFFF + FF00FFFFFF005173E3005173E3005173E3005173E3005173E3005173E300486C + E3003058DE005B78DB0000000000000000000000000000000000000000000000 + 00009195A600CBD0E000384987001A47DB001B47DA001B47DA001B47DA001B47 + DA001B47DA001B47DA001B47DA001B47DA001744DB003D62E100384987009195 + A600000000000000000000000000000000000000000000000000000000000000 + 0000000000004D66BD006888F3002856EE002957EE002956EC002854E5002854 + E5002854E5002854E7002956EC002957EE002150ED006888F3004D66BD000000 + 0000000000000000000000000000000000000000000000000000D3D3D3008584 + 8300EBEBEB00B2B1B10084848700A1B4F30090A8F6008AA3F600C9C8C600D4D3 + D100E0DFDD006F83C5008AA3F60090A8F6007E8EC00084848700B2B1B100D2D2 + D10085848300D3D3D3000000000000000000000000005C78D5005074EA005477 + EA006886EC006886EC006886EC006886EC006886EC006886EC00536CBE00536C + BE00536CBE006886EC006886EC006886EC006886EC006886EC006886EC005477 + EA004A6FE9005D78D50000000000000000000000000000000000000000000000 + 0000989CAC00D0D5E6003A4B8900113ED300123FD300123FD300123FD300123F + D300123FD300123FD300123FD300123FD3000F3CD3003A5FDB003A4B8900989C + AC00000000000000000000000000000000000000000000000000000000000000 + 0000000000004F68C0006E8DF3003E67F0004068F0004068F0004068F0004068 + F0004068F0004068F0004068F0004068F000335EEF006E8DF3004F68C0000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300D4D3D200EBEBEB00B3B3B2007C89B400ABBBF4009DB2F7009FA6C200C3C1 + BF00C9C7C5008598D8009DB2F700AEBFF80088878B00B3B3B200EBEBEB008B89 + 8700D3D3D300000000000000000000000000000000005D76C900597CEE005578 + EE007390F0007491F1007491F1007491F1007491F1007491F1007491F1007491 + F1007491F1007491F1007491F1007491F1007491F1007491F1007390F0005679 + EE005377EE005D77CA0000000000000000000000000000000000000000000000 + 00009A9EAF00D3D8E9003B4C8A000D3AD0000E3BD0000E3BD0000E3BD0000E3B + D0000E3BD0000E3BD0000E3BD0000E3BD0000C39D000395ED9003B4C8A009A9E + AF00000000000000000000000000000000000000000000000000000000000000 + 0000000000005069C100718FF400F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5 + FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F1F4FE007290F4005069C1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00008B898800D5D4D400EBEBEB008B8A8E007E8BB400B4C3F40092A2D9008494 + C6008494C600A8BAF500B5C5F9008896C300B4B4B300EBEBEB00D5D4D4008684 + 83000000000000000000000000000000000000000000566FC2006685EE00567A + F1007C97F400809BF500819BF500819BF500819BF500819BF500EDF1FD00FFFF + FF00EDF1FD00819BF500819BF500819BF500819BF500819BF5007D98F500587B + F1006081ED00566FC20000000000000000000000000000000000000000000000 + 00009DA1B200D6DBEC003C4D8B000835CC000936CC000936CC000936CC000936 + CC000936CC000936CC000936CC000936CC000835CC00375CD5003C4D8B009DA1 + B200000000000000000000000000000000000000000000000000000000000000 + 000000000000516BC2007491F400F1E0CB00F1E0CB00F1E0CB00F1E0CB00F1E0 + CB00F1E0CB00F1E0CB00F1E0CB00F1E0CB00F5EADA007592F400516BC2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D3D3D300908E8D00EBEBEB00B7B6B50091919300CBD6FB00C3D0 + FA00C3D0FA00949FC50091909400B7B6B500D7D6D600908E8D0093918F009290 + 8F000000000000000000000000000000000000000000AEBEF3005B73C5006886 + EC007391F40088A2F60093AAF60096ACF70096ACF70096ACF700FFFFFF00FFFF + FF00FFFFFF0096ACF70096ACF70096ACF70095ACF7008AA3F6007693F4006B89 + ED005B72C500AEBEF30000000000000000000000000000000000000000000000 + 0000A3A7B800DBE0F1003F4F8D000431C5000431C5000431C5000431C5000431 + C5000431C5000431C5000431C5000431C5000431C500365AD1003F4F8D00A3A7 + B800000000000000000000000000000000000000000000000000000000000000 + 000000000000536DC4007E99F500F3E2CB00F3E2CB00F3E2CB00F3E2CB00F3E2 + CB00F3E2CB00F3E2CB00F3E2CB00F3E2CB00F5EADA007E99F500536DC4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000D3D3D300D8D7D700EBEBEB00B8B7B6009DA6C500CDD8 + FB00CDD8FB0094939600B8B7B600EBEBEB009391900099979500A5A4A200A5A4 + A200939291000000000000000000000000000000000000000000607AD600647D + D0006384F3007F9AF50093AAF600A2B6F800A2B6F800A2B6F800FFFFFF00FFFF + FF00FFFFFF00A2B6F800A2B6F800A2B6F80095ACF700829CF5006686F300657E + D200607AD6000000000000000000000000000000000000000000000000000000 + 0000A6AABA00DDE3F3003F518E000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2000430C2000430C2003558CD003F518E00A6AA + BA00000000000000000000000000000000000000000000000000000000000000 + 000000000000546EC500819BF500F0F3FE00F1F4FE00F1F4FE00F1F4FE00F1F4 + FE00F1F4FE00F1F4FE00F1F4FE00F1F4FE00F3F6FE00819BF500546EC5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000096949300D9D9D800EBEBEB0097979900919D + C500919DC500B9B8B800EBEBEB00D9D9D800D3D3D300A09E9C00CCCCCC00CCCC + CC00A09E9C00000000000000000000000000000000000000000000000000536F + CA006989F3006A8AF300849EF500A8BAF800ADBEF800AEBFF800E1E3E800F2F2 + F200E1E3E800AEBFF800ADBEF800A9BBF80087A1F5006D8CF3006B8AF300536F + CA00000000000000000000000000000000000000000000000000000000000000 + 0000A9ADBD00DFE5F60040518F003558CA003558CA003558CA003558CA003558 + CA003558CA003558CA003558CA003558CA003558CA003558CA0040518F00A9AD + BD00000000000000000000000000000000000000000000000000000000000000 + 000000000000556FC600829DF500F4E4CB00F5E4CB00F5E4CB00F5E4CB00F5E4 + CB00F5E4CB00F5E4CB00F5E4CB00F5E4CB00F6EADA00829DF500556FC6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D3D3D3009B999800EBEBEB00BBBA + BA00BBBABA00DBDBDA009B999800D3D3D3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005570CB006780D400718EEE00819BF50090A8F6009FB3F700AFC0F900B1C1 + F900AFC0F900A1B5F70093AAF600849EF5007490ED006981D4005570CB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000AEB2C200E2E8F90042539000425390004253900042539000425390006776 + A6006776A600425390004253900042539000425390004253900042539000AEB2 + C200000000000000000000000000000000000000000000000000000000000000 + 0000000000005871C800829CF500CACCD100CBCDD100CBCDD100CBCDD100CBCD + D100CBCDD100CBCDD100CBCDD100CBCDD100D9DBDF00829CF5005871C8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D5D5D300DDDCDB00EBEB + EB00EBEBEB009D9C9B00D5D5D300000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000627DD8006179CA007A95F1007D98F500849EF5008BA4F6008EA6 + F6008BA4F60086A0F5007F9AF5007D97F1006179CA00627DD800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0B4C400E3E9FA0043549100435491004354910043549100435491003543 + 740035437400435491004354910043549100435491004354910043549100B6BA + CB00000000000000000000000000000000000000000000000000000000000000 + 0000000000005872C9007C97F400A5A7AC00A5A7AB00A5A7AB00A5A7AB00A5A7 + AB00A5A7AB00A5A7AB00A5A7AB00A5A7AB00BEC0C4007D98F5005872C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A19F9D00DEDD + DC00DEDDDC00D5D5D50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000AFBFF3005E77CA006881D4006B85E2007691ED007792 + ED007691ED006C86E2006881D4005E77CA00AFBFF30000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000094A2D300D8DEEF0094A0C700445492004454920044549200445492004454 + 920044549200445492004454920044549200445492004454920094A0C70094A2 + D300000000000000000000000000000000000000000000000000000000000000 + 0000000000005872C9007C96EE008FA5F00094AAF20095AAF20097ACF20097AC + F20097ACF20096ABF20095AAF20093A9F200889FF0007C96EE005872C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000C2CEF60096A3D400B5B9CA00B5B9CA00B5B9CA00B5B9CA00B5B9 + CA00B5B9CA00B5B9CA00B5B9CA00B5B9CA00B5B9CA00B5B9CA0096A3D4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D1D1D100CBCBCB00C7C7C700C5C5C5007C8FCD005368AF00354785003546 + 8100364783004358A100566CB5007F91D100C7C7C700C7C7C700C9C9C900DADA + DA00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000DDDDDD00C9C9C900C7C7C700C2C2C200B1BCE5003446 + 820029376700C0C0C000C0C0C000C5C5C500CDCDCD00DADADA00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000ACACAC00A4A4A400A4A4A400A4A4A4008A8A + 8A008A8A8A00A4A4A400B3B3B300C7C7C7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008EA2E10031458B004B64B5004561C1002E4FBE00143AB9002347 + BF00143BBC002449C7002E53CD004566D4004B61AF003D56AA0097A9E8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000008297DD00485A9900415C + B9003654B7002E3F7C008196DC00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A4A4A40000000000000000002A3B7400354476003F518C004D66B7004F67 + B9004F68BA00485DA50040518D00374677007288CB0000000000C7C7C700A4A4 + A400000000000000000000000000000000000000000000000000000000000000 + 00005068BA00374885004B62AD002345B600082EAD00042AAB00617ACB008295 + D7005974CB00042DB600042EB9000832BF003E61D500506AC4004258A5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008297DE00304381003755BB000F34 + AE00082DAB004B60A4002F4180008297DE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000009494 + 940000000000B7C3EE0032427D004C61A5004E69C3004B69CE003F62D6004063 + D9004064DA004365D4004B69CF004F6AC6003A497D002C3E7B00AAB9EB00D3D3 + D30096969600D3D3D30000000000000000000000000000000000000000000000 + 0000415393004B65BE002E50BF00042CB300042CB2001B3FB7008194D6008194 + D5006179CA003353BE00042CB100042DB5000832C0002E53CE004C6ACF005B74 + C900000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005169BD00394B89004D65B300082FB000042B + AF00042BAE003655BD004C61A700314483000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000096969600D3D3 + D30095A5DF00959392007D8294004464CE00385DD7004368E3005175EB005275 + EB005174EA004D72EA004469E5003B60DC004963B7007D81940091908F000000 + 0000000000009F9F9F000000000000000000000000000000000093A5E4003E52 + 96003256CD001D44C8002349C900274CCA008B9FE20091A4E4008B9FE100879B + DE008498DC006A82D2002245B800042AAB00042BAF00042CB400042EB9004D6A + CB004258A20095A9E7000000000000000000283870003551AE003552B000455F + B4004964B6004B65B800546EBB005E76BC005F78C000657DC200788DC500788D + C500788DC500788DC5007287C4005F78C0005E76BC005E76BC004B65B8004963 + B5004963B5003A56B1003E59B0002D3E75000000000000000000000000000000 + 00000000000000000000546CC1004C66BC002A4EC400042EB900042DB800042D + B800042DB700042DB7000830B8003657C50035488B00A8B7ED00000000000000 + 000000000000000000000000000000000000000000009A9A9A0000000000B7C4 + EF00C7C6C500E1E1E000F0F0F00094A0C8003D5DC9002D50C400183BAD001739 + A8001738A7001D40B300284BBF003757C300D1D0D000EDECEC00DDDCDB00B1AF + AE00A4B5E80000000000B3B3B3000000000000000000000000003A519D00546D + C1002D52D100365BD3003D60D500496AD8009DAEE9009CADE80096A8E60093A6 + E5008197DF002348C300052EB700042CB200042AAB00042BAD00042CB2002F53 + C9005069BF003D54A30000000000000000002A3C760003279F00032699001032 + A300032699001032A30003279F001032A30003279F000326990003279F000326 + 9C001033A800032699001032A30003279F0003279F0003279F0003279F000327 + 9F0003279F0003279F002947AD002A3C76000000000000000000000000000000 + 000000000000566FC3003F5396002B50C800042FBE00042FBE00042FBD00042F + BD00042EBC00042EBC00042EBB000831BC004F66B100384D9600BCC8F3000000 + 0000000000000000000000000000000000000000000000000000000000003344 + 8000E7E6E600F3F3F300F7F7F700BAB9B8007580A700233F9C00425AAB00425A + AA00455CA700334EA500203B9800747FA500EBEAEA00F9F9F900EFEFEF009EA3 + B7002F3E7300000000009A9A9A0000000000000000006D85D6004F64AD005272 + DB004668DA005070DD005373DE007D95E600A8B8EE00A6B6ED00A1B2EB009EAF + E9006782DC002248C800173EC2000B34BC00042BB000042AAB00042BAC000830 + B8003F60CD004C61A90000000000000000002D3E7C000328A400042695002545 + B000042695002545B0000328A4002545B0000328A400042695000328A4000426 + 95002545B000042695002545B0000328A4000328A4000F32A8003250B5003250 + B5000F32A8000328A4002949B2002D3E7C000000000000000000000000000000 + 00007A8FDC0041559B004E69C4000430C2000430C2000430C2000430C2000430 + C2000430C1000430C100042FC000042FC0003E5FCE004E63A900364D98000000 + 00000000000000000000000000000000000000000000000000007388CB003A49 + 7C00ADB9E100FAFAFA00EBEBEA00CCCAC900A5A3A100797F9800384677003543 + 7500324172003B4B8000797F9800A6A4A300DFDEDD00EEEEEE00FBFBFA004862 + B7003F4E82005D73BE009F9F9F0000000000000000004D63AB005F7DE1004D6F + E100758FE9007691E9007792E900BBC8F400BAC8F400B8C6F300B3C2F200B0BF + F000ACBCEF00496BDA003E61D5003156CF00163DC1000831B900042CB300042A + AB00082FB1004563C70098AAE90000000000324687000D33B3000D2B8F005670 + C9000D2B8F005670C9000E34B3005670C9000E34B3000D2B8F000E34B3000D2B + 8F005670C9000D2B8F005670C9000E34B3000E34B3001B399C00304AA400304A + A4001B399C001439B5002D4EBD0032468700000000000000000000000000BDCB + F400546DC000355AD6000A37CE000D3ACE000E3ACE000E3ACD000E3ACC000E3A + CC000E3ACC000E3ACC000E3ACC000D39CB000A36C9001841CC004C6ACF005871 + C7000000000000000000000000000000000000000000A4B2E5003A4879004C66 + BF005074EA004060CC0098A4CC00C5C3C100D3D2D000A1B3ED00000000000000 + 00000000000000000000A1B3ED00D3D2D000D5D3D20097A2C8003656C2003A5F + DD00506BC8003D4D8200A4A4A4000000000000000000566FC2005E7DE6006180 + E700859DED0088A0EE0088A0EE00C2CEF600C1CDF500C0CCF500BCC9F400B8C6 + F300B5C3F3007892E6004F6FDC004466D800294ECC001940C3000932BA00042B + AC00042BAC006B82D000617ACD000000000035488C002145BD001D378D00788E + D7001D378D00788ED7002549BF00788ED7002549BF001D378D002549BF001D37 + 8D00788ED7001D378D00788ED7002549BF002549BF001C368F006B7CB6006B7C + B6001C368F002549BF003858C50035488C000000000000000000000000004B61 + B4003C61DC001440D4001541D4001B46D5001C46D4001C46D4001D47D4001C46 + D3001C46D3001D47D3001D47D3001C46D2001641D100123ED000284FD300455A + A3008A9EE400000000000000000000000000000000005B71B70042538D004765 + C8005073E8003154CA002541A000D5D4D200A1B3ED0000000000000000000000 + 0000000000000000000000000000A1B3ED009CA3BB001F3A9600274ABE00466B + E7004565D000475A9C009F9F9F0000000000000000005D77CF006684E9007590 + EC0094A9F100A3B5F300B9C7F600CBD5F800C9D4F800C7D2F700C2CEF600C0CC + F500BCC9F400AFBFF1006582E3005575DE00395DD3002A4FCC001A41C300042C + B2003252BB008598D700465FB10000000000384C92003658C8002E4696008398 + DC002E4696008398DC003B5CCA008398DC003B5CCA002E4696003B5CCA002E46 + 96008398DC002E4696008398DC003B5CCA003B5CCA0029408C00828FB900828F + B90029408C003B5CCA004262CB00384C920000000000000000006680D5005067 + B300214CDB001D49DB00234DDB002A53DC002A53DC002A53DC002A53DB002A52 + DA002A52DA002A52DA002A52D9002A52D900244DD7001F49D6001944D500556E + C5003E57A800D1DAF8000000000000000000000000003A4E9000495DA1003D5E + CC004A6DE1002548BE003751AA007382B8000000000000000000000000000000 + 0000000000000000000000000000000000003D4C8100324CA3001B3EB0004D72 + EA004063D5005066B100A4A4A40000000000000000006F89E3007893EF0094AA + F200D6DEFA00D7DFFA00D7DFFA00D7DFFA00D6DEFA00D5DDFA00D1DAF900CED8 + F900C7D2F800BAC8F50097ABEE00728DE8005776DF005372DB009BADE800133B + C0003354C300425FC200364A8B00000000003E539E005A77D9005A71BD00879C + E3005A71BD00879CE3006983DD00879CE3006983DD005A71BD006983DD005A71 + BD00879CE3005A71BD00879CE3006983DD006983DD006983DD006983DD006983 + DD006983DD006782DC005371D7003E539E0000000000526DC9005B75C800466B + E800345DE6003D64E6004368E700466BE700456AE600456AE600456AE6004469 + E500456AE5004469E4004469E4004469E4004469E4004065E300385FE1002F58 + E0005876DC004B61AF00000000000000000000000000222F59004F67B500385B + D1004063D7001D3FB100425AAB00D4D4D4000000000000000000000000000000 + 00000000000000000000000000000000000038477900425AAA001032A1005174 + E9004266DC00546DBF008A8A8A000000000000000000718BE5007E99F0009EB2 + F400DCE3FB00DDE4FB00DDE4FB00DDE4FB00DCE3FB00DAE1FA00D6DEFA00D4DD + FA00C4D0F800C8D3F800C2CEF60094A9EE006481E4007B94E600A1B2EB003D5F + CE004866CC003354C20036488A00000000004158A3005C7ADD00637CCD00849B + E6006A81CE00859BE600738DE100859BE500738DE1006A81CE00738DE1006A81 + CE00859BE5006A81CE00859BE500738DE100738DE100738DE100738DE100728C + E100718BE1006C86E0005372DB004158A300000000004E67BA006380E500365F + EA00456BEB004D72EB005276EC005376EC005477EC005376EB005376EB005376 + EB005376EA005376EA005376EA005376E9005376E9005073E900496EE7003059 + E300456AE6005972CC00000000000000000000000000232F59004F67B500385B + D1004164D8001E40B200425AAB00D6D6D6000000000000000000000000000000 + 00000000000000000000000000000000000039477900465DA8001133A2005174 + E9004266DC00546DBF008A8A8A000000000000000000728DE400819BF100A5B7 + F500D6DEFB00E2E8FC00E2E8FC00E2E8FC00E1E7FC00E0E6FC00DBE2FA00D8E0 + FA00CBD6F900CED8F900C9D4F800C3CFF600758FE8009CAEED00A8B8EE004062 + D2007C92DD007289D600364A900000000000455CA9003158D900375CDA00395E + DA003B60DA003B60DA003B60DA003B60DA003B60DA003B60DA003B60DA003B60 + DA003B60DA003B60DA003B60DA003B60DA003B60DA003B60DA003B60DA003A5F + DA00395EDA00365BDA003C61DB00455CA900000000005C75CC005579F100355F + ED005478F0005E80F0006182F1006182F0006182F0006182F0006182F0006182 + EF006182EF006182EF006081EE006181EE006181EE006080ED005A7CEC004268 + E900345DE7005677E400BFCCF5000000000000000000374577004E65B200385B + CE004467DB001E41B600435CAD0093A5DE000000000000000000000000000000 + 0000000000000000000000000000000000003C4B7C00425AAB001537A8005275 + EA003F63D900526BBC00A4A4A4000000000000000000647ED100849EF200A4B7 + F600D3DCFB00D5DEFB00E2E8FC00EAEFFD00E9EEFD00E8EDFD00E5EAFD00E1E7 + FC00DFE5FB00D7DFFA00CDD7F900CDD7F800C0CCF500BAC8F400B2C1F2009FB0 + EA008A9FE3006680D7006079CA0000000000BFCCF5004967CA00335BE3002651 + E100335BE200375EE300385FE3003960E3003960E3003960E3003960E3003960 + E3003960E3003960E3003960E3003960E300385FE300385FE300375EE3002C56 + E1002550E100335BE3004B64B900BFCCF500000000006583E9005A7DF2005C7F + F2007B97F4007E99F5007D98F5007D98F5007D98F5007D98F5007D98F5007D98 + F5007D98F500829DF50086A0F500859FF500809BF5007E99F5007B97F4006384 + F3004C71F000466DEF005773CE0000000000000000005D71B90045558F004664 + C7005275E9003356CB002642A2009C9A990096A8E20000000000000000000000 + 000000000000000000000000000096A8E2007A809800203B98002B4EC000476C + E6004666CF00495C9E00A4A4A40000000000000000005D74C2007E99F10099AE + F600D8E0FB00DCE3FC00DEE5FC00E7ECFD00ECF0FE00EBF0FD00DAE1FB00CBD6 + FA00CED8FA00DAE1FA00D6DEFA00D1DAF900C5D1F700BECBF500B6C4F300A0B1 + EB0094A7E7006983D70097A9E80000000000000000004E68BF00506DD000456A + E9004F73EA005578EB005578EB005578EB005578EB005578EB005578EB005578 + EB005578EB005578EB005578EB005578EB005578EB005578EB005578EB004268 + E800446AE900506DD000BFCCF50000000000000000006D8AEA006C8BF3007491 + F4008FA7F60092A9F6008EA6F6008AA3F6008AA3F6008AA3F60086A0F500849E + F500839EF50097ADF7009BB0F7009AAFF70093AAF6008FA7F6008AA3F600718F + F400587CF200436BF0004E68C10000000000000000009FAFE3003F4D7E004B66 + BD005174E9004464CF007985AD00BEBCBA009E9C9B0096A8E200000000000000 + 0000000000000000000096A8E2009E9C9B00ABA9A8007884AA003B5BC5003A5F + DB004F6BC80042518500ACACAC0000000000000000004D67C100728CE50091A8 + F500D8E0FC00E2E8FD00E3E9FD00E2E8FD00E4E9FD00EEF2FE00E4E9FC00DBE2 + FB00E3E8FC00DEE5FB00D9E0FA00D4DDFA00C9D4F800C1CDF500BAC8F400A0B1 + EC00A0B1EA00788CCF00000000000000000000000000BFCDF600516BC4005774 + D6005E80EF006A89F0006E8CF1006E8CF1006E8CF1006E8CF1006E8CF1006E8C + F1006E8CF1006E8CF1006E8CF1006E8CF1006E8CF1006E8CF1006B8AF0005679 + EF005774D500516BC400000000000000000000000000718CEA008EA6F6008AA3 + F6009FB3F700A3B6F800A2B6F8009AAFF70097ADF70093AAF600859FF500829D + F5008AA3F600A7B9F800AABCF800ABBDF800A5B8F800A2B6F8009CB1F7007C97 + F4006183F2004A70F0004E68C00000000000000000000000000034467F004F63 + A5004163D20099A5CC00BFBEBE00C8C6C400BCBBB900B7B5B50093A5DE00D4D4 + D400D4D4D4006C7AB000B7B5B500BDBBB900D6D4D300C2C1C10098A4CB004061 + D0005067B20034447700C7C7C700000000000000000000000000536CC500738D + E000C0CEFA00DDE4FC00E8EDFD00EBF0FD00E9EEFD00E6ECFD00E4E9FD00EDF1 + FE00EAEFFD00E3E8FC00DFE5FB00D9E0FA00CED8F900C5D1F700B7C5F400A9B9 + EF007F93D500455DAA000000000000000000000000000000000000000000C1CD + F6005876DA005F7FEA006A87EB006D8AEB006D8AEB006D8AEB006D8AEB006D8A + EB006D8AEB006D8AEB006D8AEB006D8AEB006B88EB006986EB006281EA005771 + C900C1CDF600000000000000000000000000000000006882DA009DB2F700BDCB + FA00AEBFF800B4C4F900B5C5F900ACBDF800A0B4F7008CA5F600718FF400738C + E1006F87D600C8D4FB00BCCAFA00B3C3F900B8C7F900B4C4F900AEBFF8008AA3 + F6006888F3004E73F1005671CD00000000000000000000000000000000003646 + 8200B4B3B200E8E8E700F9F9F900ECEBEB009CA8D0002642A000425BAC00425A + AB00425AAB003550A800233E9B009CA8CE00F5F4F400F8F8F700E4E3E2007D83 + 97003242780000000000000000000000000000000000000000009CAEEE005B73 + C600AEBFF800CAD5FB00E2E8FD00EEF2FE00EDF1FE00EAEFFD00E3E9FD00E9EE + FD00EAEFFD00E6EBFD00E0E6FC00DBE2FA00CED8F900C1CDF600B0C0F300AFBD + ED00596DB20097A9E80000000000000000000000000000000000000000000000 + 00005771C9005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C800C1CD + F60000000000000000000000000000000000000000006179CC00809AF300B9C8 + F900BAC9FA00B3C3F900B4C4F900A6B9F80096ACF7007D98F5006D8AED005F77 + C800556EC400BAC9FA00CCD7FB00BECCFA00B4C4F900B2C2F900ABBDF800859F + F5006082F200567AF2006882DB0000000000000000000000000000000000ACBB + ED00C4C3C200D8D7D600EBEAEA00BAC6ED004262CD003255CA001D40B300183B + AD00173AAC002245B9002F52C5003E5EC900F8F8F800E7E6E600D4D3D200ACAB + A900A6B5E8000000000000000000000000000000000000000000000000006883 + DC0096ABF100B3C3F900CCD7FB00EAEFFD00EEF2FE00EDF1FE00E6EBFD00E1E7 + FD00E2E8FD00E6ECFD00E1E7FC00DBE2FA00C9D4F900B9C7F600B0C0F3007485 + C400617AD0000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005570CC006F87DA008EA6 + F600CBD6FB00C5D1FA00B5C5F9009EB3F700859FF5007894F400637CCD00617C + D8007993E200859CE800B1C1F900C7D3FB00BAC9FA00B0C0F900A7B9F8007995 + F4006082F2005F7EE700AEBEF3000000000000000000B3B3B300000000000000 + 0000C6C5C300C8C7C600DFDFDE004264D3005174EA005174E8004265D9003E61 + D5003E61D4004669DD004F72E5005376EA00A6B2DB00DDDCDB00C3C2C1008EA0 + D900000000000000000000000000000000000000000000000000000000000000 + 00006883DC005E76C9007992E400A9BBF800B8C7F900C9D5FB00D2DBFB00D0DA + FB00C9D4FA00C6D2F900CED8F900C3CFF800B7C6F700A2B1E5005C72BE000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000C1CDF6005772 + CC006E88DC007A94EA007D97ED006E89E5006A83D3005871C700000000000000 + 0000000000008FA4EA00556FC7006980CF007C96EB007A95EC00738EEB00617D + DA005D76C9006B84DA00000000000000000000000000000000009A9A9A000000 + 000000000000A6B6E90038487C005064AC004D68C0004361C7003A5DD1003E61 + D5003E61D5003F60CF004463CA004D68C50049598E0034447900A6B6E9000000 + 0000B3B3B300ACACAC0000000000000000000000000000000000000000000000 + 0000000000009CAFEE005871C9007B95E80091A8F400A1B5F700ABBDF800ABBC + F700A6B8F700BDCBF900C0CDF800BCCAF7008092D300536CC1009BADEC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005E79D6005771C8005670C7005874CD006B84DD00D3DBF900000000000000 + 0000000000000000000000000000859BE9005670C7005670C7005670C700647E + D9009FB1F0000000000000000000000000000000000000000000D3D3D3009696 + 96000000000000000000000000003A497A00445487004A5C9B005068B600526A + B8005169B9005066AF004B5E9D00455588005E74BB000000000000000000B3B3 + B3009A9A9A000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005670C800677ECD007089DB0096AAEE009DB1 + F200A8B9F30093A6E70091A2DF006F84CD007A91E30000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009F9F9F00BDBDBD0000000000000000008598D8005065AD00344478002A36 + 60002A3661003E4F87005065AD008598D8000000000000000000BDBDBD00BDBD + BD00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009D9B9B0092908F0086858500BFBFBF00C0C0C000C0C0C000C5C5C500C7C7 + C700C7C7C700DADADA00DBDBDB00DCDCDC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000030448A00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000DCDCDC00DADADA00CACACA00C5C5C500C0C0C000C0C0C000213166001521 + 490015214900C0C0C000C1C1C100C7C7C700D2D2D200DADADA00DCDCDC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A5A3A200C2C0BF00AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003349920035447C00B9C6 + F100000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CBCBCB0025325F0025325F002532 + 5F0025325F0025325F0025325F0025325F0025325F0025325F0025325F002532 + 5F0025325F0025325F0025325F0025325F0025325F0025325F0025325F002532 + 5F0025325F0025325F0026346600CBCBCB000000000000000000000000000000 + 0000000000006C82CD001E306E002F3F740038509D004E66B60042548F003751 + AB003751AB001E3377004E66B60038509D003F4F88001E306E006C82CD000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A5A3A200BFBDBC00AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003D54A2006271A7003D54 + A200000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003855B5003A56B5003B57 + B5003C57B4003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58 + B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003C58 + B5003B57B5003A56B50026377400000000000000000000000000000000000000 + 000000000000203372005264A0005268B30039497D003F518D005067B4001F3E + A6001F3EA6004C60A2003F518D0039497D004963B7005264A000203372000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A5A3A200D1D0CF00AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000657ECC00647AC5004051 + 8D008397DE000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003753B2000F34AF001337 + AF00163AB000173AB000173AB000173AB000173AB000173AB000173AB000173A + B000173AB000173AB000173AB000173AB000173AB000173AB000173AB0001539 + B0001337AF000F34AE00283A7C00000000000000000000000000000000000000 + 00000000000031479600465A9E002948AE004E68BC003C58B5001638A7000328 + A0000328A0002443AC003C58B5004E68BC002948AE00465A9E00314796000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A8B7ED005D78CF004664 + C9004F63A4000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000415EBF001F44BC00274A + BD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002D4E + BD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002C4E + BD00284BBD001F44BC002D4186000000000000000000000000006F86D200253C + 85002B429000455793004C66C000042AAA00042AAA00042AAA00042AAA00092E + AC00092EAC00042AAA00042AAA00042AAA001B3EB2004C66C00045579300344C + 9C00253C85007F95DB0000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D0D8F700728AD900173E + C1005871C800A8B7EE0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004764C600284CC4003254 + C4003556C5003556C5003556C5003556C5003556C5003556C5003556C5003556 + C5003556C5003556C5003556C5003556C5003556C5003556C5003556C5003556 + C5003254C400284CC4002F448D000000000000000000D0D8F700263A8000566A + AE004B5FA1004C67C4001237B400042BAF00042BAF001F42B800506BC800506B + C800516BC2003D5BC1001F42B800042BAF00042BAF001237B4004C67C400485E + A900566AAE00263A800000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000007A8FD700123B + C500375ACE004359AD0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004C6ACD003155CB003C5D + CC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5F + CC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5F + CC003C5DCC003155CB003147920000000000000000004B64B800465A9C004B68 + C9003D5CC5001B40BB00042CB4000D34B6004160C600546DC000364886003345 + 84002E41810044599F00546DC0004160C600042CB400042CB4001B40BB00294C + BF004B68C900465A9C0000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006D83CD00355A + D8000433CF005B76D0004259A900D1DAF8000000000000000000000000000000 + 000000000000000000000000000000000000000000005C79DA004668D8005674 + DA005876DA005876DA005876DA005876DA005876DA005876DA005876DA005876 + DA005876DA005876DA005876DA005876DA005876DA005876DA005876DA005876 + DA005674DA00486AD900374E9D00000000000000000000000000435DB2004659 + 99000F38C1001039C2000F38C1005168B3002B428C00A7B6EC00000000000000 + 00000000000000000000A7B6EC002B428C004766CF000F38C1001039C2005673 + D30045589800435DB20000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006E84CC003E63 + DF000737D6004468E0005A72C000556FC8000000000000000000000000000000 + 000000000000000000000000000000000000000000006581E1005273E000627F + E1006682E1006682E1006682E1006682E1006682E1006682E1006682E1006682 + E1006682E1006682E1006682E1006682E1006682E1006682E1006682E1006682 + E1006380E1005474E0003A51A3000000000000000000000000005A74C7004B61 + AC001A42C8001A42C8003155CD0033488D00A7B7ED0000000000000000000000 + 0000000000000000000000000000A7B7ED005B75CB003055CD001A42C8004E6D + D4004960AB005A74C70000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000667DC700607F + E8001241DE002450E100607EE2005369B4000000000000000000000000000000 + 000000000000000000000000000000000000000000006D89E8005D7DE7006F8B + E800748FE900748FE900748FE900748FE900748FE900748FE900748FE900748F + E900748FE900748FE900748FE900748FE900748FE900748FE900748FE900748F + E900718CE900607FE7003C55A800000000000000000096A9E80030499C005A72 + C300244BCE00244BCE00506FD800506AC0000000000000000000000000000000 + 0000000000000000000000000000000000004D64AF004F6FD800234ACE003D60 + D4005871C30030499C0000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A7004C63B200455EB3005E77CE007189DA005973 + CC004762B90044579B00475DA7004862B6005C77D2005E7CE2006583E7006681 + D8005970C000425BB40000000000000000000000000000000000000000000000 + 00000000000000000000000000004A63BA004A63BA004A63BA005D74C2007995 + F3002855EC002855EC002C58EC006282EF007790E20000000000000000000000 + 000000000000000000000000000000000000000000007C97F400708EF400829D + F4008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6 + F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6 + F50088A1F5007794F400425CB30000000000000000005D78D5005273E0004669 + DD003A5FDB003A5FDB006481E200000000000000000000000000000000000000 + 0000000000000000000000000000000000003E549D006481E300355BDA00395E + DB004367DD004B6DDE002D459400000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A7006886EB006D87E0005F7AD500546EC200546F + C8005A74CB004E6DD6003B5DCD002E52CA003E62D8004568DE005778E5007994 + F1007C97F4006881DB0000000000000000000000000000000000000000000000 + 00000000000000000000000000008BA1EA006F8BEB006E8BEB007993ED006C8B + F300325EEF00325EEF00325EEF00486FF000536CBF00D2DBF800000000000000 + 000000000000000000000000000000000000000000007E99F500708EF400829D + F50093AAF60097ADF70099AFF70099AFF70099AFF70099AFF70099AFF70099AF + F70099AFF70099AFF70099AFF70099AFF70099AFF70099AFF70099AFF70099AF + F70091A8F6007E99F500445DB40000000000000000005E7AD8005676E3004E70 + E2004368E000466AE1006986E600000000000000000000000000000000000000 + 0000000000000000000000000000000000004157A2006B86E1003E63DF004267 + E0004A6DE1004F71E20030489900000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A7006282EC00839DF3007C97F3006886EA005878 + E4004E6FDE001D45CB000D36C1000F38C200395ED6005071E0006583E700869F + F20087A1F5007791EA0000000000000000000000000000000000000000000000 + 00000000000000000000000000008DA3EE005378F100496FF0004C72F1004169 + F0003D66EF003D66EF003D66EF003D66EF007087D6005873D000000000000000 + 000000000000000000000000000000000000000000007D98F5006989F3007995 + F40088A2F6008FA7F60098AEF700A3B6F800A3B6F800A3B6F800A3B6F800A3B6 + F800A3B6F800A3B6F800A3B6F800A3B6F800A3B6F800A3B6F800A3B6F800A0B4 + F70096ACF700819BF500455EB6000000000000000000455CA700556EBF00718B + E5004D70E5004A6EE500718DEA00AABAEF000000000000000000000000000000 + 000000000000000000000000000000000000485EA8006F8BEA00496DE5005677 + E6006D88E500546DBF003E58B300000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700879FF000A5B8F70093AAF5006D8AEA005A7A + E400476ADD002047CB000D36C0000F38C2003A5ED6005071E0006684E70091A8 + F3009FB3F600839BEC0000000000000000000000000000000000000000000000 + 00000000000000000000000000008498DF007693F4005176F1005176F1005176 + F1005176F10091A7F00099ADF10096ABF1008EA5EF008DA0E100526CC7000000 + 000000000000000000000000000000000000000000005C79DA002E55D6002E55 + D6002E55D6002E55D6006D87E0008DA5F60094ABF60097ADF7009AAFF7009AAF + F7009AAFF7009AAFF7009AAFF7009AAFF7009AAFF70099AFF70097ADF70090A8 + F60086A0F5007794F4004761B800000000000000000000000000667ED5005C75 + C7006081EE006383EF006A88EE00425BAC00ADBCF10000000000000000000000 + 0000000000000000000000000000ADBCF1007690E5006A89EF006383EF007994 + F1005872C600667ED50000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A70089A1F000A5B8F70093AAF5006D8AEA005A7A + E400476ADD002047CB000D36C0000F38C2003A5ED6005071E0006684E70091A8 + F300A0B4F600849CEC0000000000000000000000000000000000000000000000 + 0000000000000000000000000000798ED70090A8F6005D80F2005D80F2005D80 + F2005D80F2006B81CF00506AC100506AC100506AC100506AC100566FCD000000 + 000000000000000000000000000000000000000000007391F400456CF000456C + F000456CF000456CF0003A60E000A8BAF800ACBDF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800ABBD + F800A7B9F800A2B6F8004962B9000000000000000000000000005370CB005D73 + BE006989F2006E8CF2006A89F2006982D6003E59B100ADBCF100000000000000 + 00000000000000000000ADBCF1003E59B2007C97F4006989F2006E8CF200849E + F4005970BC005370CB0000000000000000000000000000000000000000000000 + 0000A7A5A300D2D1D000AEACAB0089A1F000A5B8F70093AAF5006D8AEA005A7A + E400476ADD002047CB000D36C0000F38C2003A5ED6005071E0006684E70091A8 + F300A0B4F600849CEC0000000000000000000000000000000000000000000000 + 00000000000000000000000000007489D1009BB0F7006787F3006787F3006787 + F3006787F300859BE900516BC400000000000000000000000000000000000000 + 000000000000000000000000000000000000000000007894F4004B71F1004B71 + F1004B71F1004B71F1004B71F100365BD700365BD700365BD700365BD700365B + D700365BD700365BD700365BD700365BD700365BD700365BD700365BD700365B + D700365BD700365BD7004A63BB000000000000000000728BDD005069BA006F8B + EB006E8DF3007894F4007894F4007F9AF5006B84D700465FB300ADBCF1000000 + 0000000000005D79D100465FB3006781D5007491F4007894F4007894F4007290 + F4006A88EB004F68BA0000000000000000000000000000000000000000000000 + 0000A5A3A200BFBDBC00AAA7A70089A1F000A5B8F70093AAF5006D8AEA005A7A + E400476ADD002047CB000D36C0000F38C2003A5ED6005071E0006684E70091A8 + F3009DB2F600839CED0000000000000000000000000000000000000000000000 + 00000000000000000000000000005972C600B1C1F500839EF5007D98F5007D98 + F5007D98F5008BA4F600879EE900536DC6000000000000000000000000000000 + 00000000000000000000000000000000000000000000819BF5005579F1005579 + F1005579F1005579F1005579F1005579F1005D80F2007E99F500819BF500819B + F500819BF500819BF500819BF500819BF500819BF500819BF500819BF500819B + F500819BF500819BF5004C66BD000000000000000000D2DBF800425CB6006983 + D9006A82D100809BF2007E99F5008DA5F60088A2F6008BA4F6008DA5F60086A0 + F50086A0F5008EA6F6008CA5F60088A2F6008BA4F600829CF500849EF200617C + D8006882D900425CB60000000000000000000000000000000000000000000000 + 0000A5A3A200BFBDBC00AAA7A700849DF000A4B7F70093AAF5006D8AEA005A7A + E400476ADD002047CB000D36C0000F38C200385DD6004D6FDF006280E60089A1 + F20091A8F5007E98EC0000000000000000000000000000000000000000000000 + 00000000000000000000000000005973CF00AEBEF30094ABF60086A0F50086A0 + F50086A0F50089A2F60097ADF7006C83D2000000000000000000000000000000 + 00000000000000000000000000000000000000000000849EF5005B7EF2005B7E + F2005B7EF2005B7EF2005B7EF2006384F300829CF5007E91D5004E67BE004E67 + BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67 + BE004E67BE004E67BE004E68C1000000000000000000000000008EA2E9004460 + BC004964C100667DCA00849EF20097ADF70097ADF70097ADF70090A8F6008DA5 + F6008EA6F60094ABF60097ADF70097ADF70093AAF60089A2F300687FCA004E6B + C8004460BC008EA2E90000000000000000000000000000000000000000000000 + 0000A5A3A200BFBDBC00AAA7A7007691EE009CB1F50091A8F4006D8AEB005979 + E4004669DD001F46CB00143CC3002147C7004567D8005D7BE1006885E7007994 + F1007B96F3007691EC0000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D50099AAE800A5B8F80092A9F60092A9 + F60092A9F60092A9F6009AAFF7008EA4EB000000000000000000000000000000 + 0000000000000000000000000000000000000000000088A2F6006183F2006183 + F2006183F2006183F2006183F200839EF5008195D600536CC000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004965C2006E85D20094ABF6009BB0F7009EB3F700A2B6F800A2B6 + F800A2B6F800A1B5F7009EB3F7009DB2F70095ACF700748AD5004965C2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000817F7E00B9B8B600C1C0BE00787F9E007A93E7007994EF006A87EA006984 + E100647ED800576DB9005468A800475DA7006981D600748DDD00778DDF00546E + C800637BCD006C85DC0000000000000000000000000000000000000000000000 + 0000000000000000000000000000859CE9008699DD00BAC9FA00A6B9F800A6B9 + F800A6B9F800A6B9F800A6B9F800A2B6F8005771C90000000000000000000000 + 000000000000000000000000000000000000000000008EA6F6008EA6F6008EA6 + F6008EA6F6008EA6F6008EA6F600546DC10091A5EB0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004763BF006D87DB007C96ED006A80C8006D84D20099AEF200A0B4 + F7009EB3F7008399E3006D84D2006A7FC7007491F400718ADD00405DBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BFBEBC00D9D8D700E3E2E1007A7877005974CF005F77C9005E74C000556B + B800516BC200899EE500C9D4F600000000000000000000000000000000000000 + 000092A7ED005874CD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000AFBFF3007D91D600B0C0F900A1B5F700A4B7 + F800A5B8F800A2B6F8009BB0F7008AA3F6006D84D4007C93E600000000000000 + 00000000000000000000000000000000000000000000506AC100506AC100506A + C100506AC100506AC100506AC10091A5EB000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008197E5004862BC005971C2005974D0006B85DB006B84D6008AA3 + F60087A1F5004965C0006B85DB005974D000627BCF004862BC008197E5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CFCDCC00EBEBEA00F8F8F8007A7877000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D3DBF9006F84D000A7B8F300B1C1F500B2C2 + F500B2C2F500B1C1F500B0C0F500AABAF30093A6E8005872CA00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000D2DBF8008197E50000000000000000005871C300728D + EA00708CEA009DAFEE0000000000000000006B85DC00D2DBF800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009C9A9A00959392008C8A8900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D3D3D300C2C2C2003B4E + 91003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E + 8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E + 8E003B4E9100C2C2C200000000000000000000000000D6D6D600566AB0002836 + 6700283667002836670028366700283667002836670028366700283667002836 + 6700283667002836670028366700283667002836670028366700283667002836 + 6700283667005468AB00DEDEDE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000030448900BECAF4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000283B80004F6CCD00506C + CB00506ABE00506AC000516BC500475CA5002E46920000000000000000000000 + 00000000000000000000000000002E469200516BC500506BC300506ABE00506C + CB004F6CCD004F6CCD0000000000000000000000000000000000000000003850 + A3000536DB000536DB000536DB000536DB000536DB000536DB000536DB000536 + DB000536DB000536DB000536DB000536DB000536DB000536DB000536DB004368 + E4003850A3000000000000000000000000000000000000000000293C8000042D + B6000000000000000000042DB6006780D3006780D3005B75CF005772CE00536F + CC004765C9004765C9003F5EC7003758C5003758C5000931B800000000000000 + 0000042DB600293C800000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000026366A007D94E1004256 + 9C00687FCF000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000293D8400042EBC00042E + BC00042EBC00042EBC00042EBC002A408B00BBC7F20000000000000000000000 + 0000000000000000000000000000BBC7F2001B389800042EBC00042EBC00042E + BC00042EBC00042EBC0000000000000000000000000000000000000000003851 + A1000535D8000535D8000535D8000535D8000535D8000535D8000535D8000535 + D8000535D8000535D8000535D8000535D8000535D8000535D8000535D8004368 + E1003851A10000000000000000000000000000000000000000002A3E8200042D + B7000000000000000000042DB7003052C4003052C4003052C4003052C4003052 + C4003052C4003052C4003052C4003052C4003052C400042DB700000000000000 + 0000042DB7002A3E820000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000028387000869FF1007D95 + E6004A5DA0000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002B3E8600042FBF00042F + BF00042FBF00042FBF001D399C00BBC7F2000000000000000000000000000000 + 0000000000000000000000000000000000002C438E001D399C00042FBF00042F + BF00042FBF00042FBF000000000000000000000000000000000000000000384F + 9F000534D4000534D4000534D4000534D4000534D4000534D4000534D4000534 + D4000534D4000534D4000534D4000534D4000534D4000534D4000534D4004367 + DF00384F9F0000000000000000000000000000000000000000002B3F8400042E + B900042EB900042EB900042EB900395AC800395AC800395AC800395AC800395A + C800395AC800395AC800395AC800395AC800395AC800042EB900042EB900042E + B900042EB9002B3F840000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002B3B75008BA1EB00829A + EA006A87EB003349900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002E428D000431C5000431 + C5000431C5000431C5002148CC003A4D9300869AE10000000000000000000000 + 0000000000000000000000000000BBC8F300566CB7003358D0000431C5000431 + C5000431C5000431C5000000000000000000000000000000000000000000384E + 9B000634CD000735CD000735CD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000735CD000735CD004366 + D900384E9B0000000000000000000000000000000000000000002D418700042E + BC00042EBC00042EBC00042EBC004C6ACF004C6ACF004C6ACF004C6ACF004C6A + CF004C6ACF004C6ACF004C6ACF004C6ACF004C6ACF00042EBC00042EBC00042E + BC00042EBC002D41870000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000304180009CAEED007F96 + E1004B67C7004368E40030418000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002F4590000432C9000432 + C9001F3EA5000432C9000432C9005671C8003B4F9600889CE200000000000000 + 00000000000000000000BDC8F300354B99003358D3000432C9000432C9001F3E + A5000432C9000432C9000000000000000000000000000000000000000000384E + 98000E3ACB000F3ACB000F3ACB000C2FA3000C2FA3000C2FA3000C2FA3000C2F + A3000C2FA3000C2FA3000C2FA3000C2FA3000C2FA3000F3ACB000F3ACB004567 + D600384E980000000000000000000000000000000000000000002F438A00042F + BE000000000000000000042FBE005673D3005673D3005673D3005673D3005673 + D3005673D3005673D3005673D3005673D3005673D300042FBE00000000000000 + 0000042FBE002F438A0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000334486009EB0EE007F96 + E1004B67C7004468E40033448600000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000324893000835CC002341 + A800334A9A002442A9000835CC00254DD2005A74CB003E539A00000000000000 + 000000000000BDC9F300374E9C005B71BD000835CC000835CC002442A900334A + 9A002341A8000835CC000000000000000000000000000000000000000000384D + 9800153FCA001740CA001740CA001740CA001740CA001740CA001740CA001740 + CA001740CA001740CA001740CA001740CA001740CA001740CA001740CA004868 + D500384D9800000000000000000000000000000000000000000030448C00042F + C0000000000000000000042FC0005F7AD7005F7AD7005F7AD7005F7AD7005F7A + D7005F7AD7005F7AD7005F7AD7005F7AD7005F7AD700042FC000000000000000 + 0000042FC00030448C0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000035488B009FB1EE007F96 + E1004B67C7004468E40035488B00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004159B0003B53A900BCC9 + F40000000000BCC9F400384FA0001945D6001945D6003359D9004358A1008A9E + E400BDC9F400647AC5004468DE001945D600324FB400324B9F0091A6EB000000 + 0000BCC9F4003B53A90000000000000000000000000000000000000000003A50 + 9B00254CCF00274ECF00274ECF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00274ECF00274ECF004D6D + D8003A509B000000000000000000000000000000000000000000324790000430 + C3000430C3000430C3000430C300718ADD00718ADD00718ADD00718ADD00718A + DD00718ADD00718ADD00718ADD00718ADD00718ADD000430C3000430C3000430 + C3000430C3003247900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003A4F9700A0B2EE007F96 + E1004B67C7004469E5003A4F9700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BDC9F4003956BA00224CDA00224CDA006B84D600465A + A5003D55A6004B6EE100224CDA00224CDA00354EA10091A6EC00000000000000 + 0000000000000000000000000000000000000000000000000000000000003B51 + 9C002D53D2003055D2003055D2002745A9002745A9002745A9002745A9002745 + A9002745A9002745A9002745A9002745A9002745A9003055D2003055D2005070 + D9003B519C000000000000000000000000000000000000000000334893000430 + C4000430C4000430C4000430C4007B92E0007B92E0007B92E0007B92E0007B92 + E0007B92E0007B92E0007B92E0007B92E0007B92E0000430C4000430C4000430 + C4000430C4003348930000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003D539E00A0B2EE007F96 + E1004B67C7004469E5003D539E00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000003C53A700415DBE002B54DE004368E2007189 + D9006E84CD002B54DE002B54DE00415DBE0093A7EC0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003C53 + 9D003358D400375CD400375CD400375CD400375CD400375CD400375CD400375C + D400375CD400375CD400375CD400375CD400375CD400375CD400375CD4005271 + DA003C539D000000000000000000000000000000000000000000354A95000532 + C70000000000000000000532C700859BE300859BE300859BE300859BE300859B + E300859BE300859BE300859BE300859BE300859BE3000532C700000000000000 + 00000532C700354A950000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004056A300A1B3EE007F96 + E1004B67C7004569E5004056A300000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000BECAF4004059AD003B62E5003B62 + E5003B62E5004B67CA003B55AC0094A8EE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003E55 + A1004366D900486AD900486AD900FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00486AD900486ADA005776 + DC003E55A1000000000000000000000000000000000000000000394F99000D39 + CB000D39CB000D39CB000D39CB009CAEEA009CAEEA009CAEEA009CAEEA009CAE + EA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA000D39CB000D39CB000D39 + CB000D39CB00394F990000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004962B9006B82CC00B4C4F900A7B9 + F80098AEF7007692F2006279CA00465EB3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000BECCF500455DB200446AE900446A + E900446AE9006C85DE005065B3008CA1E8000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004056 + A2004A6CDB005171DD005171DD00405AB000405AB000405AB000405AB000405A + B000405AB000405AB000405AB000405AB000405AB0005171DD005070DD005977 + DD004056A20000000000000000000000000000000000000000003B519B00113D + CE00113DCE00113DCE00113DCE00113DCE00113DCE00113DCE00113DCE00113D + CE00113DCE00113DCE00113DCE00113DCE00113DCE00113DCE00113DCE00113D + CE00113DCE003B519B0000000000000000000000000000000000000000000000 + 0000000000000000000000000000516AC4006980CD0087A0F3009DB1F3008AA3 + F4007993ED005C7AE0006081EE006078CC00BFCCF50000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000BECCF500475FB5008396D9004B70EC004B70 + EC004B70EC006081EF00879CE5005369B6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004157 + A5005272DD005978DE005978DE005978DE005978DE005978DE005978DE005978 + DE005978DE005978DE005978DE005978DE005978DE005978DE005978DE005D7B + E0004157A50000000000000000000000000000000000000000003E539E001641 + D1001641D1001641D1001641D100728CE300728CE3006783E0006480E000607D + E0005574DD005574DD004D6EDC004568DA004568DA001641D1001641D1001641 + D1001641D1003E539E0000000000000000000000000000000000000000000000 + 0000000000000000000000000000677FD0007A95F1008CA1E80096ACF500839D + F100728DEA004F6ED7004667D4005276EC004D65BE00BFCDF600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BFCCF5008DA0DF007C97F4005D80F2006A83D700455F + BB004962BB005D80F2005D80F200708EF400586FBD008FA3E900000000000000 + 000000000000000000000000000000000000000000000000000000000000435A + A800617FE2006A86E3006A86E300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006A86E3006985E300617E + E100435AA80000000000000000000000000000000000000000004258A2001E48 + D50000000000000000001E48D5004E6FDE004E6FDE004E6FDE004E6FDE004E6F + DE004E6FDE004E6FDE004E6FDE004E6FDE004E6FDE001E48D500000000000000 + 00001E48D5004258A20000000000000000000000000000000000000000000000 + 000000000000556FCD00637CD1006B85D9008096E1009CAEED0088A1F3007792 + EC006582E4004363CF003354C3002446B5003C63E8005B75CF00506AC3000000 + 000000000000000000000000000000000000000000004E69C5004A65C000BFCC + F50000000000BFCCF5004D66BD00829DF5006686F3006686F3004761BC0098AB + F000BFCCF5007089D9006686F3006686F30098AAEB005970BF0090A3EA000000 + 0000BFCCF5004A65C0000000000000000000000000000000000000000000445B + AA006985E300728CE500728CE5005A6FB7005A6FB7005A6FB7005A6FB7005A6F + B7005A6FB7005A6FB7005A6FB7005A6FB7005A6FB700728CE500718BE5006481 + E300445BAA0000000000000000000000000000000000000000004359A500234C + D700234CD700234CD700234CD7005978E0005978E0005978E0005978E0005978 + E0005978E0005978E0005978E0005978E0005978E000234CD700234CD700234C + D700234CD7004359A50000000000000000000000000000000000000000000000 + 00005671CD00637CD1005C7DEC006E86D7008A9FE500A1B3F000819BF000718C + E9005F7DE1003D5ECB002D4EBD001F41B0001033A500375FE7005C76D000BFCD + F60000000000000000000000000000000000000000004761B8008296DA004862 + BB00BFCCF5004E67BE0096A6E1006E8DF3006E8DF300778DDB0098ABF0000000 + 0000000000004C65BD00778DDB006E8DF3007F9AF5009CAEEC005C73BF00BFCC + F5004862BB008296DA000000000000000000000000000000000000000000465D + AB00708BE5007A94E8007A94E8007A94E8007A94E8007A94E8007A94E8007A94 + E8007A94E8007A94E8007A94E8007A94E8007A94E8007A94E8007892E6006683 + E400465DAB000000000000000000000000000000000000000000455BA8002750 + D9002750D9002750D9002750D9006481E4006481E4006481E4006481E4006481 + E4006481E4006481E4006481E4006481E4006481E4002750D9002750D9002750 + D9002750D900455BA80000000000000000000000000000000000000000000000 + 0000607AD1005375EB004D69C8007990DD0094A8EA00A0B3F3007B96EE006A86 + E6005977DD003758C600284AB9001A3CAB0004248F000C2E9F00375FE700526C + C500BFCDF600000000000000000000000000000000004963BA007F9AF50097AD + F700A0AFE40097ADF7007F9AF5008498DE004B64BF0098ABF000000000000000 + 00000000000000000000BFCCF5004F67BF007F9AF5007F9AF5008DA5F60091A2 + DE0097ADF7007F9AF5000000000000000000000000000000000000000000485F + AF007F98EA008AA0EB008AA0EB008AA0EB008AA0EB008AA0EB008AA0EB008AA0 + EB008AA0EB008AA0EB008AA0EB008AA0EB008AA0EB008AA0EB0089A0EB006A86 + E500485FAF0000000000000000000000000000000000000000004A60AD003058 + DE0000000000000000003058DE007A94EA007A94EA007A94EA007A94EA007A94 + EA007A94EA007A94EA007A94EA007A94EA007A94EA003058DE00000000000000 + 00003058DE004A60AD00000000000000000000000000000000005973CF005F79 + D2003251B7003F5BB8005772C9008DA2E700A1B3F10092A9F4006F8BE8005D7B + E0004C6CD5002C4DBC001E40AF001031A00003238D0003238D0003238D00375F + E7005E78D200536EC7000000000000000000000000004B64BB0087A1F50087A1 + F5009EB3F70087A1F50087A1F5004D66C00098ABF00000000000000000000000 + 0000000000000000000000000000BFCCF5008A9EE00087A1F50087A1F5009EB3 + F70087A1F50087A1F50000000000000000000000000000000000000000004960 + B000879EEB0093A8ED0093A8ED0093A8ED0093A8ED0093A8ED0093A8ED0093A8 + ED0093A8ED0093A8ED0093A8ED007D8EC9007D8EC9007D8EC9007B8DC9005A73 + C4004960B00000000000000000000000000000000000000000004C62AF00355C + E0000000000000000000355CE000849CEC00849CEC00849CEC00849CEC00849C + EC00849CEC00849CEC00849CEC00849CEC00849CEC00355CE000000000000000 + 0000355CE0004C62AF000000000000000000000000005973CF005F78D3004068 + EE003B59BF00516DCB006882D8009CAFEE00A3B5F40091A8F400708CE900607E + E3005070DA003255C7002447BC00183BB1001033A6001033A6001033A600193E + B8003B64ED005F78D300C1CDF60000000000000000004C65BC008FA7F6008FA7 + F6008FA7F6008FA7F60090A2E20098ABF0000000000000000000000000000000 + 000000000000000000000000000000000000526AC20090A2E2008FA7F6008FA7 + F6008FA7F6008FA7F60000000000000000000000000000000000000000004B62 + B2008EA4ED009BAEEF009BAEEF009BAEEF009BAEEF009BAEEF009BAEEF009BAE + EF009BAEEF009BAEEF009BAEEF008494CC00485EAB00485EAB00485EAB005167 + B0004B62B20000000000000000000000000000000000000000004F64B1003960 + E2003960E2003960E2003960E2008FA5EF008FA5EF008FA5EF008FA5EF008FA5 + EF008FA5EF008FA5EF008FA5EF008FA5EF008FA5EF003960E2003960E2003960 + E2003960E2004F64B1000000000000000000000000005F79D3003C65EE00426A + F0006183F2007491F40088A2F600B3C3F900ADBEF8009EB3F700829CF5007491 + F4006787F3004F74F100446BF0003B64EF003761EF003761EF003761EF003761 + EF003761EF003B64ED005872CD0000000000000000004E67BE00A1B5F700A1B5 + F700A1B5F700A1B5F700B3C3F8004E68C100BFCDF60000000000000000000000 + 0000000000000000000000000000BFCDF6009BABDE00B3C3F800A1B5F700A1B5 + F700A1B5F700A1B5F70000000000000000000000000000000000000000004D65 + B6009BAEF000ABBBF200ABBBF200ABBBF200ABBBF200ABBBF200ABBBF200ABBB + F200ABBBF200ABBBF200ABBBF20092A0CF00C7D2F600AEBEF200718CE7004C65 + B900BFCCF5000000000000000000000000000000000000000000536AB7004267 + E6004267E6004267E6004267E600A2B4F300A2B4F300A2B4F300A2B4F300A2B4 + F300A2B4F300A2B4F300A2B4F300A2B4F300A2B4F3004267E6004267E6004267 + E6004267E600536AB7000000000000000000000000003761EF000936CC00214A + D4005475E4006E8AE900869EEF0098ADF50088A1F5007B96F0005C7BE2004E6E + DA003F60CF002648B900193BAB000E2F9E000324930003269A000328A000042B + AD00042DB500042EBB005872C90000000000000000004F69C000A9BBF800A9BB + F800A9BBF800A9BBF800A9BBF800A0ADDF00526CC70000000000000000000000 + 0000000000000000000000000000526CC700B9C8F900A9BBF800A9BBF800A9BB + F800A9BBF800A9BBF80000000000000000000000000000000000000000004E66 + B80097ABEF00AEBEF300B1C1F300B2C1F300B2C1F300B2C1F300B2C1F300B2C1 + F300B2C1F300B2C1F300B1C1F30096A3CF00A6B7F100738EE800546DC200BFCC + F500000000000000000000000000000000000000000000000000546BB900466B + E7000000000000000000466BE700AABBF400AABBF400AABBF400AABBF400AABB + F400AABBF400AABBF400AABBF400AABBF400AABBF400466BE700000000000000 + 0000466BE700546BB900000000000000000000000000486CE800496DE8005477 + EA006D8AED007994EE00849DF0008BA2F000849DF0007E98EE00708DED006A88 + ED006483EB005678EA005174EA004C70E800486CE800486CE800486CE800486C + E800486CE800486CE8005872C9000000000000000000556FCC005069C0005069 + C0005069C0005069C0005069C0005069C000556FCC0000000000000000000000 + 0000000000000000000000000000556FCC005069C0005069C0005069C0005069 + C0005069C0005069C00000000000000000000000000000000000000000004F67 + BA00879FEE009DB0F100A5B6F100A8B9F200A8B9F200A8B9F200A8B9F200A8B9 + F200A8B9F200A7B8F100A5B6F1008898CD006986E7005770C4004F67BD000000 + 0000000000000000000000000000000000000000000000000000576DBB00496E + E9000000000000000000496EE900B2C2F500B2C2F500B2C2F500B2C2F500B2C2 + F500B2C2F500B2C2F500B2C2F500B2C2F500B2C2F500496EE900000000000000 + 0000496EE900576DBB000000000000000000000000005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005B76D200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000516A + C000516ABD00516ABD00516ABD00516ABD00516ABD00516ABD00516ABD00516A + BD00516ABD00516ABD00516ABD00516ABD00516AC000BFCDF500000000000000 + 00000000000000000000000000000000000000000000000000007790E100546B + BE005A71C1005A71C1005A71C1005A71C1005A71C1005A71C1005A71C1005A71 + C1005A71C1005A71C1005A71C1005A71C1005A71C1005A71C1005A71C1005A71 + C100546BBE007790E10000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000455CA5002F3E + 7100475CA400445BA800435AA700435AA600435AA600435AA500435AA500435A + A500445AA5004359A3004359A3004359A2004359A1004359A1004358A0004353 + 8C002D3A660043589F000000000000000000000000003855B5003A56B5003B57 + B5003C57B4003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58 + B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003C58 + B5003B57B5003A56B500263774000000000000000000000000007E7E7E003C3C + 3C007B7B7B008A8A8A00D8D8D800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000A3B3E90029396C003B4A7E0043549300485C9E00485C + 9E00485C9E00435493003B4B80002A396E00A3B3E90000000000000000000000 + 000000000000000000000000000000000000000000006279C90030427E004660 + B400072BA3000328A1000328A00003279F0003279F0003279F0003279D000326 + 9C0003269C0003269A0003269A00032699000325970003259700032596002643 + A300495EA5002E3D71000000000000000000000000003753B2000F34AF001236 + AE00163AB000173AB000173AB000173AB000173AB000173AB000173AB000173A + B000173AB000173AB000173AB000173AB000173AB000173AB000173AB0001539 + B0001337AF000F34AF00283A7C000000000000000000000000009E9E9E005959 + 5900333333006B6B6B0088888800C6C6C6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003E55A3002F3E7400455EAF002F4BAB001E3DA400032699000326 + 9900032699001E3DA4002F4BAB00455EAF002F3E74003E55A300000000000000 + 00000000000000000000000000000000000000000000283C8000495EA8002748 + B5000429A7000429A7000429A6000429A5000328A4000328A3000328A2000328 + A1000328A00003279F0003279F0003279E0003279D0003269C0003269B000326 + 9A002745A800485B9B000000000000000000000000003C58B800173CB5001D40 + B6002244B6002345B7002345B6002446B7002446B7002446B7002446B7002446 + B7002446B7002446B7002446B7002446B7002345B6002345B6002345B7002144 + B7001E41B700183DB6002A3D8100000000000000000000000000000000007676 + 76003C3C3C00ADACAC00C4C3C2008D8D8D0080808000B0B0B000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000293D85003D4E8900465FB0000B2EA10003279F0003279F0003279F000327 + 9F0003279F0003279F0003279F000B2EA100465FB0003D4E8900293D85000000 + 000000000000000000000000000000000000000000002B3D81004361C700042C + B300042CB200042CB100042BB000042BAF00042BAE00042BAD00042BAC00042A + AB00042AAA00042AAA00042AA9000429A8000429A7000429A6000429A6000328 + A4000328A300435EBB000000000000000000000000004764C600284CC4003254 + C4003556C5003556C5003556C5003556C5003556C5003556C5003556C5003556 + C5003556C5002B4BB5000626910003269B00677FCF004160C8003556C5003556 + C5003254C400284CC4002F448D00000000000000000000000000000000000000 + 0000E0DFDF00CECCCC00C0BEBD00A09E9D00605F5E006F6F6E0027377200B6C3 + F000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002D41 + 8A003654B900082DA9000429A8000429A8000429A8000429A8000429A8000429 + A8000429A8000429A8000429A8000429A8000429A800082DA9003654B9002D41 + 8A0000000000000000000000000000000000000000002D4185004362CA00042D + B800042DB600042DB600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00042AAA00042A + AA00042AA900425EBD000000000000000000000000004C6ACD003054CB003C5D + CC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5F + CC003F5FCC000728960003279F0003279F002343AD006D85D5004A68CE003F5F + CC003C5DCC003155CB0031479200000000000000000000000000000000000000 + 0000CBCACA00DAD9D900C7C6C500767574007777760071737A003E508B002738 + 7300B6C5F0000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000445DAE004154 + 9500082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00082EAE004154 + 9500445DAE00000000000000000000000000000000002F438A004363CE000530 + BE00042EBC00042EBB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0003259600042B + AE00042BAE00425FC1000000000000000000000000005471D4003C5FD2004969 + D3004B6AD2004B6AD2004B6AD2004B6AD2004B6AD2004B6AD2004B6AD2004B6A + D2003D5BC100072CA400072CA400072CA400072CA4002646B100758CD9004B6A + D2004969D2003C5FD100344A9700000000000000000000000000000000000000 + 00009A999900E3E2E200C8C7C6009291910085888F001F3A95003E57A9003E50 + 8B00283873000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A7B6EC00384987004863 + BE00042CB100042CB100042CB100042CB100042CB100042CB100042CB100042C + B100042CB100042CB100042CB100042CB100042CB100042CB100042CB1004863 + BE0038498700A7B6EC00000000000000000000000000334993004A6BD800143E + CA00153EC900143DC800123CC8000C30A8000A2FA700092EA700062BA4001437 + A9001437A9000328A1000328A1000328A00003279F0003279F0003279F00042D + B800042DB8004362C9000000000000000000000000006581E1005273E000627F + E1006682E1006682E1006682E1006682E1006682E1006682E1005571CF001435 + A2001035AF001035AF001035AF001035AF001035AF001035AF001035AF00859B + E3006C87E3005373E0003A51A300000000000000000000000000000000000000 + 0000B0B0B00093929200B3B2B2006883E0005070DC003B5CCB00092A99000F2D + 93003E57A900293A7500B6C5F100000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000394B8E004A67C800133A + BF000C35BE000C35BE000C35BE00FFFFFF00FFFFFF00A2B2E5000C35BE000C35 + BE000C35BE00A2B2E500FFFFFF00FFFFFF000C35BE000C35BE000C35BE001239 + BE004A67C800394B8E00000000000000000000000000354B98004E6FDC001D46 + D1002149D1001F48D0001D46CF001A43CD001841CC001640CB002148CC00D1D9 + F400D1D9F4000B36C5000A35C4000833C3000530C1000530C100042FBF00042F + BE00042FBD004363CD000000000000000000000000006D89E8005D7DE7006F8B + E800748FE900748FE900748FE900748FE900748FE900748FE900173496001336 + A9001336A900153AB500153AB500153AB500153AB500153AB5001439B1003250 + B4008B9FE3006885E8003C55A800000000000000000000000000000000000000 + 0000000000006F75900091939D006E8CF2006A88EC005574DD002143B300092A + 99000F2D930040528C002A3B7500B6C5F1000000000000000000000000000000 + 000000000000000000000000000000000000000000004A5DA500395BCD00153D + C400173FC400173FC400173FC400FFFFFF00FFFFFF00FFFFFF00173FC400173F + C400173FC400FFFFFF00FFFFFF00FFFFFF00173FC400173FC400173FC400153D + C400395BCD004A5DA500000000000000000000000000384F9D005172E000264F + D8002C53D7002A51D6002951D600254DD400234BD300214AD200D3DBF500FFFF + FF00FFFFFF00254CCF00153FCB00133DCA000F3AC8000E39C7000C37C7000833 + C4000632C3004364D1000000000000000000000000007591EF006887EE007B96 + F000819BF000819BF000819BF000819BF000819BF000819BF000142F8C00142F + 8C00142F8C001A3FBA001A3FBA001A3FBA001A3FBA001A3FBA002949B400142F + 8C00324B9D008DA3EB004058AE00000000000000000000000000000000000000 + 000000000000BECCF500455FB900829DF5007B97F4006C89EC003B5CCB002143 + B300092A99003E57A90040528D002A3C76000000000000000000000000000000 + 000000000000000000000000000000000000000000005169BD003357CF002148 + CB00234ACB00234ACB00234ACB009DA9D000FFFFFF00FFFFFF00ABBAEB00234A + CB00ABBAEB00FFFFFF00FFFFFF009DA9D000234ACB00234ACB00234ACB002148 + CB003357CF005169BD000000000000000000000000003C54A7005879E800375E + E2004267E3004065E2003F64E2003B61E0004569E100D9E0F800FFFFFF00FFFF + FF00FFFFFF00FFFFFF00D6DDF700365BDA00264ED600244DD600224BD4001E47 + D2001742D0004B6CDB000000000000000000000000007E99F500708EF400829D + F50094ABF60097ADF70099AFF70099AFF70099AFF70099AFF70099AFF70099AF + F70099AFF7002448BF002448BF002448BF002448BF002448BF00B7C7F90099AF + F70091A8F6007E99F500445DB400000000000000000000000000000000000000 + 00000000000000000000000000004762BB00627BD4007D98F5006B89EC005574 + DD003B5CCB00092A99000F2D93003E57A9002C3D7800B6C5F100000000000000 + 000000000000000000000000000000000000000000005D78D5002D54D500365B + D700395ED800395ED800395ED800395ED8003353BE00A4AFD400FFFFFF00FFFF + FF00FFFFFF00A4AFD4003353BE00395ED800395ED800395ED800395ED800385D + D8002E54D5005F79D5000000000000000000000000003F58AB005C7DEC003F66 + E7004D71E9004B6FE700496EE7005073E600DBE2F900FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00D8DFF8003158DC002F56DB002D55DA002951 + D900204AD6004E6FDE000000000000000000000000007C97F4006989F3007995 + F40088A2F6008FA7F60098AEF700A3B6F800A3B6F800A3B6F800A3B6F800A3B6 + F800A3B6F8002646B3002646B3002646B3002646B3002646B300BECCFA00A1B5 + F70095ACF700819BF500455EB600000000000000000000000000000000000000 + 0000000000000000000000000000BFCCF5004963BC00627CD5007894F4006D8A + EC005574DD002143B300092A99000F2D930042548E002C3E7900B6C5F1000000 + 00000000000000000000000000000000000000000000607BD800365CDC004266 + DE004569DF004569DF004569DF004569DF004569DF003D5CC300FFFFFF00FFFF + FF00FFFFFF003D5CC3004569DF004569DF004569DF004569DF004569DF004468 + DF003A5FDC006681DB00000000000000000000000000415AB1006081F000486D + EC00587BED005679EC005477EC00DDE4FA00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005F7EE6003A60E000395FE000335A + DE002952DC005173E200000000000000000000000000ADBEF8009AAFF700A0B4 + F700A7B9F800ACBDF800ADBEF8009FB3F700A4B7F800A6B9F800A7B9F800A7B9 + F800A8BAF800223C9000223C9000223C9000223C9000223C9000C0CEFA009FB3 + F70093AAF600809BF5004660B700000000000000000000000000000000000000 + 000000000000000000000000000000000000BFCCF5004A64BD007E99F5007E99 + F5006D8AEC003B5CCB002143B300092A99003E57A90042548F002D3E79000000 + 00000000000000000000000000000000000000000000657FDC003F64E1004D70 + E3005173E3005173E3005173E3005173E3005173E300BCC9F400FFFFFF00FFFF + FF00FFFFFF00BCC9F4005173E3005173E3005173E3005173E3005173E3004F71 + E3004368E1006C85DE00000000000000000000000000455EB6006787F300597C + F2006E8DF3006D8CF3006B8AF3005B77D5005772CF005570CD00FFFFFF00FFFF + FF00FFFFFF004C69CB004A68CB004866CA004563C9004564CA004D71E700486D + E9003A62E700597BEA000000000000000000000000007391F400456CF000456C + F000456CF000456CF0003A60E000A8BAF800ABBDF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800ABBD + F800A7B9F800A2B6F8004962B900000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004D67C0006C85 + D80088A2F6006D8AEC005574DD003B5CCB00092A99000F2D93003E57A9002E40 + 7B00B6C5F100000000000000000000000000000000006680D6006080EC006080 + EB006886EC006886EC006886EC00C5D1F800FFFFFF00FFFFFF00B2BBDA005670 + C400B2BBDA00FFFFFF00FFFFFF00C5D1F8006886EC006886EC006886EC006181 + EB006181EC006780D6000000000000000000000000004660B7006B8AF3006183 + F2007A96F4007894F4007693F4007391F400718FF4006F8DF300FFFFFF00FFFF + FF00FFFFFF005671CE006384F3006082F1005C7EF0005B7EF000597CEF005276 + EE004269EB005C7EEE000000000000000000000000007894F4004B71F1004B71 + F1004B71F1004B71F1004B71F100365BD700365BD700365BD700365BD700365B + D700365BD700365BD700365BD700365BD700365BD700365BD700365BD700365B + D700365BD700365BD7004A63BB00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF6004E68 + C1006D85D9007E99F5006D8AEC005574DD002143B300092A99000F2D93004354 + 8D004C526E00AFBEEE000000000000000000000000006279C8006E8CF0006887 + EF007491F1007491F1007491F100FFFFFF00FFFFFF00FFFFFF00657FD3007491 + F100657FD300FFFFFF00FFFFFF00FFFFFF007491F1007491F1007491F1006988 + EF006E8CF0006279C8000000000000000000000000004761B8006E8DF3006A8A + F300849EF500829DF500819BF5007E99F5007C97F4007A96F400FFFFFF00FFFF + FF00FFFFFF005E78CF006D8CF3006C8BF3006888F3006686F3006586F3005E80 + F2004B71F0006082F1000000000000000000000000007C97F4005075F1005075 + F1005075F1005075F1005075F1005075F1005075F1005075F1005075F1005075 + F1005075F1005075F1005075F1005075F1005075F1005075F1005075F1005075 + F1005075F1005075F1004B65BC00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000BFCD + F6004F69C2007E99F5007894F4006B89EC003B5CCB002143B300092A99007B7E + 8F0068676900555769000000000000000000000000005169BB007E97F0006F8D + F300819BF500819BF500819BF500FFFFFF00FFFFFF00BAC2DC00819BF500819B + F500819BF500BAC2DC00FFFFFF00FFFFFF00819BF500819BF500819BF5007290 + F4007E98F1005169BB000000000000000000000000004963BA007491F4007995 + F4009BB0F70099AFF70097ADF70093AAF60091A8F60090A8F600FFFFFF00FFFF + FF00FFFFFF007187D100839EF500829CF5007F9AF5007D98F5007B97F400718F + F400597CF2006686F300000000000000000000000000849EF5005B7EF2005B7E + F2005B7EF2005B7EF2005B7EF2006384F300829CF5007E91D5004E67BE004E67 + BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67 + BE004E67BE004E67BE004E68C100000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000516BC4006881D9007D98F5006C89EC005674D700949AAF00F4F4 + F400E3E2E200B1B2B800697CC2000000000000000000AEBDF200586EBF00869E + F0008FA7F60096ACF70096ACF7008497D8008497D80096ACF70096ACF70096AC + F70096ACF70096ACF7008497D8008497D80096ACF70096ACF70091A8F60089A1 + F000586FBF00AEBDF2000000000000000000000000004B64BB007693F4007D98 + F500A6B9F800A4B7F800A2B6F8009FB3F7009DB2F7009BB0F700FFFFFF00FFFF + FF00FFFFFF007B8FD1008EA6F6008CA5F60089A2F60087A1F500859FF5007995 + F4005F81F2006888F30000000000000000000000000088A2F6006183F2006183 + F2006183F2006183F2006183F200839EF5008195D600536CC000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BFCDF600536DC6006882DA007A95ED00B9BFD400BFBEBC00EEEE + ED00CDCED400898D9C005A6387000000000000000000000000005C76D2006980 + CE008BA4F6009DB2F700A2B6F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6 + F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6F8009CB1F7008FA7F6006F85 + D0005C76D200000000000000000000000000000000004C65BC007C96EF007F9A + F500ADBEF800AFC0F900ADBEF800AABCF800A8BAF800A6B9F800A3B6F800899A + D3008798D2008496D2009AAFF70098AEF70094ABF60092A9F60090A8F6007B97 + F4006283F200718EEE000000000000000000000000008DA5F6006787F3006787 + F3006787F3006787F3006989F3008597D700546DC10091A5EB00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BFCDF600536EC700ADB2C100EDECEC00EDECEC00BFC0 + C6008F93A2008F93A2006A6E7E00000000000000000000000000000000004E68 + C30094ABF60097ADF700A8BAF800AEBFF800AEBFF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800A5B8F80095ACF70095ACF7004E68 + C30000000000000000000000000000000000000000007990E3005F77C8008AA2 + F1008AA3F60091A8F60094ABF60094ABF60093AAF60093AAF60090A8F6008EA6 + F6008DA5F6008AA3F60088A2F60086A0F500829DF500809BF5007995F4007391 + F4007D97EF005D74C700000000000000000000000000506AC100506AC100506A + C100506AC100506AC100506AC10091A5EB000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000787D9300B5B5B900C9CAD000AFB4 + C300B3B8C800B3B9C8007286CC00000000000000000000000000000000000000 + 00004F6AC500758AD3009EB2F400A8BAF800B2C2F900B7C7F900BCCAFA00BCCA + FA00BBCAFA00B6C6F900B1C1F900A7B9F80098ADF2006F85D1004F6AC5000000 + 0000000000000000000000000000000000000000000000000000546FCB006078 + C9007C97F400809BF500829DF500839EF500829DF500829DF500819BF500819B + F500809BF5007F9AF5007E99F5007E99F5007B97F4007A96F4007794F400718B + E6005E75C8006680D90000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006974A1009095A500BCC1 + D000BCC1D100A3A8B80000000000000000000000000000000000000000000000 + 0000000000005E79D3005F76C5009FB3F500A3B6F800A4B7F8009FB3F7009FB3 + F7009FB3F700A3B6F800A0B4F7009FB3F5005F76C5005E79D300000000000000 + 0000000000000000000000000000000000000000000000000000000000007991 + E3005069C0005069C0005069C0005069C0005069C0005069C0005069C0005069 + C0005069C0005069C0005069C0005069C0005069C0005069C0005069C000506A + C3007991E3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000007489C8008E92 + A200828BAF007A8ED40000000000000000000000000000000000000000000000 + 00000000000000000000AEBEF2005C74C500768CD500859AE40090A6F10091A7 + F10090A6F100839AE500758AD5005C73C400AEBEF20000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DADA + DA002F417A002834600028346000283460002834600028346000283460002834 + 600028346000283460002834600028346000283460002834600028346000CACA + CA00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CDD6F6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000092A1D7002635640026356300C3C3C300CACACA00D3D3D300000000000000 + 0000000000000000000000000000D5D5D50090A1D5002532600025326000C8C8 + C800DADADA0000000000000000000000000000000000C2C2C200C0C0C0003345 + 7F0034437B0034437B0034437B0034437B0034437B0034437B0034437B003443 + 7B0034437B0034437B0034437B0034437B0034437B0034437B0034437B003443 + 7B0033457F00C0C0C000D6D6D600000000000000000000000000000000000000 + 00002A3970000525910004208000031D7300031D7300031D7300031D7300031D + 7300031D7300031D7300031D7300031D7300031D7300031D7300031D73000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B6C3F0002939 + 740027366B000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000B9C6 + F100405396003F5AB6003F5AB5002A3D7D00B9C6F10000000000000000000000 + 0000000000000000000000000000B7C5F1003F5291003E58AF003E58AF00283A + 7800B7C5F100000000000000000000000000000000000000000000000000364B + 99007E93D7007D92D7007D92D7007C91D7007C91D7007C91D7007B90D7007B90 + D7007B90D7007A8FD700798FD700798FD700788ED700788ED700778DD70099A9 + E100364B99000000000000000000000000000000000000000000000000000000 + 00002D407F00637BCA005771CB006684EA006684EA006684EA006684EA006684 + EA006684EA006684EA006684EA006684EA006584EA008AA1EF00032288000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000B7C5F1004A5B99003E59 + B1003E59B1002C3B73008195DB00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BAC6F2002C40 + 83003E5AB9000F32A8000F32A800415599002B3F8000B9C6F100000000000000 + 00000000000000000000B9C6F1002A3E7D003F5AB4000F31A0000F31A0004052 + 94002A3C7B00B7C5F1000000000000000000000000000000000000000000384F + 9D008398DC008398DC008297DC008297DC008297DC008196DC008196DC008196 + DC008196DD008095DC007F94DC007F94DC007E94DC007E94DC007E94DD009EAE + E500384F9D000000000000000000000000000000000000000000000000000000 + 000030438400667ECF00536ECB005D7EEB005D7EEB005D7EEB005D7EEB005D7E + EB005D7EEB005D7EEB005D7EEB005D7EEB005D7EEB00879FF00003238D000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000B9C6F1002E4281003F5AB6000F31 + A3000F31A3004A5D9E002D3E79008196DC000000000000000000000000000000 + 00000000000000000000000000000000000000000000BAC6F2002E4288004358 + A0000F34AD00042AAA00042AA9003E5BBC0042569D002D418500000000000000 + 000000000000B9C6F1002C41820041569A000F32A7000328A1000328A1003F5A + B700415598002B3F7F0000000000000000000000000000000000000000003A51 + A2008A9EE100899DE100899DE100889DE100879CE100879CE100869BE100869B + E100869BE100859AE100859AE100859AE1008499E1008499E1008499E100A2B2 + E8003A51A2000000000000000000000000000000000000000000000000000000 + 000032478A006780D3004C68C8005477EA005477EA005477EA005477EA005477 + EA005477EA005477EA005477EA005477EA005477EA00829CF000032493000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000B9C6F100304285004C5FA1000F33A9000328 + A4000328A4003E5AB9004C5FA1002F417E000000000000000000000000000000 + 000000000000000000000000000000000000000000006678B5004261C800183D + BC001036B7001036B7000F35B6000A31B4001338B700405EC40032468E00BAC7 + F200BAC7F2004459A4003F5DC2001035B200042BAD00042BAC00042BAC00042A + AB000F34AE003E5BBD002F428800000000000000000000000000000000003E56 + AA0097AAEC0097AAEC000633C9000633C9000633C9000633C9000633C9000633 + C9000633C90092A7EB0092A7EB0092A7EB0091A6EB0091A6EB0091A6EB00ABBB + F0003E56AA000000000000000000000000000000000000000000000000000000 + 0000374C96006883DB003C5CC6004268E9000434D2004268E9004268E9004268 + E9004268E9004268E9004268E9000434D2004268E9007893F00003279D000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BAC7F2004E62AA003E5CC2001035B400042BB000042B + B000042BB000042BB0001035B4003E5CC200344688008499DF00000000000000 + 000000000000000000000000000000000000000000007D8DC1007D93DC001C42 + C200183EBF001A40C000193FBF00143BBC001037BB00183EBD00465CA900344A + 9200344991003F5EC6001036B700042CB400042CB300042CB200042CB200042B + B0001035B400798ED40032478C00000000000000000000000000000000004159 + AE00A1B3F200A1B3F200A1B3F200A0B3F200A0B3F2009FB2F2009FB2F2009EB1 + F2009EB1F2009DB0F2009DB0F2009CB0F2009BAFF1009BAFF1009BAFF100B1C1 + F4004159AE000000000000000000000000000000000000000000000000000000 + 00003A509A006984DF003455C4003962EA000434D3003962EA003962EA003962 + EA003962EA003962EA003962EA000434D3003962EA00728FEF000328A1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BAC7F200374B94003F5EC7001037B900042DB600042DB600042D + B600042DB600042DB600042DB6001037B9004F65AF0036498C00859AE1000000 + 00000000000000000000000000000000000000000000384E9A007F8FC4007F95 + DF001D44C5002147C7002248C7001E44C4001B42C300163DC1004564CD004860 + AD00485FAD00153CBE000831BA000730B900042DB700042DB700042DB7001037 + B9007A90D8007C8BBE00BAC7F20000000000000000000000000000000000425C + B300A9BBF600A9BBF6001541D3001541D3001541D3001541D3001541D3001541 + D3001541D3001541D3001541D3001541D3001541D3001541D300A3B6F600B8C7 + F800425CB3000000000000000000000000000000000000000000000000000000 + 00003C53A1006985E2002B4EC300305BEA000534D400305BEA00305BEA00305B + EA00305BEA00305BEA00305BEA000534D400305BEA006C8AF0000429A6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BCC8F300394F98005167B200153CC0000932BC000932BC000932BC000932 + BC000932BC000932BC000932BC000932BC004161CC005167B200394C91000000 + 0000000000000000000000000000000000000000000000000000BDC9F4003C53 + A200839AE5002C52D2002A50D1003055D2002E53D1002C52D100264DCE002D52 + CF002B50CF001E46CB001C44CA001A42C900143DC600103AC500173FC700808F + C500394F9B00BCC8F3000000000000000000000000000000000000000000455F + B600B6C6F900B6C6F900244DD600244DD600244DD600244DD600244DD600244D + D600244DD600244DD600244DD600244DD600244DD600244DD600B1C1F900C0CE + FA00455FB6000000000000000000000000000000000000000000000000000000 + 00004259AD006987EA001B41C1001E4DEA000535D6001E4DEA001E4DEA001E4D + EA001E4DEA001E4DEA001E4DEA000535D6001E4DEA006081F000042BB0000000 + 000000000000000000000000000000000000000000000000000000000000BDC9 + F400536BBC00496AD7002C51D000284ECE002A50D0002048CD001C44CC001C44 + CC001C44CC001C44CC001C44CC002A50D000254CCE002C51D000496AD7003D52 + 9C00899EE400000000000000000000000000000000000000000000000000BDCB + F4008393CD00859CE7003056D600375CD800365BD700355AD6003056D5002E54 + D4002C52D300274ED100254CD000234BD0001942CC001E46CE007E95E2003A52 + A000BDC9F4000000000000000000000000000000000000000000000000004660 + B700BCCAFA00BCCAFA00BBCAFA00BBCAFA00BAC9FA00BAC9FA00B9C8F900B9C8 + F900B9C8F900B9C8F900B8C7F900B8C7F900B7C7F900B7C7F900B7C7F900C4D1 + FA004660B7000000000000000000000000000000000000000000000000000000 + 0000455EB2006987ED00133ABE00153CBF000535D7001546EA001546EA001546 + EA001546EA001546EA001546EA000535D7001546EA005A7DF100042DB6000000 + 0000000000000000000000000000000000000000000000000000000000003D56 + A500506ED2005370D2005673D3005B77D4005A78DC002B52D400254DD300254D + D300254DD300254DD300244CD3005A78DC005974D3005673D3005370D2005D72 + B9004056A000D1DAF80000000000000000000000000000000000000000000000 + 00004059AB008495D000869DEA003A5FDC003F64DD003D62DC003A5FDB00385D + DB00355BDA003157D7002E55D6002C53D600254DD4008097E5008292CB00BDC9 + F400000000000000000000000000000000000000000000000000000000004760 + B800C1CEFA00C2CFFA003358D7003358D7003358D7003358D7003358D7003358 + D7003358D7003358D7003358D7003358D7003358D7003358D700BCCAFA00C8D4 + FB004760B8000000000000000000000000000000000000000000000000000000 + 00004761B8006988F1000B34BD009DB2F6000535D7000C3FEA000C3FEA000C3F + EA000C3FEA000C3FEA000C3FEA000535D7000C3FEA005478F000042EBA000000 + 0000000000000000000000000000000000000000000000000000000000004B62 + AF003F56A5003F56A5003F56A5003F56A5005D79D8002A52D9002F56DA002F56 + DA002F56DA002F56DA002951D9005D79D7003F56A5003F56A5003F56A5003F56 + A5003F58AA000000000000000000000000000000000000000000000000000000 + 000000000000BECCF500455EB5006483EA005275E8004F72E7004B6FE600496D + E500466BE4004267E3004166E3004267E2007C8FD100425BB000BDCBF4000000 + 0000000000000000000000000000000000000000000000000000000000004962 + BA00CBD6FB00CBD6FB004164D8004164D8004164D8004164D8004164D8004164 + D8004164D8004164D8004164D8004164D8004164D8004164D800C7D3FB00CFD9 + FB004962BA000000000000000000000000000000000000000000000000000000 + 00004A64BC006989F300042DB6009AAFF3002242AE002245BA000538E4000538 + E4000538E4000538E4000538E4000434D2000538E4004F73EB00042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000445DB100607DE000375FE5004167E6004167 + E6004167E6004167E600375FE500607DE0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BFCCF5004861BA006887EE00597BEC00597BEC005578EB005275 + EA005074EA004C70E800496EE8004B6FE7005670CB00465EB400BFCCF5000000 + 0000000000000000000000000000000000000000000000000000000000004A63 + BB00D0DAFB00D1DBFB00D0DAFB00CFD9FB00CFD9FB00CFD9FB00CED8FB00CED8 + FB00CED8FB00CDD8FB00CDD8FB00CDD8FB00CCD7FB00CCD7FB00CCD7FB00D2DB + FB004A63BB000000000000000000000000000000000000000000000000000000 + 00004B65BD006989F300042CB4009AAEF2009BADEC009AAEF2000537E1000537 + E1000537E1000537E1000537E1000433D0000537E1004F73EA00042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004760B5006381E5003E65EA004A6FEB004A6F + EB004A6FEB004A6FEB003E65EA006280E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BFCCF5004B65BE005975D300577AF0005E80F0006384F1005E80EF005C7E + EF00597CEE005477ED005276ED004E73EC00597BEC005973CF004861B9000000 + 0000000000000000000000000000000000000000000000000000000000004B64 + BC00D5DEFC00D5DEFC005070D9005070D9005070D9005070D9005070D9005070 + D9005070D9005070D9005070D9005070D9005070D9005070D900D0DAFB00D5DE + FC004B64BC000000000000000000000000000000000000000000000000000000 + 00004C66BD006989F300042CB2009AAEF1000433CE000537DE000537DE000537 + DE000537DE000537DE000537DE000433CE000537DE004F72E800042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004964BB006683E800466DEE005478F0005478 + F0005478F0005478F000456CEE006582E8000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000BFCD + F6005B76D5006183F200577BF2007693F4007894F4007592F400718FF4006E8D + F3006B8AF3006888F3006586F3006384F3005277F1004A70F0005C7FF2004D67 + C000BFCDF6000000000000000000000000000000000000000000000000004D66 + BD00DDE4FC00DDE4FC005F7BDA005F7BDA005F7BDA005F7BDA005F7BDA005F7B + DA005F7BDA005F7BDA005F7BDA005F7BDA005F7BDA005F7BDA00D9E1FC00DBE2 + FC004D66BD000000000000000000000000000000000000000000000000000000 + 00004E68BF006989F300042BAD000535D9000432CA000535D9000535D9000535 + D9000535D9000535D9000535D9000432CA000535D9004F71E300042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004D67BE006B88EA005479F1006686F3006686 + F3006686F3006686F3005479F1006A87EA000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF6004E68 + C1006384F3005C7FF2006C8BF300829DF500819BF5007F9AF5007290F400718F + F4006F8DF3006F8DF3006F8DF3006C8BF3006485F300577BF2004E73F1005D78 + D6004E68C100BFCDF60000000000000000000000000000000000000000004E67 + BE00E1E7FD00E1E7FD00E1E7FD00E0E6FC00E0E6FC00E0E6FC00E0E6FC00E0E6 + FC00DFE6FC00DEE5FC00DEE5FC00DEE5FC00DEE5FC00DDE4FC00DDE4FC00DFE6 + FC004E67BE000000000000000000000000000000000000000000000000000000 + 00004F69C0006989F300042AAB000535D6000431C7000535D6000535D6000535 + D6000535D6000535D6000535D6000431C7000535D6005072E200042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004D67BF006D8AEA005C7FF200708EF400708E + F400708EF400708EF4005C7FF2006D8AEA000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCDF6004F69C2005C77 + D6005F81F2007290F400849EF5008CA5F60089A2F600829DF5006B8AF300A3B6 + F800A3B6F8006A8AF3007391F4007592F400718FF4006989F3005A7DF2005D80 + F2005A76D6004F69C20000000000000000000000000000000000000000004F68 + BF00E5EAFD00E5EAFD006D87DB006D87DB006D87DB006D87DB006D87DB006D87 + DB006D87DB006D87DB006D87DB006D87DB006D87DB006D87DB00E1E7FD00E1E7 + FD004F68BF000000000000000000000000000000000000000000000000000000 + 0000506AC1006989F300042AA9000434D3000431C5000434D3000434D3000434 + D3000434D3000434D3000434D3000431C5000434D3004F70DF00042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004E68C000708CEA006485F3007995F4007995 + F4007995F4007995F4006485F300708BEA000000000000000000000000000000 + 00000000000000000000000000000000000000000000778EDB005B7EF2005579 + F10086A0F50098AEF700A0B4F70091A8F6007D98F5006888F3008FA1E000506A + C400506AC40095ACF7005B7EF2006B8AF300829CF500809BF5007995F4005378 + F1003E67F0005075F100506AC40000000000000000000000000000000000516A + C100EAEFFD00EAEFFD00EAEFFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E8ED + FD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E7ECFD00E6EB + FD00516AC1000000000000000000000000000000000000000000000000000000 + 0000526CC3006989F3000328A4000433CE000430C1000433CE000433CE00B2C0 + F000B2C0F0000433CE000433CE000430C1000433CE004F6FDC00042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000506AC1007590EC007491F4008CA5F6008CA5 + F6008CA5F6008BA4F6007491F400748FEC000000000000000000000000000000 + 000000000000000000000000000000000000000000008B9FE0008FA7F600577B + F20089A2F60099AFF7009EB3F700829CF5006C8BF3009AAFF700516BC400BFCD + F600BFCDF6008EA1E00095ACF7005D80F2007E99F500819BF5007A96F4005479 + F1003E67F00086A0F500516BC40000000000000000000000000000000000526B + C200EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00ECF0FE00ECF0FE00ECF0 + FE00ECF0FE00EBF0FD00EBF0FD00C8CCD800C8CBD600C8CBD600C8CCD700C6CA + D700526BC2000000000000000000000000000000000000000000000000000000 + 0000536DC4006989F3000328A2000432CB00042FBF000432CB000432CB000432 + CB000432CB000432CB000432CB00042FBF000432CB004F6FDA00042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000516BC2007892EC007B97F40095ACF70095AC + F70095ACF70095ACF7007B97F4007691EC000000000000000000000000000000 + 00000000000000000000000000000000000000000000526CC50090A2E1009AAF + F7007F9AF5008EA6F60091A8F6006E8DF3009BB0F7008FA2E100BFCDF6000000 + 000000000000526CC5008FA1E10095ACF7006F8DF3007693F400718FF4005378 + F1008DA5F6008D9FE100BFCDF60000000000000000000000000000000000526C + C300F0F3FE00F0F3FE00F0F3FE00EFF3FE00EFF3FE00EFF3FE00EFF3FE00EFF3 + FE00EFF3FE00EEF2FE00EEF2FE00CBCED800516BC100526CC300526CC300526C + C300526CC3000000000000000000000000000000000000000000000000000000 + 0000546EC5006989F3000328A0000431C800042EBC000431C8000431C8000431 + C8000431C8000431C8000431C800042EBC000431C800506FD800042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000526CC3007994EC00829CF5009EB3F7009EB3 + F7009EB3F7009EB3F700819BF5007993EC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF600536E + C7009DB2F7006082F2006082F20090A3E100536EC700BFCDF600000000000000 + 00000000000000000000BFCDF600536EC70095ACF7004F74F1004E73F10091A3 + E100536EC700BFCDF6000000000000000000000000000000000000000000546E + C500F4F7FE00F5F7FE00F5F7FE00F4F7FE00F4F7FE00F4F7FE00F4F7FE00F4F7 + FE00F4F7FE00F3F6FE00F3F6FE00CFD1D800FAFBFF00FAFBFF00F5F7FD00536E + C700BFCDF6000000000000000000000000000000000000000000000000000000 + 00005670C7006888F30003269C000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2000430C2000430C200506ED400042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000546EC5007A94ED00829CF500B0C0F900B0C0 + F900B0C0F900A9BBF800829CF5007993ED000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F60092A4E20092A9F60092A9F600556FC700C1CDF60000000000000000000000 + 0000000000000000000000000000C1CDF60090A3E2008DA5F6008CA5F600556F + C700C1CDF600000000000000000000000000000000000000000000000000556F + C600F5F7FE00F7F9FE00F7F9FE00F6F8FE00F6F8FE00F6F8FE00F6F8FE00F6F8 + FE00F6F8FE00F5F7FE00F5F7FE00D0D2D800FAFBFF00F5F7FD00B7C2E800C1CD + F600000000000000000000000000000000000000000000000000000000000000 + 00005771C8006586F30003269900042FC000042FC000042FC000042FC000042F + C000042FC000042FC000042FC000042FC000042FC0004F6DD2000430C2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000556FC600738FEC007693F400A3B6F800A6B9 + F800A6B9F80098AEF7007693F400728EEC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005670C8008DA1E3008DA1E300C1CDF6000000000000000000000000000000 + 0000000000000000000000000000000000005670C8008DA1E3008DA1E300C1CD + F600000000000000000000000000000000000000000000000000000000005670 + C700F5F7FE00F7F9FE00F8FAFE00F8FAFE00F8FAFE00F8FAFE00F8FAFE00F8FA + FE00F8FAFE00F8FAFE00F7F9FE00D2D4D800F4F6FD00B7C3E8005670C8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005771C8005D80F20003259700032597000325970003259700032597000325 + 970003259700032597000325970003259700032597003F57A6000536D9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005670C7006D88E5007590ED00859DEE00869E + EE00869EEE00829AEE007691ED006C88E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005771 + C9005871C8005871C8005871C8005871C8005871C8005871C8005871C8005871 + C8005871C8005871C8005871C8005871C8005771C900C1CDF600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005A76D2005771C8005A73C9005A73C9005A73C9005A73C9005A73C9005A73 + C9005A73C9005A73C9005A73C9005A73C9005A73C9005A73C9005771C8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B9C6F1002A3B78002F448B00B9C6F1000000000000000000000000002F44 + 8B002A3B78002F448B0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000C5CEF3006A7FC8002A3A75002433 + 6900243369002A3A7500364D95006A7FC8000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B6C3F000414F800023316200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000374887006D84CF005B73C7007286C800566EBE000E30A300334FB1008496 + D5006D84CF005D74C10000000000000000000000000000000000000000000000 + 000000000000000000004259A70046589700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004658970035447A004259A7000000 + 0000000000000000000000000000000000000000000000000000000000004256 + 9B008E9ED10095A7E2009FB0E900A1B1E9009DADE40099A9DF008E9ED3008999 + CD008595C7007C8BBB007785B5007381AF007180B2007A8ABF008191C3004256 + 9B00000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000CCD6 + F60022357800435BAA0023336900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000364C98009EADDD008492C30031448600506CCA00042CB400314486008391 + C3009EADDD008291C30000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F100000000000000000000000000000000000000000000000000000000002736 + 6E00708ADF007993E70091A7F10098ADF1008CA2EB007F96E200667FD0005A73 + C6004F68BC003751A5002B44980020398C001D3892002D4AAC00516CC8002736 + 6E00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002F43 + 840043538C00425CB00025356D00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BAC7F20033478B00374D9C00BAC7F2004F6CCE00042EB90033478B00374D + 9C0033478B00374D9C0000000000000000000000000000000000000000000000 + 0000334686006E7AA6004C65B8000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000000000000000000002A3A + 74006A84DE00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE00415FC4002A3A + 7400000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000046589600405B + B8000F33A900435EBA002A3B7700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000384D9600384D9600384D9600384D9600384D + 9600384D9600384D9600384D9600384D96001F46CB000C37C600384D96000000 + 000000000000000000000000000000000000000000000000000000000000475F + B100BCBFC900A6ABBA00808DB6001438AE00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046589A00475FB10000000000000000000000000000000000000000003042 + 8200718BDF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004461C4003042 + 820000000000000000000000000000000000000000000000000090A3E3003B51 + A2002F4385002F4284002E4284002E4183002E4183002E408100405DBD000F34 + AF00042AAA00425EBD002C3E7D002B3D7C002B3C7A002B3C7A002B3C79002A3C + 7800344A95008196DC0000000000000000000000000000000000000000000000 + 0000000000000000000000000000617BD4001F44C1002C50C6005F79D3005F79 + D3005F79D3005F79D3005F79D3006079D3005A78DC00133ECD003754BA000000 + 0000000000000000000000000000000000000000000000000000A8B7ED005665 + 9800B2B6C300ADB1BF00A9AEBE004A63B7001439B200042CB100042CB100042C + B100042CB100042CB100042CB100042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000000000000000000003346 + 8800708ADF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE00415FC4003346 + 88000000000000000000000000000000000000000000546CC100405498004D66 + B7004261CA004362CA004362C9004261C7004361C7004361C7001036B600042C + B100042BB0003655BE00425FC1004360C100425FBF00425EBE00435FBE004661 + B9004B60A8003B4C870000000000000000000000000000000000000000000000 + 00000000000000000000000000005E7CE0002C53D7003D52A0003D52A0003D52 + A0003D52A0003D52A0003D52A0003D52A0005670CA00163BB4003D52A0000000 + 0000000000000000000000000000000000000000000000000000455BAE00A2A9 + BF00B1B6C300B1B6C300B1B6C3008794C0004B65BB00153AB700042DB600042D + B600042DB600042DB600042DB600042DB600042DB600042DB600042DB600042D + B6002B4EC2004C62AD000000000000000000000000000000000000000000364A + 8F007790E1007C95E90092A8F10098ADF1008CA2EB007F96E200667FD0005A73 + C6004F68BC003751A5002B44980020398C001D3892002D4AAC00516CC800364A + 8F000000000000000000000000000000000000000000506AC100294FD0000C38 + CA000D38C8000C37C6000C37C6000934C3000833C2000833C1000631BF00052F + BD00042EBC00042EBA00042EB900042DB800042DB600042DB600042DB500042C + B300042CB2002346BB00354B9600000000000000000000000000374E9B002C3F + 7E002C3F7E002C3F7E002C3F7E002C3F7E002C3F7E002C3F7E002C3F7E002C3F + 7E002C3F7E00374E9B00000000004259AB008099EB005879E7004960AF000000 + 00000000000000000000000000000000000000000000788DD7008D98BA00CACE + D900C1C5D300C1C5D300C1C5D300C1C5D300BDC2D10097A4CE00274CC500173F + C400173FC400173FC400173FC400173FC400173FC400173FC400173FC400173F + C400153DC400395BCD00788DD70000000000000000000000000000000000D1DA + F7003D529D003D529D003D529D003D529D003D529D003D529D003D529D003D52 + 9D003D529D003D529D003D529D003D529D003D529D003D529D003D529D00D1DA + F70000000000000000000000000000000000000000004B6BD7001440D1001641 + D1001943CF001943CF001842CE00153FCB00143ECA00133DC900103AC7000E38 + C5000D37C4000B35C2000933C1000832BF000630BD00052FBC00052FBB00042E + B900042DB8000831B90033468A0000000000000000000000000032468C00506D + CF00506DCF00506DCF00506DCF00506DCF00506DCF00506DCF00506DCF00506D + CF00506DCF0032468C00000000004C66C0008195D8004462C700445DB0000000 + 000000000000000000000000000000000000000000004963B600B6BCD100CBCF + DB00C6CAD800C6CAD800C6CAD800C6CAD800C6CAD800C4C9D8006780D1003256 + CD00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234A + CB002148CB003357CF004963B600000000000000000000000000000000005E77 + CD0092A4E00094A8EC009EB1F300A1B4F3009CAEED0098AAE8008EA0DC00899A + D5008596CF007C8CC3007787BC007282B6007182BB007A8CC9008697D3005E77 + CD000000000000000000000000000000000000000000496CE1001945D800214B + D800264FD800254ED700234CD500214AD3001F48D1001E47D1001B44CE001A43 + CD001841CC00163FCA00143DC800133DC800103AC5000F39C4000E38C3000A34 + C0000933BF000630BD00364A9000000000000000000000000000384E99004F6F + DA000432CB000432CB000432CB000432CB000432CB000432CB000432CB000432 + CB000432CB00384E9900000000005069C4003D5DC9003156D300466AE2000000 + 000000000000000000000000000000000000000000003D54A200D6D9E200CED2 + DF00CED2DF00CED2DF00CED2DF00CED2DF00CED2DF00CED2DF00A7B3DB007088 + D7003D60D3002E53D2002E53D2002E53D2002E53D2002E53D2002E53D2002E53 + D2002C52D2003257D3003D54A20000000000000000000000000000000000435B + AC006F89DF007892E8008FA6F10096ABF1008AA0EA007E95E200657ED0005972 + C6004E68BC003751A5002B4498001F388C001C3792002D4AAC00506BC800435B + AC0000000000000000000000000000000000000000004E72EA002B56E5003961 + E6003D64E5003B62E3003A61E300375EE100365DE000355CDF003259DD003057 + DC002F56DB002C54D9002B53D8002A52D700274FD500264ED400244CD3002149 + D1001E47D0001640CD003A519B00000000000000000000000000455EB5004F74 + EF0098ABEA005474DD005474DD00445EB400445EB4005474DD005474DD00435D + B100053AE900455EB50000000000516CC9008B9EDE00536FCE004B65BC000000 + 000000000000000000000000000000000000000000004158A600DFE2EB00D8DC + E900DADEEA00DADEEA00DADEEA00DADEEA00DADEEA00DADEEA00DADEEA00D8DD + EA00B6C1E7005373DF004569DF004569DF004569DF004569DF004569DF004569 + DF004468DF003A5FDC004158A600000000000000000000000000000000004A63 + BA00708AE000859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004361C4004A63 + BA0000000000000000000000000000000000000000005176EE00335DEB00436A + EB00486DEB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002C53 + D8002850D7001E48D4003E54A0000000000000000000000000004761B8005176 + F1009AADEC005575DE005575DE00455FB400455FB4005575DE005575DE00455F + B300073CEB004761B80000000000526DC9004D6BCE004366D9005577E8000000 + 00000000000000000000000000000000000000000000435BAB00E3E6EF00DCE0 + ED00E0E4EF00E0E4EF00E0E4EF00E0E4EF00E0E4EF00E0E4EF00E0E4EF00E0E4 + EF00DDE1EF008CA1E8005F7EE4005173E3005173E3005173E3005173E3005173 + E3004F71E3004267E000435BAB00000000000000000000000000000000004C66 + BD00718BDF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004461C4004C66 + BD0000000000000000000000000000000000000000005378F1003B64EF004D72 + F0005277EF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00385E + DF003259DD00264FDA004157A6000000000000000000000000004A63BA00567A + F200A0B1EC00A0B1EC00A0B1EC00A0B1EC00A0B1EC00A0B1EC00A0B1EC0094A2 + D2001546EC004A63BA00000000004D67BE0099AEF6007995F4005971C3000000 + 00000000000000000000000000000000000000000000475EB400E6E9F200E2E6 + F200E5E8F300E5E8F300E5E8F300E5E8F300E5E8F300E5E8F300E5E8F300E5E8 + F300E5E8F300C3CDF00095A9EC006A87E9005C7CE8005C7CE8005C7CE8005C7C + E800597AE8005375E700475EB400000000000000000000000000000000004D67 + BE00718BDF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004260C5004D67 + BE000000000000000000000000000000000000000000587CF2004A70F0006283 + F2006989F3006888F3006787F3006485F3006384F3006183F2005F81F2005D80 + F2005C7FF200597CF100587BF100567AF0005478EF005276EE005074EC004E73 + EB00486DEA00365FE700465FB3000000000000000000000000004E67BE006283 + F2009FABD3006174B5006174B5006174B5006174B5006174B5006174B5005F73 + B500325EEF004E67BE0000000000556FCC005B76CE005573D9006382EA000000 + 000000000000000000000000000000000000000000007790E100A7B3DC00EBEE + F900EDF0FA00EDF0FA00EDF0FA00EDF0FA00EDF0FA00EDF0FA00EDF0FA00EDF0 + FA00EDF0FA00EDF0FA00EBEFFA00D0D9F8007E99F1007390F0007390F0007390 + F0006988EF006E8CF0007790E100000000000000000000000000000000006680 + DA0096A7E4009EB0EB00A6B7F000A8B8F000A4B4EC00A0B0E80096A6DE0093A2 + D9008E9ED4008595CA008191C4007D8DC0007C8CC3008294CE00899BD8006680 + DA0000000000000000000000000000000000000000005A7DF2005176F1006C8B + F3007592F4007491F4007290F400708EF4006E8DF3006D8CF3006A8AF3006989 + F3006787F3006485F3006384F3006283F2005F81F2005E80F2005C7FF100597C + F0005176EF003D65EC004962B8000000000000000000000000005069C1006787 + F300B2C0ED008399E2008399E2006B7CB7006B7CB7008399E2008399E2006779 + B4004068F0005069C10000000000506AC100A5B8F70088A2F6005F76C6000000 + 00000000000000000000000000000000000000000000BFCDF6006C81CA00F1F4 + FD00F1F4FD00F1F4FD00F1F4FD00F1F4FD00F1F4FD00F1F4FD00F1F4FD00F1F4 + FD00F1F4FD00F1F4FD00F1F4FD00EFF2FD00AFBFF8008AA3F500819BF5007E99 + F500718FF4007E98F100CED8F70000000000000000000000000000000000D3DB + F900516AC100516AC100516AC100516AC100516AC100516AC100516AC100516A + C100516AC100516AC100516AC100516AC100516AC100516AC100516AC100D3DB + F90000000000000000000000000000000000000000005D80F200587CF2007693 + F400809BF500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006485 + F3005B7EF200456CF0004C66BD00000000000000000000000000526CC3006B8A + F300B8C5EE0090A3E40091A4E4007585B9007585B90091A4E40090A3E4006E7E + B5004A70F000526CC300000000005671CD009EADDF007086D000516BC2000000 + 00000000000000000000000000000000000000000000000000005975D100CAD1 + ED00F2F5FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00F3F6 + FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00DAE2FC00B6C6F90095ACF700829C + F500809BF500768DDD0000000000000000000000000000000000000000006882 + DB0094A6E40094A8EC009EB1F300A1B4F3009CAEED0098AAE8008EA0DC008A9B + D6008697D0007C8CC3007787BC007282B6007182BB007A8CCB008899D8006882 + DB0000000000000000000000000000000000000000006183F2006586F30088A2 + F60096ACF7007F92D2007D90D1007C90D2007A8ED1007A8ED100778CD100758A + D000758AD1007288D1007086D0007086D1006E85D0006C83CF006B82D0007B97 + F4006E8DF3005277F1004F69C0000000000000000000000000005670C7006A8A + F3005A7DF2006586F3006B8AF3006F8DF3006F8DF3006D8CF3006586F300597C + F200476EF0005670C70000000000546DC400B1C1F80098AEF700647BCA000000 + 000000000000000000000000000000000000000000000000000000000000607A + D700F4F6FD00F4F7FE00F5F7FE00F5F7FE00F5F7FE00F5F7FE00F5F7FE00F5F7 + FE00F5F7FE00F5F7FE00F5F7FE00F5F7FE00F5F7FE00F4F7FE00E0E6FC009FB2 + F500758AD500607AD7000000000000000000000000000000000000000000546E + C5006A84DE00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004260C500546E + C50000000000000000000000000000000000000000006183F2006A8AF3008FA7 + F600A2B6F800A0B4F7009FB3F7009CB1F7009BB0F70099AFF70097ADF70095AC + F70094ABF60091A8F60090A8F6008EA6F6008CA5F6008AA3F60089A2F600849E + F5007693F400577BF200506AC1000000000000000000000000005871C8006C8A + ED00809AEF00859EF000889FF00089A1F00089A1F00089A1F000849DF0007F99 + EF007A95EE005871C800000000005973CF00A8B5E0007F92D200556EC5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D6DCF200F4F7FE00F5F7FE00F6F8FE00F6F8FE00F6F8FE00F6F8FE00F6F8 + FE00F6F8FE00F6F8FE00F6F8FE00F6F8FE00F6F8FE00F6F8FE00F3F6FE00ACBA + E800546FCA00000000000000000000000000000000000000000000000000556F + C6006D88DF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004562C500556F + C60000000000000000000000000000000000000000006183F2006989F30091A8 + F600ADBEF800ACBDF800AABCF800A7B9F800A6B9F800A5B8F800A2B6F800A1B5 + F7009FB3F7009CB1F7009BB0F7009AAFF70097ADF70096ACF70094ABF6008CA5 + F6007A96F4005A7DF200516BC2000000000000000000000000005B76D2005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005B76D200000000005974CF007C8FD1007A91DC007D97EE000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005C74C900D8DDF200F4F6FD00F6F8FE00F7F9FE00F8FAFE00F8FAFE00F8FA + FE00F8FAFE00F8FAFE00F8FAFE00F8FAFE00F6F8FE00F5F7FE00F4F6FD005B74 + C900BFCDF6000000000000000000000000000000000000000000000000005670 + C7006D88DF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004663C5005670 + C70000000000000000000000000000000000000000006581E0006183F200708E + F400A2B6F800A9BBF800ACBDF800ABBDF800AABCF800AABCF800A8BAF800A6B9 + F800A5B8F800A2B6F800A1B5F700A0B4F7009CB1F70099AFF70093AAF6007B97 + F4006283F2005D80F2005570CB00000000000000000000000000000000000000 + 0000000000000000000000000000B0C0F9009BB0F7005871C8005871C8005871 + C8005871C8005871C8005871C8005871C800B3C3F900A6B9F8005871C8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000627DD900CDD4EF00F4F6FD00F6F8FE00F5F7FE00F5F7 + FE00F5F7FE00F5F7FE00F6F8FE00F5F7FE00CDD4EF007E91D300627DD9000000 + 0000000000000000000000000000000000000000000000000000000000005872 + C9006F89DF007993E70090A6F10098ADF1008CA2EB007F96E200667FD0005A73 + C6004F68BC003751A5002B44980020398C001D3892002F4CAD00556FC9005872 + C90000000000000000000000000000000000000000005C75CB006282EC006686 + F3007995F400829CF500849EF50086A0F500859FF500849EF500839EF500829D + F500829CF500809BF5007F9AF5007E99F5007B97F4007894F4007290F4006586 + F3006183F2006583EC007A92E500000000000000000000000000000000000000 + 0000000000000000000000000000ABBCF400B9C7F600ACBBF000A5B6EF00A5B6 + EF00A5B6EE00A5B6EF00A5B6EF00A7B6EF00BAC9FA00A4B7F8007E97E8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D5007489D100AFBBE500F3F6FD00F3F6 + FD00F3F6FD00F3F6FD00D5DCF200AFBBE5005E79D500AFBFF300000000000000 + 0000000000000000000000000000000000000000000000000000000000006B85 + DE0096A7E5009DAFEB00A6B7F000A9B9F100A5B5ED00A1B1E80098A8E00094A3 + DA00909FD5008696CB008191C5007E8EC1007E8EC5008494CF008A9CDA006B85 + DE0000000000000000000000000000000000000000006983DD006079CB00627E + E0006586F3006888F3006A8AF3006B8AF3006B8AF3006B8AF3006B8AF3006B8A + F3006B8AF3006A8AF3006A8AF3006A8AF3006989F3006888F3006586F3006A88 + EC006380E0005D77CC0000000000000000000000000000000000000000000000 + 00000000000000000000000000005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C900ABBCF400ABBCF4005872C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000DCDCDC00DADADA0098A8DC006075BD00455BA3003B4C8B003A4B + 8900394B88003849850042579C005C71B700C8C8C800D2D2D200DADADA000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000B6C5F1006177C500273773002534 + 6A0025346A0027377300364D96006177C5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000009BAFEC004B61AF007787C000A0ABD400BAC5EA00B5C1 + E700B1BDE500ACB9E20092A0CF006E7EB600465EB000A3B4EC00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000C7C7C700C0C0C000AEBA + E40028345E0028345E0028345E0028345E0028345E0028345E0028345E002834 + 5E0028345E0028345E0028345E0028345E0028345E0028345E0028345E004053 + 9300AEBAE400C0C0C000D6D6D600000000000000000000000000000000000000 + 00000000000000000000000000002D4085003A4A7D0047589300556AB000556A + B000556AB000556AB0004F62A100475893002D4085008195DB00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000465FB40095A1CD00DCE1F100BBC8F100AABAEE00A7B7ED009CAEE90094A7 + E8008CA1E500889DE4007991E0006882DC00C8D3F800CED7F500929EC90096A9 + E800000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000AFBEED004C5D9500364E9D00364E9D00364E9D00364E + 9D00364E9D00A3B2E50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002E42 + 86002445B400042AAA00042AAA00042AAA00042AAA00042AAA00042AAA00042A + AA00042AAA00042AAA00042AAA00042AAA00042AAA00042AAA00042AAA00586F + BA002D3F7F000000000000000000000000000000000000000000000000000000 + 00008297DD00334580005467A7003351B7001134AA002444B1004E68BF004E68 + BF004E68BF004E68BF003C59B9002444B1003351B700506ABE005467A7008297 + DD00000000000000000000000000000000000000000000000000000000008EA2 + E800C5CAE000E9EDFA00D7DEF500C4CEF100BBC7EF00ADBCEC0092A5E500889D + E2007D94DF008096E0008096E0009CAEE900AFBFF400BAC8F600E3E8FA003E51 + 9400859AE1000000000000000000000000000000000000000000000000000000 + 000000000000B9C8F20040529200324FB0000C2FA10003279F0003279F000327 + 9F002947AD00788DD80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003043 + 8600042CB30003279D0003238F0003238F0003238F0003238F0003238F000323 + 8F0003238F0003238F0003238F0003238F0003238F0003238F0003238F00506C + CA00304386000000000000000000000000000000000000000000000000000000 + 00003A4B8900566DB800415EC100294AB900546FC70093A3DB00E7EBF700E7EB + F700B9BCC600E7EBF700C2CBEA0093A3DB00294AB9001136B100415EC1003A4B + 89005068BB0000000000000000000000000000000000000000009DAFED004860 + B200F2F4F900E2E7F500DBE0F400C4CEEE00B5C1EA00ADBBE9009FAFE50095A7 + E2008C9FE000879BDE007B91DC00ADBDF000BBC9F600D3DCF900D4DCF900B9C1 + DE003D50940096A9E80000000000000000000000000000000000000000000000 + 0000BAC7F300425496004C60A8000C31A9000429A6000429A6000429A6000429 + A600193CAE004C61B00000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003448 + 8F00042FBD00E0E6F700DFE4F600DFE4F600DEE3F600DEE3F600DDE2F600DDE2 + F600DCE2F600DAE0F500DAE0F500DAE0F500D9DFF500D9DFF500D8DEF400506E + D10034488F00000000000000000000000000000000000000000000000000859A + E0005971C1003253C2000D34B6008999CC00CACFDF00E6EAF800E6EAF800E6EA + F800C9CDD900E6EAF800E6EAF800E6EAF8008999CC00415FC5000D34B6005971 + C1003D4F8F00859AE000000000000000000000000000506BC80098A5CF00ECEF + FA00F0F1F600F0F1F400E5E8F100D2D8EC00C4CCE800B8C2E500A2B0DF0099A9 + DD0090A1DA00899BD900B4C2EE00C1CDF500DCE3F900D7DFF900BFCAED00A6B5 + E600C8D1F0008492C2000000000000000000000000000000000000000000BAC9 + F3005066B3003153C3000D34B9000A32B9000A32B9000A32B9000A32B9000A32 + B9000A32B9004E61A200889DE300000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003B52 + 9F000433D000C5D0F400C4CFF400C2CDF300C1CDF300C0CCF300BECAF200BECA + F200BDC9F200BBC8F200BBC8F200B9C6F100B7C5F100B6C4F100DAE1F7005071 + DE003B529F0000000000000000000000000000000000000000003B53A3005A70 + BB000934C5004B6AD300E1E6F800E5EAF800DADFEC00E5EAF800E5EAF800E5EA + F800E5EAF800E5EAF800E5EAF800E3E8F600E5EAF800E5EAF800E1E6F8000934 + C5004162D1005A70BB000000000000000000000000005B71B900DEE3F200DAE0 + F600E6E9F400EAECF000EBECF000D5DAE900CAD0E600C6CDE700C0C9E700B8C2 + E400B2BDE300AAB7E300CED7F600C6D1F500DDE3F900C1CBEC00AAB8E400A9B8 + E8007B91DA0097A7D90099ABEA00000000000000000000000000BCCAF400455A + A500395BCC00163EC400133BC300133BC300133BC300133BC300133BC300133B + C300133BC3004E66B700556DC200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003F57 + A8000536D900C6D1F600C6D1F600C4D0F600C4D0F600C3CFF600C1CDF500C0CC + F500BFCCF500BECBF500BDCAF500BCC9F500BAC8F500B9C7F500DCE3F9005073 + E5003F57A800000000000000000000000000000000008A9DE4004E61A8005271 + D8002A50D100CDD6F500E5EAF900E5EAF900E5EAF900E5EAF900E5EAF900E5EA + F900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF9002A50 + D100123DCD005271D8008A9DE4000000000000000000AFBADD00D5DDF700CAD3 + F200D7DCEF00E0E4EF00E6E8EC00DDE0E900D9DDEA00C1C9E600627CD0005B75 + CC005771CA008FA1DC00D3DBF700E2E7F900C4CDED00B3BFE600B3BFE7007288 + D300516DCC007E93D8004C64B500000000000000000000000000445CA9006E82 + C7001E46CD001C45CD001C45CD001C45CD00274DCE006B86DE001E46CD001C45 + CD001C45CD00516DCE004A5FA700000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000435B + B0000538E300CAD5F900C9D4F900A4A9BC00A3A8BC00A3A8BC00A2A8BC00C3CF + F800C2CFF800BFCCF700BECBF700BDCBF700BCCAF700BBC9F700DDE4FA004F73 + EB00435BB00000000000000000000000000000000000425AAE005B75CA003359 + D9008497D600D2D7E400E5EAFA00E5EAFA00E5EAFA00E5EAFA00E5EAFA00E5EA + FA00E5EAFA00E5EAFA00E5EAFA00E5EAFA00E5EAFA00E5EAFA00E5EAFA008497 + D6000938D3003359D900425AAE0000000000758BDE00C6D1F500AABAEE00BCC8 + EF00C4CDEB00C8CFE800CFD4E700ADB9E1006880CF00657FD300758CD900738A + D8006F87D6005B76CE004A66C4004C66BF00BCC5E4007A8DCC00697FC9005C76 + CC007189D7005673D5006D7EBA007288D9000000000000000000000000004E67 + BF00708BE700335ADE002D56DE00879DE7006679BE00475FB2006F89E6003159 + DE002D56DE003F64E1005C75CF004B62B9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004861 + B800053AEB00CFD9FB00CED8FB00A6ABBD00A6ABBE00A6ABBE00A4A9BD00A4A9 + BD00A3A9BD00A2A8BD00A2A8BD00A1A7BD00C1CEFA00C0CEFA00DFE6FC005075 + F1004861B800000000000000000000000000000000005871C8004268E7000537 + DF00E5EAFB00DFE4F500E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EA + FB00E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EA + FB00809AEE000537DF005871C800738BDD00516CC700B1C0F100A7B7ED00ADBC + EC00B8C3E800BBC5E500C9D0E6006880D0006780D4007B91DB006879B2005C6C + A7005B6BA5006E81C500637CCF004965C3008E9DCF008192CC006E83CB006B84 + D5007089DA006A85DD008E9DD4004E67C0000000000000000000000000000000 + 0000788CCD00738EEB006B89EC00596EBA00627BD400000000008093D6005779 + E900365EE6003860E600597AE800576CB8000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004962 + BA00053AEB00D1DBFB00D0DAFB00CFD9FB00CED8FB00CDD8FB00CBD6FB00CAD5 + FB00C9D5FB00C7D3FB00C6D2FA00C6D2FA00C4D1FA00C3D0FA00E1E7FD005075 + F1004962BA00000000000000000000000000000000005C78D8002A56EA000539 + E600E5EBFC00E5EBFC00E5EBFC00E5EBFC00E5EBFC00E5EBFC00E5EBFC00E5EB + FC00E5EBFC00E5EBFC00D5DAE6009C9B9D00E5EBFC00E5EBFC00E5EBFC00E5EB + FC00C2CFF8000539E6005C78D800536ECA00435CB0009BADEC00A2B2EB00A0B0 + E900ABB9E500AFBBE300C5CDE7005E78CE007088D9007E90CE007189D800E0E6 + F900000000005668A2006D81C5005B76CE007085CC0098A7D9007B8FD3007990 + DB00728BDD007B93E200A4B3E4004159A9000000000000000000000000000000 + 00004D67C200798DD1008499DC0090A4EA0000000000000000005A71BF0089A0 + EC004A6FEE003E66ED005276EE006079D3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004A64 + BB000E41EC00D5DEFC00D4DDFC00A8ADBD00A8ADBD00A8ADBD00A7ACBD00A6AC + BD00A6ACBD00A6ABBD00A5AABD00A5AABD00C8D4FB00C7D3FB00E3E9FD005479 + F1004A64BB00000000000000000000000000000000005C7CE9001849EC00053A + EB00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00C5CA + D900B8BDCA00C9CCD6009B989800B8B9BF00E6ECFD00E6ECFD00E6ECFD00E6EC + FD00E8EDFD00053AEB005C7CE9004862BC00445CAF008098E60092A6E800849A + E20094A5DF0099A9DD00B9C3E4005873D000758BD6005E6EA900000000000000 + 000000000000E0E6F9005C6CA7007088D6005873CB00B1BDE3008FA0DA008DA0 + E1007F96E1008CA1E600B2C0EC00445CAF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004F6A + C5008A9EE1004F74F1004F74F1006586F3005873CE0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004C66 + BD002553EE00DDE4FC00DDE4FC00ACB0BE00ACB0BE00ACB0BE00ABB0BD00ABB0 + BE00ABB0BE00A9AEBD00A9AEBD00A9AEBD00D1DBFB00D0DAFB00E7ECFD005E80 + F2004C66BD00000000000000000000000000000000006683E9002C59EE001B4B + ED00CBD0DD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E9EEFD00ADAB + A9009C999700E0E4F100E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00CBD0 + DD00BABECB001B4BED006683E9004A63BB00445CAE007690E400899EE5007C93 + DF008A9DDD008FA0DA00B1BDE3005470CE007289D4005D6EA800000000000000 + 000000000000000000005F6EA900738AD8005C76CD00B7C1E40099A9DE0096A8 + E300879CE30095A8E900B7C4ED00455EB1000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000AEBE + F2005E75C4006686F300577BF2005D80F2005A72C200AEBEF200000000000000 + 0000000000000000000000000000000000000000000000000000000000004D67 + BE00305CEE00E1E7FD00E0E6FC00DFE6FC00DEE5FC00DDE4FC00DCE3FC00DBE2 + FC00DAE2FC00D8E0FC00D8E0FC00D7DFFC00D6DFFC00D5DEFC00E9EEFD006485 + F3004D67BE00000000000000000000000000000000006A88EB003761EF002755 + EE00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00CACA + CB00C3C1C000E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EE + FD00D8DDEA002755EE006A88EB004B64BC00445CAD006E88E2008198E300718A + DD007F94DA008497D800A8B5E0004F6BCA006B83D4006677B000000000000000 + 000000000000738ADA006B7BB400758CD900627CD000C0C9E700A4B2E1009FAF + E60092A5E6009EB0EB00BBC7EF00465FB3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006F89DF008DA5F4006686F3006082F2006C85D900546FCB00000000000000 + 0000000000000000000000000000000000000000000000000000000000004E68 + BF003C65EF00E4E9FD00E4E9FD00B0B3BE00B0B3BE00AFB3BE00AFB3BE00AFB3 + BF00AEB2BE00ADB1BE00ADB1BE00ACB0BE00DAE2FC00D9E1FC00EBF0FD006989 + F3004E68BF0000000000000000000000000000000000708BEB00426AF000335E + EF00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEF + FD008D8A8800EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEF + FD00D4D8E600335EEF00708BEB004C66BF00516BC3007E95E3006580DB006B84 + D8007086D1006B81C9007F91CC005872C6004A66C400637CCE006878B0005F70 + AA006070AB008091CF007B91DB00647ED300C2CAE700C6CDE700B9C3E600AEBC + EA00AEBDED00A8B8EF00A7B4E0005471CC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000576FC600A0AFE7008BA4F6007D98F5007F95E300536DC6000000 + 000000000000000000000000000000000000000000000000000000000000516A + C1005378F100EAEFFD00EAEFFD00B4B7BE00B3B6BE00B3B6BE00B2B5BE00B2B5 + BE00B2B5BE00B2B5BF00B2B5BF00B0B3BE00E2E8FD00E1E7FD00EFF3FE007491 + F400516AC100000000000000000000000000000000006D85D8007391F4004C72 + F100EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1 + FE0098959300EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00E9EDFA00EDF1 + FE007588C8004C72F1006D85D8007990E300748CDB008FA3E500506ED4006C84 + D5006980CB006B81CB0092A2D600B1BDE4004D68C0004A66C4006B83D4007088 + D600748BD8007088D9006780D4006880CF00DADEEB00CBD1E700C5CDE900B7C3 + EC00BDC9F100AABAEF008494CE007790E1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000009FB1EF00637AC800A4B4ED007A96F40086A0F500758AD5000000 + 000000000000000000000000000000000000000000000000000000000000526B + C2005F81F200ECF0FE00ECF0FE00EBF0FD00EBF0FD00EAEFFD00E9EEFD00E8ED + FD00E7ECFD00E6ECFD00E6ECFD00E6EBFD00E5EAFD00E4E9FD00F1F4FE007995 + F400526BC20000000000000000000000000000000000647AC700819CF3005E80 + F200C1C6D400CCCFDA00E2E6F100EEF2FE00EEF2FE00EEF2FE00EEF2FE00EEF2 + FE009E9B9900EEF2FE00EEF2FE00EEF2FE00EEF2FE00EEF2FE00EEF2FE00C1C6 + D4005370D2005E80F2006479C700BFCDF600BDCBF40097A7DD005772CE00617B + CF006B82CF00A3B1E000B1BDE500E3E8F800C5CEEE005D76CA004F6BCA00536F + CD005873D0005E78CF00667FD000ADB9E100DEE1EA00D6DBEA00D2D8ED00C6D0 + F000C4CFF200BDCAF3005D74C100BFCDF6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000092A7EC006A7FCB0092A9F60086A0F5008BA3F100849B + E80000000000000000000000000000000000000000000000000000000000536C + C4006B8AF300EFF3FE00EFF3FE00EEF2FE00EDF1FE00EDF1FE00ECF0FE00EBF0 + FD00EBF0FD00EAEFFD00E9EEFD00E8EDFD00E7ECFD00E7ECFD00F3F6FE007E99 + F500536CC40000000000000000000000000000000000526CC8008399E4007D98 + F5007582AE00D7DAE400EFF3FE00EFF3FE00EFF3FE00EFF3FE00EFF3FE00EFF3 + FE00A8A5A400EFF3FE00EFF3FE00EFF3FE00EFF3FE00EFF3FE00EFF3FE007582 + AE006282EE007E99F500526CC8000000000000000000566AAC009EADDE00A0B0 + E500AEBCE800AAB8E600D2DAF500D5DDF800C3CFF500C4CFF200B1BDE400B1BD + E300BAC4E500C6CEE800C9D0E700D0D5E800E8EAEE00EDEEF200E6E9F200DDE2 + F600D9E0F700DFE4F500AABBF100000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000778BD200ABBBEF009DB2F7008298 + E0005871C900C1CDF6000000000000000000000000000000000000000000556F + C600819BF500F2F5FE00F2F5FE00DADDE500D9DCE400D9DCE400D8DBE400D8DB + E400D8DBE400D7DAE400D7DAE400D6D9E400E0E4F000EDF1FE00F6F8FE0087A1 + F500556FC6000000000000000000000000000000000000000000536EC900889D + E4007F9AF5006377B900D1D5E100F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5 + FE00DCDDE200F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00D1D5E1007F9A + F50095ACF7008A9FE2000000000000000000000000004F69BE0093A0CC00C5CF + F000B0BEEA00D0D8F500D6DEF900C1CDF500C0CCF500A2B2E7008FA0DB008FA0 + DA0099A9DD00B0BCE400BCC6E600C8CFE900E2E6F100ECEEF200F2F3F600E4E9 + F700EAEEFB00A1AFDA0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000007C93E500687FCD00ADBCED008DA5 + F600788EDA005874CD0000000000000000000000000000000000000000005670 + C70088A2F600F3F6FE00E9ECF3008E8C8D008986860089868600898686008986 + 860089868600898686008986860089868600BABBC100E5E8F300F7F9FE008BA4 + F6005670C7000000000000000000000000000000000000000000BFCDF6006178 + C9009DB2F700869FF1006878B100DDE0E700C8CAD100ECEFF700F3F6FE00F3F6 + FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00DADDE400C0C5D6006878B1009DB2 + F7009EAFEE005C74C700000000000000000000000000D1DAF8004C62AA00B4BE + DE00C5D0F400D7DFF900D8DFF900BAC8F500BDCAF4008599DC00899CDD00899C + DD0094A5DF00ADBBE700BAC5EA00C6CFED00D9DEF100E8EBF600F2F3F800F4F6 + FB00CED3E9005972C70000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000093A8ED005C75CC00A5B7 + F5008EA6F400778DD70000000000000000000000000000000000000000005771 + C8008DA5F600F5F7FE00E1E3EA00EEEEEF00FDFDFD00FDFDFD00FDFDFD00FDFD + FD00FDFDFD00FDFDFD00FDFDFD00FDFDFD00A09FA100DFE2EA00F8FAFE008CA5 + F6005771C80000000000000000000000000000000000000000000000000092A7 + EC00A7B8F300A6B9F80094AAF2008A92AF00C9CCD500F4F7FE00F4F7FE00F4F7 + FE00D4D6DD00F4F7FE00F4F7FE00F4F7FE008A92AF007182BB0094AAF200ABBB + F4006279C90092A7EC000000000000000000000000000000000000000000889D + E400CAD0E800DDE3F900B3C3F500BBC9F600879CE3007C93DF00778FDF007C93 + E000869BE300A0B1EA00AEBDED00BECAF100CCD5F400DCE2F800ECF0FB005C74 + C70092A7EC000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000AFBF + F3006B85DE005A74CF005B76D20000000000000000000000000000000000728C + E20093A8F0009BAFF20099ABE900B3B2B400B5B3B200ABA9A700ABA9A700ABA9 + A700ABA9A700ABA9A700ABA9A700B5B3B200919BBB0099ABE9009AAEF200748A + D8006B85DE000000000000000000000000000000000000000000000000000000 + 000092A7EC005F77CA009AABE600B5C5F900AEBEF40096A5D7007985AD007985 + AD007985AD007985AD008694C00096A5D700B6C6F900B3C3F8009AACE70092A7 + EC00000000000000000000000000000000000000000000000000000000000000 + 00004A61AA0094A2D100D0D9F7009CAEED00637FDC00748DE100849AE500899E + E60093A7E900A3B4ED00A8B8EF00AABAEF00D6DEF800E2E7F600A4B1DC009FB1 + F000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005872C9005872C9005872C900A1A1A700EDECED00F4F4F300E8E8E700E8E8 + E700E8E8E700EBEBEA00F4F4F300EDECED006277BF005872C9005872C9006B85 + DE00000000000000000000000000000000000000000000000000000000000000 + 000000000000C1CDF6005872CD00A0B0EB00B9C8F900BECCFA00BBCAFA00BCCA + FA00BCCAFA00BBCAFA00BDCBFA00BFCDFA00A1B2EB007489D3005872CD000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D1DAF800526AC0006175B500AEBCEB009CAEEA008BA0E7006E89E3007690 + E4008199E8009CAFEE00B3C2F300C7D2F600B7C2E6006E83CC005D78D5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000B1B1B1009C999800ABABAA00EDECEC00E4E3 + E300E4E3E300D8D7D600ABABAA00959391000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005874CD007287D1008B9FE100ACBCF400ACBC + F500ADBDF500ACBCF4009DAEEA008C9FE1005874CD0093A7ED00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000BFCCF500778DDF005771CA005068BA005169 + BC00526BBE00546DC1005C77D2007A92E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000009F9E9D009F9C + 9B009F9C9B000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000DCDCDC00DADADA00C7C7C7007486C4004659970028345F002835 + 5F0028355F0028345F002F3F770046599700C8C8C800D2D2D200DADADA000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000CED7F7003C54A200475B9D00455FB6003754B6001739AA001336 + A9001336A9001739AA002343AF003754B600475B9D00384881003C54A2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000859AE000344991003F51 + 90003F5190003F5190003F5190003F5190003F5190003F5190003F5190003F51 + 90003F5190003F5190003F5190003F5190003F5190003F5190003F5190003F51 + 90003F51900030468E00000000000000000000000000000000005B74C7004455 + 94004F64AD005062A1004057A900000000000000000000000000000000000000 + 00006780CF005369B3004F64AD005062A1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BAC6F2002D418600445796003352B8001337AE000429A8000429A8000429 + A8000B30AB000429A8000429A8000429A8003352B8004761B70044579600BAC6 + F20000000000000000000000000000000000000000004D64B6002A3B78002A3B + 7800344B960000000000344B96002A3B78002A3B78002A3B78002A3B78002A3B + 78002A3B78002A3B78002A3B78002A3B78002A3B7800344B9600000000002A3B + 78002A3B78002A3B7800000000000000000000000000344A96005C72BF00506E + D300506ED300506ED300506ED300506ED300506ED300506ED300506ED300506E + D300506ED300506ED300506ED300506ED300506ED300506ED300506ED300506E + D300506ED3005C72BF0000000000000000000000000000000000374E9E005671 + CE000B206700435FBF0041569C002A3B75002A3B75002A3B75002A3B75002A3B + 7500364C960010266E000B206700435FBF00D1DAF80000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000032468C004C61A700405DBE00042BAD00042BAD002245B700617ACC00677F + CD006B81CB00617ACC004360C1002245B700042BAD001B3FB600405DBE003246 + 8C00BAC6F200000000000000000000000000000000006E7CAC00ACB6DC00A8B5 + E0002D3F7F00000000002D3F7F00A5B3E100A4B2E000A4B2E000A4B2E000A3B1 + E000A3B1E000A3B1E000A2B0DF00A2B0E000A2B0E0002D3F7F0000000000A1B0 + E000A0AFDF00A5B1DA005067BA000000000000000000364C9700506FD8000431 + C8000431C8000431C8000431C8000431C8000431C8000431C8000431C8000431 + C8000431C8000431C8000431C8000431C8000431C8000431C8000431C8000431 + C8000431C800506FD800000000000000000000000000000000003E58AE00274F + D600021C7100153EC700455DAE000E2D9A000E2D9A000E2D9A000E2D9A000E2D + 9A003A54AE00031E7900021C7100153EC7000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000455C + AE004160C6001037BB00042DB7002F52C4005069BA003D509100859AE100A8B7 + ED00C1CCF200859AE1004B61B1003D5091006981D0002E51C300042DB7004160 + C600495DA200455CAE00000000000000000000000000ACBAE800899DDF00A7B6 + E700546CC10000000000546CC100A5B4E600869ADE00869ADE008499DD008499 + DD008499DD008398DD008398DD008297DD006C7BAF00546CC100000000006B7A + AF00A0B0E5007F94DC0033478D0000000000000000003F57A7005072E4000535 + D9000535D9000535D9000535D9000535D9000430C3000430C2000430C2000430 + C2000430C2000430C2000430C2000430C3000535D9000535D9000535D9000535 + D9000535D9005072E40000000000000000000000000000000000000000006983 + DA00435CB300516CCA0000000000000000000000000000000000000000000000 + 000000000000435CB300435CB3003754B7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000869BE1004255 + 96001C42C300042FBD00042FBD001038C0004161CA004D62A700BCC8F3000000 + 0000000000000000000000000000B4C2F0005264A2006B83D100294EC6001C42 + C3004966C70042559600000000000000000000000000AFBDEC008DA1E300AEBC + EC00000000000000000000000000B0BEEA008A9FE3008A9FE300889DE200889D + E200879CE200879CE300869BE200869BE2005667A60000000000000000005869 + A700AAB8E8008399E200374B95000000000000000000435CAF005074EA000638 + E1000638E1000638E1000638E1000E3EE2003C60D6000533CA000533CA000533 + CA000533CA000533CA000533CA003C60D6000638E1000638E1000638E1000638 + E1000638E1005074EA0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000003F56A6001939A600869BE10000000000000000000000 + 00000000000000000000000000000000000000000000000000003C54A3004F66 + B5000934C300153EC6004162D1000934C300143DC6004363CF00384E9B00BCC8 + F300000000000000000000000000000000005671C4005466A700647ED5000833 + C3003558CE004E66B600000000000000000000000000B2C0F00094A8EA00B0BF + EF005B74CA00000000005B74CA00AFBEEF0090A4E80090A4E8008FA4E8008FA4 + E8008FA4E8008EA3E8008CA1E7008CA1E7007381BA005B74CA00000000007483 + BB00AABAED00899FE7003A509C0000000000000000004760B700567AF0001445 + E9001445E9001445E9001445E9001B4AEA008199E900889EE900889EE900889E + E900889EE900889EE900889EE9008199E9001445E9001445E9001445E9001445 + E9001445E900567AF00000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000007A8FDB002D469B004E66BC0000000000000000000000 + 000000000000000000000000000000000000000000005B74CA005067B2004467 + D9002E54D4006882D700465BA300617DDC00214AD2001842D0004A6AD700556A + B5003D53A40000000000000000000000000000000000B7C5F100465BA3002B52 + D3001742D0004063D8006C83CF000000000000000000BCCAF600A2B4F200A2B4 + F200BBC9F600BCC9F500BAC8F6009FB2F2009FB2F2009FB2F2009EB1F2009DB0 + F2009DB0F2009CB0F2009CB0F2009BAFF100AABBF400B7C6F600B8C6F600A7B8 + F30099ADF10099ADF1004259AD0000000000000000004C65BC006586F300335E + EF00345FEF00345FEF00345FEF00345FEF00345FEF00345FEF00345FEF00345F + EF00345FEF00345FEF00345FEF00345FEF00345FEF00345FEF00345FEF00345F + EF00335EEF006586F300000000000000000000000000465EB3006279C300607C + D900617EDE00617EDE00627EDE00637FDF00637FDF00637FDF00637FDF00637F + DF00627EDE00617EDE00607DDE005F7CDE004F64AB008A9EE500000000000000 + 000000000000000000000000000000000000000000004760B700556EC8003A5F + DB004266DD00657AC4004760B6006B7FC0006480E0002750D8002750D8004E6F + DC00566DB800BDCBF40000000000000000000000000000000000556DC1003F63 + DB001F49D600365CDB004E66BA000000000000000000BFCCF800A8BAF500A8BA + F500A7B9F500A7B9F500A6B8F500A5B7F500A5B7F500A5B7F500A5B7F500A4B6 + F500A4B6F500A3B6F500A2B5F500A2B5F500A1B4F500A1B4F500A0B3F500A0B3 + F5009FB3F5009FB3F500455EB40000000000000000004D67BE006C8BF300446B + F000456CF000456CF000456CF000456CF000456CF000456CF000446BF000446B + F000446BF000446BF000456CF000456CF000456CF000456CF000456CF000456C + F000446BF0006C8BF3000000000000000000000000004057A6006B85DC00355B + DA002F54CE003D62DC00365BD3003E63DB00365AD2003357CF00365AD2003256 + CE003E63DC003055CE003A5FDC002B50CD00647CCB00556FC700000000000000 + 000000000000000000000000000000000000000000004058A8005775D900375D + DD005576E3005D71B7008CA1E6004059AC006D81C4006883E300254FDB002D55 + DD004F70DF004159AC00BECCF5000000000000000000000000008CA1E6005374 + E300254FDB00335ADD00445BA8000000000000000000C3D0FA00B0C0F900AFC0 + F900AFC0F900AEBFF800AEBFF800ADBEF800ADBEF800ADBEF800ACBDF800ABBD + F800ABBDF800ABBDF800AABCF800AABCF800AABCF800A9BBF800A9BBF800A8BA + F800A7B9F800A7B9F8004962BA0000000000000000004F69C0007391F4005378 + F1005479F1005479F1005479F100829CF300819BEF007E98EE007E98EE007D97 + EE007D97EE007E98EE007E98EE00819BEF00718FF4005479F1005479F1005479 + F1005378F1007491F4000000000000000000000000005066B100758FE600476B + E300032597004A6AD700082A9C004B6BD700082A9C0003259700082A9C000325 + 97004B6BD700032597004768D600032597007B93E100485FAE00000000000000 + 00000000000000000000000000000000000000000000455EB2006482E6004167 + E7006180E7005168B600C6D1F50000000000BECCF500465FB6006E8BEB003A62 + E700335CE5005577E8005D75C600465FB6000000000000000000C6D1F5005477 + EA003D64E7003B62E700455EB2000000000000000000CBD6FB00BBCAFA00BBCA + FA004068F0004068F0004068F0004068F0004068F0004068F000B8C7F9004068 + F0004068F0004068F0004068F0004068F0004068F000B5C5F900B5C5F900B4C4 + F900B4C4F900B4C4F9004C65BC000000000000000000536DC400809BF500708E + F4007592F4007A96F40096ACF4002750D900053AEB00053AEB007B97F4007A96 + F4007A96F4007995F4007894F4007894F400667DCB0097ACF4007D98F5007592 + F400708EF400809BF500000000000000000000000000657BC5007F9AF1007490 + F0000328A000607DDD000328A000607DDD000328A0000328A0000328A0000328 + A000607DDD000328A000607DDD000328A0007D98F200758BD8005C76D2000000 + 000000000000000000000000000000000000000000004861B7006885E8004B70 + ED005E7FEE00556CBC00AEBDF2000000000000000000BFCCF5007187D0006E8B + EE004067EB003F66EB005D7EEC00627ACB00BFCCF50000000000AEBDF2005A7C + EE003C64EB00446AEB004861B7000000000000000000CED8FB00C1CEFA00C1CE + FA00496FF000496FF000496FF000496FF000496FF000496FF000BECCFA00BECC + FA00BDCBFA00BCCAFA00BCCAFA00BCCAFA00BCCAFA00BBCAFA00BBCAFA00BAC9 + FA00BAC9FA00B9C8F9004D67BE000000000000000000556EC500839EF5007A96 + F400859FF50099AFF700889ADE000D40EC000D40EC000D40EC00A2B6F800A1B5 + F7007D98F5007C97F4007B97F4007B97F400536FD000889BDE0098AEF700859F + F5007A96F400839EF5000000000000000000000000006C83D3008AA3F500859F + F4000328A4006D87E1000328A4006D87E1000328A4000328A4000328A4000328 + A4006D87E1000328A4006D87E1000328A4007A95F00094A9EF00526AC0000000 + 000000000000000000000000000000000000000000004B65BC006F8BEB005075 + F0006384F2005B73C50090A4EB000000000000000000000000004B65BE00748C + DB007290F300426AEF00466DEF006081F0004B65BE00BFCDF50090A4EB006384 + F200466DEF004D72F0004F68BC000000000000000000D1DBFB00C6D2FA00C6D2 + FA005176F1005176F1005176F1005176F1005176F1005176F100C4D1FA005176 + F1005176F1005176F1005176F1005176F1005176F1005176F1005176F1005176 + F100C0CEFA00BFCDFA004E68BF0000000000000000005770C700819BF5007491 + F4008FA7F6009DAFF0006078CB002553EE002553EE002553EE00B1C1F900B0C0 + F9002553EE002553EE002553EE002553EE002C58E9006078CB009EB0F000839E + F5007592F400839DF300000000000000000000000000748AD6008DA5F60095AC + F7000328A4007891E3000328A4007891E3000328A4000328A4000328A4000328 + A4007891E3000328A4007891E3000328A4006E88E20095ACF7006A80CB000000 + 000000000000000000000000000000000000000000006580D9007087D2006A8A + F3005B7EF2006A87EA00536CC00000000000000000000000000000000000BFCD + F6005069C3007995F4005479F1005479F1006685F000667FD000536CC0006384 + F300587CF2006686F300778FDE000000000000000000D8E0FC00D1DBFB00D1DB + FB006384F3006384F3006384F3006384F3006384F3006384F300CED8FB006384 + F3006384F3006384F3006384F3006384F3006384F3006384F3006384F3006384 + F300CBD6FB00CAD5FB00516BC200000000000000000093A8ED005872CA005872 + C9005872C9005A78DB00567AF200567AF200567AF200567AF200CBD6FB00CAD5 + FB00567AF200567AF200567AF200567AF200567AF200567AF2005A78DB005872 + C9005872C9005872CA000000000000000000000000007A91E200839EF50094AB + F6000328A4007D94E2000328A4007D94E2000328A4000328A4000328A4000328 + A4007D94E2000328A4007D94E2000328A4007991E20090A8F60098ACF0000000 + 000000000000000000000000000000000000000000009FB0EF005B74C5007B96 + F100567AF2006A8AF3006881D400000000000000000000000000000000000000 + 0000BFCDF6007D93DE007E99F5005F81F2006485F3007592F2008197E2006686 + F3006888F3007793F000B7C4F2000000000000000000DBE2FC00D6DFFC00D6DF + FC006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF300D3DCFB00D3DC + FB00D3DCFB00D2DBFB00D2DBFB00D2DBFB00D1DBFB00D1DBFB00D1DBFB00D0DA + FB00D0DAFB00CFD9FB00526CC30000000000000000000000000000000000556E + C500C0CEFA006F8DF3006F8DF3006F8DF3006F8DF3006F8DF300D6DFFC00D5DE + FC006F8DF3006F8DF3006F8DF3006F8DF3006F8DF3006F8DF3006F8DF300C3D0 + FA00556EC50000000000000000000000000000000000829BED007290F400849E + F5003C5BC30095AAF2003454BE008EA4ED00173AAF000328A4000D31A9000328 + A4007D94E2000328A4007D94E2000328A4007891E30088A2F60090A8F60092A7 + EC00000000000000000000000000000000000000000000000000516CC8008196 + DF005D80F2006283F2006C8AEF006681DA000000000000000000000000000000 + 000000000000526BC4007E94DF00849EF5007C97F400809BF5008FA7F6007592 + F4007D98F5007E94DF00000000000000000000000000DEE5FC00DAE2FC00DAE2 + FC007592F4007592F4007592F4007592F4007592F4007592F400D8E0FC007592 + F4007592F4007592F4007592F4007592F4007592F4007592F4007592F4007592 + F400D5DEFC00D4DDFC00546DC400000000000000000000000000000000005770 + C700DCE3FC00DFE6FC00E0E6FC00E1E7FD00E0E6FC00E0E6FC00DFE6FC00DFE6 + FC00DFE6FC00DEE5FC00DEE5FC00DEE5FC00DCE3FC00DCE3FC00D9E1FC00D7DF + F9005770C700000000000000000000000000000000008098E700859FF5008CA5 + F6009AAFF70092A9F60094ABF6008CA5F600859EF1008099EC006E89E100617C + D8009EB3F7003E5DC30095AAF200294AB9007D97EB007D98F5007D98F500617C + D800000000000000000000000000000000000000000000000000000000005D78 + CF00819CF3006787F3006888F300718EEF006C85D6005770C40092A5EC00AEBE + F300C8D2F60092A5EC005671CE005A73C600A7B9F8009AAFF70095ACF7008FA6 + F400788ED6005D78CF00000000000000000000000000E6EBFD00E2E8FD00E2E8 + FD00E2E8FD00E2E8FD00E2E8FD00E1E7FD00E1E7FD00E1E7FD00E1E7FD00E0E6 + FC00E0E6FC00E0E6FC00E0E6FC00DFE6FC00DFE6FC00DFE6FC00DEE5FC00DEE5 + FC00DEE5FC00DBE2FC005770C7000000000000000000000000000000000093A8 + ED005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + CA0093A8ED000000000000000000000000000000000000000000AFBFF300AFBF + F3007C92E5007C92E5007C92E5005E79D5005E79D500566FC700687ECD006A80 + CD006A80CD00768BD9007B91DB007F97E4008098E600809AEF007893EE006077 + CA0093A7ED00000000000000000000000000000000000000000000000000D3DB + F900859AE100859FF5006D8CF3007491F4007A96F4007892EC00647CCC006078 + C8006078C800647CCC006D85D9007F99EC00A3B6F8009DB2F7008EA6F600899E + E200526CC50000000000000000000000000000000000E7ECFB00E5EAFD00E4E9 + FD00E5EAFD00E6EBFD00E5EAFD00E5EAFD00E5EAFD00E5EAFD00E4E9FD00E4E9 + FD00E4E9FD00E3E9FD00E3E9FD00E3E9FD00E3E9FD00E2E8FD00E2E8FD00E1E7 + FD00DFE6FC00DEE5FC005871C800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F600AFBFF300859BE9007C93E5007C93E5005E79D6005E79D6005770C8004D6A + CC00647EDA000000000000000000000000000000000000000000000000000000 + 00005871C800869AE2008AA3F4007995F4007A96F400819BF500829DF5007F9A + F5007F9AF500859FF50088A2F6008FA7F60099AFF70095ACF70099AEF5005871 + C800BFCDF600000000000000000000000000000000009FAFE100E7ECFB00E8ED + FB00E8EDFB00E8EDFB00E8EDFB00E7ECFB00E7ECFB00E7ECFB00E7ECFB00E7EC + FB00E7ECFB00E6EBFB00E6EBFB00E6EBFB00E6EBFB00E5EAFB00E5EAFB00E5EA + FB00E4EAFB00E3E8FB006B85DE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006B85DE002C57 + E700647CCD00647CCD005A72CB00000000000000000000000000000000000000 + 000000000000D3DBF9006179D1008A9EE2009AAFF40099AFF70097ADF70097AD + F7009AAFF7009AAFF7009DB2F700A0B4F7008B9FE200687FCC005D78D5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005872 + C9005872C9005872C9005872CA00000000000000000000000000000000000000 + 00000000000000000000000000005772CD00637BCC007A8FD90092A8F00098AD + F0009AAEF10092A8F000879DE6007A8FD9005772CD0092A7ED00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000009FB1F000728BE0005771C8005771 + C8005771C8005771C8005A75D100728BE0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000DBDBDB002E3F79002632 + 5B0026325B0026325B0026325B0026325B0026325B0026325B0026325B002632 + 5B0026325B0026325B002E3E7700C5C5C500C5C5C500C5C5C500C7C7C7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000027366E004F65 + AE004F64AC00485B9B004F64AC004F64AC00485B9B004F64AC004F64AC00485B + 9B004F64AC004F64AC002736680026335C0026335B0026335B0026335B002632 + 5D002E3F7900CBCBCB0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000C4C4C400B9B9B9004558 + 9700253159002531590025315900253159002531590025315900253159002531 + 5900253159002531590025315900253159002531590025315900253159004558 + 9700BDBDBD00DADADA0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000002C3D7A004F69 + BE000328A200032082001D3EAC000328A200032082001D3EAC000328A2000320 + 82001D3EAC004F69BE002C3D7A001D3EAC000328A200032082001D3EAC004F69 + BE002C3D7A0000000000000000000000000000000000A6A4A400E2E2E200E2E2 + E200E2E2E200E2E2E200E2E2E200E2E2E200E2E2E200E2E2E200E2E2E200E2E2 + E200E2E2E200E2E2E200E2E2E200E2E2E200A6A4A400B6B5B500A09E9E000000 + 00000000000000000000000000000000000000000000000000002C3B75004B62 + AC0003279D0003279D0003279D0003279D0003279D0003279D0003279D000327 + 9D0003279D0003279D0003279D0003279D0003279D0003279D0003279D004B62 + AC002C3B75000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000002E407E004F69 + C200042AA900032187001D3FB100052AA900042288001E40B100052AA9000321 + 87001D3FB1004F69C2002E407E001D40B300062CAB00052389001F42B400506A + C4002F41800000000000000000000000000000000000A7A6A500E2E2E200D6D6 + D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6 + D600D6D6D600D6D6D600D6D6D600D6D6D600A7A6A500D8D8D800B7B6B600D5D5 + D5000000000000000000000000000000000000000000000000002B3D7900435E + BB00546393005A6792005A6792000328A300546393005A679200546393000328 + A300546393005A679200546393000328A3005A6792005A67920054639300435E + BB002B3D790000000000000000000000000000000000B1BCE500465792003441 + 6E00333F6800333F6800333F6800333F6800333F6800333F6800333F6800333F + 6800333F6800333F6800333F6800333F6800333F6800333F6800333F6800333F + 680034416E00485C9B0000000000000000000000000000000000304385004760 + B30005248C0006258D000E2C910009278D0009278D000F2D900009278D000827 + 8D000D2B90004760B300304385002346BC000E34B5000B2A91002548BD00516C + C9003144870000000000000000000000000000000000A8A7A600E2E2E200D6D6 + D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6 + D600D6D6D600D6D6D600D6D6D600D6D6D600A8A7A600ECECEC00D8D8D800A1A1 + A000D5D5D50000000000000000000000000000000000000000002D407F00435F + BF008190C2008194D4008194D400092EAC008190C2008194D4008392C300042A + AA007080B8008194D4007080B800092EAC008194D4008194D4008392C300435F + BF002D407F00000000000000000000000000000000002D3F7F0043548D004B60 + A8004A60A9004A60A9004A60A9004A60A9004A60A9004A60A9004A60A900495F + A700465BA000425698004256980042569800465BA000495FA7004A60A9004A60 + A9004B60A80044559000DBE2F80000000000000000000000000035498F00516E + CF001239BE00102F98002D50C600183EBF00133299002F52C600183EBF001231 + 99002B4FC600526FCF0035498F003256CE001F46C8001938A1003357CE005472 + D500384D950000000000000000000000000000000000AEACAB00E6E6E600DCDC + DC00DCDCDC00DCDCDC00DCDCDC00718BE400DCDCDC00DCDCDC00DCDCDC00718B + E400DCDCDC00DCDCDC00DCDCDC00718BE400AEACAB00EFEEEE00ECECEC00CDCD + CD00B6B5B400A3A1A1000000000000000000000000000000000032478A004261 + C800042DB600042DB600042DB600042DB600042DB600042DB600042DB600042D + B6008196DA008196DA008196DA00042DB600042DB600042DB600042DB6004261 + C80032478A00000000000000000000000000000000003E58B5001544DF000537 + E0001229760026387700042AAB00042AAB00042AAB00042AAB00182F7F004142 + 4A0079777700ADACAC00ADACAC00ADACAC007977770041424A00182F7F00042A + AB00042AAB001B3EB4003F519200000000000000000000000000374D94005371 + D4001840C50015359E003256CC001E45C70018379F003558CC001E45C6001736 + 9F003054CC005371D400374D94003A5ED600274ED100203FA8003A5ED6005574 + DB003B519D0000000000000000000000000000000000B3B1B100ECECEC00E4E4 + E400E4E4E400E4E4E400E4E4E400758FE800E4E4E400E4E4E400E4E4E400758F + E800E4E4E400E4E4E400E4E4E400758FE800BCBBBA00B3B1B100B3B1B100B3B1 + B100B3B1B100B3B1B10000000000000000000000000000000000354890004262 + CD0055659D005A699B005A699B00042FBD0055659D005A699B0055659D00042F + BD008196DE008196DE008196DE00042FBD005A699B005A699B0055659D004262 + CD0035489000000000000000000000000000000000003555BE000839DD000537 + E000032187002A3B7500042CB200042CB200042CB200042AAA004D4B4C009493 + 92009492920043414200454344004341420094929200949392004D4B4C004C66 + C0004B67C7001439B70041548F0000000000000000000000000039509A004B66 + C2001838A4001B3BA5002241A7001D3CA4001D3CA4002341A7001D3CA4001C3B + A4001F3EA6004B66C20039509A004064DC002F56DA002645AE004064DC005777 + E1003F56A40000000000000000000000000000000000B8B6B600F1F1F100EBEB + EB007892EB007892EB007892EB007892EB007892EB007892EB007892EB007892 + EB007892EB007892EB007892EB007892EB007B95EE007B95EE007B95EE00F1F1 + F100F1F1F100B8B6B60000000000000000000000000000000000384D96004364 + D3008192CB008197E1008197E1000934C5008192CB008197E1008494CD000934 + C50090A3E5008197E10092A5E5000934C5008197E1008197E1008494CD004364 + D300384D9600000000000000000000000000000000003555BE000537DE000537 + E000032187002C3C7600042DB700042DB700042DB600072AA0008F8E8D008483 + 82004342450024283900202537001E23360041404400848382008F8E8D004760 + B2004F6BCA00143BBC00455794000000000000000000000000003F56A5005676 + E1002951D9002545AF004468DE003259DA002847AF004669DE003259DA002645 + AE003F64DC005676E1003F56A5004F73EB003F66E8003352BA004E72EA00597B + EB00455FB30000000000000000000000000000000000C0BEBD00F9F9F900F6F6 + F600F6F6F600F6F6F600F6F6F6007E98F100F6F6F600F6F6F600F6F6F6007E98 + F100F6F6F600F6F6F600F6F6F6007E98F100F6F6F600F6F6F600F6F6F600F6F6 + F600F9F9F900C0BEBD00000000000000000000000000000000003C54A1004266 + DC000433D0000433D0000433D0000433D0000433D0000433D0000433D0000433 + D0000433D0000433D0000433D0000433D0000433D0000433D0000433D0004266 + DC003C54A100000000000000000000000000000000003555BE000537DE000537 + E000032187002F3F79000E38C6000E38C6000D34B500434757006D6B6B004242 + 4900333540002D2F3C00292C3B00262A3800313648002C303D006D6B6B004347 + 57000D34B5001B43C9004B5FA000000000000000000000000000425AAA005778 + E5003058DF002A4AB300496DE300385FE0002D4CB3004D70E300385EDF002B4A + B200456AE2005778E500425AAA005579F000476DEE003A59BF005478F0005A7D + F1004963BB0000000000000000000000000000000000C2C1C000FBFBFB00F9F9 + F9007F99F2007F99F2007F99F2004E73EF004E73EF004E73EF004E73EF004E73 + EF007F99F2007F99F2007F99F2007F99F2007F99F2007F99F2007F99F200F9F9 + F900FBFBFB00C2C1C000000000000000000000000000000000003F58A8004368 + E1005669A8005B6CA5005B6CA5000535D8005669A8005B6CA5005669A8000535 + D8005669A8005B6CA5005669A8000535D8005B6CA5005B6CA5005669A8004368 + E1003F58A800000000000000000000000000000000003555BE000537DE000537 + E0000321870030417A001B44CE001B44CE00193EBA004E4C4C004D4B4C004243 + 4A00393B42003537400032333F002E313E0025293800222839004D4B4C004E4C + 4C00193EBA00264DD0004E62A400000000000000000000000000445DB100506E + D2002A4AB7002F4FB8003553B9003251B8003251B7003856BA003251B8003150 + B8003150B9004F6DD200445DB1005D80F2005075F100405EC1005B7EF2005C7F + F2004C66BD0000000000000000000000000000000000C5C3C300FDFDFD00FCFC + FC00FCFCFC00FCFCFC00FCFCFC004F74F00099AEF50099AEF50099AEF5004F74 + F000FCFCFC00FCFCFC00FCFCFC00819BF400FCFCFC00FCFCFC00FCFCFC00FCFC + FC00FDFDFD00C5C3C30000000000000000000000000000000000425AAD004469 + E6008295D600819AEE00819AEE000A3ADE008295D600819AEE008598D7000A3A + DE008295D600819AEE008598D7000A3ADE00819AEE00819AEE008598D7004469 + E600425AAD00000000000000000000000000000000003555BE000537DE000537 + E0000321870032427C002951D6002951D6002448C0004F4D4E004F4D4E004545 + 4A006060650072737A0053555D00353741002B2F3D00272B3A004F4D4E005856 + 56002448C0003056D7005166AA000000000000000000000000004A64BB005A7D + F1004169EF003857BF005B7EF1004C71F0003D5BC0005E80F1004C71F0003B59 + BF005478F000597CF1004A64BB006684E8005F81F2004D68C2006482E8005E80 + F2004E68BF0000000000000000000000000000000000C8C7C600FFFFFF00FFFF + FF00829CF500829CF500829CF5005075F1005075F1005075F1005075F1005075 + F100829CF500829CF500829CF500829CF500829CF500829CF500829CF500FFFF + FF00FFFFFF00C8C7C600000000000000000000000000000000004862B9004A70 + F0001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC001C4C + EC001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC004C71 + F0004862B900000000000000000000000000000000003555BE000537DE000537 + E0000321870035457F004368E4004368E4003E60D1004F526000686666004E4C + 4D00959495008C8C8E008283880044444A00373944003A3C4400686666004F52 + 60003D5FD1004469E400586DB6000000000000000000000000004B65BD005C7F + F200466DF0003E5CC1006183F2005176F100425FC1006586F3005176F100405E + C100597CF2005B7EF2004B65BD006D89E9006787F300536DC2006986E8005F81 + F2004F69C10000000000000000000000000000000000CAC8C700FEFEFE00FEFE + FE00FEFEFE00FEFEFE00FEFEFE00829CF500FEFEFE00FEFEFE00FEFEFE00829C + F500FEFEFE00FEFEFE00FEFEFE00829CF500FEFEFE00FEFEFE00FEFEFE00FEFE + FE00FEFEFE00CAC8C700000000000000000000000000000000004A64BB004E73 + F1006777AC006777AC006777AC006777AC006777AC006777AC006777AC006777 + AC006777AC006777AC006777AC006777AC006777AC006777AC006777AC005075 + F1004A64BB00000000000000000000000000000000003555BE000537DE000537 + E00003218700324176005275EB005275EB004D6FDE004F5C8B008F8D8D005452 + 530071707000969496006F6E710049494E003A3B4300514F51008F8D8D004F5C + 8B004D6FDE004E72EA005C72BB000000000000000000000000004C66BD005473 + D9003D5BC100425FC1004965C2004763C1004864C1004C67C3004763C1004561 + C100425FC2005372D9004C66BD00728DE9006F8DF3005871C3006E8AE8006082 + F200516BC20000000000000000000000000000000000C9C7C600FCFCFC00FBFB + FB00FBFBFB00FBFBFB00FBFBFB00809AF300FBFBFB00FBFBFB00FBFBFB00809A + F300FBFBFB00FBFBFB00FBFBFB00809AF300FBFBFB00FBFBFB00FBFBFB00FBFB + FB00FCFCFC00C9C7C600000000000000000000000000000000004B65BC005075 + F10090A4E80099AFF70090A4E80090A4E80099AFF70090A4E80090A4E80099AF + F70090A4E80090A4E80099AFF70090A4E80090A4E80099AFF70090A4E8005479 + F1004B65BC0000000000000000000000000000000000465EB2001743D5001844 + D60019307D0039497A00809AF300657AC2006D84D1005D77D100908E8E007F7D + 7D00575555004F4D4D004D4B4D0047474A00545254007F7D7D00908E8E003E52 + 94004158A5004059AC005F75C1000000000000000000000000004E68BF005F81 + F200567AF2004C67C200718FF4006586F300516BC2007693F4006586F3004F69 + C2006888F3005D80F2004E68BF00829DF5007C97F4005D75C3007491F4005F81 + F200536DC40000000000000000000000000000000000BDBBBA00E8E8E800DEDE + DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE + DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE + DE00E8E8E800BDBBBA00000000000000000000000000000000004D67BE00587C + F2004C72F1004C72F1004C72F1004C72F1004C72F1004C72F1004C72F1004C72 + F1004C72F1004C72F1004C72F1004C72F1004C72F1004C72F1004C72F1005E80 + F2004D67BE00000000000000000000000000000000005E79D0006B86E2006179 + CA005669AB005669AB007B97F4006279C4006B84D6007B97F4006879B2005959 + 5F00757373008F8E8D008F8E8D008F8E8D007573730059595F006879B2005669 + AB004D62AA004B62AE00617AD3000000000000000000000000004F69C0006082 + F2005B7EF2004F6AC2007794F4006B8AF300566FC3007C97F4006B8AF300536D + C2006D8CF3005E80F2004F69C00086A0F5007995F400566FC3006989F3005C7F + F200556FC60000000000000000000000000000000000AEADAC00D2D2D200D2D2 + D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2 + D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2 + D200D2D2D200AEADAC00000000000000000000000000000000004D67BF005B7E + F2004D5B8B005563930055639300556393005563930055639300556393005563 + 9300556393005563930055639300556393005563930055639300556599006283 + F2004D67BF0000000000000000000000000000000000627ACE007592F4003E4E + 8000343D5D006071AB0089A2F60089A2F60089A2F60089A2F600829AEA007A8E + D5006A7191005A585800646262005A5858006A7191007A8ED500829AEA00829C + F5006D8CF3006F8CF1008EA3E900000000000000000000000000506AC1005775 + DA004D68C200546EC2005B73C4005A72C3005B73C3006077C4005B73C3005871 + C300526CC3005674DA00506AC1009CB1F70096ACF7007A91DC00819BEF006483 + EB005670C700000000000000000000000000000000005263A1005F6FA8005F6F + A8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6F + A8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6F + A8005F6FA8005263A100000000000000000000000000000000004E68C0005F81 + F2002C3B6C003242790032427900324279003242790032427900324279003242 + 7900324279003242790032427900324279003242790039497E005B6894006787 + F3004E68C000000000000000000000000000000000005C75CC00728ADD00404F + 8100404C72006575AC0091A8F60092A9F60092A9F60093AAF60097ADF70099AE + F30095A9EB008C9EDD008C9EDD008C9EDD0095A9EB0098ADF30094ABF600819B + F5007390F2006983D80000000000000000000000000000000000526CC3006283 + F2006989F3005D75C300859FF5007E99F500657BC3008DA5F6007F9AF5006279 + C4007A96F4006082F200526CC300375EE5003159E4002551E3005771C8000000 + 00000000000000000000000000000000000000000000556CBD005A79DF000536 + D900042EBB00042BAE00042EBB000536D9000536D9000536D9000536D9000536 + D9000536D9000536D9000536D9000536D900042EBB00042BAE00042EBB000536 + D9005A79DF00556CBD0000000000000000000000000000000000506AC1006686 + F30038446D003E4C7A003E4C7A003E4C7A003E4C7A003E4C7A003E4C7A003E4C + 7A007982A2005C688F00737D9E004A5782003E4C7A003E4C7A00646F9400708E + F400506AC1000000000000000000000000000000000000000000000000008DA2 + E800536DC400536DC4004E66B8004B62B0004E66B800536DC400546DC0005870 + BF007D8DC6008D9BC7008E9BC7008D9BC7007789C5004F69BE00556EC100637A + CE008DA2E8000000000000000000000000000000000000000000536DC4006283 + F2006C8BF3006077C3008AA3F600839EF5006B80C40092A9F600849EF500657B + C3007C97F4006183F200536DC4005771C8005771C8005771C8005A76D2000000 + 00000000000000000000000000000000000000000000566FC6006A89F200053A + EA005574DB006886EB005574DB00053AEA00053AEA00053AEA00053AEA00053A + EA00053AEA00053AEA00053AEA00053AEA004D6CD3006482E7004D6CD300053A + EA006A89F200566FC60000000000000000000000000000000000516BC2006A8A + F3003D486E0044517A0044517A0044517A0044517A0044517A0044517A004451 + 7A009097B0007881A000848CA8007881A00044517A0044517A00687294007491 + F400516BC2000000000000000000000000000000000000000000000000000000 + 000000000000DAE1F900637BCE00556FC600637BCE00DAE1F9006C84D800607B + D9007D98F500AABCF800ADBEF800AABCF8007491F4005775D9006C84D8000000 + 0000000000000000000000000000000000000000000000000000546EC5005876 + DA00566FC3006379C4006C81C5006E82C4007083C5007587C6006E82C400687D + C4005B73C4005775DA00546EC500000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005771C8007794F4001C4C + ED0090A7F4007995F40090A7F4001E4EED001E4EED001E4EED001E4EED001E4E + ED001E4EED001E4EED001E4EED001E4EED0090A7F4007995F40090A7F4001C4C + ED007794F4005771C80000000000000000000000000000000000526CC3006D8C + F300434D6E00485378004A557B004A557B004A557B004A557B004A557B004A55 + 7B004A557B004A557B004A557B004A557B004A557B004A557B006F7896007995 + F400526CC3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A8B8F0005570 + CB00466BE300CFD8F800CFD8F800CFD8F8004165E300546ECA00A8B8F0000000 + 00000000000000000000000000000000000000000000000000005670C7005D80 + F200587CF2005972C3008EA6F60093AAF600798AC500A3B6F80087A1F5005B73 + C3006989F3005B7EF2005670C700000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005872C900889FEB0091A6 + EC0097ABED0098ABED0098ABED0099ACED0099ACED0099ACED0099ACED0099AC + ED0099ACED0099ACED0099ACED0099ACED0099ACED0098ABED0097ABED0091A6 + EC00889FEB005872C900000000000000000000000000000000005670C6007794 + F400AABCF800ADBEF800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800ADBEF800A9BBF800829C + F500546EC5000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005771C8006583 + EB00809AEE007B92DD009BB0F700AEBFF8009FAEDF00B2C2F9009EB3F7007C92 + DD00809AEE006382EB005771C800000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005B76D2005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005B76D200000000000000000000000000000000005A74C7008CA3 + ED009BB0F700A6B9F800A9BBF800AABCF800AABCF800AABCF800AABCF800AABC + F800AABCF800AABCF800AABCF800AABCF800A9BBF800A5B8F80098AEF70092A7 + EF005972C6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005A76D2005771 + C8005771C8002A4DBF00425FC100566FC3005B73C3005A72C3004360C100294C + BF005771C8005771C8005A76D200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000728BDF007289 + D7009BAFF1009FB2F200A0B3F200A0B3F200A0B3F200A0B3F200A0B3F200A0B3 + F200A0B3F200A0B3F200A0B3F200A0B3F200A0B3F2009EB1F2009AAEF1007389 + D700728BDF000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005A76D2005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005A76D2000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003044890030448900000000000000000000000000000000000000 + 0000000000003044890000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000263569004F5E9400000000000000000000000000000000000000 + 0000536BBA002635690000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004D66 + BC007D94DF007B94E7007F97E7008098E7008199E7008199E7008199E7008199 + E7008199E7008199E7008199E7008199E7008098E7007F97E7007C94E5006377 + BB004D66BC000000000000000000000000000000000000000000000000000000 + 00000000000029397200627DD900334992000000000000000000000000003349 + 92005E71B3002939720000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003F58AD003D59B9003857BF003857 + BF003857BF003857BF003857BF003857BF003857BF003857BF003857BF003857 + BF003857BF003857BF003857BF003857BF003857BF003857BF003857BF003857 + BF003857BF003857BF003A5097005169BF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000D2DBF8004E66 + B7006686F3006888F3006F8DF3007592F4007693F4007693F4007693F4007693 + F4007693F4007693F4007693F4007693F4007391F4006F8DF3006888F3007F99 + F0004E66B700D2DBF80000000000000000000000000000000000000000000000 + 0000000000002C3C7700617DDA00445591007389D300000000007389D300495A + 9300526FD2002C3C770000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000283C82000730BA00042EB900042E + B900042EB900042EB900042EB900042EB900042EB900042EB900042EB900042E + B900042EB900042EB900042EB900042EB900042EB900042EB900042EB900042E + B900042EB900042EB9003453B900283C820000000000364C9A002C3E7D002C3E + 7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E + 7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E + 7D002C3E7D002C3E7D0000000000000000000000000000000000AEBDF100556C + BB00617FE30040508500576AAB00819BF500819BF500435180005D70B000829C + F500829CF5005A6CAB005C6FAF00819BF500425080005669AA005469AF007B97 + F400556CBB00AEBDF10000000000000000000000000000000000000000000000 + 0000000000002E3F7C00617DDB005872C70032478800CED7F70033478800647B + CB002447BB002E3F7C0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000027387A00042BAD00042BAD00042B + AD00042BAD00042BAD00042BAD00042BAD00042BAD00042BAD00042BAD00042B + AD00042BAD00042BAD00042BAD00042BAD00042BAD00042BAD00042BAD00042B + AD00042BAD00042BAD001035B10027387A00000000002F4284005872CB004F6B + C8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6B + C8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6B + C8004F6BC8005872CB00000000000000000000000000000000008FA3E900627A + CD004862BC0036488600445BA9006283F2006283F20031417700445BA9006283 + F2006283F200445BA900445BA9006283F20031417700445BA900445BA9007290 + F400627ACD008FA3E90000000000000000000000000000000000000000000000 + 00000000000032458600617EDF00173CBA005472D800435492005D7ADA001238 + B700042BAF003245860000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000002A3C7E00042BB000042BB000042B + B000042BB000042BB000042BB000042BB000042BB000042BB000042BB000042B + B000042BB000042BB000042BB000042BB000042BB000042BB000042BB000042B + B000042BB000042BB000042BB0002A3C7E0000000000354A92005875D600BBC2 + DA00D0D8F400D0D8F400D0D8F400CED6F300CED6F300CED6F300CED6F300CCD5 + F200CDD6F300CED6F300CED6F300D0D8F400D1D9F400D1D9F300D3DAF400D5DC + F400E9EDFA005875D60000000000000000000000000000000000768EE1006079 + CD003955B3002F458F003751A8005075F1005075F100273975003751A8005075 + F1005075F1003751A8003751A8005075F100273975003751A8003751A8006183 + F2006079CD00768EE10000000000000000000000000000000000000000000000 + 00000000000034478B00627FE100042CB4002E53CB005B73C7002E53CB00042C + B400042CB40034478B0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000002C408400042EB900042EB900042E + B900042EB900042EB900042EB900042EB900042EB900042EB900042EB900042E + B900042EB900042EB900042EB900042EB900042EB900042EB900042EB900042E + B900042EB900042EB900042EB9002C40840000000000384E99005876DB00BDC4 + DC00D2DAF500D1D9F500D1D9F500D1D9F500D1D9F500D1D9F500CFD7F400CFD7 + F400CED7F400CED7F400CED7F400CED7F500CED7F500CED7F500CED7F500CED7 + F500E6EBF9005876DB00000000000000000000000000000000007790E100657E + D3002844A200243D8E002C48A7003E67F0003E67F0001E3274002C48A7003E67 + F0003E67F0002C48A7002C48A7003E67F0001E3274002C48A7002C48A7005075 + F100657ED3007790E10000000000000000000000000000000000000000000000 + 000000000000374B8F006280E300042EB9000932BC004164D8000932BC00042E + B900042EB900374B8F0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000002F448C000430C2000430C2000430 + C2000430C2000430C2000430C2000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2002F448C00000000003C53A0005A79E000C0C7 + DE00D5DDF700D3DBF600D3DBF600D3DBF700D2DAF600D2DAF600D2DAF700D1D9 + F600D2DAF700D1D9F600D0D9F600D0D9F600D0D9F600CFD8F600CFD8F600CFD8 + F600E6EBFA005A79E00000000000000000000000000000000000516AC2005E7A + D8000D257600112D8A00123095001A45D6001A45D6000C216800123095001A45 + D6001A45D60012309500123095001A45D6000C2168001230950012309500335B + E1005E7AD800516AC20000000000000000000000000000000000000000000000 + 0000000000003B509A00617FE5000430C4000430C4000430C4000430C4000430 + C4000430C4003B509A0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000354B9B000534D4000534D4000534 + D4000534D4000534D4000534D4000534D4000534D4000534D400042AAA00042A + AA00042AAA00042EB9000534D4000534D4000534D4000534D4000534D4000534 + D4000534D4000534D4000534D400354B9B0000000000435CAF006181EC00C2C9 + E000D8E0FA00D8E0FA00D7DFFA00D7DFFA00D7DFFA00D7DFFA00D6DEFA00D6DE + FA00D6DEFA00D6DEFA00D6DEFA00D5DDFA00D5DDFA00D4DDFA00D4DDFA00D4DD + FA00E9EEFC006181EC00000000000000000000000000000000004D66BA005E7A + D80003185F0005207B00062489000833C3000832BD0004195F00062489000833 + C3000832BD0005218000062489000833C30004195F0005218000062489001A43 + CE005E7AD8004D66BA0000000000000000000000000000000000000000000000 + 0000000000003E539E006180E7000432C9000432C9000432C9000432C9000432 + C9000432C9003E539E0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003850A3000537DD000537DD000537 + DD000537DD000537DD000537DD000537DD000537DD000537DD00C5C3C200C3C1 + BF00C0BEBC00042EBC000537DD000537DD000537DD000537DD000537DD000537 + DD000537DD000537DD000537DD003850A300000000004660B6006182F100C5CB + E100DAE1FB00DAE1FB00DAE1FB00D9E1FB00D9E1FB00D9E1FB00D8E0FB00D8E0 + FB00D8E0FB00D7DFFB00D7DFFB00D7DFFB00D6DEFB00D6DEFB00D6DEFB00D6DE + FB00EBF0FD006182F100000000000000000000000000000000004960B2005D7D + EA0002175D000216580002165800042CB300042BAC0002175D0002175D00042C + B300042BAC000216580002175D00042CB30002175D000216580002165800173E + C2005D7DEA004960B20000000000000000000000000000000000000000000000 + 0000000000004056A3006180E9000433CE000433CE000433CE000433CE000433 + CE000433CE004056A30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003B54AA000539E5000537E0000434 + D1000433CE000433CE000433CE000433CE000433CE000433CE00D9D8D700D7D5 + D400D4D2D100042BB0000433CE000433CE000433CE000433CE000433CE000433 + CE000434D3000538E2000539E5003B54AA00000000004962BA006283F200C7CD + E300DEE5FC00DDE4FC00DDE4FC00DCE3FC00DCE3FC00DCE3FC00DBE2FC00DBE2 + FC00DBE2FC00DAE2FC00DAE2FC00DAE2FC00D9E1FC00D9E1FC00D8E0FC00D8E0 + FC00EBF0FD006283F2000000000000000000000000003C4E9300405190000D26 + 7800031F7D00031F7D00031F7D00031F7D00031F7D00031F7D00031F7D00031F + 7D00031F7D00031F7D00031F7D00031F7D00031F7D00031F7D00031F7D00031F + 7D000D2678003C4E8C00879DE200000000000000000000000000000000000000 + 000000000000455DAE006887ED001543DC001543DC001543DC001543DC001543 + DC001543DC00455DAE0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003F59B000193BAD004565CF005D7D + EA006082F2006082F2006082F2006082F2006082F2006082F200D9D7D600D3D1 + D000CDCBCA00516DCD006082F2006082F2006082F2006082F2006082F2006082 + F2005B7BE5003959C2001646E9003F59B000000000004C65BC006B8AF300CCD1 + E300E3E9FD00E2E8FD00E2E8FD00E2E8FD00E1E7FD00E1E7FD00E0E6FC00E0E6 + FC00E0E6FC00DFE6FC00DFE6FC00DFE6FC00DEE5FC00DEE5FC00DEE5FC00DDE4 + FC00EDF1FE006B8AF3000000000000000000000000007A93E4003F64E0004569 + E0004A6DE0004C6EE0004D6FE1004D6FE1004D6FE1004D6FE1004D6FE1004D6F + E1004D6FE1004D6FE1004D6FE1004D6FE1004D6FE1004D6FE1004C6EE000486B + E0004569E0004266DD004C64B700000000000000000000000000000000000000 + 0000000000004760B3006D8BF0001F4CE1001F4CE1001F4CE1001F4CE1001F4C + E1001F4CE1004760B30000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000415AB1005E7CE2005579F100486F + F000466DF000466DF000466DF000466DF000466DF000466DF000F1F0F000EFED + ED00ECEBEA003B5DCC00466DF000466DF000466DF000466DF000466DF000466D + F000486FF000587CF2002247C400415AB100000000004D67BE006B8AF300CED3 + E300E5EAFD00E5EAFD00E5EAFD00E4E9FD00E4E9FD00E4E9FD00E3E9FD00E3E9 + FD00E2E8FD00E2E8FD00E2E8FD00E1E7FD00E1E7FD00E1E7FD00E0E6FC00E0E6 + FC00EFF3FE006B8AF3000000000000000000000000007290F4006A8AF3006888 + F300708EF4007290F4007290F4007391F4007391F4007391F4005771CE00354A + 940032458D007391F4007391F4007391F4007290F4007290F4007290F4006E8D + F3006888F3006A8AF3005771C800000000000000000000000000000000000000 + 0000000000004A63B8006F8DF1002854E7002854E7002854E7002854E7002854 + E7002854E7004A63B8004A63B8004A63B8004A63B8004A63B800516BC7000000 + 000000000000000000000000000000000000425BB200597CF2005277F1005277 + F1005277F1005277F1005277F1005277F1005277F1005277F1004766CD004766 + CD004766CD004B6CDA005277F1005277F1005277F1005277F1005277F1005277 + F1005277F1005277F1004D68C400425BB200000000004E68BF006B8AF300CFD4 + E300E7ECFD00E6ECFD00E6ECFD00E6ECFD00E6EBFD00E6EBFD00E5EAFD00E5EA + FD00E5EAFD00E4E9FD00E4E9FD00E4E9FD00E3E9FD00E3E9FD00E3E9FD00E2E8 + FD00F0F3FE006B8AF3000000000000000000000000005872CA005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9003C53A3005072 + E2000535D7005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C90093A8ED00000000000000000000000000000000000000 + 0000000000004F69C0007894F4003D66EF003D66EF003D66EF003D66EF003D66 + EF003C65EF004F69C0003656C2005579F1005378F1007592F4004F69C0000000 + 000000000000000000000000000000000000445DB5006C8BF3006C8BF3006C8B + F3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8B + F3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8B + F3006C8BF3006C8BF3007491F400445DB50000000000516BC2006D8CF300D3D7 + E400EBF0FD00EAEFFD00EAEFFD00EAEFFD00E9EEFD00E9EEFD00E9EEFD00E9EE + FD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E7ECFD00E7ECFD00E7ECFD00E6EC + FD00F2F5FE006D8CF30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000425AAF004F73 + EB000538E3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000506AC1007C97F400476EF000476EF000476EF000476EF000476E + F000466DF000506AC1003555C2005176F1005075F1007290F400506AC1000000 + 000000000000000000000000000000000000455EB6007A96F4007A96F4007A96 + F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96 + F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96 + F4007A96F4007A96F4007A96F400455EB60000000000526CC3007491F400D6D9 + E400EDF1FE00EDF1FE00EDF1FE00ECF0FE00ECF0FE00EBF0FD00EBF0FD00EBF0 + FD00EAEFFD00EAEFFD00EAEFFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E8ED + FD00F4F7FE007491F40000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004760B8005075 + F100053AEB000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000516BC200819BF5005075F1005075F1005075F1005075F1005075 + F1005075F100516BC2002A4DBF004169F0004068F0006B8AF300516BC2000000 + 0000000000000000000000000000000000004660B70086A0F50086A0F50086A0 + F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0 + F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0 + F50086A0F50086A0F50086A0F5004660B70000000000546DC4007491F400D8DB + E400F0F3FE00EFF3FE00EFF3FE00EFF3FE00EEF2FE00EEF2FE00EDF1FE00EDF1 + FE00EDF1FE00ECF0FE00ECF0FE00ECF0FE00EBF0FD00EBF0FD00EBF0FD00EAEF + FD00F4F7FE007491F40000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004C65BD005075 + F100053AEB000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000536DC40088A2F6006485F3006485F3006485F3006485F3006485 + F3006384F300536DC4000F35B6001546EC001546EC00577BF200536DC4000000 + 0000000000000000000000000000000000005570CD00A3B6F500A0B4F700A0B4 + F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4 + F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4 + F700A0B4F700A0B4F7008798D6005570CD00000000005770C7007B97F4001B46 + D500254ED600274FD600274FD6002850D6002850D6002850D6002850D6002850 + D6002850D6002850D6002850D6002850D6002850D600274FD600274FD600214A + D5001B46D5007B97F40000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004E68BF005075 + F100053AEB000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000546DC4008BA4F6006F8DF3006F8DF3006F8DF3006F8DF3006F8D + F3006E8DF300546DC400042BB0000538E5000538E5005075EF00546DC4000000 + 000000000000000000000000000000000000000000004963BA004963BA004963 + BA004963BA004963BA004963BA003D5BC300042EBC003B57B9004963BA004963 + BA004963BA004963BA003B57B900042EBC004963BA004963BA004963BA004963 + BA004963BA004963BA005670CE0000000000000000005871C800829CF5003E67 + F0005176F1005579F100577BF200597CF200597CF200597CF200597CF200597C + F200597CF200597CF200597CF200597CF200587CF200577BF2005579F1004A70 + F0003E67F000829CF50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000516AC1005075 + F100053AEB000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000556EC6008FA7F6007995F4007995F4007995F4007995F4007995 + F4007995F400556EC600042AA9000434D3000434D3005073E900556EC6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004A64BB000430C4004760B300000000000000 + 000000000000000000004760B3000430C4000000000000000000000000000000 + 000000000000000000000000000000000000000000005872C90089A1F00093A9 + F2009DB0F2009FB2F400A0B3F400A1B4F400A1B4F400A1B4F400A1B4F400A1B4 + F400A1B4F400A1B4F400A1B4F400A1B4F400A0B3F400A0B3F4009FB2F40098AD + F20093A9F20089A1F00000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005971C7005075 + F1001345EC000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005770C8009DB1F3008CA5F6008CA5F6008CA5F6008CA5F6008CA5 + F6008CA5F600697ECB0003269B00042AAA000930B3005D78D6005770C7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000516ABE002049D4004862BD004D66BD004D66 + BD004D66BD004D66BD004862BD002049D3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005972CB006A86 + E4006A86E4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000647EDA0095A8E80097ADF70096ACF70096ACF70096ACF70096AC + F70096ACF700758AD4001A36940003269B002042B3005E78CF005874CF000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000536CC0006481E4000B39D4000434D3000434 + D3000434D3000434D3000B39D4006D88E3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000093A8ED005872 + CA005872CA000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000093A8ED007086D2009DB2F70098AEF7009CB1F7009DB2F7009AAF + F70095ACF70096A9EB005E74BF0016349A004D6ACB00657BC5007C93E6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000006680D9007489D400879FF200829DF500829D + F500829DF500829DF500879FF2007489D4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C900647EDB0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000031458E000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002E3E + 79002A396C0090A1D600C8C8C800B6C3EC00667CC4003D559D0025356A002535 + 6A00243468003C5198006277BD00ABB9E500C3C3C30090A1D6002A396C002E3E + 7900000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000008196DC002F42 + 820056659A002F4282008196DC00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000DADADA00CECECE00C0C0C000C0C0C0009EACDC00273360002631 + 590026315900384987008D9DD300C0C0C000C0C0C000CECECE00D3D3D3000000 + 0000000000000000000000000000000000000000000000000000000000003B51 + 9F0003279F0022377D002F3F79003C56AA002F4CAF001F3FA9000F31A3000F31 + A3000F31A3001F3FA9002F4CAF003C56AA002F3F790022377D0003279F003B51 + 9F00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000859AE000364C98004C5D99005F79CD003D5C + C4002447BD003D5CC4005F79CD00697CBD00364C9800859AE000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000002B3F800030458B0000000000000000000000 + 00000000000000000000000000004055A3007085D00000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000CED7F6002A3D7D0056669F004B5989002A3A + 73002A3A73007381AE005264A4002A3A73000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005871 + C1001C368C00374986003F57A9001639AD001034AB002344B1003553B7003553 + B7003553B7002344B1001034AB001639AD003F57A900374986001C368C005871 + C100000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000A9B9EE005062A1006E81C300627CD300294EC600294E + C600294EC600294EC600294EC6004161CD006E81C3005062A10039509E000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008196DB002E4187005366A6003F4E84007287D200000000000000 + 0000000000000000000090A3E30039487D003F4E84002E4187008196DB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004F65B600213783007181B600A3B4EB000000 + 000000000000354B97007281B300213783000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008297 + DE003C4E8D003C58B6002244B6002849B8005C73C1009EA8C800CCCCCC006C6C + 6C00CCCCCC009EA8C8005D74C200294AB9002244B6003C58B6003C4E8D008297 + DE00000000000000000000000000000000000000000000000000000000000000 + 000000000000627ACE00465A9E006882DB004A6AD6003E61D3003E61D3002E53 + CF002E53CF002E53CF002E53CF003257D0005674D900748CDD006E82C600627A + CE00000000000000000000000000000000000000000000000000000000000000 + 0000364C980047578E005568AB003C58B800576CAF0030428500000000000000 + 0000000000000000000030468D005568AB004B65BB005568AB0047578E000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000002F428600324CA4004F5E9300000000000000 + 000000000000A5B6EC004F5E9300324CA4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000D0D8F7003C4E + 91002348C300163DBE004B66C100DFDEDE00F5F5F500F8F8F800F9F9F900FAFA + FA00FAFAFA00FBFBFB00F8F8F800E2E2E2004D68C300163DBE002348C3003D50 + 9300D0D8F7000000000000000000000000000000000000000000000000000000 + 00005469B1008BA0E8005E7CE2005A6DB400445AA9004D67C0006F83C8007590 + EA004469E3003A60E1004E67BE00445DB200445AA9005A6DB4007388CF009FB0 + EA005469B100ABBBF00000000000000000000000000000000000000000000000 + 0000A8B7ED00495A96006A81CF00042DB6001C41BD005771C500BAC7F2000000 + 000000000000374B9400576FBE002045BE000E35B8006880CF004D5E9B000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000334689002440A30033468900000000000000 + 00000000000000000000334689001C399F000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000566FC400455C + A900113AC3004765CB00B1B4BB00E2E2E200F5F5F500F6F6F600F7F7F700F8F7 + F700F8F8F800F9F9F900F9F9F900FAFAFA00B7BAC1004967CD00113AC300455C + A900566FC40000000000000000000000000000000000000000004B66BF00435C + B4008F9FDA005878E0005B71BD009DAFED0000000000000000004860B5008299 + E7005B7DEC004E6EDD00455EB40000000000000000009DAFED00516AC600859C + E60092A3DB004761BA004B66BF00000000000000000000000000000000000000 + 000000000000455EB2006B7DB900042FBF00042FBF003C5DCC00465EB2000000 + 0000000000005267AE004161CE00042FBF004363CE007081BD00455EB2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000465EB100364A8F002B49AB00364A8F00000000000000 + 000000000000364A8F00364A8F001D3CA5000000000000000000000000000000 + 00000000000000000000000000000000000000000000D1DAF7003F539C004463 + CA003156CF00A2AAC700E1E1E100EEEDED00D6D6D600F3F3F300F4F4F400F5F5 + F500F6F5F500F7F6F600F7F7F700F8F7F700E9E9E900A8B1CE003055D0004463 + CA003F539C00D1DAF70000000000000000000000000000000000455FB600A4B4 + E900708CE9006076C4005169BB00000000000000000000000000627CD500798F + DC006A89F2005471D500627CD5000000000000000000000000004E67C5006076 + C400708CE9006E82CB00455FB600000000000000000000000000000000000000 + 000000000000D1DAF70044589E002048CD000431C7000E39CA00485CA000899D + E300A9B9EF005772D1001740CB000431C7007189D70044589E00BDC9F3000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000394D9500394D95003350B300394D9500000000000000 + 0000000000003953AE00394D95001E3EAC000000000000000000000000000000 + 00000000000000000000000000000000000000000000556EC7004B68C700385E + DD009CA5C800E5E4E400E9E8E800EAEAEA00EBEAEA00E1E0E000EEEDED00EBEB + EB00EFEFEF00F1F0F000F1F1F100F2F1F100F3F3F300F1F0F000A5AED100385E + DD004B67C700556EC700000000000000000000000000000000004861B8008CA3 + EF004F74F100607EE0004A63BC00000000000000000000000000AEBDF200657A + C400839EF500586FBF00AEBDF200000000000000000000000000BFCCF5008DA1 + E800839EF500587CF2004861B800000000000000000000000000000000000000 + 0000000000000000000000000000778DD7002C55DE000536D9004D6FE100576D + BA005369B4000D3DDA000536D9002751DE00455DB00000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000003E53A1003E53A1004260C2003E53A100000000000000 + 0000000000004260C2003E53A1002143B8000000000000000000000000000000 + 000000000000000000000000000000000000000000004960B3004C6DDB003A61 + E300C8C9D000E7E6E600E6E6E600E6E5E500E7E6E600E8E7E700BEBEBE00D2D2 + D200D5D4D400EDECEC00EEEDED00EEEEEE00F0EFEF00F1F0F000CFD1D8003960 + E2005473D9004660B700000000000000000000000000000000004962B9008FA4 + EF005E7DE500516ABD0090A4EA00000000000000000000000000D2DBF8006076 + C20087A1F500576FBF00D2DBF800000000000000000000000000000000005970 + C0008CA1EC00849EF5004962B900000000000000000000000000000000000000 + 00000000000000000000000000005C71BD006886EA000E3FE200204EE5005A78 + DE00607BDA000538E2000A3CE3005E7EEA00758CDE0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004157A7004157A7004A66C9004157A700000000000000 + 0000000000004A66C9004157A7002246BD000000000000000000000000000000 + 00000000000000000000000000000000000000000000455EB2005474E0004369 + E900E0E0E000EFEEEE00EDECEC00EAE9E900E9E8E800E7E6E6007B7979006A68 + 68007F7D7D00E9E8E800EAE9E900EBEAEA00ECECEC00EDECEC00DEDDDD004268 + E8005878E100455EB200000000000000000000000000000000004A63BA0092A8 + F0005971C4007790E2000000000000000000000000000000000000000000546C + BF0091A7F2005068BD0000000000000000000000000000000000000000007790 + E200697EC90091A7F2004A63BA00000000000000000000000000000000000000 + 00000000000000000000000000005570CC00768DD9004068EF00073BEA003560 + EE003A63EE00073BEA003963EE00778EDD000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000445CAD00445CAD00516ED000445CAD00000000000000 + 000000000000516ED000445CAD002449C4000000000000000000000000000000 + 000000000000000000000000000000000000000000004A64BB006E8BEE005A7D + F200E9E9E900F9F8F800F8F8F800F6F6F600F5F5F500F4F4F4009F9E9C009290 + 8E009F9D9B00EDECEC00EBEBEB00EAE9E900E7E6E600E6E5E500D7D6D600587C + F2007490EE004A64BB00000000000000000000000000000000004C65BC007A8D + D000000000000000000000000000000000000000000000000000000000004C65 + BC009AAEF1004C65BC0000000000000000000000000000000000000000000000 + 000000000000526CC9004C65BC0000000000000000005F7FE9006381E9006382 + E9006483E9006483E9006483E9006784EA006A87EA006484EE001A4AED001A4A + ED001A4AED002654EE006484EE006986EA006583E9006483E9006483E9006483 + E9006382E9006381E9004A64BB00000000000000000000000000000000000000 + 000000000000000000004963B9004963B900607CDC004963B900000000000000 + 000000000000607CDC004963B9003458D2000000000000000000000000000000 + 00000000000000000000000000000000000000000000526CC100819BEF006384 + F300DBDDE200FCFCFC00FBFBFB00FAFAFA00F9F9F900F9F8F800E0DFDF005856 + 5500DEDDDD00F3F3F300F2F1F100F1F0F000EEEDED00EDECEC00CCCDD2006183 + F20089A1F100526CC10000000000000000000000000000000000536ECA004F6A + C50000000000000000000000000000000000000000000000000000000000536E + CA009DB0F200536ECA0000000000000000000000000000000000000000000000 + 00000000000000000000536ECA000000000000000000587CF2001949ED001D4D + ED002050ED002150ED002150ED002352ED002352ED002352ED002352ED002352 + ED002352ED002352ED002352ED002352ED002251ED002150ED002150ED001F4F + ED001D4DED001949ED004B65BC00000000000000000000000000000000000000 + 000000000000000000004C66BD004C66BD006782E0004C66BD00000000000000 + 0000000000006782E0004C66BD003C60D7000000000000000000000000000000 + 000000000000000000000000000000000000000000005F79D2008DA1E6006D8C + F300BEC5DE00FAFAFA00FDFDFD00FDFCFC00FCFCFC00FCFBFB00FBFAFA007674 + 7300F9F9F900F8F7F700F7F7F700F6F6F600F4F4F400F0EFEF00B7BDD6006B8A + F30092A5E7005F79D20000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000546ECB006177C5006177 + C5007893ED006177C5006177C5005C73C4000000000000000000000000000000 + 000000000000000000000000000000000000000000005B7EF2001F4FED002453 + EE002957EE002A57EE002B58EE002D5AEE002D5AEE002D5AEE002D5AEE002D5A + EE002D5AEE002D5AEE002D5AEE002D5AEE002C59EE002B58EE002A57EE002755 + EE002453EE001F4FED004C66BD00000000000000000000000000000000000000 + 000000000000000000004D67BE004D67BE006E88E2004D67BE00000000000000 + 0000000000006E88E2004D67BE004365DA000000000000000000000000000000 + 00000000000000000000000000000000000000000000919FD0005C74C500A6B8 + F3009FB3F700C5CADA00EFEFEF00FFFFFF00FFFFFF00FFFEFE00FEFEFE008785 + 8400FEFEFE00FDFDFD00FDFDFD00FCFCFC00ECECEC00C4C9D9009DB2F600A3B5 + F3005D75C5008A97C60000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000556FCC005069C0005069 + C000A9BAF3005069C0005069C0005069C0000000000000000000000000000000 + 000000000000000000000000000000000000000000004E68BF004E68BF004E68 + BF004E68BF004E68BF004E68BF004E68BF005870C300829AEB00426AF000426A + F000426AF0004D72F100849CEE005870C3004E68BF004E68BF004E68BF004E68 + BF004E68BF004E68BF00546FCB00000000000000000000000000000000000000 + 000000000000000000004F69C0004F69C000879EE9004F69C000000000000000 + 000000000000879EE9004F69C0005171DE000000000000000000000000000000 + 000000000000000000000000000000000000000000007F7E7D008390C10092A3 + DD0091A8F600B2C1F300C2C3C700FFFFFF00FFFFFF00FFFFFF00FFFFFF009D9B + 9A00FFFFFF00FEFEFE00FEFEFE00EBEBEB00C0C1C500B1C1F3008DA5F50091A2 + DD00818FBE008785840000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000516A + C100B0C0F600516AC10000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005975D1007B90DA007592F4004D72F1007794 + F4007995F4004D72F1007592F4007D92DD000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000506AC100506AC1009AAEF0005D75C600000000000000 + 0000D3DBF9009AAEF000506AC1005977DF000000000000000000000000000000 + 00000000000000000000000000000000000000000000B2B0AF009A9CA6005E76 + C70096ACF700A3B6F800B8C4EC00E5E5E500FBFBFB00FFFFFF00FFFFFF00D7D6 + D600FFFFFF00FFFFFF00FBFBFB00E5E5E500B7C3EC00A0B4F70092A9F6005E76 + C7009498A100B5B4B30000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000092A7EC00526B + C200A0B3F400526BC20092A7EC00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000006278C800869EF2005F81F2006989F300A1B3 + EE00A3B3ED00567AF2005C7FF200859EF20092A5EC0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000516BC200516BC200A3B2E7008396D900000000000000 + 0000607BD700A3B2E700516BC200607DE1000000000000000000000000000000 + 00000000000000000000000000000000000000000000BDBCBB00A3A1A0007978 + 77007B90D300BAC8F600A9BBF800C9D5FB00D1D8F200D0D3DE00CECECE006D6D + 6D00CECECE00D0D3DE00D1D8F200C8D4FB00A5B8F800B8C6F6007B90D3007372 + 71009B999800B5B4B30000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000009FB1F000BDCAF6009FAE + E3007287CF00A6B4E400CAD5F800798DD2000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000007A92E4008CA4F4006D8CF3006A8AF30099ABEA00556F + CB00556FCB00859FF5006A8AF3006D8CF3007389D3007A92E400000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000546DC400546DC400718AE0007388CF00C9D3F500C9D3 + F500B2C0EC00718AE000546DC4006E89E4000000000000000000000000000000 + 00000000000000000000000000000000000000000000B4B3B200908E8D007D7B + 7A006C7BAA00758AD200B8C6F200B8C7F900C1CEFA00CED8FB00D5DEFC00D5DE + FC00D5DEFC00CDD8FB00BFCDFA00B6C6F900B6C4F200748AD200707DAE007371 + 700089888700B1B0AF0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000627DD8009AAAE1005973 + CF00D3DBF9005973CF00A4B2E300C0CBF1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005971C80086A0F5007592F4007C97F4006B81CC009FB1 + F000AEBEF300A7B9F5007F9AF5007592F40092A7EE005D75C800D3DBF9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000556EC500556EC500000000009FB1F000556EC500556E + C5005D78D50000000000556EC5007892E6000000000000000000000000000000 + 00000000000000000000000000000000000000000000A9A8A600898887006E6C + 6B008C8B8B00919BBC00637BCB00C6D1F700C0CEFA00BECCFA00BAC9FA00BAC9 + FA00B7C7F900BCCAFA00BECCFA00C4D0F700627ACB0097A1C200989796006F6E + 6D00817F7E00ADABAA0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000566FC7007085CF00D3DB + F90000000000D3DBF9007488D100C7D1F6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000006983DD007E92DA007F9AF5007F9AF5009AAFF7005D78D5000000 + 0000000000008DA0DF009CB1F7007F9AF50094ABF6008195DC00627DD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000566FC600566FC6000000000000000000000000000000 + 00000000000000000000566FC6008AA0EB000000000000000000000000000000 + 00000000000000000000000000000000000000000000B3B3B300A19F9D00CBCA + CA00F2F1F100DEDEDE00B9B9B9007D808B008891B2006B81D3005771C8005771 + C8005771C8006681D8008A93B4007D808B00A8A8A800D1D1D100F2F2F200D6D5 + D500A9A8A6009F9F9F0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000647EDA00B1BEE8005B76 + D200D3DBF9005B76D200AAB8E800A5B5ED000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000647EDA0090A3E4009DB2F70093AAF600AABCF7008497D900000000000000 + 0000000000007C93E5008497D900A9BBF7008BA4F60097ADF70093A6E8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000647EDA008B9FE2005B76D200AFBFF300000000000000 + 0000000000005B76D2008C9EDF00A2B2E7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B4B4B400AAA9 + A700E4E4E400D2D1D100BAB9B900A09F9D00A0A09F0000000000000000009896 + 94000000000000000000B4B4B400A09E9D00B1B0B000C9C9C900E1E0E000B1AF + AE00A0A09F000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000009FB2F000D3DCF900B2BF + E9007B8FD400AEBCE700CDD7F800798ED5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005B76D2008195D900AEBDF100A0B4F700A3B4ED005A74CF00000000000000 + 000000000000000000005A74CF00A1B1EC00ACBDF700A2B2EC00778CD5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000C1CDF600BFCBF200A2B1E600778BD3005872C9005872 + C9005872C900A0AFE300BCC9F2006F84D0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009F9D9B00A9A7A500A1A09E00C8C8C800000000000000000092918F009896 + 940092918F000000000000000000D5D5D5009F9D9B00A9A7A5009F9D9B00C8C8 + C800000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000758AD300BFCA + EF00D7DFF900C1CBEF00758AD3006B85DE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000007C93E6005C75CC00A5B6EF006F84D0009FB2F000000000000000 + 000000000000000000009FB2F0006F84D0008296DA005872CA00879CE9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000677ECE00A0B0E400C8D3F600CAD4F500CAD4 + F500CAD4F500A6B5E8006F85D00093A8ED000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 00000000000000000000DADADA00C1C1C1002C3C720025315900253159002531 + 590025315900253159002531590025315900C1C1C100C8C8C800DADADA000000 + 0000000000000000000000000000000000000000000000000000798CD2001926 + 54001F2E65002233700024367500243675002436750024367500243675002436 + 7500243675002436750024367500243675002436750024367500243675000000 + 0000000000000000000000000000000000000000003200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 00520000005200000052000000320000001E0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 00000000000000000000000000000000000027387100425CB10013339E001333 + 9E0013339E0013339E001F3DA300425CB1000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000001A2755002231 + 6A003655BD001C41BA00042CB300042CB300042CB300042CB300042CB300042C + B300042CB300042CB300042CB300042CB300072FB400193EB9003656C200273A + 7D00667DCD00000000000000000000000000031D3D85093C7BFF093C7BFF093C + 7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C + 7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C + 7BFF093C7BFF093C7BFF010D1D3A000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 000000000000000000000000000000000000293A7500435DB60003279E000327 + 9E0003279E0003279E001334A300435DB6000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000001B2957002333 + 6D003555BF00042DB700042DB700042DB700042DB700042DB700042DB700042D + B700042DB700042DB700042DB700042DB700042DB700042DB7003556C500AAAF + BE00293D80000000000000000000000000000C458BFF1D54ABFF1E54A9FF1E54 + A9FF1E54AAFF1E54AAFF1E54AAFF1E54AAFF1E54AAFF1E54AAFF1E54AAFF1E54 + AAFF1E54ABFF1E54ABFF1E54ABFF1E54ABFF1E54ABFF1E54ABFF1D54ABFF1D54 + ABFF1D54ABFF1C54AEFF0D468CFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000002C3D7B00435EBB000328A4000328 + A4000328A4000328A4001336AA00435EBB000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000001D2A5A002435 + 70003656C300042EBB00042EBB00042EBB00042EBB00042EBB00042EBB00042E + BB00042EBB00042EBB00042EBB00042EBB00042EBB00042EBB003658C800B6BB + C8002A3E84000000000000000000000000000F4791FF14439DFF14439DFF1544 + 9EFF15449EFF15449EFF15449EFF15449EFF15449EFF15449EFF15449EFF1544 + 9EFF15449EFF15449EFF15449EFF15449EFF15449EFF15449EFF15449EFF1544 + 9EFF15449EFF3E8AD8FF0C458BFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 000000000000000000000000000000000000314486004361C500042CB100042C + B100042CB100042CB1001439B6004361C5000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000001F2D5F002839 + 77003658C9000430C3000430C3000430C3000430C3000430C3000430C3000430 + C3000430C3000430C3000430C3000430C3000430C3000430C3003559CF00BEC3 + D1002E438D000000000000000000000000000F4792FF15459FFF1546A0FF1546 + A0FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647 + A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647 + A1FF1647A1FF1D55AFFF0C458BFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000033478C004362C900042DB700042D + B700042DB700042DB700143BBC004362C9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000203063002A3B + 7B00375ACD000633C8000633C8000633C7000633C7000633C7000633C7000633 + C7000633C7000633C7000633C7000633C7000633C8000633C800375BD300C3C8 + D600314691000000000000000000000000000F4892FF1749A3FF184CA6FF194D + A7FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4F + A9FF1A4FA9FF1B4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4F + A9FF1B51ABFF448EDAFF0C458BFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000364A91004363CF00042FBE00042F + BE00042FBE00042FBE00143CC3004363CF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000213164002B3D + 7E003D5FD1000F3BCD00103CCE00123ECF00123ECF00123ECF00123ECF00123E + CF00123ECF00123ECF00123ECF00123ECF00103CCE000F3BCE003D61D700C6CB + DA00324894000000000000000000000000000F4893FF1A4EA8FF1B51ABFF1C54 + AEFF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57 + B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57 + B1FF1E57B1FF4C92DCFF0B448AFF000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F80000000000000000000000000000000000000000003B519C003B519C003B51 + 9C003B519C003B519C003B519C003B519C003B519C004366D8000432CB000432 + CB000432CB000432CB00143FCE004366D8003B519C003B519C003B519C003B51 + 9C003B519C003B519C003B519C004B63BA00000000000000000025356A002E41 + 8400496BDA00214BD900244ED9002750D9002750D9002750D9006985E5006985 + E5006985E5002750D9002750D9002750D900244ED900204AD800486BDF00CFD4 + E400364D9C00000000000000000000000000104894FF1A4EA8FF1B52ACFF1C55 + AFFF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58 + B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58 + B2FF1E58B2FF1E58B2FF0B448AFF000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000004F6ED500516FD5005270 + D6005270D6005270D6005270D6005270D6005370D600496CDE000E3CD4000E3C + D4000E3CD4000E3CD400113ED4004A6DDF005270D6005270D6005270D6005270 + D6005270D6005270D600506ED4003E55A300000000000000000027366E003044 + 88004E6FDE002A53DE002E57DF00325ADF00325ADF005878E500112B8400112B + 8400112B8400325ADF00325ADF00325ADF002E57DF002A53DE004F72E400D3D8 + E8003951A000000000000000000000000000104894FF1A4EA8FF1B52ACFF1C55 + AFFF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58 + B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF053D82FF053D82FF0D4187FF053D + 82FF053D82FF053D82FF053D82FF03254F9B000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 00000000000000000000000000000000000000000000476BE300244FDD002852 + DE002953DE002953DE002953DE002953DE002A53DE00224DDD001C48DC001C48 + DC001C48DC001C48DC001C48DC00224DDD002953DE002953DE002953DE002953 + DE002953DE002852DE00496DE3004058AA000000000000000000283870003246 + 8C005475E200335BE300385FE3003C62E3003C62E3005268B000607FE8007792 + EC007792EC00607FE8003C62E3003C62E300385FE300325BE3005476E700D6DB + EC003B52A500000000000000000000000000114995FF1A4EA8FF1C53ADFF1D56 + B0FF1F59B3FF1F59B3FF1F59B3FF1F59B3FF1F59B3FF1F59B3FF1F59B3FF1F59 + B3FF1F59B3FF1F59B3FF1F59B3FF1F59B3FF1C54AEFF3D5978FF6C715CFF3458 + 88FF1C54AEFF1C54AEFF1A4FA9FF053D82FF000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000005175ED00325CEA003760 + EA003760EA003760EA003760EA003760EA003760EA003760EA003760EA003760 + EA003760EA003760EA003760EA003760EA003760EA003760EA003760EA003760 + EA003760EA003760EA00577AEE00465FB50000000000000000002B3B7500354A + 9400607FE800446AEA004A6FEB004F73EB004F73EB0042548F0042548F004F73 + EB0042548F0042548F004F73EB004F73EB004A6FEB004369EA006081EE00DFE4 + F5003F58AD00000000000000000000000000114A96FF194FA9FF1C53ADFF1D57 + B1FF1F5AB4FF1F5AB4FF1F5AB4FF1F5AB4FF1F5AB4FF1F5AB4FF1F5AB4FF1F5A + B4FF1F5AB4FF1F5AB4FF1F5AB4FF1F5AB4FF1C54AEFF3F463CFF32372CFF3B45 + 42FF1A4FA9FF1A4FA9FF1A4FA9FF053D82FF00000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 000000000000000000000000000000000000000000005579F1003E67EF00446B + EF00446BEF00446BEF00446BEF00446BEF00446BEF00446BEF00446BEF00446B + EF00446BEF00446BEF00446BEF00446BEF00446BEF00446BEF00446BEF00446B + EF00446BEF00446BEF005C7FF2004963BA0000000000000000002D3E7800384D + 97006685EC004C71EF005377EF00597CF000597CF00044569100364B90008BA3 + F400364B900044569100597CF000597CF0005377EF004B70EF006686F100E3E9 + FA00415BB100000000000000000000000000114A97FF1A4FA9FF1D54AEFF1E58 + B2FF205BB5FF205BB5FF205BB5FF205BB5FF205BB5FF205BB5FF205BB5FF205B + B5FF205BB5FF205BB5FF205BB5FF205BB5FF1C54AEFF43586CFFD3D6B6FF3956 + 7BFF1A4FA9FF1A4FA9FF1A4FA9FF053D82FF00000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000597CF2004B71F1005277 + F1005277F1005277F1005277F1005277F1005277F1005277F1005277F1005277 + F1005277F1005277F1005277F1005277F1005277F1005277F1005277F1005277 + F1005277F1005277F1006183F2004A64BB0000000000000000002E407A003A50 + 9A006B89EE005277F1005B7EF2006384F3006384F300394D91003B57B400223C + 90003B57B400394D91006384F3006384F3005B7EF2005277F1006C8BF300E6EC + FD00445DB400000000000000000000000000114B97FF1A50AAFF1D55AFFF1E59 + B3FF205CB6FF205CB6FF205CB6FF205CB6FF205CB6FF205CB6FF205CB6FF205C + B6FF205CB6FF205CB6FF205CB6FF205CB6FF5495DEFF3786D5FF327DCEFF327D + CEFF327DCEFF327DCFFF2D77C4FF032F65C788878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A500DCDBDB0088878700000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000587CF2005479F1006183 + F2006888F3006888F3006888F3006A8AF3006E8DF3006D8CF3006D8CF3006D8C + F3006D8CF3006D8CF3006D8CF3006E8DF3006A8AF3006989F3006888F3006888 + F3006686F3006183F2006082F2004C66BD00000000000000000030417B003C51 + 9C007792EF006283F2006C8BF3007592F4007592F4007592F400294190002941 + 9000294190007592F4007592F4007592F4006B8AF3006183F2007693F400E6EC + FD00465FB700000000000000000000000000124B98FF1A4FA9FF1D55AFFF1F59 + B3FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215C + B6FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215C + B6FF215CB6FF6EA7E8FF0B4489FF0000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00EBEBEB0085848300000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005A7BE9006987EA006E8A + EA00728EEA00738EEB00738EEB00748EEB007994EB00849EF5007B97F4007B97 + F4007B97F4007B97F4007C97F4008CA5F600748EEB00738EEB00738EEB00728E + EA00718DEA006E8AEA005E7EE9004D67BE00000000000000000031427C003D53 + 9C007C96F0006A8AF3007491F4007E99F5007E99F5007E99F5007E99F5007E99 + F5007E99F5007E99F5007E99F5007E99F5007491F4006888F3007C97F400E6EC + FD004761B800000000000000000000000000124C99FF1A50AAFF1D56B0FF1F59 + B3FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215D + B7FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215D + B7FF215DB7FF70A9EAFF0B4489FF000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A989700E7E7E6008C8A8800000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004E68BF004E68BF004E68 + BF004E68BF004E68BF004E68BF004E68BF004E68BF007391F40087A1F50087A1 + F50087A1F50087A1F5008BA4F600829DF5004E68BF004E68BF004E68BF004E68 + BF004E68BF004E68BF004E68BF00546FCB00000000000000000032437D003E53 + 9E007F99F000708EF4007B97F400849EF500849EF500849EF500849EF500849E + F500849EF500849EF500849EF500849EF5007A96F4006F8DF300819BF500E6EC + FD004862B900000000000000000000000000134C99FF2661B5FF3071C2FF3479 + C9FF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377D + CDFF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377C + CDFF387ECEFF2360B9FF0B448AFF000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA004863C0004D68 + C1004D68C2004D68C2004D68C2004D68C2004D68C2004C66C1004964C1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000506AC1007290F400A2B6F800A3B6 + F800A3B6F800A3B6F8009FB3F700859FF5000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000034447F004056 + A00088A0F1007B97F40086A0F50091A8F60094ABF60095ACF70095ACF70095AC + F70095ACF70095ACF70094ABF60091A8F600849EF5007A96F40089A2F600E6EC + FD004A64BB00000000000000000000000000134C9AFF2D6ABCFF377ACBFF3B81 + CFFF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84 + D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84 + D2FF3D84D2FF74ABEBFF0B448AFF0000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE00607EE4005D7C + E2005E7DE3005E7DE3005E7DE3005E7DE3005E7DE3005D7CE2006B87E5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000516BC2007693F400B0C0F900B1C1 + F900B1C1F900B1C1F900ABBDF8008AA3F6000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000034457F004156 + A1008DA4F2007F9AF50088A2F60094ABF60097ADF70098AEF7009AAFF7009AAF + F70099AFF70098AEF70097ADF70094ABF60087A1F5007E99F5008DA5F600E6EC + FD004C65BC00000000000000000000000000134D9BFF1E57B1FF6AA0E3FF70A6 + E7FF225FB9FF74ABEBFF74ABEBFF225FB9FF74ABEBFF74ABEBFF225FB9FF74AB + EBFF74ABEBFF225FB9FF74ABEBFF74ABEBFF225FB9FF74ABEBFF74ABEBFF225F + B9FF74ABEBFF74ABEBFF0C458AFF00000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF00728DEA0094A9 + ED0096AAEC0096AAEC0096AAEC0096AAEC0096AAEC0093A8ED007B95EB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000526CC3007A96F400BDCBFA00BDCB + FA00BDCBFA00BDCBFA00B5C5F9008FA7F6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000354681004157 + A2008FA6F100819BF50089A2F60093AAF60096ACF70097ADF70098AEF70098AE + F70098AEF70097ADF70095ACF70093AAF60087A1F5007F9AF5008FA7F600E6EC + FD004D66BD000000000000000000000000001A529AFF7FB5F2FF337ECFFF3481 + D1FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786 + D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786 + D5FF3786D5FF7FB5F2FF0C458BFF0000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB00ADACAC0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000536DC5007C97F400CBD6FB00CDD8 + FB00CDD8FB00CDD8FB00C0CEFA0093AAF6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000364882004156 + 9D006984E30097ADF7009AAFF7009DB2F7009EB3F7009FB3F7009FB3F7009FB3 + F7009FB3F7009EB3F7009EB3F7009DB2F70099AFF7009CB0F3007B8FD500E6EC + FD004F69C0000000000000000000000000000D468BFF1A4FA9FF1A4FA9FF1A4F + A9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4F + A9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4F + A9FF1A4FA9FF0C458BFF010D1C3800000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000546EC5007995F400C7D3FB00CCD7 + FB00CDD8FB00CAD5FB00B7C7F9008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004459A7003D4F + 91005366A900506AC100506AC100506AC100506AC100506AC100506AC100506A + C100506AC100506AC100506AC100506AC100506AC100506AC1006E82CB00E6EC + FD005069C000000000000000000000000000031C3B730D468BFF0D468BFF0D46 + 8BFF0D468BFF0D468BFF0D468CFF0D468CFF0D468CFF0D468CFF0D478CFF0D46 + 8CFF0D468CFF0D468CFF0D468CFF0D468CFF0D468CFF0D468CFF0D468CFF0D46 + 8CFF0D468CFF0D468CFF00000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000556FC6006F8DF300B2C2F900BECC + FA00C0CEFA00B6C6F900A2B6F800829CF5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B9C6F2003B4F + 950097A0C200C9D0E900E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6EC + FD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00CCD3 + F000506AC3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005A76D2005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000110000001C0000002E0000002E0000002E0000002E0000002E0000 + 002E0000002E0000002E0000002E0000002E0000002E0000002E0000001C0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000101020000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000005000000090000000C0000 + 000F00000016000000190000001D00000024000000260000002A0000002A0000 + 002A0000002A0000002A0000002A0000002A00000024000000200000001D0000 + 0016000000130000000F00000009000000060000000000000000000000000000 + 00000000000000000000339F70FF339F70FF339F70FF339F70FF339F70FF339F + 70FF339F70FF339F70FF339F70FF339F70FF339F70FF339F70FF000E0B120000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000003B2A9C75FF2A9C75FF2A9C75FF0000003E0000 + 003B000000330000002800000017000000140000000E0000000B000000080000 + 000300000002000000000000000000000000000000060000000D000000120000 + 001800000024A5A5A5E6CECECEFFE7E7E7FFE7E7E7FFE7E7E7FFE7E7E7FFE7E7 + E7FFE7E7E7FFE7E7E7FFE7E7E7FFE7E7E7FFE7E7E7FFE7E7E7FFCCCCCCFF2525 + 254D0000001D000000180000000D000000090000000000000000000000000000 + 0000000000000000000032A072FF12BC8EFF12BC8EFF12BC8EFF12BC8EFF12BC + 8EFF12BC8DFF12BC8EFF12BC8DFF12BC8EFF3CD7A7FF32A172FF000E0B120000 + 0000000000000000000000000000000000000000003200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 00520000005200000052000000320000001E0000000000000000000000000000 + 000000000000040F0B190000000035CD98FF15B081FF38D19BFF0D34276F0000 + 0024000000200000001800000014000000100000000900000006000000040000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000F0F0F17B3B3B3EFCECECEFFE4E4E4FFE4E4E4FFE4E4E4FFE3E3E3FFE3E3 + E3FFE3E3E3FFF2F2F2FFD4DDD9FFE2E2E2FFE1E1E1FFEFEFEFFFCCCCCCFF5B5B + 5B76000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000031A172FF12BD8EFF12BC8EFF12BD8EFF12BC8EFF12BD + 8EFF12BC8EFF12BD8EFF12BD8EFF12BD8EFF3CD7A7FF31A172FF000E0B120000 + 0000000000000000000000000000000000000000001E131313EF121212EF1111 + 11EF111111EF111111EF111111EF111111EF111111EF111111EF111111EF1111 + 11FD111111FD111111EF111111EF111111EF111111EF111111EF121212EF1212 + 12EF131313EF141414EF111111B6000000000000000000000000000000000000 + 00000209060F000000002A9C75FF13B082FF13B082FF17B687FF259771F1030C + 0914000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000033333349C2C2C2FCD5D5D5FFE4E4E4FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3 + F3FFE3E3E3FF5DB591FFBFD7CDFFF3F3F3FFF2F2F2FFEDEDEDFFD5D5D5FF8383 + 83AE000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000030A273FF11C090FF0DCB95FF0CCA94FF0DCB94FF0CCB + 95FF0CCB94FF0CCB95FF0CCA95FF0CCB95FF3CD7A7FF30A273FF000E0B120000 + 000000000000000000000000000000000000000000003B3B3BFF3C3C3CFF3C3C + 3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C + 3CFF3C3C3CFF3C3C3CFF3C3C3CFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D + 3DFF3D3D3DFF3D3D3DFF1B1B1BF6000000000000000000000000000000000000 + 00002A9C75FF32D59FFF14B183FF10CF9EFF10CF9DFF12C191FF31D39DFF23A0 + 78F60D3225520000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00008C8C8CC1CFCFCFFFE8E8E8FF6CC0A0FF38B284FF39B083FF3BB083FF3AAE + 82FF78C0A4FF3EAC80FF3BAC81FF3DAB7FFF3DAA7DFFD1DFD8FFE9E9E9FFACAC + ACE6000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002DA575FF11C291FF0CCD97FF0DCD97FF0CCC96FF0CCC + 96FF0CCC97FF0DCC96FF0DCC96FF0DCC97FF3BD7A7FF2EA574FF000E0B120000 + 000000000000000000000000000000000000000000002A2A2AFF2E2E2EFF3939 + 39FF393939FF393939FF393939FF393939FF393939FF393939FF3A3A3AFF3A3A + 3AFF3A3A3AFF3A3A3AFF3A3A3AFF3A3A3AFF3A3A3AFF3A3A3AFF3A3A3AFF3A3A + 3AFF3B3B3BFF323232FF1F1F1FC6000000000000000000000000000000000223 + 1A2C2BD19CFF14B284FF13B284FF16D2A1FF11D09EFF10D09EFF16B687FF27CB + 99FF259670F00000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009D9D9DD6D0D0D0FFEFEFEFFF39B285FF39B184FF5DBC98FF64BC9BFF58B8 + 94FFDEE3E1FF3CAB80FF92CAB3FF84C4AAFF3EAA7EFF96C9B3FFEEEEEEFFB9B9 + B9F5020202040000000000000000000000000000000000000000000000000000 + 000000000000000000002CA676FF11C392FF0DCE98FF0DCE98FF0DCD97FF0DCE + 97FF0DCD98FF0DCE98FF0DCD97FF0CCE97FF3BD7A7FF2CA676FF011C14220000 + 00000000000000000000000000000000000000000000323232FE343434FF3C3C + 3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3D3D3DFF3D3D + 3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D + 3DFF3E3E3EFF383838FF1212127100000000000000000000000001150F1A2AA0 + 75FF15B384FF13B283FF0FCE9BFF80EFD0FF6EE5BFFF0FD19EFF13B788FF24C9 + 96FF1FB78AFC0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000ACACACE8D0D0D0FFF1F1F1FF44B98EFF38B285FF41B288FFCFDFD9FFE6E6 + E6FFE6E6E6FF58B691FFA5D0BEFFB9D7CCFF3BAA7DFFAED1C2FFF0F0F0FFC4C4 + C4FE252525340000000000000000000000000000000000000000000000000000 + 000000000000000000002BA776FF10C492FF0DCE98FF0DCF99FF0DCF99FF0DCE + 98FF0DCF99FF0DCE99FF0DCE99FF0DCF99FF3AD7A6FF2BA877FF000E0B120000 + 00000000000000000000000000000000000000000000272727F04E4E4EFF4040 + 40FF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF404040FF4040 + 40FF404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040 + 40FF424242FF4B4B4BFF0505052200000000000000002AA078FF1BD09DFF1DD2 + 9FFF0FD09EFF16D4A3FF5DE7BFFF40AC89FF33A37EF255DCB3FF0FD29FFF11C0 + 90FF1ACC99FF259871EF02090710000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CACACAFEDADADAFFF2F2F2FFE0E7E4FF45B98FFF35B486FF8DCDB5FFE8E8 + E8FFE8E8E8FFE6E6E6FF6FC0A1FF3BAE82FFD7E1DCFFE5E5E5FFEEEEEEFFCDCD + CDFF838383B20000000000000000000000000000000000000000000000000000 + 0000000000000000000028AA79FF10C794FF0DD19BFF0DD19BFF0ED19BFF0DD1 + 9BFF0ED19BFF0DD19BFF0ED19BFF0DD19AFF38D7A6FF28AA79FF000E0B120000 + 0000000000000000000000000000000000000000000000000000121212612C2C + 2CE7686868FF616161FF555555FF464646FF464646FF464646FF464646FF4646 + 46FF464646FF464646FF464646FF474747FF494949FF535353FF5E5E5EFF4A4A + 4AFD303030F01313136500000000000000000001010218CF9CFF1CD4A0FF10D3 + A0FF16D5A3FF5CE8C0FF46CFA8E600000000071E162F269F77F147E4B9FF0FD3 + A0FF0FD3A0FF1DB78AFB1B7255B2000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D0D0D0FFE5E5E5FFEFEFEFFF59C09CFF39B88BFF35B587FFE7E9E8FFE6E8 + E7FFE8E8E8FFE8E8E8FFE5E6E6FF80C7ACFFE6E6E6FFE6E6E6FFEBEBEBFFCFCF + CFFF9A9A9ACF0000000000000000000000000000000000000000000000000000 + 0000000000000000000027AC7AFF10C795FF0DD29CFF0ED29CFF0ED29CFF0ED2 + 9CFF0ED29CFF0DD29DFF0DD29DFF0DD29CFF37D6A6FF26AB7AFF000E0B120000 + 0000000000000000000000000000000000000000000000000000000000000202 + 020B2F2F2FE83C3C3CEE525252FD6A6A6AFF4F4F4FFF494949FF4A4A4AFF4A4A + 4AFF4A4A4AFF4A4A4AFF4A4A4AFF515151FF6D6D6DFF585858FF434343F81C1C + 1C850202020B0000000000000000000000002AA379FF1AD5A1FF10D4A1FF0FD4 + A1FF5BEAC1FF4CD7B1EE2CAA7FFF0000000000000000071E162F51DCB3FF44E4 + B8FF0FD3A1FF1DD3A1FF23A178F40C2F234B0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D2D2D2FFEDEDEDFFEDEDEDFFEAEAEAFFEAEAEAFFDCE6E2FF3EB88CFF81CB + AFFFE5E8E7FF48B78EFF37AF82FF7FC5AAFFE7E7E7FFE6E6E6FFE8E8E8FFCFCF + CFFFA8A8A8E10000000000000000000000000000000000000000000000000000 + 0000000000000000000025AD7BFF11C996FF0ED39DFF0DD39DFF0ED39EFF0DD3 + 9EFF0ED39DFF0DD39EFF0ED39DFF0DD49DFF36D6A6FF25AD7BFF000E0B120000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000202020A0F0F0F481E1E1E8E3A3A3AF4656565FF585858FF4D4D4DFF4D4D + 4DFF4D4D4DFF4D4D4DFF606060FF6A6A6AFF333333E1202020950F0F0F480000 + 00000000000000000000000000000000000006140F1D3BCDA1FD3EE2B6FF56E9 + C0FF2EAF83FF00020103000000000000000000000000000000000820183127A4 + 7AF14DDCB2FF0FD5A1FF15D5A1FF1CB88BF90000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000B0B + 0B10D3D3D3FFF4F4F4FFEBEBEBFFEBEBEBFFEBEBEBFFEBEBEBFF31B686FF35B5 + 87FF94D1BAFF36B385FF3DB388FF2EAE80FFE9E9E9FFE8E8E8FFE8E8E8FFD0D0 + D0FFC6C6C6FC2C2C2C3F00000000000000000000000000000000000000000000 + 0000000000000000000022B17EFF10CB98FF0ED6A0FF0ED69FFF0ED6A0FF0ED6 + A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF33D7A6FF22B07DFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000001010105313131C3545454FF5454 + 54FF545454FF464646F9262626A0010101050000000000000000000000000000 + 00000000000000000000000000000000000000000000259E76E587EBCDFFFFFF + FFFF010504080000000000000000000000000000000000000000000000000821 + 183127A67AF136E0B3FF10D5A2FF13D4A1FF0C2E234800000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002C2C + 2C40D6D6D6FFF5F5F5FFECECECFFEBEBEBFFEBEBEBFFEBEBEBFF7CCCAFFF34B6 + 88FF35B587FF38B587FFCEE2DAFF96D0B8FFE9E9E9FFE9E9E9FFE9E9E9FFD6D6 + D6FFCDCDCDFF5C5C5C80000000000000000020B27FFF21B27FFF21B27FFF21B2 + 7FFF20B27FFF21B27FFF21B27FFF10CC99FF0ED7A2FF0ED7A1FF0FD7A1FF0ED7 + A1FF0ED8A1FF0ED7A1FF0ED7A1FF0ED7A1FF31D7A6FF21B27FFF20B27FFF21B2 + 7FFF20B27FFF20B27FFF21B27FFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000028282899595959FF5959 + 59FF595959FF444444F41B1B1B75000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000004100C1828A179E528A2 + 7AE3000000000000000000000000000000000000000000000000000000000000 + 00000822193249DCB1FF33E0B2FF0FD6A3FF259C74EC0209060E000000000000 + 0000000000000000000000000000000000000000000000000000000000005B5B + 5B8FD1D1D1FFE4E4E4FFDDDDDDFFDCDCDCFFDCDCDCFFDCDCDCFFD9DBDAFF30AB + 80FF30AA7FFF2AA77BFFDADBDAFFDBDBDBFFDADADAFFD9D9D9FFD9D9D9FFD1D1 + D1FFC2C2C2FF797979B8000000000000000005291D3842E6B8FF3EDCB0FF3EDC + B0FF3EDCB0FF3EDCB0FF3EDCB0FF11CE9BFF0ED9A3FF0ED8A2FF0ED8A3FF0ED8 + A3FF0ED8A2FF0ED8A2FF0ED8A3FF0FD9A2FF3EDCB0FF3EDCB0FF3EDCB0FF3EDC + B0FF3EDCB0FF38E3B4FF05291D38000000000000000000000000000000000000 + 000000000000000000000000000000000000040404113F3F3FF85D5D5DFF5D5D + 5DFF5D5D5DFF5A5A5AFF3B3B3BEE0303030E0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000008231A3427A77EF146DDB1FF10D6A3FF26A97EF30C2E22450000 + 0000000000000000000000000000000000000000000000000000000000007171 + 71DEA4A4A4FF949494FF929292FF929292FF929292FF929292FF929292FF9191 + 91FF919191FF909090FF909090FF909090FF909090FF909090FF909090FFA3A3 + A3FF8B8B8BFF767676E500000000000000000000000005291D381CB783FF52EB + C0FF0FDAA5FF0EDBA5FF0EDAA4FF0FDBA5FF0EDBA5FF0FDAA5FF0EDBA5FF0FDB + A5FF0FDBA5FF0EDBA5FF0FDBA5FF0FDBA5FF0FDBA4FF0EDBA5FF0EDBA5FF49E9 + BCFF1CB783FF05291D3800000000000000000000000000000000000000000000 + 000000000000000000000000000000000000434343DD5F5F5FFF636363FF6363 + 63FF636363FF636363FF606060FF333333B30000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000009241B3428AA7FF12BDFAFFF14D09EFF27A177EB0000 + 000000000000000000000000000000000000000000000E7C5AAA21B17FFF21B1 + 7FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B1 + 7FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B1 + 7FFF21B17FFF21B17FFF0E7C5AAA00000000000000000000000005291D381AB8 + 84FF0FDCA6FF0FDCA6FF0FDCA6FF0EDCA7FF0EDCA6FF0FDCA6FF0FDCA6FF0FDC + A6FF0EDCA6FF0FDCA6FF0EDDA6FF0FDCA6FF0FDCA6FF0FDCA6FF0FDCA6FF1AB8 + 84FF05291D380000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000020202064E4E4EFC656565FF666666FF6666 + 66FF666666FF666666FF666666FF414141DD0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000009241B3444DDB1FF28DFAFFF1DBC8EF80000 + 0000000000000000000000000000000000000000000021B17FFF1AC995FF1AC9 + 95FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC9 + 95FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC9 + 95FF1AC995FF1AC995FF21B17FFF000000000000000000000000000000000529 + 1D3860F0C7FF0FDDA7FF0EDDA7FF0FDDA7FF0FDDA7FF0EDDA7FF0FDEA7FF0FDD + A7FF0FDDA7FF0EDDA8FF0FDEA7FF0FDDA7FF0FDDA7FF0EDDA8FF5AEEC4FF0529 + 1D38000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000001313132F515151FF686868FF696969FF6969 + 69FF696969FF696969FF696969FF4A4A4AED0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000A261C372AAC7FF140DCB0FF29A4 + 7AEA0208060C0000000000000000000000000000000021B17FFF12C28EFF12C2 + 8EFF13C28DFF13C38EFF12C28EFF12C28EFF12C28DFF13C28EFF12C28EFF12C2 + 8EFF12C38DFF13C28EFF12C38EFF12C38EFF12C38EFF12C28EFF13C28EFF13C2 + 8EFF12C38EFF13C38EFF21B17FFF000000000000000000000000000000000000 + 000005291D3817BD87FF6FF3CDFF0FE0AAFF0FDFAAFF0FE0AAFF0FDFA9FF10DF + AAFF0FDFAAFF0FDFA9FF0FE0A9FF0FE0A9FF6AF2CBFF17BD88FF05291D380000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000002222224F5B5B5BFF6F6F6FFF707070FF7070 + 70FF707070FF707070FF707070FF585858F60000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000A271D372BAC80F126C1 + 94F81B7256A20000000000000000000000000000000021B17FFF12C490FF11C4 + 8FFF12C48FFF12C48FFF11C48FFF11C48FFF11C48FFF12C48FFF12C48FFF12C4 + 8FFF11C48FFF12C48FFF12C48FFF12C48FFF11C48FFF11C38FFF12C48FFF12C4 + 8FFF11C48FFF11C48FFF21B17FFF000000000000000000000000000000000000 + 00000000000005291D3815BE88FF10E0AAFF0FE0AAFF0FE1ABFF0FE0AAFF0FE1 + ABFF0FE0AAFF10E1ABFF0FE1AAFF0FE1ABFF15BE88FF05291D38000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000001D1D1D3F5A5A5AFF727272FF737373FF7373 + 73FF737373FF737373FF737373FF555555F00000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000000A271D373ADB + ADFF2BB285F40B2C213F00000000000000000000000021B17FFF11C590FF11C5 + 90FF11C590FF11C590FF11C590FF11C590FF11C590FF11C590FF11C590FF11C5 + 90FF11C590FF11C590FF11C590FF11C590FF11C590FF11C590FF11C590FF11C5 + 90FF11C590FF11C590FF21B17FFF000000000000000000000000000000000000 + 0000000000000000000005291D387BF6D2FF0FE1ACFF10E1ABFF0FE1ACFF0FE1 + ABFF0FE2ABFF0FE1ABFF0FE2ACFF78F5D1FF05291D3800000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000D0D0D1B5E5E5EFF757575FF767676FF7676 + 76FF767676FF767676FF767676FF565656E90000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000A29 + 1E392CAF84F232C093FC00000000000000000000000016BD88FF17E8B4FF17E8 + B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8 + B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8 + B4FF17E8B4FF17E8B4FF16BD88FF010604070000000000000000000000000000 + 000000000000000000000000000005291D3813C28BFF86F8D6FF10E4ADFF0FE3 + ADFF0FE4AEFF84F7D5FF12C18BFF05291D380000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003939398E696969FF7C7C7CFF7C7C + 7CFF7C7C7CFF818181FF676767FC191919500000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000B291F3A2CB185F413392C4B00000000000000000E382C4216BD88FF17E8 + B4FF299065FF289266FF25A171FF25A171FF25A171FF25A171FF25A171FF25A1 + 71FF25A171FF25A171FF25A171FF25A171FF25A171FF25A171FF25A171FF0CBE + 89FF46E7B5FF17E8B4FF0E372A40000000000000000000000000000000000000 + 00000000000000000000000000000000000005291D3812C38CFF10E4AEFF10E4 + AEFF10E4AEFF11C38CFF05291D38000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000002020207494949D58F8F8FFF8A8A + 8AFF898989FF707070FE444444CA020202070000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000B2B203C2FAE84EF0208060B00000000000000010F3C2E4616BD + 88FF48E6B5FF299065FF25A171FF25A171FF25A171FF25A171FF25A171FF25A1 + 71FF25A171FF25A171FF25A171FF25A171FF25A171FF25A171FF25A171FF4DEC + BAFF17E8B4FF16BD88FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000005291D388DF9D8FF10E4 + AFFF8DF9D8FF05291D3800000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000007070718525252EB5D5D + 5DF85D5D5DF8353535A307070718000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000B2B203C2EAE83F40000000000000000000000000001 + 010217DCA7FF10D197FF10D197FF10D197FF10D197FF10D197FF10D197FF10D1 + 97FF10D197FF10D197FF10D197FF10D197FF10D197FF10D197FF10D197FF16CE + 99FF0F3A2D440001010200000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000005291D380FC5 + 8EFF05291D380000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000001000000020000000300000006000000090000000C000000100000 + 001100000014000000100000000D0000000C0000000600000005000000030000 + 0001000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000003200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000032000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000200000004000000070000000C000000120000001C000000240000 + 0027339F70FF0000002E00000029000000210000000D0000000A000000060000 + 0002000000000000000000000000000000000000001E00000040000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 00520000005200000052000000270000001E0000001E319F70FF32A071FF319F + 70FF31A070FF319F71FF32A071FF32A070FF31A071FF32A070FFD58F6AFFD58F + 6AFFD58F6AFFD58F6AFFD58F6AFFD58F6AFFD58F6AFF000000001560BCFF1560 + BDFF1560BDFF1660BDFF00000000000000000000000000000000000000000000 + 0000000000000000000000000000FED6AEFFFED6AEFFFED6AEFFFED7B0FFFED7 + B0FFFED8B1FFFED9B4FFFEDAB6FFFEDAB6FFFEDCB9FFFEDCB9FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000032A071FF32A071FF0F342452000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000252422FF262624FF2625 + 23FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86 + F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86 + F2FF262524FF262524FF0000000000000000000000000DC992FF13B98CFF13B9 + 8CFF13B98CFF13B98CFF13B98CFF13B98CFF0EC992FF2FA171FFD58F6AFFEBA5 + 7DFFE19D79FFE19D79FFE19D79FFE19D79FFD58F6AFF000000001661BEFF076E + E6FF076EE6FF0578EAFF00000000000000000000000E00000013000000140000 + 0016000000191111113114141431FED4AAFFFED4AAFFFED4AAFFFED5ACFFFED5 + AEFFFED6AFFFFED8B2FFFED8B2FFFED9B4FFFEDAB7FFFFDBB9FF111111310000 + 00180000001600000014000000100000000E0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000031A172FF3BD7A7FF30A271FF0F3424520000000000000000000000000000 + 00000000000000000000000000000000000000000000262523FF282724FF2727 + 24FF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037F + EEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037F + EEFF272625FF000000000000000000000000000000000DCA93FF13B98CFF0DCA + 93FF0DCA93FF0DCA94FF0DCA93FF13B98CFF0DCA93FF2FA272FFD58F6AFFECA5 + 7DFFE29E79FFECA57DFFECA57CFFE29E79FFD58F6BFF000000001662C0FF057A + EBFF0388F0FF057BEAFF000000000000000000000017000000343F3F3F7FACAC + ACFFACACACFFACACACFF636262FFFFCD9DFFFFCD9DFFFFCE9FFFFFD0A3FFFFD2 + A6FFFFD4AAFFFFD7AFFFFFD8B1FFFFD9B5FFFFDDBCFFFFDDBCFF636363FFACAC + ACFFACACACFF4B4B4B8C00000030000000170000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000030A373FF10BF8EFF39D6A6FF30A373FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000272624FF292826FF2929 + 26FF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037F + EEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037F + EEFF2A2927FF292826FF0000000000000000000000000DCB95FF13BA8DFF0DCB + 95FF0DCC94FF0DCB94FF0DCB94FF13B98CFF0ECB94FF2EA273FFD68F6AFFECA5 + 7EFFE39E7AFFECA67DFFECA67DFFE39E7AFFD5906BFF000000001764C3FF057C + EBFF0389F0FF057CEBFF000000000000000000000000ACACACFFD1D1D1FFD1D1 + D1FFD1D1D1FFD1D1D1FF323232FFC49F7BFFC4A07EFFC4A17FFFC4A383FFC4A5 + 87FFC4A688FFC4A78BFFC4A88EFFC4A991FFC4AC96FFC4AC96FF323232FFCCCC + CCFFCCCCCCFFCCCCCCFF00000000000000000003020400040306000403060004 + 030600040306000403060009060C000403060004030600040306000403060000 + 00002DA575FF10BF8EFF10BF8EFF10BF8EFF2DA575FF0F342452000000000000 + 00000000000000000000000000000000000000000000292927FF2E2D2AFF2E2D + 2AFFFBE7D0FFFBE6D0FFFBE7CFFFFCE6CFFFFBE7D0FFFBE7D0FFFBE6D0FFFCE7 + D0FFFBE6CFFFFBE6CFFFFBE7D0FFFCE7CFFFFBE6D0FFFBE6CFFFFBE7CFFFFBE6 + CFFF2D2C2AFF2D2C2AFF0000000000000000000000000DCD97FF13BD8FFF0ECE + 97FF0ECE97FF0DCE97FF0ECE98FF13BC8EFF0ECD97FF2CA575FFD6906BFFEDA7 + 7FFFE5A17BFFECA77EFFECA77EFFE6A17BFFD6906BFF000000001A66C7FF0581 + EDFF038DF1FF0581EDFF000000000000000000000000ACACACFFD4D4D4FFD4D4 + D4FFD4D4D4FFD4D4D4FF333131FF9E8373FF9E8373FF9E8373FF9E8474FF9E84 + 74FF9E8475FF9E8576FF9E8576FF9E8577FF9E8577FF9E8577FF333131FFC8CC + CAFFCECECEFFCECECEFF00000000000000002CA676FF2CA776FF2CA676FF2CA6 + 75FF2CA675FF2BA676FF2BA675FF2CA675FF2BA676FF2CA676FF2CA676FF2CA6 + 76FF2BA776FF10BF8EFF0DCA94FF10C08EFF31D4A3FF2CA675FF0F3424520000 + 000000000000000000000000000000000000000000002B2927FF302E2CFF302E + 2DFFFBE7D0FFFCE7D0FFFCE7D0FFFBE7D1FFFBE7D1FFFCE7D0FFFBE7D1FFFBE7 + D1FFFBE7D0FFFBE7D1FFFBE7D0FFFBE7D0FFFCE7D1FFFBE7D1FFFCE7D0FFFBE7 + D0FF302E2CFF302F2CFF0000000000000000000000000ECF99FF12C090FF0ECF + 98FF0ECF99FF0ECF99FF0ECF99FF12BF8FFF0ECF99FF2BA675FFD6906CFFEDA8 + 7FFFE7A27CFFECA87FFFECA87FFFE7A27CFFD6906BFF000000001A68CBFF0482 + EDFF038EF1FF0483EEFF000000000000000000000000ACACACFFD7D7D7FFD7D7 + D7FFD7D7D7FFD7D7D7FFD6D6D6FFD6D6D6FFD5D5D5FFD5D5D5FFD5D5D5FFD4D4 + D4FFD4D4D4FFD4D4D4FFD3D3D3FFD3D3D3FFD3D3D3FFD2D2D2FFD2D2D2FF39A4 + 76FFC4CDCAFFD1D1D1FF00000000000000002AA777FF3CD7A7FF3CD7A7FF3CD7 + A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7 + A7FF3CD7A7FF10BF8EFF0DCB95FF0DCC95FF0FC18FFF2ED4A2FF2BA777FF0000 + 000000000000000000000000000000000000000000002C2A29FF33312EFF3231 + 2FFFC4D1D7FFC4D0D7FFC4D0D7FFC4D0D7FFC4D0D8FFC4D0D7FFC4D1D7FFC4D1 + D8FFC4D1D7FFC4D1D7FFC4D1D8FFC4D0D8FFC4D0D8FFC4D1D7FFC4D0D8FFC4D0 + D7FF33302FFF33302FFF0000000000000000000000000ED09AFF11C392FF0ED0 + 9AFF0ED09AFF0ED09AFF0ED09AFF11C191FF0FD09AFF2AA677FFD7906CFFEDA9 + 80FFE8A47DFFEDA980FFEDA980FFE8A47DFFD7906BFF000000001B6ACDFF0486 + EFFF038FF2FF0486EEFF000000000000000000000000ACACACFFDCDCDCFFEDED + EDFF269B6AFF279B6AFF279B6AFF279B69FF279A69FF289A69FF289A68FF289A + 68FF289A68FF289968FF289968FF289968FF289968FF289968FF289968FFCBE8 + DCFFEAEAEAFFD7D7D7FF000000000000000028AA7AFF10C18FFF10C18FFF10C1 + 8FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C1 + 8FFF10C18FFF0FC793FF0ECE98FF0DCE98FF0DCE98FF0DCE98FF0FC492FF27AA + 7AFF0F342452000604080000000000000000000000002F2E2BFF373534FF3735 + 34FFFBE8D4FFFBE9D3FFFCE9D4FFFBE8D4FFFCE9D3FFFCE8D4FFFBE8D3FFFCE9 + D4FFFBE9D4FFFBE8D3FFFBE9D3FFFBE8D3FFFCE9D3FFFBE9D4FFFCE8D4FFFCE8 + D4FF383634FF373633FF00000000000000000000000013D59FFF10CB97FF0ED3 + 9CFF0FD39DFF0ED39DFF0ED39DFF10C996FF14D5A0FF27AA78FFD7916DFFEDAB + 81FFEBA880FFEDAA82FFEEAA82FFECA880FFD8926CFF000000001E6ED2FF048C + F1FF0391F3FF048BF1FF000000000000000000000000A3A3A3ECE0E0E0FFF9FC + FBFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC + 9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF2899 + 68FFFFFFFFFFDADADAFF000000000000000026AB7BFF0FC390FF10C18FFF0EC9 + 95FF0ECF99FF0DD099FF0DD09AFF0DD099FF0DCF9AFF0DD09AFF0DD099FF0DD0 + 99FF0ED099FF0DCF9AFF0ED09AFF0ED099FF0ED09AFF0ECF9AFF0DCF99FF19C9 + 97FF26AC7BFF0F342452000000000000000000000000302E2CFF3A3836FF3A38 + 36FFC4D2DAFFC4D2DAFFC4D2DAFFC4D2DAFFC4D3DAFFC4D2DAFFC4D2DAFFC4D2 + DAFFC4D2DAFFC4D3DAFFC4D2DAFFC4D2DAFFC4D2DAFFC4D2DAFFC4D2DAFFC4D2 + DAFF3A3836FF3A3836FF00000000000000000000000016D7A2FF10CE9AFF0FD4 + 9EFF0ED59EFF0FD59EFF0ED49EFF10CC99FF17D7A2FF26AA79FFD8926DFFEDAB + 83FFEDAC82FFEEAC82FFEEAB83FFEEAC82FFD8926DFF000000001F6FD4FF038E + F1FF0393F2FF038EF1FF000000000000000000000000A1A1A1E6EAEAEAFFF4FA + F7FF47CA9DFF23A674FF23A674FF24A472FF24A472FF24A472FF24A472FF24A4 + 72FF24A472FF24A472FF24A472FF24A472FF24A472FF24A472FF23A674FF279B + 6BFFFFFFFFFFE5E5E5FF000000000000000024AD7CFF0FC492FF0ECA96FF0DD1 + 9BFF0DD29BFF0ED29BFF0DD19BFF0ED19AFF0DD19BFF0DD19BFF0ED29BFF0ED1 + 9BFF0DD29BFF0ED19BFF0DD19AFF0DD19BFF0DD19BFF0ED19BFF0ED19BFF0FC9 + 95FF19CB99FF24AD7CFF000403060000000000000000312F2EFF3D3B38FF3C3A + 39FFFCE9D5FFFCEAD5FFFCE9D5FFFBEAD6FFFCEAD5FFFCE9D5FFFCE9D6FFFCEA + D5FFFCEAD6FFFCEAD5FFFCEAD5FFFCEAD6FFFBEAD6FFFCE9D5FFFCEAD6FFFBE9 + D5FF3D3B39FF3D3B39FF0000000000000000000000001AD9A5FF0FD29DFF0ED5 + A0FF0FD5A0FF0FD6A0FF0FD69FFF10D19CFF1BD9A6FF25AC7AFFD9936DFFEEAE + 84FFEDAC83FFEEAC83FFEEAC83FFEEAC83FFD9926DFF000000002071D7FF0393 + F3FF0393F3FF0393F3FF000000000000000000000000A7A7A7E3FFFFFFFFEEFA + F5FF5AE0B6FF26C18FFF26C895FF26C895FF26C895FF26C895FF26C895FF26C8 + 95FF26C895FF26C895FF26C895FF26C895FF26C895FF26C895FF26C08EFF23A2 + 70FFFFFFFFFFFFFFFFFF000000000000000021B17FFF0FC995FF0ED49EFF0ED4 + 9EFF0DD49EFF0DD49EFF0ED49EFF0ED49EFF0ED49EFF0DD49EFF0ED49EFF0ED4 + 9DFF0ED49EFF0ED49EFF0ED49EFF0ED49EFF0ED49EFF0DD49EFF0ED49EFF0ED5 + 9EFF0ED49EFF0FCF9AFF22B07FFF0F34245200000000353331FF43403EFF4240 + 3EFFC4D3DCFFC4D4DCFFC4D4DCFFC4D4DCFFC4D4DBFFC4D3DCFFC4D4DCFFC4D4 + DCFFC4D4DCFFC4D3DCFFC4D3DCFFC4D4DCFFC4D4DCFFC4D4DCFFC4D3DBFFC4D3 + DCFF42403EFF43403EFF00000000000000000000000022DDABFF0ED9A3FF0FD9 + A3FF0FD9A3FF0ED8A3FF0ED9A2FF0FD8A3FF25DFACFF22B07EFFD9946EFFF0B2 + 8AFFEFAE85FFEEAE85FFEFAE84FFEFAE84FFD9946EFF000000001584EAFF5DC7 + FBFF5DC7FBFF5DC7FBFF000000000000000000000000A8A8A8E0FFFFFFFFE6F8 + F2FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEE + C8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF21A7 + 74FFFFFFFFFFFFFFFFFF000000000000000020B280FF0FCC98FF0ED5A0FF0ED6 + A0FF0ED69FFF0ED5A0FF0ED59FFF0ED6A0FF0ED69FFF0ED59FFF0ED5A0FF0ED6 + 9FFF0ED5A0FF0ED69FFF0ED69FFF0ED69FFF0ED69FFF0ED59FFF0ED6A0FF0ED5 + A0FF0ED69FFF0ED5A0FF2ADEACFF20B27FFF00000000363432FF454341FF4643 + 40FFFBEAD7FFFCEBD8FFFCEBD8FFFCEBD7FFFCEBD8FFFCEBD8FFFCEBD7FFFCEB + D7FFFCEBD7FFFCEBD7FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEAD8FFFCEB + D8FF454341FF454341FF00000000000000000000000027E0AEFF0EDAA4FF0EDA + A5FF0FDBA4FF0FDAA4FF0FDAA5FF0FDAA4FF29E0AEFF22B17FFFD9946EFFEFB4 + 8CFFEFAF86FFEEAF85FFEFAF85FFEFAF86FFDA936EFF00000000000000001584 + EAFF1584EAFF1584EAFF000000000000000000000000A0A0A0D5FFFFFFFFDDF7 + EFFF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEE + C8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF1EAB + 78FFFFFFFFFFFFFFFFFF00000000000000001FB381FF0FCF9AFF0ED7A1FF0ED7 + A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED6A1FF0ED7A2FF0ED7A1FF0ED7A1FF0ED7 + A1FF0ED7A1FF0ED7A1FF0ED6A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED7 + A1FF0ED7A1FF0FD7A1FF1EB381FF063C2C5200000000383634FF484643FF4846 + 43FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEB + D8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFB2A6 + 9AFF484543FF484543FF0000000000000000000000002CE2B1FF0FDBA6FF0FDC + A5FF0FDBA6FF0FDBA6FF0FDCA6FF0FDCA6FF2EE3B1FF21B381FFDA946EFFF0B7 + 8FFFEFAF86FFEFB086FFEFB086FFEFB086FFDA946FFF00000000000000000000 + 000000000000000000000000000000000000000000007B7B7BA8EFEFEFFFF6FC + FAFF5CE7BDFF23C08DFFECBD96FFECBE97FFECBE97FFECBE97FFECBE97FFECBE + 97FFECBE97FFECBE97FFECBE97FFECBE97FFECBE97FFECBE97FF24BD8BFF19B3 + 7FFFFFFFFFFFF3F3F3FF00000000000000001BB783FF0FD5A1FF0FDAA4FF0EDA + A4FF0EDAA4FF0FDAA4FF0FDAA4FF0FDAA4FF0EDAA4FF0EDAA4FF0EDAA4FF0FDA + A4FF0EDAA4FF0FD9A4FF0ED9A4FF0EDAA5FF0FDAA4FF0EDAA4FF0FDAA4FF0EDA + A4FF46E7BAFF1BB684FF0000000000000000000000003B3836FF4E4B49FF4E4A + 49FF4E4B49FF4E4B49FF4E4B48FF3D3A39FF3C3A39FF3C3A39FF3C3A38FF3D3A + 39FF3C3A39FF3D3A38FF3C3A39FF3C3A39FF3D3A38FF3D3A39FF3C3A39FF4E4B + 49FF4E4A48FF4D4A49FF00000000000000000000000037E6B5FF0FDEA9FF0FDE + A8FF0FDEA9FF0FDEA9FF10DEA9FF0FDEA9FF39E6B6FF20B885FFDB956FFFF1BD + 94FFF0B188FFEFB188FFEFB187FFEFB187FFDB956FFF00000000000000000000 + 000000000000000000000000000000000000000000000D0D0D13959595C6C3CE + CAFD54BF9EFF48B48FFEF1C9A0FFF3CCA3FFF3CCA3FFF3CCA3FFF3CCA3FFF3CC + A3FFF3CCA3FFF3CCA3FFF3CCA3FFF3CCA3FFF3CCA3FFF3CBA2FF46B28CFE18B7 + 83FFBDBDBDE99B9B9BCE000000000000000019B884FF0ED8A3FF0EDBA6FF0FDB + A6FF0EDBA6FF0FDBA6FF0EDBA5FF0FDCA6FF0EDCA6FF0EDBA5FF0FDBA5FF0FDC + A5FF0EDBA6FF0EDBA6FF0FDCA6FF0FDCA5FF0FDBA6FF0FDBA6FF0FDBA6FF4FEA + BFFF1AB885FF063C2C520000000000000000000000003C3938FF504D4BFF504E + 4BFF6D6B6AFF5F5B58FF5F5B58FFE8E8C2FFE8E8C2FFE8E8C2FFE8E8C2FFE8E8 + C2FFE8E8C2FFE8E8C2FFE8E8C2FFE8E8C2FFE8E8C2FFE8E8C2FF3E3C3AFF504D + 4BFF504D4BFF504D4BFF0000000000000000000000003DE8B8FF0FE0A9FF0FDF + AAFF0FDFAAFF10E0A9FF0FE0AAFF0FDFA9FF3EE8B9FF1FB986FFDB9570FFF2C0 + 97FFF0B188FFF0B187FFEFB288FFF0B188FFDB956FFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002222 + 22321616162000000000F5D1ABFFF9D8B2FFF8D8B2FFF9D8B2FFF8D8B1FFF9D8 + B2FFF9D8B2FFF8D8B1FFF9D8B1FFF9D8B2FFF9D8B1FFF7D5AFFF161817231616 + 16201010101800000000000000000000000018B985FF0FDCA6FF0FDDA7FF0EDD + A7FF0FDDA7FF0EDDA7FF0FDCA7FF0FDDA7FF0EDDA7FF0FDDA7FF0FDCA7FF0FDD + A7FF0EDDA7FF0FDDA7FF0FDCA7FF0FDDA7FF0FDCA7FF0FDDA7FF0FDCA7FF18BA + 85FF063C2C52000000000000000000000000000000003D3A39FF534F4DFF5350 + 4DFF5F5B58FF4A4645FF4A4645FFE9E8C4FFE9E9C4FFE9E9C4FFE9E9C5FFE8E9 + C4FFE8E9C4FFE9E8C4FF2F2E2CFF474341FFE9E9C5FFE9E9C5FF413D3CFF534F + 4DFF53504DFF53504EFF00000000000000000000000041E9BAFF0FE1ABFF0FE1 + ACFF0FE0ABFF10E0ABFF10E1ABFF0FE1ABFF43EABBFF1EBB88FFDC956FFFF2C2 + 99FFF0B288FFEFB389FFEFB288FFF0B288FFDC956FFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000F3CEA9FFFADBB7FFFADBB7FFF9DAB7FFFADBB7FFF9DB + B7FFF9DBB7FFF9DBB7FFF9DAB7FFFADBB7FFF9DBB7FFF5D2AEFF000000000000 + 00000000000000000000000000000000000013C08AFF13C08AFF13C08AFF13C0 + 8AFF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C0 + 8AFF16BC89FF0FE0AAFF0FDFAAFF0FE0AAFF0FE0A9FF6BF2CCFF16BC88FF0000 + 00000000000000000000000000000000000000000000403E3CFF575452FF5754 + 52FF5F5B58FF4A4645FF575452FFEBEBCDFFEBEBCCFFEBEBCCFFEBEBCCFFEBEC + CCFFEBEBCCFFEBEBCCFF2F2E2CFF474341FFEBEBCCFFEBEBCCFF444140FF5754 + 52FF575452FF575452FF0000000000000000000000004CECBEFF10E3AEFF0FE3 + ADFF10E2AEFF0FE2ADFF0FE3AEFF10E3ADFF4EECBFFF1DBE8BFFDC9670FFF5F9 + F7FFF7E1BAFFF7E1BAFFF7E1BAFFF7E1BAFFDC9670FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000F2CCA8FFFADDBAFFFADCBAFFFADCBAFFFADDBAFFF9DC + BAFFFADDBAFFFADCBAFFF9DCBAFFFADCBAFFFADCB9FFF4D0ADFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000014BD89FF0FE1ABFF10E0ABFF10E1ABFF73F4CFFF14BD89FF063C2C520000 + 00000000000000000000000000000000000000000000413E3DFF5A5654FF5A56 + 54FF5F5B58FF4A4645FF5A5654FFEDECD0FFEDEDD1FFEDEDD0FFEDEDD1FFECEC + D0FFEDEDD0FFECEDD0FF2F2E2CFF474341FFECEDD0FFECECD1FF464341FF5A56 + 54FF5A5654FF595554FF00000000000000000000000051EDC0FF0FE3AFFF10E4 + AFFF10E4AEFF10E4AFFF10E3AFFF10E4AEFF53EDC1FF1DC18DFF54392B58D796 + 70E3F2AF85FFF3AE85FFF2AE85FFF2AE85FF35261D3800000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000F1CBA6FFFADEBCFFFADEBDFFFADDBCFFFADDBCFFFADE + BDFFFADEBDFFFADDBDFFFADEBCFFFADEBDFFFADDBDFFF3CFACFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000013BE8BFF0FE2ACFF10E1ADFF0FE2ACFF13BF8AFF063C2C52000000000000 + 0000000000000000000000000000000000000000000042403EFF5B5855FF5B57 + 56FF5F5B58FF4A4645FF5C5855FFEEEED5FFEEEED5FFEEEED5FFEEEED5FFEEEE + D5FFEEEED5FFEEEED5FF2F2E2CFF474341FFEEEED5FFEEEED5FF484442FF5B57 + 56FF5C5856FF5B5856FF00000000000000000000000056EEC2FF10E5AFFF0FE5 + B0FF10E5B0FF10E4AFFF10E5B0FF10E5B0FF58EEC2FF1CC28FFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000EFC8A4FFFAE0C1FFFBE0C2FFFAE0C1FFFBE0C2FFFAE0 + C2FFFAE0C2FFFAE0C2FFFAE0C1FFFBE0C1FFFAE0C2FFF1CBA8FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000012C18CFF10E3AFFF89F8D7FF11C18CFF0000000000000000000000000000 + 00000000000000000000000000000000000000000000444140FF5F5A58FF5F5B + 58FF5F5B58FF4A4645FF5E5B59FFF0F1DEFFF1F1DDFFF1F1DEFFF1F1DEFFF0F1 + DEFFF1F1DEFFF0F1DEFF2F2E2CFF2F2E2CFFF1F1DDFFF0F1DEFF494645FF5F5A + 59FF5F5B59FF6D6B6AFF0000000000000000000000005FEFC4FF10E7B1FF10E7 + B1FF10E6B1FF10E7B1FF10E6B1FF10E6B1FF61EFC5FF1CC591FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000EEC7A4FFFBE2C3FFFAE1C4FFFBE1C3FFFAE2C3FFFBE1 + C4FFFAE1C4FFFBE1C4FFFBE1C3FFFBE1C3FFFBE1C4FFEFC8A6FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000011C28DFF8EF9D8FF10C28DFF063C2C520000000000000000000000000000 + 00000000000000000000000000000000000000000000454241FF8D8C8BFF6D6B + 6AFF5F5B58FF4A4645FF6D6B6AFFFBFBF5FFFBFBF5FFFBFBF5FFFBFBF5FFFBFB + F5FFFBFBF5FFFBFBF5FFFBFBF5FFFBFBF5FFFBFBF5FFFBFBF5FF555353FF6D6B + 6AFF8D8C8BFF454240FF00000000000000000000000063F0C5FF10E7B2FF10E7 + B2FF10E7B2FF10E7B2FF10E7B2FF10E7B2FF65F0C5FF1CC792FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000EFC7A4FFEFC7A4FFEFC7A4FFEFC7A4FFEFC7A4FFEFC7 + A4FFEFC7A4FFEFC7A4FFEFC7A4FFEFC7A4FFEFC7A4FFEFC7A5FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000010C28DFF0FC28DFF063C2C52000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003A37369B454241FF4542 + 40FF5F5B58FF4A4645FF454241FFC3C3B5FFC3C3B5FFC3C3B5FFC3C3B5FFC3C3 + B5FFC3C3B5FFC3C3B5FFC3C3B5FFC3C3B5FFC3C3B5FFF4F3E4FF363333FF4542 + 41FF454240FF1F1D1D5A00000000000000000000000068F0C7FF10E7B2FF10E7 + B2FF10E7B2FF10E7B2FF10E7B2FF10E7B2FF68F0C7FF1DC894FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000EC48FFF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000001BCB97F420CA97F421CB + 98F421CB98F421CB98F421CB98F41FCB97F418C390EC00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000020202220A0A0938000000380000003800000038000000380000 + 0038000000380000003800000038000000380A0A093C02020222000000000000 + 0000000000000000000000000000000000000000000000000002000000040000 + 0002000000000000000B000000180000002A0000002900000029000000290000 + 00290000002900000028000000260000001A0000000900000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000008E8F82FF8E8F82FF8E8F82FF8E8F82FF8E8F + 82FF8E8F82FF8E8F82FF8E8F82FF8E8F82FF1313122002020205000000000000 + 0000000000000000000000000000000000000000000000000004000000060000 + 00090000000C0000001000000025349E6FFF349E6FFF349E6FFF349E6FFF349E + 6FFF349E6FFF349E6FFF349E6FFF349E6FFF0000002400000021000000150000 + 000B000000090000000900000003000000020000001E00000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 00520000005200000052000000520000003200000000BD8B6BFBD39E7AFFD39E + 7BFFD39E7AFFD39E7AFFD39E7AFFD49E7AFFD49E7AFFD49E7AFFD49E7AFFD49E + 7AFFD49E7AFFD49F7AFFD49F7AFFD49F7AFFD49F7AFFD59F7AFFD59F7AFFD59F + 7AFFD59F7AFFD59F7AFF73513D9F000000000000000000000000000000000000 + 0000000000000000000000000000A5A69BFFC2C3B4FFC2C3B4FFC2C3B4FFC2C3 + B4FFC2C3B4FFC2C3B4FFC2C3B4FFA5A69BFF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000033A070FF3CD7A7FF13B98CFF13B98CFF13B9 + 8CFF13B98CFF13B98CFF3CD7A7FF329F70FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000CC8865FFEEA97AFFEEA9 + 7AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFF1361DFFF1361 + DFFF1361DFFF1361DFFF0F3EB0FFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA9 + 7AFFEEA97AFFEEA97AFFCC8865FF0000000000000000C29372FFF5C49CFFF3BD + 94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD + 94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD + 94FFF3BD94FFF5C49CFFD09775FF020101030000000000000000000000000000 + 0000000000000000000000000000C2C3B4FFF0F0ECFFF0F0ECFFF0F0ECFFF0F0 + ECFFF0F0ECFFF0F0ECFFF0F0ECFFC2C3B4FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000031A171FF39D7A6FF0CC78FFF0CC78FFF0CC7 + 8FFF0CC78FFF0CC78FFF39D7A6FF32A171FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000CC8865FFEEA97AFFE59E + 75FFDF9772FFDF9772FFDF9772FFDF9772FFDF9772FFDC936FFF0353DCFF0353 + DCFF0352DBFF0353DBFF0F3FB1FFDD946FFFDF9772FFDF9772FFDF9772FFDF97 + 72FFDF9772FFE59E75FFCC8865FF0000000000000000DDAB86FFC59674FFF5C9 + A3FFE8B690FFE8B690FFE8B690FFE8B690FFE8B690FFE8B690FFE8B690FFE8B6 + 90FFE8B690FFE8B68FFFE8B68FFFE8B68FFFE8B68FFFE8B68FFFE8B68FFFE8B6 + 8FFFF5C9A3FFCF9D7AFFD09775FF020201040000000000000000000000000000 + 000000000000000000000000000000000000A5A69BFFC2C3B4FFC2C3B4FFC2C3 + B4FFC2C3B4FFC2C3B4FFA5A69BFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000030A272FF34D5A4FF0CC790FF0CC790FF0CC7 + 90FF0CC790FF0CC790FF34D6A5FF31A272FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000CD8965FFEEA97AFFDF97 + 72FFDF9772FFDF9772FFDF9772FFDF9772FFDF9772FFDB916EFF0455DCFF0455 + DCFF0454DCFF0454DCFF0E40B3FFDC926EFFDF9772FFDF9772FFDF9772FFDF97 + 72FFDF9772FFDF9772FFCD8965FF0000000000000000F4C49BFFF0C198FFE7B8 + 91FFF7D3B4FFEBBD96FFF5C89FFFF5C79EFFF5C79EFFF5C79EFFF5C79EFFF5C7 + 9EFFF5C79EFFF5C79EFFF5C79EFFF5C79EFFF5C79EFFF5C79EFFEBBC96FFD8A6 + 82FFECB890FFF2BD94FFD09775FF020201040000000000000000000000000000 + 000000000000000000000000000000000000818277FF818277FF818277FF8182 + 77FF818277FF818277FF818277FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000002DA474FF29D3A1FF0DCA92FF0DCA92FF0DCA + 92FF0DCA92FF0DCA92FF29D3A1FF2EA473FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000CE8A66FFEEA97BFFE19A + 74FFECA77FFFECA77EFFECA77EFFECA87FFFECA87EFFE09873FF0657DEFF0657 + DEFF0657DFFF0657DFFF0E42B7FFE29974FFECA77FFFECA77FFFECA77FFFECA7 + 7FFFECA87FFFE19974FFCE8A66FF0000000000000000F5C89EFFF5C89EFFF4C7 + 9DFFD3A582FFF8D9BCFFF5CAA1FFF5CAA1FFF5CAA1FFF5CAA1FFF5CAA1FFF5CA + A1FFF5CAA1FFF5CAA1FFF5CAA1FFF5CAA1FFF5CAA1FFF5CAA1FFF8D9BCFFF1BE + 96FFF4C198FFF4C198FFD09775FF02020104A5A69BFFA5A69BFFA5A69BFFA5A6 + 9BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A6 + 9BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A6 + 9BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFF0000000000000000000000000000 + 00000000000000000000000000002CA675FF23D29FFF0DCB93FF0DCB93FF0DCB + 93FF0DCB93FF0DCB93FF23D19FFF2DA574FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000CF8A67FFEEA97CFFE39C + 76FFEDA981FFECA980FFECA980FFECA980FFECA980FFDE9671FF0759E0FF0759 + E0FF0759DFFF0759E0FF0D44BAFFE09772FFECA880FFEDA980FFECA980FFEDA9 + 80FFEDA980FFE39C76FFCF8B67FF0000000000000000F5C89EFFF5C89EFFF5C8 + 9EFFF3C59CFFDBAD88FFF9DFC5FFF2C59DFFF2C59DFFF2C59DFFF2C59DFFF2C5 + 9DFFF2C59DFFF2C59DFFF2C59DFFF2C59DFFF2C59DFFF9DFC7FFE2B38DFFF4C4 + 9BFFF4C49BFFF4C49BFFD09775FF03020104A5A69BFFC3C4B5FFC2C3B5FFC2C4 + B5FFC3C4B4FFC2C4B5FFC3C4B5FFC3C3B5FFC2C4B5FFC3C4B5FFC3C3B4FFC3C3 + B5FFC3C3B5FFC3C4B5FFC3C3B5FFC2C4B5FFC3C4B5FFC3C3B4FFC3C4B4FFC3C4 + B5FFC3C3B4FFC2C4B5FFC3C3B5FFA5A69BFF0000000000000000000000000000 + 00000000000000000000000000002BA676FF1DD09DFF0DCC94FF0DCC94FF0DCC + 94FF0DCC94FF0DCC94FF1DD19CFF2BA676FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000D08B68FFEEA97DFFE49F + 78FFEEAA81FFEEAB82FFEDAA82FFEDAB82FFEDAA82FFDC936FFF095AE1FF095A + E1FF085AE1FF095AE1FF0D45BDFFDD9470FFEEAB81FFEDAA82FFEEAA81FFEDAB + 82FFEEAA81FFE49F78FFCF8B67FF0000000000000000F6CDA4FFF6CDA4FFF6CD + A4FFF5CCA3FFF5CCA3FFF5CCA3FFFBE8D4FFE9B790FFE9B790FFE9B790FFE9B7 + 90FFE9B790FFE9B790FFE9B790FFE9B790FFECBF97FFF5C89FFFF5C89FFFF5C8 + 9EFFF5C89EFFF5C89EFFD09775FF03020104A5A69BFFE4E3DBFFE4E3DBFFE5E6 + DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6 + DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6 + DFFFE5E6DFFFE5E6DFFFC7C7B8FFA5A69BFF28AA7AFF28AA7AFF27AA79FF28AA + 79FF28AA79FF28AA79FF28AA79FF27AA79FF14CE99FF0DCF98FF0DCF98FF0DCF + 98FF0DCF98FF0DCF98FF13CF99FF28A979FF29A978FF28A979FF28A978FF29A9 + 78FF28A978FF29A978FF29A978FF0000000000000000D28E69FFEFAE82FFECA9 + 81FFF0B086FFF0B086FFF0B086FFF0AF86FFF0AF86FFD68A68FF0D60E4FF0D60 + E4FF0D60E4FF0D60E5FF0E4DC8FFD78B69FFF0B086FFF0B086FFF0B086FFF0AF + 86FFF0AF86FFECAA81FFD28D69FF0000000000000000F6D0A7FFF6D0A7FFF6D0 + A7FFF6CFA6FFF6CFA6FFF6CFA6FFFDF2E6FFFDF4EAFFFBEBD9FFFBEBD9FFFBEB + D9FFFBEBD9FFFBEBD9FFFDF4EAFFFDF4EAFFF5CBA2FFF5CBA2FFF5CBA2FFF5CA + A1FFF5CAA1FFF5CAA1FFD09775FF03020104A5A69BFFD69773FFD79774FFD797 + 74FFD79774FFD79774FFD79774FFD79774FFD79774FFD79774FFD79774FFD797 + 74FFD79774FFD79774FFD79774FFD79774FFD79774FFD79774FFD79774FFD797 + 74FFD79774FFD79774FFC7C9B9FFA5A69BFF26AC7BFF3EDCB0FF3EDCB0FF3EDC + B0FF3EDCB0FF3EDCB0FF3EDCB0FF3EDCB0FF11CE98FF0DD099FF0DD099FF0DD0 + 99FF0DD099FF0DD099FF11CE98FF3EDCB0FF3EDCB0FF3EDCB0FF3EDCB0FF3EDC + B0FF3EDCB0FF3EDCB0FF27AA79FF0000000000000000D38E69FFEAA77DFFE8A5 + 7EFFEBA880FFEBA880FFEBA880FFEBA880FFEBA880FFD38564FF0E62E6FF0E62 + E6FF0E61E5FF0E62E6FF0E50CCFFD38665FFEBA881FFEAA981FFEBA880FFEBA8 + 80FFEBA880FFE8A57DFFD38E6AFF0000000000000000F7D3AAFFF7D3AAFFF7D3 + AAFFF6D2A9FFF6D2A9FFF6D3AAFF3786A9FF0685C4FF0685C5FF0299E8FF0299 + ECFF0299EFFF038FE3FF038FE3FF4FA4D4FFF6D0A8FFF6CEA5FFF6CEA5FFF6CD + A4FFF6CDA4FFF6CDA4FFD09775FF03020104A5A69BFFE6A47EFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFC9CABBFFA5A69BFF24AE7CFF11C996FF11C996FF11C9 + 96FF11C996FF11C996FF11C996FF11C996FF11C996FF0DD29BFF0DD29BFF0DD2 + 9BFF0DD29BFF0DD29BFF0DD29BFF11C996FF11C996FF11C996FF11C996FF11C9 + 96FF11C996FF11C996FF26AC7BFF0000000000000000D48F6AFFDB926EFFDA90 + 6EFFDB926EFFDB926EFFDB926EFFDB926EFFDB926EFFCE7F5FFF1064E7FF1064 + E7FF1064E7FF1064E7FF1054D0FFCE8060FFDB916EFFDB926EFFDB926EFFDB92 + 6EFFDB916EFFDB926EFFD48F6BFF0000000000000000F7D5ADFFF7D5ADFFF7D5 + ADFFF7D7B1FFF9E2CAFF0C8ABAFF069AD6FF04AFF2FF03AFF5FF03ACF6FF02AA + F6FF02A8F6FF02A3F6FF01A2F7FF01A0F7FF019DF7FFF9E2CAFFF2D7B6FFF7D3 + AAFFF7D3AAFFF7D3AAFFD09775FF03020104A5A69BFFE6A37DFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFCCCDBEFFA5A69BFF21B17FFF0ED59EFF0ED59EFF0ED5 + 9EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED5 + 9EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED5 + 9EFF0ED59EFF0ED59EFF22AF7DFF0000000000000000D6916CFFCC7C5DFFCC7C + 5DFFCC7C5DFFCC7C5DFFCC7C5DFFCC7C5DFFCC7C5DFFCC7C5DFF1368E9FF1368 + E9FF1367EAFF1367EAFF125BD9FFCC7C5DFFCC7C5DFFCC7C5DFFCC7C5DFFCC7C + 5DFFCC7C5DFFCC7C5DFFD6906CFF0000000000000000F7D5ADFFF7D5ADFFF7D5 + ADFFF8DFC3FF0997CAFF0999CEFF05B5F4FF05B5F5FF04B4F5FF04B1F5FF03AE + F5FF03ACF6FF02A8F6FF02A7F6FF02A5F6FF01A0F7FF019FF7FFF8DFC3FFF7D8 + B2FFF7D5ADFFF7D5ADFFD09775FF03020104A5A69BFFE5A37DFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFCCCEBFFFA5A69BFF1FB280FF0ED6A0FF0ED6A0FF0ED6 + A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6 + A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6 + A0FF0ED6A0FF0ED6A0FF20B17FFF0000000000000000F4B78DFFF5B88DFFF4B8 + 8DFFF4B78DFFF4B78DFFF4B88DFFF4B88DFFF4B88DFFF0AF86FF1469EBFF1469 + EBFF166BEBFF1369EBFF135EDDFFF2B289FFF4B78DFFF4B78DFFF4B88DFFF4B8 + 8DFFF4B88DFFF5B78DFFF5BC93FFD7916CFF00000000F7D5ADFFF7D5ADFFEED2 + B0FB0B9BCAFF0AA5D6FF09AFE4FF06B9F5FF06B8F5FF05B6F5FF05B5F5FF04B2 + F5FF04B1F5FF03ACF5FF02ABF6FF02AAF6FF02A5F6FF02A3F6FF01A2F7FFF5D7 + B5FFF4D6B4FCF7D5ADFFD09775FF03020104A5A69BFFE5A37EFFE9A680FFE8A6 + 80FFE9A680FFE8A680FFE8A680FFE9A680FFE9A680FFE9A680FFE8A680FFE8A6 + 80FFE8A780FFE8A680FFE8A780FFE9A680FFE9A780FFE9A680FFE9A681FFE8A6 + 80FFE8A780FFE8A680FFCECFC0FFA5A69BFF1EB482FF10D8A1FF10D8A1FF10D8 + A1FF10D8A1FF0FD8A1FF0FD8A1FF0FD8A1FF0FD8A1FF0FD8A1FF0ED8A1FF0ED8 + A1FF0ED8A1FF0ED8A1FF0ED8A1FF0ED8A1FF0ED8A1FF0ED8A1FF0ED8A1FF0ED8 + A1FF0ED8A1FF0ED8A1FF20B280FF0000000000000000F5B98FFFEFB087FFEFB0 + 87FFEFB087FFEFB087FFEFB087FFEFAF87FFEFB087FFE8A57EFF146BECFF146B + ECFF2073EEFF156AECFF1462E0FFEAA780FFEFB087FFEFB087FFEFB087FFEFB0 + 87FFEFB087FFEFB087FFF5BD94FFD8926DFF00000000F1D3B3FBF5D8B7FFC9A5 + 8AFF35C4E7FF0BC3F4FF0BC3F4FF0AC1F4FF09C0F4FF08BEF4FF07BCF5FF06B9 + F5FF06B8F5FF05B5F5FF04B4F5FF04B2F5FF36AAD7FFA89D90FFC3A289FFE1B5 + 93FFF5D8B7FFF5D8B7FFDFB090FF03020104A5A69BFFE6A681FFEAAA84FFEAA9 + 84FFEBA983FFEBA983FFEBA984FFEAAA83FFEAAA83FFEBA983FFEAAA83FFEBAA + 83FFEAAA84FFEAAA83FFEBA983FFEAA983FFEAAA84FFEBAA83FFEBA983FFEAAA + 83FFEAAA84FFEAAA83FFD1D2C3FFA5A69BFF1AB784FF16DBA6FF16DBA6FF16DB + A6FF16DBA6FF15DBA6FF15DBA6FF15DBA6FF14DBA6FF14DBA6FF14DBA6FF14DB + A6FF13DBA6FF13DBA6FF13DBA6FF13DBA6FF13DBA6FF13DBA6FF13DBA6FF13DB + A5FF13DBA5FF12DBA5FF1CB683FF0000000000000000F7C79FFFF2B58CFFF6BB + 90FFF6BC90FFF6BB90FFF6BB91FFF6BB90FFF6BB90FFEAA780FF176DEEFF176D + EEFF5196F4FF176EEDFF1568E7FFEAA780FFF6BB90FFF7BB91FFF6BB91FFF6BB + 91FFF6BB90FFF6BB90FFF7C7A0FFD9936EFF00000000E8C2A2FDE6BA96FFE0B2 + 90FF9EA598FF55D2EAFF0CC5F3FF0BC3F4FF0BC3F4FF0AC2F4FF09C0F4FF08BD + F4FF07BCF5FF06B8F5FF05B6F5FF0AB6F3FFBE9F88FFCDA88CFFDEB593FFE8BB + 97FFE8BC97FFE8BC97FFC39071EA00000000A5A69BFFE6A881FFECAB85FFECAC + 86FFEBAC85FFEBAB85FFEBAB85FFECAB85FFEBAC85FFECAC85FFEBAC85FFEBAC + 85FFECAB85FFEBAC85FFEBAC85FFECAC85FFEBAB85FFECAC85FFECAB85FFECAC + 85FFECAC85FFEBAC85FFD3D4C5FFA5A69BFF18B885FF90F9D9FF90F9D9FF90F9 + D9FF90F9D9FF90F9D9FF90F9D9FFF5F9F7FF1FDDA9FF19DCA7FF19DCA7FF19DC + A7FF18DCA7FF18DCA7FF1DDDA9FFF5F9F7FF90F9D9FF90F9D9FF90F9D9FF90F9 + D9FF90F9D9FF90F9D9FF1AB784FF0000000000000000F8CCA6FFF3B78DFFF6BC + 91FFF7BC91FFF7BC91FFF7BC91FFF6BC91FFF6BD91FFEAA881FF176EEEFF1970 + EEFF69A8F7FF176FEEFF166BEAFFE6A27CFFF7BC91FFF7BD91FFF7BC91FFF6BC + 91FFF6BC92FFF6BC91FFF8CCA6FFDA946EFF00000000DAA886FFECCAACFEE7BB + 98FFD7AE90FFB3A793FF74D9EAFF0CC5F3FF0BC3F3FF0BC3F4FF0BC3F4FF0AC1 + F4FF09C0F4FF07BCF4FF21B7E6FF97A49DFFD8B292FFE4B996FFE9BD99FFE9BE + 99FFE9BE9AFFEECFB1FD5642356500000000A5A69BFFE8A983FFECAE87FFECAE + 87FFEDAE87FFEDAE87FFECAE87FFECAD87FFECAE87FFEDAE87FFEDAE88FFEDAE + 87FFECAE88FFEDAE87FFEDAE87FFECAD87FFEDAE87FFECAE87FFECAE87FFECAE + 87FFECAE88FFECAE87FFD4D5C8FFA5A69BFF17BA87FF17BB87FF17BA86FF17BA + 86FF18BA87FF17B986FF17BA87FF17BA86FF2AE0ADFF1DDDA9FF1DDDA9FF1DDD + A9FF1CDDA9FF1CDDA9FF28E0ADFF18B986FF18B986FF18B986FF18B986FF18B9 + 86FF18B986FF19B985FF19B985FF0000000000000000F9DFC7FFF7BE93FFF7BE + 93FFF7BE93FFF7BE93FFF7BE93FFF7BE93FFF7BE93FFE7A47EFF186FEFFF277A + F1FF7AB4F9FF186FEFFF186EEEFFE7A47EFFF7BE93FFF7BE93FFF7BE93FFF7BE + 93FFF7BE93FFF7BE93FFFAE8D8FFDA946FFF000000000000000055413464DAA8 + 86FFEAC09BFFE9BE99FFE5BB98FF9CE8F3FF11CDF2FF0FCAF3FF0DC8F3FF0CC5 + F3FF0EC9F4FFC1A78FFFDAB595FFE8BF9CFFECC29DFFECC29DFFECC39DFFF2D6 + B9FDDEAE8DFF564235650000000000000000A5A69BFFE8AC86FFEFB38CFFEFB3 + 8CFFEFB28CFFEFB28CFFEFB28CFFEFB38CFFEFB28CFFEFB38BFFEFB28CFFEFB3 + 8CFFEFB28BFFEFB28CFFEFB28CFFEFB28CFFEFB38CFFEFB38BFFEFB28CFFEFB3 + 8BFFEFB38BFFEFB28CFFD7D7CBFFA5A69BFF0000000000000000000000000000 + 000000000000000000000000000014BC88FF3FE4B3FF26DEABFF25DEABFF25DE + ABFF25DEABFF24DEABFF3CE3B2FF15BC88FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000DA9570FFAE8989FF3648 + 99FF1E3592FF454C91FF615178FFB67E62FFBF8260FF95654AC7146BECFF146B + ECFF146BECFF146BECFFBF8260FF95654AC7B67E63FF8C6B70FF7F708EFF203E + 9AFF1A3B9BFF374E9DFFDA9570FF8D654A8F0000000000000000000000005541 + 3464F2D8BDFDECC19EFFEBC19CFFCBB99EFFAFEEF8FF12CEF2FF10CCF3FF13CE + F3FF5CBFC8FFE3BD9AFFECC39EFFEEC59FFFEEC59FFFEEC59FFFEEC5A0FFDFB0 + 8EFF57433566000000000000000000000000A5A69BFFE9AD87FFF1B58EFFF1B5 + 8EFFF1B58EFFF0B58EFFF0B58DFFF0B58EFFF0B58EFFF1B58EFFF1B58EFFF0B5 + 8EFFF1B58EFFF1B58DFFF1B58EFFF1B58EFFF0B58DFFF1B58DFFF0B58DFFF0B5 + 8DFFF0B58EFFF1B58EFFD7D8CCFFA5A69BFF0000000000000000000000000000 + 000000000000000000000000000013BE8AFF46E5B5FF2ADEABFF29DEABFF29DE + ABFF29DEABFF29DEABFF45E5B5FF14BE89FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000017234F7C0E33A0FF1F5D + CEFF0D46BBFF0B4ECBFF0A44BBFF0C2890FF1C3796FF5B5684FF062E9EFF062E + 9EFF062E9EFF062E9EFF947272FF5C5984FF0F379EFF0D3FADFF0C4CC4FF0E48 + BEFF1662DFFF2063D4FF615A75C6000000010000000000000000000000000000 + 0000DCAA88FFF5DBC1FEEDC59FFFECC39DFFCDC2A6FFBFF1FAFF15D3F2FF5AC7 + CEFFDCB998FFEEC7A1FFEEC7A1FFEFC8A2FFEFC8A2FFEFC8A2FFF4DBC0FD5844 + 366800000000000000000000000000000000A5A69BFFEAAF89FFF1B78FFFF1B7 + 90FFF1B890FFF1B790FFF2B790FFF2B890FFF1B790FFF1B790FFF1B890FFF1B8 + 90FFF2B890FFF2B890FFF2B790FFF1B790FFF2B790FFF2B890FFF2B78FFFF2B7 + 8FFFF2B790FFF1B790FFD8DACEFFA5A69BFF0000000000000000000000000000 + 000000000000000000000000000013BF8BFF4CE6B7FF2EDEABFF2EDEABFF2DDE + ABFF2DDEABFF2DDEACFF4BE6B7FF13BF8BFF0000000000000000000000000000 + 000000000000000000000000000000000000000000000C317FB61653C5FF3880 + EDFF0E50CCFF0C5FE3FF0448CEFF0E35A5FF0E34A4FF0D35A6FF103CADFF4990 + F1FF4990F1FF103CADFF1345B2FF0E36A3FF0E35A5FF0E35A5FF0D40B5FF0E50 + CCFF387BECFF3880EDFF0C317FB6000000000000000000000000000000000000 + 00000000000058443668DDAD8BFFF0CAA3FFF1CBA4FFF1CBA4FFF0CBA4FFF1CC + A4FFF2CCA5FFF2CDA5FFF2CDA5FFF3CEA6FFF5DDC3FDE1B593FF5B46376B0000 + 000000000000000000000000000000000000A5A69BFFEBB18BFFF4BB93FFF3BB + 94FFF3BB94FFF3BB94FFF4BB93FFF4BB94FFF4BB93FFF4BB94FFF3BB94FFF3BB + 94FFF3BC94FFF4BB94FFF3BB94FFF3BB93FFF4BC93FFF3BB94FFF4BB93FFF4BB + 94FFF4BB94FFF4BB94FFDBDBD0FFA5A69BFF0000000000000000000000000000 + 000000000000000000000000000011C28CFF53E8B9FF35DDABFF34DDABFF34DD + ABFF34DEABFF34DEABFF53E8B9FF11C18CFF0000000000000000000000000000 + 000000000000000000000000000000000000000000000B317FB7215BCAFF5195 + F8FF0C5BDDFF0C5FE3FF0E60E3FF2672E6FF2A6CDDFF124FCBFF123AA3F4173F + A5EF1241AEFF1241ABF80E45B6FD0D4CCBFF206CE4FF2270E7FF0E60E3FF0C5B + DDFF5091F6FF5195F8FF0B317FB7000000000000000000000000000000000000 + 000000000000000000005A45376AF7DFC6FEF7DEC2FFF7DEC2FFF7DEC2FFF7DE + C2FFF7DFC2FFF7DFC3FFF7DFC3FFF8DFC3FFE2B695FF5D47386D000000000000 + 000000000000000000000000000000000000A5A69BFFEBB28CFFF4BD94FFF4BC + 95FFF4BC95FFF4BC95FFF5BD95FFF4BD95FFF4BC95FFF4BD95FFF4BD95FFF5BD + 95FFF4BC95FFF4BD95FFF4BD95FFF5BD95FFF5BD95FFF4BD95FFF4BD95FFF4BD + 95FFF4BD94FFF5BD94FFDBDCD0FFA5A69BFF0000000000000000000000000000 + 00000000000000000000000000000FC38DFF54E9BAFF37DDABFF37DDABFF37DD + ABFF37DDABFF37DDABFF54E9BAFF10C28DFF0000000000000000000000000000 + 000000000000000000000000000000000000000000000928699A2158C7FF579B + FDFF1C6CE6FF3781ECFF478AEBFF0D48C8FF0D40B8FE0D34A0F2000001030000 + 00000000000000000203061B486C0F3EA5F20D49C8FF2464D8FF478AEBFF1C6C + E6FF5698FCFF579BFDFF0928699A000000000000000000000000000000000000 + 0000000000000000000000000000B28B6FCDE8BC98FFE8BC98FFE8BC98FFE8BD + 98FFE8BD99FFE8BE99FFE8BE99FFE9BE99FF5E48386E00000000000000000000 + 000000000000000000000000000000000000A5A69BFFC98C6BFFC98C6BFFC98C + 6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C + 6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C + 6BFFC98C6BFFC98C6BFFDCDDD1FFA5A69BFF0000000000000000000000000000 + 00000000000000000000000000000EC38EFF79EDC8FF3ADCABFF39DCABFF39DC + ABFF39DCABFF39DDABFF79EDC8FF0FC38EFF0000000000000000000000000000 + 00000000000000000000000000000000000000000000061C4A6F1B50BEFF599C + FDFF97C3FAFF1859D4FF0D47C7FF0D36A4F70820629500030B11000000000000 + 000000000000000000000000000001040B110F40A9F70E46BCFF0D48C7FF97C3 + FAFF9BC8FDFF599CFDFF061C4A6F000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000C2C3B4FFC2C3B4FFC2C3B4FFC2C3 + B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3 + B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3 + B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FF0000000000000000000000000000 + 00000000000000000000000000000EC48FFF0EC48FFF0EC48FFF0EC48FFF0EC4 + 8FFF0EC48FFF0EC48FFF0EC48FFF0EC48FFF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000092963791143 + B8FF0C3296DC071C578501030C13000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000001040C130C3A + 9ADC0E42B0FB1249BBFF00000203000000000000000000000000000000000000 + 000000000001000000020000000300000006000000090000000C000000100000 + 001100000014000000100000000D0000000C0000000600000005000000030000 + 0001000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00010000000300000005000000060000000C0000000E00000010000000140000 + 0011000000100000000C00000009000000060000000300000002000000010000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000200000004000000070000000C000000120000001C0E33246A339F + 70FF0E33247F0000002E00000029000000210000000D0000000A000000060000 + 0002000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000001E000000320000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000003200000000000000000000000000000000000000000000 + 0002000000070000000A0000000C0000001C00000021000000240F34247F339F + 70FF0000002E00000021000000110000000D0000000600000003000000020000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000F3424523AD6A6FF13BA + 8CFF3AD6A6FF0F34245200000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002E54 + D4FF3569DCFF3569DCFF3569DCFF3569DCFF173BB6FF063384FF093889FF0938 + 89FF093889FF0C3C8FFF063384FF173BB6FF3568DCFF3568DCFF3568DCFF3568 + DCFF2E54D4FF0000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000F3424523CD7A7FF32A0 + 71FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000F34245232A171FF13BA8CFF13BA + 8CFF13BA8CFF31A071FF0F342452000402050000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002E54 + D4FF366DDDFF366DDDFF366DDDFF366CDDFF173BB6FF063384FF13469DFF1346 + 9DFF13469DFF0E3E92FF063384FF173BB6FF366CDDFF366CDDFF366CDDFF366C + DDFF2E54D4FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000F34245230A271FF17CA95FF31A1 + 72FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000F34245230A172FF35D5A5FF11BE8EFF12BD + 8EFF13BB8DFF35D5A5FF30A172FF0F3424520000000000000000000000000000 + 0000000000000000000000000000000000000000001800000021000000210000 + 00250000002A0000002A0000002A0000002A0000002A0000002A0000002A0000 + 002A0000002A0000002A0000002A0000002A0000002A0000002A000000280000 + 0021000000210000001B00000000000000000000000000000000000000002E54 + D4FF5799EBFF5799EBFF5799EBFF72B7FFFF173BB6FF063384FF1548A0FF1448 + A0FF14489FFF114297FF063384FF173BB6FF5799EBFF5799EBFF5799EBFF5799 + EBFF2E54D4FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000F34245230A373FF39D6A6FF1FCE9AFF30A3 + 73FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000F34245230D4A3FF12BD8EFF12BD8EFF0DCB95FF0DCB + 96FF0DCB95FF12BD8EFF12BD8EFF30D4A3FF0F34245200040205000000000000 + 00000000000000000000000000000000000000000010BD8462F1E8A97FFFEEA9 + 7AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA9 + 7AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFD595 + 70FF140E0B4A0000002700000000000000000000000000000000000000000000 + 0000D4D4D4FFBFBFBFFFBFBFBFFFBFBFBFFF9C9C9CFF063384FF194FA7FF184E + A7FF184EA7FF184EA5FF063384FF9C9C9CFFBFBFBFFFBFBFBFFFC3C3C3FFB3B3 + B3FF000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000F34245234D5A4FF10BF8EFF10BF8EFF30D4A2FF2DA5 + 75FF00000000000403060004030600040306000403060009060C000403060004 + 0306000403060004030600040306000302040000000000000000000000000000 + 0000000000000F3424522DA575FF12BE8FFF12BE8FFF0ECC97FF0ECC96FF0DCC + 96FF0ECC96FF0ECD97FF12BE8EFF12BF8FFF2DA575FF0F342452000000000000 + 00000000000000000000000000000000000000000000B57D5BEFF6BB91FFE09B + 73FFD5916AFFD6926BFFD8946CFFD8956DFFD9956DFFDA966FFFDB976FFFDB97 + 6FFFDB976FFFDD9971FFDE9971FFDE9971FFE09A72FFE09A72FFE09B73FFE09C + 74FFB07C5ECD0000000000000000000000000000000000000000000000000000 + 0000D4D5D5FFBFBFBFFFCBCBCBFFCDCDCDFF9C9C9CFF063384FF093889FF0938 + 89FF093889FF1951AAFF063384FF9C9C9CFFCBCBCBFFCBCBCBFFBFBFBFFFB3B3 + B3FF000000000000000000000000000000000000000000000000000000000000 + 00000008050A0F3424522CA675FF10C08FFF10C08EFF0DCA94FF37D6A5FF2BA7 + 76FF2CA676FF2CA676FF2CA676FF2BA676FF2BA676FF2BA675FF2BA676FF2CA6 + 76FF2CA675FF2CA676FF2BA675FF2CA676FF0000000000000000000000000000 + 00000F3424522CA676FF2AD3A2FF11C090FF0ECD98FF0ECD98FF0ECE97FF0ECD + 98FF0DCE97FF0ECE98FF0ECD98FF11C190FF2AD4A1FF2CA676FF0F3424520000 + 00000000000000000000000000000000000000000000B67E5CEEFDEFE2FFEDAC + 83FFE9A37AFFE9A37AFFE9A37AFFE9A37AFFE9A37AFFE9A37AFFE9A37AFFE9A3 + 7AFFE9A47AFFE9A47AFFE9A47BFFE9A47BFFE9A47BFFE9A47BFFE9A47BFFE19C + 74FFD3946FFB0000000000000000000000000000000000000000000000000000 + 0000D6D6D6FFC3C3C3FFD3D3D3FFD6D6D6FF9C9C9CFF063384FF1D58B0FF1D57 + B0FF1D57AFFF114498FF063384FF9C9C9CFFD6D6D6FFD3D3D3FFBFBFBFFFB3B3 + B3FF000000000000000000000000000000000000000000000000000000000000 + 00000F3424522BA777FF2ED4A2FF10C18FFF0DCC95FF0DCB95FF0DCB95FF3CD7 + A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7 + A7FF3CD7A7FF3CD7A7FF3CD7A7FF2AA777FF0000000000000000000000000F34 + 245224D4A1FF10C995FF10C995FF0ED09BFF0ED09AFF0ED09AFF0ED09BFF0ED0 + 9AFF0ED09AFF0ED09AFF0ED09AFF0ED09AFF10C996FF10C995FF24D4A1FF0F34 + 24520000000000000000000000000000000000000000B67E5DECF4C196FFEDB1 + 87FFE19C74FFEAA57CFFEAA57CFFEAA67DFFEAA67DFFEAA67DFFEAA67DFFEAA6 + 7DFFEAA67DFFEBA77DFFEBA77EFFEBA77EFFEBA87EFFEBA87EFFEBA87EFFEAA7 + 7EFFE6A57BFFC88D6BEE00000000000000000000000000000000000000000000 + 0000D9D9D9FFD0CFCFFFD8D8D9FFD8D9D9FF9C9C9CFF063384FF215EB8FF205D + B7FF205EB7FF1952A9FF063384FF9C9C9CFFD9D8D8FFD9D8D8FFC4C4C4FFB3B3 + B3FF000000000000000000000000000000000000000000000000000604080F34 + 245219C895FF0FC492FF0DCE98FF0DCF98FF0DCE98FF0ECE98FF10C18FFF10C1 + 8FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C1 + 8FFF10C18FFF10C18FFF19D29FFF28AA7AFF00000000000000000F34245227AB + 7AFF0FCC98FF0FCC97FF0ED19CFF0ED19CFF0ED19CFF0ED19BFF0FD19CFF0ED2 + 9CFF0ED19CFF0ED29BFF0ED19CFF0ED29CFF0ED19BFF0FCB97FF0FCC98FF27AA + 7AFF0F34245200000000000000000000000000000000B7805EEBF3C297FFCC8F + 69FFE19E76FFEAA67DFFEBA87EFFEBA87EFFEBA87EFFEBA87FFFECA97FFFECA9 + 7FFFECA97FFFECA97FFFECAA80FFECAA80FFECAA80FFECAA80FFEDAA80FFEDAB + 81FFE9A77EFFDB9C76FE00000000000000000000000000000000000000000000 + 0000DADADAFFD6D6D6FFDADADAFFDADADBFF9C9C9CFF063384FF3786D5FF3786 + D5FF3786D5FF1E5AB2FF063384FF9C9C9CFFDADADAFFDADADAFFCCCCCCFFB3B3 + B3FF0000000000000000000000000000000000000000000000000F34245226AC + 7BFF0FC793FF0DCF99FF0ECF9AFF0DD099FF0ED099FF0ED09AFF0DD099FF0ED0 + 99FF0DD099FF0ED099FF0DD09AFF0DCF9AFF0DCF9AFF0DD09AFF0DD099FF0DD0 + 9AFF0EC995FF10C18FFF20D6A2FF26AB7BFF000000000F34245226AC7BFF1ED4 + A1FF0FCF9AFF0ED39DFF0ED39DFF0ED29DFF0ED39DFF0ED29DFF0FD39DFF0ED3 + 9DFF0ED29DFF0ED39DFF0ED39DFF0ED39DFF0FD29DFF0ED39CFF10CE99FF1ED4 + A1FF26AC7AFF0F342452000000000000000000000000B77F5EE9F3C397FFC286 + 61FFE8AB82FFE5A47AFFECAA80FFEDAA80FFEDAB81FFEDAB81FFEDAB81FFEDAB + 81FFEDAC82FFEDAC82FFEDAC82FFEEAC83FFEEAD83FFEEAD83FFEEAD84FFEEAD + 84FFEDAD83FFE9AA80FF00000000000000000000000000000000000000000606 + 060BDCDBDBFFDCDCDBFFDBDCDBFFDBDBDCFF9C9C9CFF063384FF2260BAFF2260 + BAFF2260BAFF2260BAFF063384FF9C9C9CFFDBDBDBFFDBDBDCFFD3D3D3FFADAD + ADFF2C2C2C4B000000000000000000000000000000000F34245224AD7CFF19CB + 99FF0DD19BFF0ED19BFF0ED19BFF0ED19BFF0DD19BFF0DD19AFF0DD19BFF0DD2 + 9BFF0ED19BFF0ED19BFF0DD19BFF0DD19BFF0DD29BFF0DD19BFF0ED29BFF0ED1 + 9BFF0DD19BFF0ECA96FF27D9A6FF24AD7CFF0F342452D0F5EBFF57E7BEFF57E7 + BEFF56E9BFFF57EABFFFCEF5EBFF0ED59FFF0ED5A0FF0ED5A0FF0ED5A0FF0ED6 + A0FF0ED5A0FF0FD6A0FF0ED59FFF0ED59FFF23DBA9FFCEF5EBFF56EABFFF57E7 + BEFF57E7BEFFD0F5EBFF0F3424520000000000000000B78060E7F2C499FFCC90 + 6AFFEEC499FFEBAC83FFEDAD84FFF0B086FFF0B187FFF0B187FFF1B188FFF1B1 + 88FFF1B288FFF1B388FFF1B389FFF1B389FFF1B489FFF1B489FFF2B48AFFF2B4 + 8BFFF2B48BFFF3B58BFF936A50AD000000000000000000000000000000001935 + BFFF9F9F9FFFD4D4D5FFDEDFDEFFDFDEDEFF9C9C9CFF3786D5FF3786D5FF3786 + D5FF3786D5FF3786D5FF3786D5FF9C9C9CFFDEDEDFFFDEDEDFFFD1D0D0FFA3A3 + A3FE1226ADFF0000000000000000000000000F34245217D09CFF0FCF9AFF0ED4 + 9EFF0DD49EFF0ED49EFF0DD49EFF0ED49EFF0ED49EFF0ED49EFF0ED49EFF0ED4 + 9EFF0ED49DFF0ED49EFF0DD49EFF0ED49EFF0ED49EFF0ED49EFF0DD49EFF0ED4 + 9EFF0ED49EFF0ED49EFF34DFB0FF21B17FFF21B17EFF21B17FFF21B17FFF20B1 + 7FFF21B17FFF21B17FFF19B885FF0FD7A2FF0ED7A1FF0ED7A1FF0FD7A1FF0FD6 + A1FF0FD7A2FF0FD6A1FF0FD7A1FF0ED7A1FF27DEACFF18B985FF21B07EFF21B1 + 7FFF21B17EFF21B17EFF21B17FFF0000000000000000B88160E5F2C79AFFD195 + 6EFFE5B287FFEFC094FFECAF85FFF2B48AFFF2B48AFFF2B48BFFF3B58BFFF3B6 + 8BFFF3B68BFFF3B68BFFF3B68CFFF3B68CFFF4B78DFFF4B78DFFF4B78DFFF4B8 + 8EFFF4B88EFFF4B88EFFCA926FEE000000000000000000000000000000001935 + BFFFA1A1A1FF9F9F9FFFD5D5D5FFE0DFDFFFDFE0E0FFE0DFE0FF2A8F60FF0CC7 + 90FF2A8F60FFE0E0E0FFE0DFE0FFE0E0DFFFDFE0E0FFD2D2D2FF9C9C9CFF4275 + DBFF1226ADFF00000000000000000000000020B27FFF0ED6A0FF0ED5A0FF0ED6 + 9FFF0ED69FFF0ED6A0FF0ED59FFF0ED69FFF0ED69FFF0ED69FFF0ED5A0FF0ED5 + A0FF0ED69FFF0ED59FFF0ED59FFF0ED69FFF0ED5A0FF0ED59FFF0ED5A0FF0ED6 + 9FFF0ED6A0FF0ED5A0FF3CE2B4FF20B280FF0000000000000000000000000000 + 0000000000000000000017BB87FF0FD8A3FF0FD8A3FF0FD8A3FF0FD8A2FF0FD9 + A3FF0FD8A2FF0FD8A2FF0ED9A3FF0ED8A3FF2CE0AEFF17BA87FF000000000000 + 00000000000000000000000000000000000000000000B88261E4F1C89BFFD69A + 72FFD79B73FFF0C99CFFF2B58BFFF4B78DFFF4B88DFFF4B88EFFF4B88EFFF4B9 + 8EFFF4B98EFFF5B98FFFF5B98FFFF5BA8FFFF6BA90FFF6BB90FFF6BB90FFF6BB + 90FFF6BB90FFF6BB90FFE8AD85FF624836730000000000000000000000001935 + BFFF4275DBFFA2A2A2FF9F9F9FFFE1E1E1FFE1E1E1FFE1E1E1FF0CC790FF2A8F + 60FF2E54D4FF2A8F60FFE1E1E1FFE1E1E1FFD2D2D2FF9D9D9DFFA4A5A5FF4A8D + EBFF1226ADFF000000000000000000000000063C2C5233E1B1FF0FD7A1FF0ED7 + A1FF0FD7A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED6A1FF0ED7A1FF0ED7 + A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED7A2FF0ED7A1FF0ED7A1FF0ED7A1FF0FD6 + A1FF0ED7A1FF0ED7A1FF42E5B7FF1FB381FF0000000000000000000000000000 + 0000000000000000000014BD8AFF0FDBA5FF0FDBA6FF0FDBA6FF0FDBA6FF0FDA + A5FF0FDBA6FF0FDBA5FF0FDAA6FF0FDBA5FF35E4B4FF14BD8AFF000000000000 + 00000000000000000000000000000000000000000000B88362E1EFC99CFFDFA3 + 7BFFDFA37BFFE2A77FFFFFFAF1FFFDF1DFFFFDEFDBFFFDEDD9FFFCEAD2FFFBE9 + CFFFFAE7CCFFF9E2C4FFF9E1C1FFF8DFBEFFF8DDBAFFF7DCB8FFF7DCB8FFF6DB + B7FFF6DAB6FFF6DAB6FFF5D9B5FFD7A481FA0000000000000000000000001935 + BFFF3562DAFF5092EFFF4275DBFFA0A0A0FFD8D9D9FFE4E3E3FF154BA3FFF1B1 + 87FFF1B187FFE4E4E3FFE3E3E3FFD5D5D5FFA4A4A5FF4275DBFF4B8EECFF1934 + BFFF1226ADFF00000000000000000000000000000000063C2C521BB684FF46E7 + BAFF0FDAA4FF0FDAA4FF0EDAA4FF0EDAA4FF0EDAA5FF0ED9A4FF0FDAA4FF0EDA + A4FF0FDAA4FF0EDAA4FF0EDAA4FF0EDAA4FF0FDAA4FF0FDAA4FF0FDAA4FF0FDA + A4FF0EDAA4FF0FDAA4FF4EE9BEFF1BB783FF0000000000000000000000000000 + 0000000000000000000013BF8BFF0FDCA7FF0FDCA7FF0FDCA7FF0FDCA7FF0FDC + A6FF0FDCA6FF10DCA7FF0FDCA6FF0FDCA7FF39E6B7FF13BF8BFF000000000000 + 00000000000000000000000000000000000000000000B98363E0EFCA9CFFE3A8 + 7FFFE3A87FFFE3A87FFFE7AE87FFE9AF85FFE9AF85FFE9AF85FFE9AF85FFE9AF + 85FFE9AF85FFE9AF85FFE9AF85FFE9AF85FFE9AF85FFE9AF85FFE9AF85FFDBA0 + 79FF91674EB18A624AA7886149A43D2C21490000000000000000000000000C17 + 3A462E54D4FF3563DAFF5699F1FFA1A1A3FFA0A0A0FFDADAD9FF154BA3FFF1B1 + 87FFF1B187FFE5E5E5FFD5D5D6FF9D9D9DFF4275DBFF4B8EECFF2447CAFF1226 + ADFF060E34460000000000000000000000000000000000000000063C2C521AB8 + 85FF0EDBA5FF0FDBA6FF0FDBA6FF0FDBA5FF0FDCA5FF0FDCA6FF0EDBA5FF0EDB + A6FF0FDCA5FF0FDBA6FF0EDBA5FF0EDCA6FF0FDCA6FF0EDBA5FF0FDBA6FF0FDB + A6FF0FDBA6FF0EDBA6FF53EBC1FF19B884FF0000000000000000000000000000 + 0000000000000000000012C08CFF0FDDA8FF0FDDA8FF10DDA8FF0FDDA8FF0FDD + A8FF0FDDA8FF0FDEA8FF0FDEA8FF0FDDA8FF3DE7BAFF12C08CFF000000000000 + 00000000000000000000000000000000000000000000B88463DEEFCA9DFFE8AD + 84FFEFB58AFFEFB58BFFEFB58BFFEFB48AFFEEB48AFFEEB48AFFEDB389FFEDB3 + 89FFEDB389FFECB288FFECB188FFECB187FFEBB086FFEAB086FFEAAF86FFDCA0 + 79FF17100B1E0000000000000000000000000000000000000000000000000000 + 00001935BFFF2E54D4FF3664DAFF4275DBFFA1A1A3FFA0A0A0FF063384FF0633 + 84FF063384FFD6D6D6FF9D9D9DFFA4A5A5FF5093EFFF244ACBFF1934BFFF060E + 334500000000000000000000000000000000000000000000000000000000063C + 2C5258EDC3FF0FDCA7FF0FDDA7FF0FDDA7FF0FDDA7FF0FDCA7FF0EDCA7FF0EDD + A7FF0FDDA7FF0EDDA7FF0FDDA7FF0EDDA7FF0FDCA7FF0FDCA7FF0EDDA7FF0FDD + A7FF0EDDA7FF0FDDA7FF56EDC2FF18B985FF0000000000000000000000000000 + 0000000000000000000010C28DFF10E0ABFF10E0ABFF0FE0ABFF0FE0AAFF10E0 + AAFF10E0AAFF0FDFAAFF0FE0ABFF0FDFAAFF45EBBDFF10C28DFF000000000000 + 00000000000000000000000000000000000000000000BA8665DCEECC9FFFF6BC + 91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC + 91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFE2A7 + 7FFF140E0A1A0000000000000000000000000000000000000000000000000000 + 0000000000000B1535401935BFFF3664DBFF579BF2FF4275DBFFA0A0A0FFDBDC + DBFFD8D7D8FFA3A4A7FF4275DBFF579AF1FF878CA6FF1226ADFF060D2F400000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000063C2C5216BC88FF6BF2CCFF0FDFA9FF0FE0AAFF0FDFAAFF21E3B1FF16BC + 89FF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C0 + 8AFF13C08AFF13C08AFF13C08AFF13C08AFF0000000000000000000000000000 + 000000000000000000000FC38EFF0FE1ACFF0FE1ABFF0FE1ACFF10E1ACFF0FE1 + ACFF0FE1ACFF0FE1ABFF10E1ABFF0FE1ACFF4AECC0FF0FC38EFF000000000000 + 00000000000000000000000000000000000000000000BC8867DCEDCC9FFFF6BC + 91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFFADDB8FFFADD + B8FFFADDB8FFFADDB8FFFADDB8FFFADDB8FFFADDB8FFFADDB8FFFADDB8FFD198 + 73F4050302070000000000000000000000000000000000000000000000000000 + 000000000000000000000B14323D2E54D4FF3664DBFF589BF2FFA0A1A4FFA0A0 + A0FF9D9D9DFF4275DBFF579BF2FF061D94FFABABABFF050C2D3D000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000063C2C5214BD89FF10E0ABFF10E1ABFF10E0ABFF2DE6B6FF14BD + 89FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000FC38EFF0FE2ADFF10E2ADFF0FE2ADFF0FE2ADFF0FE2 + ADFF10E2ADFF10E2ADFF10E2ADFF10E2ADFF4DEDC1FF0FC38EFF000000000000 + 00000000000000000000000000000000000000000000BF8A69E0EDCD9FFFF6BC + 91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF3D2AEFFDDAC8EFFDDAC + 8EFFDDAC8EFFDDAC8EFFDDAC8EFFDDAC8EFFDDAC8EFFDDAC8EFFDDAC8EFF3B2B + 2045000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000001935BFFF2E54D4FF3664DBFF4275DBFF9FA1 + A5FF9D9FA7FF589CF2FF061D94FFA0A5BFFFABABABFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000063C2C527CF5D2FF0FE2ACFF10E1ADFF3AEABBFF13BE + 8BFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000EC48FFF10E4AFFF10E4AFFF10E4AFFF10E4AFFF10E4 + AEFF10E4AFFF10E4AFFF10E4AFFF0FE4AFFF53EFC5FF0EC48FFF000000000000 + 0000000000000000000000000000000000000000000087634C99D9A686FAD89D + 78FAD69C77F8D69B77F7D69B77F7D49A75F5C18B69E4271C1531000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000A122E381935BFFF3563DAFF72B7 + FFFF72B7FFFF1934BFFFABABABFFCCCCCCFFABABABFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000063C2C5211C18CFF89F8D7FF50EEC4FF12C1 + 8CFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000EC48FFF10E5B0FF10E5B0FF10E5B0FF10E5B0FF10E5 + B0FF10E5B0FF10E5B0FF0FE5B0FF0FE4B0FF55F0C5FF0EC48FFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000009112C352E54D4FF3F82 + E6FF3F82E6FF1226ADFFABABABFFCCCCCCFFABABABFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000063C2C5210C28DFF57F0C7FF11C2 + 8DFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000EC48FFF0FE5B1FF10E6B0FF10E6B0FF10E5B0FF0FE5 + B1FF10E6B1FF10E5B0FF10E6B1FF10E6B1FF57F0C8FF0EC48FFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000001935BFFF3F82 + E6FF3F82E6FF050A2634ABABABFFE4EBEBFFABABABFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000063C2C52F5F9F7FF10C2 + 8DFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000EC48FFF0EC48FFF0EC48FFF0EC48FFF0EC48FFF0EC4 + 8FFF0EC48FFF0EC48FFF0EC48FFF0EC48FFF0EC48FFF0EC48FFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000509 + 181E0206161E0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000EC4 + 8FFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000003200000040000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000032000000320000000000000017000000270000 + 0032000000400000004000000040000000400000004100000047000000400000 + 0040000000400000004500000047000000400000004000000040000000400000 + 0040000000250000001A00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000343433FF232323FF2222 + 22FF222222FF212121FF212121FF202020FF202020FF1F1F1FFF1F1F1FFF1E1E + 1EFF1E1E1EFF1D1D1DFF1D1D1DFF1D1D1DFF1C1C1CFF1C1C1CFF1B1B1BFF1B1B + 1BFF1B1B1BFF1A1A1AFF343433FF000000000000000000000000000000000534 + 6AFF12589FFF12589FFF12589FFF12589FFF12589FFF12589FFF12589FFF1258 + 9FFF12589FFF12589FFF12589FFF12589FFF12589FFF12589FFF12589FFF1258 + 9FFF05346AFF000000000000000000000000000000179D9E9EFF9D9E9EFF9D9E + 9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E + 9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E + 9EFF9D9E9EFF9D9E9EFF00000017000000000000000000000000000000150000 + 001BE2B798FFE1B696FFE1B696FFE1B696FFE1B696FFE1B696FFE1B696FFE1B6 + 96FFE1B696FFE1B696FFE1B696FFE1B696FFE1B696FFE1B696FFE1B696FFE1B6 + 96FFE1B696FFE1B696FF000000110000000000000000363635FFF4E0BDFFF7E2 + BFFFF7E2BEFFF7E2BEFFF7E1BDFFF7E1BCFFF7E1BCFFF7E0BBFFF7E0BBFFF7E0 + BAFFF7E0BAFFF7E0BAFFF7E0BAFFF7E0BAFFFAEFCCFFF9EED0FFF7EBCFFFF5E5 + C9FFF2DFC0FFF2DAB6FF343433FF000000000000000000000000000000000534 + 6AFF0F5094FF073B75FF073A74FF073973FF073972FF073871FF063770FF0637 + 6FFF06376FFF06366EFF06356DFF05356DFF05356CFF05346BFF05346BFF0E50 + 94FF05346AFF00000000000000000000000000000000CCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFF00000000000000000000000000000000000000000000 + 0000F9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5 + C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5 + C4FFF9E5C4FFE2B797FF000000000000000000000000393937FFF7E3C1FFF7E3 + C1FFF7E2C0FFF7E2BFFFF7E2BEFFF7E2BEFFF7E2BEFFF7E1BDFFF7E1BCFFF7E0 + BBFFF7E0BBFFF7E0BAFFF7E0BAFFF7E0BAFFF8E3BCFFFCF3CEFFFDF7D8FFFEF9 + E4FFFEF9E7FFF3DEBBFF343433FF000000000000000000000000000000000534 + 6AFF0F5195FFF6DDB6FFF6DDB5FFF6DDB4FFF6DDB4FFF6DCB3FFF6DCB3FFF6DC + B3FFF6DCB2FFF6DCB2FFF6DCB2FFF9E9C1FFFAEDD2FFF9E9CDFFF7E1BDFF0F51 + 95FF05346AFF00000000000000000000000000000000CCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFF00000000000000000000000000000000000000000000 + 0000F8E2BBFFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6 + B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6 + B1FFF8E0BAFFE2B898FF0000000000000000000000003E3D3BFFF8E4C4FFF8E4 + C4FFF7E4C3FFF7E4C3FFF7E3C2FFF7E3C1FFD8C7A9FF8C8171FFF7E2BFFFF7E2 + BEFFF7E2BEFFB4A48CFF756C5DFF736A5CFFF5DEBAFFF7E0BBFFF7E0BBFFFCF5 + D3FFFDF7DBFFF8EBD0FF343433FF000000000000000000000000000000000534 + 6AFF115499FFF6DFB9FFF6DFB8FFF6DEB7FFF6DEB7FFF6DDB5FFF6DDB4FFF6DD + B4FFF6DDB4FFF6DDB4FFF6DDB4FFF6DDB4FFF8E5BBFFFCF5D3FFFDF6DDFF1154 + 99FF05346AFF00000000000000000000000000000000CDCDCDFFCCCCCCFFDF98 + 71FFEBA279FFEBA279FFEAA279FFEAA279FFEAA279FFEAA279FFEAA279FFFCC8 + A5FFEAA279FFEAA279FFEBA279FFEAA279FFEAA279FFEAA279FFEAA279FFDF98 + 71FFCCCCCCFFCCCCCCFF00000000000000000000000000000000000000000000 + 0000F8E1BEFFF3D6B1FFF5DAB5FFF8E1BBFFF8E0BBFFF8E1BBFFF8E1BBFFF8E1 + BBFFF8E1BBFFF8E1BCFFF8E1BBFFF8E1BBFFF9E1BCFFF8E1BBFFF8E1BBFFF4D7 + B2FFF8E1BBFFE3B99AFF00000000000000000000000040403CFFF8E5C7FFF8E5 + C7FFF8E4C5FFF8E4C4FFF7E4C3FFF7E4C3FFB7AA94FF262626FFF7E3C1FFF7E2 + C0FFF7E2C0FF1D1D1DFF1C1C1CFF1F1F1EFF615A4EFFF5DFBBFFF7E1BCFFF7E1 + BCFFFBEFCCFFFAF1D2FF343433FF000000000000000000000000000000000535 + 6BFF11559BFFF6E0BBFFF6DFB9FFF6DFB8FFF6DEB8FFF6DEB7FFF6DDB6FFF6DD + B6FFF6DDB5FFF6DDB4FFF6DDB4FFF6DDB4FFF6DDB4FFF7DFB7FFFBF1CCFF1155 + 9AFF05356BFF00000000000000000000000000000000CECECEFFCDCDCDFFDE97 + 71FFEBA37AFFEBA27AFFEAA37AFFE9A178FFEAA179FFEBA37AFFEAA27AFFFCC8 + A5FFEAA27AFFEAA279FFEBA379FFEBA27AFFEAA37AFFEBA37AFFEBA27AFFDF98 + 71FFCDCDCDFFCDCDCDFF00000000000000000000000000000000000000000000 + 0000F8E2BFFFF3D7B2FFF8E2BCFFF8E1BCFFF8E1BCFFF8E1BCFFF8E2BCFFF8E1 + BCFFF8E1BCFFF8E1BCFFF8E2BCFFF8E1BCFFF8E1BCFFF9E1BCFFF8E1BCFFF5DA + B5FFF8E1BCFFE3BA9BFF00000000000000000000000042423EFFF8E6C9FFF8E6 + C9FFF8E5C8FFF8E5C7FFF8E4C5FFF8E4C4FFB9AB95FF292929FFF7E4C3FFF7E3 + C2FFE2D0B2FF252524FFC9B79DFFEDD9B7FF1B1B1BFFAA9C85FFF7E2BEFFF7E1 + BDFFF7E1BCFFF9E9C3FF343433FF000000000000000000000000000000000535 + 6CFF12569DFFF6E0BCFFF6E0BBFFF6E0BAFFF6E0BAFFF6DFB9FFF6DEB7FFF6DE + B7FFF6DEB7FFF6DDB6FFF6DDB5FFF6DDB5FFF6DDB5FFF6DDB5FFF6DEB5FF1256 + 9DFF06356CFF00000000000000000000000000000000CFCFCFFFCECECEFFDB94 + 6EFFEBA37AFFEAA37AFFE8A178FFDC9770FFE09971FFE8A079FFEAA37AFFFCC8 + A5FFEBA47AFFEBA37AFFEBA37BFFEBA37AFFEBA37AFFEBA37AFFEAA47BFFDF98 + 71FFCECECEFFCECECEFF00000000000000000000000000000000000000000000 + 0000F8E3BFFFF4D8B3FFF8E2BDFFF8E2BDFFF8E2BDFFF8E1BDFFF9E2BCFFF8E2 + BDFFF8E2BDFFF8E2BDFFF8E2BDFFF8E2BCFFF8E1BDFFF8E1BCFFF8E2BDFFF5DB + B6FFF8E1BDFFE3BC9CFF000000000000000000000000474742FFF8E7CCFFF8E7 + CCFFF8E7CBFFF8E7CBFFF8E6CAFFF8E6C9FFBBAF9AFF303030FFF8E5C7FFF8E4 + C5FFF8E4C5FFF7E4C3FFF7E4C3FFF7E4C3FF222222FF766E61FFF7E3C1FFF7E2 + C0FFF7E2BFFFF7E2BFFF343433FF000000000000000000000000000000000637 + 6FFF1359A0FFF7E2C0FFF7E2BFFFF7E2BEFFF7E2BEFFF6E0BDFFF6E0BBFFF6E0 + BBFFF6E0BBFFF6DFBAFFF6DFB9FFF6DFB9FFF6DFB9FFF6DEB8FFF6DEB8FF1359 + A1FF06366FFF00000000000000000000000000000000D1D1D1FFD0D0D0FFCC87 + 63FFD18C68FFCF8965FFCA8562FFCE9B81FFC7825FFFD18C68FFEBA47BFFFCC8 + A5FFECA57CFFECA57CFFE8A37BFFE9A27AFFEBA57CFFEBA57CFFECA57CFFDF9A + 73FFD0D0D0FFD0D0D0FF00000000000000000000000000000000000000000000 + 0000F9E4C3FFF4DAB5FFF8E2BFFFF8E3BFFFF8E3BFFFF9E3BFFFF8E2BEFFF8E3 + BEFFF9E3BFFFF8E2BFFFF8E2BFFFF8E3BFFFF8E2BFFFF8E2BEFFF8E3BEFFF5DC + B8FFF8E2BFFFE5BE9FFF0000000000000000000000004A4944FFF8E8CEFFF8E8 + CEFFF8E7CDFFF8E7CCFFF8E7CBFFF8E7CBFFBCB09DFF333333FFF8E6C9FFF8E5 + C8FFF6E3C5FF56524CFFBDAF99FFC9B9A1FF262626FFAB9F8BFFF7E4C3FFF7E3 + C2FFF7E3C1FFF7E3C1FF343433FF000000000000000000000000000000000737 + 70FF135AA3FFF7E3C1FFF7E2C0FFF7E2C0FFF7E2C0FFF7E2BFFFF7E1BEFFF7DF + BCFFF7E0BAFFF7E1BBFFF7E0BAFFF7E0BAFFF7E0BBFFF7E0BAFFF7E0BAFF135B + A3FF073771FF00000000000000000000000000000000D2D2D2FFD1D1D1FFD7A7 + 8EFFC78360FFCD8E6FFFDBBCACFFE4E2E1FFD49E81FFC98461FFE59F78FFFBC7 + A4FFEBA67DFFE6A279FFDE9A73FFDC9770FFEAA57DFFECA67DFFECA67DFFDF9A + 73FFD1D1D1FFD1D1D1FF00000000000000000000000000000000000000000000 + 0000F8E4C5FFF6DEBAFFF9E3BFFFF8E2BFFFF8E3C0FFF8E3C0FFF8E3C0FFF9E3 + C0FFF8E2C0FFF8E3C0FFF8E3BFFFF8E3C0FFF9E3C0FFF7E2BEFFF9E1BEFFF6DD + B9FFF7E1BDFFE5BFA0FF0000000000000000000000004C4C46FFF9E9CFFFF9E9 + CFFFF8E8CEFFF8E8CEFFF8E7CDFFF6E5CAFFBDB19FFF373737FFF8E7CBFFF8E6 + CAFFF8E6CAFF2E2E2EFF2D2D2DFF2C2C2CFF6E685EFFF7E3C3FFF8E4C4FFF7E4 + C3FFF7E4C3FFF7E4C3FF343433FF000000000000000000000000000000000738 + 72FF145BA4FFF8E3C3FFF7E3C2FFF7E3C1FFF7E3C1FFF7E2C0FFF7E2BFFFF7E1 + BDFFF6DFBAFFF7DFBAFFF7E1BBFFF7E1BCFFF7E1BCFFF7E0BBFFF7E0BBFF145C + A5FF073872FF00000000000000000000000000000000D3D3D3FFD2D2D2FFE6E4 + E3FFDFC4B5FFE6E4E3FFE6D6CCFFE8BBA1FFE5DED9FFCE906FFFDA956FFFF5BF + 9DFFEAA57DFFD9946DFFCB8763FFCA8663FFE8A37AFFEBA77EFFECA77EFFE09B + 74FFD2D2D2FFD2D2D2FF00000000000000000000000000000000000000000000 + 0000F9E5C5FFF7DFBDFFF8E3C0FFF9E3C0FFF9E3C1FFF8E3C0FFF8E3C0FFF9E3 + C0FFF9E3C0FFF8E2C0FFF9E3C1FFF9E4C1FFF7E2C0FFF8E3BFFFF7E2BFFFF5DD + BAFFF7E0BEFFE6C0A3FF000000000000000000000000515149FFF9EAD2FFF9EA + D2FFF9E9D1FFF9E9D1FFF9E9D0FF464544FF3E3E3EFF3D3D3DFFF8E8CEFFF8E7 + CDFFF8E7CDFF353535FF9E9485FFE2D3B9FFE2D2B8FFF3E2C4FFF8E6C9FFF8E5 + C8FFF8E5C7FFF8E5C7FF363634FF00000000000000000000000000000000073A + 76FF155EA9FFF8E5C4FFF8E4C3FFF8E4C3FFF8E4C3FFF8E4C3FFF7E3C2FFF7E2 + C1FFF6E1BEFFF5DAB4FFF5DCB3FFF6DEB9FFF7E3C0FFF7E2BFFFF7E2BEFF155F + A9FF083A76FF00000000000000000000000000000000D5D5D5FFD4D4D4FFE19C + 75FFECA980FFECA980FFEDA980FFEDA980FFECAA82FFE9DAD1FFCA8662FFCE8D + 6BFFCB8764FFE4D5CEFFE9E5E3FFDFBFAEFFD08D68FFE29F77FFECA87FFFE09C + 75FFD4D4D4FFD4D4D4FF00000000000000000000000000000000000000000000 + 0000F9E6C9FFF7E1BFFFF9E4C2FFF8E4C3FFF8E4C2FFF9E4C2FFF8E4C2FFF9E4 + C2FFF7E3C2FFF7E1BFFFF5DEBDFFF5DFBDFFF5DFBEFFF5DEBEFFF5DEBDFFF3DC + BAFFF3DCBCFFE8C3A5FF00000000000000000000000053534BFFF9EBD4FFF9EB + D4FFF9EAD3FFF9EAD2FFF9E9D1FFE1D3BDFF5D5B57FF414141FFF9E9CFFFF8E8 + CEFFF8E8CEFF393939FF383838FF363636FF333333FFCBBDA7FFF8E7CBFFF8E6 + CAFFF8E6C9FFF8E6C9FF363635FF00000000000000000000000000000000083B + 78FF1660ABFFF8E5C7FFF8E5C5FFF8E5C4FFF8E5C4FFF8E4C3FFF8E4C3FFF8E4 + C3FFF8E3C2FFF5DFB7FFF5DBB2FFF5DCB4FFF7E1BEFFF7E3C0FFF7E3C0FF1660 + ABFF083C78FF00000000000000000000000000000000D7D7D7FFD6D6D6FFEBB1 + 8FFFFCC9A6FFFCC9A6FFFCC9A6FFFCC9A6FFFCC9A6FFF9CAABFFDEB49DFFC887 + 65FFD6A991FFEBCDBAFFF4C4A6FFECE7E4FFCC8B69FFDCA07EFFF3BD9BFFEBB1 + 8FFFD5D5D5FFD5D5D5FF00000000000000000000000000000000000000000000 + 0000F9E7CAFFF7E2C0FFF9E5C4FFF8E4C3FFF9E5C4FFF8E5C4FFF9E5C3FFF9E4 + C4FFF8E3C1FFF4DEBEFFF2DCBCFFF3DDBDFFF4DDBEFFF5DEBEFFF4DEBDFFF4DD + BAFFF4DEBDFFE8C5A7FF00000000000000000000000053534BFFF9ECD5FFF9EC + D5FFF9EBD4FFF9EBD4FFF9EAD3FFF9EAD2FFDACEB9FF504F4DFFF9E9D1FFF9E9 + D0FFF9E9D0FF6B6760FF6A6660FF69655FFF67635CFFD7C9B1FFF8E7CCFFF8E7 + CBFFF8E7CBFFF8E7CBFF383836FF00000000000000000000000000000000093C + 7AFF1662ADFFF8E6C9FFF8E5C8FFF8E5C7FFF8E5C7FFF8E5C5FFF8E4C4FFF8E4 + C3FFF8E4C3FFF8E1BFFFF5DFB8FFF4DAB0FFF5DFBAFFF7E1BFFFF7E3C2FF1661 + ADFF093D7AFF00000000000000000000000000000000D8D8D8FFD7D7D7FFE19E + 77FFEDAB82FFEEAB82FFEEAB82FFEDAB82FFEDAB82FFEDAB82FFEEE9E7FFE7D1 + C3FFECE3DEFFEBA981FFEDAB82FFEBB99AFFD29B7EFFCA8663FFDB9772FFE19E + 77FFD7D7D7FFD7D7D7FF00000000000000000000000000000000000000000000 + 0000F9E8CCFFF8E5C4FFF9E5C5FFF9E5C5FFF9E5C5FFF9E5C4FFF8E5C4FFF8E4 + C4FFF8E3C2FFF2DCBDFFF3DCBDFFF2DBBAFFF2DBBBFFF2DCBCFFF3DCBCFFF3DD + BCFFF3DCBDFFE9C7A9FF00000000000000000000000058584FFF0C5DDDFF0B5C + DCFF0A5ADAFF0959D9FF0958D8FF0855D6FF0754D5FF0653D4FF0551D2FF0550 + D1FF044FD1FF034DCFFF034DCEFF024CCEFF024BCDFF024BCDFF024BCDFF024B + CDFF024BCDFF024BCDFF3A3A38FF000000000000000000000000000000000A3F + 7EFF1864B2FFF8E7CBFFF8E7CAFFF8E7CAFFF8E7CAFFF8E6C9FFF8E5C8FFF8E5 + C8FFF8E5C8FFF8E5C5FFF8E4C4FFF8E2C1FFF6DBB4FFF5DBB3FFF7E0BDFF1864 + B1FF0A3F7EFF00000000000000000000000000000000DADADAFFD9D9D9FFE19F + 78FFEEAD84FFEEAD84FFEEAD84FFEEAD84FFEEAD84FFEEAD84FFEEAD84FFFCC8 + A5FFEEAD85FFEEAD84FFEEAD84FFEEAD84FFEFD7C8FFECD9CFFFCA8663FFDA98 + 72FFD9D9D9FFD9D9D9FF00000000000000000000000000000000000000000000 + 0000F9E8CDFFF8E6C7FFF9E6C8FFF9E5C8FFF8E6C8FFF9E5C7FFF9E6C8FFF7E4 + C5FFF6E1C3FFEDD5B7FFEACFB1FFE8CCAFFFE7CBACFFE6CBADFFE7CBACFFE8CC + AFFFDEBEA3FFE7C3A8FF0101010200000000000000005A5A50FF0C5EDEFF0C5D + DEFF0B5BDCFF0A5ADBFF0A59DAFF0957D8FF0856D7FF0755D6FF0653D4FF0652 + D3FF0551D2FF044FD0FF044ED0FF034DCFFF024CCEFF024BCDFF024BCDFF024B + CDFF024BCDFF024BCDFF3C3C39FF000000000000000000000000000000000A41 + 81FF1965B3FFF8E8CCFFF8E7CBFFF8E7CBFFF8E7CBFFF8E7CAFFF8E6C9FFF8E6 + C9FFF8E6C9FFF8E5C8FFF8E5C7FFF8E5C7FFF6E0BBFFF5DAB3FFF6DCB6FF1865 + B3FF0A4081FF00000000000000000000000000000000DBDBDBFFDADADAFFE2A0 + 79FFEFAE85FFEEAE85FFEFAE85FFEEAE85FFEFAE85FFEFAE85FFEEAE85FFFCC9 + A6FFEEAE85FFEFAE85FFEEAE85FFEFAE85FFECAE87FFF2E4DCFFE5C7B5FFD28E + 6AFFDADADAFFDADADAFF00000000000000000000000000000000000000000000 + 0000F9E9CFFFF8E6C8FFF9E7C8FFF9E6C8FFF9E6C8FFF8E6C9FFF9E7C9FFF8E5 + C7FFF5E1C3FFEACFB3FFE4C5AAFFE2C0A5FFDBB89CFFDBB89CFFD9B69BFFD9B7 + 9BFFE8CDAEFFE7C3A8FF0000000000000000000000005D5C52FF0D5FE0FF0D5F + DFFF0C5DDDFF0B5CDDFF0B5BDCFF0A59DAFF0958D9FF0857D8FF0754D6FF0753 + D5FF0652D4FF0550D2FF044FD1FF044ED0FF034DCEFF034CCEFF024BCDFF024B + CDFF024BCDFF024BCDFF3E3E3BFF000000000000000000000000000000000B41 + 82FF1966B5FFF8E8CEFFF8E8CDFFF8E8CCFFF8E8CCFFF8E7CBFFF8E7CAFFF8E7 + CAFFF8E7CAFFF8E6C9FFF8E5C8FFF8E5C8FFF8E2C3FFF6E0BCFFF5DDB5FF1967 + B5FF0B4282FF00000000000000000000000000000000DCDCDCFFDBDBDBFFE2A1 + 79FFEFAF86FFEEAF86FFEEAE85FFEFAF86FFEFAF86FFEFAF86FFEFAF86FFFCC9 + A6FFEEAE86FFEEAF86FFEFAF86FFEFAF86FFEFAF86FFECB58FFFF5EFEBFFCC88 + 64FFDBDBDBFFDBDBDBFF00000000000000000000000000000000000000000000 + 0000F9E9CFFFF8E7C9FFF8E7C9FFF9E7C9FFF8E6C9FFF9E7CAFFF9E6C9FFF8E5 + C8FFF4E0C1FFE8CBAFFFE2C2A7FFE4C7AEFFDFBFA6FFE1C3A8FFEAD2B6FFF5DF + BCFFE8C5AAFF483B3252000000000000000000000000626156FF0E61E1FF0E61 + E1FF0D60E0FF2A70E4FF3D79E6FF3270E0FF0B5BDCFF0A5ADBFF0958D9FF0857 + D8FF0856D7FF0753D5FF0652D4FF2769DFFF3B77E5FF306CDDFF044ECFFF034C + CEFF024BCDFF024BCDFF43433FFF000000000000000000000000000000000C44 + 87FF1B69B9FFF9E9D0FFF8E9CFFF9B9280FF9B9280FF9B927FFF9B927FFF9B92 + 7FFF9B927EFF9B917EFF9B917DFF9B917DFF9B917DFFBFB299FFF8E5C7FF1B69 + B8FF0C4487FF00000000000000000000000000000000DEDEDEFFDDDDDDFFE3A1 + 7AFFEFB187FFEFB188FFEFB087FFEFB088FFEFB187FFEFB187FFEFB188FFFCCA + A7FFEFB187FFEFB187FFEFB188FFF0B188FFEFB188FFEFB088FFEFB088FFF5EA + E3FFDDDDDDFFDDDDDDFF00000000000000000000000000000000000000000000 + 0000F9EAD1FFF9E7CBFFF9E8CBFFF9E8CBFFF9E7CCFFF9E8CBFFF9E8CBFFF6E6 + C9FFF1DDC0FFFCF9F7FFF8F2ECFFFDF7EEFFFAECD5FFF8E3C3FFF7E0BBFF483D + 33520000000000000000000000000000000000000000646458FF0E61E1FF0E61 + E1FF1F6BE4FF2E65D0FF133896FF133896FF2A5CBFFF0B5CDCFF0A5ADAFF0959 + D9FF0957D8FF0855D6FF1B62DCFF2D63CEFF173271FF133896FF2A5EC5FF034D + CFFF034CCEFF024CCEFF454540FF000000000000000000000000000000000D45 + 8AFF1B6AB9FFF9EAD1FFF9E9D0FF565544FF575545FF575544FF575644FF5755 + 44FF565544FF575545FF575544FF575644FF86806CFF9B917DFFF8E7CAFF1B69 + BAFF0D4589FF00000000000000000000000000000000DFDFDFFFDEDEDEFFE3A3 + 7BFFEFB288FFF0B188FFEFB288FFF0B188FFEFB188FFEFB188FFF0B288FFFCCA + A7FFEFB288FFF0B188FFEFB288FFEFB289FFF0B188FFEFB188FFF0B188FFEFD1 + BDFFDEDEDEFFDEDEDEFF00000000000000000000000000000000000000000000 + 0000F9EBD2FFF9E8CCFFF8E7CCFFF9E8CCFFF9E7CCFFF9E8CCFFF8E7CBFFF7E4 + C8FFF2DDC0FFFEFAF5FFFCF6ECFFFBF0DDFFF8E3C2FFF7DFBAFFEDD0B4FF0000 + 0000000000000000000000000000000000000000000067665AFF0E61E1FF0E61 + E1FF1565E2FF133CA0FF526D97FF506C97FF163A8BFF0C59D5FF0B5BDCFF0A5A + DBFF0A59DAFF0957D8FF115BD9FF123BA0FF4774C5FF506C97FF1742A4FF044E + D0FF034ECFFF034DCFFF484842FF000000000000000000000000000000000D47 + 8CFF1C6BBBFFF9EAD2FFF9EAD1FF908974FF908974FF908974FF908974FF9089 + 74FF908974FF908974FF908974FF908974FF5A5A48FF9B917EFFF8E7CBFF1C6A + BBFF0D468CFF00000000000000000000000000000000E1E1E1FFE0E0E0FFE2A3 + 7BFFEFB289FFF0B289FFF0B289FFF0B289FFF0B288FFF0B289FFEFB289FFFCCA + A7FFF0B289FFEFB289FFEFB289FFEFB289FFEFB289FFEFB289FFF0B289FFE9B7 + 98FFDFDFDFFFDFDFDFFF00000000000000000000000000000000000000000000 + 0000F9EBD2FFF9E8CDFFF9E8CDFFF9E8CCFFF9E8CDFFF8E8CDFFF9E7CBFFF6E4 + C9FFF1DCBFFFFCF4E7FFFBEFDCFFF9E8CEFFF7DFB9FFEFD3B7FF493E35520000 + 000000000000000000000000000000000000000000006B6B5DFF579BF0FF579B + F0FF579BF0FF579BF0FF46453DFF48473FFF345E98FF4C89D6FF579BF0FF579B + F0FF579BF0FF579BF0FF579BF0FF579BF0FF3D3C36FF48473FFF345E98FF579B + F0FF579BF0FF579BF0FF4B4B45FF000000000000000000000000000000000E49 + 90FF3786D5FF3786D5FF3786D5FFF5F6EFFFE3E5D2FFD3D6B6FFD3D6B6FFD3D6 + B6FFD3D6B6FFD3D6B6FFD3D6B6FFDDDFC7FF64634FFF2F5B83FF3786D5FF3786 + D5FF0E4990FF00000000000000000000000000000000E3E3E3FFE2E2E2FFE3A3 + 7CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFEBB2 + 90FFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A3 + 7CFFE2E2E2FFE2E2E2FF00000000000000000000000000000000000000000000 + 0000F9EBD4FFF9E8CEFFF9E8CEFFF9E8CEFFF9E9CEFFF9E9CEFFF7E6CDFFF5E1 + C8FFF0DABEFFF7E2C0FFF7E1BEFFF7DFB9FF51463C5900000000000000000000 + 000000000000000000000000000000000000000000006E6D5FFF4078AFFF2380 + E4FF2380E4FF2380E4FF3D3C36FF3D3C36FF164883FF1F6EC5FF2380E4FF2380 + E4FF2380E4FF2380E4FF2380E4FF2380E4FF3D3C36FF3D3C36FF164883FF2380 + E4FF2380E4FF3770A9FF4F4E47FF000000000000000000000000000000000B39 + 71C70E4A93FF0E4B92FF0F4A92FF686754FF686754FF686754FF72725EFF7272 + 5EFF72725EFF72725EFF686854FF686754FF455C6DFF183A5EFF0E4B92FF0F4A + 92FF0B3971C700000000000000000000000000000000E4E4E4FFE3E3E3FFE3E3 + E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3 + E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3 + E3FFE3E3E3FFE3E3E3FF00000000000000000000000000000000000000000000 + 0000FAECD4FFF9E8CEFFF9E9CFFFF9E9CEFFF9E9CFFFF9E8CDFFF7E5CCFFF4E2 + C7FFF0DABFFFF7DFB9FFF7DFB9FFF1D8BCFF0000000000000000000000000000 + 000000000000000000000000000000000000000000006E6D5FFF6C6C5EFF6B6B + 5DFF6A695CFF69685BFFA9A98AFFB8B998FF32363FFF52544FFF636257FF6261 + 56FF626156FF5F5F54FF5E5E53FF5E5D53FFD4D4ABFFB8B998FF2C313BFF5858 + 4FFF58584FFF57564EFF79786DFF000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006C6B57FF646351FF6463 + 51FF646351FF646351FF6D6C58FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000 + 0000FAECD5FFF9E9CFFFF9E9CFFFF9E9CFFFF9E9CFFFF9E9CEFFF7E6CCFFF6E3 + C9FFF1DDC2FFF4DCB8FFF1D8BCFF6A5E50720000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000515044C7515044C70000000000000000000000000000 + 000000000000000000000000000000000000686758FF515044C7000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004545389B73725DFF7372 + 5DFF73725DFF73725DFF4545389B000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000F1D8BCFFF1D8BCFFF1D8BCFFF1D8BCFFF1D8BCFFF1D8BCFFF1D8BCFFF1D8 + BCFFF1D8BCFF7266587900000000000000000000000000000000000000000000 + 000000000000000000000000000000000000424D3E000000000000003E000000 + 2800000060000000A00500000100010000000000804300000000000000000000 + 000000000000000000000000FFFFFF0000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 + 0000FFFFFF8007FFE00007000000FFFFFF80FFFFC00007000000010101807FFF + E00007000000010101803FFFE00007800001010101801FFFE000078000030101 + 01800FFFE00007C000030101018007FFE00007E00007010101E003FFE00007E0 + 0007010101F001FFF0000FF0000FEFEFEFF000FFF8001FF0001FEFEFEFFC007F + FE00FFF0001FE0000FFE0007FF00FFF8001FFFEFFFFE0003FE00FFFC003FFE00 + FFFF8001FE007FFE007FFE00FFFFC000FE007FFE007FFE00FFFFC000FE007FFE + 00FFFE00FFFFF020FE007FFF00FFFE00FFFFF070FE007FFF00FFFE00FFFFF038 + FE00FFFFC1FFFE00FFFFF01CFE00FFFFC3FFFE00FFFFF81FFF00FFFFC7FFFE00 + FFFFF80FFFFFFFFFFFFFFFFFFFFFFE07FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFE00FF800001FFFFFF00003FFE00FF000000FFFFFF8000FFFE00FF + 000000FFFFFF8000FFFE00FF0000008007F98000FFFE00FF0000008007F18000 + FFFE00FF0000008007F18000FFFE00FF000000801FE18000FFFE00FF00000080 + 3FC38000FFFE00FF000000801F038000FFFE00FF0000008000038000F8FE00FF + 0000008000038000F8FE00FF0000008000078000F8FE00FF00000080000FFFE3 + F8E0000300000080000FFFE3F8E0000700000080001FFFE3F8F0000F000000FC + 003FFFE1F0F8001F000000FE00FFFFE1F0FC003F000000FF01FFFFE0E0FE007F + 800003FFFFFFFFF001FF00FFFFFFFFFFFFFFFFF803FF81FFFFFFFFFFFFFFFFFC + 07FFC3FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFC00007FE003FFFFFFFC0000FE0001FFE003F000000C0000FE0001F + FFC0FF800003C0000FE0001FFFC1FF800003C0000FE0001FFFC1FF800003C000 + 0FE0001FFFC1FF800003C0000FE0001FFFC1FF800003C0FC0FE0001FFFC1FF80 + 0003C0FC0FE0001FFFC1FF800003C0FC0FE0001FFFC1FF800001C0FC0FE0001F + FFC1FF800001C0FC0FE0001FFFC1FF800001C0FC0FE0001FFFC1FF800001C0C0 + 00E0001FFFC1FF800001C0C000E0001FFFC1FF800001C0C000E0001FF3C1E3FE + 007FC0F003E0001FF1C1E3FE007FC0F803800007F1C1C3FE007FC0F807800007 + F00003FFFFFFC0FE1F800007F00003FFFFFFE1FF1F800007F00003FFFFFFFFFF + 1FC0000FFFFFFFFFFFFFFFFFFFFF87FFF0000FFFFFFFFFFFFFFFFFFFF8001FFF + FFFFFFFFFFFF801FF0000FFFFFFFC00001FFE0FFE00007FFFFFFC00001FFC07F + C00003FFFFFFC00001FFC03F800001FFFFFFC00001FF001F000000FFFFFFC000 + 01FE000F000000FFFFFFC00001FE0007000000FFFFFFC00001F8000300000080 + 0003C00001F00001000000800003C00001F00000000000800003C00001C00001 + 000000E00007C00001800003000000E00007C00001800003000000F0000FC000 + 0180000F000000F0000FC0000180001F000000F0000FC0000180001F000000F0 + 000FC0000182007F800001F0001FC000018200FF800003F8001FC000018000FF + E00007FFFFFFFFFFFFC003FFF0000FFFFFFFFFFFFFE007FFF0001FFFFFFFFFFF + FFF007FFFC003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF000FF01C07FC0FFFFF87FFFFFC3FF07F0FF007FFFF87FFFFF83FF83E1F + F003FFFF87FFFFF83FF8181FC000FFF8007FFFE03FFC001FC0C0FFF8007FFFC0 + 3FFC001F81E0FFF8007FFC003FFC001F83F0FFFF03FFF0001FFE003F87F8FFFE + 00FFF0001FFE001F87F8FFFC00FFF0000FF8001F83F0FFF0003FF0000FE00003 + 81E0FFF0303FF0000FC00003C0C0C7F0781FF0000F800000E00047F0FC1FF000 + 1F800000F00007F1FE1FF0001FFF80FFF00007F1FE1FF0003FFF80FFFFF807F0 + FC1FFFC03FFFC1FFFFF807F0781FFFE03FFFC1FFFFE007F0303FFFF03FFFC3FF + FFE007F8007FFFF83FFFC3FFFFE007FC00FFFFFC3FFFE7FFFFFFFFFE00FFFFFE + 3FFFE7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00FFF03E0FC0 + 000FE00007FF81FFF07F0780001FF8003FFE00FFF07F0780001FF8003FFE007F + F03E0780001FF8003FFE007FF03C2780001FF8003FF8001FF01847F0001FF800 + 3FF0001FF00807F0001FF8003FF0001FF0000FF0001FF8003FF0000FF8001FF0 + 001FF8003FE00007FE003FF0001FF8003FE00007FF80FFF0001FF8003FC00003 + FF80FFF0001FF8003FC00003FF00FFF0001FF8003FC00003FE087FF0001FF800 + 3FC00003FE183FF0001FF8003FC00003FE183FF0001FF8003FC00003FC3E1FF0 + 0003F8003FC00003F87F1FF00003F8003FC00003F07F0FF00003F8003FC00003 + F1FF8FF00003F8003FFF81FFF1FFCFF00003F8003FFFC3FFF3FFEFF80003F800 + 3FFFC7FFFFFFFFFFFFFFF8003FFFE7FFFFFFFFFFFFFFFFFFFFFFFFFFE00003E0 + 0003FFFFFFFFFFFFFC001FFC001FC00003E00003F0000FF0000F800003C00003 + F00007F00007800003800003E00003E00003800003800003C00003C000038000 + 03800003C00003C0000380000380000380000180000180000380000380000180 + 0001800003800003800001800001800003800003800001800001800003800003 + 8000018000018000038000038000018000018000038000038000018000018000 + 03800003800001800001800003800003C00003C00003800003800003E00003E0 + 0003800003800003F00007F00007800003800003F00007F00007800003800003 + FC001FFC001F800003800003FE003FFE003FC00003800003FF00FFFF00FFE000 + 07800003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00003E0 + 0003E00003FFFFFFFC001FFC001FFC001FFC007FF0000FF0000FF0000FF8003F + F00007F00007F00007F0001FE00003E00003E00003E0000FC00003C00003C000 + 03C00007C00003C00003C0000380000380000180000180000180000380000180 + 0001800001800003800001800001800001800003800001800001800001800003 + 8000018000018000018000038000018000018000018000038000018000018000 + 01800003800001800001800001800003C00003C00003C00003800003E00003E0 + 0003E00003800003F00007F00007F00007C00007F00007F00007F00007E0000F + FC001FFC001FFC001FF0001FFE003FFE003FFE003FF8003FFF00FFFF00FFFF00 + FFFC007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFC3FFFFF8FFFC007FFFFFFFFF80E3FFF8FFF8003F + FFFFFFFF00C3FFF87FF0001FFFFFFFFE0001FFF81FE0000FFFFFFFFC0001FFF8 + 1FC00007FFFFFFF8000180000F800003800001F00003800003800003800001E0 + 0003800003800003800001E00003800001800003800001800001800001800003 + 8000018000018000018000038000018000018000038000038000018000018000 + 0780000380000180000180000F800003800001800001FFF81F800003FFFFFF80 + 0001FFF83F800003FFFFFF800001FFF87FC00007FFFFFF800001FFF8FFE0000F + FFFFFF801803FFFFFFF0001FFFFFFFC03803FFFFFFF8003FFFFFFFF03E07FFFF + FFFC007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC003F80 + 07FFFFFFFFFFFFFFFC003F83FFFF80007FFFFFFFF0001FC1FFFF80007FFFFFFF + F0000FE0FFFF80007FFFFFFF800003F03E7F8000639FFFFF800003F03C7F8000 + 439FE001800003F0187F8000418FE001800003FC007FC200018FF001800003FE + 007FE3000187F801800003FE007FFF000183F801800003FF803FC20001806001 + 800003FF001F800001C00001800003FE001F800001C00001C00003FC00078000 + 63E00001E00007FC000380007FF00001F0001FFC000080007FF00001F0001FFF + F80080007FF80019F0001FFFF801FE07FFFC003FF0001FFFFC03FC03FFFE007F + FC003FFFFF07F801FFFFFFFFFC003FFFFF0FF801FFFFFFFFFC003FFFFF1FF801 + FFFFFFFFFFFFFFFFFFFFFE07FFFFFFFFFFFFFF800001FFFFFFFFFFFFFFFFFFF0 + 0007800001FFFFFFFE0003F00007C00003F07FFFFC0003F00007C00003E03FFF + F80003F00007C00003C01FFFF00003F00007C000038007FFE00003F00007C000 + 038007FFE00003F00007C000038003FFE00003F00007C000038000FFE00003F0 + 0007C000038000FFE00003F00007C00003C0007FE00003F00007C00003E0001F + E00003F00007C00003F0001FE00003F00007C00003F0000FE00003F00007C000 + 03FC0007E00003F00007C00003FE0003E00003F00007C00003FE0003E00003F0 + 0007C00003FF8003E00003F00007C00003FFC003E00003F00007C00003FFC003 + E00003F00007C00003FFF007FFFFFFF00007C00003FFF80FFFFFFFFE493FC000 + 03FFFC1FFFFFFFFE493FFFFFFFFFFFFFC00FFFFFFFFFFFFFFFFFFFFFC07FFFFF + FFFFFFFFFFFE001F807FFFFFFFFF800003FFF8FF807FFFFFFFFF800003FFF0FF + 807E1FFC003F800003FFE0FF807807000000800003FFC0FFC078070000008000 + 03FF80C7E07807000000800003F00083F87807000000800003C00003F87807FC + 003F800003C00003F87C07FF00FF800003C00003F87F07FF00FF800003C00007 + F87F87FF00FF800003C00007F87F87FF00FFFC0003C00003F87F87FFC3FFFC00 + 03C00003F80F87FFC3FFFC0003C00003F80187FFC3FFFC0003E00003F80007FF + C3FFFC0003FF80C7F80007FFC3FFFC0003FFC0FFF80007FFC3FFFC0003FFC0FF + FC0007FFC3FFFC0003FFF0FFFF0007FFFFFFFFFFFFFFF8FFFFE007FFFFFFFFFF + FFFFF8FFFFFF87FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC003FF00007FF + FFFFFFFFFFFFC3FFFC001FF0001FFFFFFFFF00FFFC001FFC003FFFFFFFFE00FF + FC001FFC003FF8000FFE007FFC001FFF00FFFF181FFE007FFC001F000000FF18 + 1FFF81FFFC001F000000FE101FF381CFFC001F000000FE007FE381C3FC001F00 + 0000FE00FFC00003FC001F000000FC00FF800001FC001F000000F8007F000000 + FC001F000000F8003F000000FC001F000000F0003F000000FC001F000000F000 + FF800003FC001F000000F003FFC381C3FC001F000000F007FFE381C7FC001F00 + 0000E03FFFFF81FFFC001F000000C0FFFFFE007FFC001F000000C3FFFFFE007F + FC001F000000FFFFFFFE00FFFC001F000000FFFFFFFF00FFFC001F000000FFFF + FFFF81FFFFFFFFFFFFFFFFFFFFFFC7FFC0000FFFFFFFFFFFFFFFFFFFE07FFFFF + FFFFFFFFFFFFFFFF803FFF80000383FFFFFFFFFF801FFFE0000F81FFFFFFFFFF + 860FFFE0000F81FFFFFFFFFF8F07FFE0000FC07FFF8000018707FFE0000FE03F + FF8000018207FFE0000FF03FFF800001C007FFE0000FF80FFF800001E007FFE0 + 000FFC07FF800001F003FFE0000FFE07FF800001F8001FE0000FFF00CF800001 + FC000FE0000FFF8007800001FFC007F0001FFFC007800001FFE003F8FE3FFFE0 + 03800001FFE001F8FE3FFFE001800001FFE061F8FE3FFFE001800001FFF0F0F8 + 7C3FFFF803800001FFF070F87C3FFFF803800001FFF820F8383FFFF003800001 + FFFC01FC007FFFF003800001FFFE03FE00FFFFFE1FFFFFFFFFFF03FF01FFFFFF + 1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + E003FFFFFFFFFFFFFF3FFFFFFF01FFFFFFFFFFFFFE3FFFFFFF01800000800001 + FE3FFFFFFE01800000800003F83FFFFFF801900081800003F03FFFFFF8039000 + 81800003F00001FFF003900081800003C00001FFE00F900081800003800001F0 + 001F900081800003800001E0001F90008180000380000180007F9000FF800003 + 8000018000FF9000FF8000038000018001FF9000FF800003E000010001FF9000 + FF800003F000010001FF9FC0FF800003F03FFF0001FF9FC0FF800003FC3FFF00 + 01FF9FC0FF800003FE3FFF0001FF9FC0FF800003FE3FFF0001FF9FC0FF800003 + FFFFFF8003FF9FC0FFFFFFFFFFFFFF8007FF9FC0FFFFFFFFFFFFFFC007FF9FFF + FFFFFFFFFFFFFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 + 3FFFFFFFFFFFFFFF80007FC01FFFFFFFFF80000383FFFF800FFFFFFFFF800003 + 83FFFF8207FFFFFFFF80000381FFFF8F87FFFFFFFF800003807FFF8FC7FF8000 + 01800003C03FFF8FC7FF800001800003F00FFF8F07FF800001800003F000FF82 + 07FF800001800003F8003F8003FF800001800003FE001FE000FF800001800003 + FE0007F000FF800001800003FF0003FFC07F800001800003FF0003FFF01F8000 + 01800003FF0003FFF81F800001800003FF0203FFF80FEFFFFF800003FF8703FF + FE03E00003800003FF8707FFFF03FFFFFF800003FFC20FFFFF01FFFFFF800003 + FFE01FFFFF00FFFFFFFFFFFFFFE03FFFFF00FFFFFFFFFFFFFFF07FFFFF00FFFF + FFFFFFFFFFFFFFFFFFC7FFFFFFFFFFFFFFFFFFFFFFFFF00007FFFFFF800003FF + FFFFF0000FFFFFFFE00007FC007FF0000FF8001FE00007F8003FF0000FF8001F + E00007F0001FF0000FF8001FE00007E0000FF0000FF8001FE00007C00007F000 + 0FF8001FE00007800003F0000FF8001FE00007800003F0000FF8001FE0000780 + 0003F0000FF8001F800001800003F0000FF8001F800001800003F0000FF8001F + 800001800003F0000FF8001F800001800003F0000FF8001FC00003800003F000 + 0FF8001FE00007800003F0000FF8001FF0000F800003F0000FF8001FF8000F80 + 0003F0000FF8001FFC0007C00007F0000FF8001FFE0007E0000FF0000FF8001F + FF00FFF0001FF0000FF8001FFF81FFF8003FF0000FF8001FFFC3FFFC007FF000 + 0FF8001FFFFFFFFFFFFFF8001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFF + FFFFFC003FFE00FFF8001FFFFFFFFF81FFF6004FF0001FFFFFFFFF00FFE80003 + F0000FFFFFFFFE00FFC0001BC00003000000FC003FA00005C00003000000F800 + 1FE00005800003000000F0001FC00001800001000000E0000F803C0180000100 + 0000E00007807E01800001000000C0000380FF0180000100000080000380FF01 + 80000100000080000380FF0180000100000080000180FF018000010000008000 + 01807E01800001800001800001803C01800003800003800001C00001C00003E0 + 0007800001E00007C00003F0000F800001E00007E00007FFFFFF800001B0000F + F0001FFFFFFFC03803D80013F8001FFFFFFFF03E07CE0067FE007FFFFFFFFFFF + FFF300CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000FFFF + BFFFFFFFFFF0001FF1FFFFFF8FFF000000F8001FF1FFFFFF8FFF800001F8001F + F1FFFFFF87FF800001F8001FF1FFFFFF87FF800001C00003F1FFFFFF83FF8000 + 01800003F1FFFFFFC3FF800001800003F1FFFFFFC0FF800001C03C03F1FFFFFF + C0FF800001C07E03F1FFFFFFC0FF80000180FF03F00003FE007F80000181FF01 + F00003FE003F80000181FF01F00003FE003F80000180FF01F00003FE001F8000 + 01C07E03F00003FE001F800001C03C03F00003FE01FF800001801803F00003FE + 00FF800001800003F00003FE00FF800001C00003F00003FE00FF803FFFF8001F + F00003FE007F807FFFF8001FF001F3FE003F80FFFFF8001FF0FFFFFE003FFFFF + FFFCC33FF1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 + 0003800001FF9FFF807E03E00007CC0033FF87FF807E03E00007CC0033FF87FF + 80FF03E00007C00003FF83FF807E03E00007C00003FF81FF803C03E00007CC00 + 33FF81FF803803E00007CC0033FF81FF880013E00007C00003FF81FFFC003FE0 + 0007C00003FF81FFFE007FE00007CC0033FF81FFFF00FFE00007C00003FF00FF + FF00FFE00007C00003FE007FFE00FFE00007C00003FE003FFC003FE00007CC00 + 33F8001F880013E00007C00003F0000F801803E00007C00003F00007803C03E0 + 0007CC0033C00003807E03E00007CC003380000180FF03E00007C00003800001 + 807E03E00007C00003800001807E03E0000FCC0033800001807E03E0001FCC00 + 33800001FFFFFFE0003FC00003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFC00003800001C1FFFFFC007F800003800001C0FFFFF8003F + 800003800001E03FFFF0001F800003800001F00FFFE0000F800003800001F007 + FFC00007800003800001F007FF800003800003800001F001FF80000380000380 + 0001F800FF800003800003800001F800FF800003800003800001FE003F800003 + 800003800001FE001F800003800003800001FF001F800003800003800001FFC0 + 07800003800003800001FFC003800003800003800001FFE00380000380000380 + 0001FFF801800003800003803FFFFFF801C00007800003803FFFFFFC01E0000F + 80000380FFFFFFFF01F0001FC00003FFFFFFFFFF83F8003FE00007FFFFFFFFFF + C3FC007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0000FFFF7FFF03E0780 + 0001F0001FFFC7FFE07E07E00007F0001FFF81FFC03C03E00007F0001FFF00FF + 803803E00007F0001FFE00FF800001E00007F0001FFC003F800001E00007F000 + 1FF8001F800001E00007F0001FF0001FC00003E00007F0001FE00007E00007E0 + 0007F0001FE00003F0000FE00007F0001FE00007F8001FE00007F0001FFE00FF + F8001FE00007F0001FFE00FFF0001FE00007F0001FFE00FFE00007E00007F000 + 1FFE00FFC00003E00007F0001FFE00FF800003E00007F0001FFE00FF800001E0 + 0007F0001FFE00FF800001E00007F0001FFE00FF801801E00007F0001FFE00FF + C03C03E00007F0001FFE00FFE07E07E0000FF0001FFE00FFF0FF0FE0001FF000 + 1FFE00FFFFFFFFE0003FF0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + F0E3FF00FFFFFFFFFFF1FFFFF003FC001FE0000FFFE1FFFFF003F0000FE0000F + FFE1FFFFF003F00007E0000FFFC1FFFE001FE00003E0000FC00003FE001FC000 + 03E0000F800003FE001FC00003E0000F800001C0021F800001E0000F800001C0 + 021F800001E0000F800001C0021F800001E0000F800001C0021F800001E0000F + 800001C0021F800001E0000F800001C0021F800001E0000F800001C0021F8000 + 01E0000F800001C0021F800001E0000F800001C0021FC00003E0000F800001C0 + 021FE00003E0000F800001C0021FF00007E0000F800001C0021FF00007E0000F + 800001FE001FFC001FE0000F800001FE001FFE003FE0000F800003FE001FFF00 + FFF0001FFFFFFFFFFFFFFFFFFFFFFFFFF8001FFFFFFFFFFFFFFF00FFFC003FFF + FFFF800001FE003FF0000FFC03FFE00007F0000FE00007F803FFE00007F00007 + C00003F003FFE00007E00003800003E001FFE00007C00003800001C001FFE000 + 07800001800001C001FFE00007800001000000E000FFE00007800000000000F0 + 40FFE00007800000000800F0C0FFE00007800000003800FFE07FE00007800000 + 003C00FFE03FE00007800000003800FFF03FE00007800000000000FFF81FE000 + 07800000000000FFF81FE00007800000000000FFFC0FE00007800001800001FF + FF03E00007C00003800003FFFF03E00007C00003800003FFFF83E00007E00003 + E00007FFFFE1E00007F0000FF0000FFFFFFFF0000FF8001FF0001FFFFFFFFE00 + FFFE003FFE00FFFFFFFFFFC7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8001FFF + FFFFFFFFFFFFFFFFF8001FFFFFFF800003C1F0FFF0000F840023800003C0007F + F00007840021800003C000FFE00003840021800003E3F8FFC01E038E00618000 + 03FFFC7FC00F03840021800003FFFC7F80078180000180000380003F8003C180 + 000180000380003F8001C180000180000380003F8100C180000180000380001F + 81804180000180000380001F81C00180000180000380001F81E0018000018000 + 0380001F81F001800001E0000780000FC0F803800001E0000780000FE0000380 + 0001E00007C00007E00007800001FFFFFFFFE007F00007800001FFFFFFFFFFC1 + F8001FFFFFFFFFFFFFFFFFE1FE003FFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80001FFFFFFFFFFFFFFFFFFFC00003FF + FFFF800003FFFFFFC0000780001FC00007FFFFFFC0000780000FC00007800003 + C00007800007C00007800001C00007800003C00007800001C00007800003C000 + 07800001C00007800003C00007800001C00007800003C00007800001C0000780 + 0003C00007800001C00007800003C00007800001C00007800003C00007800001 + C00007800003C00007800001C00007800003C00007800001C00007800003C000 + 07800001C00007800003C00007800001C00007800003C00007800003C0001F80 + 0003C00007E00007C0001F800003C00007F8001FC001FF800003C00007FFC01F + C001FF800003C00007FFFFFFC001FF800003C00007FFFFFFC001FFFFFFFFC000 + 07FFFFFFF007FFFFFFFFFFFFFFFFFFFFFFFFFFF9FBFFFFFFFFFFFFFFFFFFFFF9 + F3FFFFFFFFFFFFFFE00007F8E3FF000000FFFFFFC00003F843FF000000800003 + C00003F803FF000000800003C00003F803FF000000800003C00003F803FF0000 + 00800003C00003F803FF000000800003C00003F803FF000000800003C00003F8 + 03FF000000800003C00003F803FF000000800003800001F803FF000000800003 + 800001F803FF000000800003800001F8001F000000800003800001F8001F0000 + 00800003FFC7FFF8001F000000800003FFC7FFF8001F000000800003FFC7FFF8 + 001F000000800003FFC7FFF8001F800001800003FFC7FFF8001FFE3CFF800003 + FFC7FFF8001FFE00FFFFFFFFFFC7FFF8001FFE00FFFFFFFFFFC7FFF8001FFE00 + FFFFFFFFFFFFFFFE007FFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFE0000FFF + C1FFFFFFFFF8001FE0000FFE003FFE7E7FFE00FFE0000FFC001FF83C1FFE18FF + E0000FF8000FF03C1FFE38FFC00007F00003F0181FFE3CFFC00007C0C181F818 + 1FFC38FF800003C1C1C1F8001FFC38FF800003C1C1C1FE007FFC38FF800003C1 + C1E1FE007FFC38FF800003C3E3E1FE00FFFC38FF800003CFE3F9800001FC38FF + 800003CFE3FD800001FC38FF800003FF80FF800001FC38FF800003FF80FF8000 + 01FC38FF800003FFE3FFFE00FFFC30FF800003FFC1FFFE007FFC30FF800003FF + 80FFFC003FFC00FF800003FF80FFFC001FFC84FF800003FF88FFF8181FFCFCFF + 800003FF80FFF0381FFC38FFC06C07FF80FFF03C1FFC00FFF0C60FFFC0FFF83C + 1FFE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + E003FC001FC0001F000000FFFF01FF00FFC00007000001FFFF01FF00FFC00007 + 000001FFFE01FF00FFC00007000001FFF801FF00FFC00007000001FFF803FF00 + FFC00007000001FFF003FF00FFC00007000001FFE00F800000C00007000001F0 + 001F800000C00007000000E0001F800000C0000700000080007F800000C00007 + 0000008000FF800000C000070000008001FF800000C000070000000001FF8000 + 00C000070000010001FF800000C000070000010001FF800000C0000700000100 + 001FFF00FFC0000700000100001FFF00FFC0000700000100001FFF00FFC00007 + 0000018003FFFF00FFC000070000018007FFFF00FFC00007000001C007FFFF00 + FFC00007FFFFFFF03FFFFF00FFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFE000F00 + 0000FC001FFFFFFFFC0007000000FC001F000000FA000FF0000FFC001F000001 + F00FFFF0000FFC001F800001F007FFF0000FFC001F800001E003FFF00007FC00 + 1F8000018003FFF00007FC001F8000018001FFF00007FC001FC000030001FFF0 + 0007FC001FE0000701807FF00003FC001FF0000F03C07FE00003FC003FFF00FF + 87E07FE00003000001FF81FF87F03FE00003000001FF00FFFFF81FE000018000 + 03FF00FFFFFC0F800001C00007FE00FFFFFE0F800001E0000FFE00FFFFFF0780 + 0001F0001FFE00FFFFFF87800001F8003FFE00FFFFFFC1800001FC007FFE00FF + FFFFE1800000FE00FFFF00FFFFFFF1800001FF01FFFF00FFFFFFF8800001FF83 + FFFF81FFFFFFFCE00003FFC7FFFFFFFFFFFFFFF0000FFFFFFF000001F8000FF0 + 000F000000000041FE003FFFF1FF800001800041000000FFF0FF800005800041 + 000000FFF07F80000180004180000100103F80000180004180000100000F8000 + 0180004180000100000780000180004180000100000380000180004180000100 + 0003800001800041800001000000800001800041800001000000800001800041 + 80000100000080000180006380000100000080000180007F8000010000018000 + 0180007F80000100000380000180007FE4000700000780000180007FFC003F00 + 000F80000180007FFC003FFFF01F80000180007FFC003FFFF03F800001803FFF + FC003FFFF07F800001803FFFFC003FFFF0FF800001803FFFFC003FFFF1FF8000 + 01803FFFFFFFFFFFF7FFFFFFFF807FFFFFFFFFF8003F88007FFFFFFF000000FE + 003F800000000000800001FE00FFFE00FF800001800000FE00FFFE00FF800001 + 800000FF01FFFE00FF800001800000FF01FFFE00FF800001800000000000FE00 + FF800001800000000000FE00FF80000180000000000000000180000180000000 + 0000000001800001800000000000000001800001800000000000000001800001 + 8000000000000000018000008000000000000000018000008000000000000000 + 01800000800001000000000001800000800001000000000001800000C0000300 + 0000FE00FF800000E00007000000FE00FF800000F0000F000000FE00FF800001 + F8001F000000FE00FF800001FC003F000000FE00FF801801FE007F000000FE00 + FF803E01FFFFFF000000FE00FFC1FFC1F0000FFFFFFFFFFFFFE0001FF0000FFF + FFFF800001E0001FFF83FFFFFFFFE00007FF8FFFFF00FFFFFFFFE00007FF0FFF + FE007F000001E00007FE0FFFFC003F000001F0000FFC0800F8003F800007F000 + 0FF00000F0000F800003F0000FE00000E0000F800003F0000FC00000C0000780 + 0001F0000FC00000800001800001E00007000000000001800001E00007000000 + 000001800001E00007000000FC003F800000E00007000000FC003F800000E000 + 07800000FC003F800000E00007C00000FC003F800007F0000FE00000FC003F80 + 0007F8001FF00000FC003F800007FC003FF80FFFFC003F80000FFE007FFC0FFF + FC003F803FFFFF007FFE0FFFFC003FFFFFFFFF807FFF0FFFFC003FFFFFFFFFC0 + 7FFF8FFFFC003FFFFFFFFFE7FFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFF00000080 + 0001000001E00001800001E00007000001C00001800001E00007800001F00003 + 800001E00007800001F00003800001E00007800001F00003800001E000078000 + 01F00003800001E00007800001F00003800001E00007800001F00003800001E0 + 0007800001F00003800001E00007800001F00003800001E00007800001F00003 + 800001E00007800001F00003800001E00007800001F00001800001E000078000 + 01F00001800001E00007800001F00001800001E00007800001F00003800001E0 + 0007800001F0000F800001E00007800001F0000F800001E00007800001F0001F + 800001E00007800001F0007F800001E00007800001F0007F800001FF81FF8000 + 01F000FFFCFF3FFF81FFFFFFFFF003FF00000000000000000000000000000000 + 000000000000} + end +end diff --git a/打卷检验管理/U_SysLogOrder.pas b/打卷检验管理/U_SysLogOrder.pas new file mode 100644 index 0000000..22d2625 --- /dev/null +++ b/打卷检验管理/U_SysLogOrder.pas @@ -0,0 +1,182 @@ +unit U_SysLogOrder; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, + cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel,strUtils, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, ADODB, StdCtrls, ExtCtrls, ImgList, + cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; + +type + TfrmSysLogOrder = class(TForm) + ToolBar1: TToolBar; + TQry: TToolButton; + Tclose: TToolButton; + ADOQueryLog: TADOQuery; + DataSource1: TDataSource; + ADOConnection1: TADOConnection; + cxGrid1: TcxGrid; + tv1: TcxGridDBTableView; + tv1OperMan: TcxGridDBColumn; + tv1jopertime: TcxGridDBColumn; + tv1Model: TcxGridDBColumn; + tv1acction: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + tv1Opevent: TcxGridDBColumn; + tv1Result: TcxGridDBColumn; + Panel1: TPanel; + Label2: TLabel; + Label1: TLabel; + begDate: TDateTimePicker; + endDate: TDateTimePicker; + Label3: TLabel; + edt_model: TEdit; + CheckBox1: TCheckBox; + Label4: TLabel; + edt_nr: TEdit; + ThreeImgList: TImageList; + procedure TcloseClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TQryClick(Sender: TObject); + procedure edt_modelChange(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + private + + procedure DoQuery(); + procedure DoFilter(); + public + fModel,facction:string; + fOtherWhere:string; + FMainid:String; + end; + +var + frmSysLogOrder: TfrmSysLogOrder; + +implementation +uses + U_DataLink; +{$R *.dfm} + +procedure TfrmSysLogOrder.TcloseClick(Sender: TObject); +begin + close; +end; + +procedure TfrmSysLogOrder.FormCreate(Sender: TObject); +begin + cxGrid1.Align :=alClient; + begDate.DateTime :=date-31; + endDate.DateTime :=date; + with ADOConnection1 do + begin + Connected:=false; + ConnectionString:=DConString; + Connected:=true; + end; +end; +///////////////////////////////////////////////////////// + // +//////////////////////////////////////////////////////// +procedure TfrmSysLogOrder.DoQuery(); +var + mbegdate,menddate:string; + +begin + mbegdate:=formatDatetime('yyyy-MM-dd',begDate.Date); // + menddate:=formatDatetime('yyyy-MM-dd',endDate.Date+1); + try + with ADOQueryLog do + begin + close; + sql.clear; + filtered:=false; + sql.add('select A.* '); + sql.add('from SY_sysLog A'); + if CheckBox1.Checked then + begin + sql.Add('where OperTime>='+quotedStr(mbegdate)); + sql.Add('and OperTime<'+quotedStr(menddate)); + end + else + begin + sql.Add('where 1=1'); + end; + sql.Add(' and isnull(Mainid,'''')='''+Trim(FMainid)+''' and isnull(Mainid,'''')<>'''' '); + if trim(facction)<>'' then + sql.add('and acction='+quotedStr(facction)); + if trim(fOtherWhere)<>'' then + begin + sql.add(fOtherWhere); + end; + sql.Add('order by operOr,Opertime'); + Open; + end; + finally + end; +end; +/////////////////////////////////////////////////////////// + // +/////////////////////////////////////////////////////////// +procedure TfrmSysLogOrder.DoFilter(); +var + filterStr:string; +begin + filterStr:=''; + // + if trim(edt_model.text)<>'' then + begin + filterStr:=' and model ='+quotedStr(trim(edt_model.text)); + end; + if trim(edt_nr.text)<>'' then + begin + filterStr:=' and OpEvent like '+quotedStr('%'+trim(edt_nr.text)+'%'); + end; + + try + ADOQueryLog.DisableControls ; + if trim(filterStr)='' then + begin + ADOQueryLog.Filtered:=false; + exit; + end; + filterStr:=trim(RightBStr(filterStr,length(filterStr)-4)); + with ADOQueryLog do + begin + filtered:=false; + filter:=filterStr; + filtered:=true; + end; + finally + ADOQueryLog.EnableControls; + end; + +end; + + +procedure TfrmSysLogOrder.FormShow(Sender: TObject); +begin + DoQuery(); +end; + +procedure TfrmSysLogOrder.TQryClick(Sender: TObject); +begin + DoQuery(); +end; + +procedure TfrmSysLogOrder.edt_modelChange(Sender: TObject); +begin + DoFilter(); +end; + +procedure TfrmSysLogOrder.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + action:=cafree; +end; + +end. diff --git a/打卷检验管理/U_SysLogOrderzsd.dfm b/打卷检验管理/U_SysLogOrderzsd.dfm new file mode 100644 index 0000000..8148bf2 --- /dev/null +++ b/打卷检验管理/U_SysLogOrderzsd.dfm @@ -0,0 +1,18071 @@ +object frmSysLogOrderzsd: TfrmSysLogOrderzsd + Left = 383 + Top = 289 + Width = 1386 + Height = 788 + Align = alClient + Caption = #25968#25454#20462#25913#26085#24535#26597#30475 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnClose = FormClose + OnCreate = FormCreate + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1370 + Height = 33 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Flat = True + Images = ThreeImgList + List = True + ShowCaptions = True + TabOrder = 0 + object TQry: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #26597#35810 + ImageIndex = 21 + OnClick = TQryClick + end + object Tclose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TcloseClick + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 73 + Width = 1370 + Height = 676 + Align = alClient + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + TabOrder = 1 + LookAndFeel.Kind = lfStandard + object tv1: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoGroupsAlwaysExpanded] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skCount + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Deleting = False + OptionsData.Editing = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + object tv1OperMan: TcxGridDBColumn + Caption = #25805#20316#20154 + DataBinding.FieldName = 'Operor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Focusing = False + Width = 69 + end + object tv1jopertime: TcxGridDBColumn + Caption = #25805#20316#26102#38388 + DataBinding.FieldName = 'opertime' + HeaderAlignmentHorz = taCenter + Width = 170 + end + object tv1Model: TcxGridDBColumn + Caption = #25152#23646#27169#22359 + DataBinding.FieldName = 'Model' + HeaderAlignmentHorz = taCenter + Width = 127 + end + object tv1acction: TcxGridDBColumn + Caption = #25805#20316#31867#22411 + DataBinding.FieldName = 'acction' + HeaderAlignmentHorz = taCenter + Width = 97 + end + object tv1Result: TcxGridDBColumn + Caption = #32467#26524 + DataBinding.FieldName = 'Result' + HeaderAlignmentHorz = taCenter + Width = 63 + end + object tv1Opevent: TcxGridDBColumn + Caption = #25805#20316#20869#23481 + DataBinding.FieldName = 'Opevent' + Width = 974 + end + end + object cxGridLevel1: TcxGridLevel + GridView = tv1 + end + end + object Panel1: TPanel + Left = 0 + Top = 33 + Width = 1370 + Height = 40 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 2 + object Label2: TLabel + Left = 154 + Top = 14 + Width = 12 + Height = 12 + Caption = '--' + end + object Label1: TLabel + Left = 8 + Top = 14 + Width = 48 + Height = 12 + Caption = #25805#20316#26085#26399 + end + object Label3: TLabel + Left = 408 + Top = 58 + Width = 48 + Height = 12 + Caption = #25152#23646#27169#22359 + end + object Label4: TLabel + Left = 436 + Top = 16 + Width = 48 + Height = 12 + Caption = #25805#20316#20869#23481 + end + object begDate: TDateTimePicker + Left = 62 + Top = 10 + Width = 89 + Height = 20 + Date = 38918.368578564810000000 + Format = 'yyyy-MM-dd' + Time = 38918.368578564810000000 + TabOrder = 0 + end + object endDate: TDateTimePicker + Left = 168 + Top = 11 + Width = 89 + Height = 20 + Date = 38918.370266180560000000 + Format = 'yyyy-MM-dd' + Time = 38918.370266180560000000 + TabOrder = 1 + end + object edt_model: TEdit + Left = 460 + Top = 50 + Width = 181 + Height = 20 + TabOrder = 2 + OnChange = edt_modelChange + end + object CheckBox1: TCheckBox + Left = 264 + Top = 12 + Width = 121 + Height = 17 + Caption = #26102#38388#26465#20214#26159#21542#26377#25928 + Checked = True + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + ParentFont = False + State = cbChecked + TabOrder = 3 + end + object edt_nr: TEdit + Left = 492 + Top = 11 + Width = 250 + Height = 20 + TabOrder = 4 + OnChange = edt_modelChange + end + end + object ADOQueryLog: TADOQuery + Connection = ADOConnection1 + CommandTimeout = 600 + Parameters = <> + Left = 232 + Top = 88 + end + object DataSource1: TDataSource + DataSet = ADOQueryLog + Left = 288 + Top = 104 + end + object ADOConnection1: TADOConnection + LoginPrompt = False + Left = 368 + Top = 80 + end + object ThreeImgList: TImageList + Height = 24 + Width = 24 + Left = 48 + Top = 72 + Bitmap = { + 494C01018900F000040018001800FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 000000000000360000002800000060000000A005000001002000000000000070 + 0800000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F800000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A5004F69BE004F69BE004F69BE000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 00000000000000000000000000000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00506CCA00173CB900506CCA000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A9897004F6ED5001740C9004F6ED5000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA006885E7006885 + E7006885E7001C4BE8001948E8001C4BE8006885E7006885E7006885E7000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE006A8AF3004A70 + F0004A70F0002957EE002957EE002957EE004A70F0004A70F0006A8AF3000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF007F99ED007F99 + ED007F99ED003B64EF003B64EF003E67F0007F99ED007F99ED007F99ED000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB008EA6F6006989F3008EA6F6000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4009AAFF700829CF5009AAFF7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F00ADBDF400ADBDF400ADBDF4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008195DB0028397300283973002839 + 7300283973002839730028397300283973002839730028397300283973002839 + 7300283973002839730028397300283973002839730028397300283973002839 + 73002839730028397300283973007287D2000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A4B3E50031437F002B38 + 680026335B002B396C008E9FD400C0C0C000C1C1C100C7C7C700C8C8C800D5D5 + D500DADADA000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000CCCC + CC003E5291002B3767002A386800445799004D60A1005166AC005267AC005166 + AE005267AB005064A8004E63A7004A5D9B002F3D6E0029366400293665009FAD + DC00D3D3D3000000000000000000000000002D3E7C00092EAA000429A7000429 + A7000429A7000429A7000429A7000429A7000429A7000429A7000429A7000429 + A7000429A7000429A7000429A7000429A7000429A7000429A7000429A7000429 + A7000429A7000429A7003B57B400354682000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000536AB6007089DA005570 + CD003E5ABA00566EBC0047589200B7C5F1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000CBCBCB0093A2 + D800475891005166B1004E60A2004E69C0003B58BA003856B9003B58B9003754 + B7003653B6003552B300304DAF003551AE003545790047568D004C60A3002A37 + 670092A1D7000000000000000000000000004057A7002345B600042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042AAA000328 + A300042AAA00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC004157A200334A9300374E9A002C3E7D002C3E7D002C3E + 7D002C3E7D002C3E7D00374E9A0000000000374E9A002C3E7D002C3E7D002C3E + 7D002C3E7D002C3E7D00374E9A0000000000374E9A002C3E7D002C3E7D002C3E + 7D002C3E7D002C3E7D00374E9A0000000000000000006782DF006983DC00617C + D6004461C2003A57B800576EBC00283A7700B7C5F10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004860 + B200506BC8003B5BC4005570CA005E78D1003D5DC8004664CA004563C9004563 + C9004361C7003F5DC3003B5AC0003151BA0049598E004E67B800324EAE004A5A + 93004157A400000000000000000000000000A7B7ED00435EBA00153AB7000930 + B3000930B3000930B3000930B3000930B3000930B3000930B3008191C600FFFF + FF00FFFFFF000930B3000930B3000930B3000930B3000930B3000930B3000930 + B3000930B3000F35B5003D4F8D008499DF0033478A004F6CCC004F6CCC004F6C + CC004F6CCC00657FD30033478A000000000033478A00657FD3004F6CCC004F6C + CC004F6CCC00657FD30033478A000000000033478A00657FD3004F6CCC004F6C + CC004F6CCC004F6CCC0033478A0000000000000000006F8AE5007891E300758E + DF005873CF004663C3003A57B80047589300283B7800B7C5F100000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003C52 + 9E005978E100617FE4006F8BE800859DED006D89E9006E8AEA006C89E9006B88 + E8006986E7006481E300617EE1005C7ADE007F93D4005270D3004362CB005971 + C10033458400000000000000000000000000000000003A4E93004E69C0002449 + C500163DC100163DC100163DC100163DC100163DC100153AB800FFFFFF00FFFF + FF00FFFFFF00153AB800163DC100163DC100163DC100163DC100163DC100163D + C1001F45C4004E69C600A8B7EE00000000004158A7001B47D800204BD900224C + D9001B47D800829AE9004158A700000000004158A700829AE900204BD900224C + D900204BD900829AE9004158A700000000004158A700829AE9001B47D800224C + D900204BD9001B47D8004158A7000000000000000000778ACD009EB0EF00829A + E800778FE00096A8E3008292C800344EA200576EBC0048599300B7C5F1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000435B + AD006E8CEF007994F1007C97F3008DA5F500819BF400829CF500809AF4007F9A + F4007C97F3007692EF00738FED006F8BEB007F98E9005F7DE0005876DB006079 + CC00384C900000000000000000000000000000000000617ACE004E61A5004666 + D0001D44C9001D44C9001D44C9001D44C9001D44C9001C43C500A8B4DC00FFFF + FF00FFFFFF001D44C9001D44C9001D44C9001D44C9001D44C9001D44C9001D44 + C9003E60D0005066AD0000000000000000004961B6002D58E7003861E9003A62 + E9002C57E7009BAFF3004961B600000000004961B6009BAFF3003861E9003A62 + E900365FE8009BAFF3004961B600000000004961B6009BAFF3002D58E7003A62 + E900365FE8002C57E7004961B60000000000000000003F59B0007E90D000A1B3 + EF00839AE5008A96BD00B3C0EB00384F9C00344EA200576EBC002A3D7900B7C5 + F100000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004862 + B9007A96F4008AA3F6008EA6F60092A9F60093AAF60093AAF60092A9F60091A8 + F6008EA6F60088A2F600839DF400809AF4007591EF006F8BEB006784E700637E + D5003D539C0000000000000000000000000000000000000000003A53A1005A73 + C600234ACF00234ACF00234ACF00234ACF00234ACF00234ACF001C3CA6004660 + B6004660B600234ACF00234ACF00234ACF00234ACF00234ACF00234ACF002F54 + D2005974CB003E549E0000000000000000004F69C0003C65EF00496FF0004C72 + F1003A64EF00A9BBF8004F69C000000000004F69C000A9BBF800496FF0004C72 + F100476EF000A9BBF8004F69C000000000004F69C000A9BBF8003C65EF004C72 + F100476EF0003A64EF004F69C0000000000000000000BECCF5004059B0007F92 + D100849BE8004E5C8A008A96BD008292C800384F9C00344EA200495A93002B3D + 7A00B7C5F1000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000006F89 + DE00859FF5009FB3F700B2C2F900B7C7F900B8C7F900B9C8F900B7C7F900B5C5 + F900B3C3F900ABBDF800A6B9F800A0B4F70094ABF6008CA5F6007894F400617A + CE006B85DA00000000000000000000000000000000000000000000000000455E + B200476ADF003158DB003158DB003158DB003158DB003158DB0092A2D700FFFF + FF00FFFFFF003158DB003158DB003158DB003158DB003158DB003158DB00657E + D0004159AB000000000000000000000000005770C700BBC9F600BECBF700BFCC + F600BAC8F600B5C4F5005770C700000000005770C700B5C4F500BECBF700BFCC + F600BECBF700B5C4F5005770C700000000005770C700B5C4F500BBC9F600BFCC + F600BECBF700BAC8F6005770C70000000000000000000000000000000000BECC + F5008093D100A2B4EF006576AF008A96BD00B3C0EB008292C800344EA200566E + BC00495A9500B7C5F10000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3DB + F8007C95E8009DB2F700B2C2F900C9D5FB00BAC5E800AEB8D800A1AAC900A0A9 + C8009DA7C8009AA6CE009CAAD700A1B1E6009FB3F7008CA5F6007E99F500556E + C200D2DBF8000000000000000000000000000000000000000000000000009AAD + EC006984E0003C62E200375EE000375EE000375EE000375EE00095A5D900FFFF + FF00FFFFFF00375EE000375EE000375EE000375EE000375EE000395FE000566C + B600748ADC000000000000000000000000005B76D2005872C9005872C9007A7E + 8E005872C9005872C9005B76D200000000005B76D2005872C9005872C9006F74 + 83005872C9005872C9005B76D200000000005B76D2005872C9005872C9005872 + C9005872C9005872C9005B76D200000000000000000000000000000000000000 + 0000435CB2007C8FD1009AADEF004E5C8A008A96BD00B3C0EB00384F9C00344E + A200576EBC002C3F7C00B7C5F100000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005E76C700869DE9009CB1F700A2AFD900ADB5CF00D6D9E100EDECEB00ECEB + EA00ECEBEA00E4E4E800D2D5E100A2ACCE0097ADF70088A2F6007791E70092A5 + EC00000000000000000000000000000000000000000000000000000000000000 + 0000687ECB00587AE9003E64E5003E64E5003E64E5003E64E50097A7DB00FFFF + FF00FFFFFF003E64E5003E64E5003E64E5003E64E5003E64E5005073E8004A63 + BB00000000000000000000000000000000000000000000000000000000007878 + 7800000000000000000000000000000000000000000000000000000000006666 + 6600000000000000000000000000000000000000000000000000000000005656 + 5600000000000000000000000000000000000000000000000000000000000000 + 0000BECCF500445DB3007C90D1006576AF004E5C8A008A96BD008292C800384F + 9C00344EA2004A5B95002D3F7C00B7C5F1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000CED8F7006B84DB005C72BD00C7CBDB00CDCBCA00A19F9E009997 + 960099989600B8B7B500D1D0CE00CACEDE005972C5006B84DB00CED8F7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000657FD9006C83CD006686F2004C71F0004C71F0004C71F000CDD4EE00FFFF + FF00FFFFFF004C71F0004C71F0004C71F0004C71F0006182F1007087D4000000 + 0000000000000000000000000000000000000000000000000000000000009090 + 9000000000000000000000000000000000000000000000000000000000008080 + 8000000000000000000000000000000000000000000000000000000000007070 + 7000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BECCF5008294D300A2B4EF006576AF008A96BD00B3C0 + EB008292C800344EA200576EBC004B5C9500B7C5F10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000093A7ED006475AC0083879400ACAAA900C3C1 + C000C7C5C4009896950081879B006879B4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D2DBF800536CC1008098E7005176F1005176F1005176F100CFD6EF00FFFF + FF00FFFFFF005176F1005176F1005176F100597CF2007E97ED005870C3000000 + 0000000000000000000000000000000000000000000000000000000000009D9D + 9D009A9A9A0099999900989898009494940094949400919191008E8E8E008C8C + 8C008C8C8C008888880088888800858585008282820080808000808080007C7C + 7C00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000465FB5008395D300A2B4EF004E5C8A008A96 + BD00B3C0EB00384F9C003B58B800576EBC002F3E750032437D00354787003B50 + 98004C64BB000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000009D9D9D005D5C5C00A9A7A500AFAD + AB00B7B5B300C0BEBD00646363009D9D9D000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000007991E3006B81CC00587CF200587CF200587CF200D1D8EF00FFFF + FF00FFFFFF00587CF200587CF200587CF200718FF4007388D200607AD5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000009999 + 9900000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000BECCF5004760B6008396D4006576AF004F5D + 8A008A96BD008292C8004663C3003C59B900596DAF00586CAF005D72B800647B + C8005C70B1004760B40000000000000000000000000000000000000000000000 + 000000000000000000000000000059595900ACABAA00C2C1C000BDBCBA00B7B6 + B400AFADAB00A8A6A500B7B5B400AEADAC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000839AE800869FF3006686F3006586F300F3F5FA00FFFF + FF00FFFFFF006586F3006586F3006586F300758AD1007189DF00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000364C99002B3D7B002B3D7B002B3D7B006367 + 73002B3D7B002B3D7B002B3D7B00364C99000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCCF5007F92D400A2B4 + EF00869DE800778FE0006781D7005873CF003351B600203FA6000C2C96001B3B + A8003D5ABD00667FD0004861B400000000000000000000000000000000000000 + 00000000000000000000000000007E7E7D00D1D0D000D2D2D100CDCCCB00C7C6 + C500BFBDBC00A8A6A400A8A6A400B9B7B600AAAAAA0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000008B9FE0007E99F5006B8AF300FFFFFF00FFFF + FF00FFFFFF006B8AF3006B8AF3007A96F400526CC50000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000031448600657ED100506CCA00506CCA00506C + CA00506CCA00506CCA00657ED100314486000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004963B9008597 + D500A4B5EF00849BE600778FE0006781D7004461C200415DBA00445EB4001433 + 9B001839A7003A58BC005F73B4004A62B5000000000000000000000000000000 + 0000000000000000000000000000C2C1C100E0DFDE00E1E0E000DBDBDA00D5D4 + D300CCCBCA00B4B3B100A6A4A300ACAAA8006969690000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005F77C90097ACF2007592F4005B73C3005B73 + C3005B73C3007290F4007491F40090A7F300849BE80000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000374C94006580D8000732C1000833C1000833 + C1000833C1000631C1006681D900374C94000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCCF5004A63 + BA008799D60093A7EB00859BE600778FE0008196DA0099A8D9008F9DCD008191 + C7003853AB001536A5005E78CD003F549B000000000000000000000000000000 + 0000000000000000000000000000A9A9A8004D4D4D00F7F6F600F1F1F100EBEA + EA00E2E1E000C8C7C600B9B7B60070706F004D4D4D0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000C1CDF6005C75C8009FB1EF007F9AF5007F9A + F5007F9AF500829CF500A1B4F300687FCD000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000445BAC00869EEC002C55DE003D62DF003E63 + DF003C61DF002A53DD00869EEC00445BAC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004D66BB00A3B5F1009EB0EF008FA4EA00596CAD00AAB9EF0000000000536B + BC005A6999007F8FC400546DBE003A4C8B000000000000000000000000000000 + 00000000000000000000000000004D4D4D004D4D4D00FDFDFD00F8F8F800F2F1 + F100E9E8E800CFCECD00B9B7B6004D4D4D004D4D4D0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000006B84DE008699DB00859FF500859F + F500859FF50096ACF7008FA2E0005E79D6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004A63B900A1B4F600446BEC005F80EE006383 + EF005E7FEE004269EC00A1B4F6004A63B9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004E67BD00A7B8F300A7B8F10095A9ED004C65BB0000000000000000000000 + 0000465CAA006B79A8004F66B400374883000000000000000000000000000000 + 00000000000000000000000000004D4D4D004D4D4D00BCBCBC00E6E6E600CBCB + CB00BABAB9009A9999007A7A79004D4D4D006969690000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D3DBF9005C75CC0094ABF6008CA5 + F6008CA5F600A6B7F100647CCD00AFBFF3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004F68BF00A6B9F800567AF2007B97F4007F9A + F5007995F4005378F100A5B8F8004F68BF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000506AC000A3B5F400ADBDF4009DB0F1004D62AF00D1DAF800000000000000 + 0000000000003F56A1007284C00034437B000000000000000000000000000000 + 0000000000000000000000000000515151004D4D4D004D4D4D004D4D4D004D4D + 4D004D4D4D004D4D4D004D4D4D004D4D4D000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A7B6EB00A4B7 + F800A2B6F8005E77CA00D3DBF900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000556EC500B8C7F900597CF2007E99F500829C + F5007C97F400577BF200B7C7F900556EC5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005C77D400AABBF5009BB0F50097ACF300829BEB006D81C9005169C1000000 + 000000000000000000003D5299003D539D000000000000000000000000000000 + 0000000000000000000000000000AAAAAA004D4D4D004D4D4D004D4D4D004D4D + 4D004D4D4D004D4D4D004D4D4D004D4D4D000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006D83CF00B2C0 + F100B1BFF1007C93E60000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005771C800B7C6F600BFCCF500C6D1F700C7D2 + F700C6D1F700BECBF500B7C6F6005771C8000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008C9EDC00A9BAF50090A7F3007B95EE007993EA006C81C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000AAAAAA004D4D4D004D4D4D004D4D + 4D004D4D4D004D4D4D004D4D4D00AAAAAA000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000007C93E6005771 + C9005771C8000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005B76D2005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005B76D2000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005974CF008C9EDD00A5B7F5007490EE00718DED006E8AE800526B + C200000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D600556FC500556EC400546DC1005169 + BB00546EC5000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000038477E0041486200404761003E455F003D44 + 5F003C435E003B435D003B425D003A415C000000000000000000000000000000 + 000000000000000000000000000000000000000000002F3E710045569500475C + A400435AA700435AA700435AA600435AA500445BA600435AA500445AA5004359 + A4004359A3004359A2004359A2004359A1004358A0004358A00043589F004358 + 9F00495A990044528B0043569E00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CACACA00596FB9003E5194003E51 + 94003E5194003E5194003E5194003D5092003B4D8B00384A860034447C003241 + 77002F3E71002A3867002936620040529200C3C3C300DBDBDB00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000474E6A007A8ABF0013339F0013339F001333 + 9F0013339F0013339F0013339F007988BD000000000000000000000000000000 + 0000000000000000000000000000000000006279C9004660B4002747B000072B + A3000328A0000328A00003279F0003279F0003279E0003279D0003269C000326 + 9B0003269A000326990003269800032597000325960003259500032594000324 + 9300072895002743A2002E3D6F008EA1E1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005E72B6008DA1E40090A5 + EB008DA3ED008BA2ED00879EEB008199E9007E96E4007B92E000758CD7007187 + D1006E84CC00687CC0006F7FB7004D5B8A000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000048516E007B8BC10003279E0003279E000327 + 9E0003279E0003279E0003279E007B8BC0000000000000000000000000000000 + 000000000000000000000000000000000000283C80002748B5000429A8000429 + A7000429A6000429A5000429A5000328A3000328A2000328A2000328A0000328 + A00003279F0003279E0003279E0003279D0003269B0003269B0003269A000326 + 99000326980003259700495A99002D428A000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000008AA0EB00829CF5007995 + F4007290F4006989F3006082F2004C71ED004469E6003A5FDE00274DCD001D43 + C300143AB9000328A3003652AF006E7EB7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004B5472007C8CC3000328A2000328A2000328 + A2000328A2000328A2000328A2007B8BC3000000000000000000000000000000 + 0000000000000000000000000000000000002B3E8100042CB300042CB200042C + B20003238D00506BC800042BAF00042BAD00042BAD00042BAC00042AAA000322 + 8800506AC3000429A8000429A8000429A7000429A6000429A500032184000328 + A3000328A2000328A100435EB800263873000000000028387100283871002838 + 7100283871002838710028387100283871002838710028387100283871002838 + 7100293C7A000000000000000000000000000000000000000000000000000000 + 0000000000004B62B10028387100000000000000000096AAEE0093AAF60096AC + F700829DF5007894F4006D8CF3005679EE004B6FE7004166DF002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000515978007D8EC800042AAB00042AAB00042A + AB00042AAB00042AAB00042AAB007B8CC7000000000000000000000000000000 + 0000000000000000000000000000000000002D418600042DB800042DB700042D + B600032492004F6BCA00042CB400042CB300042CB200042CB100042BB0000323 + 8C004F6AC700042BAD00042BAC00042BAC00042AAA00042AAA00032187000429 + A8000429A8000429A700435FBC0028397700000000004862B8004E67BA005069 + BB004D66BA004C66BA004A64B8004660B700435EB600435DB6007D8FCC00929D + C00033447F000000000000000000000000000000000000000000000000000000 + 0000A3B4EB0035447D0034468200000000000000000097ABEE0097ADF70097AD + F700829DF5007894F4006D8CF3005679EE00000000007A94E8002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000535C7C007C8ECB00042CB100042CB100042C + B100042CB100042CB100042CB1007B8DCA000000000000000000000000000000 + 0000000000000000000000000000000000002F438B000530BE00042EBC00042E + BC00032595004F6CCE00042EB900042DB700042DB7000328A200031F7E000219 + 6400374B8D00031F7C0003269A00042CB100042BB000042BAF0003238C00042B + AD00042BAC00042AAB00425FBF002A3C7C00000000004F69BF002948B1002F4D + B3002B4AB2002646B0002142AF001739AB001033A9001538AA00929EC4003749 + 8600ACBBEB000000000000000000000000000000000000000000000000000000 + 000033488F0051629F00445CA900000000000000000099ADEE0098AEF70097AD + F700829DF5007894F4006D8CF3005679EE00000000007A94E8002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000555E7F007D8FCE00042DB600042DB600042D + B600042DB600042DB600042DB6007C8ECD000000000000000000000000000000 + 000000000000000000000000000000000000344A9400143ECA001740CA00153E + C900072A9E005875D7000E38C5000B36C4000934C2000D2A8A00CDCCCA00CBCA + C800C9C7C600CECCCB0003208300042EBB00042EBA00042EB90003249300042D + B700042DB600042DB6004361C7002F428500000000005C76CC004C68C7005570 + CA004B67C7004562C500405EC4003454C000546FCA006E80BC00B1BFED000000 + 0000000000000000000000000000000000000000000000000000000000004455 + 92004964BF006980CC00B4C3EF0000000000000000009AAEEF0098AEF70097AD + F700829DF5007894F4006D8CF30011172D0000000000161B2B002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005A6488007E92D400042FBF00042FBF00042F + BF00042FBF00042FBF00042FBF007C90D2000000000000000000000000000000 + 000000000000000000000000000000000000364B99001D46D100224AD2002149 + D1000A2DA3005F7CDC001A43CD001640CB00153FCA0016359B00EDEDEC00ECEC + EB00EBEBEA00DBDCE20005258E000530C100042FBF00042FBF0003269800042F + BD00042EBC00042EBB004362CB0031458A0000000000607AD1005873CF00627C + D2005873D000526ECD004D6ACC004261C9004F6CCC00586FBA00000000000000 + 0000000000000000000000000000000000000000000000000000556EC3004D67 + BC003F5FC8008596D00000000000000000000000000099ADF00097ADF70097AD + F700829DF5007894F4006D8CF3001F1F1F000C0C0C001F1F1F002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E678B007F92D5000531C4000531C3000531 + C3000531C3000531C3000531C4007D91D4000000000000000000000000000000 + 000000000000000000000000000000000000394F9E00264FD8002C53D8002C53 + D7000D31A8006884E100254DD400214AD2002049D2001D45CC001639AF000826 + 8B004E67BA001034AC00113AC5000F3AC8000C37C7000A35C50004279C000632 + C3000531C200042FC0004262CF0033478F00000000006580D700637ED6006F88 + DA00647FD700607BD6005A76D4004E6CD1004766CF005C77D2005871C5000000 + 000000000000000000000000000000000000CCD6F700455EB10044599E003255 + CA00385ACB008392C20000000000000000000000000098ACF00094ABF60096AC + F700829DF5007894F4006D8CF3003A405600333333003F4454002C51CE002146 + C400163BBA000328A30003269B00687CBE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000606A8F008295D800113CCB00153FCC00153F + CC00153FCC00153FCC00123DCC008094D7000000000000000000000000000000 + 0000000000000000000000000000000000003D55A800375EE2004166E3004267 + E3001338B0007691E9003B61E000375DDE00355CDD00345BDD003057DB000F33 + AB006C87E4002951D800274FD700264ED6001834940017349400072074001330 + 9200122F91001338B3004869D800384E9800000000006C86E0007891E300889E + E6007E96E4007992E300748EE2006984E0006480DE005977DC006580D8005269 + B900485EA600445BAA004359A600455BA5005570CC004F6FDA003459D5002F55 + D40095A5D9004960AE000000000000000000000000008EA4EE00859FF50089A2 + F600859FF5007E99F5007592F4006283F000597AE9005072E1003E60D2003457 + C9002C4EC0001C3DAC003652AF007181BA000000000000000000000000000000 + 0000000000008282820080808000828282000000000000000000000000000000 + 0000000000000000000000000000657097008C9EE000365CDB003F64DC003F64 + DC003F64DC003F64DC00365CDB008A9DDF000000000000000000000000000000 + 0000000000000000000000000000000000004059AD003F66E7004B70E8004D71 + E900163BB3007E98ED00456AE5004368E4004166E3003F64E2003C62E1001237 + AF00748FE900345BDD003259DC003158DC00B6B6BA00BFBDBB00BDBBB900BAB8 + B600AEAEB200173494004C6DDC003A509D00000000006E89E5007E96E70094A8 + EB008BA1EA00869DE8008199E8007690E600718BE5006B86E3006683E3006B86 + E300607EE2005270D3005A76D5005A78DE004A6CDE003158D900264FD8006D88 + E2008090C500879CE1000000000000000000000000006E84D0008AA1EE0090A6 + F00091A7F0008FA5F0008CA3EF00879FED00849BE8008097E3007B91DA00788D + D400758ACF007083C5007283BE00576798000000000000000000000000000000 + 0000000000008080800040404000808080000000000000000000000000000000 + 00000000000000000000000000006973990091A4E300466AE1005475E4005475 + E4005475E4005475E400466AE1008FA1E1000000000000000000000000000000 + 000000000000000000000000000000000000425CB200486DEC004D6CD2003D55 + A600122C80005E6FA8003851A4004362CA004B70E800496EE700456AE600153A + B3007A95EC003F64E3003E64E3003C62E200D7D5D400CDCCCA00CBCAC800C7C5 + C300CECCCB001F3B99005071E0003D54A200000000006D89E7007C96EA0097AB + EE009DB0F00093A8EE008DA3ED00839BEC007D97EB007792E9006D89E8006381 + E7006482E700607FE6005E7DE6005072E3004065E1003D62E100335ADF00A8B6 + E400566BB80000000000000000000000000000000000718BE2005771C8005771 + C8005771C8005771C8005771C800556EC400516ABD004E66B600485EA7006D71 + 7D00717170005E616D003A4A83005068B8000000000000000000000000000000 + 0000000000008080800045454500808080000000000000000000000000000000 + 00000000000000000000000000006B769E0096A8E5005879E7006684E9006684 + E9006684E9006684E9005879E70094A5E4000000000000000000000000000000 + 0000000000000000000000000000000000004760B700587CF2005166AD00D7D5 + D400CBCAC800C9C7C600C7C5C300465DA9006283F2006082F1005C7EEF001B40 + BB008AA2F3005477ED005377ED005175EC004361C7004261C70014339B003D5C + C5003C5CC5004166E2005678E8004259AC00000000005F80EE00A0B3F500ACB9 + E700B9C6F100A5B7F500A0B3F5009DB1F40097ACF40092A9F400869FF200819B + F1007D97F100728FF0006C8AF0006786EF005B7DED005074EC007F99F0005C76 + CC00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008080 + 8000CCCCCC008080800000000000000000000000000000000000000000000000 + 000000000000808080005050500080808000000000000000000000000000717F + AF00889FE90091A6EA009AACEB00A8B8ED00B0C0F4008BA3F20087A0F20087A0 + F20087A0F20087A0F200849EF200AFBFF4009DAEE90097AAE90090A4E8008E9A + C200616D9500CDD7F70000000000000000004861B8006082F2005E73BB00E4E5 + EA00ECECEB00EBEBEA00EAEAE9005269B4006D8CF3006B8AF3006888F3001E43 + BE0092A9F5006082F1005F81F1005C7EF000597CEF00577AEF001A3FBB005175 + ED005074EC004A6FEB00597BEB00455DB10000000000859FF400A6B6E8005E76 + C700768BD200BDCAF600A4B7F700A8BAF700A4B7F7009FB3F60094ABF6008EA6 + F50088A1F500809BF5007A96F4007592F4006384F300839DF400B3C1ED00D3DB + F900000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008080 + 8000D1D1D1008080800000000000000000000000000000000000000000000000 + 000000000000808080005555550080808000000000000000000000000000BAC6 + F40093A2D8008BA4F5007693F30092A9F500A0B4F6009AAFF60098AEF60098AE + F60098AEF60098AEF60097ADF6009FB3F6007E99F4007592F3008CA4F5006571 + 9900869CE0000000000000000000000000004962B9006888F3007D97F0007086 + D000213FA3008D9DD2006A81CF007893F0007894F4007794F4007391F4002146 + BE009BB0F7006C8BF3006A8AF3006888F3006586F3006384F3001D42BE005D7F + F1005C7FF1005478F0005C7EEF004761B70000000000A3B3E8006078C800B4C1 + F2005974CF007D91D600BBC9F800A2B6F800AEBFF800ACBDF800A1B5F7009CB1 + F70097ADF7008BA4F600859FF5007E99F50097ADF700B6C2EE006A80CD000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008080 + 8000D5D5D5008080800000000000000000000000000000000000000000000000 + 0000000000008A8A8A0059595900808080000000000000000000000000000000 + 00007684B5009BA9D90099AFF7009AAFF700A6B9F800A7B9F800A7B9F800A7B9 + F800A7B9F800A7B9F800A7B9F800A6B9F80087A1F50099AFF70092A0D100879C + E100000000000000000000000000000000004B65BC00708EF40089A2F60097AD + F70097ADF70095ACF70093AAF60090A8F6008EA6F6008CA5F60088A2F60087A1 + F500859FF500829CF500809BF5007F9AF5007B97F4007995F4007894F4007491 + F4006F8DF3006283F2006987ED004B65BC000000000000000000000000000000 + 00000000000000000000647EDA0096A8E300C1CEF800C3D0FA00B1C1F900A9BB + F800A5B8F800ABBDF800BAC9F900C1CCF400627BCE00BBC9F500000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008080 + 8000D8D8D80084848400C6C6C600000000000000000000000000000000000000 + 0000C6C6C6009898980067676700868686000000000000000000000000000000 + 000000000000BAC6F4007683B400B3C3F900B2C2F900BDCBFA00C0CEFA00C0CE + FA00C0CEFA00C0CEFA00BDCBFA00B2C2F9009DA9D5006A76A000889CE2000000 + 0000000000000000000000000000000000004D66BF007995F400829CF50091A8 + F6009AAFF70099AFF70097ADF70096ACF70094ABF60092A9F6008FA7F6008DA5 + F6008BA4F60088A2F60086A0F500849EF500819BF5007F9AF5007C97F4007592 + F4006D8CF3005E80F2006C86E0004F6AC5000000000000000000000000000000 + 00000000000000000000000000005874CF00657DCD008497DB00B9C7F300C1CD + F600C0CDF600A7B6E700889AD900667FCC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000009090 + 9000C3C3C3008E8E8E008A8A8A00000000000000000000000000000000000000 + 00008A8A8A00B5B5B5006E6E6E00969696000000000000000000000000000000 + 00000000000000000000BAC6F400A1AEDA00B2C2F900B6C6F900CBD6FB00CBD6 + FB00CBD6FB00C8D4FB00B8C7F900B2C2F9006C77A100889DE200000000000000 + 0000000000000000000000000000000000007990E200839CF0007E99F5007C97 + F400839EF500839EF500839EF500829CF500819BF5007F9AF5007C97F4007B97 + F4007A96F4007794F4007592F4007491F400718FF4006F8DF3006C8BF3006485 + F3005F81F2006485F3005C73C70091A5EB000000000000000000000000000000 + 0000000000000000000000000000000000009FB1F0006B85DE005771C8005771 + C8005771C800647EDA0093A8ED00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000B0B0 + B000A6A6A600B0B0B0008B8B8B00868686000000000000000000000000008686 + 860092929200ACACAC0078787800BBBBBB000000000000000000000000000000 + 00000000000000000000000000007482B2009EABD900B4C4F900D1DBFB00D5DE + FC00D5DEFC00C5D1FA00B6C6F9009AA8D5008A9DE30000000000000000000000 + 000000000000000000000000000000000000000000007991E300506AC3005069 + C0005069C0005069C0005069C0005069C0005069C0005069C0005069C0005069 + C0005069C0005069C0005069C0005069C0005069C0005069C0005069C0005069 + C0005069C000506AC30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D3D3D300D7D7D700DFDFDF00CECECE00AEAEAE009D9D9D0099999900C0C0 + C000C5C5C500B7B7B700D3D3D300000000000000000000000000000000000000 + 000000000000000000000000000000000000BAC6F4007381B200C1CEFA00C1CE + FA00C1CEFA00A7B2D900717DA7008A9EE3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000080808000B3B3B300E1E1E100F3F3F300EFEFEF00E9E9E900CDCD + CD00A7A7A7008080800000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BAC6F300A6B1DA00B3C3 + F900B3C3F900737EA8008B9EE400000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000B0B0B0008A8A8A008080800080808000808080008A8A + 8A00B0B0B0000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000007181B0009DAA + D8009CA9D7008B9FE40000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CED8F7000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000D3D3D300C2C2 + C2003D4E860029355F0027335E0027335E0027335E0027335E0027335E002733 + 5E0027335E0027335E0027335E0027335E0029355F003D4E860098A7D800C2C2 + C200D4D4D4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000293973008C99C6008897C9004963B7001F3E + A60003269C001F3EA6004963B7006A7EC2008C99C60029397300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B9C6F1002C3C + 75003D55A4003D55A4003D55A4003D55A4003D55A4003D55A4003D55A4003D55 + A4003D55A4003D55A4003D55A4003D55A4003D55A4003D55A40040518F00AFBD + EC00000000000000000000000000000000000000000000000000000000004053 + 93003F64DE002A54DF004368E5007D97ED0099ADF0009EB1F000849BE700768F + E2006984DB00506CCB004360C2003553B700213EA0003E57A900415187000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005871C0003D54A2002C4082005165A9004A65 + BD000328A3004661BC005165A9004A598E002C3C7A005871C000000000000000 + 000000000000000000000000000000000000D6D6D600384A880023315C002331 + 5C0023315C0023315C0023315C0023315C0023315C0023315C0023315C002331 + 5C0023315C0023315C0023315C0023315C0023315C0023315C0023315C002331 + 5C0023315C0023315C00C0C0C000CECECE000000000000000000465DAD004055 + 99001336AC001034AB001034AB001034AB001034AB001034AB001034AB001034 + AB001034AB001034AB001034AB001034AB001034AB001336AC002C4BB4003D54 + A300000000000000000000000000000000000000000000000000000000002B3D + 79001945D7001F42B5005466A300A7B7ED00A3B5F100AABAF2007781A4009AA3 + C30096A7E0004D6ACB0038509E004B5A8C00576CB3001B3898004A5EA1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000042528C00516B + C200042AAA00506AC40042528C008397DE000000000000000000000000000000 + 0000000000000000000000000000000000000000000026356E005A6CAB00566A + B000566AB000566AB000566AB000566AB000566AB000566AB000566AB000566A + B000566AB000566AB000566AB000566AB000566AB000566AB000566AB000566A + B000566AB000566AB00000000000000000000000000000000000324791003E59 + B400042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC001338B1002D40 + 8100000000000000000000000000000000000000000000000000000000002D3E + 7D000938D4001E378A004864C100CED6F000A3B5F100AABAF2007E8EC40090A0 + D700C7CFEB004D6ACB002F407900384F9D00A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000034488D005771 + C600042EB9005771C60034488D00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002D4289005771CA00173F + C500042FC000042FC000042FC000042FC000042FC000042FC000042FC000042F + C000042FC000042FC000042FC000042FC000042FC000042FC000042FC000042F + C000042FC0004F6DD30000000000000000000000000000000000364B95003F5C + BD00042DB800042DB800042DB8001037BB001037BB001037BB001037BB001037 + BB001037BB001037BB001037BB000D35BB00042DB800042DB8001037BB003246 + 8B00000000000000000000000000000000000000000000000000000000003143 + 84000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000374C93005873 + CB00042FC0005873CB00374C9300000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000324793005873D0001842 + CF000533CC000533CC000533CC000533CC000533CC000533CC000533CC000533 + CC000533CC000533CC000533CC000533CC000533CC000533CC000533CC000533 + CC000533CC005171DB0000000000000000000000000000000000384E9900405D + C200042FBF00042FBF00042FBF00405EC200405EC200405EC200405EC200405E + C200405EC200405EC200405EC2003859C800042FBF00042FBF00113AC2003549 + 9000000000000000000000000000000000000000000000000000000000003346 + 87000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000003A509A005974 + D0000431C7005974D0003A509A00000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000364C9D00607CDA002851 + DC001643D9001643D9001643D9001643D9001643D9001643D9001643D9001643 + D9001643D9001643D9001643D9001643D9001643D9001643D9001643D9001643 + D9001643D9005C7BE400000000000000000000000000000000003A509D00405F + C7000430C4000430C4000430C400374C9700374C9700374C9700374C9700374C + 9700374C9700374C9700374C9700405FC7000430C4000430C400103AC700374C + 9700000000000000000000000000000000000000000000000000000000003447 + 8B000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004057A7005B77 + DA000636D6005B77DA004057A700000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003E57AF00748FEA004F74 + F000426AEF00426AEF00426AEF00426AEF00426AEF00426AEF00426AEF00426A + EF00426AEF00426AEF00426AEF00426AEF00426AEF00426AEF00426AEF00426A + EF00426AEF007B97F400000000000000000000000000000000003F57A7004162 + D1000434D1000434D1000434D1003C54A1000000000000000000000000000000 + 000000000000000000003C54A1004162D1000434D1000434D100113ED3003C54 + A10000000000000000000000000000000000000000000000000000000000384D + 94000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000435BAE005F7D + E0000E3EDF005F7DE000435BAE00000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000405AB1007D97EB006384 + F300587CF200587CF200587CF200587CF200587CF200587CF200587CF200587C + F200587CF200587CF200587CF200587CF200587CF200587CF200587CF200587C + F200587CF20089A2F600000000000000000000000000000000004058AC004567 + D6000E3DD8000E3DD8000C3BD8003F57A8000000000000000000000000000000 + 000000000000000000003F57A8004567D6000E3DD8000E3DD8001946DA003F57 + A800000000000000000000000000000000000000000000000000000000003A4F + 98000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000465FB4006381 + E5001747E7006381E500465FB400000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000425BB300869DED007894 + F4006E8DF3006E8DF3006E8DF3006E8DF3006E8DF3006E8DF300637EDB00637E + DB00637EDB00637EDB006C8AF0006E8DF3006E8DF3006E8DF3006E8DF3006E8D + F3006E8DF30097ADF70000000000000000000000000000000000435CAF004B6C + DB001E4BE1001D4AE0001947E000425AAD000000000000000000000000000000 + 00000000000000000000425AAD004A6CDB001E4BE1001E4BE1002853E200425A + AD00000000000000000000000000000000000000000000000000000000003C51 + 9C000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D50013319500495EA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004B65BC006B88 + EB002755EE006B88EB004B65BC00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003B519A00465898003A4D + 9000364A8E00364A8E00364A8E00364A8E00364A8E00364A8E00C7CCDD009BA0 + AF00999EAD005967980035488A00364A8E00364A8E00364A8E00364A8E00364A + 8E00364A8E00465898003D55A5000000000000000000000000004862B9005576 + E5003D66EE003D66EE00325DED004761B9000000000000000000000000000000 + 000000000000000000004761B9005475E5003D66EE003D66EE00436AEE004761 + B900000000000000000000000000000000000000000000000000000000004157 + A3000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D500133195004A5FA4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004C66BD006E8B + EB00305CEE006E8BEB004C66BD00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006179CC005A75D1005A75 + D1005A75D1005A75D1005A75D1005A75D1005A75D1005A75D100D0D7ED00D0D6 + E700CED4E5006A7FC7005873CD005A75D1005A75D1005A75D1005A75D1005A75 + D1005A75D1005A75D1004B5FA5000000000000000000000000004A64BB005A7B + E8004D72F1004D72F1004068F0004A64BB000000000000000000000000000000 + 000000000000000000004A64BB00597AE8004D72F1004E73F1005176F1004A64 + BB0000000000000000000000000000000000000000000000000000000000435A + A7000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D500133195004A5FA5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004D67BE00728E + EC003862EF00728EEC004D67BE00000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000738CE000466AE2003B61 + E0003B61E0003B61E0003B61E0003B61E0003B61E0003B61E0004665CE005773 + D3005773D3003557C9003A5FDC003B61E0003B61E0003B61E0003B61E0003B61 + E0003B61E0003B61E000566AB3000000000000000000000000004B65BC005F7F + E8005C7FF2005C7FF2004D72F1004B65BC000000000000000000000000000000 + 000000000000000000004B65BC005D7DE8005C7FF2005D80F2005F81F2004B65 + BC0000000000000000000000000000000000000000000000000000000000455C + AB000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007A92 + E300C7CFEB004D6ACB002F4079002D4CB400A9B3D500133195004A5FA5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005069C0007B95 + ED004A70F0007B95ED005069C000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000B8C6F6009BB0F70093AA + F60093AAF60093AAF60093AAF60093AAF60093AAF60093AAF60093AAF60093AA + F60093AAF60093AAF60093AAF60093AAF60093AAF60093AAF60093AAF60093AA + F60093AAF60093AAF6006C80C9000000000000000000000000004D67BE006A87 + E9007C97F4007C97F4006686F3004D67BE0000000000000000005A74CB004D67 + BE004D67BE004D67BE004D67BE00728DEA007D98F5007D98F5007F9AF5004D67 + BE004D67BE004D67BE004D67BE005A74CB000000000000000000000000004961 + B3000535D4001E378A004066E500CED6F000A3B5F100AABAF2008BA1E9007E95 + E200C7CFEB004D6ACB002F4079002D4CB400A9B3D500133195004A5FA5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000516AC1007D97 + EE005176F1007D97ED00516AC100000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D7DFF900D5DEFC00D5DE + FC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DE + FC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DEFC00D5DE + FC00D5DEFC00D5DEFC007387CC000000000000000000000000004E68BF006E8A + EA008BA4F6008AA3F6007391F4004E68BF0000000000000000004E68C100607A + D0004E71E7006382E900738EEA0089A2F4008CA5F6008CA5F6008CA5F600738D + EA006483E9005A7BE800607AD0004E68C1000000000000000000000000004C65 + B8000535D4001E378A004864C100CED6F000A3B5F100AABAF2007E8EC40090A0 + D700C7CFEB004D6ACB002F407900384F9D00A9B3D500133195004A5FA5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000526BC200809A + EE005A7DF200809AEE00526BC200000000000000000000000000000000000000 + 000000000000000000000000000000000000000000007185CC007589CE007589 + CE007589CE007589CE007589CE007589CE007589CE007589CE007589CE007589 + CE007589CE007589CE007589CE007589CE007589CE007589CE007589CE007589 + CE007589CE007589CE005870C6000000000000000000000000004F69C000738E + EB009BB0F7009AAFF700809BF5004F69C0000000000000000000BFCDF600516A + C3005A78E0006384F300819BF50098AEF7009CB1F7009CB1F7009CB1F700829D + F5006686F3006183F200516AC300BFCDF6000000000000000000000000004E66 + BC000535D4001F42B5005466A300A7B7ED00A3B5F100AABAF2007882A5009AA3 + C30096A7E0004D6ACB0038509E004B5A8C00576CB300133195004A5FA5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009FAFE9005671CC0000000000000000000000000000000000546EC50088A0 + EF006B8AF30088A0EF00546EC500000000000000000000000000000000005A72 + C600A1B1E900546EC50000000000000000000000000000000000000000000000 + 0000000000000000000000000000C7C5C500AFADAC00898685007D7A78007D7A + 78007D7A78007D7A78007D7A7800AFADAC008F8D8B0000000000000000000000 + 0000000000000000000000000000000000000000000000000000516BC2007B95 + EC00BAC9FA00B9C8F90097ADF700516BC2000000000000000000000000000000 + 000092A5EC00738EEB0098AEF700B4C4F900BBCAFA00BBCAFA00BAC9FA0097AD + F7007892EC005A73C6000000000000000000000000000000000000000000536D + C4000425940015349B002C469F005B6CA500727FA9007682A9006070A2005666 + 9F004B5D990035498D002A3F86001F357E00091F6A000D226800344374000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00008AA1EC006B81CD00AFBEF300000000000000000000000000556FC6008BA2 + F0007290F4008BA2F000556FC600000000000000000000000000000000007589 + D200879FEF00556FC60000000000000000000000000000000000000000000000 + 0000000000000000000000000000E0DEDE00D7D5D500D3D1D000D3D1D000D3D1 + D000D3D1D000D3D1D000D3D1D000D5D3D2009C9A990000000000000000000000 + 0000000000000000000000000000000000000000000000000000526CC3007A95 + EC00C4D1FA00C3D0FA009CB1F700526CC3000000000000000000000000000000 + 0000000000006179CB00809AEE00ABBDF800C9D5FB00C9D5FB00C1CEFA007B96 + EE006179CB007991E20000000000000000000000000033437C0027376D002737 + 6D0027376D0027376D0027376D0027376D0027376D0027376D0027376D002737 + 6D0027376D0027376D0027376D0027376D0027376D0027376D0027376D002737 + 6D00374780000000000000000000000000000000000000000000000000000000 + 00007993EE00748EE5005870C8000000000000000000000000005670C7008FA6 + F1007A96F4008FA6F1005670C70000000000000000000000000093A7ED007791 + E7007C96EE005E79D50000000000000000000000000000000000000000000000 + 0000000000000000000000000000DEDDDC00E4E3E200E4E3E200E4E3E200E4E3 + E200E4E3E200E4E3E200E4E3E200E4E3E2009A97960000000000000000000000 + 0000000000000000000000000000000000000000000000000000536DC600738E + E900AFC0F900B0C0F9008FA7F600536DC4000000000000000000000000000000 + 0000000000006883DC00637BCD00869FF200BAC9FA00BAC9FA00A7B9F8006179 + CC006883DC00000000000000000000000000000000002E3F7B004662BF004F6C + CD005F7DE3006685ED006988F1006382EB005F7FE8005B7BE4005474DD005070 + D9004C6CD5004564CC004463CA004766CC004D6BD100506ED400516FD500536F + CC00364A91000000000000000000000000000000000000000000000000000000 + 0000819AEB006183F2005579F100486DE8004469E8004469E8005174E9006585 + F1007894F4006484F1005074E900466BE8004469E8004A6EE8004E73EF006586 + F3007992E500607AD70000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000CED8F7005770 + C8006D8AEB006D8AEB006A83DA00C1CDF6000000000000000000000000000000 + 00000000000000000000000000005973CF007390F2007592F2006E86D6000000 + 000000000000000000000000000000000000000000003E539B00566EBF004463 + CA005B7AE2007490EE007E99F3006987EC005D7DE7005273E2003B60D8002F54 + D200244ACB000C35BE000831BA001239BE00254AC6002B50C9003256CD005D77 + CE004458A0000000000000000000000000000000000000000000000000000000 + 000095A8E600A8B9F300AABBF300A5B7F300A4B6F300A4B6F300A9B9F300AFBF + F500B1C1F500AEBEF500A8B9F300A5B7F300A4B6F300A6B8F300AABAF300A8B9 + F30095A8E600607AD70000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F6005670C7005670C700647ED900000000000000000000000000000000000000 + 0000000000000000000000000000000000006580DC006681DD005D77CF000000 + 000000000000000000000000000000000000000000006079C700566CB6005D77 + CB006D87DD00748EE5007892E800708BE3006E88E1006A84DE00637DD8005E79 + D5005B76D200536DCA00516CC9005570CC005B75CE005E78D1005E78D100556B + B2006880D2000000000000000000000000000000000000000000000000000000 + 00005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C900879CE90000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005972CA005972CA00C1CDF6000000 + 0000000000000000000000000000000000000000000000000000677FD1005068 + BC005068BC005068BC005068BC005068BC005068BC00485EA900485EA900485E + A900485EA9005068BC005068BC005068BC005068BC005068BC005068BC006E85 + D300000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000879BE00044589E004458 + 9E00475A9E000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CBCBCB00C7C7C70095A4D9002B3A6A002B3A6A002B3A6A002B3A6A002B3A + 6A002B3A6A002B3A6A002B3A6A002B3A6A003040790095A4D900C5C5C500D3D3 + D300000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000B2BFEE002D407D003758C6003758C6003758C6003758C6003758 + C6003758C6003758C6003758C6003758C6003C53A1002E407C00B1BFED000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000DADADA00C7C7C700C0C0 + C000C0C0C000253566002A396E00AFBCE400C8C8C800D5D5D500DEDEDE000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000031458E003E58AF003358D600042CB300042CB300042CB300042CB300042C + B300042CB300042CB300042CB300042CB3000D34B9003358D6003E58AF00BAC6 + F200000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000032458D00DDE2 + F600DFE4F700DFE4F700E0E5F700E0E6F700E0E6F700E1E7F800E3E8F800E3E8 + F800E4E9F800E4E9F800E5EAF800E5EAF800E6EBF800E7EBF900E7EBF900E8EC + F900E9EDF900E9EDF90032458D00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000B9C6 + F1002C3F7D003E58AE003F58AA00425287000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000BAC7 + F2004059B200345AD9000D36BE00042DB700042DB700042DB700042DB700042D + B700042DB700042DB700042DB700042DB700042DB7000D36BE00345AD9003348 + 9100BAC7F2000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000035499400D8DF + F600C9D2F200C9D2F200CAD3F200CCD5F400CDD6F400CED7F400CFD7F400D0D8 + F400D0D8F400D2DAF500D3DBF500D4DBF500D6DDF500D6DDF500D7DEF500D9E0 + F600DAE0F600DBE1F70035499400000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B9C6F1002E42 + 81004A5D9D000F309D000F2F9A003F58AA003044890000000000000000000000 + 0000000000000000000000000000000000000000000000000000BCC8F300354A + 95003359DA000D37C200042EBC00042EBC00042EBC00042EBC00042EBC00042E + BC00042EBC00042EBC00042EBC00042EBC00042EBC00042EBC000D37C200415B + B500354A9500BCC8F30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000384E9A00D5DC + F600C3CEF300C4CFF300C4CFF300C5D0F300C5D0F300C6D0F300C8D2F400C9D3 + F400C9D3F400CBD4F400CCD5F400CCD5F400CED7F500CFD8F600D0D9F600D2DA + F600D2DAF600D3DBF600384E9A00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000304285004B5F + A1003F5AB70003269B00032698000F2F9A004453880031458A00000000000000 + 00000000000000000000000000000000000000000000384F9E00435DBA00335A + DE000431C5000431C5000431C5000431C5000431C5000431C5000431C5000431 + C5000431C5000431C5000431C5000431C5000431C5000431C5000431C5000D39 + CB00335ADE00435DBA00BDC9F400000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000003F56AA00D7DF + F9000537DD00C6D1F700C6D1F700C6D1F700C5D1F7000537DD00C5D1F700C4D0 + F700C4D0F700C4D0F700C4D0F700C3CFF7000537DD00C3CFF700C3CFF700C4D0 + F7000537DD00C4D0F7003F56AA00000000000000000000000000000000000000 + 000000000000000000000000000000000000BAC7F20035498F003E5BBE000F33 + AB000429A50003279F0003279D0003269B000F2F9A003F58AA00445489000000 + 000000000000000000000000000000000000BDC9F400435FBD00335BE0000D3A + CE000432CB000432CB000432CB000432CB000432CB000432CB000432CB000432 + CB000432CB000432CB000432CB000432CB000432CB000432CB000432CB000432 + CB000D3ACE00335BE0003A52A100BDC9F4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000425AB000D8E0 + FA000538E500C7D3F900C7D3F900C7D3F900C6D2F9000538E500C6D2F900C6D2 + F900C6D2F900C6D2F900C6D2F900C5D1F9000538E500C5D1F900C4D0F800C4D0 + F8000538E500C4D0F800425AB000000000000000000000000000000000000000 + 0000000000000000000000000000BAC7F200374B93005165AD001035B100042A + AA00A0AEDE000328A20003279F0003279D00032698000F2F9A003F58AA003247 + 8B00000000000000000000000000000000004159AD00345CE3000D3BD3000433 + CF000433CF000433CF000433CF000433CF000433CF000433CF000433CF000433 + CF000433CF000433CF000433CF000433CF000433CF000433CF000433CF000433 + CF000433CF000D3BD3004561C0004159AD000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000455EB600DAE2 + FC00053AEB00CAD5FB00CAD5FB00C9D5FB00C9D5FB00053AEB00C8D4FB00C8D4 + FB00C8D4FB00C7D3FB00C7D3FB00C7D3FB00053AEB00C7D3FB00C6D2FA00C6D2 + FA00053AEB00C6D2FA00455EB600000000000000000000000000000000000000 + 0000000000000000000000000000394E9700546AB2004A67CA000C32B200052C + AD0099A6D000A0AEDD000328A20003279F0003269B00032698000F2F9A004555 + 890033478C000000000000000000000000004159A9000535D9000535D9000535 + D9000535D9000535D9000535D9000535D9000535D9000535D9000535D9000535 + D9000535D9000535D9000535D9000535D9000535D9000535D9000535D9000535 + D9000535D9000535D9003760E8004159A9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004861B900DEE5 + FC000F42EC00D0DAFB00D0DAFB00CFD9FB00CFD9FB000F42EC00CED8FB00CED8 + FB00CED8FB00CDD8FB00CDD8FB00CDD8FB000F42EC00CCD7FB00CCD7FB00CCD7 + FB000F42EC00CBD6FB004861B900000000000000000000000000000000000000 + 000000000000BDC9F4003D54A0005C78D500395BCB002B4FC600A7B5E5001439 + B8000C32B200939FC600FFFFFF00A0AEDD0003279F0003279D0003269B000F2F + 9A003F58AA0046568A000000000000000000435BAF000537DD000537DD000434 + D200042CB100042CB100042EB9000537DD000537DD00042CB1000537DD000537 + DD000430C400042CB100042CB1000430C4000537DD00042CB1000537DD000537 + DD000537DD000537DD00365FE900435BAF0000000000364C97002B3C76002B3C + 76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C + 76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C76002B3C + 76002B3C76002B3C7600000000000000000000000000000000004963BA00DFE6 + FC001949ED00D3DCFB00D3DCFB00D3DCFB00D3DCFB001A4AED00D2DBFB00D2DB + FB00D2DBFB00D2DBFB00D2DBFB00D1DBFB001A4AED00D1DBFB00D1DBFB00D0DA + FB001A4AED00CFD9FB004963BA00000000000000000000000000000000000000 + 0000BDC9F4003F57A3005F76C0004767D2003A5CCD003255C900FFFFFF00A7B5 + E5001439B80004269800939FC600FFFFFF000328A20003279F0003279D000326 + 98000F2F9A003F58AA0033488D0000000000455EB300093BE300093BE2003B5A + C000FFFFFF00FBFBFB00BCC3DD00093BE200093BE200F2F2F200093BE2000835 + CC007F90CB00FFFFFF00F5F5F5007F90CB00093BE200F2F2F200093BE200093B + E200093BE200093BE2003861EB00455EB300000000003F559E004E6CD000274D + CD002B50CD002B50CD002B50CD002C51CD002C51CD002C51CD002C51CD002C51 + CD002C51CD002C51CD002C51CD002C51CD002C51CD002B50CD002B50CD002A4F + CD00274DCD004E6CD000000000000000000000000000000000004A64BB00E2E8 + FD002251ED00D7DFFC00D6DFFC00D6DFFC00D6DFFC002453EE00D6DFFC00D6DF + FC00D5DEFC00D5DEFC00D5DEFC00D5DEFC002453EE00D4DDFC00D4DDFC00D4DD + FC002352ED00D2DBFB004A64BB00000000000000000000000000000000000000 + 00004259AA006379C4006883DF004A6AD5004364D2003B5DCD00A5B0D300FFFF + FF00A7B5E5000C32B20004269800939FC600A0AEDD000328A20003279F000326 + 9B00032698000F2F9A0046568B003A4F99004A64BB001949ED001B4BED001B4B + ED001B4BED003761EF00C4D0F9001B4BED001B4BED00FFFFFF001B4BED00C2C9 + E2007F9AF5001B4BED001B4BED00708EF4001B4BED00F5F5F5004F6CCE003A5A + C3001741CF001B4BED004068F0004A64BB00000000005A75D1005771C8006472 + A8006A80CA005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C8007684 + B4006472A8005771C800000000000000000000000000000000004D66BE00E5EA + FD003761EF003862EF003862EF003862EF003862EF003862EF003862EF003862 + EF003862EF003862EF003862EF003862EF003862EF003862EF003862EF003862 + EF003761EF00D8E0FC004D66BE00000000000000000000000000BECCF500465E + B2007590E7006D88E5006985E200BDC7E700FFFFFF00B9C5EE003B5DCD003250 + B600A5B0D300A7B5E5001439B8000C32B200939FC600FFFFFF00A0AEDD000327 + 9F000F31A100405AB000364B9300000000004B65BD002050ED002352ED00315D + EF00E3E9FD00FFFFFF00C8D4FB002352ED002352ED00FFFFFF002352ED00FBFB + FB005A7DF2002352ED002352ED005A7DF2002352ED00FFFFFF00C9D5FB00EDF0 + FA0092A0D0002352ED00446BF0004B65BD000000000000000000000000005A74 + C7002247C100042FBF00042FBF00042FBF00042FBF00042FBF00042FBF00042F + BF00042FBF00042FBF00042FBF00042FBF00042FBF00042FBF00042FBF004A60 + AA005A74C70000000000000000000000000000000000000000004E68BF00E6EC + FD004169F000E1E7FD00E1E7FD00E1E7FD00E1E7FD00436BF000E0E6FC00E0E6 + FC00E0E6FC00DFE6FC00DFE6FC00DFE6FC00436BF000DEE5FC00DEE5FC00DEE5 + FC004169F000DBE2FC004E68BF000000000000000000BECCF5004961B7006D84 + D0007892E9007892E800728CE600617BCF00BAC3E100FFFFFF004364D2003B5D + CD003250B600FFFFFF00A7B5E5001439B80004269800939FC60099A5CE000F32 + A700415BB5004B5B950000000000000000004C66BD002957EE002C59EE00BCCA + FA007D98F500486FF0002C59EE002C59EE002C59EE00FFFFFF002C59EE00D8E0 + FC0088A2F6002C59EE002C59EE007B97F4002C59EE00FFFFFF002C59EE00476E + F000F8F8F8002C59EE00486FF0004C66BD000000000000000000000000007D93 + E0003457CD000432CA000432CA000432CA000432CA000432CA000432CA000432 + CA000432CA000432CA000432CA000432CA000432CA000432CA000432CA004B61 + AF007D93E00000000000000000000000000000000000000000004F69C000E7EC + FD004B71F100E4E9FD00E4E9FD00E4E9FD00E4E9FD004D72F100E3E9FD00E3E9 + FD00E3E9FD00E3E9FD00E3E9FD00E3E9FD004D72F100E2E8FD00E2E8FD00E1E7 + FD004B71F100DEE5FC004F69C00000000000000000004B67C0006A83D30089A1 + F000889FED00819AEB007993E8006A85E200617BCF00BAC3E100B9C5EE004364 + D2003B5DCD00A5B0D300FFFFFF00A7B5E5000C32B2000426980003259500415C + B9004C5E9A003B519B0000000000000000004E68BF003963EF003E67F0006384 + F300FFFFFF00FFFFFF00CFD9FB00FFFFFF00FFFFFF00FFFFFF00FFFFFF003E67 + F000ACBDF800FFFFFF00FFFFFF00ACBDF8003E67F000FFFFFF00FFFFFF00F2F5 + FE009FB3F7003E67F0004F74F1004E68BF000000000000000000000000000000 + 00005E7BDD00234FE100234FE100234FE100234FE100234FE100234FE100234F + E100234FE100234FE100234FE100234FE100234FE100234FE100224EE0004E64 + B500000000000000000000000000000000000000000000000000526CC300EBF0 + FD005D80F2006183F2006183F2006183F2006183F2006183F2006183F2006183 + F2006183F2006183F2006183F2006183F2006183F2006183F2006183F2006183 + F2005E80F200E4E9FD00526CC30000000000000000004C66BD00728FF20095AB + F30099AEF20091A7F0008AA1EE007993E800728CE6006A85E200BAC3E100FFFF + FF00B9C5EE003B5DCD003250B600A5B0D3001B40BC001B40B9004562C1003E56 + A200000000000000000000000000000000004F69C0003F68F000476EF000486F + F000486FF000486FF000486FF000486FF000486FF000486FF000486FF000486F + F000486FF000486FF000486FF000486FF000486FF000486FF000486FF000486F + F000486FF000476EF0005075F1004F69C0000000000000000000000000000000 + 00006984E1003E66EE003862ED003B64ED003B64ED003B64ED003B64ED003B64 + ED003B64ED003B64ED003B64ED003B64ED003B64ED003862ED003E66EE004F68 + C300000000000000000000000000000000000000000000000000536DC400ECF0 + FE00EBF0FD00EBF0FD00EBF0FD00EBF0FD00EBF0FD00EBF0FD00EAEFFD00EAEF + FD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00E9EEFD00E9EEFD00E9EEFD00E8ED + FD00E8EDFD00E6EBFD00536DC40000000000000000004D67BF007693F300A1B4 + F600A1B4F40099AEF20091A7F000819AEB007993E800728CE600617BCF00BAC3 + E100FFFFFF004364D2003B5DCD003250B600274BC2004A67C7005366A8000000 + 000000000000000000000000000000000000506AC100466DF0004E73F1005075 + F1005075F1005075F1005075F1005075F1005075F1005075F1005075F1005075 + F1005075F1005075F1005075F1005075F1005075F1005075F1005075F1005075 + F1005075F1004E73F1004F74F100566FC3000000000000000000000000000000 + 00006781DA005378F100496FF0005176F1005176F1005176F1005176F1005176 + F1005176F1005176F1005176F1005176F1005075F100496FF0005378F1005975 + D100000000000000000000000000000000000000000000000000546EC500EDF1 + FE00EDF1FE00EEF2FE00EEF2FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1 + FE00EDF1FE00ECF0FE00ECF0FE00ECF0FE00ECF0FE00ECF0FE00ECF0FE00ECF0 + FE00EAEFFD00E7ECFD00546EC50000000000000000004E68C0007A96F400A9BB + F700A3B4F1006078C7004B63B600506BC6007C95E7007993E8006A85E200617B + CF00BAC3E100B9C5EE004364D2003A5CCD00516DCD00566AAB00445AAA000000 + 000000000000000000000000000000000000BFCDF6008499E0006686F3005A7D + F2006283F2006283F2006283F2006283F2006283F2006283F2006283F2006283 + F2006283F2006283F2006283F2006283F2006283F2006283F2006283F2006082 + F2005A7DF2006686F300526CC500BFCDF6000000000000000000000000000000 + 0000647AC900728FF100577BF2005C7FF2005E80F2005F81F2006082F2006082 + F2006082F2006082F2005F81F2005E80F200567AF200587CF200728FF1009FB1 + F0000000000000000000000000000000000000000000000000005770C700F0F3 + FE007B97F40087A1F5008AA3F6008AA3F6008AA3F6008AA3F6008AA3F6008AA3 + F6008AA3F6008AA3F6008AA3F6008AA3F6008AA3F6008AA3F6008AA3F60087A1 + F5007A96F400EBF0FD005770C7000000000000000000506AC1007A96F400B1C1 + F900506AC100D2DBF80000000000A9BAF0004B63B6008AA1EE007993E800728C + E6006A85E2005771CB004B6BD7005D79D7004960B30000000000000000000000 + 00000000000000000000000000000000000000000000536DC60090A2E200718F + F4006787F3006B8AF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8B + F3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3005D80 + F200718FF40090A2E200BFCDF600000000000000000000000000000000000000 + 00005A75D1006E84D2007690EA007D97EB007F98EB007F98EB008099EB008099 + EB008099EB008099EB007F98EB007F98EB007A94EA007790EA006E84D2000000 + 00000000000000000000000000000000000000000000000000005871C800F0F3 + FE00F1F4FE00F2F5FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00F2F5FE00F2F5 + FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F1F4FE00F1F4FE00F0F3 + FE00EEF2FE00EBF0FD005871C8000000000000000000516BC2006F8DF300A9BB + F800516BC200D3DBF90000000000BFCDF5004D66BA007F99ED00819AEB007993 + E800728CE6005776DD00637FDC005F73BA000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCDF600536EC70091A4 + E2006384F300708EF4007592F4007592F4007592F4007592F4007592F4007592 + F4007592F4007592F4007592F4007592F4007592F4007592F4007290F4007491 + F40091A4E200536EC70000000000000000000000000000000000000000000000 + 000000000000647EDB005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C900647EDB000000 + 00000000000000000000000000000000000000000000000000005872C900F1F4 + FD00F4F6FD00F5F7FD00F6F8FD00F6F8FD00F6F8FD00F6F8FD00F6F8FD00F5F7 + FD00F5F7FD00F5F7FD00F5F7FD00F5F7FD00F5F7FD00F5F7FD00F4F6FD00F4F6 + FD00F3F6FD00F1F4FD005872C9000000000000000000546FCB006680D90099AF + F7006E84D1005E78D100D3DBF900556FCB00647BCA0099AEF2008AA1EE00819A + EB00748FE7006984E0006277BF004D65BA000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F60099A9E3008CA5F6007894F40086A0F50086A0F50086A0F50086A0F50086A0 + F50086A0F50086A0F50086A0F50086A0F500839EF5007894F40093AAF6005670 + C800C1CDF6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF600536E + C7009EB3F700B6C6F900C3D0FA00B7C6F800B1C1F800A8BAF50092A8F100809A + EE00758FE900526BC20000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005771C9009AAAE300ABBDF8008AA3F6008EA6F6008FA7F6008FA7F6008FA7 + F6008FA7F6008FA7F6008FA7F6008EA6F6007E99F500ABBDF8009DACE500C1CD + F600000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F600748DDD0099AFF700ACBDF800B5C5F900AFBFF800A6B8F600869FF100809A + EE006B81CC000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C1CDF6005771C9009DACE50090A8F60099AFF7009DB2F7009FB3F7009FB3 + F7009FB3F7009EB3F7009DB2F70098AEF700ABBDF8009DACE5005771C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005670C8006982DC007C96ED0089A0EE00869EEE00839BED00738EE9006C83 + D0005671CA000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000C1CDF6005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005874CF00C1CDF600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000DBDBDB00D1D1D100C9C9C900C7C7 + C700C7C7C700C5C5C500C5C5C500C5C5C50029386D0030417800C5C5C500D3D3 + D300000000000000000000000000000000000000000000000000000000000000 + 00007789C8002C375F0033458000C3C3C300C5C5C500D1D1D100DCDCDC000000 + 00000000000000000000DADADA00D5D5D500C3C3C300B1BCE500394B89007587 + C600DADADA000000000000000000000000000000000000000000000000000000 + 000000000000000000006E85CF00273773002534690025346900364D96006E85 + CF00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000028387100032698000326 + 98004E66B6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000007F92D80029396C008494C80025346900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CED7F60031417A00536BBC002D3D7800647BC90000000000000000000000 + 0000000000000000000000000000000000002D3D780041569B004B66BE00B7C5 + F100000000000000000000000000000000000000000000000000000000000000 + 00007287D100293B7900233576000C2A8F000C2A8F000C2A8F00172F82002335 + 7600293B79000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002C3D79000328A2000328 + A2004F69BE000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008093D900324273005466A5008393C80027366B00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000354C98003C529C00425DB400384984003D54A200000000000000 + 00000000000000000000000000003D54A200425CB0002245B8003E55A1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000293B7B00143090000328A1001638A8001638A8001638A8000328A1000328 + A100143090004F67B60000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002F418200042BAD00042B + AD00506BC6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000036457A005568AA00324DAA008494CC00293A7300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000007389D500495991001338B2003A59C0004054960094A6E5000000 + 000000000000A5B6EC002F42860040549600163BB400092EA9004B5B95000000 + 0000000000000000000000000000000000000000000000000000788DD9002F44 + 8D002045BD004B68CA00566FBF003E509000374D9A00374D9A004D609F00566F + BF002045BD002648B70044569700788DD9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000364B94005C76CD00183DB800183DB800183DB8000D37C3000D37 + C3000D37C300183DB800183DB800183DB800364B940000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003850 + 9D00455690002042B300042AA900042AA9008496D4002F428100000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000003B54A200042CB100042CB100042CB100435EBE003E51 + 9500344890004660BD002146C200072EB300042CB1004961AE00384D98000000 + 0000000000000000000000000000000000000000000000000000374D98001E3F + AD00506ED3005C75C60042559800D0D8F70000000000000000006B83D3004255 + 98005C75C6000B35C000546EC1003A509A000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003A509B005B79DD001540CF001540CF001540CF001540CF001540 + CF001540CF001540CF001540CF001540CF003A509B0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000003C54A3005365 + A400516CC700042CB200042CB200042CB2008497D90033468700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000788ED900163CBB00062FB700062FB700133ABE003C5C + C900465EAF00163DBF00062FB700062FB7001138BA005062A2005E76C9000000 + 000000000000000000000000000000000000000000007B92DD00354EA200113C + CC005F78CF004559A100889DE30000000000000000000000000000000000889D + E3004559A100133ECC003156D3005165AC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003E54A5006782DD006A84DD006A84DD006A84DD001D49DA001D49 + DA00617FE5006A84DD006A84DD006A84DD003E54A50000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000CED7F6006179C7004258A50033488F005568AA004D6A + CC001239BE00042EBB00042EBB00042EBB008499DD00364A9000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000D0D8F7004762C1001139BE001139BE001139BE00143B + C0002E53CD001139BE001139BE001139BE003959C30040539600BCC8F3000000 + 00000000000000000000000000000000000000000000435AB000254DD4003059 + E2004D63B000D1DAF80000000000000000000000000000000000000000000000 + 0000D1DAF800355BDC001E4BE0006682E0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008197E500455FB6002D59ED002D59 + ED00587BF1008197E50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004C5F9F005971BF004A66C5002447BA001237B4007288D2004F6FDB000432 + CD000432CD000432CD000432CD000432CD00849BE6003D53A0007087D9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005669AA003458D0002B50CE002B50CE002B50 + CE002B50CE002B50CE002B50CE002B50CE00596DAF00647CD000000000000000 + 00000000000000000000000000000000000000000000465EB400355BE0003660 + EB004A64BE000000000000000000000000000000000000000000000000000000 + 000000000000355CE1002250E9006986E7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004A62BC00526AC4004D6DD5003560EF003560 + EF003560EF00526AC4004A62BC008198E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005A74C9001C43C500042FC000042FC000042FC000728ADB005273E2000D3C + D7000E3DD8000E3DD8000E3DD8000E3DD800869DEB004058A800576EB8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000465BA500395BCB00385CD400385CD400385C + D400385CD400385CD400385CD400385CD4004B60A7004D66BC00D1DAF7000000 + 000000000000000000000000000000000000000000004962B9004167E700305C + EE004D68C2000000000000000000000000000000000000000000000000000000 + 0000000000003059E2003661EF006D8AEB000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005C76D2005171DE003D66EF003D66EF003D66EF003D66 + EF003D66EF003D66EF005171DE00526BC1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005071DE000433CF000433CF000433CF000433CF00728DE4005779E9001A48 + E1001C4AE1001C4AE1001C4AE1001C4AE10089A1EF00445DB0004E71E500738C + DE00000000000000000000000000000000000000000000000000000000000000 + 000000000000ABBBF0004159AB006580DD004B6DDD004669DC004669DC004669 + DC004669DC004669DC004669DC004669DC006480DE00576EB8004159AB000000 + 000000000000000000000000000000000000000000005772CE006C85DE003C65 + EF006A80CD007990E20000000000000000000000000000000000000000000000 + 00007990E2003F68F0006989F300748CDF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000839AE6006279C7006A88EE004D72F1005879E5005D76CA004E68C3004E68 + C3004F68BD005879E5004D72F1004D72F1006279C700839AE600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006384F300456CF0004C72F1004C72F100466DF00088A1F5005E80F200335E + EF003862EF003862EF003862EF003862EF008EA6F6004A64BC00093DEB00516A + BE0000000000000000000000000000000000000000000000000000000000BFCC + F5005A70BB00728BDF006D8AEA006180E7006180E7006180E7006180E7006180 + E7006180E7006180E7006180E7006180E7006180E700607FE7006B88EA005E73 + BD004A63BA00ABBBF100000000000000000000000000839AE600667DCC00577B + F2005B7BE800576EC10091A4EB000000000000000000000000000000000091A4 + EB00516ABF00597CF2007E99F500677ECC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005169C2008A9FE9005378F100617FE500536CBF007990E200000000000000 + 0000D2DBF800536CBF00617FE5005378F1008A9FE9005169C200000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006F8DF3006787F3006F8DF3006F8DF3006888F30095ACF7006283F2004068 + F000466DF000466DF000466DF000466DF00091A8F6004B65BD00093DEB004B65 + BD00000000000000000000000000000000000000000000000000768EDF004C64 + B7007D97EB007590ED006D8AEB006D8AEB006D8AEB006D8AEB006D8AEB006D8A + EB006D8AEB006D8AEB006D8AEB006D8AEB006D8AEB006D8AEB006D8AEB007C96 + ED006F85D0004C64B70000000000000000000000000000000000526BC3008199 + E8005075F1005475E200526BC000D3DBF80000000000000000007990E300526B + C0005878E3007290F4008AA0E900526BC30000000000000000004E67C1005C74 + C4004E67C1000000000000000000000000000000000000000000000000000000 + 00007288D000718FF4005B7EF200566EC10091A4EB0000000000000000000000 + 00000000000091A4EB00566EC1006684E700718FF4007288D000839AE7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00007995F400839EF50090A8F60090A8F600859FF500A0B4F7006586F3004D72 + F1005378F1005378F1005378F1005378F10094ABF6004C66BE002553EE004F6A + C50000000000000000000000000000000000000000005672CE00586FBE00738C + DE007D97F1007C97F1007C97F1007C97F1007C97F1007C97F1007C97F1007C97 + F1007C97F1007C97F1007C97F1007C97F1007C97F1007C97F1007C97F1007D97 + F1007E99F1007790E200526DC700BFCCF5000000000000000000000000006881 + DA00869FF1006D8CF3005F81F2005679EB004C70E8004D71E7005C7FF2006D8C + F300708EF4006586F300577BF2004E6CD500BFCDF600000000005069C1006384 + F3005069C1000000000000000000000000000000000000000000000000000000 + 00009EB1F2006B8AF300738FEE00D3DBF8000000000000000000000000000000 + 00000000000000000000D3DBF800566EC2006B8AF3009EB1F2004F69C2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000089A0EC009FB3F700AFC0F900B8C7F900A6B9F800ACBDF8006C8BF3006485 + F3006F8DF3006F8DF3006F8DF3006F8DF30099AFF7004E68C000667DCB000000 + 00000000000000000000000000000000000000000000516BC200516BC200516B + C200516BC200516BC200516BC200516BC200516BC200516BC20094ABF60095AC + F70095ACF70093AAF600879DE600516BC200516BC200516BC200516BC200516B + C200516BC200516BC200516BC2005671CD000000000000000000000000000000 + 0000657CCC008FA3EA00839EF5006283F2005277F1005C7FF20086A0F50097AD + F700A1B3F1006D8CF3006C8BF3005479F100516BC400BFCDF600516BC2006586 + F300516BC2000000000000000000000000000000000000000000000000000000 + 0000A4B6F3007391F4007C97ED00000000000000000000000000000000000000 + 0000000000000000000000000000526DC8007391F400A4B6F3005069C1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000768CD400B1C0F200B5C5F900B4C4F9009EB3F700A7B9F800718FF4006D8C + F3007C97F4007D98F5007D98F5007D98F5009CB1F7004F69C1007991E3000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000007189E000A3B6F800A2B6 + F800A2B6F800A0B4F7007A8FD6006882DC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000849AE800576FC7007085D100859DEF00849CEF00849CEF00859AE4007389 + D3005770C500839EF5007592F4006F8DF3005270D600526CC500526CC3006A8A + F300526CC3000000000000000000000000000000000000000000000000000000 + 0000A9BAF300809BF500839CEF00000000000000000000000000000000000000 + 0000000000000000000000000000536EC900809BF500A9BAF300516BC2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006881DB00506AC200657BC9008196DB008FA2E5008EA5F0008FA7F6007794 + F400859FF5008AA3F6008AA3F6008AA3F6009FB3F700506AC200000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCDF600AFBFF500B0C0 + F900B0C0F900ACBDF6006078C9009FB1F0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000556EC700768EDE0087A1F500829DF5007290F4006A83DB007C97 + F400556EC5000000000000000000000000000000000000000000000000000000 + 0000A5B5EA00A2B6F8008AA3F6007A92E4000000000000000000000000000000 + 000000000000000000007A92E4007D90D600A2B6F800A5B5EA005C77D4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005871CF008A9C + DC00A8B9F6009BB0F700A4B7F800A5B8F800A3B6F800536DC400000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000007F94D800C4D1 + FA00C9D5FB008DA0DF006983DD00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000C1CDF600566FC7007A91DF008DA5F6008DA5F60086A0F500839E + F500566FC6000000000000000000000000000000000000000000000000000000 + 00008597D800B3C3F90097ADF700637ACA0092A7EC0000000000000000000000 + 00000000000092A7EC00637ACA0096AAEE00B3C3F9008597D800849BE8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005872 + CF00758BD20097ADF70097ADF700A0B4F700A1B5F700546EC500000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000667DCD00BCCA + F700CDD8FB006D84CF009FB1F000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005E79 + D6005771C8005771C8005771C8005771C80095ACF70095ACF70095ACF70086A0 + F5005771C8000000000000000000000000000000000000000000000000000000 + 00005B74C900B9C6F200B2C2F9009FB1EF00657BCB007C92E500000000000000 + 0000D3DBF900657BCB009FB1EF009AAFF700B9C6F2005B74C900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006883DC00A7B9F40098AEF700849EF5009EB3F700556FC600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005771C900A9B8 + EC00CAD5FB005771C80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005872 + C9006E8BED007C96EE007F99EF00859EF00098ADF2009AAEF20097ACF2007C96 + EE005872C9000000000000000000000000000000000000000000000000000000 + 0000000000006B84DE008093D600BCCAFA00ACBDF800A7B9F800AFBFF500AFBF + F500ADBDF600ACBDF800BCCAFA00C5D1F9006B84DE0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000093A7ED00677ECD009DAFEE0094ABF6005771C800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000009FB1F000667D + CD009AAFF40093A8ED0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005B76 + D2005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005B76D2000000000000000000000000000000000000000000000000000000 + 000000000000000000006B85DE00C2CEF400C2CFFA00B7C7F900A9BBF800A9BB + F800B0C0F900C2CFFA00C2CEF400798ED5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000093A8ED005D76CA008DA5F6005771C800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005771 + C9008297E1000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E76CC008D9EDB00B5C2ED00C6D2F800C6D2 + F800C6D2F8008D9EDB005E76CC00879CE9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000C1CDF6008FA2E5005771C800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000647E + DA00667DCD000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D6D6D600CDCDCD00C7C7C7007487C6002938 + 6D0025346A00C5C5C500C7C7C700CBCBCB000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C7C7C70045599A0026336000B2BDE500C7C7C700D2D2D200000000000000 + 0000000000000000000000000000DADADA00C2C2C200475C9D002633620096A6 + DB000000000000000000000000000000000000000000000000005E72B6002632 + 5B0026325B0026325B0026325B0026325B0026325B0026325B0026325B002632 + 5B0026325B0026325B0026325B0026325B0026325B0026325B00687BBC00CFCF + CF0000000000000000000000000000000000000000000000000000000000D3D3 + D300C0C0C00025346D0027315900273159002731590027315900273159002731 + 590027315900273159002731590027315900273159002E3D7300C0C0C000CBCB + CB00DEDEDE000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000DFE5F90032406C005261 + 970046568B00455AA500DFE5F900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000029387000364FA0008697D0002C3E8000758AD60000000000000000000000 + 0000000000000000000000000000000000002E4286004359A5008596D0002739 + 78007185D000000000000000000000000000000000004C64B4003F59AE002C52 + D2000D35BA000E36BB000E36BB000E36BB000E36BB000E36BB000E36BB000E36 + BB000E36BB000D35BA000C34BA00284ECE00142A74002240A6003C54A5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000293973004E67B80003269B0003269B0003269B0003269B000326 + 9B0003269B0003269B0003269B0003269B004E67B80029397300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000B7C5F100293C7A0045548D0017369D001C3A + 9E00032083003F57A70043528600283873000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000263A7E007082BE00505F92003A53A60033478E0000000000000000000000 + 000000000000000000000000000000000000294091007789C700505F94002942 + 96003B529E0000000000000000000000000000000000354C97004A68CE003358 + D600355AD200365AD200365AD200365AD200365AD200365AD200365AD200365A + D200365AD2003358D2002C52D1004166DF000A2479001335A500425FC0000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000002B3C77004E68BC0003279F0003279F0003279F0003218700021C + 700003228A0003279F0003279F0003279F004E68BC002B3C7700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000334685006F7EB1003F5AB20003269B002946 + A900032288000F2F99003F58A90048599300B6C5F10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000243E92006676A8005169BB007488CD002E459600576EC300000000000000 + 0000000000000000000000000000A4B3EB00526CBF005F6EA4005B72BF003A54 + A9002F407C00000000000000000000000000000000002E407F005271DE004166 + E2005374E3005677E4005777E4005777E4005777E4005777E4005777E4005777 + E4005777E4005072E3004267E0005275EA0003218700092EA9004160CA000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000002D3E7C004E68BF000328A4000328A4000328A40003238C00FFFF + FF0003238F000328A4000328A4000328A4004E68BF002D3E7C00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000007483B4003D59B800072CA4000328A1002947 + AD000321870003269A00072999003751AA003244840000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005C6FB200354A9100A3B3EB004258A100657ECF002F4CB000000000000000 + 00000000000000000000708ADA003953A6005668A70098AAE90000000000586D + B800374C9100000000000000000000000000000000003C54A30033468A003346 + 8A0033468A003A4C8B0030438400304384003043840030438400304384003043 + 84003043840030438400304384003043840003249100042DB500365BD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000031448500506BC700042BAE00042BAE00042BAE00042BAE00042B + AE00042BAE00042BAE00042BAE00042BAE00506BC70031448500000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000006880D0006170A400173CB7001036B5001237B5000F34B1003D5B + BF0006258B00062BA7000429A3000328A000465FB0003D4D81006179C7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006373AC00435BA8005A72C600647ED1004A63B7001F48D1007D93DE000000 + 000000000000D1DAF800455BAC00294EC700445CAD000000000098AAE9007485 + C100485FB2000000000000000000000000000000000000000000000000000000 + 0000364A8F003358D30003279F0003279F0003279F0003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F00042AA900042EBB00375DDC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000034468900506CCA00042CB300042CB300042CB300042CB300042C + B300042CB300042CB300042CB300042CB300506CCA0034468900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BAC7F200455796008496D300153BBC00183EBD00193EBC001F44BC004361 + C60008278E000D32AE000A2FAB00052AA6001F3FAA00485FAA00324279000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004B5EA0007A8DCC004157A1004760B3003D5BBD003158DC004A62B800D2DB + F800000000005671CB00425EBF003058DE00465CA9006680D400435DB3006778 + B3008699DF000000000000000000000000000000000000000000000000000000 + 0000384D9500375DDE000430C2000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2000430C2000430C2000430C200375DDE000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000036498E004F6CCD00042DB800042DB800042DB800042DB800042D + B800042DB800042DB800042DB800042DB8004F6CCD0036498E00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000465FB2008B98C8004968D0001E44C4002147C6002146C500284CC4004866 + CC000B2B94001439B7001035B2000D32AE000429A500324FB2004D5E98000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D1DAF8004D64B2008596D3007E98EC00819BEF006D8BEE0098AAEA00536D + C4004F4E4E008699DD00728FF2006D8BF0007994EC008FA4EB008C9EDD008CA0 + E600000000000000000000000000000000000000000000000000000000000000 + 00003D54A000375EE3000433CE00829DF500829DF500829DF500829DF500829D + F500829DF500829DF500829DF500829DF5000433CE000433CE00375EE3000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003A4F9700506ED4000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2000430C200506ED4003A4F9700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000091A0D1004769D800234BD1003055D4003055D4002F54D3004062D4005371 + D7001132A0002146C5001D42C100193EBC001035B3000A2FAD002C4BB4003F55 + A200000000000000000000000000000000000000000000000000000000000000 + 000000000000BFCCF5005F79CD006E82C900788DD7008297DE00667DCC00BCC5 + E300D7D6D6005F75C3008095DA008A9EE4007689D1006278C300526BC1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004057A600375FE6000636D4000737D4000737D4000737D4000737D4000737 + D4000737D4000737D4000737D4000737D4000737D5000636D400375FE6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003C529C004F6ED7000431C7000431C7000431C7000431C7000431 + C7000431C7000431C7000431C7000431C7004F6ED7003C529C00000000000000 + 000000000000000000000000000000000000000000000000000000000000D1DA + F8008EA2E6002A52D7002F56D800375CDB00375CDB00365BDA004668DA005876 + DC001334A300274CCB002348C7001F44C300163BB9000F34B3001035AF003B4C + 8400CED7F7000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000AEBEF300859BE900788DD900CAD1E900EEEE + ED00EBEAEA00C2C6D6007382B6007289D900AFBEF300D3DBF900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000435BAD003961E8000D3DDB00103FDB00103FDB00103FDB00103FDB00103F + DB00103FDB00103FDB00103FDB00103FDB000F3EDB000D3DDB003A62E8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F55A0004F6FDB000432CC000432CC000432CC000432CC000432 + CC000432CC000432CC000432CC000432CC004F6FDB003F55A000000000000000 + 000000000000000000000000000000000000000000000000000000000000677F + D4006683E6002E56DD00395FDF003F64E1003E63E0003D62DF005777E2005E7C + E2001638A9002D52D100294ECD00254AC9001B40BF00153AB9000E34B3004A5C + 9D005B74C3000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A6A6A5006E6D6D00DAD9 + D900E8E7E700BFBDBC009A9897009D9D9D000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004962B8003E66EE001B4BE80092A9F60092A9F60092A9F60092A9F60092A9 + F60092A9F60092A9F60092A9F60092A9F6002250E9001C4BE8004169EE000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000435AAA005576E3001441D8001542D8001542D8001542D8001542 + D8001542D8001542D8001542D8001441D8005576E300435AAA00000000000000 + 0000000000000000000000000000000000000000000000000000D2DBF8005C71 + BB00365FE800446AEA004B70EC004C71EC004B70EB004B70EB006785EB006987 + EA001B3EB200395EDC003459D8003055D400264BCA002045C400183EBE004A65 + C0003F508C00CED7F70000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000807E7E00ACABAA00A0A0 + 9F00F1F0F000BCBAB900AEACAB0082807F000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004B65BD004068F0002352ED002E5AED002E5AED002E5AED002E5AED002E5A + ED002E5AED002E5AED002E5AED002E5AED002C59ED002352ED00446BF0000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000465EAF005879E7001E4ADE001F4BDE001F4BDE001F4BDE001F4B + DE001F4BDE001F4BDE001F4BDE001E4ADE005879E700465EAF00000000000000 + 00000000000000000000000000000000000000000000000000008EA3E9007E90 + D1003D65ED004D72F0005277F0005378F0005277F0005176EF00708DF0006E8B + EE001E41B7003F64E1003A5FDD00355AD9002B50CF00254AC9001D43C3003858 + C200495C9E008499DF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000009796960094929100BFBDBC00EAEA + E9008A898900C0BEBC00A8A6A400989694000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004D67BE00426AF0002A57EE003862EF003862EF003862EF003862EF003862 + EF003862EF003862EF003862EF003862EF003560EF002B58EE00476EF0000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004861B4005B7CEA002853E4002954E4002954E4002954E4002954 + E4002954E4002954E4002954E4002853E4005B7CEA004861B400000000000000 + 00000000000000000000000000000000000000000000000000006D87DD0091A3 + DF00476EF000567AF2005A7DF2005B7EF2005A7DF200587CF2007794F4007390 + F2002044BB004469E5004065E2003A5FDD002F54D3002A4FCE002248C8002C4F + C1004D62AB005E76C70000000000000000000000000000000000000000000000 + 00000000000000000000000000008B8A8900ABAAA900BAB9B800CBCAC9008786 + 860000000000D2D2D100E7E6E500B6B5B4008987870000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004F69C000466DF0003963EF00A6B9F800A6B9F800A6B9F800A6B9F800A6B9 + F800A6B9F800A6B9F800A6B9F800A6B9F800496FF0003A64EF004E73F1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004D67BE006182F1003C65EE003E66EE003E66EE003E66EE003E66 + EE003E66EE003E66EE003E66EE003B64ED006182F1004D67BE00000000000000 + 0000000000000000000000000000000000000000000000000000516CC700AEBE + F300567AF2006586F3006989F3006989F3006888F3006686F3007D98F5007D98 + F5002549BF004E73ED00486DE9004469E500385DDB003257D6002A50CF002348 + C400506BC3003D539D0000000000000000000000000000000000000000000000 + 00000000000000000000000000009F9E9D00C0BFBE00E5E4E4008F8D8C000000 + 0000000000008F8F8D00E2E2E100E4E3E3009E9C9B00B3B1B100000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000506AC100486FF0004068F0005579F1005579F1005579F1005579F1005579 + F1005579F1005579F1005579F1005579F1005176F1004169F0005075F1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005069C0006485F300466DF000496FF000496FF000496FF000496F + F000496FF000496FF000496FF000466DF0006485F3005069C000000000000000 + 00000000000000000000000000000000000000000000000000004F69C000AFBF + F4005A7DF2006989F300708EF400718FF4006F8DF3006D8CF3007E99F500829C + F500274ABF005378F0004D72ED00476CE8003B60DE00355AD9002D53D3001940 + C300526CC5003C4F910000000000000000000000000000000000000000000000 + 0000000000000000000000000000C8C8C700DFDFDF00F2F2F100C7C7C6000000 + 000000000000D3D3D300A3A2A100F2F2F200C1C0BF00908E8D00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000516BC2004A70F000486FF0005F81F2005F81F2005F81F2005F81F2005F81 + F2005F81F2005F81F2005F81F2005F81F2005A7DF200496FF0005378F1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000516AC1006888F3005075F1005277F1005277F1005277F1005277 + F1005277F1005277F1005277F1005075F1006888F300516AC100000000000000 + 0000000000000000000000000000000000000000000000000000506AC100AFBF + F400577BF2006787F300708EF4007794F4007693F4007491F4007C97F40086A0 + F500294CBF00577BF2005176EF004B70EB003E63E100355BDB002C53D400163E + C500536DC7003D50940000000000000000000000000000000000000000000000 + 000000000000000000009A989700F8F8F800C9C8C80094949400000000000000 + 000000000000000000000000000098979700F8F8F800E2E2E2009F9E9C000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000556FC5004D72F1005378F100B8C7F900B9C8F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F9006C8BF3005579F1005C7EF000536D + C400536DC400536DC40000000000000000000000000000000000000000000000 + 000000000000536CC3006E8DF30092A9F60094ABF60094ABF60094ABF60094AB + F60094ABF60094ABF60094ABF60091A8F6006E8DF300536CC300000000000000 + 0000000000000000000000000000000000000000000000000000526CC300ADBD + F4008BA4F60099AFF7009EB3F7008BA4F6007491F4007290F4007D98F5008DA5 + F6002C4EBF005A7DF2004F74F1004269EE005D7DE9007993E900869DE8007B92 + E0008397D8004054980000000000000000000000000000000000000000000000 + 00000000000095959400C6C5C400E3E3E20092918F0000000000000000000000 + 000000000000000000000000000000000000E9E9E900EEEEEE00C5C5C4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005670C6005C7DEA005579F1007C97F4007D98F5007D98F5007D98F5007D98 + F5007D98F5007D98F5007D98F5007D98F5007290F4005A7DF2005E80F0003761 + ED003761ED00456AE50000000000000000000000000000000000000000000000 + 000000000000546DC400708EF400042DB5000429A80003269C0003208300031E + 79000320810003269A000429A700042CB300708EF400546DC400000000000000 + 0000000000000000000000000000000000000000000000000000536DC400ABBB + ED008295D7006F84CE008599DA00B3C2F300B4C4F90091A8F6006B8AF30089A2 + F6002A4DBF004B71F100466DF0006787F30093A4DD008092CF00677ABC008797 + CD00A7B3DC0041569A0000000000000000000000000000000000000000000000 + 0000C7C7C700A8A7A500DDDDDC009C9A9900D3D3D30000000000000000000000 + 0000000000000000000000000000000000009C9B9900F3F2F200DFDFDE00BDBD + BD00000000000000000000000000000000000000000000000000000000000000 + 0000556FC7005B7CEA00587CF2007F9AF500849EF50086A0F50086A0F50086A0 + F50086A0F50086A0F50086A0F500859FF5007592F4005B7EF2005B7EF2000834 + C5000A36CA004568DA0000000000000000000000000000000000000000000000 + 000000000000556EC5007391F4009EB3F700A3B6F800A3B6F800A3B6F800A3B6 + F800A3B6F800A3B6F800A3B6F8009EB3F7007391F400556EC500000000000000 + 00000000000000000000000000000000000000000000000000005873CF00536E + C7009FB1F000AEBEF3009FB1F0005A74C9008E9FDD00B4C3F5006888F3007995 + F4002448BF004E73F1007C97F200889BDC006680D9009CAFEE00ACBCF1006780 + D400445AA6004860B10000000000000000000000000000000000000000000000 + 0000A19F9D00EBEBEA00C0BFBE00000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A6A5A500C4C3C200A2A0 + 9E00000000000000000000000000000000000000000000000000000000000000 + 00006B85DE005B78DB005479F1006283F2006B8AF3006F8DF3007391F4007391 + F4007391F4007391F400718FF4006D8CF3005C7FF2004A70F0004A70F000324B + 9C002648B700506BC20000000000000000000000000000000000000000000000 + 0000000000005770C7007693F400A6B9F800AFC0F900B1C1F900B1C1F900B1C1 + F900B1C1F900B1C1F900AFC0F900A5B8F8007592F4005770C700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000859BE900ACBCF1009CB1 + F7002A4FC8005E77CA00859BE900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A4A2A000D2D1D0009A999800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000009C9A9900A5A3 + A100000000000000000000000000000000000000000000000000000000000000 + 0000AFBFF3005D76CA005879E5005277F1005579F100577BF200587CF200587C + F200587CF200587CF200587CF200567AF2005075F1004C72F100446BF0006379 + C500526AB9005B72C40000000000000000000000000000000000000000000000 + 0000000000005871C8007491F400042DB5000429A80003269C0003208300031E + 79000320810003269A000429A700042CB3007391F4005871C800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000008497D900AEBF + F8007189DA007C93E50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009C9A99009D9B9A0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000009C9A + 9900000000000000000000000000000000000000000000000000000000000000 + 000000000000859CE9005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C90093A8ED0000000000000000000000000000000000000000000000 + 0000000000005872C9006D8CF3006686F3007391F4007A96F4007E99F5007F9A + F5007E99F5007A96F4007290F4006485F3006D8CF3005872C900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005A76D200A1B0 + E80094A4DA000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004E6ACE005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005B76D200000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005A76 + D2005A76D2000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DEDE + DE00D3D3D300CECECE00CECECE00C0C0C00097A7D7005769A700293462002530 + 5800253058002934620032427B005769A700C0C0C000C7C7C700CECECE00D6D6 + D600DEDEDE00DEDEDE000000000000000000000000000000000000000000DEDE + DE00D3D3D300CECECE00CECECE00C0C0C00097A7D7005769A700293462002530 + 5800253058002934620032427B005769A700C0C0C000C7C7C700CECECE00D6D6 + D600DEDEDE00DEDEDE0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004259A70046589700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004658970035447A004259A7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004259A70046589700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004658970035447A004259A7000000 + 00000000000000000000000000000000000000000000000000004A60AE003544 + 7900485EA900435BAC00435BAC00435BAB00435BAB00435BAA00435BA900435A + A8004259A7004259A600435AA6004259A500435AA500435AA500435AA5004556 + 910033406D00455BA5000000000000000000000000000000000000000000AEBD + EC007A87B4008E9ED100808EBC00F0EFEF00EFEEEE00EDEDEC00EBEAEA00E9E9 + E800E8E7E700E5E5E400E4E3E3008E99BE008E9AC3008E9AC300808EBC008293 + CC008293CC008293CE0000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F100000000000000000000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F1000000000000000000000000000000000000000000647BCB00364784004761 + B500072BA3000328A1000328A00003279F0003279F0003279F0003279D000326 + 9C0003269C0003269A0003269A00032699000325970003259700032596002643 + A3004A5FA6003342760000000000000000000000000000000000BAC6F2002E42 + 8700798ED2002446B60003228900031E7B000322890003228900BCBAB900B7B5 + B400B2B0AF00A7A5A400A2A09E00031E7B00032289000322890003228900042A + AB00042AAB008194D50000000000000000000000000000000000000000000000 + 00002F4284004D5F9E00415CB7000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000000000000000000000000 + 00002F4284004D5F9E00415CB7000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000033478A004B61AA002748 + B5000429A7000429A7000429A6000429A5000328A4000328A3000328A2000328 + A1000328A00003279F0003279F0003279E0003279D0003269C0003269B000326 + 9A002745A8004B5E9E00000000000000000000000000BAC6F20031458C006A79 + B2001B40B8001D41B90003238D00031F7F0003238D0003238D00CAC8C700C5C3 + C200C0BEBD00B6B4B300B1AFAD00031F7F0003238D0003238D0003238D00042C + B100042CB1008195D7000000000000000000000000000000000000000000475F + B100415DBD00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046589A00475FB1000000000000000000000000000000000000000000475F + B100415DBD00082EAE00042BAC00042BAC00042BAC00042BAC00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046589A00475FB100000000000000000000000000314588004361C700042C + B300042CB2003252BF00DEE3F400C0CAEA003353BD00042BAD00042BAC00425F + C000FFFFFF008194D400042AA900042AA900BFC8E800FFFFFF00FFFFFF000328 + A4000328A300435EBB0000000000000000000000000034488F00879BDD00264B + C3001038BD00284CC4000D2D98000C2888000D2D98000D2D9800E0DFDF00DDDB + DB00D9D7D700D1CFCE00CDCBCA000C2888000D2D98000D2D98000D2D98001038 + BD001038BD00869ADE0000000000000000000000000000000000A8B7ED003E50 + 8E001439B600042CB100042CB100042CB100042CB100042CB100042CB100042C + B100042CB100042CB100A0AFE100042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000000000000A8B7ED003E50 + 8E001439B600042CB100042CB100042CB100042CB100042CB100FFFFFF00FFFF + FF00FFFFFF00FFFFFF00042CB100042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000034488C004362CA00042D + B800042DB600DEE4F500FFFFFF00FFFFFF00AFBBE200042BAF00042CB100617A + CE00FFFFFF008191CA000429A800042BAD00C0CAEA00FFFFFF00FFFFFF00042A + AA00042AA900425EBD00000000000000000000000000364B9400889DE100183F + C300183FC3002F53CA0013339C00112D8C0013339C0013339C00EBEAE900E7E6 + E600E3E2E200DCDBDA00D8D7D600112D8C0013339C0013339C0013339C00183F + C300183FC300889DE10000000000000000000000000000000000455BAE004C62 + AD00042DB600042DB600042DB600042DB600042DB600042DB600042DB600042D + B600042DB60003279F00FFFFFF009FAFE200042DB600042DB600042DB600042D + B6002B4EC2004C62AD0000000000000000000000000000000000455BAE004C62 + AD00042DB600042DB600042DB600042DB600042DB600042DB600FFFFFF00FFFF + FF00FFFFFF00FFFFFF00042DB600042DB600042DB600042DB600042DB600042D + B6002B4EC2004C62AD00000000000000000000000000364A91004363CE000530 + BE00042EBC00FFFFFF00FFFFFF00FFFFFF00FFFFFF000429A700042DB60091A3 + DE00FFFFFF006177BF00042BAC00042CB300EEF1F900FFFFFF00DEE3F100042B + AE00042BAE00425FC100000000000000000000000000394F99008A9FE3002047 + CA002047CA003559CF001938A100173391001733910017339100F4F3F300F1F0 + F000EDEDEC00E6E5E500E3E2E100173391001938A1001938A1001938A1002047 + CA002047CA008A9FE300000000000000000000000000788DD7004F63AA00395B + CD00173FC400173FC400173FC400173FC400173FC400173FC400173FC400173F + C400173FC40012329D00FFFFFF00FFFFFF00A6B6E800173FC400173FC400173F + C400153DC400395BCD00788DD7000000000000000000788DD7004F63AA00395B + CD00173FC400173FC400173FC400173FC400173FC400173FC400FFFFFF00FFFF + FF00FFFFFF00FFFFFF00173FC400173FC400173FC400173FC400173FC400173F + C400153DC400395BCD00788DD70000000000000000003A509A004768D700133D + CA00153EC9004062D300E0E5F600C3CCEA001A3CAD000A32B700647ED800FFFF + FF00FFFFFF000429A700042FBE00042FBD00FFFFFF00FFFFFF008F9FD400042D + B800042DB8004362C9000000000000000000000000003E55A30091A6EA003157 + D6003157D6004668D8003350B2002D4BAE002D4BAE002D4BAE002D4BAE002D4B + AE002D4BAE002D4BAE002D4BAE002D4BAE002D4BAE002D4BAE003350B2003157 + D6003157D60090A5EA000000000000000000000000004963B600546DC0003357 + CF00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234A + CB00234ACB001C3BA300FFFFFF00FFFFFF00FFFFFF00ABBAEB00234ACB00234A + CB002148CB003357CF004963B60000000000000000004963B600546DC0003357 + CF00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00234ACB00234ACB00234ACB00234ACB00234ACB00234A + CB002148CB003357CF004963B60000000000000000003C52A000496BDA001C46 + D1002149D1001F48D0001D44C900173CB600173DBD001640CB00E1E6F800FFFF + FF00FFFFFF000B33B8000A35C4000833C300FFFFFF00FFFFFF00516BBF00042F + BE00042FBD004363CD000000000000000000000000004058A90094A9ED003A5F + DD003A5FDD004669DF004E70E0004E70E0004E70E0004E70E0004E70E0004E70 + E0004E70E0004E70E0004E70E0004E70E0004E70E0004E70E0004E70E0003A5F + DD003A5FDD0093A8ED000000000000000000000000003D54A2005C76D0003257 + D3002E53D2002E53D2002B4FC700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00AFBEEE002E53 + D2002D53D2003257D3003D54A20000000000000000003D54A2005C76D0003257 + D3002E53D2002E53D2002E53D2002E53D2002E53D2002E53D200FFFFFF00FFFF + FF00FFFFFF00FFFFFF002E53D2002E53D2002E53D2002E53D2002E53D2002E53 + D2002D53D2003257D3003D54A20000000000000000003F56A5004C6EDF00244D + D7002C53D7002A51D6002951D600254DD400234BD3002F55D500FFFFFF00FFFF + FF00EFF2F900163FCA00153FCB00133DCA00FFFFFF00FFFFFF00193CAE000833 + C4000632C3004364D100000000000000000000000000435CAF0097ACF0004368 + E3004368E3004368E3004368E3004368E3004368E3004368E3004368E3004368 + E3004368E3004368E3004368E3004368E3004368E3004368E3004368E3004368 + E3004368E30097ACF0000000000000000000000000004158A600627CD900365C + DC004569DF004569DF003854B200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008BA1 + EB004468DF003A5FDC004158A60000000000000000004158A600627CD900365C + DC004569DF004569DF004569DF004569DF004569DF004569DF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF004569DF004569DF004569DF004569DF004569DF004569 + DF004468DF003A5FDC004158A6000000000000000000445CAF005073E700345C + E2004267E3006F8BE9006D89E800DAE1F900FFFFFF00FFFFFF00FFFFFF007A8F + D4002B4FC7002D54D900385DDA00F0F3FC00FFFFFF005771C8002147C8001C46 + D1001540D0004668D9000000000000000000000000004862B9009EB2F600587B + F000587BF0005070D9004F6ED7004F6ED7004F6ED7004F6ED7004F6ED7004F6E + D7004F6ED7004F6ED7004F6ED7004F6ED7004F6ED7004F6ED7004F6ED700587B + F000587BF0009DB2F600000000000000000000000000435BAB006681DE003F64 + E1005173E3005173E300415CB600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005173 + E3004F71E3004368E100435BAB000000000000000000435BAB006681DE003F64 + E1005173E3005173E3005173E3005173E3005173E3005173E300FFFFFF00FFFF + FF00FFFFFF00FFFFFF005173E3005173E3005173E3005173E3005173E3005173 + E3004F71E3004368E100435BAB000000000000000000465FB4005275EA003D64 + E7004D71E900FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008296D800375A + CD003C62E100385EDF00BFCBF400FFFFFF00BBC6E900284BBE002D55DA002750 + D9001D48D600486BDD000000000000000000000000004A64BB00A1B5F7006183 + F2006183F2005876DA00BDC9F100BDC9F100BDC9F100BDC9F100BDC9F100BDC9 + F100BDC9F100BDC9F100BDC9F100BDC9F100BDC9F100BDC9F100BDC9F1006183 + F2006183F200A0B4F700000000000000000000000000475EB4006C86E0005275 + E7005C7CE8005C7CE8004963B900FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C2CEF6005C7C + E800597AE8005375E700475EB4000000000000000000475EB4006C86E0005275 + E7005C7CE8005C7CE8005C7CE800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E1E7FB005C7CE8005C7C + E800597AE8005375E700475EB40000000000000000004963B9005478EE00456B + EB00587BED00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B9C5EB004567D900486D + E700456AE60094A9F000FFFFFF00FFFFFF004D69C800365BD400395FE0003058 + DE00244EDB004A6DE1000000000000000000000000004B65BC00A4B7F8006A8A + F3006A8AF300607CDA00C4CEF1009DAEE8009DAEE8009DAEE8009DAEE8009DAE + E8009DAEE8009DAEE8009DAEE8009DAEE8009DAEE8009DAEE8009DAEE8006A8A + F3006A8AF300A3B6F8000000000000000000000000007790E100687FCD006E8C + F0007491F1007491F1007491F1007491F1007491F1007491F1007491F1007491 + F1007491F1005C73C000FFFFFF00FFFFFF00CAD5F9007491F1007491F1007491 + F1006988EF006E8CF0007790E10000000000000000007790E100687FCD006E8C + F0007491F1007491F100738FEE00677DC500E0E5F300FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007D98F2007491F1007491F1007491 + F1006988EF006E8CF0007790E10000000000000000004D67BE00597CF2005579 + F1006E8DF3006B8AF0006785EA006585EE006686F3006384F2006082F1006888 + F100C0CDF800FFFFFF00FFFFFF00AEBBE7005074EA005074EC004D72EA00456A + E900345DE6004E72E9000000000000000000000000004D67BE00AABCF8007C97 + F4007C97F4006F88DC00D1D9F400B2C0EC00B2C0EC00B2C0EC00B2C0EC00B2C0 + EC00B2C0EC00B2C0EC00B2C0EC00B2C0EC00B2C0EC00B2C0EC00B2C0EC007C97 + F4007C97F400A9BBF800000000000000000000000000BFCDF6005971C3007E98 + F1007E99F500819BF500819BF500819BF500819BF500819BF500819BF500819B + F500819BF500677CC400FFFFFF00FFFFFF00819BF500819BF500819BF5007E99 + F5007290F4007E98F100CED8F7000000000000000000BFCDF6005971C3007E98 + F1007E99F500819BF500819BF5006B82CD007084C700E2E6F400FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00E7ECFD00819BF500819BF500819BF5007E99 + F5007290F4007E98F100CED8F70000000000000000004E68BF005B7EF2005D80 + F2007A96F4007894F4007693F4007391F400718FF4006F8DF300A1B5F700EBF0 + FD00FFFFFF00FFFFFF00B4C0E9005370D0005C7EF0005B7EF000597CEF004E73 + ED003B63EB005074EC000000000000000000000000004E68BF00ADBEF800849E + F500849EF500778EDC00D7DEF400BCC8EE00BCC8EE00BCC8EE00BCC8EE00BCC8 + EE00BCC8EE00BCC8EE00BCC8EE00BCC8EE00BCC8EE00BCC8EE00BCC8EE00849E + F500849EF500ACBDF800000000000000000000000000000000005975D100768D + DD00829CF5008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4 + F6008BA4F6006F83C500FFFFFF00D4DDFC008BA4F6008BA4F6008BA4F600829C + F500809BF500768DDD00000000000000000000000000000000005975D100768D + DD00829CF5008BA4F6008BA4F60089A2F3007489CD00788AC800FFFFFF00FFFF + FF00FFFFFF00FFFFFF00E9EEFD0092A9F6008BA4F6008BA4F6008BA4F600829C + F500809BF500768DDD000000000000000000000000004F69C0005D80F2006586 + F300849EF500829DF500819BF5007E99F50093AAF600C3D0FA00FFFFFF00FFFF + FF00FFFFFF009BABE1005E78D1006987ED006888F3006686F3006586F300597C + F200436AEF005277F0000000000000000000000000004F69C000B0C0F9008DA5 + F6008DA5F6007F95DD00DDE2F600C6D0F000C6D0F000C6D0F000C6D0F000C6D0 + F000C6D0F000C6D0F000C6D0F000C6D0F000C6D0F000C6D0F000C6D0F0008DA5 + F6008DA5F600AFC0F9000000000000000000000000000000000000000000607A + D70095ABF50092A9F600A0B4F700A2B6F800A2B6F800A2B6F800A2B6F800A2B6 + F800A2B6F8008E9FD800A2B6F800A2B6F800A2B6F800A2B6F8009FB3F70094AA + F500758AD500607AD7000000000000000000000000000000000000000000607A + D70095ABF50092A9F600A0B4F700A2B6F800A2B6F800A0B3F4008998C900E7EA + F400FFFFFF00A8BAF800A2B6F800A2B6F800A2B6F800A2B6F8009FB3F70094AA + F500758AD500607AD700000000000000000000000000516BC2006082F200708E + F4009AAFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D5DBF10098A8 + DC00758BD300859FF500839EF500829CF5007F9AF5007D98F5007B97F4006989 + F3004F74F1005579F100000000000000000000000000516BC200B5C5F9009EB3 + F7009EB3F7008EA0DE00E5EAF700D5DCF200D5DCF200D5DCF200D5DCF200D5DC + F200D5DCF200D5DCF200D5DCF200D5DCF200D5DCF200D5DCF200D5DCF2009EB3 + F7009EB3F700B4C4F90000000000000000000000000000000000000000000000 + 000090A2E2009CB1F7009CB1F700AEBFF800AEBFF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800A9BBF8009CB1F7008EA1 + E300546FCA000000000000000000000000000000000000000000000000000000 + 000090A2E2009CB1F7009CB1F700AEBFF800AEBFF800AEBFF80091A0D000929F + CA00DBE0F300AEBFF800AEBFF800AEBFF800AEBFF800A9BBF8009CB1F7008EA1 + E300546FCA0000000000000000000000000000000000526CC3005F81F200718F + F400A2B6F800FFFFFF00FFFFFF00E8EBF600D9DEF000B2BDE3008598D9008CA1 + E60092A9F40090A8F6008EA6F6008CA5F60089A2F60087A1F500859FF5006E8D + F3005075F1005579F100000000000000000000000000526CC300B8C7F900A7B9 + F800A7B9F80096A6DF00E9EDF800DCE1F400DCE1F400DCE1F400DCE1F400DCE1 + F400DCE1F400DCE1F400DCE1F400DCE1F400DCE1F400DCE1F400DCE1F400A7B9 + F800A7B9F800B6C6F90000000000000000000000000000000000000000000000 + 00005870C70092A5E300A3B6F700ACBDF800B5C5F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F900ACBDF800A2B6F800A1B5F7005870 + C700BFCDF6000000000000000000000000000000000000000000000000000000 + 00005870C70092A5E300A3B6F700ACBDF800B5C5F900B9C8F900B6C5F600A1AE + D900B6C5F600B9C8F900B9C8F900B9C8F900ACBDF800A2B6F800A1B5F7005870 + C700BFCDF60000000000000000000000000000000000536DC4006685EC006C8B + F300A3B6F800A4B5EE0092A1D30097A7DD0098A8E1009BACE700A2B6F800A1B5 + F7009FB3F7009BB0F70099AFF70097ADF70094ABF60091A8F6008CA5F6006B8A + F3005075F1005E7EEC00000000000000000000000000536DC400BAC9FA00B0C0 + F900B0C0F9009DADDF00EDF0F900E3E8F600E3E8F600E3E8F600E3E8F600E3E8 + F600E3E8F600E3E8F600E3E8F600E3E8F600E3E8F600E3E8F600E3E8F600B0C0 + F900B0C0F900B9C8F90000000000000000000000000000000000000000000000 + 00000000000000000000627DD900879BE300A0B3F500A3B6F800A4B7F8009FB3 + F7009FB3F700A2B6F800A3B6F800A0B4F700879BE300677ECC00627DD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000627DD900879BE300A0B3F500A3B6F800A4B7F8009FB3 + F7009FB3F700A2B6F800A3B6F800A0B4F700879BE300677ECC00627DD9000000 + 000000000000000000000000000000000000000000007A92E5006079CC00728E + EE007794F400829DF5008AA3F6008DA5F6008DA5F6008BA4F60089A2F60088A2 + F60087A1F500839EF500829DF500819BF5007B97F4007693F4006C8BF3005E80 + F2006786ED005F78CC00000000000000000000000000556FC600BECCFA00C0CE + FA00C0CEFA00ADB9E100F4F6FA00EDF0F800EDF0F800EDF0F800EDF0F800EDF0 + F800EDF0F800EDF0F800EDF0F800EDF0F800EDF0F800EDF0F800EDF0F800C0CE + FA00C0CEFA00BDCBFA0000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D500637BCC007C91DA0092A8F00091A7 + F10092A8F10092A8F000879DE7007B90D9005E79D500AFBFF300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D500637BCC007C91DA0092A8F00091A7 + F10092A8F10092A8F000879DE7007B90D9005E79D500AFBFF300000000000000 + 00000000000000000000000000000000000000000000000000005974CF00617A + CD005F81F2006586F3006888F3006A8AF3006A8AF3006A8AF3006A8AF3006989 + F3006989F3006888F3006888F3006787F3006586F3006384F3006082F2005E7D + E5006079CD006984DD000000000000000000000000005670C700A6B9F800C1CE + FA00C3D0FA00BCC8EE00F9FAFE00F4F6FC00F4F6FC00F4F6FC00F4F6FC00F4F6 + FC00F4F6FC00F4F6FC00F4F6FC00F4F6FC00F4F6FC00F4F6FC00F4F6FC00C3D0 + FA00C0CEFA00A4B7F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000007C93 + E5005771C8005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C8005D76 + CC007C93E500000000000000000000000000000000005771C9005771C8005771 + C8005771C8005771C800ABB8E300ABB8E300ABB8E300ABB8E300ABB8E300ABB8 + E300ABB8E300ABB8E300ABB8E300ABB8E300ABB8E300ABB8E300ABB8E3005771 + C8005771C8005771C80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DEDE + DE00D3D3D300CECECE00CECECE00C0C0C00097A7D7005769A700293462002530 + 5800253058002934620032427B005769A700C0C0C000C7C7C700CECECE00D6D6 + D600DEDEDE00DEDEDE000000000000000000000000000000000000000000DEDE + DE00D3D3D300CECECE00CECECE00C0C0C00097A7D7005769A700293462002530 + 5800253058002934620032427B005769A700C0C0C000C7C7C700CECECE00D6D6 + D600DEDEDE00DEDEDE000000000000000000000000000000000000000000DEDE + DE00D3D3D300CECECE00CECECE00C0C0C00097A7D7005769A700293662002531 + 5800253158002633600032427B005769A700C0C0C000C7C7C700CECECE00D6D6 + D600DEDEDE00DEDEDE0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004259A70046589700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004658970035447A004259A7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004259A70046589700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004658970035447A004259A7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004259A70046599700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004659970035457A004259A7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000A3B3EA002F3E73003F4F840044579700495DA100495D + A100495DA100445797003F4F86002F3F7400A3B3EA0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F100000000000000000000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F100000000000000000000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F100000000000000000000000000000000000000000000000000000000000000 + 0000000000004159A70035447A00455EAF002F4BAB001E3DA400032699000326 + 9900032699001E3DA4002F4BAB00455EAF0035447A004159A700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00002F4284004D5F9E00415CB7000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000000000000000000000000 + 00002F4284004D5F9E00415CB7000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000000000000000000000000 + 00002F4284004D609E00415CB7000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000000000000000000000000 + 00002E42880042538E004760B1000B2EA10003279F0003279F0003279F000327 + 9F0003279F0003279F0003279F000B2EA1004760B10042538E002E4288000000 + 000000000000000000000000000000000000000000000000000000000000475F + B100415DBD00082EAE00042BAC00042BAC00042BAC00042BAC001338B100CFD6 + EE00FFFFFF001338B100042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046589A00475FB1000000000000000000000000000000000000000000475F + B100415DBD00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046589A00475FB1000000000000000000000000000000000000000000475F + B100415DBD00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046599A00475FB10000000000000000000000000000000000000000003147 + 8F003654B900082DA9000429A8000429A8000429A8000429A8000429A8000429 + A8000429A8000429A8000429A8000429A8000429A800082DA9003654B9003147 + 8F00000000000000000000000000000000000000000000000000A8B7ED003E50 + 8E001439B600042CB100042CB100042CB100042CB100042CB100CFD6EF00FFFF + FF00FFFFFF00CFD6EF001439B600042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000000000000A8B7ED003E50 + 8E001439B600042CB100042CB100042CB100042CB100042CB1001439B600CFD6 + EF00042CB100042CB100042CB100042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000000000000A8B7ED003E50 + 8E001439B600042CB100042CB100042CB100042CB100042CB100A0AFE100A0AF + E100042CB100042CB100042CB100042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000000000000475FB1004658 + 9A00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00082EAE004658 + 9A00475FB1000000000000000000000000000000000000000000455BAE004C62 + AD00042DB600042DB600042DB600042DB600042DB600143ABA00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00D0D7F100143ABA00042DB600042DB600042DB600042D + B6002B4EC2004C62AD0000000000000000000000000000000000455BAE004C62 + AD00042DB600042DB600042DB600042DB600042DB600042DB600D0D7F100FFFF + FF00042DB600042DB600042DB600042DB600042DB600042DB600042DB600042D + B6002B4EC2004C62AD0000000000000000000000000000000000455CAE004C63 + AD00042DB600042DB600042DB600042DB600042DB600042DB600FFFFFF00FFFF + FF009FAFE200042DB600042DB600042DB600042DB600042DB600042DB600042D + B6002B4EC2004C63AD00000000000000000000000000A8B7ED003E508E004964 + BF00042CB100042CB100042CB100042CB100042CB100042CB100042CB100042C + B100042CB100042CB100042CB100042CB100042CB100042CB100042CB1004964 + BF003E508E00A8B7ED00000000000000000000000000788DD7004F63AA00395B + CD00173FC400173FC400173FC400264BC800D2D9F300FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00264BC800173FC400173FC400173F + C400153DC400395BCD00788DD7000000000000000000788DD7004F63AA00395B + CD00173FC400173FC400173FC400173FC400264BC800D2D9F300FFFFFF00FFFF + FF00173FC400173FC400173FC400173FC400173FC400173FC400173FC400173F + C400153DC400395BCD00788DD7000000000000000000788DD7004F63AA00395B + CD00173FC400173FC400173FC400173FC400A6B6E800FFFFFF00FFFFFF00FFFF + FF00FFFFFF00A6B6E800173FC400173FC400173FC400173FC400173FC400173F + C400153DC400395BCD006C83D40000000000000000003F5194004966C8001139 + BF000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE000C35 + BE000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE001139 + BF004966C8003F5194000000000000000000000000004963B600546DC0003357 + CF00234ACB00234ACB00234ACB00D4DBF400FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D4DBF4002F54CE00234ACB00234A + CB002148CB003357CF004963B60000000000000000004963B600546DC0003357 + CF00234ACB00234ACB00234ACB002F54CE00D4DBF400FFFFFF00FFFFFF00FFFF + FF00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234A + CB002148CB003357CF004963B60000000000000000004963B600546DC0003357 + CF00234ACB00234ACB00234ACB00ABBAEB00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00ABBAEB00234ACB00234ACB00234ACB00234ACB00234A + CB002148CB003357CF004963B60000000000000000004D62A9003659CC00123B + C300173FC400173FC400173FC400173FC400173FC400173FC400173FC400173F + C400173FC400173FC400173FC400173FC400173FC400173FC400173FC400123B + C4003558CC004D62A9000000000000000000000000003D54A2005C76D0003257 + D3002E53D2002E53D2002E53CF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D6DDF5002E53D2002E53 + D2002D53D2003257D3003D54A20000000000000000003D54A2005C76D0003257 + D3002E53D2002E53D2002E53D200D6DDF500FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002E53 + D2002D53D2003257D3003D54A20000000000000000003D54A2005C76D0003257 + D3002E53D2002E53D2002E53D200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00AFBEEE002E53D2002E53D2002E53D2002E53 + D2002D53D2003257D3003D54A20000000000000000005069BE002E53CE001D45 + CA00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234A + CB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB001D45 + CA002D52CE005069BE000000000000000000000000004158A600627CD900365C + DC004569DF004569DF004569DF004569DF004569DF004569DF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF004569DF004569DF004569DF004569DF004569DF004569 + DF004468DF003A5FDC004158A60000000000000000004158A600627CD900365C + DC004569DF004467DC00B6C2EA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004569 + DF004468DF003A5FDC004158A60000000000000000004158A600627DD900365C + DC004569DF003C5BC200B4BFE200FFFFFF00FFFFFF00FFFFFF003D5CC3003854 + B200B4BFE200FFFFFF00FFFFFF00FFFFFF00B8C6F2004569DF004569DF004569 + DF004468DF003A5FDC004158A60000000000000000005774D4002850D5003459 + D700395ED800395ED800395ED800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00395ED800395ED800395ED8003459 + D700224BD4005773D300000000000000000000000000435BAB006681DE003F64 + E1005173E3005173E3005173E3005173E3005173E3005173E300FFFFFF00FFFF + FF00FFFFFF00FFFFFF005173E3005173E3005173E3005173E3005173E3005173 + E3004F71E3004368E100435BAB000000000000000000435BAB006681DE003F64 + E1005173E3004764C7004C66BA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005173 + E3004F71E3004368E100435BAB000000000000000000435BAB006681DE003F64 + E1005173E3004764C700415CB600FFFFFF00FFFFFF00BECBF5005173E3004764 + C700415CB600FFFFFF00FFFFFF00FFFFFF00FFFFFF00BCC9F4005173E3005173 + E3004F71E3004368E100435BAB0000000000000000005A77D8003057DA003E63 + DD004569DF004569DF003E5EC800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004569DF004569DF004569DF003E63 + DD002B53DA005975D700000000000000000000000000475EB4006C86E0005275 + E7005C7CE8005C7CE8005C7CE8005C7CE8005C7CE8005C7CE800FFFFFF00FFFF + FF00FFFFFF00FFFFFF005C7CE8005C7CE8005C7CE8005C7CE8005C7CE8005C7C + E800597AE8005375E700475EB4000000000000000000475EB4006C86E0005275 + E7005C7CE8005B7BE5004E69C300DCE1F100FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005C7C + E800597AE8005375E700475EB4000000000000000000475EB4006C86E0005275 + E7005C7CE8005C7CE800526ECB00BCC5E500C2CEF6005C7CE8005C7CE8005C7C + E800526ECB00BCC5E500FFFFFF00FFFFFF00FFFFFF00FFFFFF00C0CCF5005C7C + E800597AE8005375E700475EB40000000000000000005C79DB00375EDF00486C + E3005173E3005173E3004967CD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005173E3005173E3005173E300486C + E3003058DE005B78DB000000000000000000000000007790E100687FCD006E8C + F0007491F1007491F1007491F1007491F1007491F1007491F100FFFFFF00FFFF + FF00FFFFFF00FFFFFF007491F1007491F1007491F1007491F1007491F1007491 + F1006988EF006E8CF0007790E10000000000000000007790E100687FCD006E8C + F0007491F1007491F1007491F1006078C900677DC500E0E5F300FFFFFF00FFFF + FF007491F1007491F1007491F1007491F1007491F1007491F1007491F1007491 + F1006988EF006E8CF0007790E10000000000000000007790E100687FCD006E8C + F0007491F1007491F1007491F1007491F1007491F1007491F1007491F1007491 + F1007491F100657FD3005C73C000C3CBE800FFFFFF00FFFFFF00FFFFFF007491 + F1006988EF006E8CF0007790E10000000000000000005C78D5005074EA005477 + EA006886EC006886EC006886EC006886EC006886EC006886EC006886EC006886 + EC006886EC006886EC006886EC006886EC006886EC006886EC006886EC005477 + EA004A6FE9005D78D500000000000000000000000000BFCDF6005971C3007E98 + F1007E99F500819BF500819BF500819BF500819BF500819BF500FFFFFF00FFFF + FF00FFFFFF00FFFFFF00819BF500819BF500819BF500819BF500819BF5007E99 + F5007290F4007E98F100CED8F7000000000000000000BFCDF6005971C3007E98 + F1007E99F500819BF500819BF5007E98F1006B82CD007084C700FFFFFF00FFFF + FF00819BF500819BF500819BF500819BF500819BF500819BF500819BF5007E99 + F5007290F4007E98F100CED8F7000000000000000000CED8F7005971C3007E98 + F1007D98F500819BF500819BF500819BF500819BF500819BF500819BF500819B + F500819BF500819BF5007088D600677CC400FFFFFF00FFFFFF00CFD9FA007E99 + F5007290F4007E98F100CED8F70000000000000000005D76C900597CEE005578 + EE007390F0007491F1007491F1007491F1007491F1007491F1007491F1007491 + F1007491F1007491F1007491F1007491F1007491F1007491F1007390F0005679 + EE005377EE005D77CA00000000000000000000000000000000005975D100768D + DD00829CF5008BA4F6008BA4F6008BA4F6008BA4F6008BA4F600FFFFFF00FFFF + FF00FFFFFF00FFFFFF008BA4F6008BA4F6008BA4F6008BA4F6008BA4F600829C + F500809BF500768DDD00000000000000000000000000000000005975D100768D + DD00829CF5008BA4F6008BA4F6008BA4F60089A2F3007489CD00E3E7F400FFFF + FF008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4F600829C + F500809BF500768DDD00000000000000000000000000000000005975D100758C + DD007F9AF5008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4F6008BA4 + F6008BA4F6008BA4F6008BA4F6007A8FD700C9D0E800D4DDFC008BA4F600819B + F500809BF500768DDD00000000000000000000000000566FC2006685EE00567A + F1007C97F400809BF500819BF500819BF500819BF500819BF500819BF500819B + F500819BF500819BF500819BF500819BF500819BF500819BF5007D98F500587B + F1006081ED00566FC2000000000000000000000000000000000000000000607A + D70095ABF50092A9F600A0B4F700A2B6F800A2B6F800A2B6F800FFFFFF00FFFF + FF00FFFFFF00FFFFFF00A2B6F800A2B6F800A2B6F800A2B6F8009FB3F70094AA + F500758AD500607AD7000000000000000000000000000000000000000000607A + D70095ABF50092A9F600A0B4F700A2B6F800A2B6F800A2B6F8008898CF00A2B6 + F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6F8009FB3F70094AA + F500758AD500607AD7000000000000000000000000000000000000000000607A + D7008CA4F4008BA4F6009DB2F700A2B6F800A2B6F800A2B6F800A2B6F800A2B6 + F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6F8009CB1F70092A9 + F400758AD500607AD700000000000000000000000000AEBEF3005B73C5006886 + EC007391F40088A2F60093AAF60096ACF70096ACF70096ACF70096ACF70096AC + F70096ACF70096ACF70096ACF70096ACF70095ACF7008AA3F6007693F4006B89 + ED005B72C500AEBEF30000000000000000000000000000000000000000000000 + 000090A2E2009CB1F7009CB1F700AEBFF800AEBFF800AEBFF8008B99C7008B99 + C7008B99C700AEBFF800AEBFF800AEBFF800AEBFF800A9BBF8009CB1F7008EA1 + E300546FCA000000000000000000000000000000000000000000000000000000 + 000090A2E2009CB1F7009CB1F700AEBFF800AEBFF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800A9BBF8009CB1F7008EA1 + E300546FCA000000000000000000000000000000000000000000000000000000 + 00008599E00094ABF60097ADF700AEBFF800AEBFF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800A5B8F80095ACF7008CA0 + E100546FCA000000000000000000000000000000000000000000607AD600647D + D0006384F3007F9AF50093AAF600A2B6F800A2B6F800A2B6F800A2B6F800A2B6 + F800A2B6F800A2B6F800A2B6F800A2B6F80095ACF700829CF5006686F300657E + D200607AD6000000000000000000000000000000000000000000000000000000 + 00005870C70092A5E300A3B6F700ACBDF800B5C5F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F900ACBDF800A2B6F800A1B5F7005870 + C700BFCDF6000000000000000000000000000000000000000000000000000000 + 00005870C70092A5E300A3B6F700ACBDF800B5C5F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F900ACBDF800A2B6F800A1B5F7005870 + C700BFCDF6000000000000000000000000000000000000000000000000000000 + 0000576FC80090A3E300A0B4F600ACBDF800B5C5F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F900A9BBF8009CB1F70098ADF5005870 + C700BFCDF600000000000000000000000000000000000000000000000000536F + CA006989F3006A8AF300849EF500A8BAF800ADBEF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800ADBEF800A9BBF80087A1F5006D8CF3006B8AF300536F + CA00000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000627DD900879BE300A0B3F500A3B6F800A4B7F8009FB3 + F7009FB3F700A2B6F800A3B6F800A0B4F700879BE300677ECC00627DD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000627DD900879BE300A0B3F500A3B6F800A4B7F8009FB3 + F7009FB3F700A2B6F800A3B6F800A0B4F700879BE300677ECC00627DD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000627DD900879BE3009FB3F500A3B6F800A4B7F8009FB3 + F7009FB3F700A2B6F800A3B6F800A0B4F700859BE200667DCC00627DD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005570CB006780D400718EEE00819BF50090A8F6009FB3F700AFC0F900B1C1 + F900AFC0F900A1B5F70093AAF600849EF5007490ED006981D4005570CB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D500637BCC007C91DA0092A8F00091A7 + F10092A8F10092A8F000879DE7007B90D9005E79D500AFBFF300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D500637BCC007C91DA0092A8F00091A7 + F10092A8F10092A8F000879DE7007B90D9005E79D500AFBFF300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D500637BCC007C91DA0092A8F00091A7 + F10092A8F10092A8F000869CE7007B90D9005E79D500AFBFF300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000627DD8006179CA007A95F1007D98F500849EF5008BA4F6008EA6 + F6008BA4F60086A0F5007F9AF5007D97F1006179CA00627DD800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000AFBFF3005E77CA006881D4006B85E2007691ED007792 + ED007691ED006C86E2006881D4005E77CA00AFBFF30000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000253671003E4D + 8200495991008699DD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000002737730027377300B6C5F0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000A3B3EA002F3E73003F4F840044579700495DA100495D + A100495DA100445797003F4F86002F3F7400A3B3EA0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000008197DC0044579500405B + B8005B73C4005A679400293D8500B9C6F100000000000000000000000000293D + 8500293D8500B9C6F10000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000273770003F519200283B7A000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004159A70035447A00455EAF002F4BAB001E3DA400032699000326 + 9900032699001E3DA4002F4BAB00455EAF0035447A004159A700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008197DD002A3C7B003755BB003E5B + BD008798D100465BA000465BA0002A3E83000000000000000000BAC6F200465B + A000465BA0002A3E830000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000002A3C7800435EB90040549800B9C6F10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00002E42880042538E004760B1000B2EA10003279F0003279F0003279F000327 + 9F0003279F0003279F0003279F000B2EA1004760B10042538E002E4288000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000354787004963B7002B4EC0007188D4006273 + B0004B64B500123DCC00123DCC004A6BD80032499A0032499A004B64B500123D + CC00123DCC004A6BD800384FA200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000304486004260C5001E42BA00445AA50032468E00BAC7F2000000 + 0000000000000000000000000000000000000000000000000000000000003147 + 8F003654B900082DA9000429A8000429A8000429A8000429A8000429A8000429 + A8000429A8000429A8000429A8000429A8000429A800082DA9003654B9003147 + 8F00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005169BE004A64BA002A4EC400042EB9007289D7006677 + B8004F69C0001240DA000535D8001240DA004E69BF004E69BF004B6EE3000535 + D8001240DA004B6EE3003D55AC00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000034488E004363CC00143BBF003F5FCB00455DAC00354A95000000 + 0000000000000000000000000000000000000000000000000000475FB1004658 + 9A00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00082EAE004658 + 9A00475FB1000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000546CC000384C90002B50C800042FBE00042FBE002B4FC700869A + DC005E74BB004C71ED001344E7000539E600476DED00476DED001344E7001344 + E7004C71ED00536DCA00BECCF5000000000000000000374C9500374C9500374C + 9500374C9500374C9500374C9500374C9500374C9500374C9500374C9500374C + 9500374C9500374C95004364D300143DC700103AC6003E60D1004760B300BDC9 + F4000000000000000000000000000000000000000000A8B7ED003E508E004964 + BF00042CB100042CB100042CB100042CB100042CB100042CB100042CB100042C + B100042CB100042CB100042CB100042CB100042CB100042CB100042CB1004964 + BF003E508E00A8B7ED0000000000000000000000000026356E0026356E002635 + 6E0026356E0026356E0026356E0026356E0026356E0026356E0026356E002635 + 6E0026356E0026356E0026356E0026356E0026356E0026356E0026356E002635 + 6E0026356E0026356E0031458E00000000000000000000000000000000000000 + 0000394E97004D68C5002C52D1000431C7000431C7000431C6000431C6000431 + C5003358D0006478C2005C76D2005378F1001748EC001748EC001748EC005C76 + D200435CB600BECCF5000000000000000000000000004D6DD6001441D8001441 + D8001441D8001441D8001441D8001441D8001441D8001441D8001441D8001441 + D8001441D8001441D8001441D8000838D5000535D5000535D500103ED7004C67 + C1003F57AA00BECCF5000000000000000000000000003F5194004966C8001139 + BF000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE00FFFFFF00FFFF + FF00FFFFFF000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE001139 + BF004966C8003F519400000000000000000000000000435FBC00435FBC00435F + BC00435FBC00435FBC00435FBC00435FBC00435FBC00435FBC00435FBC00435F + BC00435FBC00435FBC00435FBC00435FBC00435FBC00435FBC00435FBC00435F + BC00435FBC00435FBC002C3E7B0000000000000000000000000000000000BCC9 + F400536BBD00385DD7000C39CE000E3ACE000E3ACD000E3ACD000E3ACC000E3A + CC003B5FD600667BC4006981D5006787F300315DEF00315DEF00315DEF006981 + D500455FB800BFCCF5000000000000000000000000004F70DD000637DD000738 + DD000738DD000738DD000738DD000738DD000738DD000738DD000738DD000738 + DD000738DD000738DD000738DD000738DD000738DD000738DD000738DD004167 + E6004F6AC700435BB1000000000000000000000000004D62A9003659CC00123B + C300173FC400173FC400173FC400173FC400173FC400173FC400FFFFFF00FFFF + FF00FFFFFF00173FC400173FC400173FC400173FC400173FC400173FC400123B + C4003558CC004D62A9000000000000000000000000004361C700042CB400042C + B400042CB400042CB400042CB400042CB400042CB400042CB400042CB400042C + B400042CB400042CB400042CB400042CB400042CB400042CB400042CB400042C + B400042CB400042CB40032468800000000000000000000000000000000003E55 + AB004266DD001A45D6001944D5001D47D5001C46D4001C46D4001D47D4004669 + DB0092A4E6006F87D6007F9AF500567AF2004C72F1004C72F1004C72F1007F9A + F5006F87D6004761BA000000000000000000000000005677E4001848E7001D4C + E8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4C + E8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8002552 + E9004B70ED00536FCE00BFCCF50000000000000000005069BE002E53CE001D45 + CA00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00FFFFFF00FFFF + FF00FFFFFF00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB001D45 + CA002D52CE005069BE000000000000000000000000004568DE000D3BD5000E3C + D5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3C + D5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3CD5000E3C + D5000E3CD5000C3AD5003F57A5000000000000000000ABBCF100435AA9005B78 + D9002E57E000345CE100385FE200385FE100385FE100385FE0008FA5EE00778B + CE007F93DA0088A2F600819BF50087A1F500899BDD00899BDD00A5B8F800819B + F50088A2F600A5B8F8004E68C30000000000000000006785EA00496FF0005479 + F1005579F1005579F1005579F1005579F1005579F1005579F1005579F1005579 + F1005579F1005579F1005579F1005579F1005579F1005579F1005579F1005176 + F1004B71F1005A7DF2004A64BD0000000000000000005774D4002850D5003459 + D700395ED800395ED800395ED800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00395ED800395ED800395ED8003459 + D700224BD4005773D3000000000000000000000000004D72EA002652E6002A56 + E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56 + E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56E7002A56 + E7002955E700224FE500465FB40000000000000000004E68C3007B8DCC006383 + EC003E65E6004469E700456AE700466BE700456AE600456AE60096ABF000798C + D0008699DD00A1B5F700A1B5F700B7C7F9006E82CB006E82CB00899CDE00A1B5 + F700A1B5F700B7C7F9004F6AC50000000000000000006E8AEA005E80F200708E + F400718FF400718FF400718FF400718FF400718FF400718FF400718FF400718F + F400718FF400718FF400718FF400718FF400718FF400718FF400718FF4006989 + F3006E8DF300607AD600BFCCF50000000000000000005A77D8003057DA003E63 + DD004569DF004569DF003E5EC800FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004569DF004569DF004569DF003E63 + DD002B53DA005975D7000000000000000000000000005579F1003F68F000456C + F000456CF000456CF000456CF000456CF000456CF000456CF000456CF000456C + F000456CF000456CF000456CF000456CF000456CF000456CF000456CF000456C + F000446BF0003761EF004C66BD000000000000000000475FB200B8C5EF005175 + ED004E73EB005376EC005376EC005376EC005477EC005376EB006F8CEE00A9B9 + F1006F84CD00C0CEFA00C0CEFA008FA0DF00A9B9F000A9B9F0006F84CD00C0CE + FA00C0CEFA008FA0DF00BFCDF6000000000000000000738EEB006D8CF30087A1 + F5008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5 + F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008BA4F6007F9A + F500657FD7004C66C0000000000000000000000000005C79DB00375EDF00486C + E3005173E3005173E3004967CD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005173E3005173E3005173E300486C + E3003058DE005B78DB000000000000000000000000005D80F2006586F3007491 + F4007B97F4007B97F4007B97F4007B97F4007B97F4007B97F4007B97F4007B97 + F4007B97F4007B97F4007B97F4007B97F4007B97F4007B97F4007B97F4007995 + F4006F8DF300597CF200516BC20000000000000000008095DE00A9BBF800577B + F2006F8DF3006F8DF3006F8DF3006F8DF3006F8DF3006F8DF3006F8DF300708E + F4008AA3F5007F91D3007F91D300B4C3F4006F8DF2006F8DF2008AA3F4007D91 + D2007D8FD300AFBFF3006982D90000000000000000006985E300738EEB007C96 + EC00829BED00829BED00829BED00829BED00829BED00829BED00829BED00829B + ED00839CED0096ABEF00B8C7F900C5D1FA00C1CEFA00ACBDF8008CA5F6004F69 + C200BFCDF600000000000000000000000000000000005C78D5005074EA005477 + EA006886EC006886EC006886EC006886EC006886EC006886EC00FFFFFF00FFFF + FF00FFFFFF006886EC006886EC006886EC006886EC006886EC006886EC005477 + EA004A6FE9005D78D5000000000000000000000000005E7DEA00718DEC007792 + ED007A95EC007A95EC007A95EC007A95EC007A95EC007A95EC007A95EC007A95 + EC007A95EC007A95EC007A95EC007A95EC007A95EC007A95EC007A95EC007993 + ED007590EC006D8AEC00546EC500000000000000000099ACEE00B1C1F9007290 + F400839EF5007F9AF5007D98F5007D98F5007D98F5007D98F5007D98F5007D98 + F5007D98F500BBCAFA00BBCAFA0097ADF7007F9AF5007D98F5007D98F500B0C0 + F800A5B8F7007995F400536ECA000000000000000000506AC100506AC100506A + C100506AC100506AC100506AC100506AC100506AC100506AC100506AC100506A + C100506AC100506AC1009BB0F700BDCBFA00B5C5F90096ACF7006882D800BFCD + F60000000000000000000000000000000000000000005D76C900597CEE005578 + EE007390F0007491F1007491F1007491F1007491F1007491F100FFFFFF00FFFF + FF00FFFFFF007491F1007491F1007491F1007491F1007491F1007390F0005679 + EE005377EE005D77CA000000000000000000000000005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005A75D1000000000000000000A4B4EE00D3DCFB0087A1 + F50097ADF70092A9F6008EA6F6008AA3F6008AA3F6008AA3F6008AA3F6008AA3 + F6008AA3F60097ADF70096ACF70094ABF6008FA7F6008DA5F6008BA4F6007F9A + F5006C8BF3005B7EF2004760B900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000516BC20088A2F600A3B6F80098AEF7006F87DA00516BC4000000 + 00000000000000000000000000000000000000000000566FC2006685EE00567A + F1007C97F400809BF500819BF500819BF500819BF500819BF500FFFFFF00FFFF + FF00FFFFFF00819BF500819BF500819BF500819BF500819BF5007D98F500587B + F1006081ED00566FC20000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000096AAEC00DFE6FC00D2DB + FB00B5C5F900B7C7F900B4C4F900ADBEF800AABCF800A6B9F800A0B4F700B3C3 + F800DCE3F900DDE4FC00B6C6F900B3C3F900AFC0F900AEBFF800ACBDF80097AD + F7007F9AF5006787F3004861B800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000536DC4006A8AF3007693F400536DC600BFCDF600000000000000 + 00000000000000000000000000000000000000000000AEBEF3005B73C5006886 + EC007391F40088A2F60093AAF60096ACF70096ACF70096ACF700798AC500798A + C5007F92D10096ACF70096ACF70096ACF70095ACF7008AA3F6007693F4006B89 + ED005B72C500AEBEF30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000798FD900DCE3FC00E6EB + FD00BECCFA00C1CEFA00C1CEFA00BBCAFA00B4C4F900ACBDF800A4B7F800A4B4 + EA0093A3DB00E7ECFD00D9E1FC00BBCAFA00BCCAFA00BBCAFA00B6C6F9009DB2 + F700839EF5006F8DF300516AC700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000556FC600577BF200657FDB00BFCDF60000000000000000000000 + 0000000000000000000000000000000000000000000000000000607AD600647D + D0006384F3007F9AF50093AAF600A2B6F800A2B6F800A2B6F800A2B6F800A2B6 + F800A2B6F800A2B6F800A2B6F800A2B6F80095ACF700829CF5006686F300657E + D200607AD6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000637AC700B8C7F800E6EB + FD00DDE4FC00C6D2FA00C3D0FA00BBCAFA00B3C3F900A5B8F800A7B8F3006177 + C4005068BE00E6ECFD00E7ECFD00E0E6FC00BCCAFA00BBCAFA00B6C6F9009BB0 + F700819BF5007B97F400657FD800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005670C7005B78DA005670C8000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000536F + CA006989F3006A8AF300849EF500A8BAF800ADBEF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800ADBEF800A9BBF80087A1F5006D8CF3006B8AF300536F + CA00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCDF600516AC3008699 + DD00DBE2FC00E7ECFD00E6ECFD00E4E9FD00D0DAFB00A6B6EB00536ECA000000 + 0000000000005C73C400A3B3EB00CBD6F900E2E8FD00E0E6FC00DEE5FC00C3D0 + FA008AA0EE006177C80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005570CB006780D400718EEE00819BF50090A8F6009FB3F700AFC0F900B1C1 + F900AFC0F900A1B5F70093AAF600849EF5007490ED006981D4005570CB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF600516B + C7008499DE009CAEEF00A7B8F2008BA0E7007489D100526AC000000000000000 + 000000000000839AE7004F69C2006D82CD0091A7EE009FB2F10094A9EF006C85 + D9005870C3005E79D30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000627DD8006179CA007A95F1007D98F500849EF5008BA4F6008EA6 + F6008BA4F60086A0F5007F9AF5007D97F1006179CA00627DD800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005975D1005069C0004F69C000526CC7006680DA00D3DBF800000000000000 + 0000000000000000000000000000839AE7004F68BF004F68BF004F68BF005E79 + D5009FB0EF000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000AFBFF3005E77CA006881D4006B85E2007691ED007792 + ED007691ED006C86E2006881D4005E77CA00AFBFF30000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000008D8B8B00918F8D00918F8D00918F8D00918F8D00918F + 8D00918F8D00918F8D00918F8D00918F8D00918F8D008D8B8B00000000000000 + 00000000000000000000000000000000000000000000808080007D7D7D009D9D + 9D00C5C5C500C5C5C500C5C5C500C5C5C500C7C7C700C7C7C700C8C8C800CECE + CE00CFCFCF000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000082807F00F7F7F700B2B2B200B2B2B200B2B2B200B2B2 + B200B2B2B200B2B2B200B2B2B200B2B2B200F7F7F70082807F00000000000000 + 00000000000000000000000000000000000000000000B0B0B000A6A6A600F9F8 + F800838382009E9E9E0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000273465007287CC005971 + C3005971C3005971C3005971C3005971C3005971C3005971C3005971C3005971 + C3005971C3005971C3005971C3005971C3002734650000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000030458D0025356E004B494900717170007171700071717000717170007171 + 700071717000717170007171700071717000717170004B49490025356E000000 + 000000000000000000000000000000000000000000000000000086868600DCDC + DC00ACABA9008988870080808000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002A3A73006B86E1001639 + AC001639AC001639AC001639AC001639AC001639AC001639AC001639AC001639 + AC001639AC001639AC001639AC002446B7002A3A730000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000029386E00283564004D4C4B00767675006261600062616000626160006261 + 600062616000626160006261600062616000767675004D4C4B0028356400768C + CF00000000000000000000000000000000000000000000000000000000008F8F + 8F00DCDCDB00A5A4A2008A898800D3D3D3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002C3E7B006984E1000328 + A4000328A4000328A4000328A4000328A4000328A4000328A4000328A4000328 + A4000328A4000328A4000328A400163AB2002C3E7B0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000344892004358A100425F + BF00425FBF0041528C0076757500ACACAC00ACACAC00ACACAC00ACACAC00ACAC + AC00ACACAC00ACACAC00ACACAC00ACACAC00ACACAC007675750041528C00425F + BF00425FBF004358A10000000000000000000000000000000000000000000000 + 0000CECECE00EBEBEA00C0BFBE008A8988007E7E7E00D3D3D300000000000000 + 0000000000000000000000000000B6C3F0003E55A10000000000000000000000 + 0000000000000000000000000000000000000000000033458900738DE7000A32 + B8000A32B800375BD2006B86E0006480DE00163CBC000A32B8000A32B8000A32 + B8000A32B8000A32B8000A32B8001C42C2003345890000000000000000003449 + 9100334589005E76C90000000000000000000000000037477F00CDD6F6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000324588004260C5001036 + B600042CB200021A6B00021A6B00021A6B00021A6B00021A6B00021A6B00021A + 6B00021A6B00021A6B00021A6B00021A6B00021A6B00021A6B00021A6B00042C + B2001036B6004260C50000000000000000000000000000000000000000000000 + 00007E7E7E00CECECE00EBEBEA00A5A4A2008A8988007E7E7E00000000000000 + 00000000000000000000B6C3F000273872002E417F0000000000000000000000 + 00000000000000000000000000000000000000000000364A91007E95E3002349 + C8002C51CF00607BD80044589B007A8CCE006884E200143CC300113AC200113A + C200113AC200113AC200113AC2001E45C800364A910000000000869BE100627C + D600607CDA004D62A4000000000000000000000000006D789F004B62B1000000 + 000000000000000000000000000000000000000000000000000000000000293C + 7A00283871002838710028387100283871002838710028387100283871002838 + 71002838710028387100293C7A000000000000000000354A8F004362CB00042E + B900042EB900042EB900042EB900042EB900042EB900042EB900042EB900042E + B900042EB900042EB900042EB900042EB900042EB900042EB90003269C000325 + 940003269C004362CB0000000000000000000000000000000000000000000000 + 0000D3D3D3007E7E7E00CECECE00C0BFBE00A5A4A2008A898800D3D3D3000000 + 000000000000B6C5F100283873006472A000364E960000000000000000000000 + 000000000000000000000000000000000000000000005068BE00788DD3005B7A + E0005375E400586DB4006D85D6004559A0007F96E1004063D8001841CA001841 + CA001841CA001841CA001841CA001841CA0042579E00000000003D55A8003B60 + DB002F55D600607EE200BDC9F40000000000000000007D89B10035447D00A3B4 + EB00000000000000000000000000000000000000000000000000000000003447 + 8400949DBE00435DB600435DB600435EB6004761B7004963B8004A64B8004E67 + BB004E67BB004C66BA002B3C760000000000000000003C529D004C6CD8002048 + CE00234ACF00234ACF00234ACF00234ACF00234ACF00234ACF00234ACF00234A + CF00234ACF00234ACF00234ACF00234ACF00234ACF00234ACF002243B2002343 + AC001F41B1004B6BD80000000000000000000000000000000000000000000000 + 00000000000000000000D3D3D300CECECE00EBEBEA00C0BFBE00706F6E005C5C + 5C009DADE2006979AE008192CC007E8EC7006077C40000000000000000000000 + 00000000000000000000000000000000000000000000000000005D76CF006073 + BB00798ED200556FC70000000000BDCBF400576CB300859EF0002751DE002751 + DE002751DE002751DE002751DE002751DE00667CCB004058A8006B82D0002751 + DE002751DE003D63E3004E68C0000000000000000000707DAA004B66C0004959 + 9400000000000000000000000000000000000000000000000000000000000000 + 0000BAC6F20094A0C8007A8ED1002647B6002C4CB8003150B9003755BB00415E + BF00435FBF003856BC003143830000000000000000004157A4005373DE00385D + D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61 + D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61D9003C61 + D900365BD8005272DE0000000000000000000000000000000000000000000000 + 00000000000000000000000000007E7E7E00CECECE00EBEBEA00737271006367 + 74003D5093008195D7005871C3007A8CCA00A2B3E90000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000738B + DD004760BA00BECCF5000000000000000000445CB0008AA1EC002F59E6002F59 + E6002F59E6002F59E6002F59E6002F59E6006A88EE00748DE1006A88EE002F59 + E6002F59E6003C63E800516CC700000000000000000054639C006980CC004964 + BF00546CC0000000000000000000000000000000000000000000000000000000 + 0000000000003C5094006E7FBC00516CC9003858C1003E5CC2004462C5004F6B + C800536ECA004764C600344789000000000000000000445BAB005B7BE4005072 + E2005676E3005676E3005676E3005676E3005676E3005676E3005676E3005676 + E3005676E3005676E3005676E3005676E3005676E3005676E3005676E3005676 + E3004C6FE1005979E40000000000000000000000000000000000000000000000 + 0000000000000000000000000000D3D3D3007E7E7E00A7A7A70081859400455B + A6007084C7005A75D2004F6AC7008496D300B7C5F10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005570CC008EA4EF00355FED00355F + ED00355FED00355FED00355FED00355FED003E67EF00456CEF003962ED00355F + ED00355FED00436AEF004761BA0000000000000000003D5196008596D0003F5F + C80040539500556EC30000000000000000000000000000000000000000000000 + 000000000000384D9600586FBA00516DCD004563C9004C69CC00516DCD005C76 + D0005F7AD100536FCD00374C8F0000000000000000004C65BA006A89EF007E99 + F100A4B6F500A8BAF500A8BAF500A8BAF500A8BAF500A8BAF500A8BAF500A8BA + F500A8BAF500A8BAF500A8BAF500A8BAF500A8BAF500A8BAF500A8BAF50090A7 + F3007A95F1006786EF0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A2B1E600788ED9008CA4 + F5006B8AF0005071DF003257D000123ABF004E5F9B00465CAC00000000000000 + 00000000000000000000000000000000000000000000000000006D87DD00637A + C7007087D8005D77D30000000000D2DBF8005B72C10089A2F300456CF000456C + F000456CF000456CF000456CF000456CF0007F98EA00647AC40090A3E400456C + F000456CF000587CF2005671CE000000000000000000B3C0EF006475B0007089 + DA002D52CE004E6CCF004F64AF005E77CC009CAEED0000000000000000009CAE + ED004C65BC005E78D1005C78D8005371D700607CD9006681DB006A85DC00758E + DF007A92E0006883DB003E539D000000000000000000506AC1006F8DF30090A7 + F5008C90A3006C6A6A006C6A6A006C6A6A006C6A6A006C6A6A006C6A6A006C6A + 6A006C6A6A006C6A6A006C6A6A006C6A6A006C6A6A006C6A6A006C6A6A00B6C6 + F8008AA3F5006B8AF30000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000BFCCF5004862BC0095ACF7007C97 + F400718FF4003D63E3000534D1000431C600556EC200475890004F67B7000000 + 00000000000000000000000000000000000000000000AEBEF2005B72C200869F + F0007B95EF00536CBF00D2DBF8007990E2007C8FD4007995F4004C72F1004C72 + F1004C72F1004C72F1004C72F1004C72F1006C83CD005771CE00687DC7005277 + F1004C72F1006C8BF3007990E2000000000000000000000000004960AE0095A5 + D900113DCE002F55D4004B6CDA004D64B200455BA5004359A6004258A500485E + A6005269B9006480DE005A78DD00627EDE006E88E100728CE1007790E3008299 + E400869CE600718BE1004158A3000000000000000000526CC3006C8BF3009CB1 + F700959392009593920095939200959392009593920095939200959392009593 + 920095939200959392009593920095939200959392009593920095939200C6D2 + FA0092A9F6006787F30000000000000000000000000000000000000000000000 + 0000000000000000000000000000BFCCF5004963BD007E92DA008AA3F600859F + F5007E99F5002250E9000F3FDD000534D1002146C400556FC20042538B000000 + 00000000000000000000000000000000000000000000657FD9008195DD006F8D + F3007794F400738AD5005D78D300556DC10089A0EC006686F3005277F1005277 + F1005277F1005277F1005277F1005277F1005E75C300D2DBF8004F69C5007B97 + F4005E80F200879FEF00D2DBF800000000000000000000000000889CE2008090 + C5001F49D600244DD7003057D9005A79E0005A78DE005976D6005C78D600617F + E2006B86E300617FE2006B87E400708BE5007993E7007F97E800849BE80092A7 + EB0090A5EA007690E500455CAA000000000000000000000000005974CF006782 + DB009C9A9900A09D9C0096939200969392009693920096939200969392009693 + 9200969392009693920096939200969392009693920096939200A09D9C007A94 + ED006681DB005974CF0000000000000000000000000000000000000000000000 + 00000000000000000000BFCDF500889BDD00AFC0F900B4C4F900D1DBFB00B6C6 + F9006A8AF300476EF000345FEF002250E9000534D1000431C6003356C900394C + 8E00B9C6F200000000000000000000000000000000004E68BF008FA6F3005B7E + F2006183F2007693F40094A9F300829CF5006485F3006183F2006183F2006183 + F2006183F2006183F2006183F2006A8AF3004E68BF0000000000000000004F68 + C1004E68BF006F89DF00000000000000000000000000000000000000000098AB + EA0098ABED004066E600466BE7005376E900587AE9005D7DEA006987EC006E8B + EC00738FEC007E98EE00839CEF0089A1EF0094A9F10099ADF10098ADF100CCD5 + F400B2C2F5006886EB004C65B900000000000000000000000000000000005A75 + D1006B6968009D9A9900615F5F00BFBFBE00BCBCBB00BAB9B800B4B3B200B1B0 + AE00ADACAB00A6A5A400A2A1A0009F9D9C0097959300615F5F009D9A99005771 + C8005A75D1000000000000000000000000000000000000000000000000000000 + 000000000000000000004F6BC600B9C5EF00ABB9E9008E9FD9006F83CB0096A6 + DD00B2C2F8005579F100466DF000345FEF001040DD000534D1000935C8005B6F + B2003A4D8F00CED7F7000000000000000000000000004F69C0008CA5F6006082 + F2006989F3006989F3006989F3006989F3006989F3006989F3006989F3006989 + F3006989F3006989F3006989F3006C8BF3004F69C00000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A2B0E0007E99F0004E73EC005F80EE006686EF006B89EF007692F0007B96 + F100809AF1008BA3F30091A8F30096ACF400A1B4F500A0B3F500A5B7F500677D + C800ABB9E8009BB0F4005069BF00000000000000000000000000000000000000 + 000074727100A3A09F0067656500E2E1E100DFDFDE00DDDCDC00D7D7D600D5D4 + D300D1D1D000CBCAC900C8C7C600C4C3C200BCBBBA0067656500A3A09F000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000546FCB005975D1006580D9007990E300BFCDF600546F + CB008FA0DA007491F4005479F100466DF0002250E9001040DE000534D1004161 + CC00596BAC0037488700314075003C539C0000000000506AC1008AA3F6006A8A + F3007D98F5007E99F5007B97F400708EF400708EF400708EF400708EF400708E + F400708EF4007A96F4007995F4007491F400506AC10000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005A74C900B4C1EC00829DF4006C8BF3007391F4007995F400829DF40087A1 + F5008DA5F50098AEF6009DB2F600A3B6F700A1B5F700A5B8F700BECBF600617C + D8005A74C900A4B4E800546EC500000000000000000000000000000000000000 + 000085838200AFADAB0073717000F2F2F200F1F1F000F0EFEF00EDECEC00EBEB + EA00E9E9E900E5E5E500E3E3E200E1E0E000DCDBDB0073717000AFADAB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000007488CF00B1BFF000829DF500466DF000345FEF002250E900042D + B600082BA100788AC60040539300B8C5F200000000005B76D300526CC300526C + C300526CC300526CC300526CC3007388CF00A2B2E700B3C3F900A0B4F6008FA1 + E0006D82CC00526CC300526CC300526CC300607BD70000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000093A8ED006D82CE00B1C1F8008AA3F600829DF5009AAFF700A1B5 + F700A6B9F800ACBDF800A8BAF800AFC0F900B5C4F4007E93D6005A76D2000000 + 000000000000C1CDF6005771C900000000000000000000000000000000000000 + 00008E8C8A00B5B3B10079777600F6F6F600F5F5F500F5F5F400F3F3F300F2F2 + F200F1F0F000EEEEEE00ECECEC00EBEAEA00E7E7E60079777600B5B3B1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000007991E400687DCA00B3C1F1005277F100466DF000345FEF001035 + B200788CCF009CA8CF00BAC7F300000000000000000000000000000000000000 + 0000000000000000000000000000718AE0006178C900B5C4F500A0B3F300546D + C40092A7EC000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BBC9F50095A6DE00C2CEF300B9C8F900A8BAF800A4B7 + F800A7B9F800B6C6F900C2CFFA00C1CEF800647CCD00647EDA00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000908F8E00959391007F7D7C00F7F7F700F7F7F700F7F7F700F6F6F600F6F6 + F600F5F5F500F4F4F400F3F3F200F2F1F100EFEFEF007F7D7C00959391000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000092A7EC006179CA009CB1F7004F74F100385CD2008196 + DA009FACD6004F67B50000000000000000000000000000000000000000000000 + 000000000000000000009FB1F0006F84CF00A2B2E900A9BBF800AABCF7008C9F + DF00647ACA009FB1F00000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000007C93E400667FCC008799D900BDC9F100C0CD + F600C1CDF600A5B5EA008497DB00657DCD009DB1EF0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000008B898800EBEBEA00EDECEC00EEEEED00F1F1F100F3F2 + F200F4F4F400F6F6F600F7F7F700F7F7F700F7F7F7008B898800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005670C700647ED2008A9DDC005B74 + CA00C1CDF6000000000000000000000000000000000000000000000000000000 + 0000000000005770C800A1B3EF009BB0F7009BB0F7009BB0F7009BB0F7009BB0 + F7009BB0F7008DA2EB005770C800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000918F8D00E4E4E300E6E5E400E7E7E600EAEAE900ECEB + EB00EDEDEC00F0EFEF00F1F1F100F3F2F200F5F5F500918F8D00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005771C8008EA0DF00A5B2DD00C1CD + F600000000000000000000000000000000000000000000000000000000000000 + 0000000000005871C800A5B7F300A3B6F800A3B6F800A3B6F800A3B6F800A3B6 + F800A3B6F80095AAF1005871C800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000908F8E00959391009593910095939100959391009593 + 91009593910095939100959391009593910095939100908F8E00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005771C800A3B0DE005C75CB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000647EDB008D9FDF00B4C4F900ADBEF800A8BAF800A6B9F800AABC + F800ACBDF800879ADC006B85DE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000006B85DE005A74CF005872C9005872C9005B76 + D2006B85DE000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D3D3D300C2C2C200C0C0 + C000263159002631590026315900263159002631590026315900263159002631 + 5900263159002631590026315900263159002631590026315900263159002631 + 59002E3D7100C0C0C000D6D6D600000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005065A9005065A9005065A9005065A9005065A9005065A9005065A9005065 + A9005065A9005065A9005065A9005065A9005065A9005065A9005065A9005065 + A9002736660000000000000000000000000000000000C4C4C4004E63A6003D51 + 93003D5193003D5193003D5193003D5193003D5193003D5193003D5193003D51 + 93003D5193003D5193003D5193003D5193003D5193003D5193003D5193003D51 + 93003D5193004E63A600DBDBDB00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000002F448B002E3F7B002A3B78002A3B78002A3B + 78002A3B78002A3B78002A3B78002A3B78002A3B78002A3B78002A3B78002A3B + 78002A3B7800354B970000000000000000000000000000000000000000000000 + 00004F69BF000328A300FFFFFF00E5E9F600E5E9F600E5E9F600E5E9F600E5E9 + F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F6004F69 + BF002C3D7B0000000000000000000000000000000000000000003D57AE00435D + B30007299A0007299A0007299A0007299A0007299A0007299A0007299A000729 + 9A0007299A0007299A0007299A0007299A0007299A0007299A0007299A000628 + 9A00435DB3003D57AE0000000000000000000000000000000000000000000000 + 00005972C900374D9E0034499400425AAE00768DD80000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BAC6F2004F609F002C3D7B004E66B700506AC400506A + C400506AC400506AC400506AC400506AC400506AC400506AC400506AC400506A + C400506AC4002D3F7F0000000000000000000000000000000000000000000000 + 0000506AC400042AAA00FFFFFF00E6EAF700E6EAF700E6EAF700E6EAF700E6EA + F700E6EAF700E6EAF700E6EAF700E6EAF700E6EAF700E6EAF700E6EAF700506A + C4002F40800000000000000000000000000000000000000000003E58AF004660 + B9000F32A4001032A4001032A4001032A4001032A4001032A4001032A4001032 + A4001032A4001032A4001032A4001032A4001032A4001032A4001032A4000D30 + A3004661B9003E58AF0000000000000000000000000000000000000000005C75 + CF00536CC2005B77D4005874D200566EC1004C60A100354A9300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BAC6F20031458D00526ECE002F4183000328A000042CB200042C + B200042CB200042CB200042CB200042CB200042CB200042CB200042CB200042C + B200506CC9003043850000000000000000000000000000000000000000000000 + 0000506BC800042CB100FFFFFF009397A5009397A5009397A5009397A5009397 + A5009397A5009397A5009397A5009397A5009397A500E6EAF800E6EAF800506B + C8003245860000000000000000000000000000000000000000003F59B0004863 + BF00173AAE0015359F0015349C0015349C0015349C0015349C0015349C001534 + 9C0015349C0015349C0015349C0015349C0015349C0015349C0015359F001538 + AE004A65C0003F59B000000000000000000000000000000000005E79D3005269 + B900345CE4001744DB000434D200254CCF004666D300586DB6008499DF000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000374D9A002C459A000732C1006582E30035498F00042BAE000430C2000430 + C2000430C2000430C2000430C2000430C2000430C2000430C2000430C2000430 + C2004F6DD300364B930000000000000000000000000000000000000000000000 + 0000506ED200042FBF00FFFFFF00E6EBF800E6EBF800E6EBF800E6EBF800E6EB + F800E6EBF800E6EBF800E6EBF800E6EBF800E6EBF800E6EBF800E6EBF800506E + D200374B92000000000000000000000000000000000000000000415BB2004D6A + CA002649BF002343AC00E0DFDE00E0DFDE00E0DFDE00E0DFDE00E0DFDE00E0DF + DE00E0DFDE00E0DFDE00E0DFDE00E0DFDE00E0DFDE00E0DFDE002343AC002246 + BE00506CCB00415BB200000000000000000000000000607AD1006881D5005176 + F1001344E8000639E3000537DD000434D2000433CE000935C900586EB700374A + 8D00849BE0000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000BDC9 + F4002E489F000833C5000D3AD0007791EB00374C9700042DB6000432CA000432 + CA000432CA000432CA000432CA000432CA000432CA000432CA000432CA000432 + CA004F6FD9003A4F990000000000000000000000000000000000000000000000 + 00004F6ED6000431C500FFFFFF009398A6009398A6009398A6009398A6009398 + A6009398A6009398A6009398A6009398A6009398A600E6EBF900E6EBF9004F6E + D6003A4F99000000000000000000000000000000000000000000425CB3004F6D + D0002E52C8002949B300DCDBDA00F3F4F800F3F4F800F3F4F800F3F4F800F3F4 + F800F3F4F800F3F4F800F3F4F800F3F4F800DCDBDA00DCDBDA002949B300284D + C500526FD100425CB300000000000000000000000000455EB7007C96EA004D72 + F1002856EE001445E8000639E3000535D8000434D2000433CE004162D100596E + B700384A8E000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000425A + AE005271D9005676E1006583E800859EEF003B509D00042EBC000434D1000434 + D1000434D1000434D1000434D1000434D1000434D1000434D1000434D1000434 + D1004F70DF003C53A10000000000000000000000000000000000000000000000 + 00004F6FDB000432CD00FFFFFF00E5EAF900E5EAF900E5EAF900E5EAF900E5EA + F900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF9004F6F + DB003D539F000000000000000000000000000000000000000000435DB400516F + D5003559CF003050BA00D8D7D600F3F4F800F3F4F800F3F4F800F3F4F800F3F4 + F800F3F4F800F3F4F800F3F4F800F3F4F700D8D7D600D8D7D6003050BA002F54 + CD005573D700435DB4000000000000000000000000004A62B600859DEE005176 + F1003C65EF002856EE001445E8000537DD000535D8000434D2000935C9004162 + D1005A6FB800859BE00000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000445C + AF000432CA000432CA000432CA000432CA000432CA000535D9000537E1000537 + E1000537E1000537E1000537E1000537E1000537E1000537E1000537E1000537 + E1004F73EA00445CAF0000000000000000000000000000000000000000000000 + 00005073E5000536D900FFFFFF009398A8009398A8009398A8009398A8009398 + A8009398A8009398A8009398A8009398A8009398A800E6EBFB00E6EBFB005073 + E500425AAC000000000000000000000000000000000000000000455FB6005676 + E0004367DD003D5DC700DDDDDC00BABED100F3F3F700F2F3F700F2F3F700F2F3 + F700F2F3F700F2F3F700F2F3F700F2F3F700DDDDDC00DDDDDC003D5DC7003C61 + DB005B7AE100455FB6000000000000000000000000005570CB00859BE6007C97 + F4006384F3005075F1003C65EF001445E8000639E3000537DD000434D2000433 + CE000935C9005A70B9003A4D910096A7E1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004760 + B700063AE800073BE900073BE900073BE900073BE900073BE900073BE900073B + E900073BE900073BE900073BE900073BE900073BE900073BE900073BE900063A + E8005075EF004760B70000000000000000000000000000000000000000000000 + 00005174EA00093BE200FFFFFF00E6EBFC00E6EBFC00E6EBFC00E6EBFC00E6EB + FC00E6EBFC00E6EBFC00E6EBFC00E6EBFC00E6EBFC00E6EBFC00E6EBFC005174 + EA00465FB20000000000000000000000000000000000000000004660B7005778 + E5004B6EE3004463CC00E1E1E000858FAF00DBDEE800F2F3F700F2F3F700F2F3 + F700F2F3F700F2F3F700F2F3F700DBDDE700E1E1E000E1E1E0004463CC004368 + E2005D7DE6004660B7000000000000000000000000008197E5007386CE0091A8 + F6007693F4006384F3005075F1002856EE001445E8000639E3000535D8000434 + D2000433CE004162D100979DB700888786000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004963 + BA000E41EC001042EC001143EC001143EC001143EC001143EC001143EC001143 + EC001143EC001143EC001143EC001143EC001143EC001143EC001143EC000E41 + EC005378F1004963BA0000000000000000000000000000000000000000000000 + 00005579EF001344E800FFFFFF00E7ECFC00E7ECFC00E7ECFC00E7ECFC00E7EC + FC00E7ECFC00E7ECFC00E7ECFC00E7ECFC00E7ECFC00E7ECFC00E7ECFC005579 + EF004962B90000000000000000000000000000000000000000004761B8005A7B + EA005376E9004A69D000E5E4E4007C86A700838BAC00B7BBCF00F5F6F900FEFE + FE00FEFEFE00E2E5EC00B6BACD008089A900E5E4E400E5E4E4004A69D000496E + E7006080EB004761B800000000000000000000000000000000004D66BE0094A5 + E300829DF5007794F4006384F3003C65EF002856EE001445E8000537DD000535 + D8000434D2008794C700C5C5C500B3B3B300B0B0B00000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004C65 + BC001F4FED002553EE002654EE002654EE002654EE002654EE002654EE002654 + EE002654EE002654EE002654EE002654EE002654EE002654EE002654EE001E4E + ED005A7DF2004C65BC0000000000000000000000000000000000000000000000 + 00005F81F2002856EE00FFFFFF00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EE + FD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD005F81 + F2004D66BD0000000000000000000000000000000000000000004963BA005E80 + F2006283F2005876DA00ECEBEB007780A2007780A1007780A100F1F2F600F1F2 + F600F1F2F600C1C6D500747E9F00737D9F00ECEBEB00ECEBEB005876DA00577B + F2006686F3004963BA00000000000000000000000000000000000000000090A4 + EA009AABE5009FB3F700849EF5006384F3005075F1003C65EF001445E8000639 + E3009BABE100CECECE00C4C4C400BBBBBB00B5B4B3008A898800B1B0B0000000 + 0000000000000000000000000000000000000000000000000000000000004D66 + BE002755EE00305CEE00325EEF00325EEF00325EEF00325EEF00325EEF00325E + EF00325EEF00325EEF00325EEF00325EEF00325EEF00325EEF00325EEF002755 + EE005E80F2004D66BE0000000000000000000000000000000000000000000000 + 00006485F300325EEF00FFFFFF00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEF + FD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD006485 + F3004E67BF0000000000000000000000000000000000000000004A64BB006082 + F2006989F3005F7BDA00EFEFEE00747E9F00747E9F00737D9F00F1F2F600F1F2 + F600F1F2F600E8EAEF00717A9D00717A9D00EFEFEE00EFEFEE005F7BDA005E80 + F2006989F3004A64BB0000000000000000000000000000000000000000000000 + 0000556DC0009BABE5009FB3F7007794F4006384F3005075F1002856EE00A7B7 + ED00E7E7E700D7D7D700CECECE00C4C4C400C5C5C500B5B4B4008B8A89000000 + 0000000000000000000000000000000000000000000000000000000000004E68 + BF00305CEE003B64EF003D66EF003D66EF003D66EF003D66EF003D66EF003D66 + EF003D66EF003D66EF003D66EF003D66EF003D66EF003D66EF003D66EF002F5B + EE006183F2004E68BF0000000000000000000000000000000000000000000000 + 00006989F3003D66EF00FFFFFF00989DAA00989DAA00989DAA00989DAA00989D + AA00989DAA00989DAA00989DAA00989DAA00989DAA00EBF0FD00EBF0FD006989 + F3004F68C00000000000000000000000000000000000000000004B65BC006384 + F300718FF4006580DB00F2F1F100717A9D00717A9D00717A9C00F1F2F600F1F2 + F600F1F2F600F1F2F5006F7899006F789900F2F1F100F2F1F1006580DB006485 + F3006C8BF3004B65BC0000000000000000000000000000000000000000000000 + 000091A4EB00566FC1009CADE600849EF5007794F4006384F300B7C6F400F5F5 + F500EFEFEF00E0E0E000D7D7D700CECECE00BBBBBB00C5C5C500B5B5B500B1B1 + B10000000000000000000000000000000000000000000000000000000000516A + C1004169F0005075F1005378F1005378F1005378F1005378F1005378F1005378 + F1005378F1005378F1005378F1005378F1005378F1005378F1005378F1004068 + F0006888F300516AC10000000000000000000000000000000000000000000000 + 00007391F4005277F100FFFFFF00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1 + FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE007391 + F400516BC20000000000000000000000000000000000000000004D67BE006787 + F300809BF500728BDC00F7F7F6006C7697006B7597006B759600F0F1F500F0F1 + F500F0F1F500CDD1DC006972950069729400F7F7F600F7F7F600728BDC007290 + F400718FF4004D67BE0000000000000000000000000000000000000000000000 + 0000000000000000000091A5EB009DAEE6009FB3F700CCD5F300F8F8F800FAFA + FA00F9F9F900EFEFEF00E7E7E700E0E0E000CECECE00C4C4C400BBBBBB00B6B5 + B5008B8A8900000000000000000000000000000000000000000000000000526C + C3004A70F0005A7DF2005E80F2005E80F2005E80F2005E80F2005E80F2005E80 + F2005E80F2005E80F2005E80F2005E80F2005E80F2005E80F2005E80F200496F + F0006B8AF300526CC30000000000000000000000000000000000000000000000 + 00007794F4005C7FF200FFFFFF009DA1AC009DA1AC009DA1AC009DA1AC009DA1 + AC009DA1AC009DA1AC009DA1AC009DA1AC009DA1AC00EFF3FE00EFF3FE007794 + F400526CC30000000000000000000000000000000000000000004D67BF006989 + F30086A0F5007990DC00F9F9F900697295006972940068729400CDD0DC00F0F1 + F500F0F1F5006F77980067709100666F9100F9F9F900F9F9F9007990DC007894 + F4007491F4004D67BF0000000000000000000000000000000000000000000000 + 00000000000000000000000000005972C500D0D5E900F7F7F700F7F7F700F8F8 + F800FAFAFA00F5F5F500EFEFEF00E7E7E700D7D7D700CECECE00C4C4C400C7C7 + C700A6A6A500A9A9A9000000000000000000000000000000000000000000536D + C4005075F1006485F3006989F3006989F3006989F3006989F3006989F3006989 + F3006989F3006989F3006989F3006989F3006989F3006989F3006989F3005075 + F1006E8DF300536DC40000000000000000000000000000000000000000000000 + 00007C97F4006787F300FFFFFF00F0F3FE00F0F3FE00F0F3FE00F0F3FE00F0F3 + FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE007C97 + F400536DC40000000000000000000000000000000000000000004E68C0006B8A + F3008DA5F6007F95DD00FBFAFA0067709100666F9100666F9100656E9100656E + 9100646E9000646E8F00636D8F00636D8F00FBFAFA00FBFAFA007F95DD007F9A + F5007794F4004E68C00000000000000000000000000000000000000000000000 + 0000000000000000000000000000A2B2EC00BAB9B800ECECEC00F6F6F600F7F7 + F700F8F8F800F9F9F900F5F5F500EFEFEF00E0E0E000D7D7D700CECECE00C3C3 + C300BFBFBE00908F8F000000000000000000000000000000000000000000566F + C600597CF2007290F4007D98F500809BF500809BF500809BF500809BF500809B + F500809BF500809BF500809BF500809BF500809BF500809BF5007D98F500587C + F200718FF400566FC60000000000000000000000000000000000000000000000 + 0000849EF5007C97F400FFFFFF00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5 + FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00849E + F500556FC6000000000000000000000000000000000000000000506AC100708E + F4009CB1F7008D9FDE00FDFDFD00616A8D00606A8C00606A8C005F698B005F69 + 8B005F698A005F688A005E6789005E678900FDFDFD00FDFDFD008D9FDE008BA4 + F6007C97F400506AC10000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000B7B7B700ECECEC00F7F7 + F700F6F6F600F8F8F800FAFAFA00F9F9F900EFEFEF00E7E7E700E0E0E000CECE + CE00D3D3D3009B9A990000000000000000000000000000000000000000005770 + C700567AF2006D8CF3007B97F400839EF500839EF500849EF500859FF500859F + F500859FF500859FF500849EF500849EF500839EF500819BF5007A96F4005479 + F1006F8DF3005770C70000000000000000000000000000000000000000000000 + 000088A2F600829DF500FFFFFF0058595C0074757A00F3F6FE0058595C007475 + 7A00F3F6FE0058595C0074757A00F3F6FE0058595C0074757A00F3F6FE0088A2 + F6005670C7000000000000000000000000000000000000000000516BC2007290 + F400A4B7F80093A4DE00FEFEFE00FEFEFE00FEFEFE00FEFEFE00FEFEFE00FEFE + FE00FEFEFE00FEFEFE00FEFEFE00FEFEFE00FEFEFE00FEFEFE0093A4DE0091A8 + F6007F9AF500516BC20000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BEBCBB00EDEC + EC00F7F7F700F7F7F700F8F8F800FAFAFA00F5F5F500EFEFEF00E7E7E700DADA + DA00DADAD9009C9A990000000000000000000000000000000000000000005871 + C8004A70F0005D80F2006989F3007290F4007491F4007491F4007491F4007491 + F4007491F4007491F4007491F4007491F4007290F4006F8DF3006888F300486F + F0006A8AF3005871C80000000000000000000000000000000000000000000000 + 000089A2F60086A0F500FFFFFF00A5A4A2006C6D7100F4F7FE00A5A4A2006C6D + 7100F4F7FE00A5A4A2006C6D7100F4F7FE00A5A4A2006C6D7100F4F7FE0089A2 + F6005871C8000000000000000000000000000000000000000000526CC3007491 + F400ABBDF80099A9DE00E5E5E500E5E5E500E5E5E500E5E5E500E5E5E500E5E5 + E500E5E5E500E5E5E500E5E5E500E5E5E500E5E5E500E5E5E50099A9DE0097AD + F700819BF500526CC30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B8B8B700BEBD + BC00EDECEC00F6F6F600F7F7F700F8F8F800F9F9F900F5F5F500EFEFEF00E6E6 + E600CFCFCE009F9E9E0000000000000000000000000000000000000000005B76 + D2005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005B76D20000000000000000000000000000000000000000000000 + 00007D97EE0091A7F1009AAEF200191918007F8FC200A1B4F300191918007F8F + C200A1B4F300191918007F8FC200A1B4F300191918007D8DC2009AAEF2007D97 + EE005872C9000000000000000000000000000000000000000000546EC5007491 + F400B7C7F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8 + F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8F900B9C8F90099AF + F700819BF500546EC50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B8B8B800EBEAEA00F6F6F600F5F5F500F7F7F700F9F9F900F9F9F900CDCC + CB00A4A4A3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005872C9005872C9005872C9005F5F5F004F5E92005872C9005F5F5F004F5E + 92005872C9005F5F5F004F5E92005872C9005F5F5F004F5E92005872C9005872 + C9005B76D2000000000000000000000000000000000000000000556FC6006D8C + F300A6B9F800AFC0F900B1C1F900B2C2F900B2C2F900B2C2F900B2C2F900B2C2 + F900B2C2F900B2C2F900B2C2F900B2C2F900B2C2F900B1C1F900ADBEF800849E + F5007894F400556FC60000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000B6B4B300D7D5D500ECECEB00F6F6F600F8F8F700E6E5E500A7A6 + A600000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D2D1D0008080800000000000D2D1D0008080 + 800000000000D2D1D0008080800000000000D2D1D00080808000000000000000 + 00000000000000000000000000000000000000000000000000005670C7006382 + EA00849DEE00889FEE008AA0EE008AA0EE008AA0EE008AA0EE008AA0EE008AA0 + EE008AA0EE008AA0EE008AA0EE008AA0EE008AA0EE008AA0EE00879FEE007B94 + ED006886EB005670C70000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000B2B1B100A8A6A600BCBAB900B3B1B000A7A6A6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000808080009090900000000000808080009090 + 9000000000008080800090909000000000008080800090909000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DEDEDE006B80 + C20027335F0026335D002A386D00C3C3C300C3C3C300C4C4C400D1D1D100D5D5 + D500000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004C64B5004656 + 8A0098A5CE0098A4CD00828FB90031458A00DEE3F80000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D1D1D100CFCFCF00C9C9C900C7C7C700C5C5 + C500C5C5C500C5C5C50091A1D70029386D00C5C5C500C8C8C800D3D3D3000000 + 00000000000000000000000000000000000000000000314792009BA8D200526D + C5002647B5002041B0001B3DAE00909ECB00293D7F0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BAC6F200364A91004F63 + A5008793BC00A7B0CF00D9DFF300D9DFF400D9DFF400D9DFF400D9DFF400D9DF + F400D9DFF400D9DFF400D9DFF400D9DFF400D9DFF400D9DFF400D9DFF400DADF + F200A5AECE003A4D930000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000029396C00526297008494C8000000000000000000000000000000 + 000000000000000000000000000000000000000000002E4285008FA0DB004A66 + C6003C5AC0003655BD003151BA00697FC9002B3E7C0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000435BAE007182BB005C77 + D3007B90D7006979B200A3ADCF00C0CBEE00C0CBEE00C0CBEE00C0CBEE00C0CB + EE00C0CBEE00C0CBEE00C0CBEE00C0CBEE00C0CBEE00C0CBEE00C0CBEE00C4CE + EF00CFD7F200A3ADD00000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00008093D9005466A5004059AA008393C8000000000000000000000000000000 + 0000000000000000000000000000000000000000000030448A008296D9005D77 + D000516DCA004C68C8004764C6006079CC002D3F810000000000000000000000 + 00000000000000000000000000008196DC00293A7500293A740033478C000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002E4696001F3376001F3376001F3376001F3376001F33 + 76001F3376001F3376001F3376001F3376001F3376002E469600000000000000 + 00000000000000000000000000000000000000000000354992008699DA004868 + D200607BD8008699DA005C6CA700B7C4ED00B7C4ED00B7C4ED00B7C4ED00B7C4 + ED00B7C4ED00B7C4ED00B7C4ED00B7C4ED00B7C4ED00B7C4ED00B7C4ED00B7C4 + ED00BCC8EE00CFD6EF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004B62 + B20036457A00324DAA00032597008494CC000000000000000000000000000000 + 000000000000000000000000000000000000000000006D83D4005669A80092A4 + E300788FDC00758DDB00768DDA004B69CD0032468B0000000000000000000000 + 0000000000008398DE00505F9800A4B1DD003E5BBD003957BB005F77C7005160 + 9400647CCB000000000000000000000000008E8C8A00BBB9B700BBB9B700BBB9 + B700BBB9B700BBB9B70029429500042DB700042DB700042DB700042DB700042D + B700042DB700042DB700042DB700042DB7004F6ED70029429500BBB9B700BBB9 + B700BBB9B700BBB9B700BBB9B7008E8C8A00000000003B509D008EA3E9005D7B + E0005D7BE0008EA3E9003B509D00A7B7EE00A7B7EE00A7B7EE00A7B7EE00A7B7 + EE00A7B7EE00A7B7EE00A7B7EE00A7B7EE00A7B7EE00A7B7EE00A7B7EE00A7B7 + EE00A7B7EE00C4CEF00000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000045569000546C + BD004762BF007186CE002B4BB6008496D4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000425AAE005468 + A90097A9E50092A5E5008399E1003C5ECD003448900000000000000000000000 + 0000000000003B53A2009EABD5005B75CC003252BE002D4EBB002748B70094A2 + D000364A8D0000000000000000000000000093918F00D8D8D700D8D8D700D8D8 + D700D8D8D700D8D8D7002F4AA4001942CD001D46CE001E46CE001E46CE001E46 + CE001E46CE001E46CE001E46CE001C45CE005474E1002F4AA400D8D8D700D8D8 + D700D8D8D700D8D8D700D8D8D70093918F00000000003D54A40095A9ED006885 + E6006885E60095A9ED003D54A400A5B6F000A5B6F0001442D9001442D9001442 + D9001442D9001442D9001442D9001442D9001442D9001442D9001442D900A5B6 + F000A5B6F000C3CEF10000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003C54A300516CC7004F6B + C8007184C600344581007184C6009BABE0000000000000000000B9C6F1002E42 + 8800B9C6F1000000000000000000000000000000000000000000000000006E86 + D700384E9A00384E99004264D4004062D200374B950000000000000000000000 + 00000000000034488D0094A5DF005470CD004765C8004260C6003C5BC200788C + D0003143840000000000000000000000000098969400F5F5F400F5F5F400F5F5 + F400F5F5F400F5F5F4003652B4003D63E300476BE300486CE400486CE400486C + E400486CE400486CE400486CE400466BE3005D7DEA003652B400F5F5F400F5F5 + F400F5F5F400F5F5F400F5F5F40098969400000000004058AB009EB1F200738E + EB00738EEB009EB1F2004058AB00A9BAF300A9BAF3001443DE001443DE001443 + DE001443DE001443DE001443DE001443DE001443DE001443DE001443DE00A9BA + F300A9BAF300C7D0F30000000000000000000000000000000000000000000000 + 0000CED7F60092A4E3006179C70033488F002D3C71005568AA004161CB007287 + CC00334687004A5EA40033468700A6B2DA0000000000BAC6F2002F4489004A5E + A4002F448900BAC6F20000000000000000000000000000000000000000000000 + 0000000000003D54A400486BDF004669DC003C529F0000000000000000000000 + 0000000000003D55A5008294D3007F95E0006D86DA006882D700647FD6006982 + D60035498E0000000000000000000000000099989600A3A19F00A3A19F00A3A1 + 9F00A3A19F00A3A19F003D5DC6007994ED0088A0EF00A6B7F200B5C4F500B5C4 + F500B5C4F500B3C2F400A2B4F200859EEF006382EB003D5DC600A3A19F00A3A1 + 9F00A3A19F00A3A19F00A3A19F0099989600000000004660B700B2C2F80094AB + F60094ABF600B2C2F8004660B700B0C0F800B0C0F80088A1F50088A1F50088A1 + F50088A1F500B0C0F80088A1F50088A1F50088A1F50088A1F50088A1F500B0C0 + F800B0C0F800CBD5F70000000000000000000000000000000000536BBE004C5F + 9F004A66C5003857C0002447BA007288D200344889004F6FDB004258A4004F67 + B9004A6BD800123DCC004A6BD8004F67B9003950A1004F67B9004A6BD800123D + CC004A6BD8004F67B90000000000000000000000000000000000000000000000 + 0000000000004058A9004B6EE3004A6DE1003E55A50000000000000000000000 + 0000000000006F85D7005A6DB00094A7E6008197E2007E95E0007E95E0005673 + D400384C93000000000000000000000000000000000000000000000000000000 + 000000000000000000004C6BD2003F5EC8003F5EC8003F5EC8003F5EC8003F5E + C8003F5EC8003F5EC8003F5EC8003F5EC8003F5EC8004C6BD200000000000000 + 000000000000000000000000000000000000000000004962B900BFCDFA00ACBD + F800ACBDF800BFCDFA004962B900B4C4F900B4C4F9001647EC001647EC001647 + EC001647EC00B4C4F9001647EC001647EC001647EC001647EC001647EC00B4C4 + F900B4C4F900CED8F800000000000000000000000000000000003A4F96005A74 + C900042FC000042FC000042FC000728ADB003A4F96005273E200485FAF00536E + C4004B6EE3000535D8001240DA004B6EE300536DC4004B6EE3001240DA001240 + DA004B6EE300536EC40000000000000000000000000000000000000000000000 + 000000000000435CAF004F72E8004D70E5004159AA0000000000000000000000 + 00000000000000000000465FB500586CB2009BADE80097A9E8008BA0E5004969 + D5003A5099000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003C59BC00708CEB006683E6005374 + E1004F70DE005070DA004F6ED700314A9A000000000000000000000000000000 + 000000000000000000000000000000000000000000004A63BB00CAD5FB00BFCD + FA00BECCFA00CAD5FB004A63BB00B7C7F900B7C7F9001849EC001849EC001849 + EC001849EC00B7C7F9001849EC001849EC001849EC001849EC001849EC00B7C7 + F900B7C7F900D0D9F800000000000000000000000000000000004056A3005071 + DE000433CF000433CF000433CF00728DE4004056A3005779E9007F96E3004962 + B7005772CF001344E7000539E6001344E700476DED001344E7000539E6004C71 + ED005772CF00455EB70000000000000000000000000000000000000000000000 + 0000000000004862B9005579F0005578EE00465FB50000000000000000000000 + 000000000000000000000000000000000000BFCDF8004159A7005474E1005272 + DF004056A3000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000425FC3007893EE004C6EDE00355A + D6001C45CE00042FC0004F6FD900354DA0000000000000000000000000000000 + 000000000000000000000000000000000000000000004C66BD00D6DEF900DCE3 + F900DBE2F900D6DEF9004C66BD00C3D0FA00C5D1FA00305CEE00305CEE00305C + EE00305CEE00C5D1FA00305CEE00305CEE00305CEE00305CEE00305CEE00C5D1 + FA00C3D0FA00D6DEF900000000000000000000000000000000004A64BB006384 + F3004C72F1004C72F1004C72F10088A1F5004A64BB005E80F2003862EF005D80 + F2008CA2EC005E78D5005378F1001748EC001748EC001748EC005378F1004A64 + BE00BFCCF5000000000000000000000000000000000000000000000000000000 + 0000000000004963BB00597CF200597CF2004963BA0000000000000000000000 + 00000000000000000000000000000000000000000000445CAD005878E5005676 + E3004259A9000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004360C5006C88E700738DE4006E88 + E2006781DE005A77D9005976D6003750A3000000000000000000000000000000 + 00000000000000000000000000000000000000000000536ECA004D67BE004D67 + BE004D67BE004D67BE004D67BE00C9D5FB00CBD6FB003E67F0003E67F0003E67 + F0003E67F000CBD6FB003E67F0003E67F0003E67F0003E67F0003E67F000CBD6 + FB00C9D5FB00D9E0F900000000000000000000000000000000004B65BD006F8D + F3006F8DF3006F8DF3006F8DF30095ACF7004B65BD006283F200466DF0006888 + F30092A7EC006780D7006787F300315DEF00315DEF00315DEF006686F3004C66 + C000BFCDF6000000000000000000000000000000000000000000000000000000 + 0000000000004A64BC005D80F2005C7FF2004A64BC0000000000000000000000 + 000000000000000000000000000000000000000000004760B3005D7DEA005B7B + E800455DAF000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004F6DD3004360C500405DBC003F5A + B8003E58B4003B54AC003952A900435EB7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004F68BF00CFD9FB00D2DBFB004B71F1004B71F1004B71 + F1004B71F100D2DBFB00B1C1F900B1C1F900B1C1F900B1C1F900B1C1F900D2DB + FB00CFD9FB00DCE3F900000000000000000000000000000000004C66BE007995 + F40090A8F60090A8F60090A8F600A0B4F7004C66BE006586F3007391F40097AB + ED00536CC3007C97F400567AF2004C72F1004C72F1004C72F100567AF2006D85 + D9004E68C100BFCDF60000000000000000000000000000000000000000000000 + 0000000000004D67BE006485F3006485F3004D67BE0000000000000000000000 + 000000000000000000000000000000000000000000004C66BD006787F2006484 + F0004A63B9000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000516BC200D9E1FC00DDE4FC006586F3006586F3006586 + F3006586F300DDE4FC006586F3006586F3006586F3006586F3006586F300DDE4 + FC00D9E1FC00E3E8FB00000000000000000000000000000000004E68C00089A0 + EC00AFC0F900B9C8F900B8C7F900ACBDF8004E68C0006C8BF3005E77CA006D86 + DA009CB1F700819BF50087A1F5009EB3F7007D93DE009DB2F70087A1F50088A2 + F60099AFF7006C85DA0000000000000000000000000000000000000000000000 + 0000000000004E68BF006888F3006E8DF3005B73C4004E68C100839AE700BFCD + F60000000000000000000000000000000000000000004E68BF006B8AF3006989 + F3004D67BE000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000526CC300DEE5FC00E1E7FD00E2E8FD00E2E8FD00E2E8 + FD00E2E8FD00E2E8FD00E2E8FD00E2E8FD00E2E8FD00E2E8FD00E2E8FD00E1E7 + FD00DDE4FC00E4EAFB00000000000000000000000000000000006681DA00768C + D400B5C5F900B9C8F900B4C4F900A7B9F8004F69C100718FF4006179CC007189 + DC00ACBDF800A1B5F700AFC0F9008397DF00536EC7008297DF00AEBFF800A1B5 + F700AABCF8006F89DC0000000000000000000000000000000000000000000000 + 0000000000004F69C0006B8AF300849EF500B9C7F700A8B8ED00768AD1005C74 + C500536CC0007991E300AEBEF30000000000000000004F69C0006F8DF3006D8C + F3004F69C0000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000546DC400E2E8FD00E6EBFD00CDD8FB00CDD8FB00CDD8 + FB00CDD8FB00CDD8FB00CDD8FB00CDD8FB00CDD8FB00CDD8FB00CDD8FB00E6EB + FD00E2E8FD00E6EBFB0000000000000000000000000000000000000000006881 + DB00657BC9007388D2008196DB008EA5F000506AC2008FA7F600ADBCF0005D76 + CA00879CE000B4C4F900879CE0005D76CA00C1CDF600556FC800869ADF00B3C3 + F900879BE000556FC80000000000000000000000000000000000000000000000 + 000000000000516BC2007290F400829CF500819BF500809BF5007E99F50089A2 + F6009BB0F700B4C4F900B7C7F900AEBEF200788ED600647BC8007C97F4007693 + F400516BC2000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000566FC600E7ECFD00EBF0FD0096ACF70098AEF70098AE + F70098AEF70098AEF70098AEF70098AEF70098AEF70098AEF70098AEF700EBF0 + FD00E7ECFD00EBEFFD0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005871CF00A8B9F600AABC + F800B6C3F100677FCE00AEBEF000B3C3F9000000000000000000C1CDF6005874 + CF00C1CDF6000000000000000000000000000000000000000000000000000000 + 000000000000526CC3007391F40087A1F50086A0F500859FF500839EF500829D + F500829CF5007F9AF50086A0F50099AFF700B9C8F900C2CFFA008CA5F6007A96 + F400526CC3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005771C800E9EEFD00EDF1FE0095ACF7009EB3F7009FB3 + F7009FB3F700A0B4F700A0B4F7009FB3F7009FB3F7009EB3F7009BB0F700EDF1 + FE00E9EEFD00EDF1FD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000758BD200ACBC + F500A9BBF800C9D5FB0096ACF700A1B5F7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000536DC4006384F30093AAF6008FA7F6008BA4F60089A2F60088A2 + F60087A1F500849EF500839EF500829DF500819BF50087A1F500839EF5007F9A + F500536DC4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000DFDEDE00EFEE + EE00C9C8C7008C8A880000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005872C900EAEFFD00ECF0FE00EEF2FE00EFF3FE00EFF3 + FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE00EFF3FE00EFF3FE00EFF3FE00ECF0 + FE00EAEFFD00EFF2FD0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006883DC00768B + D300A7B9F400849EF5007592F4009EB3F7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000009FB1F0005D77CF005771C700637CCF007993E90086A0 + F40095ACF70097ADF70092A9F6008FA7F6008DA5F6008BA4F6008AA3F60086A0 + F500556FC6000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000009E9C9A009997 + 9500959391008B89870000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005B76D2005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C90000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000093A7ED009DAFEE0086A0F50094ABF6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D3DBF90093A7ED005874CD005C75 + C900647ED300879EEB008EA6F60099AFF70099AFF70094ABF60090A8F6008AA3 + F6005670C7000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005D76CA0096A8E7008DA5F6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000CED8 + F800859CE9005771C9006179CC006680D60092A8F00097ADF7009EB3F70089A2 + F6005771C8000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000C1CDF6005B74CB008FA2E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000AFBFF3007C93E4005771 + C8005771C9000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000DDDDDD00C9C9C900C7C7C700C2C2C2008FA0D5003A4A + 7A003A4A7A00C0C0C000C1C1C100C7C7C700D5D5D500DCDCDC00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C7C7C700C0C0C0006679B80027325B0027325B0027325B0027325B002732 + 5B0027325B0027325B0027325B0027325B0027325B00273462007385C800C7C7 + C700D6D6D6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000003A4B82004B5B + 94004B5A9300B2BFEE0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002A3A750003279E0003279E0003279E0003279E000327 + 9E0003279E0003279E0003279E0003279E0003279E00435DB6003F58B0000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D4D4D400C5C5C50030428100273567002735670027356700273567002735 + 670027356700273567002735670027356700273567002F428100D1D1D1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000B8C6F2003D4E8E003F59B2000F30 + 9F000F309F004B5E9F003D4E8E00B8C6F2000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002D3D7A00092DA5006077C400768ACC00092DA5006077 + C40096A6D800092DA5006077C4008A9BD4000328A300435EBA004059B1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002D4188008895C1008895C1008895C1008895C1008895 + C1008895C1008895C1008895C1008795C1006474A9002D438D00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000B9C8F2003D5091004C5FA1000F31A3000327 + 9F0003279F003F5AB6004C5FA1003D5091000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002E407F00092EAA008C9DD700B5C0E600092EAA008C9D + D700C5CEEB00092EAA008C9DD700BDC7E800042AA900425EBD00415AB2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BAC6F200283C8200283C8200283C8200283C8200283C + 8200283C8200283C8200283C8200283C82002E479500BAC6F200000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000DEDEDE00DEDEDE00CECECE00CECECE00C7C7C700C0C0C000C0C0 + C000C0C0C000C0C0C000C0C0C00092A2D700394B8A0093A2D800C0C0C000DEDE + DE00000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000003F5193004C61A500435EBB000328A3000328 + A3000328A3000F32A800435EBB004C61A500BBC8F20000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000334688000A31B5006E85D30091A2DD000A31B500607A + CF0098A8E0000A31B500607ACF0091A2DD00042CB4004361C700435CB4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000002B408A00283C7E00283C7E00283C + 7E00283C7E00283C7E00283C7E002B408A000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000007F92D8003E4C7E0093A5E4000000 + 000000000000BDC9F300374E9D004F68BC004A6FE800657ECF00455FBB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004153940041539400415394001338B100042A + AB00042AAB004360C1004153940041539400465CA90000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000035498E000A33BB0091A3E000B5C1EA000A33BB008C9F + DF00BDC8ED000A33BB008C9FDF00CDD5F100042EB9004362CA00445DB5000000 + 0000000000000000000000000000000000003A53A7002D438E002D438E002D43 + 8E002D438E002D438E002D438E002D438E002D438E002D438E002D438E002D43 + 8E002D438E002D438E002D438E002D438E002D438E002D438E002D438E002D43 + 8E002D438E002D438E002D438E003A53A7000000000000000000000000000000 + 0000000000000000000000000000000000002E4185005467A7005068BB000000 + 0000000000003950A000506ABE004A6EE5006C8BF1007389D4004661BC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000425596001439B500042B + B000042BB0004361C40042559600000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000384B9300042FBF00042FBF00042FBF00042FBF00042F + BF00042FBF00042FBF00042FBF00042FBF00042FBF004363CF00455EB6000000 + 0000000000000000000000000000000000002F44910094A7E90099ABEA009BAD + EA009BADEA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA009CAE + EA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA009BAD + EA009AACEA0099ABEA008CA1E7002F4491000000000000000000000000000000 + 00000000000000000000000000008296DB0043528900516BBE00384C95000000 + 0000BDC9F400516BC1004A6EE600204EE800738AD500435DB600BECCF5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004D64B7004F65B20000000000000000000000000043569900143ABA00042D + B500042DB5004361C700435699000000000000000000000000004960AF00BAC9 + F300000000000000000000000000000000000000000000000000000000000000 + 000000000000000000003C529D000A36CA008CA1E600B5C3EF000A36CA008CA1 + E600B8C5EF000A36CA008CA1E600C1CCF2000432CA004365D7004760B8000000 + 00000000000000000000000000000000000032499900617EE100708AE400718B + E400718BE400718BE400718BE400718BE400718BE400718BE400718BE400718B + E400718BE400718BE400718BE400718BE400718BE400718BE400718BE400718B + E400718BE400708AE4009CAEEC00324999000000000000000000000000000000 + 0000000000000000000000000000475994004D69C7000932BD00556DBD003E54 + A400556EC700204FEB006C8BF300758BD700BFCCF50000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004B62 + B5004665CC004559A0000000000000000000000000004559A0001C42C3000D36 + BF000D36BF004766CF004559A0000000000000000000000000004559A0005067 + B700445AA300BCCAF40000000000000000000000000000000000000000000000 + 000000000000000000003F55A2000735D0000735D0000735D0000735D0000735 + D0000735D0000735D0000735D0000735D0000735D0004467DB004862B9000000 + 000000000000000000000000000000000000334B9D005D7BE1006683E3006683 + E3006683E3006683E3006683E3006683E3006683E3006683E3006683E3006683 + E3006683E3006683E3006683E3006683E3006683E3006683E3006683E3006683 + E3006683E3006683E3009BAEED00334B9D000000000000000000000000000000 + 0000000000000000000000000000566AB2003356CB000431C6005D78D7005570 + C9004C71ED006C8BF300758CD7004761BA000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004C63B6005B70 + B6004969D300465AA300465AA300465AA300465AA300465AA300284DCA001A42 + C7001A42C7004D6CD300465AA300465AA300465AA300465AA300465AA3004666 + D200536ABB00445CA70000000000000000000000000000000000000000000000 + 000000000000000000004259A800103ED700A0B2EF00A0B2EF00103ED700A0B2 + EF00A0B2EF00103ED700A0B2EF00A0B2EF00103ED700486BE0004963BA000000 + 000000000000000000000000000000000000354DA1005474E1005B7AE1005B7A + E1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7A + E1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7AE1005B7A + E1005B7AE1005B7AE10099ACEE00354DA1000000000000000000000000000000 + 00000000000000000000A8B7ED005470CF000E3ACC000434D1004268E800476D + ED002050ED00778CD8004862BC00BFCCF5000000000000000000000000000000 + 000000000000000000000000000000000000000000004D65B8005E72BA00516F + D5005472D8005C77D1005974D1005974D1005A74D1005C77D1002A50CF00274D + CD00274DCD005876D9005D78D1005A74D1005974D1005974D1005B75D100284E + CE004D6DD700556DBE00BDC9F400000000000000000000000000000000000000 + 000000000000000000004760B3005B668B008895BE008996BF008B98C1008C99 + C2008D9AC3008F9CC500909DC600919EC7008B9ACB005073E9004B65BC000000 + 0000000000000000000000000000000000003952A9004065E000466AE100466A + E100466AE100466AE100466AE100466AE100466AE100466AE100466AE100466A + E100466AE100466AE100466AE100466AE100466AE100466AE100466AE100466A + E100466AE100466AE10093A8EE003952A9000000000000000000000000000000 + 000000000000AAB9EF004D61A5000D3CD7000537DE000539E600053AEB000C3F + EC005579F1006B85D8005F76C6004B65BE009DB0EE0000000000000000000000 + 0000000000000000000000000000000000004B63B7005574DC003A5FD9003C61 + D9004064DB003F63DB003F63DB003F63DB003F63DB003F63DB004064DB004064 + DB004064DB004064DB004064DB003F63DB003F63DB003F63DB003F63DB003F63 + DB003B60D900395ED900556FC3004B63B7000000000000000000000000000000 + 000000000000000000004A62B70039456E0054659F005566A0005869A300596A + A4005B6CA6005D6EA8005F70AA006071AB00919DC6005477ED004C66BD000000 + 0000000000000000000000000000000000003B55AC00385FE0003C62E1003C62 + E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62 + E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62E1003C62 + E1003C62E1003C62E10091A7EF003B55AC000000000000000000000000000000 + 0000000000005E77CC005971C5000537E1000539E800053AEB001244EC002654 + EE003B64EF007B97F40086A0F500839BEB006A80CB00526DCA00000000000000 + 0000000000000000000000000000000000004D65BA005777E2004266DE00486B + DF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6E + DF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6EDF004C6E + DF00486BDF004266DE005770C7004D65BA000000000000000000000000000000 + 000000000000000000004C66BD0036426A0051629B0052639C0054659E005667 + A0005768A1005A6BA4005B6CA5005C6DA6008E9AC200597CF1004D67BE000000 + 0000000000000000000000000000000000003C56AE002E56DE003259DE003259 + DE003259DE003259DE003259DE003259DE003259DE003259DE003259DE003259 + DE003259DE003259DE003259DE003259DE003259DE003259DE003259DE003259 + DE003259DE003259DE008EA4EE003C56AE000000000000000000000000000000 + 0000D1DAF8004D62AE005B79DF00053AEA00053AEB00093DEB002E5AEE00426A + F000567AF200809BF50093AAF600AEBFF8007287CE00546ECB00000000000000 + 000000000000000000000000000000000000BFCBF5005C76CB006381E7005274 + E3005778E5005475E4005274E3005274E3005374E3005677E5005979E5005979 + E5005979E5005979E5005677E4005374E3005274E3005274E3005475E4005576 + E4005374E3006381E7004A63B600BFCBF5000000000000000000000000000000 + 000000000000000000004F69C000333E63004A5A8F004B5B90004E5E93005060 + 9500516196005464990055659A0056669B008A95BB006283F2004F69C0000000 + 0000000000000000000000000000000000003D57AF001C47D8001E49D8001E49 + D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49 + D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49D8001E49 + D8001E49D8001E49D80089A0EB003D57AF000000000000000000000000000000 + 0000546BBC005C7CE8001849EC001446EC002856EE003D66EF006D8CF3009BB0 + F700BDCBF9007487CE00536EC90091A5EB000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCCF5004D66BC005C77 + D0005F7FEC004C65B8004C65B8004C65B8004C65B8004C65B8007792EE00738F + EE00738FEE007994EF004C65B8004C65B8004C65B8004C65B8004C65B8005E7F + EC005C77D0004D66BC0000000000000000000000000000000000000000000000 + 00000000000000000000506AC100313C5F004857890049588A004C5B8D004D5C + 8E004F5E90005160920053629400546395008994B7006686F300506AC1000000 + 0000000000000000000000000000000000003E58B0001340D5001441D5001441 + D5001441D5001441D5001441D5001441D5001441D5001441D5001441D5001441 + D5001441D5001441D5001441D5001441D5001441D5001441D5001441D5001441 + D5001441D5001441D500869DE9003E58B0000000000000000000000000000000 + 0000647DD4003D66EF000A3EEB002F5BEE00446BF0006888F300BAC8F800A2B1 + E6006E83CD009FB1EF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCCF5004D66 + BF004F74ED004D66BB000000000000000000000000004D66BB007F9AF1007E99 + F1007E99F1007893F0004D66BB000000000000000000000000004D66BB005A76 + D2004D66BF00BFCCF50000000000000000000000000000000000000000000000 + 00000000000000000000516BC2002F395A004554840046558500485787004A59 + 89004B5A8A004E5D8D004F5E8E00516090008690B2006A8AF300516BC2000000 + 0000000000000000000000000000000000003F59B1000B39D3000B39D2000B39 + D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39 + D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39D2000B39 + D2000B39D2000B39D200839AE8003F59B1000000000000000000000000000000 + 00006280E8002654EE002251ED005C7FF20094ABF600B7C6F6006E84CE005C77 + D400AEBEF3000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000BFCD + F6005673D5004E68BF000000000000000000000000004E68BF0089A2F5008BA4 + F5008BA4F5007C97F4004E68BF000000000000000000000000004E68BF004E68 + C100BFCDF6000000000000000000000000000000000000000000000000000000 + 00000000000000000000546DC4002B3452003F4C7700414E790043507B004451 + 7C0046537E00485580004A5782004B588300838CAB007391F400546DC4000000 + 000000000000000000000000000000000000415BB2000433CE000433CE000433 + CE000433CE000433CE000433CE000433CE000433CE000433CE000433CE000433 + CE000433CE000433CE000433CE000433CE000433CE000433CE000433CE000433 + CE000433CE000433CE008299E600415BB2000000000000000000000000005972 + CA006183F2008FA7F600AABAF100637BCC006B84DD00D3DBF900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000506AC1009FB3F700A4B7 + F800A4B7F80086A0F500506AC100000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000556EC50029314E003C4870003E4A7200404C7400424E + 7600434F770046527A0047537B0049557D008189A6007794F400556EC5000000 + 000000000000000000000000000000000000415BB3000432CB000432CB000432 + CB000432CB000432CB000432CB000432CB000432CB000432CB000432CB000432 + CB000432CB000432CB000432CB000432CB000432CB000432CB000432CB000432 + CB000432CB000432CB008198E400415BB30000000000000000007C93E6007A8F + D700A2B4EF008699DA005C75CC00D3DBF9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000516BC200516BC200516BC200ADBEF800B1C1 + F900B1C1F90091A8F600516BC200516BC2005973CE0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000566FC600272F49003B466C003B466C003E496F003F4A + 7000414C7200434E740045507600465177007E86A1007B97F400566FC6000000 + 000000000000000000000000000000000000425CB4000432C9000432C9000432 + C9000432C9000432C9000432C9000432C9000432C9000432C9000432C9000432 + C9000432C9000432C9000432C9000432C9000432C9000432C9000432C9000432 + C9000432C9000432C9008198E300425CB40000000000000000005872CA009BAC + E7005C75CC007C93E60000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000627CD2005F7FEA00748FEC00B7C7F900BDCB + FA00BDCBFA00A7B9F8007E98ED006080EA00546FCA0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005871C800242B4400343D5C0038426200384262003943 + 63003B4565003D4767003F496900404A6A00787F99007E99F5005871C8000000 + 000000000000000000000000000000000000445EB5000430C4000430C4000430 + C4000430C4000430C4000430C4000430C4000430C4000430C4000430C4000430 + C4000430C4000430C4000430C4000430C4000430C4000430C4000430C4000430 + C4000430C4000430C4008197E200445EB5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000BFCDF600536DC6006781DA00AEBFF800C2CF + FA00C3D0FA0094ABF6006E87DB00536DC6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005872C90027304F00262D4400282E4400292F4500292F + 4500292F4500292F4500292F4500292F4500515870007794F4005872C9000000 + 000000000000000000000000000000000000445EB500889BDB00889BDB00889B + DB00889BDB00889BDB00889BDB00889BDB00889BDB00889BDB00889BDB00889B + DB00889BDB00889BDB00889BDB00889BDB00889BDB00889BDB00889BDB00889B + DB00889BDB00889BDB00889BDB00445EB5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000BFCDF600536EC70094ABF6009FB3 + F700A0B4F700718ADD00536EC700BFCDF6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005872CA00879FF0008FA6F00093A9F20095AAF20095AA + F20095AAF20095AAF20094AAF20092A8F200849DF0007A93E7005872CA000000 + 0000000000000000000000000000000000004C67C400445EB500445EB500445E + B500445EB500445EB500445EB500445EB500445EB500445EB500445EB500445E + B500445EB500445EB500445EB500445EB500445EB500445EB500445EB500445E + B500445EB500445EB500445EB5004C67C4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000C1CDF6006F88DC00829C + F500829CF500556FC700C1CDF600000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000C1CDF6005874 + CF005874CF000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000D3D3D300C0C0 + C0004153940034458000344580009FADDD00C0C0C000C0C0C000C0C0C000C0C0 + C000C0C0C000C0C0C000CBCBCB00CECECE00CECECE00DADADA00DEDEDE00DEDE + DE00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000B8C5 + F1002338820014309000143090002F407C00A8B8E80000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BECCF4003D56AA003A57 + BC008CA2EB008695CC008695CC002650DD003A57BC003D56AA00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000DCDCDC00C4C4C400C1C1 + C1003E5194003E5194003E5194003E5194003E5194003E5194003E5194003D50 + 92003B4D8B003647800034447C00324177002C3B6C002A38670029366200B1BC + E500C4C4C400DDDDDD00000000000000000000000000D3D3D3005F5D5E005E5C + 5C0037363800B9B9B90000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000435BB5004967CD003761 + EE008A9AD4004964C1004964C10095ABF5003761EE004967CD00BECCF5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000637A + CC0091A4E50095A9EC0095A9ED0091A6ED008EA4ED008BA2ED00849CEB008199 + E9007E96E400788FDB00758CD7007187D1006A7FC500687CC0006F7FB700455A + A30000000000000000000000000000000000000000007B7979008D8B8A007D7B + 7A006462620039383900CFCFCF00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000536DC9004068F00097AC + F5004A65C20000000000000000008E9DD6009EB2F600476EF000455DB700BECC + F500000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000405A + B4008CA5F60089A2F60089A2F6007C97F4007391F4006989F300567AF2004C71 + ED004469E6003157D600274DCD001D43C3000A2FAE000328A3003652AF002636 + 6A000000000000000000000000000000000000000000858383009E9B9A00A19F + 9E00676564006462620039383900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A5B6EF006283F200697F + CC00000000000000000000000000000000004C67C30095A4D9006888F3006E86 + D8004861BA000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000435D + B500A3B6F800ACBDF800A2B6F8008DA5F600829DF5007894F4006283F2005679 + EE004B6FE700365BD7002C51CE002146C4000B30AE000328A30003269B002838 + 6D00000000000000000000000000000000000000000000000000D3D3D3008583 + 8200A19F9E007D7B7A006765640039383900CFCFCF0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000687AB8007084C600566E + BC00566EBC00566EBC00566EBC00566EBC00566EBC00566EBC00566EBC00566E + BC00566EBC00566EBC00566EBC00566EBC00566EBC00566EBC00566EBC00566E + BC00566EBC007084C6002333670000000000000000009AAADC00A6B9F8007591 + F1004D67C4000000000000000000000000009BAFEC004159B200B2C2F8007391 + F4006F85D0000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000455F + B700A8BAF800ADBEF800A2B6F8008DA5F600829DF5007894F4006283F2000000 + 0000829BEF00365BD7002C51CE002146C4000B30AE000328A30003269B002A39 + 6D0000000000000000000000000000000000000000000000000000000000D3D3 + D3009E9B9A00A19F9E007D7B7A006462620039383900CFCFCF00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004259A600344FA700405C + BB001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3F + AF001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3FAF001D3F + AF003956B900344FA70027366E0000000000000000004F67BD00B9C4EA00B1C1 + F9006F85CF004E69C50000000000465EB6006177C1005266B10095A3D300839E + F50099ACEC000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004761 + B800A9BBF800ADBEF800A2B6F8008DA5F600829DF5007894F4006283F2000000 + 0000829BEF00365BD7002C51CE002146C4000B30AE000328A30003269B002A3A + 6F00000000000000000000000000000000000000000000000000000000000000 + 0000858382009E9B9A00A19F9E00676564006462620039383900000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000425CB300032491003550 + AB001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2001C3F + B2001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2001C3FB2003251 + BA003550AB000324910029397200000000000000000000000000BFCCF5005169 + BF00C5D1FA00A5B7F6007D91D3007A8DCB00A5B8F7006485F3005872C5004357 + 9F008796CD000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004B65 + BC00A9BBF800ADBEF800A2B6F8008DA5F600829DF5007894F40013192E000000 + 0000171C2C00365BD7002C51CE002146C4000B30AE000328A30003269B002D3D + 7100000000000000000000000000000000000000000000000000000000000000 + 000000000000D3D3D30085838200A19F9E007D7B7A006765640039383900CFCF + CF00000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000435EBB000429A5000429 + A500324FB0002C4DBC00163BB500163BB500163BB500163BB500163BB5001235 + A8001235A800163BB500163BB500163BB500163BB500163BB5002C4DBC000327 + 9E000429A5000429A5002E3F7D0000000000000000000000000000000000BFCC + F500C4CCEC00C8D4FB00A9BBF700425DB90097A7DD00A4B7F8005E80F1005A73 + C7003B519C000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004D67 + BE00A8BAF800ADBEF800A2B6F8008DA5F600829DF5007894F4001F1F1F000C0C + 0C001F1F1F00365BD7002C51CE002146C4000B30AE000328A30003269B002F3E + 7200000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000D3D3D3009E9B9A00A19F9E007D7B7A00646262003938 + 3900CFCFCF000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000425FBF00042AAA00042A + AA000328A400304EB200294CBE001338B7001338B7001338B7001136AF000E2F + 9E000E2F9E001338B7001338B7001338B7001338B700294CBE00304EB200042A + AA00042AAA00042AAA0030428200000000000000000000000000000000000000 + 0000536BC100C4CCEC00C8D4FB008E9ED8004F67BA0098A7DE006485F3005E80 + F1005B74C800BCC8F30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004F69 + C000A5B8F800ACBDF800A2B6F8008DA5F600829DF5007894F4003C4257003333 + 330041465600365BD7002C51CE002146C4000B30AE000328A30003269B002F3F + 7400000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000858382009E9B9A00A19F9E00676564006462 + 6200393839000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004361C400052CB000062D + B100062DB100052BAC00304FB6001138B9001138B9001138B9000F31A3008598 + D8008598D8000E33B1001138B9001138B900264AC0002F4EB600042AAB00042B + B000042BB000042BB00033468700000000000000000000000000000000000000 + 000000000000BFCCF500556DC300D5DCF600D5DCF6008E9DD6009AA9E000A4B7 + F8006485F3005D76CA0040549E002D44910019379D002D438F00374B90000000 + 000000000000000000000000000000000000000000000000000000000000536D + C60090A8F6009AAFF7009DB2F7008FA7F60086A0F5007E99F5006C8BF3006383 + F000597AE9004769DA003E60D2003457C9002244B6001C3DAC003652AF003141 + 7600000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D3D3D30085838200A19F9E007D7B + 7A005A585700373A4600354A9200425BB3000000000000000000A6B6EC002C3F + 820000000000000000000000000000000000000000004967CD001A40C0002045 + C2002247C3002146C3002146C3003F5DC300284CC3001A3DB1007791E5004C6D + DC004B6CDB008C9EDD00183BAF003052C4001C41BF001D43C2001C42C2001C42 + C200193FC000133ABF00384C9200000000000000000000000000000000000000 + 00000000000000000000D2DBF8005873CE005873CE00657FD9004E68C1009AAA + E200A4B7F8005E80F1005E77CB003E55A3006A84D8000D37C2002846AA00BDC9 + F40000000000000000000000000000000000000000000000000000000000718A + E1008CA3EE0093A8F00096ABF00093A8F00091A7F1008FA5F00089A1EF00879F + ED00849BE8007E94DF007B91DA00788DD4007286C9007083C5007283BE004F66 + B400000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D3D3D3009E9B9A008D8C + 8A00646262009E9D9D0034343C0052629D00899DE3006B82D2003B4D8D003A49 + 8000CED7F600000000000000000000000000000000004C6BD200254AC8002D52 + CA002F53CB002F53CB002F53CB00294DC5003B57B70091A3E0005878E1005777 + E0005777E0007993E70091A3E0003855B6002B50CA002B50CA002B50CA002A4F + CA00264BC9001C43C6003A509700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF600506A + C3009BABE2006485F3005E80F1005F78CC008C9CD100839BE9001543DA00475F + B300BFCCF5000000000000000000000000000000000000000000000000000000 + 00005771C800888C9C0094939200888C9C005771C8005771C8005771C800556E + C400516ABD004B62AE00485EA7006D717D006C6B6B005E616D003A4A83000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000858382008885 + 8500BBBAB900BBB9B7009E9D9D0032343D00485CA6004A5EA500556FC5004354 + 8E00A5B6EB00000000000000000000000000000000004E6DD6002F54CF003B5E + D2003F61D3003F61D3003E61D300274ABC0096A7E200849CEA006482E5006381 + E5006381E5006381E500839BEA0095A7E2003457CD003A5DD200395CD200395C + D2003257D000254CCD003D529D00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000006F89 + DF00516DCC009EADE400A4B7F8006485F3006C80C5004E67BF0093A3DD003761 + EF005270D600516AC30000000000000000000000000000000000000000000000 + 00000000000080808000C6C6C600808080000000000000000000000000000000 + 0000000000000000000000000000808080004646460080808000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C3CE + F20083838700F0F0F000CCCBCA00BBB9B70032343D002347BF000534D400556C + B6003B4D8F004057A8000000000000000000000000005575E0004669DD005877 + E0005D7BE1005373DE003759CA0098ACF0007B95EC007B95EC007B95EC007B95 + EC007B95EC007A95EC007A95EC007A95EC009EAEE7003457C9004E6FDD005777 + E0004B6DDD00375CDA00435AA700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005B75 + D2006B87E6005A72C800A0AFE500AEBFF8007F93D7009FB1EF005671CD009FB3 + F600496FF0005E7AD900BFCDF600000000000000000000000000000000000000 + 00000000000080808000CBCBCB00808080000000000000000000000000000000 + 0000000000000000000000000000808080004C4C4C0080808000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004660 + B9006A7CBD00CFCECE00F0F0F000CCCBCA009E9D9D002B3049000537DE004668 + D7005772CC00576CB300475EAE0000000000000000005878E4005072E2006683 + E6006885E5004162CF00A3B3E900879FEF00879FEF00879FEF00879FEF00869E + EF00869EEF00869EEF00859EEF00869FF0009EB1F200A1B1E8003E5FCE006683 + E6005979E4003F64DF00465DAE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005B76 + D3009AACED006C85D8005770C7008598D9005872CA0000000000000000009AA8 + DF00A8BAF700597CF200526BC400000000000000000000000000000000000000 + 00000000000080808000D0D0D0007F7F7F000000000000000000000000000000 + 0000000000000000000000000000888888005050500080808000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004E69 + C6006A80CE0088888B00CFCECE00F0F0F00093919000383D55000539E8000534 + D4002F54D3005470CE005D74C60000000000000000005A7BE800597AE700728D + EA004D6DD700A4B4EA00ACBDF60093A9F20093A9F20093A9F20092A8F20092A8 + F20092A8F20091A7F20091A7F20091A7F20091A7F2009DB1F300A3B3EB00718D + EA006482E800476CE5004961B300000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005972C800A9BBF8007995F2007389D6000000000000000000000000000000 + 00005872CF009AAAE3008FA4EB005C77D4000000000000000000000000000000 + 00000000000080808000D4D4D40082828200C6C6C60000000000000000000000 + 00000000000000000000C6C6C600969696006060600086868600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008FA1E00099AAE300848692004A6AD700305CEE001E4EED004B70 + EE005E77CB004A63BB000000000000000000000000005C7EEE006383F0005273 + E000B4C4F800ADBEF700ACBDF700ACBDF700ACBDF700ABBCF700ABBCF700ABBC + F700ABBCF700AABCF700AABCF700AABCF700A9BBF700A9BBF700A9BBF700A9B9 + EE00486BDF004D72ED004F68BE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C1CDF600BDC8EE00B4C4F90089A2F4005973CF0000000000000000000000 + 00005973CF00899DDE00B1C0F1005D78D5000000000000000000000000000000 + 00000000000090909000C0C0C0008B8B8B008A8A8A0000000000000000000000 + 000000000000000000008A8A8A00B1B1B1006A6A6A0096969600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000A1B1EB009AAFF7007995F4005479F100436BF000305CEE003B64 + EF00617CD8004F69C4000000000000000000000000005C7FF200466BE500A6B6 + EF00ADBEF800AFC0F900B0C0F900B0C0F900B0C0F900B0C0F900B0C0F900AFC0 + F900AFC0F900AFC0F900AFC0F900AEBFF800ADBEF800ADBEF800ABBDF800AABC + F800A0B2ED003A61E400526CC300000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005D74CA00C4CDEF00BECCFA008297DB005974CF00000000005974 + CF008297DB009CB0F5009DACE100718AE2000000000000000000000000000000 + 000000000000B0B0B000A4A4A400ADADAD008A8A8A0086868600000000000000 + 000000000000868686008F8F8F00A4A4A40076767600BBBBBB00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009FB0EF00B0C0F700ACBDF8009BB0F7006787F3005479F1005E80F200486F + F0005A7CED00566EC1000000000000000000000000005578EB0098ACEE0095AC + F7009AAFF7009DB2F7009EB3F7009EB3F7009FB3F7009EB3F7009EB3F7009EB3 + F7009EB3F7009EB3F7009DB2F7009DB2F7009CB1F7009BB0F70099AFF7008EA6 + F6008BA4F60092A7ED00546EC500000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000C1CDF6005F76CC00C8D4FB00A9BBF7009BACE400A9BB + F700C8D4FB00C7D0F000C1CDF600000000000000000000000000000000000000 + 00000000000000000000D3D3D300D6D6D600DFDFDF00CECECE00ADADAD009C9C + 9C0097979700BBBBBB00C0C0C000B4B4B400D3D3D30000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000839AE8005B76D3005B76D300536FCA009EB3F70093AAF6007086D1005B76 + D3005B76D3005B76D300000000000000000000000000617ACC005670C7005670 + C7005670C7005670C7005670C7005670C7005670C7005670C7005670C7005670 + C7005670C7005670C7005670C7005670C7005670C7005670C7005670C7005670 + C7005670C7005670C7005670C800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000C1CDF600C7D0F000CED8FB00B7C7F900CED8 + FB00C7D0F0005F76CD0000000000000000000000000000000000000000000000 + 000000000000000000000000000080808000B3B3B300E1E1E100F3F3F300EEEE + EE00E8E8E800CBCBCB00A6A6A600808080000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000AEBEF30095AAF200889EE600566FC8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005D75CC00A1B0E200CED7F400A1B0 + E2005D75CC00C1CDF60000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000B0B0B0008A8A8A00808080008080 + 8000808080008A8A8A00B0B0B000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000007289D700637BCE0092A7EC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000B6C5F00027377300000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000B7C5F1002B3E7C004E5E9400000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000026366D0026366D002636 + 6D0026366D0026366D0026366D0026366D0026366D0026366D0026366D002636 + 6D0026366D0026366D0026366D0026366D0026366D0026366D0026366D002636 + 6D0026366D0026366D0026366D0031458D0000000000354A88002E3D70002E3D + 70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D + 70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D70002E3D + 70002E3D70002E3D7000D2D2D200000000000000000000000000000000000000 + 00000000000000000000000000002E4282004B5D9F004961B100000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000003269B000D2A90000D2A + 90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A + 90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A90000D2A + 90000D2A90000D2A90000D2A9000293973000000000030438600E6EAF700E5E9 + F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9 + F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9F600E5E9 + F600E5E9F600E5E9F60000000000000000000000000000000000000000000000 + 000000000000BAC7F200354990003F5EC4001E42BA004A65BD00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F80000000000000000000429A8002E3F7E000000 + 00004F70DE004F70DE004F70DE004F70DE004F70DE0039509D00354A9100506E + D400506ED400506ED400506ED400506ED400000000003A51A1005475E2005979 + E3005979E3005878E3003A51A1000000000000000000354A9200E5EAF8004364 + D2000430C2000430C2003659CE000430C2000430C2000430C2000430C2000430 + C2000430C2003659CE000430C2000430C2000430C2003659CE000430C2000430 + C2004364D200E5EAF80000000000000000000000000000000000000000000000 + 0000BCC8F300384D97004F66B1001038BF00143BBF004C67C400000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF00000000000000000000000000082EAE00314284000000 + 00005073E8000537DE000537DE000537DE005073E8003E55A900394F9B004F6F + DB000432CD000432CD000432CD004F6FDB00000000004058AF005F80EF002A56 + E9002A56E9002855E9004058AF000000000000000000384E9800E5EAF9004162 + D1000432C9000432C900365BD3000432C9000432C9000432C9000432C9000432 + C9000432C900365BD3000432C9000432C9000432C900365BD3000432C9000432 + C9004365D600E5EAF90000000000000000000000000000000000000000000000 + 00003A519D005169B8003E60D1000430C300143DC7004D6AC900374C9500374C + 9500374C9500374C9500374C9500374C9500374C9500374C9500374C9500374C + 9500374C9500374C95004259AC00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F8000000000000000000000000001137B800334689000000 + 00004F74EF00053AE900053AE900053AE9004F74EF00425CB2003D55A5005072 + E3000535D8000535D8000535D8005072E30000000000435CB4006A8AF300426A + F000426AF0003F68F000435CB40000000000000000003B519F00DADFED004A64 + B9000937D0000A38D0003B60D9000A38D0000A38D0000A38D0000A38D0000A38 + D0000A38D0003B60D9000A38D0000A38D0000A38D0003A5FD9000A38D0000836 + D0004467DB00E6EBFA0000000000000000000000000000000000BECCF5004159 + AB003E63DE00103ED7000535D5000535D5000838D5001441D8001441D8001441 + D8001441D8001441D8001441D8001441D8001441D8001441D8001441D8001441 + D8001441D8001F4AD9003E55A500000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F80000000000000000000000000000000000000000002248C800384D95000000 + 00005B7EF2001D4DED001D4DED001D4DED005B7EF200455FB600455FB6005075 + F100053AEB00053AEB00053AEB005075F10000000000455FB6007592F4006686 + F3006686F300597CF200455FB60000000000000000004159AB00E5EAFB007E98 + ED003958C0001D48D700496DE5001D49DA001A41C3002F4FBA00B8C4EB003B5B + C6001D49DC00496DE5001E4BDF001E4BDF001E4BDF00496DE5001D4ADF001543 + DE00496DE500E5EAFB00000000000000000000000000BECCF500455EB2005871 + CB001141DF000738DD000738DD000738DD000738DD000738DD000738DD000738 + DD000738DD000738DD000738DD000738DD000738DD000738DD000738DD000738 + DD000738DE001544DF004259AD00000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000002B51D0003C519B000000 + 00006485F300305CEE00315DEF00305CEE006485F3004760B7004760B7005075 + F100053AEB00053AEB00053AEB005075F100000000004760B7007590EC008BA2 + EE008BA2EE00849DEE004760B7000000000000000000445DB100E6EBFC004A6F + EA00C7D1F2004260C6004868D3003656BF008FA1DE00D4DCF90089A1F200B0BD + E8002D52CC005074EB002854E6002854E6002854E6005074EB002854E6001C4A + E5004B70EA00E6EBFC000000000000000000000000004962BA005C77D2004A6F + ED001C4BE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4C + E8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4CE8001D4C + E8001C4BE8002653E900455EB50000000000000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 000000000000000000000000000000000000000000003459D7003E54A1000000 + 00006C8BF300446BF000456CF000446BF0006D8CF3004861B9004861B9005075 + F100053AEB00053AEB00053AEB005075F100000000005069C7004861B9004861 + B9004861B9004861B9005069C70000000000000000004761B700E6ECFD004D72 + EF006D8BF100CAD4F40090A1DA00D5DDFA0099AEF600476DEE00325DED00ADBE + F70092A3DD00577AF000325DED00325DED00325DED00577AF000325DED002351 + EB004E73EF00E6ECFD000000000000000000000000005E79D600577BF200466D + F0005479F1005579F1005579F1005579F1005579F1005579F1005579F1005579 + F1005579F1005579F1005579F1005579F1005579F1005579F1005579F1005579 + F1005479F1005176F1004A64BB0000000000000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000004368E300445CAD000000 + 00007D98F5006989F3006D8CF3006A8AF3007D98F5004A64BB004A64BB005176 + F100083CEB00083CEB00083CEB005176F1000000000000000000000000000000 + 000000000000000000000000000000000000000000004B65BC00E6ECFD007290 + F4006283F2006586F3006586F3006586F3006586F3006586F3006586F3006586 + F3008CA5F600667FD2006586F3006586F300607FE6005874D1005975D400577B + F2007592F400E6ECFD000000000000000000000000004E67C0006681D9006A8A + F3006E8DF300718FF400718FF400718FF400718FF400718FF400718FF400718F + F400718FF400718FF400718FF400718FF400718FF400718FF400718FF400718F + F4006F8DF3006586F3004B65BC000000000000000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 000000000000000000000000000000000000000000004D71E9004760B3000000 + 0000829DF5007794F400829CF5007894F400829DF5004C65BC004C65BC00587C + F2001647EC001647EC001647EC00587CF2000000000000000000000000000000 + 000000000000000000000000000000000000000000004C66BD00E6ECFD005277 + F1004B71F1005075F1006D8CF3005075F1005075F1005075F1005075F1005075 + F1005075F100C5CEEC004667D600496CDF00657DCE00B5C1E9009EAEE1003862 + EF00567AF200E6ECFD00000000000000000000000000BFCDF6004F68C2006C86 + D9007E99F50089A2F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5 + F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5F6008CA5 + F600849EF5007391F4004C66BD000000000000000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005579EF004A63B9000000 + 0000829CF5007592F40086A0F5007592F400829CF5004D66BE004D66BE005E80 + F2002453EE002453EE002453EE005E80F2000000000000000000000000000000 + 000000000000000000000000000000000000000000004E68BF00E6ECFD005479 + F1005479F100597CF2007491F400597CF200597CF200597CF200597CF200597C + F200597CF200CDD7F90099A9DD007E92D500CED8FB00ACBDF800C4D0F900365A + D200587CF200E6ECFD000000000000000000000000000000000000000000BFCD + F6006D86DA0086A0F500A0B4F700C3D0FA00C1CEFA00B4C4F800869EED00839C + ED00829BED00829BED00829BED00829BED00829BED00829BED00829BED008099 + ED007B95EC00728EEB004F69C0000000000088878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A500DCDBDB0088878700000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006787F3004F68BF000000 + 00004F69C0004F69C0004F69C0004F69C0004F69C000556FCC004F69C0006A8A + F3004068F0004169F0004068F0006B8AF3000000000000000000000000000000 + 00000000000000000000000000000000000000000000506AC100E6ECFD00577B + F2006586F3006D8CF300829CF5006D8CF3006D8CF3006D8CF3006D8CF3006D8C + F3006D8CF300829CF5007491F4006D8CF3006D8CF300829CF5006C8BF300D2DB + FA008094D700DFE5F60000000000000000000000000000000000000000000000 + 0000536CC5006E87DB0088A2F600B9C8F900B2C2F9009DB0F000506AC100506A + C100506AC100506AC100506AC100506AC100506AC100506AC100506AC100506A + C100506AC100506AC100506AC3000000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00EBEBEB0085848300000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006F8DF3005069C1000000 + 0000000000000000000000000000000000000000000000000000516AC100718F + F4004E73F1004F74F1004E73F100718FF4000000000000000000000000000000 + 00000000000000000000000000000000000000000000526CC300E6ECFD007995 + F400819BF50088A2F60088A2F60088A2F60088A2F60088A2F60088A2F60088A2 + F60088A2F60088A2F60088A2F60088A2F60088A2F60088A2F60087A1F500839E + F500D8E0FC00E8EDFD0000000000000000000000000000000000000000000000 + 0000BFCDF600536DC6006E88DB0095ACF70092A9F6008AA1EE00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A989700E7E7E6008C8A8800000000000000000000000000000000000000 + 000000000000000000000000000000000000000000007894F400516BC2000000 + 0000000000000000000000000000000000000000000000000000526CC3007894 + F4005C7FF2005D80F2005C7FF2007894F4000000000000000000000000000000 + 00000000000000000000000000000000000000000000536DC400E6ECFD00597C + F2006F8DF3007C97F4008FA7F600819BF500819BF500819BF500819BF500819B + F500819BF5008FA7F600819BF500819BF500819BF5008EA6F6007A96F4005075 + F1005F81F200E6ECFD0000000000000000000000000000000000000000000000 + 00000000000000000000BFCDF600708ADD006C8BF300708CEC00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA00C2C0BE00B6B6 + B500A09E9D00EDEDEC008F8D8D00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000088A2F600546DC4000000 + 0000000000000000000000000000000000000000000000000000546EC500839E + F5007794F4007A96F4007894F400839EF5000000000000000000000000000000 + 000000000000000000000000000000000000000000005670C700E6ECFD005378 + F100577BF2006384F3007F9AF5006E8DF3006E8DF3006E8DF3006F8DF3006F8D + F3006F8DF300829DF5006E8DF3006E8DF3006C8BF3007E99F5006082F2003F68 + F000587CF200E6ECFD0000000000000000000000000000000000000000000000 + 00000000000000000000000000005770C8006B85DD006181EB00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE00C2C2C200AFAD + AC00AAA8A700E2E1E00093929100000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000092A9F600556EC5000000 + 0000000000000000000000000000000000000000000000000000566FC60087A1 + F500829CF50087A1F500829DF50087A1F5000000000000000000000000000000 + 000000000000000000000000000000000000000000005771C800E6ECFD00496F + F0005A7DF2005E80F2007E99F5006183F2006183F2006283F2006283F2006283 + F2006283F2007F9AF5006283F2006183F2006183F2007D98F5005D80F2005378 + F1004B71F100E6ECFD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000C1CDF6005871C9006D86D800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF00C3C2C200A09F + 9D00BFBDBC00C4C3C200ACACAC00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000009AAFF700566FC6000000 + 00000000000000000000000000000000000000000000000000005770C7008AA3 + F60088A2F60096ACF7008AA3F6008AA3F6000000000000000000000000000000 + 000000000000000000000000000000000000000000005771C800E6ECFD00E6EC + FD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6EC + FD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6EC + FD00E6ECFD00E6ECFD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB00ADACAC0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A8BAF8005872C9000000 + 00000000000000000000000000000000000000000000000000005872C9007D97 + EE0090A7F10097ACF20090A7F1007D97EE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000AFBFF5005872C9000000 + 00000000000000000000000000000000000000000000000000005B76D2005872 + C9005872C9005872C9005872C9005872C9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005872C9005B76D2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00004A60B0002839760026356C00283976004A60B000A3B3EA00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000042579E0036457D002E3C + 6D00283868008D9DD300C0C0C000C0C0C000C0C0C000C0C0C000C2C2C200CECE + CE00CECECE00CECECE00DEDEDE00DEDEDE00DEDEDE0000000000000000000000 + 00000000000000000000000000000000000000000000000000003B53A4002840 + 93001A3FBA003453BC003F5CBD003453BC001A3FBA000C31B0003B53A4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002A3B7700DBE0F100DDE2 + F200DEE3F300DFE4F300DFE4F300E0E5F300E0E5F300E2E7F400E3E7F500E3E7 + F500E3E7F500E5E9F600E5E9F600E6EAF600E8ECF700E8ECF700E8ECF700E8EB + F600E9ECF700EAEDF7000000000000000000000000003F59B0005A78DE004D67 + BE00334279002A3C780000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005069C0002E47A2000734 + C8005069BC00475AA20043579D00475AA2005069BC002D52CE002E47A2005069 + C000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002D3F7F00D7DDF100C8D0 + EC00C9D1ED00CAD2ED00CBD3ED00CCD3ED00CDD4ED00CED5EE00D0D7EF00D1D8 + EF00D2D9EF00D3D9EF00D4DAF000D5DBF100D7DDF200D7DDF200D7DDF100D9DE + F200DADFF200E6EAF800000000000000000000000000415BB2006F8DF3002F58 + E2003C57B1002A38700000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003F56A9001843D5003059 + E1004059AC008A9FE600000000008A9FE6004059AC005A70BC001843D5003F56 + A900ACBCF1000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000030448600D6DCF200C3CC + EC003E5DC4003E5DC4003E5DC4003F5EC4003F5EC4003F5EC400C9D2EF00C9D2 + EF00CAD2EF00CBD3EF00CDD5F000CDD5F000CFD6F000D0D7F000D1D8F100D2D9 + F100D3DAF100E0E5F5000000000000000000000000004A65BF00657DCF00899F + E800647ED800536DC1003F57A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003B61DF002A57EE006076 + C20000000000000000000000000000000000000000008FA3E9002A57EE003B61 + DF00445DB6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000384C9700D7DEF500C6D0 + F1003F61D2003F61D2003F61D2003F61D2003F61D2003F61D200C4CEF000C4CE + F100C4CEF100C4CEF100C3CEF100C3CEF100C3CEF100C3CEF100C3CEF100C4CE + F100C4CEF100D7DEF500000000000000000000000000BFCCF5004862BC006A81 + D000556FC5003355C700506CCC004E65B40090A3E20000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000486CE8003C65ED00556C + BC000000000000000000000000000000000000000000000000003963EF004A6E + E600445DB4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000032479000304589003045 + 8900304589003045890030458900304589003045890030458900304589003045 + 8900304589003045890030458900304589003045890030458900304589003045 + 89003045890030458900859AE00000000000000000003B519F00D9E0F700C8D2 + F4003F63DA003F63DA003F63DA003F63DA003F63DA003F63DA00C6D1F400C6D1 + F400C6D1F400C5D0F300C5D0F300C5D0F300C4CFF300C4CFF300C4CFF300C3CE + F300C3CEF300D6DDF70000000000000000000000000000000000BFCCF5004A64 + BD008FA4E8005670C400647DD100425596003645760035498F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006080EB004A6FEE005168 + BB00000000000000000000000000000000000000000000000000476EF0006080 + EB00455EB5000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005C74C5005873D0005873 + D0005873D0005873D0005873D0005873D0005873D0005873D0005873D0005873 + D0005873D0005873D0005873D0005873D0005873D0005873D0005873D0005873 + D0005873D0005873D0003D529A0000000000000000003F57A700DBE2F900CAD4 + F6004065E0004065E0004065E0004065E0004065E0004065E000C8D3F600C8D3 + F600C8D3F600C7D2F600C7D2F600C7D2F600C6D1F500C6D1F500C6D1F500C5D0 + F500C5D0F500D7DEF80000000000000000000000000000000000000000000000 + 00004F68C1007087D40095A8E9004462C8005570CA00465AA00032458600B8C5 + F100000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000008397DB006888F3006F88 + DF0000000000000000000000000000000000C9D4F8004A64BD006886EC007F92 + D100607AD3000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000587BED001444E6000E2A + 8A001744DB000F2B8A001744DB000F2B8A000F2B8A000F2B8A000F2B8A001744 + DB000F2B8A000F2B8A000F2B8A001744DB000F2B8A000F2B8A001744DB000F2B + 8A001644DB000D2A8A005268B70000000000000000004761B700DEE5FB00D1DA + FA005176EF005075EF005075EF005075EF005075EF005075EF00D0DAFA00D0DA + FA00D0DAFA00CFD9FA00CFD9FA00CFD9FA00CED8FA00CED8FA00CED8FA00CDD7 + FA00CCD7FA00DAE1FB0000000000000000000000000000000000000000000000 + 0000BFCDF600506AC3007288D500637AC5004563C8003B5BC800394A86003142 + 7D00A4B3EA00293B7B00283871002E4185000000000000000000000000000000 + 000000000000000000000000000000000000000000006076C20096ACF4007391 + F4004C64BE0090A4EA000000000090A4EA004C64BE009DACDE00A0B3F3005E73 + BB004159AB000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006383EE002352ED006886 + EB00335EEF006A88EE00335EEF006985E2006985E2006985E2006986E600335E + EF006A88EE006A88EB006986E600335EEF005F71B0006883DF00335EEF006A88 + EE00325EEF006786EE00566EBE0000000000000000004963BA00E0E6FC00D4DD + FC00597CF200597CF200597CF200597CF200597CF200597CF200D4DDFC00D4DD + FC00D4DDFC00D3DCFB00D3DCFB00D3DCFB00D3DCFB00D3DCFB00D2DBFB00D2DB + FB00D0DAFB00DDE4FC0000000000000000000000000000000000000000000000 + 000000000000BFCDF600536CC50098AAE900637AC6004566D4003954B1003A49 + 7E0035406900576EB900566DBA00556BB400374E9900CED7F700000000000000 + 000000000000000000000000000000000000000000005C76D2008295D6009EB2 + F500859BE400697EC9006076C200697EC900859BE400A9BBF800A0AEDF004362 + CC002D4FC300BDCBF40000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006D8AEB00305CEE002B43 + 9400243D90003D63E300243D9000354C9800486CE400354C9800304896003960 + E300284192002C44940030489600385EDE007692EF005075F1003D66EF002841 + 92003960E300253E92005A70C10000000000000000004A64BB00E2E8FD00D8E0 + FC006283F2006283F2006183F2006183F2006183F2006183F200D8E0FC00D7DF + FC00D7DFFC00D7DFFC00D7DFFC00D7DFFC00D6DFFC00D6DFFC00D6DFFC00D5DE + FC00D4DDFC00DFE6FC0000000000000000000000000000000000000000000000 + 00000000000000000000000000005770C800748BD900879DE8004D5D97004E65 + B4004A6AD3000430C2000430C2000430C2004162D1005971C00046589B000000 + 0000000000000000000000000000000000000000000000000000000000005D77 + D3009CABE200BECBF500BCCAF600BECBF5009CABE200687CC600798FDA0086A0 + F5004B71F1002E50C400435BAE00BDCBF4000000000000000000000000000000 + 000000000000000000000000000000000000000000007691ED00496FF0003D51 + 94006381E700394D91005D7DE6005D7DE600394D91005D7DE6005D7DE600394D + 91005D7DE6007483B3007483B3006583E6007483B3007483B3006280E4003C50 + 93005A7AE600374C93005F76C50000000000000000004D66BE00E6EBFD00DEE5 + FC007290F4007290F4007290F4007290F4007290F4007290F400DEE5FC00DEE5 + FC00DEE5FC00DEE5FC00DDE4FC00DDE4FC00DDE4FC00DDE4FC00DDE4FC00DCE3 + FC00DAE2FC00E2E8FD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000C1CDF6005872CA006F85D000516BBE004A6C + DC00123ED2000433D0000433D0000433D0000937D2002F56D8005775D700455E + B500BDCBF4000000000000000000000000000000000000000000000000000000 + 0000657FD9004C65BF004C65BC004C65BF00657FD900AEBEF2004C65BF007A90 + DB0086A0F5001848EB002F51C500445CAE000000000000000000000000000000 + 000000000000000000000000000000000000000000007A94EE005378F10092A7 + EE007693F40099AEF2007693F4007693F40099AEF2007693F4007693F40099AE + F2007693F40094A7E60095A8EA007995F40094A7E60095A8EA007995F40099AE + F2007391F4008DA4F1005871C40000000000000000004E68BF00E6ECFD00E1E7 + FD007A96F4007A96F4007A96F4007A96F4007A96F4007A96F400E2E8FD00E1E7 + FD00E1E7FD00E1E7FD00E1E7FD00E1E7FD00E0E6FC00E0E6FC00E0E6FC00DFE6 + FC00DDE4FC00E4E9FD0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000AEBEF3005E6FAD004B6FE7001242 + E0000537DE000537DE000537DE000537DE000537DE000537DE001B49E1005E76 + CA00455DB2008DA2E80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF6004D66 + C0007A90DB004B71F1001848EB003052C500BDCBF40000000000000000000000 + 000000000000000000000000000000000000000000007B96EE00597CF2004B5C + 96004E5E93007D96E9004E5E93004E5E93007D96E9004E5E93004E5E93007D96 + E9004E5E93005A699A00576698007A94E8005A699A00576698007A94E8005060 + 9500718CE8003D519300536DC40000000000000000004F69C000E8EDFD00E3E9 + FD00829CF500829CF500829CF500829CF500829CF500829CF500E5EAFD00E5EA + FD009DB2F7009DB2F7009DB2F7009DB2F7009DB2F7009DB2F7009DB2F7009BB0 + F700E0E6FC00E6EBFD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004963BC006A87E8002553EE002553 + EE002553EE007C97F4007F9AF1007C97F4002553EE002553EE002553EE002553 + EE004A70F0006983DB0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BFCDF6007B91DC0086A0F5004B71F1003153C700475EB100BDCBF4000000 + 000000000000000000000000000000000000000000007B93E700819CF30092A9 + F600A3B6F800A4B7F800A6B9F800A8BAF800A6B9F800A8BAF800A8BAF800A6B9 + F800A8BAF800A9BBF800ABBDF800A6B9F800ADBEF800AABCF800A4B7F8009FB3 + F70094ABF60087A1F5005771C9000000000000000000526CC300EBF0FD00E7EC + FD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00E9EEFD00E9EEFD00E9EE + FD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E7EC + FD00E5EAFD00E8EDFD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004A64BB00718DEB003E67F0003E67 + F0006888F300667CC5005A71C100667CC5006888F3003E67F0003E67F0003E67 + F000486FF000718CE90000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004F69C3007B92DC0086A0F5001848EB003154C700485FB2000000 + 000000000000000000000000000000000000000000005872CA00495891004A59 + 9100697EC8006D82CF006D82CF006D82CF006D82CF006D82CF006D82CF006D82 + CF006D82CF006D82CF006D82CF006D82CF006D82CF006D82CF006D82CF006C82 + CF006B82CE006980CE0093A8ED000000000000000000536DC400ECF0FE00E9EE + FD007693F4007693F4007693F4007693F4007693F4007693F4007693F4007693 + F4007693F4007693F4007693F4007693F4007693F4007693F4007693F400708E + F400E6ECFD00E9EEFD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004F69C4007892E700567AF200567A + F20091A3E4009DB0EE00000000009DB0EE0091A3E400567AF200567AF2005D80 + F2007794F4006B83D40000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BFCDF600506AC4007C92DD004B71F1001848EB003254C800BFCB + F400000000000000000000000000000000000000000000000000000000008380 + 7E00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000546EC500EDF1FE00EBF0 + FD00809BF500809BF500809BF500809BF500809BF500809BF500809BF500809B + F500809BF500809BF500809BF500809BF500809BF500809BF500809BF5007794 + F400E8EDFD00EBF0FD0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000556FCC0096ACF7007995 + F4005971C4000000000000000000000000005D75C500809AF10087A1F500728A + DB004F69C200BFCDF60000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000BFCDF6007D93DD0086A0F5004B71F1003355 + C9004A62B400BFCBF5000000000000000000000000000000000000000000918F + 8F00908D8B00918E8C00928F8D0093908E0094918F0095929000979492009895 + 9300999694009B9896009C9997009D9A98009E9B99009F9C9A009B999800A09F + 9E00B6B4B400D6D6D6000000000000000000000000005770C700F0F3FE00EDF1 + FE00839EF5008AA3F6008CA5F6008EA6F6008FA7F6008FA7F6008FA7F6008FA7 + F6008FA7F6008FA7F6008FA7F6008FA7F6008DA5F6008CA5F6008AA3F6007693 + F400EAEFFD00ECF0FE0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D3DBF9009AACEA008FA7 + F600647BC800000000000000000000000000657BC800859FF5009CB1F700516A + C400BFCDF6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000536DC6007E94DE0086A0F5001848 + EB003456CA004B63B50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005871C800F0F3FE00EDF1 + FE00F0F3FE00F1F4FE00F1F4FE00F1F4FE00F1F4FE00F1F4FE00F0F3FE00F0F3 + FE00F0F3FE00F0F3FE00F0F3FE00F0F3FE00EFF3FE00EFF3FE00EEF2FE00ECF0 + FE00EAEFFD00EDF1FE0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006278C900A2B4 + F3008A9EE2009FB1F000000000009FB1F000869BE3009BB0F700788FDD00BFCD + F600000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000C1CDF600536CC500859AE0004B71 + F1001848EB003457CA00BFCBF500000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005872C900F1F4FD00F1F4 + FD00F2F5FD00F3F6FD00F3F6FD00F3F6FD00F3F6FD00F3F6FD00F3F6FD00F3F6 + FD00F2F5FD00F2F5FD00F2F5FD00F2F5FD00F1F4FD00F1F4FD00F1F4FD00F0F3 + FD00EFF2FD00EEF2FD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005974 + CF0098AAE400B2C2F900B4C4F900ADBEF8007D93DF00566FC700C1CDF6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000566FC8008295D400A1B1E500798F + DD0086A0F5004B71F1005E78D1005169BE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F6005C75CC00C1CEFA00B9C8F900B7C7F9005771C900C1CDF600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005874CF008DA0DF00C4CEF100657B + C5008B9FE30086A0F5006781DB00556DC6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000093A8ED009CAEE900A0B2EF008195DB00C1CDF60000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000C1CDF6005874CF00556EC300B0BD + E7007A8CCA008399E1005872CA00C1CDF6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000C1CDF6005770 + CA00BFCCF5000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C9C9C900A1ADDA0058648C00545664005456640054566400545664005456 + 6400545664005456640054566400545664005456640053556300525E8800C2C2 + C200D4D4D4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000DCDCDC00C4C4C4003847 + 7D0027345E0027345E0027345E0027345E0027345E0027345E0027345E002734 + 5E0027345E0027345E0027345E0027345E0027345E0027345E0027345E002734 + 5E0038477D00C4C4C40000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000C3CEF1005E607000999CA600B0B1BA00B0B1BA00B0B1BA00B0B1BA00B0B1 + BA00B0B1BA00B0B1BA00B0B1BA00B0B1BA00B0B1BA00B0B1BA00999BA600BEC9 + EE00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002B3C + 78000328A30003208200E8E8E700E5E4E300E0DFDE00DBDAD900032082000328 + A3000328A3000328A3000328A3000328A3000328A3000328A3000328A300435E + BA002B3C78000000000000000000000000000000000000000000000000000000 + 00000000000000000000A3B3EA002F3E73003F4F840044579700495DA100495D + A100495DA100445797003F4F86002F3F7400A3B3EA0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000060647500A6A9B60025377600253776002537760025377600253776006870 + 92007B819B002537760025377600253776002537760025377600253776006569 + 7A00000000000000000000000000000000000000000000000000000000000000 + 00000000000029386A005469AE005065AC005065AC005065AC005065AC005065 + AC005065AC005065AC005065AC005065AC005065AC005469AE00344686000000 + 0000000000000000000000000000000000000000000000000000000000002C3F + 7E00042AA90003218700E8E8E700EFEEED00EAE9E800E5E4E30003218700042A + A900042AA900042AA900042AA900042AA900042AA900042AA900042AA900425E + BD002C3F7E000000000000000000000000000000000000000000000000000000 + 0000000000004159A70035447A00455EAF002F4BAB001E3DA400032699000326 + 9900032699001E3DA4002F4BAB00455EAF0035447A004159A700000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000063677800A2A4B400263877002638770026387700263877002C3D77005960 + 7A0059607A002638770026387700263877002638770026387700263877006367 + 7800000000000000000000000000000000000000000000000000000000000000 + 0000000000002B3C7800536CBF000328A0000328A0000328A0000328A0000328 + A0000328A0000328A0000328A0000328A0000328A000536CBF00354994000000 + 0000000000000000000000000000000000000000000000000000000000002F42 + 8300042BAF0003238C00DFDFDD00F3F3F100F3F3F200EFEFEE0003238C00042B + AF00042BAF00042BAF00042BAF00042BAF00042BAF00042BAF00042BAF004360 + C3002F4283000000000000000000000000000000000000000000000000000000 + 00002E42880042538E004760B1000B2EA10003279F0003279F0003279F000327 + 9F0003279F0003279F0003279F000B2EA1004760B10042538E002E4288000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000676B7C009FA2B20028397800283978002839780028397800283978003A42 + 63003B425C00283978002839780028397800283978002839780028397800676B + 7C00000000000000000000000000000000000000000000000000000000000000 + 0000000000002E3F7E00536DC3000429A8000429A8000429A80003279E000326 + 99000325970003269A0003279F000429A7000429A800536DC300374D97000000 + 0000000000000000000000000000000000000000000000000000000000003448 + 8E00042EBB0003259500CAC9C800E3E2E000E6E6E500EAEAE90003259500042E + BB0003279D00032595000325950003259500032595000325950003279D004262 + CB0034488E000000000000000000000000000000000000000000000000003147 + 8F003654B900082DA9000429A8000429A8000429A8000429A8000429A8000429 + A8000429A8000429A8000429A8000429A8000429A800082DA9003654B9003147 + 8F00000000000000000000000000000000000000000000000000000000000000 + 00006F738300A7ABBB002B3C7B003963EF00446BF000486FF000496FF000496F + F000496FF000496FF000486FF000476EF000325EEF00466DF0002B3C7B006F73 + 8300000000000000000000000000000000000000000000000000000000000000 + 00000000000034478B005470CD00042DB600042BAC000320800003208000586B + AB00ADB6D50003208000031F7E0003269B00042DB6005470CD003B519F000000 + 000000000000000000000000000000000000000000000000000000000000364B + 94000430C20003269B00C1C0BE00DAD9D800DEDDDC00E2E1E00003269B000430 + C20003269B0002175D0002175D000110410002175D0002175D0003269B004364 + D100364B94000000000000000000000000000000000000000000475FB1004658 + 9A00082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00FFFFFF00FFFF + FF00FFFFFF00042BAC00042BAC00042BAC00042BAC00042BAC00082EAE004658 + 9A00475FB1000000000000000000000000000000000000000000000000000000 + 000073778700AAAFBF002C3D7C004068F000486FF000496FF000496FF000496F + F000496FF000496FF000496FF000496FF0003761EF00486FF0002C3D7C007377 + 8700000000000000000000000000000000000000000000000000000000000000 + 000000000000364A91005773D300042DB60003228A0003218700032187000321 + 870003238D00032187000321870003218500042CB4005773D3003C53A3000000 + 000000000000000000000000000000000000000000000000000000000000394F + 9A000633C80004289F00B5B4B200D2D1CF00D6D5D300DAD9D70004289F000633 + C70004289F00031860000318600002114300031860000318600004289F004365 + D500394F9A0000000000000000000000000000000000A8B7ED003E508E004964 + BF00042CB100042CB100042CB100042CB100042CB100042CB100FFFFFF00FFFF + FF00FFFFFF00042CB100042CB100042CB100042CB100042CB100042CB1004964 + BF003E508E00A8B7ED0000000000000000000000000000000000000000000000 + 000075798A00AFB3C3002E3E7E003E67F000456CF000456CF000456CF000456C + F000456CF000456CF000456CF000456CF0003761EF00486FF0002E3E7E007579 + 8A00000000000000000000000000000000000000000000000000000000000000 + 000000000000394D98005875D8000429A5000324920003249200042AA900042C + B200042CB200032493000324920003249200042DB5005875D8003E56A6000000 + 0000000000000000000000000000000000000000000000000000000000003E55 + A4001E49D800193BAC00AFADAC00B3B1B000BAB8B600C1BFBD00193BAC00204A + D800193BAC00091743000D1E58000A194900091743000D1E5800193BAD004B6D + DF003E55A400000000000000000000000000000000003F5194004966C8001139 + BF000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE00FFFFFF00FFFF + FF00FFFFFF000C35BE000C35BE000C35BE000C35BE000C35BE000C35BE001139 + BF004966C8003F51940000000000000000000000000000000000000000000000 + 00007C819200B7BACA00304180003661EF003B64EF003B64EF003B64EF003B64 + EF003B64EF003B64EF003B64EF003B64EF00305CEE00466DF000304180007C81 + 9200000000000000000000000000000000000000000000000000000000000000 + 0000000000003F55A4005878E1000429A8000429A8000429A8000328A1000328 + A1000328A10003279F000429A8000429A800042FBD005878E100425BAE000000 + 0000000000000000000000000000000000000000000000000000000000004159 + AA002A54DF002649BB002445B3002445B3002445B3002445B3002649BB002D56 + DF002649BB002445B3002445B3002445B3002445B3002445B3002649BB004E71 + E4004159AA00000000000000000000000000000000004D62A9003659CC00123B + C300173FC400173FC400173FC400173FC400173FC400173FC400FFFFFF00FFFF + FF00FFFFFF00173FC400173FC400173FC400173FC400173FC400173FC400123B + C4003558CC004D62A90000000000000000000000000000000000000000000000 + 000080849500BBBFCF0032428100315CED00355FED00355FED00355FED00355F + ED00355FED00355FED00355FED00355FED002B58EC00456CEF00324281008084 + 9500000000000000000000000000000000000000000000000000000000000000 + 0000000000004259AB005879E6002044BC00ADBBE7003C5BC400032699000326 + 99000326990003239000042DB800C9D2EF000431C6005879E600445DB1000000 + 0000000000000000000000000000000000000000000078767600D3D3D300445D + B000365EE5003B62E6003B62E6003B62E6003B62E6003B62E6003B62E6003B62 + E6003B62E6003B62E6003B62E6003B62E6003B62E6003B62E6003B62E6005376 + E900445DB000D3D3D300807F7F0000000000000000005069BE002E53CE001D45 + CA00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00FFFFFF00FFFF + FF00FFFFFF00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB001D45 + CA002D52CE005069BE0000000000000000000000000000000000000000000000 + 000084889800BDC2D200334482002D59EA00315CEA00315CEA00315CEA00315C + EA00315CEA00315CEA00315CEA00315CEA002855E900446BEC00334482008488 + 9800000000000000000000000000000000000000000000000000000000000000 + 000000000000455EB100597BEB000430C200042FBF00042FBF00032187000323 + 8D0003238D0003249100042FBF00042FBF000434D300597BEB00465FB5000000 + 00000000000000000000000000000000000000000000EBEBEB00AEADAC007979 + 7D00728EEE005D80F200567AF200567AF200567AF200567AF200567AF200567A + F200567AF200567AF200567AF200567AF200567AF200567AF2005C7FF2004F67 + BB0079797D00AEADAC007C7A790000000000000000005774D4002850D5003459 + D700395ED800395ED800395ED800395ED800395ED800395ED800FFFFFF00FFFF + FF00FFFFFF00395ED800395ED800395ED800395ED800395ED800395ED8003459 + D700224BD4005773D30000000000000000000000000000000000000000000000 + 00008B8F9F00C5C9D90035468400234FE2002551E2002551E2002551E2002551 + E2002551E2002551E2002551E2002551E2001F4CE2004066E600354684008B8F + 9F00000000000000000000000000000000000000000000000000000000000000 + 0000000000004B64BB006082F2001445E9001240D700123FD600123FD600123F + D600123FD600123FD600123FD600113DD1001143EC006082F2004B64BB000000 + 00000000000000000000000000000000000000000000CFCECE00EBEBEB00AFAE + AD005F71B000829CF0006A8AF3006384F3006384F3006384F3005673D4004F6A + C2004F6AC2006283F0006384F3006384F3006384F3006A8AF300829DF5007979 + 7F00AFAEAD00EBEBEB007F7D7C0000000000000000005A77D8003057DA003E63 + DD004569DF004569DF004569DF004569DF004569DF004569DF00FFFFFF00FFFF + FF00FFFFFF004569DF004569DF004569DF004569DF004569DF004569DF003E63 + DD002B53DA005975D70000000000000000000000000000000000000000000000 + 00008E92A300C7CCDD00374785001E4ADE00214DDF00214DDF00214DDF00214D + DF00214DDF00214DDF00214DDF00214DDF001B48DE003E64E400374785008E92 + A300000000000000000000000000000000000000000000000000000000000000 + 0000000000004C65BC006485F3001E4DED001D4CE9001C49DE007691EB00E8ED + FB00E8EDFB001C49DD001C49DE001D4CE9001949ED006586F3004C65BC000000 + 00000000000000000000000000000000000000000000807E7E00D0CFCF00EBEB + EB007E7E81006878B1008DA4F100708EF400708EF400708EF400A4B0D800E4E4 + E300D6D5D400627CD500708EF400708EF4007794F4008FA7F6006D80BF00B0AF + AF00EBEBEB00D0CFCF00D3D3D30000000000000000005C79DB00375EDF00486C + E3005173E3005173E3005173E3005173E3005173E3005173E300FFFFFF00FFFF + FF00FFFFFF005173E3005173E3005173E3005173E3005173E3005173E300486C + E3003058DE005B78DB0000000000000000000000000000000000000000000000 + 00009195A600CBD0E000384987001A47DB001B47DA001B47DA001B47DA001B47 + DA001B47DA001B47DA001B47DA001B47DA001744DB003D62E100384987009195 + A600000000000000000000000000000000000000000000000000000000000000 + 0000000000004D66BD006888F3002856EE002957EE002956EC002854E5002854 + E5002854E5002854E7002956EC002957EE002150ED006888F3004D66BD000000 + 0000000000000000000000000000000000000000000000000000D3D3D3008584 + 8300EBEBEB00B2B1B10084848700A1B4F30090A8F6008AA3F600C9C8C600D4D3 + D100E0DFDD006F83C5008AA3F60090A8F6007E8EC00084848700B2B1B100D2D2 + D10085848300D3D3D3000000000000000000000000005C78D5005074EA005477 + EA006886EC006886EC006886EC006886EC006886EC006886EC00536CBE00536C + BE00536CBE006886EC006886EC006886EC006886EC006886EC006886EC005477 + EA004A6FE9005D78D50000000000000000000000000000000000000000000000 + 0000989CAC00D0D5E6003A4B8900113ED300123FD300123FD300123FD300123F + D300123FD300123FD300123FD300123FD3000F3CD3003A5FDB003A4B8900989C + AC00000000000000000000000000000000000000000000000000000000000000 + 0000000000004F68C0006E8DF3003E67F0004068F0004068F0004068F0004068 + F0004068F0004068F0004068F0004068F000335EEF006E8DF3004F68C0000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300D4D3D200EBEBEB00B3B3B2007C89B400ABBBF4009DB2F7009FA6C200C3C1 + BF00C9C7C5008598D8009DB2F700AEBFF80088878B00B3B3B200EBEBEB008B89 + 8700D3D3D300000000000000000000000000000000005D76C900597CEE005578 + EE007390F0007491F1007491F1007491F1007491F1007491F1007491F1007491 + F1007491F1007491F1007491F1007491F1007491F1007491F1007390F0005679 + EE005377EE005D77CA0000000000000000000000000000000000000000000000 + 00009A9EAF00D3D8E9003B4C8A000D3AD0000E3BD0000E3BD0000E3BD0000E3B + D0000E3BD0000E3BD0000E3BD0000E3BD0000C39D000395ED9003B4C8A009A9E + AF00000000000000000000000000000000000000000000000000000000000000 + 0000000000005069C100718FF400F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5 + FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00F1F4FE007290F4005069C1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00008B898800D5D4D400EBEBEB008B8A8E007E8BB400B4C3F40092A2D9008494 + C6008494C600A8BAF500B5C5F9008896C300B4B4B300EBEBEB00D5D4D4008684 + 83000000000000000000000000000000000000000000566FC2006685EE00567A + F1007C97F400809BF500819BF500819BF500819BF500819BF500EDF1FD00FFFF + FF00EDF1FD00819BF500819BF500819BF500819BF500819BF5007D98F500587B + F1006081ED00566FC20000000000000000000000000000000000000000000000 + 00009DA1B200D6DBEC003C4D8B000835CC000936CC000936CC000936CC000936 + CC000936CC000936CC000936CC000936CC000835CC00375CD5003C4D8B009DA1 + B200000000000000000000000000000000000000000000000000000000000000 + 000000000000516BC2007491F400F1E0CB00F1E0CB00F1E0CB00F1E0CB00F1E0 + CB00F1E0CB00F1E0CB00F1E0CB00F1E0CB00F5EADA007592F400516BC2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D3D3D300908E8D00EBEBEB00B7B6B50091919300CBD6FB00C3D0 + FA00C3D0FA00949FC50091909400B7B6B500D7D6D600908E8D0093918F009290 + 8F000000000000000000000000000000000000000000AEBEF3005B73C5006886 + EC007391F40088A2F60093AAF60096ACF70096ACF70096ACF700FFFFFF00FFFF + FF00FFFFFF0096ACF70096ACF70096ACF70095ACF7008AA3F6007693F4006B89 + ED005B72C500AEBEF30000000000000000000000000000000000000000000000 + 0000A3A7B800DBE0F1003F4F8D000431C5000431C5000431C5000431C5000431 + C5000431C5000431C5000431C5000431C5000431C500365AD1003F4F8D00A3A7 + B800000000000000000000000000000000000000000000000000000000000000 + 000000000000536DC4007E99F500F3E2CB00F3E2CB00F3E2CB00F3E2CB00F3E2 + CB00F3E2CB00F3E2CB00F3E2CB00F3E2CB00F5EADA007E99F500536DC4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000D3D3D300D8D7D700EBEBEB00B8B7B6009DA6C500CDD8 + FB00CDD8FB0094939600B8B7B600EBEBEB009391900099979500A5A4A200A5A4 + A200939291000000000000000000000000000000000000000000607AD600647D + D0006384F3007F9AF50093AAF600A2B6F800A2B6F800A2B6F800FFFFFF00FFFF + FF00FFFFFF00A2B6F800A2B6F800A2B6F80095ACF700829CF5006686F300657E + D200607AD6000000000000000000000000000000000000000000000000000000 + 0000A6AABA00DDE3F3003F518E000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2000430C2000430C2003558CD003F518E00A6AA + BA00000000000000000000000000000000000000000000000000000000000000 + 000000000000546EC500819BF500F0F3FE00F1F4FE00F1F4FE00F1F4FE00F1F4 + FE00F1F4FE00F1F4FE00F1F4FE00F1F4FE00F3F6FE00819BF500546EC5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000096949300D9D9D800EBEBEB0097979900919D + C500919DC500B9B8B800EBEBEB00D9D9D800D3D3D300A09E9C00CCCCCC00CCCC + CC00A09E9C00000000000000000000000000000000000000000000000000536F + CA006989F3006A8AF300849EF500A8BAF800ADBEF800AEBFF800E1E3E800F2F2 + F200E1E3E800AEBFF800ADBEF800A9BBF80087A1F5006D8CF3006B8AF300536F + CA00000000000000000000000000000000000000000000000000000000000000 + 0000A9ADBD00DFE5F60040518F003558CA003558CA003558CA003558CA003558 + CA003558CA003558CA003558CA003558CA003558CA003558CA0040518F00A9AD + BD00000000000000000000000000000000000000000000000000000000000000 + 000000000000556FC600829DF500F4E4CB00F5E4CB00F5E4CB00F5E4CB00F5E4 + CB00F5E4CB00F5E4CB00F5E4CB00F5E4CB00F6EADA00829DF500556FC6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D3D3D3009B999800EBEBEB00BBBA + BA00BBBABA00DBDBDA009B999800D3D3D3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005570CB006780D400718EEE00819BF50090A8F6009FB3F700AFC0F900B1C1 + F900AFC0F900A1B5F70093AAF600849EF5007490ED006981D4005570CB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000AEB2C200E2E8F90042539000425390004253900042539000425390006776 + A6006776A600425390004253900042539000425390004253900042539000AEB2 + C200000000000000000000000000000000000000000000000000000000000000 + 0000000000005871C800829CF500CACCD100CBCDD100CBCDD100CBCDD100CBCD + D100CBCDD100CBCDD100CBCDD100CBCDD100D9DBDF00829CF5005871C8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D5D5D300DDDCDB00EBEB + EB00EBEBEB009D9C9B00D5D5D300000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000627DD8006179CA007A95F1007D98F500849EF5008BA4F6008EA6 + F6008BA4F60086A0F5007F9AF5007D97F1006179CA00627DD800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0B4C400E3E9FA0043549100435491004354910043549100435491003543 + 740035437400435491004354910043549100435491004354910043549100B6BA + CB00000000000000000000000000000000000000000000000000000000000000 + 0000000000005872C9007C97F400A5A7AC00A5A7AB00A5A7AB00A5A7AB00A5A7 + AB00A5A7AB00A5A7AB00A5A7AB00A5A7AB00BEC0C4007D98F5005872C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A19F9D00DEDD + DC00DEDDDC00D5D5D50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000AFBFF3005E77CA006881D4006B85E2007691ED007792 + ED007691ED006C86E2006881D4005E77CA00AFBFF30000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000094A2D300D8DEEF0094A0C700445492004454920044549200445492004454 + 920044549200445492004454920044549200445492004454920094A0C70094A2 + D300000000000000000000000000000000000000000000000000000000000000 + 0000000000005872C9007C96EE008FA5F00094AAF20095AAF20097ACF20097AC + F20097ACF20096ABF20095AAF20093A9F200889FF0007C96EE005872C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000C2CEF60096A3D400B5B9CA00B5B9CA00B5B9CA00B5B9CA00B5B9 + CA00B5B9CA00B5B9CA00B5B9CA00B5B9CA00B5B9CA00B5B9CA0096A3D4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D1D1D100CBCBCB00C7C7C700C5C5C5007C8FCD005368AF00354785003546 + 8100364783004358A100566CB5007F91D100C7C7C700C7C7C700C9C9C900DADA + DA00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000DDDDDD00C9C9C900C7C7C700C2C2C200B1BCE5003446 + 820029376700C0C0C000C0C0C000C5C5C500CDCDCD00DADADA00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000ACACAC00A4A4A400A4A4A400A4A4A4008A8A + 8A008A8A8A00A4A4A400B3B3B300C7C7C7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008EA2E10031458B004B64B5004561C1002E4FBE00143AB9002347 + BF00143BBC002449C7002E53CD004566D4004B61AF003D56AA0097A9E8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000008297DD00485A9900415C + B9003654B7002E3F7C008196DC00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A4A4A40000000000000000002A3B7400354476003F518C004D66B7004F67 + B9004F68BA00485DA50040518D00374677007288CB0000000000C7C7C700A4A4 + A400000000000000000000000000000000000000000000000000000000000000 + 00005068BA00374885004B62AD002345B600082EAD00042AAB00617ACB008295 + D7005974CB00042DB600042EB9000832BF003E61D500506AC4004258A5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000008297DE00304381003755BB000F34 + AE00082DAB004B60A4002F4180008297DE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000009494 + 940000000000B7C3EE0032427D004C61A5004E69C3004B69CE003F62D6004063 + D9004064DA004365D4004B69CF004F6AC6003A497D002C3E7B00AAB9EB00D3D3 + D30096969600D3D3D30000000000000000000000000000000000000000000000 + 0000415393004B65BE002E50BF00042CB300042CB2001B3FB7008194D6008194 + D5006179CA003353BE00042CB100042DB5000832C0002E53CE004C6ACF005B74 + C900000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005169BD00394B89004D65B300082FB000042B + AF00042BAE003655BD004C61A700314483000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000096969600D3D3 + D30095A5DF00959392007D8294004464CE00385DD7004368E3005175EB005275 + EB005174EA004D72EA004469E5003B60DC004963B7007D81940091908F000000 + 0000000000009F9F9F000000000000000000000000000000000093A5E4003E52 + 96003256CD001D44C8002349C900274CCA008B9FE20091A4E4008B9FE100879B + DE008498DC006A82D2002245B800042AAB00042BAF00042CB400042EB9004D6A + CB004258A20095A9E7000000000000000000283870003551AE003552B000455F + B4004964B6004B65B800546EBB005E76BC005F78C000657DC200788DC500788D + C500788DC500788DC5007287C4005F78C0005E76BC005E76BC004B65B8004963 + B5004963B5003A56B1003E59B0002D3E75000000000000000000000000000000 + 00000000000000000000546CC1004C66BC002A4EC400042EB900042DB800042D + B800042DB700042DB7000830B8003657C50035488B00A8B7ED00000000000000 + 000000000000000000000000000000000000000000009A9A9A0000000000B7C4 + EF00C7C6C500E1E1E000F0F0F00094A0C8003D5DC9002D50C400183BAD001739 + A8001738A7001D40B300284BBF003757C300D1D0D000EDECEC00DDDCDB00B1AF + AE00A4B5E80000000000B3B3B3000000000000000000000000003A519D00546D + C1002D52D100365BD3003D60D500496AD8009DAEE9009CADE80096A8E60093A6 + E5008197DF002348C300052EB700042CB200042AAB00042BAD00042CB2002F53 + C9005069BF003D54A30000000000000000002A3C760003279F00032699001032 + A300032699001032A30003279F001032A30003279F000326990003279F000326 + 9C001033A800032699001032A30003279F0003279F0003279F0003279F000327 + 9F0003279F0003279F002947AD002A3C76000000000000000000000000000000 + 000000000000566FC3003F5396002B50C800042FBE00042FBE00042FBD00042F + BD00042EBC00042EBC00042EBB000831BC004F66B100384D9600BCC8F3000000 + 0000000000000000000000000000000000000000000000000000000000003344 + 8000E7E6E600F3F3F300F7F7F700BAB9B8007580A700233F9C00425AAB00425A + AA00455CA700334EA500203B9800747FA500EBEAEA00F9F9F900EFEFEF009EA3 + B7002F3E7300000000009A9A9A0000000000000000006D85D6004F64AD005272 + DB004668DA005070DD005373DE007D95E600A8B8EE00A6B6ED00A1B2EB009EAF + E9006782DC002248C800173EC2000B34BC00042BB000042AAB00042BAC000830 + B8003F60CD004C61A90000000000000000002D3E7C000328A400042695002545 + B000042695002545B0000328A4002545B0000328A400042695000328A4000426 + 95002545B000042695002545B0000328A4000328A4000F32A8003250B5003250 + B5000F32A8000328A4002949B2002D3E7C000000000000000000000000000000 + 00007A8FDC0041559B004E69C4000430C2000430C2000430C2000430C2000430 + C2000430C1000430C100042FC000042FC0003E5FCE004E63A900364D98000000 + 00000000000000000000000000000000000000000000000000007388CB003A49 + 7C00ADB9E100FAFAFA00EBEBEA00CCCAC900A5A3A100797F9800384677003543 + 7500324172003B4B8000797F9800A6A4A300DFDEDD00EEEEEE00FBFBFA004862 + B7003F4E82005D73BE009F9F9F0000000000000000004D63AB005F7DE1004D6F + E100758FE9007691E9007792E900BBC8F400BAC8F400B8C6F300B3C2F200B0BF + F000ACBCEF00496BDA003E61D5003156CF00163DC1000831B900042CB300042A + AB00082FB1004563C70098AAE90000000000324687000D33B3000D2B8F005670 + C9000D2B8F005670C9000E34B3005670C9000E34B3000D2B8F000E34B3000D2B + 8F005670C9000D2B8F005670C9000E34B3000E34B3001B399C00304AA400304A + A4001B399C001439B5002D4EBD0032468700000000000000000000000000BDCB + F400546DC000355AD6000A37CE000D3ACE000E3ACE000E3ACD000E3ACC000E3A + CC000E3ACC000E3ACC000E3ACC000D39CB000A36C9001841CC004C6ACF005871 + C7000000000000000000000000000000000000000000A4B2E5003A4879004C66 + BF005074EA004060CC0098A4CC00C5C3C100D3D2D000A1B3ED00000000000000 + 00000000000000000000A1B3ED00D3D2D000D5D3D20097A2C8003656C2003A5F + DD00506BC8003D4D8200A4A4A4000000000000000000566FC2005E7DE6006180 + E700859DED0088A0EE0088A0EE00C2CEF600C1CDF500C0CCF500BCC9F400B8C6 + F300B5C3F3007892E6004F6FDC004466D800294ECC001940C3000932BA00042B + AC00042BAC006B82D000617ACD000000000035488C002145BD001D378D00788E + D7001D378D00788ED7002549BF00788ED7002549BF001D378D002549BF001D37 + 8D00788ED7001D378D00788ED7002549BF002549BF001C368F006B7CB6006B7C + B6001C368F002549BF003858C50035488C000000000000000000000000004B61 + B4003C61DC001440D4001541D4001B46D5001C46D4001C46D4001D47D4001C46 + D3001C46D3001D47D3001D47D3001C46D2001641D100123ED000284FD300455A + A3008A9EE400000000000000000000000000000000005B71B70042538D004765 + C8005073E8003154CA002541A000D5D4D200A1B3ED0000000000000000000000 + 0000000000000000000000000000A1B3ED009CA3BB001F3A9600274ABE00466B + E7004565D000475A9C009F9F9F0000000000000000005D77CF006684E9007590 + EC0094A9F100A3B5F300B9C7F600CBD5F800C9D4F800C7D2F700C2CEF600C0CC + F500BCC9F400AFBFF1006582E3005575DE00395DD3002A4FCC001A41C300042C + B2003252BB008598D700465FB10000000000384C92003658C8002E4696008398 + DC002E4696008398DC003B5CCA008398DC003B5CCA002E4696003B5CCA002E46 + 96008398DC002E4696008398DC003B5CCA003B5CCA0029408C00828FB900828F + B90029408C003B5CCA004262CB00384C920000000000000000006680D5005067 + B300214CDB001D49DB00234DDB002A53DC002A53DC002A53DC002A53DB002A52 + DA002A52DA002A52DA002A52D9002A52D900244DD7001F49D6001944D500556E + C5003E57A800D1DAF8000000000000000000000000003A4E9000495DA1003D5E + CC004A6DE1002548BE003751AA007382B8000000000000000000000000000000 + 0000000000000000000000000000000000003D4C8100324CA3001B3EB0004D72 + EA004063D5005066B100A4A4A40000000000000000006F89E3007893EF0094AA + F200D6DEFA00D7DFFA00D7DFFA00D7DFFA00D6DEFA00D5DDFA00D1DAF900CED8 + F900C7D2F800BAC8F50097ABEE00728DE8005776DF005372DB009BADE800133B + C0003354C300425FC200364A8B00000000003E539E005A77D9005A71BD00879C + E3005A71BD00879CE3006983DD00879CE3006983DD005A71BD006983DD005A71 + BD00879CE3005A71BD00879CE3006983DD006983DD006983DD006983DD006983 + DD006983DD006782DC005371D7003E539E0000000000526DC9005B75C800466B + E800345DE6003D64E6004368E700466BE700456AE600456AE600456AE6004469 + E500456AE5004469E4004469E4004469E4004469E4004065E300385FE1002F58 + E0005876DC004B61AF00000000000000000000000000222F59004F67B500385B + D1004063D7001D3FB100425AAB00D4D4D4000000000000000000000000000000 + 00000000000000000000000000000000000038477900425AAA001032A1005174 + E9004266DC00546DBF008A8A8A000000000000000000718BE5007E99F0009EB2 + F400DCE3FB00DDE4FB00DDE4FB00DDE4FB00DCE3FB00DAE1FA00D6DEFA00D4DD + FA00C4D0F800C8D3F800C2CEF60094A9EE006481E4007B94E600A1B2EB003D5F + CE004866CC003354C20036488A00000000004158A3005C7ADD00637CCD00849B + E6006A81CE00859BE600738DE100859BE500738DE1006A81CE00738DE1006A81 + CE00859BE5006A81CE00859BE500738DE100738DE100738DE100738DE100728C + E100718BE1006C86E0005372DB004158A300000000004E67BA006380E500365F + EA00456BEB004D72EB005276EC005376EC005477EC005376EB005376EB005376 + EB005376EA005376EA005376EA005376E9005376E9005073E900496EE7003059 + E300456AE6005972CC00000000000000000000000000232F59004F67B500385B + D1004164D8001E40B200425AAB00D6D6D6000000000000000000000000000000 + 00000000000000000000000000000000000039477900465DA8001133A2005174 + E9004266DC00546DBF008A8A8A000000000000000000728DE400819BF100A5B7 + F500D6DEFB00E2E8FC00E2E8FC00E2E8FC00E1E7FC00E0E6FC00DBE2FA00D8E0 + FA00CBD6F900CED8F900C9D4F800C3CFF600758FE8009CAEED00A8B8EE004062 + D2007C92DD007289D600364A900000000000455CA9003158D900375CDA00395E + DA003B60DA003B60DA003B60DA003B60DA003B60DA003B60DA003B60DA003B60 + DA003B60DA003B60DA003B60DA003B60DA003B60DA003B60DA003B60DA003A5F + DA00395EDA00365BDA003C61DB00455CA900000000005C75CC005579F100355F + ED005478F0005E80F0006182F1006182F0006182F0006182F0006182F0006182 + EF006182EF006182EF006081EE006181EE006181EE006080ED005A7CEC004268 + E900345DE7005677E400BFCCF5000000000000000000374577004E65B200385B + CE004467DB001E41B600435CAD0093A5DE000000000000000000000000000000 + 0000000000000000000000000000000000003C4B7C00425AAB001537A8005275 + EA003F63D900526BBC00A4A4A4000000000000000000647ED100849EF200A4B7 + F600D3DCFB00D5DEFB00E2E8FC00EAEFFD00E9EEFD00E8EDFD00E5EAFD00E1E7 + FC00DFE5FB00D7DFFA00CDD7F900CDD7F800C0CCF500BAC8F400B2C1F2009FB0 + EA008A9FE3006680D7006079CA0000000000BFCCF5004967CA00335BE3002651 + E100335BE200375EE300385FE3003960E3003960E3003960E3003960E3003960 + E3003960E3003960E3003960E3003960E300385FE300385FE300375EE3002C56 + E1002550E100335BE3004B64B900BFCCF500000000006583E9005A7DF2005C7F + F2007B97F4007E99F5007D98F5007D98F5007D98F5007D98F5007D98F5007D98 + F5007D98F500829DF50086A0F500859FF500809BF5007E99F5007B97F4006384 + F3004C71F000466DEF005773CE0000000000000000005D71B90045558F004664 + C7005275E9003356CB002642A2009C9A990096A8E20000000000000000000000 + 000000000000000000000000000096A8E2007A809800203B98002B4EC000476C + E6004666CF00495C9E00A4A4A40000000000000000005D74C2007E99F10099AE + F600D8E0FB00DCE3FC00DEE5FC00E7ECFD00ECF0FE00EBF0FD00DAE1FB00CBD6 + FA00CED8FA00DAE1FA00D6DEFA00D1DAF900C5D1F700BECBF500B6C4F300A0B1 + EB0094A7E7006983D70097A9E80000000000000000004E68BF00506DD000456A + E9004F73EA005578EB005578EB005578EB005578EB005578EB005578EB005578 + EB005578EB005578EB005578EB005578EB005578EB005578EB005578EB004268 + E800446AE900506DD000BFCCF50000000000000000006D8AEA006C8BF3007491 + F4008FA7F60092A9F6008EA6F6008AA3F6008AA3F6008AA3F60086A0F500849E + F500839EF50097ADF7009BB0F7009AAFF70093AAF6008FA7F6008AA3F600718F + F400587CF200436BF0004E68C10000000000000000009FAFE3003F4D7E004B66 + BD005174E9004464CF007985AD00BEBCBA009E9C9B0096A8E200000000000000 + 0000000000000000000096A8E2009E9C9B00ABA9A8007884AA003B5BC5003A5F + DB004F6BC80042518500ACACAC0000000000000000004D67C100728CE50091A8 + F500D8E0FC00E2E8FD00E3E9FD00E2E8FD00E4E9FD00EEF2FE00E4E9FC00DBE2 + FB00E3E8FC00DEE5FB00D9E0FA00D4DDFA00C9D4F800C1CDF500BAC8F400A0B1 + EC00A0B1EA00788CCF00000000000000000000000000BFCDF600516BC4005774 + D6005E80EF006A89F0006E8CF1006E8CF1006E8CF1006E8CF1006E8CF1006E8C + F1006E8CF1006E8CF1006E8CF1006E8CF1006E8CF1006E8CF1006B8AF0005679 + EF005774D500516BC400000000000000000000000000718CEA008EA6F6008AA3 + F6009FB3F700A3B6F800A2B6F8009AAFF70097ADF70093AAF600859FF500829D + F5008AA3F600A7B9F800AABCF800ABBDF800A5B8F800A2B6F8009CB1F7007C97 + F4006183F2004A70F0004E68C00000000000000000000000000034467F004F63 + A5004163D20099A5CC00BFBEBE00C8C6C400BCBBB900B7B5B50093A5DE00D4D4 + D400D4D4D4006C7AB000B7B5B500BDBBB900D6D4D300C2C1C10098A4CB004061 + D0005067B20034447700C7C7C700000000000000000000000000536CC500738D + E000C0CEFA00DDE4FC00E8EDFD00EBF0FD00E9EEFD00E6ECFD00E4E9FD00EDF1 + FE00EAEFFD00E3E8FC00DFE5FB00D9E0FA00CED8F900C5D1F700B7C5F400A9B9 + EF007F93D500455DAA000000000000000000000000000000000000000000C1CD + F6005876DA005F7FEA006A87EB006D8AEB006D8AEB006D8AEB006D8AEB006D8A + EB006D8AEB006D8AEB006D8AEB006D8AEB006B88EB006986EB006281EA005771 + C900C1CDF600000000000000000000000000000000006882DA009DB2F700BDCB + FA00AEBFF800B4C4F900B5C5F900ACBDF800A0B4F7008CA5F600718FF400738C + E1006F87D600C8D4FB00BCCAFA00B3C3F900B8C7F900B4C4F900AEBFF8008AA3 + F6006888F3004E73F1005671CD00000000000000000000000000000000003646 + 8200B4B3B200E8E8E700F9F9F900ECEBEB009CA8D0002642A000425BAC00425A + AB00425AAB003550A800233E9B009CA8CE00F5F4F400F8F8F700E4E3E2007D83 + 97003242780000000000000000000000000000000000000000009CAEEE005B73 + C600AEBFF800CAD5FB00E2E8FD00EEF2FE00EDF1FE00EAEFFD00E3E9FD00E9EE + FD00EAEFFD00E6EBFD00E0E6FC00DBE2FA00CED8F900C1CDF600B0C0F300AFBD + ED00596DB20097A9E80000000000000000000000000000000000000000000000 + 00005771C9005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8005771C8005771C8005771C800C1CD + F60000000000000000000000000000000000000000006179CC00809AF300B9C8 + F900BAC9FA00B3C3F900B4C4F900A6B9F80096ACF7007D98F5006D8AED005F77 + C800556EC400BAC9FA00CCD7FB00BECCFA00B4C4F900B2C2F900ABBDF800859F + F5006082F200567AF2006882DB0000000000000000000000000000000000ACBB + ED00C4C3C200D8D7D600EBEAEA00BAC6ED004262CD003255CA001D40B300183B + AD00173AAC002245B9002F52C5003E5EC900F8F8F800E7E6E600D4D3D200ACAB + A900A6B5E8000000000000000000000000000000000000000000000000006883 + DC0096ABF100B3C3F900CCD7FB00EAEFFD00EEF2FE00EDF1FE00E6EBFD00E1E7 + FD00E2E8FD00E6ECFD00E1E7FC00DBE2FA00C9D4F900B9C7F600B0C0F3007485 + C400617AD0000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005570CC006F87DA008EA6 + F600CBD6FB00C5D1FA00B5C5F9009EB3F700859FF5007894F400637CCD00617C + D8007993E200859CE800B1C1F900C7D3FB00BAC9FA00B0C0F900A7B9F8007995 + F4006082F2005F7EE700AEBEF3000000000000000000B3B3B300000000000000 + 0000C6C5C300C8C7C600DFDFDE004264D3005174EA005174E8004265D9003E61 + D5003E61D4004669DD004F72E5005376EA00A6B2DB00DDDCDB00C3C2C1008EA0 + D900000000000000000000000000000000000000000000000000000000000000 + 00006883DC005E76C9007992E400A9BBF800B8C7F900C9D5FB00D2DBFB00D0DA + FB00C9D4FA00C6D2F900CED8F900C3CFF800B7C6F700A2B1E5005C72BE000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000C1CDF6005772 + CC006E88DC007A94EA007D97ED006E89E5006A83D3005871C700000000000000 + 0000000000008FA4EA00556FC7006980CF007C96EB007A95EC00738EEB00617D + DA005D76C9006B84DA00000000000000000000000000000000009A9A9A000000 + 000000000000A6B6E90038487C005064AC004D68C0004361C7003A5DD1003E61 + D5003E61D5003F60CF004463CA004D68C50049598E0034447900A6B6E9000000 + 0000B3B3B300ACACAC0000000000000000000000000000000000000000000000 + 0000000000009CAFEE005871C9007B95E80091A8F400A1B5F700ABBDF800ABBC + F700A6B8F700BDCBF900C0CDF800BCCAF7008092D300536CC1009BADEC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005E79D6005771C8005670C7005874CD006B84DD00D3DBF900000000000000 + 0000000000000000000000000000859BE9005670C7005670C7005670C700647E + D9009FB1F0000000000000000000000000000000000000000000D3D3D3009696 + 96000000000000000000000000003A497A00445487004A5C9B005068B600526A + B8005169B9005066AF004B5E9D00455588005E74BB000000000000000000B3B3 + B3009A9A9A000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005670C800677ECD007089DB0096AAEE009DB1 + F200A8B9F30093A6E70091A2DF006F84CD007A91E30000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009F9F9F00BDBDBD0000000000000000008598D8005065AD00344478002A36 + 60002A3661003E4F87005065AD008598D8000000000000000000BDBDBD00BDBD + BD00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009D9B9B0092908F0086858500BFBFBF00C0C0C000C0C0C000C5C5C500C7C7 + C700C7C7C700DADADA00DBDBDB00DCDCDC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000030448A00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000DCDCDC00DADADA00CACACA00C5C5C500C0C0C000C0C0C000213166001521 + 490015214900C0C0C000C1C1C100C7C7C700D2D2D200DADADA00DCDCDC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A5A3A200C2C0BF00AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003349920035447C00B9C6 + F100000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CBCBCB0025325F0025325F002532 + 5F0025325F0025325F0025325F0025325F0025325F0025325F0025325F002532 + 5F0025325F0025325F0025325F0025325F0025325F0025325F0025325F002532 + 5F0025325F0025325F0026346600CBCBCB000000000000000000000000000000 + 0000000000006C82CD001E306E002F3F740038509D004E66B60042548F003751 + AB003751AB001E3377004E66B60038509D003F4F88001E306E006C82CD000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A5A3A200BFBDBC00AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003D54A2006271A7003D54 + A200000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003855B5003A56B5003B57 + B5003C57B4003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58 + B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003C58 + B5003B57B5003A56B50026377400000000000000000000000000000000000000 + 000000000000203372005264A0005268B30039497D003F518D005067B4001F3E + A6001F3EA6004C60A2003F518D0039497D004963B7005264A000203372000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A5A3A200D1D0CF00AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000657ECC00647AC5004051 + 8D008397DE000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003753B2000F34AF001337 + AF00163AB000173AB000173AB000173AB000173AB000173AB000173AB000173A + B000173AB000173AB000173AB000173AB000173AB000173AB000173AB0001539 + B0001337AF000F34AE00283A7C00000000000000000000000000000000000000 + 00000000000031479600465A9E002948AE004E68BC003C58B5001638A7000328 + A0000328A0002443AC003C58B5004E68BC002948AE00465A9E00314796000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A8B7ED005D78CF004664 + C9004F63A4000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000415EBF001F44BC00274A + BD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002D4E + BD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002D4EBD002C4E + BD00284BBD001F44BC002D4186000000000000000000000000006F86D200253C + 85002B429000455793004C66C000042AAA00042AAA00042AAA00042AAA00092E + AC00092EAC00042AAA00042AAA00042AAA001B3EB2004C66C00045579300344C + 9C00253C85007F95DB0000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D0D8F700728AD900173E + C1005871C800A8B7EE0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004764C600284CC4003254 + C4003556C5003556C5003556C5003556C5003556C5003556C5003556C5003556 + C5003556C5003556C5003556C5003556C5003556C5003556C5003556C5003556 + C5003254C400284CC4002F448D000000000000000000D0D8F700263A8000566A + AE004B5FA1004C67C4001237B400042BAF00042BAF001F42B800506BC800506B + C800516BC2003D5BC1001F42B800042BAF00042BAF001237B4004C67C400485E + A900566AAE00263A800000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000007A8FD700123B + C500375ACE004359AD0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004C6ACD003155CB003C5D + CC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5F + CC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5F + CC003C5DCC003155CB003147920000000000000000004B64B800465A9C004B68 + C9003D5CC5001B40BB00042CB4000D34B6004160C600546DC000364886003345 + 84002E41810044599F00546DC0004160C600042CB400042CB4001B40BB00294C + BF004B68C900465A9C0000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006D83CD00355A + D8000433CF005B76D0004259A900D1DAF8000000000000000000000000000000 + 000000000000000000000000000000000000000000005C79DA004668D8005674 + DA005876DA005876DA005876DA005876DA005876DA005876DA005876DA005876 + DA005876DA005876DA005876DA005876DA005876DA005876DA005876DA005876 + DA005674DA00486AD900374E9D00000000000000000000000000435DB2004659 + 99000F38C1001039C2000F38C1005168B3002B428C00A7B6EC00000000000000 + 00000000000000000000A7B6EC002B428C004766CF000F38C1001039C2005673 + D30045589800435DB20000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006E84CC003E63 + DF000737D6004468E0005A72C000556FC8000000000000000000000000000000 + 000000000000000000000000000000000000000000006581E1005273E000627F + E1006682E1006682E1006682E1006682E1006682E1006682E1006682E1006682 + E1006682E1006682E1006682E1006682E1006682E1006682E1006682E1006682 + E1006380E1005474E0003A51A3000000000000000000000000005A74C7004B61 + AC001A42C8001A42C8003155CD0033488D00A7B7ED0000000000000000000000 + 0000000000000000000000000000A7B7ED005B75CB003055CD001A42C8004E6D + D4004960AB005A74C70000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000667DC700607F + E8001241DE002450E100607EE2005369B4000000000000000000000000000000 + 000000000000000000000000000000000000000000006D89E8005D7DE7006F8B + E800748FE900748FE900748FE900748FE900748FE900748FE900748FE900748F + E900748FE900748FE900748FE900748FE900748FE900748FE900748FE900748F + E900718CE900607FE7003C55A800000000000000000096A9E80030499C005A72 + C300244BCE00244BCE00506FD800506AC0000000000000000000000000000000 + 0000000000000000000000000000000000004D64AF004F6FD800234ACE003D60 + D4005871C30030499C0000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A7004C63B200455EB3005E77CE007189DA005973 + CC004762B90044579B00475DA7004862B6005C77D2005E7CE2006583E7006681 + D8005970C000425BB40000000000000000000000000000000000000000000000 + 00000000000000000000000000004A63BA004A63BA004A63BA005D74C2007995 + F3002855EC002855EC002C58EC006282EF007790E20000000000000000000000 + 000000000000000000000000000000000000000000007C97F400708EF400829D + F4008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6 + F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6F5008EA6 + F50088A1F5007794F400425CB30000000000000000005D78D5005273E0004669 + DD003A5FDB003A5FDB006481E200000000000000000000000000000000000000 + 0000000000000000000000000000000000003E549D006481E300355BDA00395E + DB004367DD004B6DDE002D459400000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A7006886EB006D87E0005F7AD500546EC200546F + C8005A74CB004E6DD6003B5DCD002E52CA003E62D8004568DE005778E5007994 + F1007C97F4006881DB0000000000000000000000000000000000000000000000 + 00000000000000000000000000008BA1EA006F8BEB006E8BEB007993ED006C8B + F300325EEF00325EEF00325EEF00486FF000536CBF00D2DBF800000000000000 + 000000000000000000000000000000000000000000007E99F500708EF400829D + F50093AAF60097ADF70099AFF70099AFF70099AFF70099AFF70099AFF70099AF + F70099AFF70099AFF70099AFF70099AFF70099AFF70099AFF70099AFF70099AF + F70091A8F6007E99F500445DB40000000000000000005E7AD8005676E3004E70 + E2004368E000466AE1006986E600000000000000000000000000000000000000 + 0000000000000000000000000000000000004157A2006B86E1003E63DF004267 + E0004A6DE1004F71E20030489900000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A7006282EC00839DF3007C97F3006886EA005878 + E4004E6FDE001D45CB000D36C1000F38C200395ED6005071E0006583E700869F + F20087A1F5007791EA0000000000000000000000000000000000000000000000 + 00000000000000000000000000008DA3EE005378F100496FF0004C72F1004169 + F0003D66EF003D66EF003D66EF003D66EF007087D6005873D000000000000000 + 000000000000000000000000000000000000000000007D98F5006989F3007995 + F40088A2F6008FA7F60098AEF700A3B6F800A3B6F800A3B6F800A3B6F800A3B6 + F800A3B6F800A3B6F800A3B6F800A3B6F800A3B6F800A3B6F800A3B6F800A0B4 + F70096ACF700819BF500455EB6000000000000000000455CA700556EBF00718B + E5004D70E5004A6EE500718DEA00AABAEF000000000000000000000000000000 + 000000000000000000000000000000000000485EA8006F8BEA00496DE5005677 + E6006D88E500546DBF003E58B300000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A700879FF000A5B8F70093AAF5006D8AEA005A7A + E400476ADD002047CB000D36C0000F38C2003A5ED6005071E0006684E70091A8 + F3009FB3F600839BEC0000000000000000000000000000000000000000000000 + 00000000000000000000000000008498DF007693F4005176F1005176F1005176 + F1005176F10091A7F00099ADF10096ABF1008EA5EF008DA0E100526CC7000000 + 000000000000000000000000000000000000000000005C79DA002E55D6002E55 + D6002E55D6002E55D6006D87E0008DA5F60094ABF60097ADF7009AAFF7009AAF + F7009AAFF7009AAFF7009AAFF7009AAFF7009AAFF70099AFF70097ADF70090A8 + F60086A0F5007794F4004761B800000000000000000000000000667ED5005C75 + C7006081EE006383EF006A88EE00425BAC00ADBCF10000000000000000000000 + 0000000000000000000000000000ADBCF1007690E5006A89EF006383EF007994 + F1005872C600667ED50000000000000000000000000000000000000000000000 + 0000A5A3A200D2D1D000AAA7A70089A1F000A5B8F70093AAF5006D8AEA005A7A + E400476ADD002047CB000D36C0000F38C2003A5ED6005071E0006684E70091A8 + F300A0B4F600849CEC0000000000000000000000000000000000000000000000 + 0000000000000000000000000000798ED70090A8F6005D80F2005D80F2005D80 + F2005D80F2006B81CF00506AC100506AC100506AC100506AC100566FCD000000 + 000000000000000000000000000000000000000000007391F400456CF000456C + F000456CF000456CF0003A60E000A8BAF800ACBDF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800ABBD + F800A7B9F800A2B6F8004962B9000000000000000000000000005370CB005D73 + BE006989F2006E8CF2006A89F2006982D6003E59B100ADBCF100000000000000 + 00000000000000000000ADBCF1003E59B2007C97F4006989F2006E8CF200849E + F4005970BC005370CB0000000000000000000000000000000000000000000000 + 0000A7A5A300D2D1D000AEACAB0089A1F000A5B8F70093AAF5006D8AEA005A7A + E400476ADD002047CB000D36C0000F38C2003A5ED6005071E0006684E70091A8 + F300A0B4F600849CEC0000000000000000000000000000000000000000000000 + 00000000000000000000000000007489D1009BB0F7006787F3006787F3006787 + F3006787F300859BE900516BC400000000000000000000000000000000000000 + 000000000000000000000000000000000000000000007894F4004B71F1004B71 + F1004B71F1004B71F1004B71F100365BD700365BD700365BD700365BD700365B + D700365BD700365BD700365BD700365BD700365BD700365BD700365BD700365B + D700365BD700365BD7004A63BB000000000000000000728BDD005069BA006F8B + EB006E8DF3007894F4007894F4007F9AF5006B84D700465FB300ADBCF1000000 + 0000000000005D79D100465FB3006781D5007491F4007894F4007894F4007290 + F4006A88EB004F68BA0000000000000000000000000000000000000000000000 + 0000A5A3A200BFBDBC00AAA7A70089A1F000A5B8F70093AAF5006D8AEA005A7A + E400476ADD002047CB000D36C0000F38C2003A5ED6005071E0006684E70091A8 + F3009DB2F600839CED0000000000000000000000000000000000000000000000 + 00000000000000000000000000005972C600B1C1F500839EF5007D98F5007D98 + F5007D98F5008BA4F600879EE900536DC6000000000000000000000000000000 + 00000000000000000000000000000000000000000000819BF5005579F1005579 + F1005579F1005579F1005579F1005579F1005D80F2007E99F500819BF500819B + F500819BF500819BF500819BF500819BF500819BF500819BF500819BF500819B + F500819BF500819BF5004C66BD000000000000000000D2DBF800425CB6006983 + D9006A82D100809BF2007E99F5008DA5F60088A2F6008BA4F6008DA5F60086A0 + F50086A0F5008EA6F6008CA5F60088A2F6008BA4F600829CF500849EF200617C + D8006882D900425CB60000000000000000000000000000000000000000000000 + 0000A5A3A200BFBDBC00AAA7A700849DF000A4B7F70093AAF5006D8AEA005A7A + E400476ADD002047CB000D36C0000F38C200385DD6004D6FDF006280E60089A1 + F20091A8F5007E98EC0000000000000000000000000000000000000000000000 + 00000000000000000000000000005973CF00AEBEF30094ABF60086A0F50086A0 + F50086A0F50089A2F60097ADF7006C83D2000000000000000000000000000000 + 00000000000000000000000000000000000000000000849EF5005B7EF2005B7E + F2005B7EF2005B7EF2005B7EF2006384F300829CF5007E91D5004E67BE004E67 + BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67 + BE004E67BE004E67BE004E68C1000000000000000000000000008EA2E9004460 + BC004964C100667DCA00849EF20097ADF70097ADF70097ADF70090A8F6008DA5 + F6008EA6F60094ABF60097ADF70097ADF70093AAF60089A2F300687FCA004E6B + C8004460BC008EA2E90000000000000000000000000000000000000000000000 + 0000A5A3A200BFBDBC00AAA7A7007691EE009CB1F50091A8F4006D8AEB005979 + E4004669DD001F46CB00143CC3002147C7004567D8005D7BE1006885E7007994 + F1007B96F3007691EC0000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D50099AAE800A5B8F80092A9F60092A9 + F60092A9F60092A9F6009AAFF7008EA4EB000000000000000000000000000000 + 0000000000000000000000000000000000000000000088A2F6006183F2006183 + F2006183F2006183F2006183F200839EF5008195D600536CC000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004965C2006E85D20094ABF6009BB0F7009EB3F700A2B6F800A2B6 + F800A2B6F800A1B5F7009EB3F7009DB2F70095ACF700748AD5004965C2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000817F7E00B9B8B600C1C0BE00787F9E007A93E7007994EF006A87EA006984 + E100647ED800576DB9005468A800475DA7006981D600748DDD00778DDF00546E + C800637BCD006C85DC0000000000000000000000000000000000000000000000 + 0000000000000000000000000000859CE9008699DD00BAC9FA00A6B9F800A6B9 + F800A6B9F800A6B9F800A6B9F800A2B6F8005771C90000000000000000000000 + 000000000000000000000000000000000000000000008EA6F6008EA6F6008EA6 + F6008EA6F6008EA6F6008EA6F600546DC10091A5EB0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004763BF006D87DB007C96ED006A80C8006D84D20099AEF200A0B4 + F7009EB3F7008399E3006D84D2006A7FC7007491F400718ADD00405DBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BFBEBC00D9D8D700E3E2E1007A7877005974CF005F77C9005E74C000556B + B800516BC200899EE500C9D4F600000000000000000000000000000000000000 + 000092A7ED005874CD0000000000000000000000000000000000000000000000 + 0000000000000000000000000000AFBFF3007D91D600B0C0F900A1B5F700A4B7 + F800A5B8F800A2B6F8009BB0F7008AA3F6006D84D4007C93E600000000000000 + 00000000000000000000000000000000000000000000506AC100506AC100506A + C100506AC100506AC100506AC10091A5EB000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008197E5004862BC005971C2005974D0006B85DB006B84D6008AA3 + F60087A1F5004965C0006B85DB005974D000627BCF004862BC008197E5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CFCDCC00EBEBEA00F8F8F8007A7877000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D3DBF9006F84D000A7B8F300B1C1F500B2C2 + F500B2C2F500B1C1F500B0C0F500AABAF30093A6E8005872CA00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000D2DBF8008197E50000000000000000005871C300728D + EA00708CEA009DAFEE0000000000000000006B85DC00D2DBF800000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009C9A9A00959392008C8A8900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000D3D3D300C2C2C2003B4E + 91003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E + 8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E8E003B4E + 8E003B4E9100C2C2C200000000000000000000000000D6D6D600566AB0002836 + 6700283667002836670028366700283667002836670028366700283667002836 + 6700283667002836670028366700283667002836670028366700283667002836 + 6700283667005468AB00DEDEDE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000030448900BECAF4000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000283B80004F6CCD00506C + CB00506ABE00506AC000516BC500475CA5002E46920000000000000000000000 + 00000000000000000000000000002E469200516BC500506BC300506ABE00506C + CB004F6CCD004F6CCD0000000000000000000000000000000000000000003850 + A3000536DB000536DB000536DB000536DB000536DB000536DB000536DB000536 + DB000536DB000536DB000536DB000536DB000536DB000536DB000536DB004368 + E4003850A3000000000000000000000000000000000000000000293C8000042D + B6000000000000000000042DB6006780D3006780D3005B75CF005772CE00536F + CC004765C9004765C9003F5EC7003758C5003758C5000931B800000000000000 + 0000042DB600293C800000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000026366A007D94E1004256 + 9C00687FCF000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000293D8400042EBC00042E + BC00042EBC00042EBC00042EBC002A408B00BBC7F20000000000000000000000 + 0000000000000000000000000000BBC7F2001B389800042EBC00042EBC00042E + BC00042EBC00042EBC0000000000000000000000000000000000000000003851 + A1000535D8000535D8000535D8000535D8000535D8000535D8000535D8000535 + D8000535D8000535D8000535D8000535D8000535D8000535D8000535D8004368 + E1003851A10000000000000000000000000000000000000000002A3E8200042D + B7000000000000000000042DB7003052C4003052C4003052C4003052C4003052 + C4003052C4003052C4003052C4003052C4003052C400042DB700000000000000 + 0000042DB7002A3E820000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000028387000869FF1007D95 + E6004A5DA0000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002B3E8600042FBF00042F + BF00042FBF00042FBF001D399C00BBC7F2000000000000000000000000000000 + 0000000000000000000000000000000000002C438E001D399C00042FBF00042F + BF00042FBF00042FBF000000000000000000000000000000000000000000384F + 9F000534D4000534D4000534D4000534D4000534D4000534D4000534D4000534 + D4000534D4000534D4000534D4000534D4000534D4000534D4000534D4004367 + DF00384F9F0000000000000000000000000000000000000000002B3F8400042E + B900042EB900042EB900042EB900395AC800395AC800395AC800395AC800395A + C800395AC800395AC800395AC800395AC800395AC800042EB900042EB900042E + B900042EB9002B3F840000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002B3B75008BA1EB00829A + EA006A87EB003349900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002E428D000431C5000431 + C5000431C5000431C5002148CC003A4D9300869AE10000000000000000000000 + 0000000000000000000000000000BBC8F300566CB7003358D0000431C5000431 + C5000431C5000431C5000000000000000000000000000000000000000000384E + 9B000634CD000735CD000735CD00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000735CD000735CD004366 + D900384E9B0000000000000000000000000000000000000000002D418700042E + BC00042EBC00042EBC00042EBC004C6ACF004C6ACF004C6ACF004C6ACF004C6A + CF004C6ACF004C6ACF004C6ACF004C6ACF004C6ACF00042EBC00042EBC00042E + BC00042EBC002D41870000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000304180009CAEED007F96 + E1004B67C7004368E40030418000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000002F4590000432C9000432 + C9001F3EA5000432C9000432C9005671C8003B4F9600889CE200000000000000 + 00000000000000000000BDC8F300354B99003358D3000432C9000432C9001F3E + A5000432C9000432C9000000000000000000000000000000000000000000384E + 98000E3ACB000F3ACB000F3ACB000C2FA3000C2FA3000C2FA3000C2FA3000C2F + A3000C2FA3000C2FA3000C2FA3000C2FA3000C2FA3000F3ACB000F3ACB004567 + D600384E980000000000000000000000000000000000000000002F438A00042F + BE000000000000000000042FBE005673D3005673D3005673D3005673D3005673 + D3005673D3005673D3005673D3005673D3005673D300042FBE00000000000000 + 0000042FBE002F438A0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000334486009EB0EE007F96 + E1004B67C7004468E40033448600000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000324893000835CC002341 + A800334A9A002442A9000835CC00254DD2005A74CB003E539A00000000000000 + 000000000000BDC9F300374E9C005B71BD000835CC000835CC002442A900334A + 9A002341A8000835CC000000000000000000000000000000000000000000384D + 9800153FCA001740CA001740CA001740CA001740CA001740CA001740CA001740 + CA001740CA001740CA001740CA001740CA001740CA001740CA001740CA004868 + D500384D9800000000000000000000000000000000000000000030448C00042F + C0000000000000000000042FC0005F7AD7005F7AD7005F7AD7005F7AD7005F7A + D7005F7AD7005F7AD7005F7AD7005F7AD7005F7AD700042FC000000000000000 + 0000042FC00030448C0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000035488B009FB1EE007F96 + E1004B67C7004468E40035488B00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004159B0003B53A900BCC9 + F40000000000BCC9F400384FA0001945D6001945D6003359D9004358A1008A9E + E400BDC9F400647AC5004468DE001945D600324FB400324B9F0091A6EB000000 + 0000BCC9F4003B53A90000000000000000000000000000000000000000003A50 + 9B00254CCF00274ECF00274ECF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00274ECF00274ECF004D6D + D8003A509B000000000000000000000000000000000000000000324790000430 + C3000430C3000430C3000430C300718ADD00718ADD00718ADD00718ADD00718A + DD00718ADD00718ADD00718ADD00718ADD00718ADD000430C3000430C3000430 + C3000430C3003247900000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003A4F9700A0B2EE007F96 + E1004B67C7004469E5003A4F9700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BDC9F4003956BA00224CDA00224CDA006B84D600465A + A5003D55A6004B6EE100224CDA00224CDA00354EA10091A6EC00000000000000 + 0000000000000000000000000000000000000000000000000000000000003B51 + 9C002D53D2003055D2003055D2002745A9002745A9002745A9002745A9002745 + A9002745A9002745A9002745A9002745A9002745A9003055D2003055D2005070 + D9003B519C000000000000000000000000000000000000000000334893000430 + C4000430C4000430C4000430C4007B92E0007B92E0007B92E0007B92E0007B92 + E0007B92E0007B92E0007B92E0007B92E0007B92E0000430C4000430C4000430 + C4000430C4003348930000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003D539E00A0B2EE007F96 + E1004B67C7004469E5003D539E00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000003C53A700415DBE002B54DE004368E2007189 + D9006E84CD002B54DE002B54DE00415DBE0093A7EC0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003C53 + 9D003358D400375CD400375CD400375CD400375CD400375CD400375CD400375C + D400375CD400375CD400375CD400375CD400375CD400375CD400375CD4005271 + DA003C539D000000000000000000000000000000000000000000354A95000532 + C70000000000000000000532C700859BE300859BE300859BE300859BE300859B + E300859BE300859BE300859BE300859BE300859BE3000532C700000000000000 + 00000532C700354A950000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004056A300A1B3EE007F96 + E1004B67C7004569E5004056A300000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000BECAF4004059AD003B62E5003B62 + E5003B62E5004B67CA003B55AC0094A8EE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003E55 + A1004366D900486AD900486AD900FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00486AD900486ADA005776 + DC003E55A1000000000000000000000000000000000000000000394F99000D39 + CB000D39CB000D39CB000D39CB009CAEEA009CAEEA009CAEEA009CAEEA009CAE + EA009CAEEA009CAEEA009CAEEA009CAEEA009CAEEA000D39CB000D39CB000D39 + CB000D39CB00394F990000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000004962B9006B82CC00B4C4F900A7B9 + F80098AEF7007692F2006279CA00465EB3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000BECCF500455DB200446AE900446A + E900446AE9006C85DE005065B3008CA1E8000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004056 + A2004A6CDB005171DD005171DD00405AB000405AB000405AB000405AB000405A + B000405AB000405AB000405AB000405AB000405AB0005171DD005070DD005977 + DD004056A20000000000000000000000000000000000000000003B519B00113D + CE00113DCE00113DCE00113DCE00113DCE00113DCE00113DCE00113DCE00113D + CE00113DCE00113DCE00113DCE00113DCE00113DCE00113DCE00113DCE00113D + CE00113DCE003B519B0000000000000000000000000000000000000000000000 + 0000000000000000000000000000516AC4006980CD0087A0F3009DB1F3008AA3 + F4007993ED005C7AE0006081EE006078CC00BFCCF50000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000BECCF500475FB5008396D9004B70EC004B70 + EC004B70EC006081EF00879CE5005369B6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004157 + A5005272DD005978DE005978DE005978DE005978DE005978DE005978DE005978 + DE005978DE005978DE005978DE005978DE005978DE005978DE005978DE005D7B + E0004157A50000000000000000000000000000000000000000003E539E001641 + D1001641D1001641D1001641D100728CE300728CE3006783E0006480E000607D + E0005574DD005574DD004D6EDC004568DA004568DA001641D1001641D1001641 + D1001641D1003E539E0000000000000000000000000000000000000000000000 + 0000000000000000000000000000677FD0007A95F1008CA1E80096ACF500839D + F100728DEA004F6ED7004667D4005276EC004D65BE00BFCDF600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BFCCF5008DA0DF007C97F4005D80F2006A83D700455F + BB004962BB005D80F2005D80F200708EF400586FBD008FA3E900000000000000 + 000000000000000000000000000000000000000000000000000000000000435A + A800617FE2006A86E3006A86E300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006A86E3006985E300617E + E100435AA80000000000000000000000000000000000000000004258A2001E48 + D50000000000000000001E48D5004E6FDE004E6FDE004E6FDE004E6FDE004E6F + DE004E6FDE004E6FDE004E6FDE004E6FDE004E6FDE001E48D500000000000000 + 00001E48D5004258A20000000000000000000000000000000000000000000000 + 000000000000556FCD00637CD1006B85D9008096E1009CAEED0088A1F3007792 + EC006582E4004363CF003354C3002446B5003C63E8005B75CF00506AC3000000 + 000000000000000000000000000000000000000000004E69C5004A65C000BFCC + F50000000000BFCCF5004D66BD00829DF5006686F3006686F3004761BC0098AB + F000BFCCF5007089D9006686F3006686F30098AAEB005970BF0090A3EA000000 + 0000BFCCF5004A65C0000000000000000000000000000000000000000000445B + AA006985E300728CE500728CE5005A6FB7005A6FB7005A6FB7005A6FB7005A6F + B7005A6FB7005A6FB7005A6FB7005A6FB7005A6FB700728CE500718BE5006481 + E300445BAA0000000000000000000000000000000000000000004359A500234C + D700234CD700234CD700234CD7005978E0005978E0005978E0005978E0005978 + E0005978E0005978E0005978E0005978E0005978E000234CD700234CD700234C + D700234CD7004359A50000000000000000000000000000000000000000000000 + 00005671CD00637CD1005C7DEC006E86D7008A9FE500A1B3F000819BF000718C + E9005F7DE1003D5ECB002D4EBD001F41B0001033A500375FE7005C76D000BFCD + F60000000000000000000000000000000000000000004761B8008296DA004862 + BB00BFCCF5004E67BE0096A6E1006E8DF3006E8DF300778DDB0098ABF0000000 + 0000000000004C65BD00778DDB006E8DF3007F9AF5009CAEEC005C73BF00BFCC + F5004862BB008296DA000000000000000000000000000000000000000000465D + AB00708BE5007A94E8007A94E8007A94E8007A94E8007A94E8007A94E8007A94 + E8007A94E8007A94E8007A94E8007A94E8007A94E8007A94E8007892E6006683 + E400465DAB000000000000000000000000000000000000000000455BA8002750 + D9002750D9002750D9002750D9006481E4006481E4006481E4006481E4006481 + E4006481E4006481E4006481E4006481E4006481E4002750D9002750D9002750 + D9002750D900455BA80000000000000000000000000000000000000000000000 + 0000607AD1005375EB004D69C8007990DD0094A8EA00A0B3F3007B96EE006A86 + E6005977DD003758C600284AB9001A3CAB0004248F000C2E9F00375FE700526C + C500BFCDF600000000000000000000000000000000004963BA007F9AF50097AD + F700A0AFE40097ADF7007F9AF5008498DE004B64BF0098ABF000000000000000 + 00000000000000000000BFCCF5004F67BF007F9AF5007F9AF5008DA5F60091A2 + DE0097ADF7007F9AF5000000000000000000000000000000000000000000485F + AF007F98EA008AA0EB008AA0EB008AA0EB008AA0EB008AA0EB008AA0EB008AA0 + EB008AA0EB008AA0EB008AA0EB008AA0EB008AA0EB008AA0EB0089A0EB006A86 + E500485FAF0000000000000000000000000000000000000000004A60AD003058 + DE0000000000000000003058DE007A94EA007A94EA007A94EA007A94EA007A94 + EA007A94EA007A94EA007A94EA007A94EA007A94EA003058DE00000000000000 + 00003058DE004A60AD00000000000000000000000000000000005973CF005F79 + D2003251B7003F5BB8005772C9008DA2E700A1B3F10092A9F4006F8BE8005D7B + E0004C6CD5002C4DBC001E40AF001031A00003238D0003238D0003238D00375F + E7005E78D200536EC7000000000000000000000000004B64BB0087A1F50087A1 + F5009EB3F70087A1F50087A1F5004D66C00098ABF00000000000000000000000 + 0000000000000000000000000000BFCCF5008A9EE00087A1F50087A1F5009EB3 + F70087A1F50087A1F50000000000000000000000000000000000000000004960 + B000879EEB0093A8ED0093A8ED0093A8ED0093A8ED0093A8ED0093A8ED0093A8 + ED0093A8ED0093A8ED0093A8ED007D8EC9007D8EC9007D8EC9007B8DC9005A73 + C4004960B00000000000000000000000000000000000000000004C62AF00355C + E0000000000000000000355CE000849CEC00849CEC00849CEC00849CEC00849C + EC00849CEC00849CEC00849CEC00849CEC00849CEC00355CE000000000000000 + 0000355CE0004C62AF000000000000000000000000005973CF005F78D3004068 + EE003B59BF00516DCB006882D8009CAFEE00A3B5F40091A8F400708CE900607E + E3005070DA003255C7002447BC00183BB1001033A6001033A6001033A600193E + B8003B64ED005F78D300C1CDF60000000000000000004C65BC008FA7F6008FA7 + F6008FA7F6008FA7F60090A2E20098ABF0000000000000000000000000000000 + 000000000000000000000000000000000000526AC20090A2E2008FA7F6008FA7 + F6008FA7F6008FA7F60000000000000000000000000000000000000000004B62 + B2008EA4ED009BAEEF009BAEEF009BAEEF009BAEEF009BAEEF009BAEEF009BAE + EF009BAEEF009BAEEF009BAEEF008494CC00485EAB00485EAB00485EAB005167 + B0004B62B20000000000000000000000000000000000000000004F64B1003960 + E2003960E2003960E2003960E2008FA5EF008FA5EF008FA5EF008FA5EF008FA5 + EF008FA5EF008FA5EF008FA5EF008FA5EF008FA5EF003960E2003960E2003960 + E2003960E2004F64B1000000000000000000000000005F79D3003C65EE00426A + F0006183F2007491F40088A2F600B3C3F900ADBEF8009EB3F700829CF5007491 + F4006787F3004F74F100446BF0003B64EF003761EF003761EF003761EF003761 + EF003761EF003B64ED005872CD0000000000000000004E67BE00A1B5F700A1B5 + F700A1B5F700A1B5F700B3C3F8004E68C100BFCDF60000000000000000000000 + 0000000000000000000000000000BFCDF6009BABDE00B3C3F800A1B5F700A1B5 + F700A1B5F700A1B5F70000000000000000000000000000000000000000004D65 + B6009BAEF000ABBBF200ABBBF200ABBBF200ABBBF200ABBBF200ABBBF200ABBB + F200ABBBF200ABBBF200ABBBF20092A0CF00C7D2F600AEBEF200718CE7004C65 + B900BFCCF5000000000000000000000000000000000000000000536AB7004267 + E6004267E6004267E6004267E600A2B4F300A2B4F300A2B4F300A2B4F300A2B4 + F300A2B4F300A2B4F300A2B4F300A2B4F300A2B4F3004267E6004267E6004267 + E6004267E600536AB7000000000000000000000000003761EF000936CC00214A + D4005475E4006E8AE900869EEF0098ADF50088A1F5007B96F0005C7BE2004E6E + DA003F60CF002648B900193BAB000E2F9E000324930003269A000328A000042B + AD00042DB500042EBB005872C90000000000000000004F69C000A9BBF800A9BB + F800A9BBF800A9BBF800A9BBF800A0ADDF00526CC70000000000000000000000 + 0000000000000000000000000000526CC700B9C8F900A9BBF800A9BBF800A9BB + F800A9BBF800A9BBF80000000000000000000000000000000000000000004E66 + B80097ABEF00AEBEF300B1C1F300B2C1F300B2C1F300B2C1F300B2C1F300B2C1 + F300B2C1F300B2C1F300B1C1F30096A3CF00A6B7F100738EE800546DC200BFCC + F500000000000000000000000000000000000000000000000000546BB900466B + E7000000000000000000466BE700AABBF400AABBF400AABBF400AABBF400AABB + F400AABBF400AABBF400AABBF400AABBF400AABBF400466BE700000000000000 + 0000466BE700546BB900000000000000000000000000486CE800496DE8005477 + EA006D8AED007994EE00849DF0008BA2F000849DF0007E98EE00708DED006A88 + ED006483EB005678EA005174EA004C70E800486CE800486CE800486CE800486C + E800486CE800486CE8005872C9000000000000000000556FCC005069C0005069 + C0005069C0005069C0005069C0005069C000556FCC0000000000000000000000 + 0000000000000000000000000000556FCC005069C0005069C0005069C0005069 + C0005069C0005069C00000000000000000000000000000000000000000004F67 + BA00879FEE009DB0F100A5B6F100A8B9F200A8B9F200A8B9F200A8B9F200A8B9 + F200A8B9F200A7B8F100A5B6F1008898CD006986E7005770C4004F67BD000000 + 0000000000000000000000000000000000000000000000000000576DBB00496E + E9000000000000000000496EE900B2C2F500B2C2F500B2C2F500B2C2F500B2C2 + F500B2C2F500B2C2F500B2C2F500B2C2F500B2C2F500496EE900000000000000 + 0000496EE900576DBB000000000000000000000000005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005B76D200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000516A + C000516ABD00516ABD00516ABD00516ABD00516ABD00516ABD00516ABD00516A + BD00516ABD00516ABD00516ABD00516ABD00516AC000BFCDF500000000000000 + 00000000000000000000000000000000000000000000000000007790E100546B + BE005A71C1005A71C1005A71C1005A71C1005A71C1005A71C1005A71C1005A71 + C1005A71C1005A71C1005A71C1005A71C1005A71C1005A71C1005A71C1005A71 + C100546BBE007790E10000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000455CA5002F3E + 7100475CA400445BA800435AA700435AA600435AA600435AA500435AA500435A + A500445AA5004359A3004359A3004359A2004359A1004359A1004358A0004353 + 8C002D3A660043589F000000000000000000000000003855B5003A56B5003B57 + B5003C57B4003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58 + B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003D58B5003C58 + B5003B57B5003A56B500263774000000000000000000000000007E7E7E003C3C + 3C007B7B7B008A8A8A00D8D8D800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000A3B3E90029396C003B4A7E0043549300485C9E00485C + 9E00485C9E00435493003B4B80002A396E00A3B3E90000000000000000000000 + 000000000000000000000000000000000000000000006279C90030427E004660 + B400072BA3000328A1000328A00003279F0003279F0003279F0003279D000326 + 9C0003269C0003269A0003269A00032699000325970003259700032596002643 + A300495EA5002E3D71000000000000000000000000003753B2000F34AF001236 + AE00163AB000173AB000173AB000173AB000173AB000173AB000173AB000173A + B000173AB000173AB000173AB000173AB000173AB000173AB000173AB0001539 + B0001337AF000F34AF00283A7C000000000000000000000000009E9E9E005959 + 5900333333006B6B6B0088888800C6C6C6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003E55A3002F3E7400455EAF002F4BAB001E3DA400032699000326 + 9900032699001E3DA4002F4BAB00455EAF002F3E74003E55A300000000000000 + 00000000000000000000000000000000000000000000283C8000495EA8002748 + B5000429A7000429A7000429A6000429A5000328A4000328A3000328A2000328 + A1000328A00003279F0003279F0003279E0003279D0003269C0003269B000326 + 9A002745A800485B9B000000000000000000000000003C58B800173CB5001D40 + B6002244B6002345B7002345B6002446B7002446B7002446B7002446B7002446 + B7002446B7002446B7002446B7002446B7002345B6002345B6002345B7002144 + B7001E41B700183DB6002A3D8100000000000000000000000000000000007676 + 76003C3C3C00ADACAC00C4C3C2008D8D8D0080808000B0B0B000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000293D85003D4E8900465FB0000B2EA10003279F0003279F0003279F000327 + 9F0003279F0003279F0003279F000B2EA100465FB0003D4E8900293D85000000 + 000000000000000000000000000000000000000000002B3D81004361C700042C + B300042CB200042CB100042BB000042BAF00042BAE00042BAD00042BAC00042A + AB00042AAA00042AAA00042AA9000429A8000429A7000429A6000429A6000328 + A4000328A300435EBB000000000000000000000000004764C600284CC4003254 + C4003556C5003556C5003556C5003556C5003556C5003556C5003556C5003556 + C5003556C5002B4BB5000626910003269B00677FCF004160C8003556C5003556 + C5003254C400284CC4002F448D00000000000000000000000000000000000000 + 0000E0DFDF00CECCCC00C0BEBD00A09E9D00605F5E006F6F6E0027377200B6C3 + F000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002D41 + 8A003654B900082DA9000429A8000429A8000429A8000429A8000429A8000429 + A8000429A8000429A8000429A8000429A8000429A800082DA9003654B9002D41 + 8A0000000000000000000000000000000000000000002D4185004362CA00042D + B800042DB600042DB600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00042AAA00042A + AA00042AA900425EBD000000000000000000000000004C6ACD003054CB003C5D + CC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5FCC003F5F + CC003F5FCC000728960003279F0003279F002343AD006D85D5004A68CE003F5F + CC003C5DCC003155CB0031479200000000000000000000000000000000000000 + 0000CBCACA00DAD9D900C7C6C500767574007777760071737A003E508B002738 + 7300B6C5F0000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000445DAE004154 + 9500082EAE00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00082EAE004154 + 9500445DAE00000000000000000000000000000000002F438A004363CE000530 + BE00042EBC00042EBB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0003259600042B + AE00042BAE00425FC1000000000000000000000000005471D4003C5FD2004969 + D3004B6AD2004B6AD2004B6AD2004B6AD2004B6AD2004B6AD2004B6AD2004B6A + D2003D5BC100072CA400072CA400072CA400072CA4002646B100758CD9004B6A + D2004969D2003C5FD100344A9700000000000000000000000000000000000000 + 00009A999900E3E2E200C8C7C6009291910085888F001F3A95003E57A9003E50 + 8B00283873000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000A7B6EC00384987004863 + BE00042CB100042CB100042CB100042CB100042CB100042CB100042CB100042C + B100042CB100042CB100042CB100042CB100042CB100042CB100042CB1004863 + BE0038498700A7B6EC00000000000000000000000000334993004A6BD800143E + CA00153EC900143DC800123CC8000C30A8000A2FA700092EA700062BA4001437 + A9001437A9000328A1000328A1000328A00003279F0003279F0003279F00042D + B800042DB8004362C9000000000000000000000000006581E1005273E000627F + E1006682E1006682E1006682E1006682E1006682E1006682E1005571CF001435 + A2001035AF001035AF001035AF001035AF001035AF001035AF001035AF00859B + E3006C87E3005373E0003A51A300000000000000000000000000000000000000 + 0000B0B0B00093929200B3B2B2006883E0005070DC003B5CCB00092A99000F2D + 93003E57A900293A7500B6C5F100000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000394B8E004A67C800133A + BF000C35BE000C35BE000C35BE00FFFFFF00FFFFFF00A2B2E5000C35BE000C35 + BE000C35BE00A2B2E500FFFFFF00FFFFFF000C35BE000C35BE000C35BE001239 + BE004A67C800394B8E00000000000000000000000000354B98004E6FDC001D46 + D1002149D1001F48D0001D46CF001A43CD001841CC001640CB002148CC00D1D9 + F400D1D9F4000B36C5000A35C4000833C3000530C1000530C100042FBF00042F + BE00042FBD004363CD000000000000000000000000006D89E8005D7DE7006F8B + E800748FE900748FE900748FE900748FE900748FE900748FE900173496001336 + A9001336A900153AB500153AB500153AB500153AB500153AB5001439B1003250 + B4008B9FE3006885E8003C55A800000000000000000000000000000000000000 + 0000000000006F75900091939D006E8CF2006A88EC005574DD002143B300092A + 99000F2D930040528C002A3B7500B6C5F1000000000000000000000000000000 + 000000000000000000000000000000000000000000004A5DA500395BCD00153D + C400173FC400173FC400173FC400FFFFFF00FFFFFF00FFFFFF00173FC400173F + C400173FC400FFFFFF00FFFFFF00FFFFFF00173FC400173FC400173FC400153D + C400395BCD004A5DA500000000000000000000000000384F9D005172E000264F + D8002C53D7002A51D6002951D600254DD400234BD300214AD200D3DBF500FFFF + FF00FFFFFF00254CCF00153FCB00133DCA000F3AC8000E39C7000C37C7000833 + C4000632C3004364D1000000000000000000000000007591EF006887EE007B96 + F000819BF000819BF000819BF000819BF000819BF000819BF000142F8C00142F + 8C00142F8C001A3FBA001A3FBA001A3FBA001A3FBA001A3FBA002949B400142F + 8C00324B9D008DA3EB004058AE00000000000000000000000000000000000000 + 000000000000BECCF500455FB900829DF5007B97F4006C89EC003B5CCB002143 + B300092A99003E57A90040528D002A3C76000000000000000000000000000000 + 000000000000000000000000000000000000000000005169BD003357CF002148 + CB00234ACB00234ACB00234ACB009DA9D000FFFFFF00FFFFFF00ABBAEB00234A + CB00ABBAEB00FFFFFF00FFFFFF009DA9D000234ACB00234ACB00234ACB002148 + CB003357CF005169BD000000000000000000000000003C54A7005879E800375E + E2004267E3004065E2003F64E2003B61E0004569E100D9E0F800FFFFFF00FFFF + FF00FFFFFF00FFFFFF00D6DDF700365BDA00264ED600244DD600224BD4001E47 + D2001742D0004B6CDB000000000000000000000000007E99F500708EF400829D + F50094ABF60097ADF70099AFF70099AFF70099AFF70099AFF70099AFF70099AF + F70099AFF7002448BF002448BF002448BF002448BF002448BF00B7C7F90099AF + F70091A8F6007E99F500445DB400000000000000000000000000000000000000 + 00000000000000000000000000004762BB00627BD4007D98F5006B89EC005574 + DD003B5CCB00092A99000F2D93003E57A9002C3D7800B6C5F100000000000000 + 000000000000000000000000000000000000000000005D78D5002D54D500365B + D700395ED800395ED800395ED800395ED8003353BE00A4AFD400FFFFFF00FFFF + FF00FFFFFF00A4AFD4003353BE00395ED800395ED800395ED800395ED800385D + D8002E54D5005F79D5000000000000000000000000003F58AB005C7DEC003F66 + E7004D71E9004B6FE700496EE7005073E600DBE2F900FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00D8DFF8003158DC002F56DB002D55DA002951 + D900204AD6004E6FDE000000000000000000000000007C97F4006989F3007995 + F40088A2F6008FA7F60098AEF700A3B6F800A3B6F800A3B6F800A3B6F800A3B6 + F800A3B6F8002646B3002646B3002646B3002646B3002646B300BECCFA00A1B5 + F70095ACF700819BF500455EB600000000000000000000000000000000000000 + 0000000000000000000000000000BFCCF5004963BC00627CD5007894F4006D8A + EC005574DD002143B300092A99000F2D930042548E002C3E7900B6C5F1000000 + 00000000000000000000000000000000000000000000607BD800365CDC004266 + DE004569DF004569DF004569DF004569DF004569DF003D5CC300FFFFFF00FFFF + FF00FFFFFF003D5CC3004569DF004569DF004569DF004569DF004569DF004468 + DF003A5FDC006681DB00000000000000000000000000415AB1006081F000486D + EC00587BED005679EC005477EC00DDE4FA00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005F7EE6003A60E000395FE000335A + DE002952DC005173E200000000000000000000000000ADBEF8009AAFF700A0B4 + F700A7B9F800ACBDF800ADBEF8009FB3F700A4B7F800A6B9F800A7B9F800A7B9 + F800A8BAF800223C9000223C9000223C9000223C9000223C9000C0CEFA009FB3 + F70093AAF600809BF5004660B700000000000000000000000000000000000000 + 000000000000000000000000000000000000BFCCF5004A64BD007E99F5007E99 + F5006D8AEC003B5CCB002143B300092A99003E57A90042548F002D3E79000000 + 00000000000000000000000000000000000000000000657FDC003F64E1004D70 + E3005173E3005173E3005173E3005173E3005173E300BCC9F400FFFFFF00FFFF + FF00FFFFFF00BCC9F4005173E3005173E3005173E3005173E3005173E3004F71 + E3004368E1006C85DE00000000000000000000000000455EB6006787F300597C + F2006E8DF3006D8CF3006B8AF3005B77D5005772CF005570CD00FFFFFF00FFFF + FF00FFFFFF004C69CB004A68CB004866CA004563C9004564CA004D71E700486D + E9003A62E700597BEA000000000000000000000000007391F400456CF000456C + F000456CF000456CF0003A60E000A8BAF800ABBDF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800ABBD + F800A7B9F800A2B6F8004962B900000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004D67C0006C85 + D80088A2F6006D8AEC005574DD003B5CCB00092A99000F2D93003E57A9002E40 + 7B00B6C5F100000000000000000000000000000000006680D6006080EC006080 + EB006886EC006886EC006886EC00C5D1F800FFFFFF00FFFFFF00B2BBDA005670 + C400B2BBDA00FFFFFF00FFFFFF00C5D1F8006886EC006886EC006886EC006181 + EB006181EC006780D6000000000000000000000000004660B7006B8AF3006183 + F2007A96F4007894F4007693F4007391F400718FF4006F8DF300FFFFFF00FFFF + FF00FFFFFF005671CE006384F3006082F1005C7EF0005B7EF000597CEF005276 + EE004269EB005C7EEE000000000000000000000000007894F4004B71F1004B71 + F1004B71F1004B71F1004B71F100365BD700365BD700365BD700365BD700365B + D700365BD700365BD700365BD700365BD700365BD700365BD700365BD700365B + D700365BD700365BD7004A63BB00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF6004E68 + C1006D85D9007E99F5006D8AEC005574DD002143B300092A99000F2D93004354 + 8D004C526E00AFBEEE000000000000000000000000006279C8006E8CF0006887 + EF007491F1007491F1007491F100FFFFFF00FFFFFF00FFFFFF00657FD3007491 + F100657FD300FFFFFF00FFFFFF00FFFFFF007491F1007491F1007491F1006988 + EF006E8CF0006279C8000000000000000000000000004761B8006E8DF3006A8A + F300849EF500829DF500819BF5007E99F5007C97F4007A96F400FFFFFF00FFFF + FF00FFFFFF005E78CF006D8CF3006C8BF3006888F3006686F3006586F3005E80 + F2004B71F0006082F1000000000000000000000000007C97F4005075F1005075 + F1005075F1005075F1005075F1005075F1005075F1005075F1005075F1005075 + F1005075F1005075F1005075F1005075F1005075F1005075F1005075F1005075 + F1005075F1005075F1004B65BC00000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000BFCD + F6004F69C2007E99F5007894F4006B89EC003B5CCB002143B300092A99007B7E + 8F0068676900555769000000000000000000000000005169BB007E97F0006F8D + F300819BF500819BF500819BF500FFFFFF00FFFFFF00BAC2DC00819BF500819B + F500819BF500BAC2DC00FFFFFF00FFFFFF00819BF500819BF500819BF5007290 + F4007E98F1005169BB000000000000000000000000004963BA007491F4007995 + F4009BB0F70099AFF70097ADF70093AAF60091A8F60090A8F600FFFFFF00FFFF + FF00FFFFFF007187D100839EF500829CF5007F9AF5007D98F5007B97F400718F + F400597CF2006686F300000000000000000000000000849EF5005B7EF2005B7E + F2005B7EF2005B7EF2005B7EF2006384F300829CF5007E91D5004E67BE004E67 + BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67BE004E67 + BE004E67BE004E67BE004E68C100000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000516BC4006881D9007D98F5006C89EC005674D700949AAF00F4F4 + F400E3E2E200B1B2B800697CC2000000000000000000AEBDF200586EBF00869E + F0008FA7F60096ACF70096ACF7008497D8008497D80096ACF70096ACF70096AC + F70096ACF70096ACF7008497D8008497D80096ACF70096ACF70091A8F60089A1 + F000586FBF00AEBDF2000000000000000000000000004B64BB007693F4007D98 + F500A6B9F800A4B7F800A2B6F8009FB3F7009DB2F7009BB0F700FFFFFF00FFFF + FF00FFFFFF007B8FD1008EA6F6008CA5F60089A2F60087A1F500859FF5007995 + F4005F81F2006888F30000000000000000000000000088A2F6006183F2006183 + F2006183F2006183F2006183F200839EF5008195D600536CC000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BFCDF600536DC6006882DA007A95ED00B9BFD400BFBEBC00EEEE + ED00CDCED400898D9C005A6387000000000000000000000000005C76D2006980 + CE008BA4F6009DB2F700A2B6F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6 + F800A2B6F800A2B6F800A2B6F800A2B6F800A2B6F8009CB1F7008FA7F6006F85 + D0005C76D200000000000000000000000000000000004C65BC007C96EF007F9A + F500ADBEF800AFC0F900ADBEF800AABCF800A8BAF800A6B9F800A3B6F800899A + D3008798D2008496D2009AAFF70098AEF70094ABF60092A9F60090A8F6007B97 + F4006283F200718EEE000000000000000000000000008DA5F6006787F3006787 + F3006787F3006787F3006989F3008597D700546DC10091A5EB00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BFCDF600536EC700ADB2C100EDECEC00EDECEC00BFC0 + C6008F93A2008F93A2006A6E7E00000000000000000000000000000000004E68 + C30094ABF60097ADF700A8BAF800AEBFF800AEBFF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800A5B8F80095ACF70095ACF7004E68 + C30000000000000000000000000000000000000000007990E3005F77C8008AA2 + F1008AA3F60091A8F60094ABF60094ABF60093AAF60093AAF60090A8F6008EA6 + F6008DA5F6008AA3F60088A2F60086A0F500829DF500809BF5007995F4007391 + F4007D97EF005D74C700000000000000000000000000506AC100506AC100506A + C100506AC100506AC100506AC10091A5EB000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000787D9300B5B5B900C9CAD000AFB4 + C300B3B8C800B3B9C8007286CC00000000000000000000000000000000000000 + 00004F6AC500758AD3009EB2F400A8BAF800B2C2F900B7C7F900BCCAFA00BCCA + FA00BBCAFA00B6C6F900B1C1F900A7B9F80098ADF2006F85D1004F6AC5000000 + 0000000000000000000000000000000000000000000000000000546FCB006078 + C9007C97F400809BF500829DF500839EF500829DF500829DF500819BF500819B + F500809BF5007F9AF5007E99F5007E99F5007B97F4007A96F4007794F400718B + E6005E75C8006680D90000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006974A1009095A500BCC1 + D000BCC1D100A3A8B80000000000000000000000000000000000000000000000 + 0000000000005E79D3005F76C5009FB3F500A3B6F800A4B7F8009FB3F7009FB3 + F7009FB3F700A3B6F800A0B4F7009FB3F5005F76C5005E79D300000000000000 + 0000000000000000000000000000000000000000000000000000000000007991 + E3005069C0005069C0005069C0005069C0005069C0005069C0005069C0005069 + C0005069C0005069C0005069C0005069C0005069C0005069C0005069C000506A + C3007991E3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000007489C8008E92 + A200828BAF007A8ED40000000000000000000000000000000000000000000000 + 00000000000000000000AEBEF2005C74C500768CD500859AE40090A6F10091A7 + F10090A6F100839AE500758AD5005C73C400AEBEF20000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DADA + DA002F417A002834600028346000283460002834600028346000283460002834 + 600028346000283460002834600028346000283460002834600028346000CACA + CA00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CDD6F6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000092A1D7002635640026356300C3C3C300CACACA00D3D3D300000000000000 + 0000000000000000000000000000D5D5D50090A1D5002532600025326000C8C8 + C800DADADA0000000000000000000000000000000000C2C2C200C0C0C0003345 + 7F0034437B0034437B0034437B0034437B0034437B0034437B0034437B003443 + 7B0034437B0034437B0034437B0034437B0034437B0034437B0034437B003443 + 7B0033457F00C0C0C000D6D6D600000000000000000000000000000000000000 + 00002A3970000525910004208000031D7300031D7300031D7300031D7300031D + 7300031D7300031D7300031D7300031D7300031D7300031D7300031D73000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B6C3F0002939 + 740027366B000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000B9C6 + F100405396003F5AB6003F5AB5002A3D7D00B9C6F10000000000000000000000 + 0000000000000000000000000000B7C5F1003F5291003E58AF003E58AF00283A + 7800B7C5F100000000000000000000000000000000000000000000000000364B + 99007E93D7007D92D7007D92D7007C91D7007C91D7007C91D7007B90D7007B90 + D7007B90D7007A8FD700798FD700798FD700788ED700788ED700778DD70099A9 + E100364B99000000000000000000000000000000000000000000000000000000 + 00002D407F00637BCA005771CB006684EA006684EA006684EA006684EA006684 + EA006684EA006684EA006684EA006684EA006584EA008AA1EF00032288000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000B7C5F1004A5B99003E59 + B1003E59B1002C3B73008195DB00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BAC6F2002C40 + 83003E5AB9000F32A8000F32A800415599002B3F8000B9C6F100000000000000 + 00000000000000000000B9C6F1002A3E7D003F5AB4000F31A0000F31A0004052 + 94002A3C7B00B7C5F1000000000000000000000000000000000000000000384F + 9D008398DC008398DC008297DC008297DC008297DC008196DC008196DC008196 + DC008196DD008095DC007F94DC007F94DC007E94DC007E94DC007E94DD009EAE + E500384F9D000000000000000000000000000000000000000000000000000000 + 000030438400667ECF00536ECB005D7EEB005D7EEB005D7EEB005D7EEB005D7E + EB005D7EEB005D7EEB005D7EEB005D7EEB005D7EEB00879FF00003238D000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000B9C6F1002E4281003F5AB6000F31 + A3000F31A3004A5D9E002D3E79008196DC000000000000000000000000000000 + 00000000000000000000000000000000000000000000BAC6F2002E4288004358 + A0000F34AD00042AAA00042AA9003E5BBC0042569D002D418500000000000000 + 000000000000B9C6F1002C41820041569A000F32A7000328A1000328A1003F5A + B700415598002B3F7F0000000000000000000000000000000000000000003A51 + A2008A9EE100899DE100899DE100889DE100879CE100879CE100869BE100869B + E100869BE100859AE100859AE100859AE1008499E1008499E1008499E100A2B2 + E8003A51A2000000000000000000000000000000000000000000000000000000 + 000032478A006780D3004C68C8005477EA005477EA005477EA005477EA005477 + EA005477EA005477EA005477EA005477EA005477EA00829CF000032493000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000B9C6F100304285004C5FA1000F33A9000328 + A4000328A4003E5AB9004C5FA1002F417E000000000000000000000000000000 + 000000000000000000000000000000000000000000006678B5004261C800183D + BC001036B7001036B7000F35B6000A31B4001338B700405EC40032468E00BAC7 + F200BAC7F2004459A4003F5DC2001035B200042BAD00042BAC00042BAC00042A + AB000F34AE003E5BBD002F428800000000000000000000000000000000003E56 + AA0097AAEC0097AAEC000633C9000633C9000633C9000633C9000633C9000633 + C9000633C90092A7EB0092A7EB0092A7EB0091A6EB0091A6EB0091A6EB00ABBB + F0003E56AA000000000000000000000000000000000000000000000000000000 + 0000374C96006883DB003C5CC6004268E9000434D2004268E9004268E9004268 + E9004268E9004268E9004268E9000434D2004268E9007893F00003279D000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000BAC7F2004E62AA003E5CC2001035B400042BB000042B + B000042BB000042BB0001035B4003E5CC200344688008499DF00000000000000 + 000000000000000000000000000000000000000000007D8DC1007D93DC001C42 + C200183EBF001A40C000193FBF00143BBC001037BB00183EBD00465CA900344A + 9200344991003F5EC6001036B700042CB400042CB300042CB200042CB200042B + B0001035B400798ED40032478C00000000000000000000000000000000004159 + AE00A1B3F200A1B3F200A1B3F200A0B3F200A0B3F2009FB2F2009FB2F2009EB1 + F2009EB1F2009DB0F2009DB0F2009CB0F2009BAFF1009BAFF1009BAFF100B1C1 + F4004159AE000000000000000000000000000000000000000000000000000000 + 00003A509A006984DF003455C4003962EA000434D3003962EA003962EA003962 + EA003962EA003962EA003962EA000434D3003962EA00728FEF000328A1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BAC7F200374B94003F5EC7001037B900042DB600042DB600042D + B600042DB600042DB600042DB6001037B9004F65AF0036498C00859AE1000000 + 00000000000000000000000000000000000000000000384E9A007F8FC4007F95 + DF001D44C5002147C7002248C7001E44C4001B42C300163DC1004564CD004860 + AD00485FAD00153CBE000831BA000730B900042DB700042DB700042DB7001037 + B9007A90D8007C8BBE00BAC7F20000000000000000000000000000000000425C + B300A9BBF600A9BBF6001541D3001541D3001541D3001541D3001541D3001541 + D3001541D3001541D3001541D3001541D3001541D3001541D300A3B6F600B8C7 + F800425CB3000000000000000000000000000000000000000000000000000000 + 00003C53A1006985E2002B4EC300305BEA000534D400305BEA00305BEA00305B + EA00305BEA00305BEA00305BEA000534D400305BEA006C8AF0000429A6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BCC8F300394F98005167B200153CC0000932BC000932BC000932BC000932 + BC000932BC000932BC000932BC000932BC004161CC005167B200394C91000000 + 0000000000000000000000000000000000000000000000000000BDC9F4003C53 + A200839AE5002C52D2002A50D1003055D2002E53D1002C52D100264DCE002D52 + CF002B50CF001E46CB001C44CA001A42C900143DC600103AC500173FC700808F + C500394F9B00BCC8F3000000000000000000000000000000000000000000455F + B600B6C6F900B6C6F900244DD600244DD600244DD600244DD600244DD600244D + D600244DD600244DD600244DD600244DD600244DD600244DD600B1C1F900C0CE + FA00455FB6000000000000000000000000000000000000000000000000000000 + 00004259AD006987EA001B41C1001E4DEA000535D6001E4DEA001E4DEA001E4D + EA001E4DEA001E4DEA001E4DEA000535D6001E4DEA006081F000042BB0000000 + 000000000000000000000000000000000000000000000000000000000000BDC9 + F400536BBC00496AD7002C51D000284ECE002A50D0002048CD001C44CC001C44 + CC001C44CC001C44CC001C44CC002A50D000254CCE002C51D000496AD7003D52 + 9C00899EE400000000000000000000000000000000000000000000000000BDCB + F4008393CD00859CE7003056D600375CD800365BD700355AD6003056D5002E54 + D4002C52D300274ED100254CD000234BD0001942CC001E46CE007E95E2003A52 + A000BDC9F4000000000000000000000000000000000000000000000000004660 + B700BCCAFA00BCCAFA00BBCAFA00BBCAFA00BAC9FA00BAC9FA00B9C8F900B9C8 + F900B9C8F900B9C8F900B8C7F900B8C7F900B7C7F900B7C7F900B7C7F900C4D1 + FA004660B7000000000000000000000000000000000000000000000000000000 + 0000455EB2006987ED00133ABE00153CBF000535D7001546EA001546EA001546 + EA001546EA001546EA001546EA000535D7001546EA005A7DF100042DB6000000 + 0000000000000000000000000000000000000000000000000000000000003D56 + A500506ED2005370D2005673D3005B77D4005A78DC002B52D400254DD300254D + D300254DD300254DD300244CD3005A78DC005974D3005673D3005370D2005D72 + B9004056A000D1DAF80000000000000000000000000000000000000000000000 + 00004059AB008495D000869DEA003A5FDC003F64DD003D62DC003A5FDB00385D + DB00355BDA003157D7002E55D6002C53D600254DD4008097E5008292CB00BDC9 + F400000000000000000000000000000000000000000000000000000000004760 + B800C1CEFA00C2CFFA003358D7003358D7003358D7003358D7003358D7003358 + D7003358D7003358D7003358D7003358D7003358D7003358D700BCCAFA00C8D4 + FB004760B8000000000000000000000000000000000000000000000000000000 + 00004761B8006988F1000B34BD009DB2F6000535D7000C3FEA000C3FEA000C3F + EA000C3FEA000C3FEA000C3FEA000535D7000C3FEA005478F000042EBA000000 + 0000000000000000000000000000000000000000000000000000000000004B62 + AF003F56A5003F56A5003F56A5003F56A5005D79D8002A52D9002F56DA002F56 + DA002F56DA002F56DA002951D9005D79D7003F56A5003F56A5003F56A5003F56 + A5003F58AA000000000000000000000000000000000000000000000000000000 + 000000000000BECCF500455EB5006483EA005275E8004F72E7004B6FE600496D + E500466BE4004267E3004166E3004267E2007C8FD100425BB000BDCBF4000000 + 0000000000000000000000000000000000000000000000000000000000004962 + BA00CBD6FB00CBD6FB004164D8004164D8004164D8004164D8004164D8004164 + D8004164D8004164D8004164D8004164D8004164D8004164D800C7D3FB00CFD9 + FB004962BA000000000000000000000000000000000000000000000000000000 + 00004A64BC006989F300042DB6009AAFF3002242AE002245BA000538E4000538 + E4000538E4000538E4000538E4000434D2000538E4004F73EB00042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000445DB100607DE000375FE5004167E6004167 + E6004167E6004167E600375FE500607DE0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000BFCCF5004861BA006887EE00597BEC00597BEC005578EB005275 + EA005074EA004C70E800496EE8004B6FE7005670CB00465EB400BFCCF5000000 + 0000000000000000000000000000000000000000000000000000000000004A63 + BB00D0DAFB00D1DBFB00D0DAFB00CFD9FB00CFD9FB00CFD9FB00CED8FB00CED8 + FB00CED8FB00CDD8FB00CDD8FB00CDD8FB00CCD7FB00CCD7FB00CCD7FB00D2DB + FB004A63BB000000000000000000000000000000000000000000000000000000 + 00004B65BD006989F300042CB4009AAEF2009BADEC009AAEF2000537E1000537 + E1000537E1000537E1000537E1000433D0000537E1004F73EA00042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004760B5006381E5003E65EA004A6FEB004A6F + EB004A6FEB004A6FEB003E65EA006280E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BFCCF5004B65BE005975D300577AF0005E80F0006384F1005E80EF005C7E + EF00597CEE005477ED005276ED004E73EC00597BEC005973CF004861B9000000 + 0000000000000000000000000000000000000000000000000000000000004B64 + BC00D5DEFC00D5DEFC005070D9005070D9005070D9005070D9005070D9005070 + D9005070D9005070D9005070D9005070D9005070D9005070D900D0DAFB00D5DE + FC004B64BC000000000000000000000000000000000000000000000000000000 + 00004C66BD006989F300042CB2009AAEF1000433CE000537DE000537DE000537 + DE000537DE000537DE000537DE000433CE000537DE004F72E800042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004964BB006683E800466DEE005478F0005478 + F0005478F0005478F000456CEE006582E8000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000BFCD + F6005B76D5006183F200577BF2007693F4007894F4007592F400718FF4006E8D + F3006B8AF3006888F3006586F3006384F3005277F1004A70F0005C7FF2004D67 + C000BFCDF6000000000000000000000000000000000000000000000000004D66 + BD00DDE4FC00DDE4FC005F7BDA005F7BDA005F7BDA005F7BDA005F7BDA005F7B + DA005F7BDA005F7BDA005F7BDA005F7BDA005F7BDA005F7BDA00D9E1FC00DBE2 + FC004D66BD000000000000000000000000000000000000000000000000000000 + 00004E68BF006989F300042BAD000535D9000432CA000535D9000535D9000535 + D9000535D9000535D9000535D9000432CA000535D9004F71E300042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004D67BE006B88EA005479F1006686F3006686 + F3006686F3006686F3005479F1006A87EA000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF6004E68 + C1006384F3005C7FF2006C8BF300829DF500819BF5007F9AF5007290F400718F + F4006F8DF3006F8DF3006F8DF3006C8BF3006485F300577BF2004E73F1005D78 + D6004E68C100BFCDF60000000000000000000000000000000000000000004E67 + BE00E1E7FD00E1E7FD00E1E7FD00E0E6FC00E0E6FC00E0E6FC00E0E6FC00E0E6 + FC00DFE6FC00DEE5FC00DEE5FC00DEE5FC00DEE5FC00DDE4FC00DDE4FC00DFE6 + FC004E67BE000000000000000000000000000000000000000000000000000000 + 00004F69C0006989F300042AAB000535D6000431C7000535D6000535D6000535 + D6000535D6000535D6000535D6000431C7000535D6005072E200042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004D67BF006D8AEA005C7FF200708EF400708E + F400708EF400708EF4005C7FF2006D8AEA000000000000000000000000000000 + 00000000000000000000000000000000000000000000BFCDF6004F69C2005C77 + D6005F81F2007290F400849EF5008CA5F60089A2F600829DF5006B8AF300A3B6 + F800A3B6F8006A8AF3007391F4007592F400718FF4006989F3005A7DF2005D80 + F2005A76D6004F69C20000000000000000000000000000000000000000004F68 + BF00E5EAFD00E5EAFD006D87DB006D87DB006D87DB006D87DB006D87DB006D87 + DB006D87DB006D87DB006D87DB006D87DB006D87DB006D87DB00E1E7FD00E1E7 + FD004F68BF000000000000000000000000000000000000000000000000000000 + 0000506AC1006989F300042AA9000434D3000431C5000434D3000434D3000434 + D3000434D3000434D3000434D3000431C5000434D3004F70DF00042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004E68C000708CEA006485F3007995F4007995 + F4007995F4007995F4006485F300708BEA000000000000000000000000000000 + 00000000000000000000000000000000000000000000778EDB005B7EF2005579 + F10086A0F50098AEF700A0B4F70091A8F6007D98F5006888F3008FA1E000506A + C400506AC40095ACF7005B7EF2006B8AF300829CF500809BF5007995F4005378 + F1003E67F0005075F100506AC40000000000000000000000000000000000516A + C100EAEFFD00EAEFFD00EAEFFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E8ED + FD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E7ECFD00E6EB + FD00516AC1000000000000000000000000000000000000000000000000000000 + 0000526CC3006989F3000328A4000433CE000430C1000433CE000433CE00B2C0 + F000B2C0F0000433CE000433CE000430C1000433CE004F6FDC00042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000506AC1007590EC007491F4008CA5F6008CA5 + F6008CA5F6008BA4F6007491F400748FEC000000000000000000000000000000 + 000000000000000000000000000000000000000000008B9FE0008FA7F600577B + F20089A2F60099AFF7009EB3F700829CF5006C8BF3009AAFF700516BC400BFCD + F600BFCDF6008EA1E00095ACF7005D80F2007E99F500819BF5007A96F4005479 + F1003E67F00086A0F500516BC40000000000000000000000000000000000526B + C200EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00ECF0FE00ECF0FE00ECF0 + FE00ECF0FE00EBF0FD00EBF0FD00C8CCD800C8CBD600C8CBD600C8CCD700C6CA + D700526BC2000000000000000000000000000000000000000000000000000000 + 0000536DC4006989F3000328A2000432CB00042FBF000432CB000432CB000432 + CB000432CB000432CB000432CB00042FBF000432CB004F6FDA00042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000516BC2007892EC007B97F40095ACF70095AC + F70095ACF70095ACF7007B97F4007691EC000000000000000000000000000000 + 00000000000000000000000000000000000000000000526CC50090A2E1009AAF + F7007F9AF5008EA6F60091A8F6006E8DF3009BB0F7008FA2E100BFCDF6000000 + 000000000000526CC5008FA1E10095ACF7006F8DF3007693F400718FF4005378 + F1008DA5F6008D9FE100BFCDF60000000000000000000000000000000000526C + C300F0F3FE00F0F3FE00F0F3FE00EFF3FE00EFF3FE00EFF3FE00EFF3FE00EFF3 + FE00EFF3FE00EEF2FE00EEF2FE00CBCED800516BC100526CC300526CC300526C + C300526CC3000000000000000000000000000000000000000000000000000000 + 0000546EC5006989F3000328A0000431C800042EBC000431C8000431C8000431 + C8000431C8000431C8000431C800042EBC000431C800506FD800042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000526CC3007994EC00829CF5009EB3F7009EB3 + F7009EB3F7009EB3F700819BF5007993EC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000BFCDF600536E + C7009DB2F7006082F2006082F20090A3E100536EC700BFCDF600000000000000 + 00000000000000000000BFCDF600536EC70095ACF7004F74F1004E73F10091A3 + E100536EC700BFCDF6000000000000000000000000000000000000000000546E + C500F4F7FE00F5F7FE00F5F7FE00F4F7FE00F4F7FE00F4F7FE00F4F7FE00F4F7 + FE00F4F7FE00F3F6FE00F3F6FE00CFD1D800FAFBFF00FAFBFF00F5F7FD00536E + C700BFCDF6000000000000000000000000000000000000000000000000000000 + 00005670C7006888F30003269C000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2000430C2000430C200506ED400042EBC000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000546EC5007A94ED00829CF500B0C0F900B0C0 + F900B0C0F900A9BBF800829CF5007993ED000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F60092A4E20092A9F60092A9F600556FC700C1CDF60000000000000000000000 + 0000000000000000000000000000C1CDF60090A3E2008DA5F6008CA5F600556F + C700C1CDF600000000000000000000000000000000000000000000000000556F + C600F5F7FE00F7F9FE00F7F9FE00F6F8FE00F6F8FE00F6F8FE00F6F8FE00F6F8 + FE00F6F8FE00F5F7FE00F5F7FE00D0D2D800FAFBFF00F5F7FD00B7C2E800C1CD + F600000000000000000000000000000000000000000000000000000000000000 + 00005771C8006586F30003269900042FC000042FC000042FC000042FC000042F + C000042FC000042FC000042FC000042FC000042FC0004F6DD2000430C2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000556FC600738FEC007693F400A3B6F800A6B9 + F800A6B9F80098AEF7007693F400728EEC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005670C8008DA1E3008DA1E300C1CDF6000000000000000000000000000000 + 0000000000000000000000000000000000005670C8008DA1E3008DA1E300C1CD + F600000000000000000000000000000000000000000000000000000000005670 + C700F5F7FE00F7F9FE00F8FAFE00F8FAFE00F8FAFE00F8FAFE00F8FAFE00F8FA + FE00F8FAFE00F8FAFE00F7F9FE00D2D4D800F4F6FD00B7C3E8005670C8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005771C8005D80F20003259700032597000325970003259700032597000325 + 970003259700032597000325970003259700032597003F57A6000536D9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005670C7006D88E5007590ED00859DEE00869E + EE00869EEE00829AEE007691ED006C88E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005771 + C9005871C8005871C8005871C8005871C8005871C8005871C8005871C8005871 + C8005871C8005871C8005871C8005871C8005771C900C1CDF600000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005A76D2005771C8005A73C9005A73C9005A73C9005A73C9005A73C9005A73 + C9005A73C9005A73C9005A73C9005A73C9005A73C9005A73C9005771C8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B9C6F1002A3B78002F448B00B9C6F1000000000000000000000000002F44 + 8B002A3B78002F448B0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000C5CEF3006A7FC8002A3A75002433 + 6900243369002A3A7500364D95006A7FC8000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B6C3F000414F800023316200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000374887006D84CF005B73C7007286C800566EBE000E30A300334FB1008496 + D5006D84CF005D74C10000000000000000000000000000000000000000000000 + 000000000000000000004259A70046589700455EAF002F4BAB001333A0000326 + 9900032699001333A0001E3DA4002F4BAB004658970035447A004259A7000000 + 0000000000000000000000000000000000000000000000000000000000004256 + 9B008E9ED10095A7E2009FB0E900A1B1E9009DADE40099A9DF008E9ED3008999 + CD008595C7007C8BBB007785B5007381AF007180B2007A8ABF008191C3004256 + 9B00000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000CCD6 + F60022357800435BAA0023336900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000364C98009EADDD008492C30031448600506CCA00042CB400314486008391 + C3009EADDD008291C30000000000000000000000000000000000000000000000 + 0000B9C6F1002E42880042538E002B49AE000B2EA10003279F0003279F000327 + 9F0003279F0003279F0003279F0003279F002B49AE004760B10042538E00B9C6 + F100000000000000000000000000000000000000000000000000000000002736 + 6E00708ADF007993E70091A7F10098ADF1008CA2EB007F96E200667FD0005A73 + C6004F68BC003751A5002B44980020398C001D3892002D4AAC00516CC8002736 + 6E00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002F43 + 840043538C00425CB00025356D00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BAC7F20033478B00374D9C00BAC7F2004F6CCE00042EB90033478B00374D + 9C0033478B00374D9C0000000000000000000000000000000000000000000000 + 0000334686006E7AA6004C65B8000328A3000328A3000328A3000328A3000328 + A3000328A3000328A3000328A3000328A3000328A3001336A900415CB7002F42 + 8400B9C6F1000000000000000000000000000000000000000000000000002A3A + 74006A84DE00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE00415FC4002A3A + 7400000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000046589600405B + B8000F33A900435EBA002A3B7700000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000384D9600384D9600384D9600384D9600384D + 9600384D9600384D9600384D9600384D96001F46CB000C37C600384D96000000 + 000000000000000000000000000000000000000000000000000000000000475F + B100BCBFC900A6ABBA00808DB6001438AE00042BAC00042BAC00042BAC00042B + AC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00042BAC00415D + BD0046589A00475FB10000000000000000000000000000000000000000003042 + 8200718BDF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004461C4003042 + 820000000000000000000000000000000000000000000000000090A3E3003B51 + A2002F4385002F4284002E4284002E4183002E4183002E408100405DBD000F34 + AF00042AAA00425EBD002C3E7D002B3D7C002B3C7A002B3C7A002B3C79002A3C + 7800344A95008196DC0000000000000000000000000000000000000000000000 + 0000000000000000000000000000617BD4001F44C1002C50C6005F79D3005F79 + D3005F79D3005F79D3005F79D3006079D3005A78DC00133ECD003754BA000000 + 0000000000000000000000000000000000000000000000000000A8B7ED005665 + 9800B2B6C300ADB1BF00A9AEBE004A63B7001439B200042CB100042CB100042C + B100042CB100042CB100042CB100042CB100042CB100042CB100042CB1001439 + B6004964BF003E508E0000000000000000000000000000000000000000003346 + 8800708ADF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE00415FC4003346 + 88000000000000000000000000000000000000000000546CC100405498004D66 + B7004261CA004362CA004362C9004261C7004361C7004361C7001036B600042C + B100042BB0003655BE00425FC1004360C100425FBF00425EBE00435FBE004661 + B9004B60A8003B4C870000000000000000000000000000000000000000000000 + 00000000000000000000000000005E7CE0002C53D7003D52A0003D52A0003D52 + A0003D52A0003D52A0003D52A0003D52A0005670CA00163BB4003D52A0000000 + 0000000000000000000000000000000000000000000000000000455BAE00A2A9 + BF00B1B6C300B1B6C300B1B6C3008794C0004B65BB00153AB700042DB600042D + B600042DB600042DB600042DB600042DB600042DB600042DB600042DB600042D + B6002B4EC2004C62AD000000000000000000000000000000000000000000364A + 8F007790E1007C95E90092A8F10098ADF1008CA2EB007F96E200667FD0005A73 + C6004F68BC003751A5002B44980020398C001D3892002D4AAC00516CC800364A + 8F000000000000000000000000000000000000000000506AC100294FD0000C38 + CA000D38C8000C37C6000C37C6000934C3000833C2000833C1000631BF00052F + BD00042EBC00042EBA00042EB900042DB800042DB600042DB600042DB500042C + B300042CB2002346BB00354B9600000000000000000000000000374E9B002C3F + 7E002C3F7E002C3F7E002C3F7E002C3F7E002C3F7E002C3F7E002C3F7E002C3F + 7E002C3F7E00374E9B00000000004259AB008099EB005879E7004960AF000000 + 00000000000000000000000000000000000000000000788DD7008D98BA00CACE + D900C1C5D300C1C5D300C1C5D300C1C5D300BDC2D10097A4CE00274CC500173F + C400173FC400173FC400173FC400173FC400173FC400173FC400173FC400173F + C400153DC400395BCD00788DD70000000000000000000000000000000000D1DA + F7003D529D003D529D003D529D003D529D003D529D003D529D003D529D003D52 + 9D003D529D003D529D003D529D003D529D003D529D003D529D003D529D00D1DA + F70000000000000000000000000000000000000000004B6BD7001440D1001641 + D1001943CF001943CF001842CE00153FCB00143ECA00133DC900103AC7000E38 + C5000D37C4000B35C2000933C1000832BF000630BD00052FBC00052FBB00042E + B900042DB8000831B90033468A0000000000000000000000000032468C00506D + CF00506DCF00506DCF00506DCF00506DCF00506DCF00506DCF00506DCF00506D + CF00506DCF0032468C00000000004C66C0008195D8004462C700445DB0000000 + 000000000000000000000000000000000000000000004963B600B6BCD100CBCF + DB00C6CAD800C6CAD800C6CAD800C6CAD800C6CAD800C4C9D8006780D1003256 + CD00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234ACB00234A + CB002148CB003357CF004963B600000000000000000000000000000000005E77 + CD0092A4E00094A8EC009EB1F300A1B4F3009CAEED0098AAE8008EA0DC00899A + D5008596CF007C8CC3007787BC007282B6007182BB007A8CC9008697D3005E77 + CD000000000000000000000000000000000000000000496CE1001945D800214B + D800264FD800254ED700234CD500214AD3001F48D1001E47D1001B44CE001A43 + CD001841CC00163FCA00143DC800133DC800103AC5000F39C4000E38C3000A34 + C0000933BF000630BD00364A9000000000000000000000000000384E99004F6F + DA000432CB000432CB000432CB000432CB000432CB000432CB000432CB000432 + CB000432CB00384E9900000000005069C4003D5DC9003156D300466AE2000000 + 000000000000000000000000000000000000000000003D54A200D6D9E200CED2 + DF00CED2DF00CED2DF00CED2DF00CED2DF00CED2DF00CED2DF00A7B3DB007088 + D7003D60D3002E53D2002E53D2002E53D2002E53D2002E53D2002E53D2002E53 + D2002C52D2003257D3003D54A20000000000000000000000000000000000435B + AC006F89DF007892E8008FA6F10096ABF1008AA0EA007E95E200657ED0005972 + C6004E68BC003751A5002B4498001F388C001C3792002D4AAC00506BC800435B + AC0000000000000000000000000000000000000000004E72EA002B56E5003961 + E6003D64E5003B62E3003A61E300375EE100365DE000355CDF003259DD003057 + DC002F56DB002C54D9002B53D8002A52D700274FD500264ED400244CD3002149 + D1001E47D0001640CD003A519B00000000000000000000000000455EB5004F74 + EF0098ABEA005474DD005474DD00445EB400445EB4005474DD005474DD00435D + B100053AE900455EB50000000000516CC9008B9EDE00536FCE004B65BC000000 + 000000000000000000000000000000000000000000004158A600DFE2EB00D8DC + E900DADEEA00DADEEA00DADEEA00DADEEA00DADEEA00DADEEA00DADEEA00D8DD + EA00B6C1E7005373DF004569DF004569DF004569DF004569DF004569DF004569 + DF004468DF003A5FDC004158A600000000000000000000000000000000004A63 + BA00708AE000859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004361C4004A63 + BA0000000000000000000000000000000000000000005176EE00335DEB00436A + EB00486DEB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002C53 + D8002850D7001E48D4003E54A0000000000000000000000000004761B8005176 + F1009AADEC005575DE005575DE00455FB400455FB4005575DE005575DE00455F + B300073CEB004761B80000000000526DC9004D6BCE004366D9005577E8000000 + 00000000000000000000000000000000000000000000435BAB00E3E6EF00DCE0 + ED00E0E4EF00E0E4EF00E0E4EF00E0E4EF00E0E4EF00E0E4EF00E0E4EF00E0E4 + EF00DDE1EF008CA1E8005F7EE4005173E3005173E3005173E3005173E3005173 + E3004F71E3004267E000435BAB00000000000000000000000000000000004C66 + BD00718BDF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004461C4004C66 + BD0000000000000000000000000000000000000000005378F1003B64EF004D72 + F0005277EF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00385E + DF003259DD00264FDA004157A6000000000000000000000000004A63BA00567A + F200A0B1EC00A0B1EC00A0B1EC00A0B1EC00A0B1EC00A0B1EC00A0B1EC0094A2 + D2001546EC004A63BA00000000004D67BE0099AEF6007995F4005971C3000000 + 00000000000000000000000000000000000000000000475EB400E6E9F200E2E6 + F200E5E8F300E5E8F300E5E8F300E5E8F300E5E8F300E5E8F300E5E8F300E5E8 + F300E5E8F300C3CDF00095A9EC006A87E9005C7CE8005C7CE8005C7CE8005C7C + E800597AE8005375E700475EB400000000000000000000000000000000004D67 + BE00718BDF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004260C5004D67 + BE000000000000000000000000000000000000000000587CF2004A70F0006283 + F2006989F3006888F3006787F3006485F3006384F3006183F2005F81F2005D80 + F2005C7FF200597CF100587BF100567AF0005478EF005276EE005074EC004E73 + EB00486DEA00365FE700465FB3000000000000000000000000004E67BE006283 + F2009FABD3006174B5006174B5006174B5006174B5006174B5006174B5005F73 + B500325EEF004E67BE0000000000556FCC005B76CE005573D9006382EA000000 + 000000000000000000000000000000000000000000007790E100A7B3DC00EBEE + F900EDF0FA00EDF0FA00EDF0FA00EDF0FA00EDF0FA00EDF0FA00EDF0FA00EDF0 + FA00EDF0FA00EDF0FA00EBEFFA00D0D9F8007E99F1007390F0007390F0007390 + F0006988EF006E8CF0007790E100000000000000000000000000000000006680 + DA0096A7E4009EB0EB00A6B7F000A8B8F000A4B4EC00A0B0E80096A6DE0093A2 + D9008E9ED4008595CA008191C4007D8DC0007C8CC3008294CE00899BD8006680 + DA0000000000000000000000000000000000000000005A7DF2005176F1006C8B + F3007592F4007491F4007290F400708EF4006E8DF3006D8CF3006A8AF3006989 + F3006787F3006485F3006384F3006283F2005F81F2005E80F2005C7FF100597C + F0005176EF003D65EC004962B8000000000000000000000000005069C1006787 + F300B2C0ED008399E2008399E2006B7CB7006B7CB7008399E2008399E2006779 + B4004068F0005069C10000000000506AC100A5B8F70088A2F6005F76C6000000 + 00000000000000000000000000000000000000000000BFCDF6006C81CA00F1F4 + FD00F1F4FD00F1F4FD00F1F4FD00F1F4FD00F1F4FD00F1F4FD00F1F4FD00F1F4 + FD00F1F4FD00F1F4FD00F1F4FD00EFF2FD00AFBFF8008AA3F500819BF5007E99 + F500718FF4007E98F100CED8F70000000000000000000000000000000000D3DB + F900516AC100516AC100516AC100516AC100516AC100516AC100516AC100516A + C100516AC100516AC100516AC100516AC100516AC100516AC100516AC100D3DB + F90000000000000000000000000000000000000000005D80F200587CF2007693 + F400809BF500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006485 + F3005B7EF200456CF0004C66BD00000000000000000000000000526CC3006B8A + F300B8C5EE0090A3E40091A4E4007585B9007585B90091A4E40090A3E4006E7E + B5004A70F000526CC300000000005671CD009EADDF007086D000516BC2000000 + 00000000000000000000000000000000000000000000000000005975D100CAD1 + ED00F2F5FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00F3F6 + FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00DAE2FC00B6C6F90095ACF700829C + F500809BF500768DDD0000000000000000000000000000000000000000006882 + DB0094A6E40094A8EC009EB1F300A1B4F3009CAEED0098AAE8008EA0DC008A9B + D6008697D0007C8CC3007787BC007282B6007182BB007A8CCB008899D8006882 + DB0000000000000000000000000000000000000000006183F2006586F30088A2 + F60096ACF7007F92D2007D90D1007C90D2007A8ED1007A8ED100778CD100758A + D000758AD1007288D1007086D0007086D1006E85D0006C83CF006B82D0007B97 + F4006E8DF3005277F1004F69C0000000000000000000000000005670C7006A8A + F3005A7DF2006586F3006B8AF3006F8DF3006F8DF3006D8CF3006586F300597C + F200476EF0005670C70000000000546DC400B1C1F80098AEF700647BCA000000 + 000000000000000000000000000000000000000000000000000000000000607A + D700F4F6FD00F4F7FE00F5F7FE00F5F7FE00F5F7FE00F5F7FE00F5F7FE00F5F7 + FE00F5F7FE00F5F7FE00F5F7FE00F5F7FE00F5F7FE00F4F7FE00E0E6FC009FB2 + F500758AD500607AD7000000000000000000000000000000000000000000546E + C5006A84DE00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004260C500546E + C50000000000000000000000000000000000000000006183F2006A8AF3008FA7 + F600A2B6F800A0B4F7009FB3F7009CB1F7009BB0F70099AFF70097ADF70095AC + F70094ABF60091A8F60090A8F6008EA6F6008CA5F6008AA3F60089A2F600849E + F5007693F400577BF200506AC1000000000000000000000000005871C8006C8A + ED00809AEF00859EF000889FF00089A1F00089A1F00089A1F000849DF0007F99 + EF007A95EE005871C800000000005973CF00A8B5E0007F92D200556EC5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D6DCF200F4F7FE00F5F7FE00F6F8FE00F6F8FE00F6F8FE00F6F8FE00F6F8 + FE00F6F8FE00F6F8FE00F6F8FE00F6F8FE00F6F8FE00F6F8FE00F3F6FE00ACBA + E800546FCA00000000000000000000000000000000000000000000000000556F + C6006D88DF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004562C500556F + C60000000000000000000000000000000000000000006183F2006989F30091A8 + F600ADBEF800ACBDF800AABCF800A7B9F800A6B9F800A5B8F800A2B6F800A1B5 + F7009FB3F7009CB1F7009BB0F7009AAFF70097ADF70096ACF70094ABF6008CA5 + F6007A96F4005A7DF200516BC2000000000000000000000000005B76D2005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005B76D200000000005974CF007C8FD1007A91DC007D97EE000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005C74C900D8DDF200F4F6FD00F6F8FE00F7F9FE00F8FAFE00F8FAFE00F8FA + FE00F8FAFE00F8FAFE00F8FAFE00F8FAFE00F6F8FE00F5F7FE00F4F6FD005B74 + C900BFCDF6000000000000000000000000000000000000000000000000005670 + C7006D88DF00859CEA0097ACF2009AAEF1008DA3EB008198E3006880D1005C75 + C7005069BC003851A5002C45990020398C001E399300324EAE004663C5005670 + C70000000000000000000000000000000000000000006581E0006183F200708E + F400A2B6F800A9BBF800ACBDF800ABBDF800AABCF800AABCF800A8BAF800A6B9 + F800A5B8F800A2B6F800A1B5F700A0B4F7009CB1F70099AFF70093AAF6007B97 + F4006283F2005D80F2005570CB00000000000000000000000000000000000000 + 0000000000000000000000000000B0C0F9009BB0F7005871C8005871C8005871 + C8005871C8005871C8005871C8005871C800B3C3F900A6B9F8005871C8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000627DD900CDD4EF00F4F6FD00F6F8FE00F5F7FE00F5F7 + FE00F5F7FE00F5F7FE00F6F8FE00F5F7FE00CDD4EF007E91D300627DD9000000 + 0000000000000000000000000000000000000000000000000000000000005872 + C9006F89DF007993E70090A6F10098ADF1008CA2EB007F96E200667FD0005A73 + C6004F68BC003751A5002B44980020398C001D3892002F4CAD00556FC9005872 + C90000000000000000000000000000000000000000005C75CB006282EC006686 + F3007995F400829CF500849EF50086A0F500859FF500849EF500839EF500829D + F500829CF500809BF5007F9AF5007E99F5007B97F4007894F4007290F4006586 + F3006183F2006583EC007A92E500000000000000000000000000000000000000 + 0000000000000000000000000000ABBCF400B9C7F600ACBBF000A5B6EF00A5B6 + EF00A5B6EE00A5B6EF00A5B6EF00A7B6EF00BAC9FA00A4B7F8007E97E8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005E79D5007489D100AFBBE500F3F6FD00F3F6 + FD00F3F6FD00F3F6FD00D5DCF200AFBBE5005E79D500AFBFF300000000000000 + 0000000000000000000000000000000000000000000000000000000000006B85 + DE0096A7E5009DAFEB00A6B7F000A9B9F100A5B5ED00A1B1E80098A8E00094A3 + DA00909FD5008696CB008191C5007E8EC1007E8EC5008494CF008A9CDA006B85 + DE0000000000000000000000000000000000000000006983DD006079CB00627E + E0006586F3006888F3006A8AF3006B8AF3006B8AF3006B8AF3006B8AF3006B8A + F3006B8AF3006A8AF3006A8AF3006A8AF3006989F3006888F3006586F3006A88 + EC006380E0005D77CC0000000000000000000000000000000000000000000000 + 00000000000000000000000000005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C900ABBCF400ABBCF4005872C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000CED8F8007C93E5005771C9005871 + C8005871C8005771C9005E79D6007C93E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000DCDCDC00DADADA0098A8DC006075BD00455BA3003B4C8B003A4B + 8900394B88003849850042579C005C71B700C8C8C800D2D2D200DADADA000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000B6C5F1006177C500273773002534 + 6A0025346A0027377300364D96006177C5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000009BAFEC004B61AF007787C000A0ABD400BAC5EA00B5C1 + E700B1BDE500ACB9E20092A0CF006E7EB600465EB000A3B4EC00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000C7C7C700C0C0C000AEBA + E40028345E0028345E0028345E0028345E0028345E0028345E0028345E002834 + 5E0028345E0028345E0028345E0028345E0028345E0028345E0028345E004053 + 9300AEBAE400C0C0C000D6D6D600000000000000000000000000000000000000 + 00000000000000000000000000002D4085003A4A7D0047589300556AB000556A + B000556AB000556AB0004F62A100475893002D4085008195DB00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000465FB40095A1CD00DCE1F100BBC8F100AABAEE00A7B7ED009CAEE90094A7 + E8008CA1E500889DE4007991E0006882DC00C8D3F800CED7F500929EC90096A9 + E800000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000AFBEED004C5D9500364E9D00364E9D00364E9D00364E + 9D00364E9D00A3B2E50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002E42 + 86002445B400042AAA00042AAA00042AAA00042AAA00042AAA00042AAA00042A + AA00042AAA00042AAA00042AAA00042AAA00042AAA00042AAA00042AAA00586F + BA002D3F7F000000000000000000000000000000000000000000000000000000 + 00008297DD00334580005467A7003351B7001134AA002444B1004E68BF004E68 + BF004E68BF004E68BF003C59B9002444B1003351B700506ABE005467A7008297 + DD00000000000000000000000000000000000000000000000000000000008EA2 + E800C5CAE000E9EDFA00D7DEF500C4CEF100BBC7EF00ADBCEC0092A5E500889D + E2007D94DF008096E0008096E0009CAEE900AFBFF400BAC8F600E3E8FA003E51 + 9400859AE1000000000000000000000000000000000000000000000000000000 + 000000000000B9C8F20040529200324FB0000C2FA10003279F0003279F000327 + 9F002947AD00788DD80000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003043 + 8600042CB30003279D0003238F0003238F0003238F0003238F0003238F000323 + 8F0003238F0003238F0003238F0003238F0003238F0003238F0003238F00506C + CA00304386000000000000000000000000000000000000000000000000000000 + 00003A4B8900566DB800415EC100294AB900546FC70093A3DB00E7EBF700E7EB + F700B9BCC600E7EBF700C2CBEA0093A3DB00294AB9001136B100415EC1003A4B + 89005068BB0000000000000000000000000000000000000000009DAFED004860 + B200F2F4F900E2E7F500DBE0F400C4CEEE00B5C1EA00ADBBE9009FAFE50095A7 + E2008C9FE000879BDE007B91DC00ADBDF000BBC9F600D3DCF900D4DCF900B9C1 + DE003D50940096A9E80000000000000000000000000000000000000000000000 + 0000BAC7F300425496004C60A8000C31A9000429A6000429A6000429A6000429 + A600193CAE004C61B00000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003448 + 8F00042FBD00E0E6F700DFE4F600DFE4F600DEE3F600DEE3F600DDE2F600DDE2 + F600DCE2F600DAE0F500DAE0F500DAE0F500D9DFF500D9DFF500D8DEF400506E + D10034488F00000000000000000000000000000000000000000000000000859A + E0005971C1003253C2000D34B6008999CC00CACFDF00E6EAF800E6EAF800E6EA + F800C9CDD900E6EAF800E6EAF800E6EAF8008999CC00415FC5000D34B6005971 + C1003D4F8F00859AE000000000000000000000000000506BC80098A5CF00ECEF + FA00F0F1F600F0F1F400E5E8F100D2D8EC00C4CCE800B8C2E500A2B0DF0099A9 + DD0090A1DA00899BD900B4C2EE00C1CDF500DCE3F900D7DFF900BFCAED00A6B5 + E600C8D1F0008492C2000000000000000000000000000000000000000000BAC9 + F3005066B3003153C3000D34B9000A32B9000A32B9000A32B9000A32B9000A32 + B9000A32B9004E61A200889DE300000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003B52 + 9F000433D000C5D0F400C4CFF400C2CDF300C1CDF300C0CCF300BECAF200BECA + F200BDC9F200BBC8F200BBC8F200B9C6F100B7C5F100B6C4F100DAE1F7005071 + DE003B529F0000000000000000000000000000000000000000003B53A3005A70 + BB000934C5004B6AD300E1E6F800E5EAF800DADFEC00E5EAF800E5EAF800E5EA + F800E5EAF800E5EAF800E5EAF800E3E8F600E5EAF800E5EAF800E1E6F8000934 + C5004162D1005A70BB000000000000000000000000005B71B900DEE3F200DAE0 + F600E6E9F400EAECF000EBECF000D5DAE900CAD0E600C6CDE700C0C9E700B8C2 + E400B2BDE300AAB7E300CED7F600C6D1F500DDE3F900C1CBEC00AAB8E400A9B8 + E8007B91DA0097A7D90099ABEA00000000000000000000000000BCCAF400455A + A500395BCC00163EC400133BC300133BC300133BC300133BC300133BC300133B + C300133BC3004E66B700556DC200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000003F57 + A8000536D900C6D1F600C6D1F600C4D0F600C4D0F600C3CFF600C1CDF500C0CC + F500BFCCF500BECBF500BDCAF500BCC9F500BAC8F500B9C7F500DCE3F9005073 + E5003F57A800000000000000000000000000000000008A9DE4004E61A8005271 + D8002A50D100CDD6F500E5EAF900E5EAF900E5EAF900E5EAF900E5EAF900E5EA + F900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF900E5EAF9002A50 + D100123DCD005271D8008A9DE4000000000000000000AFBADD00D5DDF700CAD3 + F200D7DCEF00E0E4EF00E6E8EC00DDE0E900D9DDEA00C1C9E600627CD0005B75 + CC005771CA008FA1DC00D3DBF700E2E7F900C4CDED00B3BFE600B3BFE7007288 + D300516DCC007E93D8004C64B500000000000000000000000000445CA9006E82 + C7001E46CD001C45CD001C45CD001C45CD00274DCE006B86DE001E46CD001C45 + CD001C45CD00516DCE004A5FA700000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000435B + B0000538E300CAD5F900C9D4F900A4A9BC00A3A8BC00A3A8BC00A2A8BC00C3CF + F800C2CFF800BFCCF700BECBF700BDCBF700BCCAF700BBC9F700DDE4FA004F73 + EB00435BB00000000000000000000000000000000000425AAE005B75CA003359 + D9008497D600D2D7E400E5EAFA00E5EAFA00E5EAFA00E5EAFA00E5EAFA00E5EA + FA00E5EAFA00E5EAFA00E5EAFA00E5EAFA00E5EAFA00E5EAFA00E5EAFA008497 + D6000938D3003359D900425AAE0000000000758BDE00C6D1F500AABAEE00BCC8 + EF00C4CDEB00C8CFE800CFD4E700ADB9E1006880CF00657FD300758CD900738A + D8006F87D6005B76CE004A66C4004C66BF00BCC5E4007A8DCC00697FC9005C76 + CC007189D7005673D5006D7EBA007288D9000000000000000000000000004E67 + BF00708BE700335ADE002D56DE00879DE7006679BE00475FB2006F89E6003159 + DE002D56DE003F64E1005C75CF004B62B9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004861 + B800053AEB00CFD9FB00CED8FB00A6ABBD00A6ABBE00A6ABBE00A4A9BD00A4A9 + BD00A3A9BD00A2A8BD00A2A8BD00A1A7BD00C1CEFA00C0CEFA00DFE6FC005075 + F1004861B800000000000000000000000000000000005871C8004268E7000537 + DF00E5EAFB00DFE4F500E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EA + FB00E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EAFB00E5EA + FB00809AEE000537DF005871C800738BDD00516CC700B1C0F100A7B7ED00ADBC + EC00B8C3E800BBC5E500C9D0E6006880D0006780D4007B91DB006879B2005C6C + A7005B6BA5006E81C500637CCF004965C3008E9DCF008192CC006E83CB006B84 + D5007089DA006A85DD008E9DD4004E67C0000000000000000000000000000000 + 0000788CCD00738EEB006B89EC00596EBA00627BD400000000008093D6005779 + E900365EE6003860E600597AE800576CB8000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004962 + BA00053AEB00D1DBFB00D0DAFB00CFD9FB00CED8FB00CDD8FB00CBD6FB00CAD5 + FB00C9D5FB00C7D3FB00C6D2FA00C6D2FA00C4D1FA00C3D0FA00E1E7FD005075 + F1004962BA00000000000000000000000000000000005C78D8002A56EA000539 + E600E5EBFC00E5EBFC00E5EBFC00E5EBFC00E5EBFC00E5EBFC00E5EBFC00E5EB + FC00E5EBFC00E5EBFC00D5DAE6009C9B9D00E5EBFC00E5EBFC00E5EBFC00E5EB + FC00C2CFF8000539E6005C78D800536ECA00435CB0009BADEC00A2B2EB00A0B0 + E900ABB9E500AFBBE300C5CDE7005E78CE007088D9007E90CE007189D800E0E6 + F900000000005668A2006D81C5005B76CE007085CC0098A7D9007B8FD3007990 + DB00728BDD007B93E200A4B3E4004159A9000000000000000000000000000000 + 00004D67C200798DD1008499DC0090A4EA0000000000000000005A71BF0089A0 + EC004A6FEE003E66ED005276EE006079D3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004A64 + BB000E41EC00D5DEFC00D4DDFC00A8ADBD00A8ADBD00A8ADBD00A7ACBD00A6AC + BD00A6ACBD00A6ABBD00A5AABD00A5AABD00C8D4FB00C7D3FB00E3E9FD005479 + F1004A64BB00000000000000000000000000000000005C7CE9001849EC00053A + EB00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00C5CA + D900B8BDCA00C9CCD6009B989800B8B9BF00E6ECFD00E6ECFD00E6ECFD00E6EC + FD00E8EDFD00053AEB005C7CE9004862BC00445CAF008098E60092A6E800849A + E20094A5DF0099A9DD00B9C3E4005873D000758BD6005E6EA900000000000000 + 000000000000E0E6F9005C6CA7007088D6005873CB00B1BDE3008FA0DA008DA0 + E1007F96E1008CA1E600B2C0EC00445CAF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004F6A + C5008A9EE1004F74F1004F74F1006586F3005873CE0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004C66 + BD002553EE00DDE4FC00DDE4FC00ACB0BE00ACB0BE00ACB0BE00ABB0BD00ABB0 + BE00ABB0BE00A9AEBD00A9AEBD00A9AEBD00D1DBFB00D0DAFB00E7ECFD005E80 + F2004C66BD00000000000000000000000000000000006683E9002C59EE001B4B + ED00CBD0DD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E9EEFD00ADAB + A9009C999700E0E4F100E8EDFD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00CBD0 + DD00BABECB001B4BED006683E9004A63BB00445CAE007690E400899EE5007C93 + DF008A9DDD008FA0DA00B1BDE3005470CE007289D4005D6EA800000000000000 + 000000000000000000005F6EA900738AD8005C76CD00B7C1E40099A9DE0096A8 + E300879CE30095A8E900B7C4ED00455EB1000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000AEBE + F2005E75C4006686F300577BF2005D80F2005A72C200AEBEF200000000000000 + 0000000000000000000000000000000000000000000000000000000000004D67 + BE00305CEE00E1E7FD00E0E6FC00DFE6FC00DEE5FC00DDE4FC00DCE3FC00DBE2 + FC00DAE2FC00D8E0FC00D8E0FC00D7DFFC00D6DFFC00D5DEFC00E9EEFD006485 + F3004D67BE00000000000000000000000000000000006A88EB003761EF002755 + EE00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00CACA + CB00C3C1C000E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E9EE + FD00D8DDEA002755EE006A88EB004B64BC00445CAD006E88E2008198E300718A + DD007F94DA008497D800A8B5E0004F6BCA006B83D4006677B000000000000000 + 000000000000738ADA006B7BB400758CD900627CD000C0C9E700A4B2E1009FAF + E60092A5E6009EB0EB00BBC7EF00465FB3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00006F89DF008DA5F4006686F3006082F2006C85D900546FCB00000000000000 + 0000000000000000000000000000000000000000000000000000000000004E68 + BF003C65EF00E4E9FD00E4E9FD00B0B3BE00B0B3BE00AFB3BE00AFB3BE00AFB3 + BF00AEB2BE00ADB1BE00ADB1BE00ACB0BE00DAE2FC00D9E1FC00EBF0FD006989 + F3004E68BF0000000000000000000000000000000000708BEB00426AF000335E + EF00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEF + FD008D8A8800EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEFFD00EAEF + FD00D4D8E600335EEF00708BEB004C66BF00516BC3007E95E3006580DB006B84 + D8007086D1006B81C9007F91CC005872C6004A66C400637CCE006878B0005F70 + AA006070AB008091CF007B91DB00647ED300C2CAE700C6CDE700B9C3E600AEBC + EA00AEBDED00A8B8EF00A7B4E0005471CC000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000576FC600A0AFE7008BA4F6007D98F5007F95E300536DC6000000 + 000000000000000000000000000000000000000000000000000000000000516A + C1005378F100EAEFFD00EAEFFD00B4B7BE00B3B6BE00B3B6BE00B2B5BE00B2B5 + BE00B2B5BE00B2B5BF00B2B5BF00B0B3BE00E2E8FD00E1E7FD00EFF3FE007491 + F400516AC100000000000000000000000000000000006D85D8007391F4004C72 + F100EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1 + FE0098959300EDF1FE00EDF1FE00EDF1FE00EDF1FE00EDF1FE00E9EDFA00EDF1 + FE007588C8004C72F1006D85D8007990E300748CDB008FA3E500506ED4006C84 + D5006980CB006B81CB0092A2D600B1BDE4004D68C0004A66C4006B83D4007088 + D600748BD8007088D9006780D4006880CF00DADEEB00CBD1E700C5CDE900B7C3 + EC00BDC9F100AABAEF008494CE007790E1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000009FB1EF00637AC800A4B4ED007A96F40086A0F500758AD5000000 + 000000000000000000000000000000000000000000000000000000000000526B + C2005F81F200ECF0FE00ECF0FE00EBF0FD00EBF0FD00EAEFFD00E9EEFD00E8ED + FD00E7ECFD00E6ECFD00E6ECFD00E6EBFD00E5EAFD00E4E9FD00F1F4FE007995 + F400526BC20000000000000000000000000000000000647AC700819CF3005E80 + F200C1C6D400CCCFDA00E2E6F100EEF2FE00EEF2FE00EEF2FE00EEF2FE00EEF2 + FE009E9B9900EEF2FE00EEF2FE00EEF2FE00EEF2FE00EEF2FE00EEF2FE00C1C6 + D4005370D2005E80F2006479C700BFCDF600BDCBF40097A7DD005772CE00617B + CF006B82CF00A3B1E000B1BDE500E3E8F800C5CEEE005D76CA004F6BCA00536F + CD005873D0005E78CF00667FD000ADB9E100DEE1EA00D6DBEA00D2D8ED00C6D0 + F000C4CFF200BDCAF3005D74C100BFCDF6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000092A7EC006A7FCB0092A9F60086A0F5008BA3F100849B + E80000000000000000000000000000000000000000000000000000000000536C + C4006B8AF300EFF3FE00EFF3FE00EEF2FE00EDF1FE00EDF1FE00ECF0FE00EBF0 + FD00EBF0FD00EAEFFD00E9EEFD00E8EDFD00E7ECFD00E7ECFD00F3F6FE007E99 + F500536CC40000000000000000000000000000000000526CC8008399E4007D98 + F5007582AE00D7DAE400EFF3FE00EFF3FE00EFF3FE00EFF3FE00EFF3FE00EFF3 + FE00A8A5A400EFF3FE00EFF3FE00EFF3FE00EFF3FE00EFF3FE00EFF3FE007582 + AE006282EE007E99F500526CC8000000000000000000566AAC009EADDE00A0B0 + E500AEBCE800AAB8E600D2DAF500D5DDF800C3CFF500C4CFF200B1BDE400B1BD + E300BAC4E500C6CEE800C9D0E700D0D5E800E8EAEE00EDEEF200E6E9F200DDE2 + F600D9E0F700DFE4F500AABBF100000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000778BD200ABBBEF009DB2F7008298 + E0005871C900C1CDF6000000000000000000000000000000000000000000556F + C600819BF500F2F5FE00F2F5FE00DADDE500D9DCE400D9DCE400D8DBE400D8DB + E400D8DBE400D7DAE400D7DAE400D6D9E400E0E4F000EDF1FE00F6F8FE0087A1 + F500556FC6000000000000000000000000000000000000000000536EC900889D + E4007F9AF5006377B900D1D5E100F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5 + FE00DCDDE200F2F5FE00F2F5FE00F2F5FE00F2F5FE00F2F5FE00D1D5E1007F9A + F50095ACF7008A9FE2000000000000000000000000004F69BE0093A0CC00C5CF + F000B0BEEA00D0D8F500D6DEF900C1CDF500C0CCF500A2B2E7008FA0DB008FA0 + DA0099A9DD00B0BCE400BCC6E600C8CFE900E2E6F100ECEEF200F2F3F600E4E9 + F700EAEEFB00A1AFDA0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000007C93E500687FCD00ADBCED008DA5 + F600788EDA005874CD0000000000000000000000000000000000000000005670 + C70088A2F600F3F6FE00E9ECF3008E8C8D008986860089868600898686008986 + 860089868600898686008986860089868600BABBC100E5E8F300F7F9FE008BA4 + F6005670C7000000000000000000000000000000000000000000BFCDF6006178 + C9009DB2F700869FF1006878B100DDE0E700C8CAD100ECEFF700F3F6FE00F3F6 + FE00F3F6FE00F3F6FE00F3F6FE00F3F6FE00DADDE400C0C5D6006878B1009DB2 + F7009EAFEE005C74C700000000000000000000000000D1DAF8004C62AA00B4BE + DE00C5D0F400D7DFF900D8DFF900BAC8F500BDCAF4008599DC00899CDD00899C + DD0094A5DF00ADBBE700BAC5EA00C6CFED00D9DEF100E8EBF600F2F3F800F4F6 + FB00CED3E9005972C70000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000093A8ED005C75CC00A5B7 + F5008EA6F400778DD70000000000000000000000000000000000000000005771 + C8008DA5F600F5F7FE00E1E3EA00EEEEEF00FDFDFD00FDFDFD00FDFDFD00FDFD + FD00FDFDFD00FDFDFD00FDFDFD00FDFDFD00A09FA100DFE2EA00F8FAFE008CA5 + F6005771C80000000000000000000000000000000000000000000000000092A7 + EC00A7B8F300A6B9F80094AAF2008A92AF00C9CCD500F4F7FE00F4F7FE00F4F7 + FE00D4D6DD00F4F7FE00F4F7FE00F4F7FE008A92AF007182BB0094AAF200ABBB + F4006279C90092A7EC000000000000000000000000000000000000000000889D + E400CAD0E800DDE3F900B3C3F500BBC9F600879CE3007C93DF00778FDF007C93 + E000869BE300A0B1EA00AEBDED00BECAF100CCD5F400DCE2F800ECF0FB005C74 + C70092A7EC000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000AFBF + F3006B85DE005A74CF005B76D20000000000000000000000000000000000728C + E20093A8F0009BAFF20099ABE900B3B2B400B5B3B200ABA9A700ABA9A700ABA9 + A700ABA9A700ABA9A700ABA9A700B5B3B200919BBB0099ABE9009AAEF200748A + D8006B85DE000000000000000000000000000000000000000000000000000000 + 000092A7EC005F77CA009AABE600B5C5F900AEBEF40096A5D7007985AD007985 + AD007985AD007985AD008694C00096A5D700B6C6F900B3C3F8009AACE70092A7 + EC00000000000000000000000000000000000000000000000000000000000000 + 00004A61AA0094A2D100D0D9F7009CAEED00637FDC00748DE100849AE500899E + E60093A7E900A3B4ED00A8B8EF00AABAEF00D6DEF800E2E7F600A4B1DC009FB1 + F000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005872C9005872C9005872C900A1A1A700EDECED00F4F4F300E8E8E700E8E8 + E700E8E8E700EBEBEA00F4F4F300EDECED006277BF005872C9005872C9006B85 + DE00000000000000000000000000000000000000000000000000000000000000 + 000000000000C1CDF6005872CD00A0B0EB00B9C8F900BECCFA00BBCAFA00BCCA + FA00BCCAFA00BBCAFA00BDCBFA00BFCDFA00A1B2EB007489D3005872CD000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D1DAF800526AC0006175B500AEBCEB009CAEEA008BA0E7006E89E3007690 + E4008199E8009CAFEE00B3C2F300C7D2F600B7C2E6006E83CC005D78D5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000B1B1B1009C999800ABABAA00EDECEC00E4E3 + E300E4E3E300D8D7D600ABABAA00959391000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005874CD007287D1008B9FE100ACBCF400ACBC + F500ADBDF500ACBCF4009DAEEA008C9FE1005874CD0093A7ED00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000BFCCF500778DDF005771CA005068BA005169 + BC00526BBE00546DC1005C77D2007A92E5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000009F9E9D009F9C + 9B009F9C9B000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000DCDCDC00DADADA00C7C7C7007486C4004659970028345F002835 + 5F0028355F0028345F002F3F770046599700C8C8C800D2D2D200DADADA000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000CED7F7003C54A200475B9D00455FB6003754B6001739AA001336 + A9001336A9001739AA002343AF003754B600475B9D00384881003C54A2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000859AE000344991003F51 + 90003F5190003F5190003F5190003F5190003F5190003F5190003F5190003F51 + 90003F5190003F5190003F5190003F5190003F5190003F5190003F5190003F51 + 90003F51900030468E00000000000000000000000000000000005B74C7004455 + 94004F64AD005062A1004057A900000000000000000000000000000000000000 + 00006780CF005369B3004F64AD005062A1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000BAC6F2002D418600445796003352B8001337AE000429A8000429A8000429 + A8000B30AB000429A8000429A8000429A8003352B8004761B70044579600BAC6 + F20000000000000000000000000000000000000000004D64B6002A3B78002A3B + 7800344B960000000000344B96002A3B78002A3B78002A3B78002A3B78002A3B + 78002A3B78002A3B78002A3B78002A3B78002A3B7800344B9600000000002A3B + 78002A3B78002A3B7800000000000000000000000000344A96005C72BF00506E + D300506ED300506ED300506ED300506ED300506ED300506ED300506ED300506E + D300506ED300506ED300506ED300506ED300506ED300506ED300506ED300506E + D300506ED3005C72BF0000000000000000000000000000000000374E9E005671 + CE000B206700435FBF0041569C002A3B75002A3B75002A3B75002A3B75002A3B + 7500364C960010266E000B206700435FBF00D1DAF80000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000032468C004C61A700405DBE00042BAD00042BAD002245B700617ACC00677F + CD006B81CB00617ACC004360C1002245B700042BAD001B3FB600405DBE003246 + 8C00BAC6F200000000000000000000000000000000006E7CAC00ACB6DC00A8B5 + E0002D3F7F00000000002D3F7F00A5B3E100A4B2E000A4B2E000A4B2E000A3B1 + E000A3B1E000A3B1E000A2B0DF00A2B0E000A2B0E0002D3F7F0000000000A1B0 + E000A0AFDF00A5B1DA005067BA000000000000000000364C9700506FD8000431 + C8000431C8000431C8000431C8000431C8000431C8000431C8000431C8000431 + C8000431C8000431C8000431C8000431C8000431C8000431C8000431C8000431 + C8000431C800506FD800000000000000000000000000000000003E58AE00274F + D600021C7100153EC700455DAE000E2D9A000E2D9A000E2D9A000E2D9A000E2D + 9A003A54AE00031E7900021C7100153EC7000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000455C + AE004160C6001037BB00042DB7002F52C4005069BA003D509100859AE100A8B7 + ED00C1CCF200859AE1004B61B1003D5091006981D0002E51C300042DB7004160 + C600495DA200455CAE00000000000000000000000000ACBAE800899DDF00A7B6 + E700546CC10000000000546CC100A5B4E600869ADE00869ADE008499DD008499 + DD008499DD008398DD008398DD008297DD006C7BAF00546CC100000000006B7A + AF00A0B0E5007F94DC0033478D0000000000000000003F57A7005072E4000535 + D9000535D9000535D9000535D9000535D9000430C3000430C2000430C2000430 + C2000430C2000430C2000430C2000430C3000535D9000535D9000535D9000535 + D9000535D9005072E40000000000000000000000000000000000000000006983 + DA00435CB300516CCA0000000000000000000000000000000000000000000000 + 000000000000435CB300435CB3003754B7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000869BE1004255 + 96001C42C300042FBD00042FBD001038C0004161CA004D62A700BCC8F3000000 + 0000000000000000000000000000B4C2F0005264A2006B83D100294EC6001C42 + C3004966C70042559600000000000000000000000000AFBDEC008DA1E300AEBC + EC00000000000000000000000000B0BEEA008A9FE3008A9FE300889DE200889D + E200879CE200879CE300869BE200869BE2005667A60000000000000000005869 + A700AAB8E8008399E200374B95000000000000000000435CAF005074EA000638 + E1000638E1000638E1000638E1000E3EE2003C60D6000533CA000533CA000533 + CA000533CA000533CA000533CA003C60D6000638E1000638E1000638E1000638 + E1000638E1005074EA0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000003F56A6001939A600869BE10000000000000000000000 + 00000000000000000000000000000000000000000000000000003C54A3004F66 + B5000934C300153EC6004162D1000934C300143DC6004363CF00384E9B00BCC8 + F300000000000000000000000000000000005671C4005466A700647ED5000833 + C3003558CE004E66B600000000000000000000000000B2C0F00094A8EA00B0BF + EF005B74CA00000000005B74CA00AFBEEF0090A4E80090A4E8008FA4E8008FA4 + E8008FA4E8008EA3E8008CA1E7008CA1E7007381BA005B74CA00000000007483 + BB00AABAED00899FE7003A509C0000000000000000004760B700567AF0001445 + E9001445E9001445E9001445E9001B4AEA008199E900889EE900889EE900889E + E900889EE900889EE900889EE9008199E9001445E9001445E9001445E9001445 + E9001445E900567AF00000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000007A8FDB002D469B004E66BC0000000000000000000000 + 000000000000000000000000000000000000000000005B74CA005067B2004467 + D9002E54D4006882D700465BA300617DDC00214AD2001842D0004A6AD700556A + B5003D53A40000000000000000000000000000000000B7C5F100465BA3002B52 + D3001742D0004063D8006C83CF000000000000000000BCCAF600A2B4F200A2B4 + F200BBC9F600BCC9F500BAC8F6009FB2F2009FB2F2009FB2F2009EB1F2009DB0 + F2009DB0F2009CB0F2009CB0F2009BAFF100AABBF400B7C6F600B8C6F600A7B8 + F30099ADF10099ADF1004259AD0000000000000000004C65BC006586F300335E + EF00345FEF00345FEF00345FEF00345FEF00345FEF00345FEF00345FEF00345F + EF00345FEF00345FEF00345FEF00345FEF00345FEF00345FEF00345FEF00345F + EF00335EEF006586F300000000000000000000000000465EB3006279C300607C + D900617EDE00617EDE00627EDE00637FDF00637FDF00637FDF00637FDF00637F + DF00627EDE00617EDE00607DDE005F7CDE004F64AB008A9EE500000000000000 + 000000000000000000000000000000000000000000004760B700556EC8003A5F + DB004266DD00657AC4004760B6006B7FC0006480E0002750D8002750D8004E6F + DC00566DB800BDCBF40000000000000000000000000000000000556DC1003F63 + DB001F49D600365CDB004E66BA000000000000000000BFCCF800A8BAF500A8BA + F500A7B9F500A7B9F500A6B8F500A5B7F500A5B7F500A5B7F500A5B7F500A4B6 + F500A4B6F500A3B6F500A2B5F500A2B5F500A1B4F500A1B4F500A0B3F500A0B3 + F5009FB3F5009FB3F500455EB40000000000000000004D67BE006C8BF300446B + F000456CF000456CF000456CF000456CF000456CF000456CF000446BF000446B + F000446BF000446BF000456CF000456CF000456CF000456CF000456CF000456C + F000446BF0006C8BF3000000000000000000000000004057A6006B85DC00355B + DA002F54CE003D62DC00365BD3003E63DB00365AD2003357CF00365AD2003256 + CE003E63DC003055CE003A5FDC002B50CD00647CCB00556FC700000000000000 + 000000000000000000000000000000000000000000004058A8005775D900375D + DD005576E3005D71B7008CA1E6004059AC006D81C4006883E300254FDB002D55 + DD004F70DF004159AC00BECCF5000000000000000000000000008CA1E6005374 + E300254FDB00335ADD00445BA8000000000000000000C3D0FA00B0C0F900AFC0 + F900AFC0F900AEBFF800AEBFF800ADBEF800ADBEF800ADBEF800ACBDF800ABBD + F800ABBDF800ABBDF800AABCF800AABCF800AABCF800A9BBF800A9BBF800A8BA + F800A7B9F800A7B9F8004962BA0000000000000000004F69C0007391F4005378 + F1005479F1005479F1005479F100829CF300819BEF007E98EE007E98EE007D97 + EE007D97EE007E98EE007E98EE00819BEF00718FF4005479F1005479F1005479 + F1005378F1007491F4000000000000000000000000005066B100758FE600476B + E300032597004A6AD700082A9C004B6BD700082A9C0003259700082A9C000325 + 97004B6BD700032597004768D600032597007B93E100485FAE00000000000000 + 00000000000000000000000000000000000000000000455EB2006482E6004167 + E7006180E7005168B600C6D1F50000000000BECCF500465FB6006E8BEB003A62 + E700335CE5005577E8005D75C600465FB6000000000000000000C6D1F5005477 + EA003D64E7003B62E700455EB2000000000000000000CBD6FB00BBCAFA00BBCA + FA004068F0004068F0004068F0004068F0004068F0004068F000B8C7F9004068 + F0004068F0004068F0004068F0004068F0004068F000B5C5F900B5C5F900B4C4 + F900B4C4F900B4C4F9004C65BC000000000000000000536DC400809BF500708E + F4007592F4007A96F40096ACF4002750D900053AEB00053AEB007B97F4007A96 + F4007A96F4007995F4007894F4007894F400667DCB0097ACF4007D98F5007592 + F400708EF400809BF500000000000000000000000000657BC5007F9AF1007490 + F0000328A000607DDD000328A000607DDD000328A0000328A0000328A0000328 + A000607DDD000328A000607DDD000328A0007D98F200758BD8005C76D2000000 + 000000000000000000000000000000000000000000004861B7006885E8004B70 + ED005E7FEE00556CBC00AEBDF2000000000000000000BFCCF5007187D0006E8B + EE004067EB003F66EB005D7EEC00627ACB00BFCCF50000000000AEBDF2005A7C + EE003C64EB00446AEB004861B7000000000000000000CED8FB00C1CEFA00C1CE + FA00496FF000496FF000496FF000496FF000496FF000496FF000BECCFA00BECC + FA00BDCBFA00BCCAFA00BCCAFA00BCCAFA00BCCAFA00BBCAFA00BBCAFA00BAC9 + FA00BAC9FA00B9C8F9004D67BE000000000000000000556EC500839EF5007A96 + F400859FF50099AFF700889ADE000D40EC000D40EC000D40EC00A2B6F800A1B5 + F7007D98F5007C97F4007B97F4007B97F400536FD000889BDE0098AEF700859F + F5007A96F400839EF5000000000000000000000000006C83D3008AA3F500859F + F4000328A4006D87E1000328A4006D87E1000328A4000328A4000328A4000328 + A4006D87E1000328A4006D87E1000328A4007A95F00094A9EF00526AC0000000 + 000000000000000000000000000000000000000000004B65BC006F8BEB005075 + F0006384F2005B73C50090A4EB000000000000000000000000004B65BE00748C + DB007290F300426AEF00466DEF006081F0004B65BE00BFCDF50090A4EB006384 + F200466DEF004D72F0004F68BC000000000000000000D1DBFB00C6D2FA00C6D2 + FA005176F1005176F1005176F1005176F1005176F1005176F100C4D1FA005176 + F1005176F1005176F1005176F1005176F1005176F1005176F1005176F1005176 + F100C0CEFA00BFCDFA004E68BF0000000000000000005770C700819BF5007491 + F4008FA7F6009DAFF0006078CB002553EE002553EE002553EE00B1C1F900B0C0 + F9002553EE002553EE002553EE002553EE002C58E9006078CB009EB0F000839E + F5007592F400839DF300000000000000000000000000748AD6008DA5F60095AC + F7000328A4007891E3000328A4007891E3000328A4000328A4000328A4000328 + A4007891E3000328A4007891E3000328A4006E88E20095ACF7006A80CB000000 + 000000000000000000000000000000000000000000006580D9007087D2006A8A + F3005B7EF2006A87EA00536CC00000000000000000000000000000000000BFCD + F6005069C3007995F4005479F1005479F1006685F000667FD000536CC0006384 + F300587CF2006686F300778FDE000000000000000000D8E0FC00D1DBFB00D1DB + FB006384F3006384F3006384F3006384F3006384F3006384F300CED8FB006384 + F3006384F3006384F3006384F3006384F3006384F3006384F3006384F3006384 + F300CBD6FB00CAD5FB00516BC200000000000000000093A8ED005872CA005872 + C9005872C9005A78DB00567AF200567AF200567AF200567AF200CBD6FB00CAD5 + FB00567AF200567AF200567AF200567AF200567AF200567AF2005A78DB005872 + C9005872C9005872CA000000000000000000000000007A91E200839EF50094AB + F6000328A4007D94E2000328A4007D94E2000328A4000328A4000328A4000328 + A4007D94E2000328A4007D94E2000328A4007991E20090A8F60098ACF0000000 + 000000000000000000000000000000000000000000009FB0EF005B74C5007B96 + F100567AF2006A8AF3006881D400000000000000000000000000000000000000 + 0000BFCDF6007D93DE007E99F5005F81F2006485F3007592F2008197E2006686 + F3006888F3007793F000B7C4F2000000000000000000DBE2FC00D6DFFC00D6DF + FC006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF300D3DCFB00D3DC + FB00D3DCFB00D2DBFB00D2DBFB00D2DBFB00D1DBFB00D1DBFB00D1DBFB00D0DA + FB00D0DAFB00CFD9FB00526CC30000000000000000000000000000000000556E + C500C0CEFA006F8DF3006F8DF3006F8DF3006F8DF3006F8DF300D6DFFC00D5DE + FC006F8DF3006F8DF3006F8DF3006F8DF3006F8DF3006F8DF3006F8DF300C3D0 + FA00556EC50000000000000000000000000000000000829BED007290F400849E + F5003C5BC30095AAF2003454BE008EA4ED00173AAF000328A4000D31A9000328 + A4007D94E2000328A4007D94E2000328A4007891E30088A2F60090A8F60092A7 + EC00000000000000000000000000000000000000000000000000516CC8008196 + DF005D80F2006283F2006C8AEF006681DA000000000000000000000000000000 + 000000000000526BC4007E94DF00849EF5007C97F400809BF5008FA7F6007592 + F4007D98F5007E94DF00000000000000000000000000DEE5FC00DAE2FC00DAE2 + FC007592F4007592F4007592F4007592F4007592F4007592F400D8E0FC007592 + F4007592F4007592F4007592F4007592F4007592F4007592F4007592F4007592 + F400D5DEFC00D4DDFC00546DC400000000000000000000000000000000005770 + C700DCE3FC00DFE6FC00E0E6FC00E1E7FD00E0E6FC00E0E6FC00DFE6FC00DFE6 + FC00DFE6FC00DEE5FC00DEE5FC00DEE5FC00DCE3FC00DCE3FC00D9E1FC00D7DF + F9005770C700000000000000000000000000000000008098E700859FF5008CA5 + F6009AAFF70092A9F60094ABF6008CA5F600859EF1008099EC006E89E100617C + D8009EB3F7003E5DC30095AAF200294AB9007D97EB007D98F5007D98F500617C + D800000000000000000000000000000000000000000000000000000000005D78 + CF00819CF3006787F3006888F300718EEF006C85D6005770C40092A5EC00AEBE + F300C8D2F60092A5EC005671CE005A73C600A7B9F8009AAFF70095ACF7008FA6 + F400788ED6005D78CF00000000000000000000000000E6EBFD00E2E8FD00E2E8 + FD00E2E8FD00E2E8FD00E2E8FD00E1E7FD00E1E7FD00E1E7FD00E1E7FD00E0E6 + FC00E0E6FC00E0E6FC00E0E6FC00DFE6FC00DFE6FC00DFE6FC00DEE5FC00DEE5 + FC00DEE5FC00DBE2FC005770C7000000000000000000000000000000000093A8 + ED005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + CA0093A8ED000000000000000000000000000000000000000000AFBFF300AFBF + F3007C92E5007C92E5007C92E5005E79D5005E79D500566FC700687ECD006A80 + CD006A80CD00768BD9007B91DB007F97E4008098E600809AEF007893EE006077 + CA0093A7ED00000000000000000000000000000000000000000000000000D3DB + F900859AE100859FF5006D8CF3007491F4007A96F4007892EC00647CCC006078 + C8006078C800647CCC006D85D9007F99EC00A3B6F8009DB2F7008EA6F600899E + E200526CC50000000000000000000000000000000000E7ECFB00E5EAFD00E4E9 + FD00E5EAFD00E6EBFD00E5EAFD00E5EAFD00E5EAFD00E5EAFD00E4E9FD00E4E9 + FD00E4E9FD00E3E9FD00E3E9FD00E3E9FD00E3E9FD00E2E8FD00E2E8FD00E1E7 + FD00DFE6FC00DEE5FC005871C800000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000C1CD + F600AFBFF300859BE9007C93E5007C93E5005E79D6005E79D6005770C8004D6A + CC00647EDA000000000000000000000000000000000000000000000000000000 + 00005871C800869AE2008AA3F4007995F4007A96F400819BF500829DF5007F9A + F5007F9AF500859FF50088A2F6008FA7F60099AFF70095ACF70099AEF5005871 + C800BFCDF600000000000000000000000000000000009FAFE100E7ECFB00E8ED + FB00E8EDFB00E8EDFB00E8EDFB00E7ECFB00E7ECFB00E7ECFB00E7ECFB00E7EC + FB00E7ECFB00E6EBFB00E6EBFB00E6EBFB00E6EBFB00E5EAFB00E5EAFB00E5EA + FB00E4EAFB00E3E8FB006B85DE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000006B85DE002C57 + E700647CCD00647CCD005A72CB00000000000000000000000000000000000000 + 000000000000D3DBF9006179D1008A9EE2009AAFF40099AFF70097ADF70097AD + F7009AAFF7009AAFF7009DB2F700A0B4F7008B9FE200687FCC005D78D5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005872 + C9005872C9005872C9005872CA00000000000000000000000000000000000000 + 00000000000000000000000000005772CD00637BCC007A8FD90092A8F00098AD + F0009AAEF10092A8F000879DE6007A8FD9005772CD0092A7ED00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000009FB1F000728BE0005771C8005771 + C8005771C8005771C8005A75D100728BE0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000DBDBDB002E3F79002632 + 5B0026325B0026325B0026325B0026325B0026325B0026325B0026325B002632 + 5B0026325B0026325B002E3E7700C5C5C500C5C5C500C5C5C500C7C7C7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000027366E004F65 + AE004F64AC00485B9B004F64AC004F64AC00485B9B004F64AC004F64AC00485B + 9B004F64AC004F64AC002736680026335C0026335B0026335B0026335B002632 + 5D002E3F7900CBCBCB0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000C4C4C400B9B9B9004558 + 9700253159002531590025315900253159002531590025315900253159002531 + 5900253159002531590025315900253159002531590025315900253159004558 + 9700BDBDBD00DADADA0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000002C3D7A004F69 + BE000328A200032082001D3EAC000328A200032082001D3EAC000328A2000320 + 82001D3EAC004F69BE002C3D7A001D3EAC000328A200032082001D3EAC004F69 + BE002C3D7A0000000000000000000000000000000000A6A4A400E2E2E200E2E2 + E200E2E2E200E2E2E200E2E2E200E2E2E200E2E2E200E2E2E200E2E2E200E2E2 + E200E2E2E200E2E2E200E2E2E200E2E2E200A6A4A400B6B5B500A09E9E000000 + 00000000000000000000000000000000000000000000000000002C3B75004B62 + AC0003279D0003279D0003279D0003279D0003279D0003279D0003279D000327 + 9D0003279D0003279D0003279D0003279D0003279D0003279D0003279D004B62 + AC002C3B75000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000002E407E004F69 + C200042AA900032187001D3FB100052AA900042288001E40B100052AA9000321 + 87001D3FB1004F69C2002E407E001D40B300062CAB00052389001F42B400506A + C4002F41800000000000000000000000000000000000A7A6A500E2E2E200D6D6 + D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6 + D600D6D6D600D6D6D600D6D6D600D6D6D600A7A6A500D8D8D800B7B6B600D5D5 + D5000000000000000000000000000000000000000000000000002B3D7900435E + BB00546393005A6792005A6792000328A300546393005A679200546393000328 + A300546393005A679200546393000328A3005A6792005A67920054639300435E + BB002B3D790000000000000000000000000000000000B1BCE500465792003441 + 6E00333F6800333F6800333F6800333F6800333F6800333F6800333F6800333F + 6800333F6800333F6800333F6800333F6800333F6800333F6800333F6800333F + 680034416E00485C9B0000000000000000000000000000000000304385004760 + B30005248C0006258D000E2C910009278D0009278D000F2D900009278D000827 + 8D000D2B90004760B300304385002346BC000E34B5000B2A91002548BD00516C + C9003144870000000000000000000000000000000000A8A7A600E2E2E200D6D6 + D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6 + D600D6D6D600D6D6D600D6D6D600D6D6D600A8A7A600ECECEC00D8D8D800A1A1 + A000D5D5D50000000000000000000000000000000000000000002D407F00435F + BF008190C2008194D4008194D400092EAC008190C2008194D4008392C300042A + AA007080B8008194D4007080B800092EAC008194D4008194D4008392C300435F + BF002D407F00000000000000000000000000000000002D3F7F0043548D004B60 + A8004A60A9004A60A9004A60A9004A60A9004A60A9004A60A9004A60A900495F + A700465BA000425698004256980042569800465BA000495FA7004A60A9004A60 + A9004B60A80044559000DBE2F80000000000000000000000000035498F00516E + CF001239BE00102F98002D50C600183EBF00133299002F52C600183EBF001231 + 99002B4FC600526FCF0035498F003256CE001F46C8001938A1003357CE005472 + D500384D950000000000000000000000000000000000AEACAB00E6E6E600DCDC + DC00DCDCDC00DCDCDC00DCDCDC00718BE400DCDCDC00DCDCDC00DCDCDC00718B + E400DCDCDC00DCDCDC00DCDCDC00718BE400AEACAB00EFEEEE00ECECEC00CDCD + CD00B6B5B400A3A1A1000000000000000000000000000000000032478A004261 + C800042DB600042DB600042DB600042DB600042DB600042DB600042DB600042D + B6008196DA008196DA008196DA00042DB600042DB600042DB600042DB6004261 + C80032478A00000000000000000000000000000000003E58B5001544DF000537 + E0001229760026387700042AAB00042AAB00042AAB00042AAB00182F7F004142 + 4A0079777700ADACAC00ADACAC00ADACAC007977770041424A00182F7F00042A + AB00042AAB001B3EB4003F519200000000000000000000000000374D94005371 + D4001840C50015359E003256CC001E45C70018379F003558CC001E45C6001736 + 9F003054CC005371D400374D94003A5ED600274ED100203FA8003A5ED6005574 + DB003B519D0000000000000000000000000000000000B3B1B100ECECEC00E4E4 + E400E4E4E400E4E4E400E4E4E400758FE800E4E4E400E4E4E400E4E4E400758F + E800E4E4E400E4E4E400E4E4E400758FE800BCBBBA00B3B1B100B3B1B100B3B1 + B100B3B1B100B3B1B10000000000000000000000000000000000354890004262 + CD0055659D005A699B005A699B00042FBD0055659D005A699B0055659D00042F + BD008196DE008196DE008196DE00042FBD005A699B005A699B0055659D004262 + CD0035489000000000000000000000000000000000003555BE000839DD000537 + E000032187002A3B7500042CB200042CB200042CB200042AAA004D4B4C009493 + 92009492920043414200454344004341420094929200949392004D4B4C004C66 + C0004B67C7001439B70041548F0000000000000000000000000039509A004B66 + C2001838A4001B3BA5002241A7001D3CA4001D3CA4002341A7001D3CA4001C3B + A4001F3EA6004B66C20039509A004064DC002F56DA002645AE004064DC005777 + E1003F56A40000000000000000000000000000000000B8B6B600F1F1F100EBEB + EB007892EB007892EB007892EB007892EB007892EB007892EB007892EB007892 + EB007892EB007892EB007892EB007892EB007B95EE007B95EE007B95EE00F1F1 + F100F1F1F100B8B6B60000000000000000000000000000000000384D96004364 + D3008192CB008197E1008197E1000934C5008192CB008197E1008494CD000934 + C50090A3E5008197E10092A5E5000934C5008197E1008197E1008494CD004364 + D300384D9600000000000000000000000000000000003555BE000537DE000537 + E000032187002C3C7600042DB700042DB700042DB600072AA0008F8E8D008483 + 82004342450024283900202537001E23360041404400848382008F8E8D004760 + B2004F6BCA00143BBC00455794000000000000000000000000003F56A5005676 + E1002951D9002545AF004468DE003259DA002847AF004669DE003259DA002645 + AE003F64DC005676E1003F56A5004F73EB003F66E8003352BA004E72EA00597B + EB00455FB30000000000000000000000000000000000C0BEBD00F9F9F900F6F6 + F600F6F6F600F6F6F600F6F6F6007E98F100F6F6F600F6F6F600F6F6F6007E98 + F100F6F6F600F6F6F600F6F6F6007E98F100F6F6F600F6F6F600F6F6F600F6F6 + F600F9F9F900C0BEBD00000000000000000000000000000000003C54A1004266 + DC000433D0000433D0000433D0000433D0000433D0000433D0000433D0000433 + D0000433D0000433D0000433D0000433D0000433D0000433D0000433D0004266 + DC003C54A100000000000000000000000000000000003555BE000537DE000537 + E000032187002F3F79000E38C6000E38C6000D34B500434757006D6B6B004242 + 4900333540002D2F3C00292C3B00262A3800313648002C303D006D6B6B004347 + 57000D34B5001B43C9004B5FA000000000000000000000000000425AAA005778 + E5003058DF002A4AB300496DE300385FE0002D4CB3004D70E300385EDF002B4A + B200456AE2005778E500425AAA005579F000476DEE003A59BF005478F0005A7D + F1004963BB0000000000000000000000000000000000C2C1C000FBFBFB00F9F9 + F9007F99F2007F99F2007F99F2004E73EF004E73EF004E73EF004E73EF004E73 + EF007F99F2007F99F2007F99F2007F99F2007F99F2007F99F2007F99F200F9F9 + F900FBFBFB00C2C1C000000000000000000000000000000000003F58A8004368 + E1005669A8005B6CA5005B6CA5000535D8005669A8005B6CA5005669A8000535 + D8005669A8005B6CA5005669A8000535D8005B6CA5005B6CA5005669A8004368 + E1003F58A800000000000000000000000000000000003555BE000537DE000537 + E0000321870030417A001B44CE001B44CE00193EBA004E4C4C004D4B4C004243 + 4A00393B42003537400032333F002E313E0025293800222839004D4B4C004E4C + 4C00193EBA00264DD0004E62A400000000000000000000000000445DB100506E + D2002A4AB7002F4FB8003553B9003251B8003251B7003856BA003251B8003150 + B8003150B9004F6DD200445DB1005D80F2005075F100405EC1005B7EF2005C7F + F2004C66BD0000000000000000000000000000000000C5C3C300FDFDFD00FCFC + FC00FCFCFC00FCFCFC00FCFCFC004F74F00099AEF50099AEF50099AEF5004F74 + F000FCFCFC00FCFCFC00FCFCFC00819BF400FCFCFC00FCFCFC00FCFCFC00FCFC + FC00FDFDFD00C5C3C30000000000000000000000000000000000425AAD004469 + E6008295D600819AEE00819AEE000A3ADE008295D600819AEE008598D7000A3A + DE008295D600819AEE008598D7000A3ADE00819AEE00819AEE008598D7004469 + E600425AAD00000000000000000000000000000000003555BE000537DE000537 + E0000321870032427C002951D6002951D6002448C0004F4D4E004F4D4E004545 + 4A006060650072737A0053555D00353741002B2F3D00272B3A004F4D4E005856 + 56002448C0003056D7005166AA000000000000000000000000004A64BB005A7D + F1004169EF003857BF005B7EF1004C71F0003D5BC0005E80F1004C71F0003B59 + BF005478F000597CF1004A64BB006684E8005F81F2004D68C2006482E8005E80 + F2004E68BF0000000000000000000000000000000000C8C7C600FFFFFF00FFFF + FF00829CF500829CF500829CF5005075F1005075F1005075F1005075F1005075 + F100829CF500829CF500829CF500829CF500829CF500829CF500829CF500FFFF + FF00FFFFFF00C8C7C600000000000000000000000000000000004862B9004A70 + F0001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC001C4C + EC001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC001C4CEC004C71 + F0004862B900000000000000000000000000000000003555BE000537DE000537 + E0000321870035457F004368E4004368E4003E60D1004F526000686666004E4C + 4D00959495008C8C8E008283880044444A00373944003A3C4400686666004F52 + 60003D5FD1004469E400586DB6000000000000000000000000004B65BD005C7F + F200466DF0003E5CC1006183F2005176F100425FC1006586F3005176F100405E + C100597CF2005B7EF2004B65BD006D89E9006787F300536DC2006986E8005F81 + F2004F69C10000000000000000000000000000000000CAC8C700FEFEFE00FEFE + FE00FEFEFE00FEFEFE00FEFEFE00829CF500FEFEFE00FEFEFE00FEFEFE00829C + F500FEFEFE00FEFEFE00FEFEFE00829CF500FEFEFE00FEFEFE00FEFEFE00FEFE + FE00FEFEFE00CAC8C700000000000000000000000000000000004A64BB004E73 + F1006777AC006777AC006777AC006777AC006777AC006777AC006777AC006777 + AC006777AC006777AC006777AC006777AC006777AC006777AC006777AC005075 + F1004A64BB00000000000000000000000000000000003555BE000537DE000537 + E00003218700324176005275EB005275EB004D6FDE004F5C8B008F8D8D005452 + 530071707000969496006F6E710049494E003A3B4300514F51008F8D8D004F5C + 8B004D6FDE004E72EA005C72BB000000000000000000000000004C66BD005473 + D9003D5BC100425FC1004965C2004763C1004864C1004C67C3004763C1004561 + C100425FC2005372D9004C66BD00728DE9006F8DF3005871C3006E8AE8006082 + F200516BC20000000000000000000000000000000000C9C7C600FCFCFC00FBFB + FB00FBFBFB00FBFBFB00FBFBFB00809AF300FBFBFB00FBFBFB00FBFBFB00809A + F300FBFBFB00FBFBFB00FBFBFB00809AF300FBFBFB00FBFBFB00FBFBFB00FBFB + FB00FCFCFC00C9C7C600000000000000000000000000000000004B65BC005075 + F10090A4E80099AFF70090A4E80090A4E80099AFF70090A4E80090A4E80099AF + F70090A4E80090A4E80099AFF70090A4E80090A4E80099AFF70090A4E8005479 + F1004B65BC0000000000000000000000000000000000465EB2001743D5001844 + D60019307D0039497A00809AF300657AC2006D84D1005D77D100908E8E007F7D + 7D00575555004F4D4D004D4B4D0047474A00545254007F7D7D00908E8E003E52 + 94004158A5004059AC005F75C1000000000000000000000000004E68BF005F81 + F200567AF2004C67C200718FF4006586F300516BC2007693F4006586F3004F69 + C2006888F3005D80F2004E68BF00829DF5007C97F4005D75C3007491F4005F81 + F200536DC40000000000000000000000000000000000BDBBBA00E8E8E800DEDE + DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE + DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE + DE00E8E8E800BDBBBA00000000000000000000000000000000004D67BE00587C + F2004C72F1004C72F1004C72F1004C72F1004C72F1004C72F1004C72F1004C72 + F1004C72F1004C72F1004C72F1004C72F1004C72F1004C72F1004C72F1005E80 + F2004D67BE00000000000000000000000000000000005E79D0006B86E2006179 + CA005669AB005669AB007B97F4006279C4006B84D6007B97F4006879B2005959 + 5F00757373008F8E8D008F8E8D008F8E8D007573730059595F006879B2005669 + AB004D62AA004B62AE00617AD3000000000000000000000000004F69C0006082 + F2005B7EF2004F6AC2007794F4006B8AF300566FC3007C97F4006B8AF300536D + C2006D8CF3005E80F2004F69C00086A0F5007995F400566FC3006989F3005C7F + F200556FC60000000000000000000000000000000000AEADAC00D2D2D200D2D2 + D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2 + D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2D200D2D2 + D200D2D2D200AEADAC00000000000000000000000000000000004D67BF005B7E + F2004D5B8B005563930055639300556393005563930055639300556393005563 + 9300556393005563930055639300556393005563930055639300556599006283 + F2004D67BF0000000000000000000000000000000000627ACE007592F4003E4E + 8000343D5D006071AB0089A2F60089A2F60089A2F60089A2F600829AEA007A8E + D5006A7191005A585800646262005A5858006A7191007A8ED500829AEA00829C + F5006D8CF3006F8CF1008EA3E900000000000000000000000000506AC1005775 + DA004D68C200546EC2005B73C4005A72C3005B73C3006077C4005B73C3005871 + C300526CC3005674DA00506AC1009CB1F70096ACF7007A91DC00819BEF006483 + EB005670C700000000000000000000000000000000005263A1005F6FA8005F6F + A8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6F + A8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6FA8005F6F + A8005F6FA8005263A100000000000000000000000000000000004E68C0005F81 + F2002C3B6C003242790032427900324279003242790032427900324279003242 + 7900324279003242790032427900324279003242790039497E005B6894006787 + F3004E68C000000000000000000000000000000000005C75CC00728ADD00404F + 8100404C72006575AC0091A8F60092A9F60092A9F60093AAF60097ADF70099AE + F30095A9EB008C9EDD008C9EDD008C9EDD0095A9EB0098ADF30094ABF600819B + F5007390F2006983D80000000000000000000000000000000000526CC3006283 + F2006989F3005D75C300859FF5007E99F500657BC3008DA5F6007F9AF5006279 + C4007A96F4006082F200526CC300375EE5003159E4002551E3005771C8000000 + 00000000000000000000000000000000000000000000556CBD005A79DF000536 + D900042EBB00042BAE00042EBB000536D9000536D9000536D9000536D9000536 + D9000536D9000536D9000536D9000536D900042EBB00042BAE00042EBB000536 + D9005A79DF00556CBD0000000000000000000000000000000000506AC1006686 + F30038446D003E4C7A003E4C7A003E4C7A003E4C7A003E4C7A003E4C7A003E4C + 7A007982A2005C688F00737D9E004A5782003E4C7A003E4C7A00646F9400708E + F400506AC1000000000000000000000000000000000000000000000000008DA2 + E800536DC400536DC4004E66B8004B62B0004E66B800536DC400546DC0005870 + BF007D8DC6008D9BC7008E9BC7008D9BC7007789C5004F69BE00556EC100637A + CE008DA2E8000000000000000000000000000000000000000000536DC4006283 + F2006C8BF3006077C3008AA3F600839EF5006B80C40092A9F600849EF500657B + C3007C97F4006183F200536DC4005771C8005771C8005771C8005A76D2000000 + 00000000000000000000000000000000000000000000566FC6006A89F200053A + EA005574DB006886EB005574DB00053AEA00053AEA00053AEA00053AEA00053A + EA00053AEA00053AEA00053AEA00053AEA004D6CD3006482E7004D6CD300053A + EA006A89F200566FC60000000000000000000000000000000000516BC2006A8A + F3003D486E0044517A0044517A0044517A0044517A0044517A0044517A004451 + 7A009097B0007881A000848CA8007881A00044517A0044517A00687294007491 + F400516BC2000000000000000000000000000000000000000000000000000000 + 000000000000DAE1F900637BCE00556FC600637BCE00DAE1F9006C84D800607B + D9007D98F500AABCF800ADBEF800AABCF8007491F4005775D9006C84D8000000 + 0000000000000000000000000000000000000000000000000000546EC5005876 + DA00566FC3006379C4006C81C5006E82C4007083C5007587C6006E82C400687D + C4005B73C4005775DA00546EC500000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005771C8007794F4001C4C + ED0090A7F4007995F40090A7F4001E4EED001E4EED001E4EED001E4EED001E4E + ED001E4EED001E4EED001E4EED001E4EED0090A7F4007995F40090A7F4001C4C + ED007794F4005771C80000000000000000000000000000000000526CC3006D8C + F300434D6E00485378004A557B004A557B004A557B004A557B004A557B004A55 + 7B004A557B004A557B004A557B004A557B004A557B004A557B006F7896007995 + F400526CC3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000A8B8F0005570 + CB00466BE300CFD8F800CFD8F800CFD8F8004165E300546ECA00A8B8F0000000 + 00000000000000000000000000000000000000000000000000005670C7005D80 + F200587CF2005972C3008EA6F60093AAF600798AC500A3B6F80087A1F5005B73 + C3006989F3005B7EF2005670C700000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005872C900889FEB0091A6 + EC0097ABED0098ABED0098ABED0099ACED0099ACED0099ACED0099ACED0099AC + ED0099ACED0099ACED0099ACED0099ACED0099ACED0098ABED0097ABED0091A6 + EC00889FEB005872C900000000000000000000000000000000005670C6007794 + F400AABCF800ADBEF800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800AEBF + F800AEBFF800AEBFF800AEBFF800AEBFF800AEBFF800ADBEF800A9BBF800829C + F500546EC5000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005771C8006583 + EB00809AEE007B92DD009BB0F700AEBFF8009FAEDF00B2C2F9009EB3F7007C92 + DD00809AEE006382EB005771C800000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005B76D2005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005B76D200000000000000000000000000000000005A74C7008CA3 + ED009BB0F700A6B9F800A9BBF800AABCF800AABCF800AABCF800AABCF800AABC + F800AABCF800AABCF800AABCF800AABCF800A9BBF800A5B8F80098AEF70092A7 + EF005972C6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005A76D2005771 + C8005771C8002A4DBF00425FC100566FC3005B73C3005A72C3004360C100294C + BF005771C8005771C8005A76D200000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000728BDF007289 + D7009BAFF1009FB2F200A0B3F200A0B3F200A0B3F200A0B3F200A0B3F200A0B3 + F200A0B3F200A0B3F200A0B3F200A0B3F200A0B3F2009EB1F2009AAEF1007389 + D700728BDF000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005A76D2005771C8005771C8005771C8005771C8005771C8005771C8005771 + C8005A76D2000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003044890030448900000000000000000000000000000000000000 + 0000000000003044890000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000263569004F5E9400000000000000000000000000000000000000 + 0000536BBA002635690000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000004D66 + BC007D94DF007B94E7007F97E7008098E7008199E7008199E7008199E7008199 + E7008199E7008199E7008199E7008199E7008098E7007F97E7007C94E5006377 + BB004D66BC000000000000000000000000000000000000000000000000000000 + 00000000000029397200627DD900334992000000000000000000000000003349 + 92005E71B3002939720000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003F58AD003D59B9003857BF003857 + BF003857BF003857BF003857BF003857BF003857BF003857BF003857BF003857 + BF003857BF003857BF003857BF003857BF003857BF003857BF003857BF003857 + BF003857BF003857BF003A5097005169BF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000D2DBF8004E66 + B7006686F3006888F3006F8DF3007592F4007693F4007693F4007693F4007693 + F4007693F4007693F4007693F4007693F4007391F4006F8DF3006888F3007F99 + F0004E66B700D2DBF80000000000000000000000000000000000000000000000 + 0000000000002C3C7700617DDA00445591007389D300000000007389D300495A + 9300526FD2002C3C770000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000283C82000730BA00042EB900042E + B900042EB900042EB900042EB900042EB900042EB900042EB900042EB900042E + B900042EB900042EB900042EB900042EB900042EB900042EB900042EB900042E + B900042EB900042EB9003453B900283C820000000000364C9A002C3E7D002C3E + 7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E + 7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E7D002C3E + 7D002C3E7D002C3E7D0000000000000000000000000000000000AEBDF100556C + BB00617FE30040508500576AAB00819BF500819BF500435180005D70B000829C + F500829CF5005A6CAB005C6FAF00819BF500425080005669AA005469AF007B97 + F400556CBB00AEBDF10000000000000000000000000000000000000000000000 + 0000000000002E3F7C00617DDB005872C70032478800CED7F70033478800647B + CB002447BB002E3F7C0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000027387A00042BAD00042BAD00042B + AD00042BAD00042BAD00042BAD00042BAD00042BAD00042BAD00042BAD00042B + AD00042BAD00042BAD00042BAD00042BAD00042BAD00042BAD00042BAD00042B + AD00042BAD00042BAD001035B10027387A00000000002F4284005872CB004F6B + C8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6B + C8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6BC8004F6B + C8004F6BC8005872CB00000000000000000000000000000000008FA3E900627A + CD004862BC0036488600445BA9006283F2006283F20031417700445BA9006283 + F2006283F200445BA900445BA9006283F20031417700445BA900445BA9007290 + F400627ACD008FA3E90000000000000000000000000000000000000000000000 + 00000000000032458600617EDF00173CBA005472D800435492005D7ADA001238 + B700042BAF003245860000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000002A3C7E00042BB000042BB000042B + B000042BB000042BB000042BB000042BB000042BB000042BB000042BB000042B + B000042BB000042BB000042BB000042BB000042BB000042BB000042BB000042B + B000042BB000042BB000042BB0002A3C7E0000000000354A92005875D600BBC2 + DA00D0D8F400D0D8F400D0D8F400CED6F300CED6F300CED6F300CED6F300CCD5 + F200CDD6F300CED6F300CED6F300D0D8F400D1D9F400D1D9F300D3DAF400D5DC + F400E9EDFA005875D60000000000000000000000000000000000768EE1006079 + CD003955B3002F458F003751A8005075F1005075F100273975003751A8005075 + F1005075F1003751A8003751A8005075F100273975003751A8003751A8006183 + F2006079CD00768EE10000000000000000000000000000000000000000000000 + 00000000000034478B00627FE100042CB4002E53CB005B73C7002E53CB00042C + B400042CB40034478B0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000002C408400042EB900042EB900042E + B900042EB900042EB900042EB900042EB900042EB900042EB900042EB900042E + B900042EB900042EB900042EB900042EB900042EB900042EB900042EB900042E + B900042EB900042EB900042EB9002C40840000000000384E99005876DB00BDC4 + DC00D2DAF500D1D9F500D1D9F500D1D9F500D1D9F500D1D9F500CFD7F400CFD7 + F400CED7F400CED7F400CED7F400CED7F500CED7F500CED7F500CED7F500CED7 + F500E6EBF9005876DB00000000000000000000000000000000007790E100657E + D3002844A200243D8E002C48A7003E67F0003E67F0001E3274002C48A7003E67 + F0003E67F0002C48A7002C48A7003E67F0001E3274002C48A7002C48A7005075 + F100657ED3007790E10000000000000000000000000000000000000000000000 + 000000000000374B8F006280E300042EB9000932BC004164D8000932BC00042E + B900042EB900374B8F0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000002F448C000430C2000430C2000430 + C2000430C2000430C2000430C2000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2000430C2000430C2000430C2000430C2000430 + C2000430C2000430C2000430C2002F448C00000000003C53A0005A79E000C0C7 + DE00D5DDF700D3DBF600D3DBF600D3DBF700D2DAF600D2DAF600D2DAF700D1D9 + F600D2DAF700D1D9F600D0D9F600D0D9F600D0D9F600CFD8F600CFD8F600CFD8 + F600E6EBFA005A79E00000000000000000000000000000000000516AC2005E7A + D8000D257600112D8A00123095001A45D6001A45D6000C216800123095001A45 + D6001A45D60012309500123095001A45D6000C2168001230950012309500335B + E1005E7AD800516AC20000000000000000000000000000000000000000000000 + 0000000000003B509A00617FE5000430C4000430C4000430C4000430C4000430 + C4000430C4003B509A0000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000354B9B000534D4000534D4000534 + D4000534D4000534D4000534D4000534D4000534D4000534D400042AAA00042A + AA00042AAA00042EB9000534D4000534D4000534D4000534D4000534D4000534 + D4000534D4000534D4000534D400354B9B0000000000435CAF006181EC00C2C9 + E000D8E0FA00D8E0FA00D7DFFA00D7DFFA00D7DFFA00D7DFFA00D6DEFA00D6DE + FA00D6DEFA00D6DEFA00D6DEFA00D5DDFA00D5DDFA00D4DDFA00D4DDFA00D4DD + FA00E9EEFC006181EC00000000000000000000000000000000004D66BA005E7A + D80003185F0005207B00062489000833C3000832BD0004195F00062489000833 + C3000832BD0005218000062489000833C30004195F0005218000062489001A43 + CE005E7AD8004D66BA0000000000000000000000000000000000000000000000 + 0000000000003E539E006180E7000432C9000432C9000432C9000432C9000432 + C9000432C9003E539E0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003850A3000537DD000537DD000537 + DD000537DD000537DD000537DD000537DD000537DD000537DD00C5C3C200C3C1 + BF00C0BEBC00042EBC000537DD000537DD000537DD000537DD000537DD000537 + DD000537DD000537DD000537DD003850A300000000004660B6006182F100C5CB + E100DAE1FB00DAE1FB00DAE1FB00D9E1FB00D9E1FB00D9E1FB00D8E0FB00D8E0 + FB00D8E0FB00D7DFFB00D7DFFB00D7DFFB00D6DEFB00D6DEFB00D6DEFB00D6DE + FB00EBF0FD006182F100000000000000000000000000000000004960B2005D7D + EA0002175D000216580002165800042CB300042BAC0002175D0002175D00042C + B300042BAC000216580002175D00042CB30002175D000216580002165800173E + C2005D7DEA004960B20000000000000000000000000000000000000000000000 + 0000000000004056A3006180E9000433CE000433CE000433CE000433CE000433 + CE000433CE004056A30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003B54AA000539E5000537E0000434 + D1000433CE000433CE000433CE000433CE000433CE000433CE00D9D8D700D7D5 + D400D4D2D100042BB0000433CE000433CE000433CE000433CE000433CE000433 + CE000434D3000538E2000539E5003B54AA00000000004962BA006283F200C7CD + E300DEE5FC00DDE4FC00DDE4FC00DCE3FC00DCE3FC00DCE3FC00DBE2FC00DBE2 + FC00DBE2FC00DAE2FC00DAE2FC00DAE2FC00D9E1FC00D9E1FC00D8E0FC00D8E0 + FC00EBF0FD006283F2000000000000000000000000003C4E9300405190000D26 + 7800031F7D00031F7D00031F7D00031F7D00031F7D00031F7D00031F7D00031F + 7D00031F7D00031F7D00031F7D00031F7D00031F7D00031F7D00031F7D00031F + 7D000D2678003C4E8C00879DE200000000000000000000000000000000000000 + 000000000000455DAE006887ED001543DC001543DC001543DC001543DC001543 + DC001543DC00455DAE0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003F59B000193BAD004565CF005D7D + EA006082F2006082F2006082F2006082F2006082F2006082F200D9D7D600D3D1 + D000CDCBCA00516DCD006082F2006082F2006082F2006082F2006082F2006082 + F2005B7BE5003959C2001646E9003F59B000000000004C65BC006B8AF300CCD1 + E300E3E9FD00E2E8FD00E2E8FD00E2E8FD00E1E7FD00E1E7FD00E0E6FC00E0E6 + FC00E0E6FC00DFE6FC00DFE6FC00DFE6FC00DEE5FC00DEE5FC00DEE5FC00DDE4 + FC00EDF1FE006B8AF3000000000000000000000000007A93E4003F64E0004569 + E0004A6DE0004C6EE0004D6FE1004D6FE1004D6FE1004D6FE1004D6FE1004D6F + E1004D6FE1004D6FE1004D6FE1004D6FE1004D6FE1004D6FE1004C6EE000486B + E0004569E0004266DD004C64B700000000000000000000000000000000000000 + 0000000000004760B3006D8BF0001F4CE1001F4CE1001F4CE1001F4CE1001F4C + E1001F4CE1004760B30000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000415AB1005E7CE2005579F100486F + F000466DF000466DF000466DF000466DF000466DF000466DF000F1F0F000EFED + ED00ECEBEA003B5DCC00466DF000466DF000466DF000466DF000466DF000466D + F000486FF000587CF2002247C400415AB100000000004D67BE006B8AF300CED3 + E300E5EAFD00E5EAFD00E5EAFD00E4E9FD00E4E9FD00E4E9FD00E3E9FD00E3E9 + FD00E2E8FD00E2E8FD00E2E8FD00E1E7FD00E1E7FD00E1E7FD00E0E6FC00E0E6 + FC00EFF3FE006B8AF3000000000000000000000000007290F4006A8AF3006888 + F300708EF4007290F4007290F4007391F4007391F4007391F4005771CE00354A + 940032458D007391F4007391F4007391F4007290F4007290F4007290F4006E8D + F3006888F3006A8AF3005771C800000000000000000000000000000000000000 + 0000000000004A63B8006F8DF1002854E7002854E7002854E7002854E7002854 + E7002854E7004A63B8004A63B8004A63B8004A63B8004A63B800516BC7000000 + 000000000000000000000000000000000000425BB200597CF2005277F1005277 + F1005277F1005277F1005277F1005277F1005277F1005277F1004766CD004766 + CD004766CD004B6CDA005277F1005277F1005277F1005277F1005277F1005277 + F1005277F1005277F1004D68C400425BB200000000004E68BF006B8AF300CFD4 + E300E7ECFD00E6ECFD00E6ECFD00E6ECFD00E6EBFD00E6EBFD00E5EAFD00E5EA + FD00E5EAFD00E4E9FD00E4E9FD00E4E9FD00E3E9FD00E3E9FD00E3E9FD00E2E8 + FD00F0F3FE006B8AF3000000000000000000000000005872CA005872C9005872 + C9005872C9005872C9005872C9005872C9005872C9005872C9003C53A3005072 + E2000535D7005872C9005872C9005872C9005872C9005872C9005872C9005872 + C9005872C9005872C90093A8ED00000000000000000000000000000000000000 + 0000000000004F69C0007894F4003D66EF003D66EF003D66EF003D66EF003D66 + EF003C65EF004F69C0003656C2005579F1005378F1007592F4004F69C0000000 + 000000000000000000000000000000000000445DB5006C8BF3006C8BF3006C8B + F3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8B + F3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8BF3006C8B + F3006C8BF3006C8BF3007491F400445DB50000000000516BC2006D8CF300D3D7 + E400EBF0FD00EAEFFD00EAEFFD00EAEFFD00E9EEFD00E9EEFD00E9EEFD00E9EE + FD00E8EDFD00E8EDFD00E8EDFD00E8EDFD00E7ECFD00E7ECFD00E7ECFD00E6EC + FD00F2F5FE006D8CF30000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000425AAF004F73 + EB000538E3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000506AC1007C97F400476EF000476EF000476EF000476EF000476E + F000466DF000506AC1003555C2005176F1005075F1007290F400506AC1000000 + 000000000000000000000000000000000000455EB6007A96F4007A96F4007A96 + F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96 + F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96F4007A96 + F4007A96F4007A96F4007A96F400455EB60000000000526CC3007491F400D6D9 + E400EDF1FE00EDF1FE00EDF1FE00ECF0FE00ECF0FE00EBF0FD00EBF0FD00EBF0 + FD00EAEFFD00EAEFFD00EAEFFD00E9EEFD00E9EEFD00E9EEFD00E9EEFD00E8ED + FD00F4F7FE007491F40000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004760B8005075 + F100053AEB000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000516BC200819BF5005075F1005075F1005075F1005075F1005075 + F1005075F100516BC2002A4DBF004169F0004068F0006B8AF300516BC2000000 + 0000000000000000000000000000000000004660B70086A0F50086A0F50086A0 + F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0 + F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0F50086A0 + F50086A0F50086A0F50086A0F5004660B70000000000546DC4007491F400D8DB + E400F0F3FE00EFF3FE00EFF3FE00EFF3FE00EEF2FE00EEF2FE00EDF1FE00EDF1 + FE00EDF1FE00ECF0FE00ECF0FE00ECF0FE00EBF0FD00EBF0FD00EBF0FD00EAEF + FD00F4F7FE007491F40000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004C65BD005075 + F100053AEB000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000536DC40088A2F6006485F3006485F3006485F3006485F3006485 + F3006384F300536DC4000F35B6001546EC001546EC00577BF200536DC4000000 + 0000000000000000000000000000000000005570CD00A3B6F500A0B4F700A0B4 + F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4 + F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4F700A0B4 + F700A0B4F700A0B4F7008798D6005570CD00000000005770C7007B97F4001B46 + D500254ED600274FD600274FD6002850D6002850D6002850D6002850D6002850 + D6002850D6002850D6002850D6002850D6002850D600274FD600274FD600214A + D5001B46D5007B97F40000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004E68BF005075 + F100053AEB000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000546DC4008BA4F6006F8DF3006F8DF3006F8DF3006F8DF3006F8D + F3006E8DF300546DC400042BB0000538E5000538E5005075EF00546DC4000000 + 000000000000000000000000000000000000000000004963BA004963BA004963 + BA004963BA004963BA004963BA003D5BC300042EBC003B57B9004963BA004963 + BA004963BA004963BA003B57B900042EBC004963BA004963BA004963BA004963 + BA004963BA004963BA005670CE0000000000000000005871C800829CF5003E67 + F0005176F1005579F100577BF200597CF200597CF200597CF200597CF200597C + F200597CF200597CF200597CF200597CF200587CF200577BF2005579F1004A70 + F0003E67F000829CF50000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000516AC1005075 + F100053AEB000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000556EC6008FA7F6007995F4007995F4007995F4007995F4007995 + F4007995F400556EC600042AA9000434D3000434D3005073E900556EC6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004A64BB000430C4004760B300000000000000 + 000000000000000000004760B3000430C4000000000000000000000000000000 + 000000000000000000000000000000000000000000005872C90089A1F00093A9 + F2009DB0F2009FB2F400A0B3F400A1B4F400A1B4F400A1B4F400A1B4F400A1B4 + F400A1B4F400A1B4F400A1B4F400A1B4F400A0B3F400A0B3F4009FB2F40098AD + F20093A9F20089A1F00000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005971C7005075 + F1001345EC000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000005770C8009DB1F3008CA5F6008CA5F6008CA5F6008CA5F6008CA5 + F6008CA5F600697ECB0003269B00042AAA000930B3005D78D6005770C7000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000516ABE002049D4004862BD004D66BD004D66 + BD004D66BD004D66BD004862BD002049D3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005972CB006A86 + E4006A86E4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000647EDA0095A8E80097ADF70096ACF70096ACF70096ACF70096AC + F70096ACF700758AD4001A36940003269B002042B3005E78CF005874CF000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000536CC0006481E4000B39D4000434D3000434 + D3000434D3000434D3000B39D4006D88E3000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000093A8ED005872 + CA005872CA000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000093A8ED007086D2009DB2F70098AEF7009CB1F7009DB2F7009AAF + F70095ACF70096A9EB005E74BF0016349A004D6ACB00657BC5007C93E6000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000006680D9007489D400879FF200829DF500829D + F500829DF500829DF500879FF2007489D4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005872C9005872C9005872C9005872C9005872 + C9005872C9005872C9005872C9005872C900647EDB0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000031458E000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002E3E + 79002A396C0090A1D600C8C8C800B6C3EC00667CC4003D559D0025356A002535 + 6A00243468003C5198006277BD00ABB9E500C3C3C30090A1D6002A396C002E3E + 7900000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000008196DC002F42 + 820056659A002F4282008196DC00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000DADADA00CECECE00C0C0C000C0C0C0009EACDC00273360002631 + 590026315900384987008D9DD300C0C0C000C0C0C000CECECE00D3D3D3000000 + 0000000000000000000000000000000000000000000000000000000000003B51 + 9F0003279F0022377D002F3F79003C56AA002F4CAF001F3FA9000F31A3000F31 + A3000F31A3001F3FA9002F4CAF003C56AA002F3F790022377D0003279F003B51 + 9F00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000859AE000364C98004C5D99005F79CD003D5C + C4002447BD003D5CC4005F79CD00697CBD00364C9800859AE000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000002B3F800030458B0000000000000000000000 + 00000000000000000000000000004055A3007085D00000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000CED7F6002A3D7D0056669F004B5989002A3A + 73002A3A73007381AE005264A4002A3A73000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000005871 + C1001C368C00374986003F57A9001639AD001034AB002344B1003553B7003553 + B7003553B7002344B1001034AB001639AD003F57A900374986001C368C005871 + C100000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000A9B9EE005062A1006E81C300627CD300294EC600294E + C600294EC600294EC600294EC6004161CD006E81C3005062A10039509E000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008196DB002E4187005366A6003F4E84007287D200000000000000 + 0000000000000000000090A3E30039487D003F4E84002E4187008196DB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000004F65B600213783007181B600A3B4EB000000 + 000000000000354B97007281B300213783000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000008297 + DE003C4E8D003C58B6002244B6002849B8005C73C1009EA8C800CCCCCC006C6C + 6C00CCCCCC009EA8C8005D74C200294AB9002244B6003C58B6003C4E8D008297 + DE00000000000000000000000000000000000000000000000000000000000000 + 000000000000627ACE00465A9E006882DB004A6AD6003E61D3003E61D3002E53 + CF002E53CF002E53CF002E53CF003257D0005674D900748CDD006E82C600627A + CE00000000000000000000000000000000000000000000000000000000000000 + 0000364C980047578E005568AB003C58B800576CAF0030428500000000000000 + 0000000000000000000030468D005568AB004B65BB005568AB0047578E000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000002F428600324CA4004F5E9300000000000000 + 000000000000A5B6EC004F5E9300324CA4000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000D0D8F7003C4E + 91002348C300163DBE004B66C100DFDEDE00F5F5F500F8F8F800F9F9F900FAFA + FA00FAFAFA00FBFBFB00F8F8F800E2E2E2004D68C300163DBE002348C3003D50 + 9300D0D8F7000000000000000000000000000000000000000000000000000000 + 00005469B1008BA0E8005E7CE2005A6DB400445AA9004D67C0006F83C8007590 + EA004469E3003A60E1004E67BE00445DB200445AA9005A6DB4007388CF009FB0 + EA005469B100ABBBF00000000000000000000000000000000000000000000000 + 0000A8B7ED00495A96006A81CF00042DB6001C41BD005771C500BAC7F2000000 + 000000000000374B9400576FBE002045BE000E35B8006880CF004D5E9B000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000334689002440A30033468900000000000000 + 00000000000000000000334689001C399F000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000566FC400455C + A900113AC3004765CB00B1B4BB00E2E2E200F5F5F500F6F6F600F7F7F700F8F7 + F700F8F8F800F9F9F900F9F9F900FAFAFA00B7BAC1004967CD00113AC300455C + A900566FC40000000000000000000000000000000000000000004B66BF00435C + B4008F9FDA005878E0005B71BD009DAFED0000000000000000004860B5008299 + E7005B7DEC004E6EDD00455EB40000000000000000009DAFED00516AC600859C + E60092A3DB004761BA004B66BF00000000000000000000000000000000000000 + 000000000000455EB2006B7DB900042FBF00042FBF003C5DCC00465EB2000000 + 0000000000005267AE004161CE00042FBF004363CE007081BD00455EB2000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000465EB100364A8F002B49AB00364A8F00000000000000 + 000000000000364A8F00364A8F001D3CA5000000000000000000000000000000 + 00000000000000000000000000000000000000000000D1DAF7003F539C004463 + CA003156CF00A2AAC700E1E1E100EEEDED00D6D6D600F3F3F300F4F4F400F5F5 + F500F6F5F500F7F6F600F7F7F700F8F7F700E9E9E900A8B1CE003055D0004463 + CA003F539C00D1DAF70000000000000000000000000000000000455FB600A4B4 + E900708CE9006076C4005169BB00000000000000000000000000627CD500798F + DC006A89F2005471D500627CD5000000000000000000000000004E67C5006076 + C400708CE9006E82CB00455FB600000000000000000000000000000000000000 + 000000000000D1DAF70044589E002048CD000431C7000E39CA00485CA000899D + E300A9B9EF005772D1001740CB000431C7007189D70044589E00BDC9F3000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000394D9500394D95003350B300394D9500000000000000 + 0000000000003953AE00394D95001E3EAC000000000000000000000000000000 + 00000000000000000000000000000000000000000000556EC7004B68C700385E + DD009CA5C800E5E4E400E9E8E800EAEAEA00EBEAEA00E1E0E000EEEDED00EBEB + EB00EFEFEF00F1F0F000F1F1F100F2F1F100F3F3F300F1F0F000A5AED100385E + DD004B67C700556EC700000000000000000000000000000000004861B8008CA3 + EF004F74F100607EE0004A63BC00000000000000000000000000AEBDF200657A + C400839EF500586FBF00AEBDF200000000000000000000000000BFCCF5008DA1 + E800839EF500587CF2004861B800000000000000000000000000000000000000 + 0000000000000000000000000000778DD7002C55DE000536D9004D6FE100576D + BA005369B4000D3DDA000536D9002751DE00455DB00000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000003E53A1003E53A1004260C2003E53A100000000000000 + 0000000000004260C2003E53A1002143B8000000000000000000000000000000 + 000000000000000000000000000000000000000000004960B3004C6DDB003A61 + E300C8C9D000E7E6E600E6E6E600E6E5E500E7E6E600E8E7E700BEBEBE00D2D2 + D200D5D4D400EDECEC00EEEDED00EEEEEE00F0EFEF00F1F0F000CFD1D8003960 + E2005473D9004660B700000000000000000000000000000000004962B9008FA4 + EF005E7DE500516ABD0090A4EA00000000000000000000000000D2DBF8006076 + C20087A1F500576FBF00D2DBF800000000000000000000000000000000005970 + C0008CA1EC00849EF5004962B900000000000000000000000000000000000000 + 00000000000000000000000000005C71BD006886EA000E3FE200204EE5005A78 + DE00607BDA000538E2000A3CE3005E7EEA00758CDE0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000004157A7004157A7004A66C9004157A700000000000000 + 0000000000004A66C9004157A7002246BD000000000000000000000000000000 + 00000000000000000000000000000000000000000000455EB2005474E0004369 + E900E0E0E000EFEEEE00EDECEC00EAE9E900E9E8E800E7E6E6007B7979006A68 + 68007F7D7D00E9E8E800EAE9E900EBEAEA00ECECEC00EDECEC00DEDDDD004268 + E8005878E100455EB200000000000000000000000000000000004A63BA0092A8 + F0005971C4007790E2000000000000000000000000000000000000000000546C + BF0091A7F2005068BD0000000000000000000000000000000000000000007790 + E200697EC90091A7F2004A63BA00000000000000000000000000000000000000 + 00000000000000000000000000005570CC00768DD9004068EF00073BEA003560 + EE003A63EE00073BEA003963EE00778EDD000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000445CAD00445CAD00516ED000445CAD00000000000000 + 000000000000516ED000445CAD002449C4000000000000000000000000000000 + 000000000000000000000000000000000000000000004A64BB006E8BEE005A7D + F200E9E9E900F9F8F800F8F8F800F6F6F600F5F5F500F4F4F4009F9E9C009290 + 8E009F9D9B00EDECEC00EBEBEB00EAE9E900E7E6E600E6E5E500D7D6D600587C + F2007490EE004A64BB00000000000000000000000000000000004C65BC007A8D + D000000000000000000000000000000000000000000000000000000000004C65 + BC009AAEF1004C65BC0000000000000000000000000000000000000000000000 + 000000000000526CC9004C65BC0000000000000000005F7FE9006381E9006382 + E9006483E9006483E9006483E9006784EA006A87EA006484EE001A4AED001A4A + ED001A4AED002654EE006484EE006986EA006583E9006483E9006483E9006483 + E9006382E9006381E9004A64BB00000000000000000000000000000000000000 + 000000000000000000004963B9004963B900607CDC004963B900000000000000 + 000000000000607CDC004963B9003458D2000000000000000000000000000000 + 00000000000000000000000000000000000000000000526CC100819BEF006384 + F300DBDDE200FCFCFC00FBFBFB00FAFAFA00F9F9F900F9F8F800E0DFDF005856 + 5500DEDDDD00F3F3F300F2F1F100F1F0F000EEEDED00EDECEC00CCCDD2006183 + F20089A1F100526CC10000000000000000000000000000000000536ECA004F6A + C50000000000000000000000000000000000000000000000000000000000536E + CA009DB0F200536ECA0000000000000000000000000000000000000000000000 + 00000000000000000000536ECA000000000000000000587CF2001949ED001D4D + ED002050ED002150ED002150ED002352ED002352ED002352ED002352ED002352 + ED002352ED002352ED002352ED002352ED002251ED002150ED002150ED001F4F + ED001D4DED001949ED004B65BC00000000000000000000000000000000000000 + 000000000000000000004C66BD004C66BD006782E0004C66BD00000000000000 + 0000000000006782E0004C66BD003C60D7000000000000000000000000000000 + 000000000000000000000000000000000000000000005F79D2008DA1E6006D8C + F300BEC5DE00FAFAFA00FDFDFD00FDFCFC00FCFCFC00FCFBFB00FBFAFA007674 + 7300F9F9F900F8F7F700F7F7F700F6F6F600F4F4F400F0EFEF00B7BDD6006B8A + F30092A5E7005F79D20000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000546ECB006177C5006177 + C5007893ED006177C5006177C5005C73C4000000000000000000000000000000 + 000000000000000000000000000000000000000000005B7EF2001F4FED002453 + EE002957EE002A57EE002B58EE002D5AEE002D5AEE002D5AEE002D5AEE002D5A + EE002D5AEE002D5AEE002D5AEE002D5AEE002C59EE002B58EE002A57EE002755 + EE002453EE001F4FED004C66BD00000000000000000000000000000000000000 + 000000000000000000004D67BE004D67BE006E88E2004D67BE00000000000000 + 0000000000006E88E2004D67BE004365DA000000000000000000000000000000 + 00000000000000000000000000000000000000000000919FD0005C74C500A6B8 + F3009FB3F700C5CADA00EFEFEF00FFFFFF00FFFFFF00FFFEFE00FEFEFE008785 + 8400FEFEFE00FDFDFD00FDFDFD00FCFCFC00ECECEC00C4C9D9009DB2F600A3B5 + F3005D75C5008A97C60000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000556FCC005069C0005069 + C000A9BAF3005069C0005069C0005069C0000000000000000000000000000000 + 000000000000000000000000000000000000000000004E68BF004E68BF004E68 + BF004E68BF004E68BF004E68BF004E68BF005870C300829AEB00426AF000426A + F000426AF0004D72F100849CEE005870C3004E68BF004E68BF004E68BF004E68 + BF004E68BF004E68BF00546FCB00000000000000000000000000000000000000 + 000000000000000000004F69C0004F69C000879EE9004F69C000000000000000 + 000000000000879EE9004F69C0005171DE000000000000000000000000000000 + 000000000000000000000000000000000000000000007F7E7D008390C10092A3 + DD0091A8F600B2C1F300C2C3C700FFFFFF00FFFFFF00FFFFFF00FFFFFF009D9B + 9A00FFFFFF00FEFEFE00FEFEFE00EBEBEB00C0C1C500B1C1F3008DA5F50091A2 + DD00818FBE008785840000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000516A + C100B0C0F600516AC10000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005975D1007B90DA007592F4004D72F1007794 + F4007995F4004D72F1007592F4007D92DD000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000506AC100506AC1009AAEF0005D75C600000000000000 + 0000D3DBF9009AAEF000506AC1005977DF000000000000000000000000000000 + 00000000000000000000000000000000000000000000B2B0AF009A9CA6005E76 + C70096ACF700A3B6F800B8C4EC00E5E5E500FBFBFB00FFFFFF00FFFFFF00D7D6 + D600FFFFFF00FFFFFF00FBFBFB00E5E5E500B7C3EC00A0B4F70092A9F6005E76 + C7009498A100B5B4B30000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000092A7EC00526B + C200A0B3F400526BC20092A7EC00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000006278C800869EF2005F81F2006989F300A1B3 + EE00A3B3ED00567AF2005C7FF200859EF20092A5EC0000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000516BC200516BC200A3B2E7008396D900000000000000 + 0000607BD700A3B2E700516BC200607DE1000000000000000000000000000000 + 00000000000000000000000000000000000000000000BDBCBB00A3A1A0007978 + 77007B90D300BAC8F600A9BBF800C9D5FB00D1D8F200D0D3DE00CECECE006D6D + 6D00CECECE00D0D3DE00D1D8F200C8D4FB00A5B8F800B8C6F6007B90D3007372 + 71009B999800B5B4B30000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000009FB1F000BDCAF6009FAE + E3007287CF00A6B4E400CAD5F800798DD2000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000007A92E4008CA4F4006D8CF3006A8AF30099ABEA00556F + CB00556FCB00859FF5006A8AF3006D8CF3007389D3007A92E400000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000546DC400546DC400718AE0007388CF00C9D3F500C9D3 + F500B2C0EC00718AE000546DC4006E89E4000000000000000000000000000000 + 00000000000000000000000000000000000000000000B4B3B200908E8D007D7B + 7A006C7BAA00758AD200B8C6F200B8C7F900C1CEFA00CED8FB00D5DEFC00D5DE + FC00D5DEFC00CDD8FB00BFCDFA00B6C6F900B6C4F200748AD200707DAE007371 + 700089888700B1B0AF0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000627DD8009AAAE1005973 + CF00D3DBF9005973CF00A4B2E300C0CBF1000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000005971C80086A0F5007592F4007C97F4006B81CC009FB1 + F000AEBEF300A7B9F5007F9AF5007592F40092A7EE005D75C800D3DBF9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000556EC500556EC500000000009FB1F000556EC500556E + C5005D78D50000000000556EC5007892E6000000000000000000000000000000 + 00000000000000000000000000000000000000000000A9A8A600898887006E6C + 6B008C8B8B00919BBC00637BCB00C6D1F700C0CEFA00BECCFA00BAC9FA00BAC9 + FA00B7C7F900BCCAFA00BECCFA00C4D0F700627ACB0097A1C200989796006F6E + 6D00817F7E00ADABAA0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000566FC7007085CF00D3DB + F90000000000D3DBF9007488D100C7D1F6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000006983DD007E92DA007F9AF5007F9AF5009AAFF7005D78D5000000 + 0000000000008DA0DF009CB1F7007F9AF50094ABF6008195DC00627DD9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000566FC600566FC6000000000000000000000000000000 + 00000000000000000000566FC6008AA0EB000000000000000000000000000000 + 00000000000000000000000000000000000000000000B3B3B300A19F9D00CBCA + CA00F2F1F100DEDEDE00B9B9B9007D808B008891B2006B81D3005771C8005771 + C8005771C8006681D8008A93B4007D808B00A8A8A800D1D1D100F2F2F200D6D5 + D500A9A8A6009F9F9F0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000647EDA00B1BEE8005B76 + D200D3DBF9005B76D200AAB8E800A5B5ED000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000647EDA0090A3E4009DB2F70093AAF600AABCF7008497D900000000000000 + 0000000000007C93E5008497D900A9BBF7008BA4F60097ADF70093A6E8000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000647EDA008B9FE2005B76D200AFBFF300000000000000 + 0000000000005B76D2008C9EDF00A2B2E7000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B4B4B400AAA9 + A700E4E4E400D2D1D100BAB9B900A09F9D00A0A09F0000000000000000009896 + 94000000000000000000B4B4B400A09E9D00B1B0B000C9C9C900E1E0E000B1AF + AE00A0A09F000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000009FB2F000D3DCF900B2BF + E9007B8FD400AEBCE700CDD7F800798ED5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00005B76D2008195D900AEBDF100A0B4F700A3B4ED005A74CF00000000000000 + 000000000000000000005A74CF00A1B1EC00ACBDF700A2B2EC00778CD5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000C1CDF600BFCBF200A2B1E600778BD3005872C9005872 + C9005872C900A0AFE300BCC9F2006F84D0000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009F9D9B00A9A7A500A1A09E00C8C8C800000000000000000092918F009896 + 940092918F000000000000000000D5D5D5009F9D9B00A9A7A5009F9D9B00C8C8 + C800000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000758AD300BFCA + EF00D7DFF900C1CBEF00758AD3006B85DE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000007C93E6005C75CC00A5B6EF006F84D0009FB2F000000000000000 + 000000000000000000009FB2F0006F84D0008296DA005872CA00879CE9000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000677ECE00A0B0E400C8D3F600CAD4F500CAD4 + F500CAD4F500A6B5E8006F85D00093A8ED000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000DCDC + DC00DADADA00C9C9C900C7C7C700C7C7C700C0C0C000C0C0C000A4B1DD00333F + 6900303A62004656900000000000000000000000000000000000000000000000 + 00000000000000000000DADADA00C1C1C1002C3C720025315900253159002531 + 590025315900253159002531590025315900C1C1C100C8C8C800DADADA000000 + 0000000000000000000000000000000000000000000000000000798CD2001926 + 54001F2E65002233700024367500243675002436750024367500243675002436 + 7500243675002436750024367500243675002436750024367500243675000000 + 0000000000000000000000000000000000000000003200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 00520000005200000052000000320000001E0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000D5DCF600384C8A00445698002D49 + A7004D67C1006780D300627ACA00000000000000000000000000000000000000 + 00000000000000000000000000000000000027387100425CB10013339E001333 + 9E0013339E0013339E001F3DA300425CB1000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000001A2755002231 + 6A003655BD001C41BA00042CB300042CB300042CB300042CB300042CB300042C + B300042CB300042CB300042CB300042CB300072FB400193EB9003656C200273A + 7D00667DCD00000000000000000000000000031D3D85093C7BFF093C7BFF093C + 7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C + 7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C7BFF093C + 7BFF093C7BFF093C7BFF010D1D3A000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000394D8C0043569800435CB0004E69 + C1006982D500768FE2004962B200000000000000000000000000000000000000 + 000000000000000000000000000000000000293A7500435DB60003279E000327 + 9E0003279E0003279E001334A300435DB6000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000001B2957002333 + 6D003555BF00042DB700042DB700042DB700042DB700042DB700042DB700042D + B700042DB700042DB700042DB700042DB700042DB700042DB7003556C500AAAF + BE00293D80000000000000000000000000000C458BFF1D54ABFF1E54A9FF1E54 + A9FF1E54AAFF1E54AAFF1E54AAFF1E54AAFF1E54AAFF1E54AAFF1E54AAFF1E54 + AAFF1E54ABFF1E54ABFF1E54ABFF1E54ABFF1E54ABFF1E54ABFF1D54ABFF1D54 + ABFF1D54ABFF1C54AEFF0D468CFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000D5DCF60044579900425BAF00324DAA008196 + DB0097AAE900889FED004961B200000000000000000000000000000000000000 + 0000000000000000000000000000000000002C3D7B00435EBB000328A4000328 + A4000328A4000328A4001336AA00435EBB000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000001D2A5A002435 + 70003656C300042EBB00042EBB00042EBB00042EBB00042EBB00042EBB00042E + BB00042EBB00042EBB00042EBB00042EBB00042EBB00042EBB003658C800B6BB + C8002A3E84000000000000000000000000000F4791FF14439DFF14439DFF1544 + 9EFF15449EFF15449EFF15449EFF15449EFF15449EFF15449EFF15449EFF1544 + 9EFF15449EFF15449EFF15449EFF15449EFF15449EFF15449EFF15449EFF1544 + 9EFF15449EFF3E8AD8FF0C458BFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000D5DCF6003E508F0046589A00314CA9005670C4008297DB00AFBF + F3008DA5F400607ACD00D8E0F800000000000000000000000000000000000000 + 000000000000000000000000000000000000314486004361C500042CB100042C + B100042CB100042CB1001439B6004361C5000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000001F2D5F002839 + 77003658C9000430C3000430C3000430C3000430C3000430C3000430C3000430 + C3000430C3000430C3000430C3000430C3000430C3000430C3003559CF00BEC3 + D1002E438D000000000000000000000000000F4792FF15459FFF1546A0FF1546 + A0FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647 + A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647A1FF1647 + A1FF1647A1FF1D55AFFF0C458BFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000003F519100475A9C00435CAF005771C5008297DB00A6B6EB00849E + F2005C76CE004C63AF0000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000033478C004362C900042DB700042D + B700042DB700042DB700143BBC004362C9000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000203063002A3B + 7B00375ACD000633C8000633C8000633C7000633C7000633C7000633C7000633 + C7000633C7000633C7000633C7000633C7000633C8000633C800375BD300C3C8 + D600314691000000000000000000000000000F4892FF1749A3FF184CA6FF194D + A7FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4F + A9FF1A4FA9FF1B4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4F + A9FF1B51ABFF448EDAFF0C458BFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D5DCF700475A9C00425BAF00324DAA008297DB00A8B8EC00A8B9F2005E79 + CF004F65B000D8E0F80000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000364A91004363CF00042FBE00042F + BE00042FBE00042FBE00143CC3004363CF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000213164002B3D + 7E003D5FD1000F3BCD00103CCE00123ECF00123ECF00123ECF00123ECF00123E + CF00123ECF00123ECF00123ECF00123ECF00103CCE000F3BCE003D61D700C6CB + DA00324894000000000000000000000000000F4893FF1A4EA8FF1B51ABFF1C54 + AEFF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57 + B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57B1FF1E57 + B1FF1E57B1FF4C92DCFF0B448AFF000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000000000000D3D3 + D300485584004B63B4004A65C000758CD800ABBBF2008FA6F400607BD100D8E0 + F80000000000000000000000000000000000000000003B519C003B519C003B51 + 9C003B519C003B519C003B519C003B519C003B519C004366D8000432CB000432 + CB000432CB000432CB00143FCE004366D8003B519C003B519C003B519C003B51 + 9C003B519C003B519C003B519C004B63BA00000000000000000025356A002E41 + 8400496BDA00214BD900244ED9002750D9002750D9002750D9006985E5006985 + E5006985E5002750D9002750D9002750D900244ED900204AD800486BDF00CFD4 + E400364D9C00000000000000000000000000104894FF1A4EA8FF1B52ACFF1C55 + AFFF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58 + B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58 + B2FF1E58B2FF1E58B2FF0B448AFF000000000000000000000000000000000000 + 0000A2A2A2007A7978006B6969006A6867006B6969007A797800C5C5C5007371 + 710072737D005366A8007088D7007F96E30089A2F400667FD300526AB5000000 + 000000000000000000000000000000000000000000004F6ED500516FD5005270 + D6005270D6005270D6005270D6005270D6005370D600496CDE000E3CD4000E3C + D4000E3CD4000E3CD400113ED4004A6DDF005270D6005270D6005270D6005270 + D6005270D6005270D600506ED4003E55A300000000000000000027366E003044 + 88004E6FDE002A53DE002E57DF00325ADF00325ADF005878E500112B8400112B + 8400112B8400325ADF00325ADF00325ADF002E57DF002A53DE004F72E400D3D8 + E8003951A000000000000000000000000000104894FF1A4EA8FF1B52ACFF1C55 + AFFF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF1E58 + B2FF1E58B2FF1E58B2FF1E58B2FF1E58B2FF053D82FF053D82FF0D4187FF053D + 82FF053D82FF053D82FF053D82FF03254F9B000000000000000000000000A3A2 + A200AAA9A900DAD9D900EDEDEC00E7E7E700EBEBEB00D8D7D60078767500706E + 6D007D7B7A005567A300637AC4007B95EB00647ED400546CB700D8E0F8000000 + 00000000000000000000000000000000000000000000476BE300244FDD002852 + DE002953DE002953DE002953DE002953DE002A53DE00224DDD001C48DC001C48 + DC001C48DC001C48DC001C48DC00224DDD002953DE002953DE002953DE002953 + DE002953DE002852DE00496DE3004058AA000000000000000000283870003246 + 8C005475E200335BE300385FE3003C62E3003C62E3005268B000607FE8007792 + EC007792EC00607FE8003C62E3003C62E300385FE300325BE3005476E700D6DB + EC003B52A500000000000000000000000000114995FF1A4EA8FF1C53ADFF1D56 + B0FF1F59B3FF1F59B3FF1F59B3FF1F59B3FF1F59B3FF1F59B3FF1F59B3FF1F59 + B3FF1F59B3FF1F59B3FF1F59B3FF1F59B3FF1C54AEFF3D5978FF6C715CFF3458 + 88FF1C54AEFF1C54AEFF1A4FA9FF053D82FF000000008C8B8B00A7A5A500ECEB + EB00BFBDBC00AAA8A700A09E9D009A9897009F9D9C00A8A6A500CFCECD00E6E5 + E500A4A3A200BABABA009C9EAD006C80C200D8E0F80000000000000000000000 + 000000000000000000000000000000000000000000005175ED00325CEA003760 + EA003760EA003760EA003760EA003760EA003760EA003760EA003760EA003760 + EA003760EA003760EA003760EA003760EA003760EA003760EA003760EA003760 + EA003760EA003760EA00577AEE00465FB50000000000000000002B3B7500354A + 9400607FE800446AEA004A6FEB004F73EB004F73EB0042548F0042548F004F73 + EB0042548F0042548F004F73EB004F73EB004A6FEB004369EA006081EE00DFE4 + F5003F58AD00000000000000000000000000114A96FF194FA9FF1C53ADFF1D57 + B1FF1F5AB4FF1F5AB4FF1F5AB4FF1F5AB4FF1F5AB4FF1F5AB4FF1F5AB4FF1F5A + B4FF1F5AB4FF1F5AB4FF1F5AB4FF1F5AB4FF1C54AEFF3F463CFF32372CFF3B45 + 42FF1A4FA9FF1A4FA9FF1A4FA9FF053D82FF00000000A2A1A000EDECEC00D1CF + CF00A09E9D00B1B1B000BEBDBC00C3C2C200C2C2C200B6B5B400AFADAC00CAC8 + C800E6E5E50087858400A19F9D00D5D5D3000000000000000000000000000000 + 000000000000000000000000000000000000000000005579F1003E67EF00446B + EF00446BEF00446BEF00446BEF00446BEF00446BEF00446BEF00446BEF00446B + EF00446BEF00446BEF00446BEF00446BEF00446BEF00446BEF00446BEF00446B + EF00446BEF00446BEF005C7FF2004963BA0000000000000000002D3E7800384D + 97006685EC004C71EF005377EF00597CF000597CF00044569100364B90008BA3 + F400364B900044569100597CF000597CF0005377EF004B70EF006686F100E3E9 + FA00415BB100000000000000000000000000114A97FF1A4FA9FF1D54AEFF1E58 + B2FF205BB5FF205BB5FF205BB5FF205BB5FF205BB5FF205BB5FF205BB5FF205B + B5FF205BB5FF205BB5FF205BB5FF205BB5FF1C54AEFF43586CFFD3D6B6FF3956 + 7BFF1A4FA9FF1A4FA9FF1A4FA9FF053D82FF00000000EDEDED00D7D6D500B4B2 + B100B9B8B700B9B8B700B7B6B500B7B7B600BCBABA00C1C0C000A19F9E00AEAC + AB00CFCECD0088868500C8C8C800000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000597CF2004B71F1005277 + F1005277F1005277F1005277F1005277F1005277F1005277F1005277F1005277 + F1005277F1005277F1005277F1005277F1005277F1005277F1005277F1005277 + F1005277F1005277F1006183F2004A64BB0000000000000000002E407A003A50 + 9A006B89EE005277F1005B7EF2006384F3006384F300394D91003B57B400223C + 90003B57B400394D91006384F3006384F3005B7EF2005277F1006C8BF300E6EC + FD00445DB400000000000000000000000000114B97FF1A50AAFF1D55AFFF1E59 + B3FF205CB6FF205CB6FF205CB6FF205CB6FF205CB6FF205CB6FF205CB6FF205C + B6FF205CB6FF205CB6FF205CB6FF205CB6FF5495DEFF3786D5FF327DCEFF327D + CEFF327DCEFF327DCFFF2D77C4FF032F65C788878700D9D7D700ADABAA00B2B1 + B100C1C0BF00C3C3C200C3C2C200C0C0BF00BFBFBF00BBBABA00BCBCBB00B4B3 + B200A8A6A500DCDBDB0088878700000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000587CF2005479F1006183 + F2006888F3006888F3006888F3006A8AF3006E8DF3006D8CF3006D8CF3006D8C + F3006D8CF3006D8CF3006D8CF3006E8DF3006A8AF3006989F3006888F3006888 + F3006686F3006183F2006082F2004C66BD00000000000000000030417B003C51 + 9C007792EF006283F2006C8BF3007592F4007592F4007592F400294190002941 + 9000294190007592F4007592F4007592F4006B8AF3006183F2007693F400E6EC + FD00465FB700000000000000000000000000124B98FF1A4FA9FF1D55AFFF1F59 + B3FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215C + B6FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215CB6FF215C + B6FF215CB6FF6EA7E8FF0B4489FF0000000085848300D0CECD00A3A1A000C4C3 + C300CECDCD00D0D0D000D1D0CF00CAC9C900C7C6C600C2C2C000B6B4B400BCBC + BC009F9D9C00EBEBEB0085848300000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005A7BE9006987EA006E8A + EA00728EEA00738EEB00738EEB00748EEB007994EB00849EF5007B97F4007B97 + F4007B97F4007B97F4007C97F4008CA5F600748EEB00738EEB00738EEB00728E + EA00718DEA006E8AEA005E7EE9004D67BE00000000000000000031427C003D53 + 9C007C96F0006A8AF3007491F4007E99F5007E99F5007E99F5007E99F5007E99 + F5007E99F5007E99F5007E99F5007E99F5007491F4006888F3007C97F400E6EC + FD004761B800000000000000000000000000124C99FF1A50AAFF1D56B0FF1F59 + B3FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215D + B7FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215DB7FF215D + B7FF215DB7FF70A9EAFF0B4489FF000000008C8A8800CBCAC9009E9D9C00CBCA + CA00D8D7D700DBDBDB00DDDDDD00D7D7D600CFCFCE00C7C6C600B9B7B600B8B8 + B8009A989700E7E7E6008C8A8800000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004E68BF004E68BF004E68 + BF004E68BF004E68BF004E68BF004E68BF004E68BF007391F40087A1F50087A1 + F50087A1F50087A1F5008BA4F600829DF5004E68BF004E68BF004E68BF004E68 + BF004E68BF004E68BF004E68BF00546FCB00000000000000000032437D003E53 + 9E007F99F000708EF4007B97F400849EF500849EF500849EF500849EF500849E + F500849EF500849EF500849EF500849EF5007A96F4006F8DF300819BF500E6EC + FD004862B900000000000000000000000000134C99FF2661B5FF3071C2FF3479 + C9FF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377D + CDFF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377DCDFF377C + CDFF387ECEFF2360B9FF0B448AFF000000008F8D8D00D1D0CF00A4A2A100D2D2 + D100E7E7E700EDEDED00F0F0F000ECEBEB00E4E4E400DADADA004863C0004D68 + C1004D68C2004D68C2004D68C2004D68C2004D68C2004C66C1004964C1000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000506AC1007290F400A2B6F800A3B6 + F800A3B6F800A3B6F8009FB3F700859FF5000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000034447F004056 + A00088A0F1007B97F40086A0F50091A8F60094ABF60095ACF70095ACF70095AC + F70095ACF70095ACF70094ABF60091A8F600849EF5007A96F40089A2F600E6EC + FD004A64BB00000000000000000000000000134C9AFF2D6ABCFF377ACBFF3B81 + CFFF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84 + D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84D2FF3D84 + D2FF3D84D2FF74ABEBFF0B448AFF0000000093929100DCDADA00AFADAD00C5C5 + C400EBEBEB00F0F0F000F6F6F600F2F2F200E8E8E800DFDEDE00607EE4005D7C + E2005E7DE3005E7DE3005E7DE3005E7DE3005E7DE3005D7CE2006B87E5000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000516BC2007693F400B0C0F900B1C1 + F900B1C1F900B1C1F900ABBDF8008AA3F6000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000034457F004156 + A1008DA4F2007F9AF50088A2F60094ABF60097ADF70098AEF7009AAFF7009AAF + F70099AFF70098AEF70097ADF70094ABF60087A1F5007E99F5008DA5F600E6EC + FD004C65BC00000000000000000000000000134D9BFF1E57B1FF6AA0E3FF70A6 + E7FF225FB9FF74ABEBFF74ABEBFF225FB9FF74ABEBFF74ABEBFF225FB9FF74AB + EBFF74ABEBFF225FB9FF74ABEBFF74ABEBFF225FB9FF74ABEBFF74ABEBFF225F + B9FF74ABEBFF74ABEBFF0C458AFF00000000ACACAC00EAE9E900C6C4C400A7A5 + A400EBEBEB00F0F0F000F6F6F600F3F3F300E9E9E900DFDFDF00728DEA0094A9 + ED0096AAEC0096AAEC0096AAEC0096AAEC0096AAEC0093A8ED007B95EB000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000526CC3007A96F400BDCBFA00BDCB + FA00BDCBFA00BDCBFA00B5C5F9008FA7F6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000354681004157 + A2008FA6F100819BF50089A2F60093AAF60096ACF70097ADF70098AEF70098AE + F70098AEF70097ADF70095ACF70093AAF60087A1F5007F9AF5008FA7F600E6EC + FD004D66BD000000000000000000000000001A529AFF7FB5F2FF337ECFFF3481 + D1FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786 + D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786D5FF3786 + D5FF3786D5FF7FB5F2FF0C458BFF0000000000000000BFBEBD00F2F2F200D7D6 + D600A8A7A600CDCCCC00E6E6E600E9E9E900DDDDDD00C3C2C100B3B1B000D1CF + CF00ECEBEB00ADACAC0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000536DC5007C97F400CBD6FB00CDD8 + FB00CDD8FB00CDD8FB00C0CEFA0093AAF6000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000364882004156 + 9D006984E30097ADF7009AAFF7009DB2F7009EB3F7009FB3F7009FB3F7009FB3 + F7009FB3F7009EB3F7009EB3F7009DB2F70099AFF7009CB0F3007B8FD500E6EC + FD004F69C0000000000000000000000000000D468BFF1A4FA9FF1A4FA9FF1A4F + A9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4F + A9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4FA9FF1A4F + A9FF1A4FA9FF0C458BFF010D1C3800000000000000009F9E9D00C7C6C500F2F2 + F200C6C4C400AFADAD00A4A2A1009E9C9C00A3A1A000ADABAA00D7D6D500EDEC + EC00C6C5C4000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000546EC5007995F400C7D3FB00CCD7 + FB00CDD8FB00CAD5FB00B7C7F9008EA6F6000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000004459A7003D4F + 91005366A900506AC100506AC100506AC100506AC100506AC100506AC100506A + C100506AC100506AC100506AC100506AC100506AC100506AC1006E82CB00E6EC + FD005069C000000000000000000000000000031C3B730D468BFF0D468BFF0D46 + 8BFF0D468BFF0D468BFF0D468CFF0D468CFF0D468CFF0D468CFF0D478CFF0D46 + 8CFF0D468CFF0D468CFF0D468CFF0D468CFF0D468CFF0D468CFF0D468CFF0D46 + 8CFF0D468CFF0D468CFF00000000000000000000000000000000A09F9F00C5C3 + C200EAE9E900DCDADA00D1D0CF00CBCAC900D0CECD00D9D7D700F0F0F000C4C3 + C100A09F9F000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000556FC6006F8DF300B2C2F900BECC + FA00C0CEFA00B6C6F900A2B6F800829CF5000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000B9C6F2003B4F + 950097A0C200C9D0E900E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6EC + FD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00E6ECFD00CCD3 + F000506AC3000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000B0AFAF00A19F9F00A9A7A500B0AEAC00A9A7A500A19F9F00000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000005A76D2005771C8005771C8005771 + C8005771C8005771C8005771C8005771C8000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000110000001C0000002E0000002E0000002E0000002E0000002E0000 + 002E0000002E0000002E0000002E0000002E0000002E0000002E0000001C0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000101020000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000005000000090000000C0000 + 000F00000016000000190000001D00000024000000260000002A0000002A0000 + 002A0000002A0000002A0000002A0000002A00000024000000200000001D0000 + 0016000000130000000F00000009000000060000000000000000000000000000 + 00000000000000000000339F70FF339F70FF339F70FF339F70FF339F70FF339F + 70FF339F70FF339F70FF339F70FF339F70FF339F70FF339F70FF000E0B120000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000003B2A9C75FF2A9C75FF2A9C75FF0000003E0000 + 003B000000330000002800000017000000140000000E0000000B000000080000 + 000300000002000000000000000000000000000000060000000D000000120000 + 001800000024A5A5A5E6CECECEFFE7E7E7FFE7E7E7FFE7E7E7FFE7E7E7FFE7E7 + E7FFE7E7E7FFE7E7E7FFE7E7E7FFE7E7E7FFE7E7E7FFE7E7E7FFCCCCCCFF2525 + 254D0000001D000000180000000D000000090000000000000000000000000000 + 0000000000000000000032A072FF12BC8EFF12BC8EFF12BC8EFF12BC8EFF12BC + 8EFF12BC8DFF12BC8EFF12BC8DFF12BC8EFF3CD7A7FF32A172FF000E0B120000 + 0000000000000000000000000000000000000000003200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 00520000005200000052000000320000001E0000000000000000000000000000 + 000000000000040F0B190000000035CD98FF15B081FF38D19BFF0D34276F0000 + 0024000000200000001800000014000000100000000900000006000000040000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000F0F0F17B3B3B3EFCECECEFFE4E4E4FFE4E4E4FFE4E4E4FFE3E3E3FFE3E3 + E3FFE3E3E3FFF2F2F2FFD4DDD9FFE2E2E2FFE1E1E1FFEFEFEFFFCCCCCCFF5B5B + 5B76000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000031A172FF12BD8EFF12BC8EFF12BD8EFF12BC8EFF12BD + 8EFF12BC8EFF12BD8EFF12BD8EFF12BD8EFF3CD7A7FF31A172FF000E0B120000 + 0000000000000000000000000000000000000000001E131313EF121212EF1111 + 11EF111111EF111111EF111111EF111111EF111111EF111111EF111111EF1111 + 11FD111111FD111111EF111111EF111111EF111111EF111111EF121212EF1212 + 12EF131313EF141414EF111111B6000000000000000000000000000000000000 + 00000209060F000000002A9C75FF13B082FF13B082FF17B687FF259771F1030C + 0914000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000033333349C2C2C2FCD5D5D5FFE4E4E4FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3 + F3FFE3E3E3FF5DB591FFBFD7CDFFF3F3F3FFF2F2F2FFEDEDEDFFD5D5D5FF8383 + 83AE000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000030A273FF11C090FF0DCB95FF0CCA94FF0DCB94FF0CCB + 95FF0CCB94FF0CCB95FF0CCA95FF0CCB95FF3CD7A7FF30A273FF000E0B120000 + 000000000000000000000000000000000000000000003B3B3BFF3C3C3CFF3C3C + 3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C + 3CFF3C3C3CFF3C3C3CFF3C3C3CFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D + 3DFF3D3D3DFF3D3D3DFF1B1B1BF6000000000000000000000000000000000000 + 00002A9C75FF32D59FFF14B183FF10CF9EFF10CF9DFF12C191FF31D39DFF23A0 + 78F60D3225520000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00008C8C8CC1CFCFCFFFE8E8E8FF6CC0A0FF38B284FF39B083FF3BB083FF3AAE + 82FF78C0A4FF3EAC80FF3BAC81FF3DAB7FFF3DAA7DFFD1DFD8FFE9E9E9FFACAC + ACE6000000000000000000000000000000000000000000000000000000000000 + 000000000000000000002DA575FF11C291FF0CCD97FF0DCD97FF0CCC96FF0CCC + 96FF0CCC97FF0DCC96FF0DCC96FF0DCC97FF3BD7A7FF2EA574FF000E0B120000 + 000000000000000000000000000000000000000000002A2A2AFF2E2E2EFF3939 + 39FF393939FF393939FF393939FF393939FF393939FF393939FF3A3A3AFF3A3A + 3AFF3A3A3AFF3A3A3AFF3A3A3AFF3A3A3AFF3A3A3AFF3A3A3AFF3A3A3AFF3A3A + 3AFF3B3B3BFF323232FF1F1F1FC6000000000000000000000000000000000223 + 1A2C2BD19CFF14B284FF13B284FF16D2A1FF11D09EFF10D09EFF16B687FF27CB + 99FF259670F00000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00009D9D9DD6D0D0D0FFEFEFEFFF39B285FF39B184FF5DBC98FF64BC9BFF58B8 + 94FFDEE3E1FF3CAB80FF92CAB3FF84C4AAFF3EAA7EFF96C9B3FFEEEEEEFFB9B9 + B9F5020202040000000000000000000000000000000000000000000000000000 + 000000000000000000002CA676FF11C392FF0DCE98FF0DCE98FF0DCD97FF0DCE + 97FF0DCD98FF0DCE98FF0DCD97FF0CCE97FF3BD7A7FF2CA676FF011C14220000 + 00000000000000000000000000000000000000000000323232FE343434FF3C3C + 3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3C3C3CFF3D3D3DFF3D3D + 3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D3DFF3D3D + 3DFF3E3E3EFF383838FF1212127100000000000000000000000001150F1A2AA0 + 75FF15B384FF13B283FF0FCE9BFF80EFD0FF6EE5BFFF0FD19EFF13B788FF24C9 + 96FF1FB78AFC0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000ACACACE8D0D0D0FFF1F1F1FF44B98EFF38B285FF41B288FFCFDFD9FFE6E6 + E6FFE6E6E6FF58B691FFA5D0BEFFB9D7CCFF3BAA7DFFAED1C2FFF0F0F0FFC4C4 + C4FE252525340000000000000000000000000000000000000000000000000000 + 000000000000000000002BA776FF10C492FF0DCE98FF0DCF99FF0DCF99FF0DCE + 98FF0DCF99FF0DCE99FF0DCE99FF0DCF99FF3AD7A6FF2BA877FF000E0B120000 + 00000000000000000000000000000000000000000000272727F04E4E4EFF4040 + 40FF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF404040FF4040 + 40FF404040FF404040FF404040FF404040FF404040FF404040FF404040FF4040 + 40FF424242FF4B4B4BFF0505052200000000000000002AA078FF1BD09DFF1DD2 + 9FFF0FD09EFF16D4A3FF5DE7BFFF40AC89FF33A37EF255DCB3FF0FD29FFF11C0 + 90FF1ACC99FF259871EF02090710000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000CACACAFEDADADAFFF2F2F2FFE0E7E4FF45B98FFF35B486FF8DCDB5FFE8E8 + E8FFE8E8E8FFE6E6E6FF6FC0A1FF3BAE82FFD7E1DCFFE5E5E5FFEEEEEEFFCDCD + CDFF838383B20000000000000000000000000000000000000000000000000000 + 0000000000000000000028AA79FF10C794FF0DD19BFF0DD19BFF0ED19BFF0DD1 + 9BFF0ED19BFF0DD19BFF0ED19BFF0DD19AFF38D7A6FF28AA79FF000E0B120000 + 0000000000000000000000000000000000000000000000000000121212612C2C + 2CE7686868FF616161FF555555FF464646FF464646FF464646FF464646FF4646 + 46FF464646FF464646FF464646FF474747FF494949FF535353FF5E5E5EFF4A4A + 4AFD303030F01313136500000000000000000001010218CF9CFF1CD4A0FF10D3 + A0FF16D5A3FF5CE8C0FF46CFA8E600000000071E162F269F77F147E4B9FF0FD3 + A0FF0FD3A0FF1DB78AFB1B7255B2000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D0D0D0FFE5E5E5FFEFEFEFFF59C09CFF39B88BFF35B587FFE7E9E8FFE6E8 + E7FFE8E8E8FFE8E8E8FFE5E6E6FF80C7ACFFE6E6E6FFE6E6E6FFEBEBEBFFCFCF + CFFF9A9A9ACF0000000000000000000000000000000000000000000000000000 + 0000000000000000000027AC7AFF10C795FF0DD29CFF0ED29CFF0ED29CFF0ED2 + 9CFF0ED29CFF0DD29DFF0DD29DFF0DD29CFF37D6A6FF26AB7AFF000E0B120000 + 0000000000000000000000000000000000000000000000000000000000000202 + 020B2F2F2FE83C3C3CEE525252FD6A6A6AFF4F4F4FFF494949FF4A4A4AFF4A4A + 4AFF4A4A4AFF4A4A4AFF4A4A4AFF515151FF6D6D6DFF585858FF434343F81C1C + 1C850202020B0000000000000000000000002AA379FF1AD5A1FF10D4A1FF0FD4 + A1FF5BEAC1FF4CD7B1EE2CAA7FFF0000000000000000071E162F51DCB3FF44E4 + B8FF0FD3A1FF1DD3A1FF23A178F40C2F234B0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000D2D2D2FFEDEDEDFFEDEDEDFFEAEAEAFFEAEAEAFFDCE6E2FF3EB88CFF81CB + AFFFE5E8E7FF48B78EFF37AF82FF7FC5AAFFE7E7E7FFE6E6E6FFE8E8E8FFCFCF + CFFFA8A8A8E10000000000000000000000000000000000000000000000000000 + 0000000000000000000025AD7BFF11C996FF0ED39DFF0DD39DFF0ED39EFF0DD3 + 9EFF0ED39DFF0DD39EFF0ED39DFF0DD49DFF36D6A6FF25AD7BFF000E0B120000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000202020A0F0F0F481E1E1E8E3A3A3AF4656565FF585858FF4D4D4DFF4D4D + 4DFF4D4D4DFF4D4D4DFF606060FF6A6A6AFF333333E1202020950F0F0F480000 + 00000000000000000000000000000000000006140F1D3BCDA1FD3EE2B6FF56E9 + C0FF2EAF83FF00020103000000000000000000000000000000000820183127A4 + 7AF14DDCB2FF0FD5A1FF15D5A1FF1CB88BF90000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000B0B + 0B10D3D3D3FFF4F4F4FFEBEBEBFFEBEBEBFFEBEBEBFFEBEBEBFF31B686FF35B5 + 87FF94D1BAFF36B385FF3DB388FF2EAE80FFE9E9E9FFE8E8E8FFE8E8E8FFD0D0 + D0FFC6C6C6FC2C2C2C3F00000000000000000000000000000000000000000000 + 0000000000000000000022B17EFF10CB98FF0ED6A0FF0ED69FFF0ED6A0FF0ED6 + A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF33D7A6FF22B07DFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000001010105313131C3545454FF5454 + 54FF545454FF464646F9262626A0010101050000000000000000000000000000 + 00000000000000000000000000000000000000000000259E76E587EBCDFFFFFF + FFFF010504080000000000000000000000000000000000000000000000000821 + 183127A67AF136E0B3FF10D5A2FF13D4A1FF0C2E234800000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002C2C + 2C40D6D6D6FFF5F5F5FFECECECFFEBEBEBFFEBEBEBFFEBEBEBFF7CCCAFFF34B6 + 88FF35B587FF38B587FFCEE2DAFF96D0B8FFE9E9E9FFE9E9E9FFE9E9E9FFD6D6 + D6FFCDCDCDFF5C5C5C80000000000000000020B27FFF21B27FFF21B27FFF21B2 + 7FFF20B27FFF21B27FFF21B27FFF10CC99FF0ED7A2FF0ED7A1FF0FD7A1FF0ED7 + A1FF0ED8A1FF0ED7A1FF0ED7A1FF0ED7A1FF31D7A6FF21B27FFF20B27FFF21B2 + 7FFF20B27FFF20B27FFF21B27FFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000028282899595959FF5959 + 59FF595959FF444444F41B1B1B75000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000004100C1828A179E528A2 + 7AE3000000000000000000000000000000000000000000000000000000000000 + 00000822193249DCB1FF33E0B2FF0FD6A3FF259C74EC0209060E000000000000 + 0000000000000000000000000000000000000000000000000000000000005B5B + 5B8FD1D1D1FFE4E4E4FFDDDDDDFFDCDCDCFFDCDCDCFFDCDCDCFFD9DBDAFF30AB + 80FF30AA7FFF2AA77BFFDADBDAFFDBDBDBFFDADADAFFD9D9D9FFD9D9D9FFD1D1 + D1FFC2C2C2FF797979B8000000000000000005291D3842E6B8FF3EDCB0FF3EDC + B0FF3EDCB0FF3EDCB0FF3EDCB0FF11CE9BFF0ED9A3FF0ED8A2FF0ED8A3FF0ED8 + A3FF0ED8A2FF0ED8A2FF0ED8A3FF0FD9A2FF3EDCB0FF3EDCB0FF3EDCB0FF3EDC + B0FF3EDCB0FF38E3B4FF05291D38000000000000000000000000000000000000 + 000000000000000000000000000000000000040404113F3F3FF85D5D5DFF5D5D + 5DFF5D5D5DFF5A5A5AFF3B3B3BEE0303030E0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000008231A3427A77EF146DDB1FF10D6A3FF26A97EF30C2E22450000 + 0000000000000000000000000000000000000000000000000000000000007171 + 71DEA4A4A4FF949494FF929292FF929292FF929292FF929292FF929292FF9191 + 91FF919191FF909090FF909090FF909090FF909090FF909090FF909090FFA3A3 + A3FF8B8B8BFF767676E500000000000000000000000005291D381CB783FF52EB + C0FF0FDAA5FF0EDBA5FF0EDAA4FF0FDBA5FF0EDBA5FF0FDAA5FF0EDBA5FF0FDB + A5FF0FDBA5FF0EDBA5FF0FDBA5FF0FDBA5FF0FDBA4FF0EDBA5FF0EDBA5FF49E9 + BCFF1CB783FF05291D3800000000000000000000000000000000000000000000 + 000000000000000000000000000000000000434343DD5F5F5FFF636363FF6363 + 63FF636363FF636363FF606060FF333333B30000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000009241B3428AA7FF12BDFAFFF14D09EFF27A177EB0000 + 000000000000000000000000000000000000000000000E7C5AAA21B17FFF21B1 + 7FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B1 + 7FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B17FFF21B1 + 7FFF21B17FFF21B17FFF0E7C5AAA00000000000000000000000005291D381AB8 + 84FF0FDCA6FF0FDCA6FF0FDCA6FF0EDCA7FF0EDCA6FF0FDCA6FF0FDCA6FF0FDC + A6FF0EDCA6FF0FDCA6FF0EDDA6FF0FDCA6FF0FDCA6FF0FDCA6FF0FDCA6FF1AB8 + 84FF05291D380000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000020202064E4E4EFC656565FF666666FF6666 + 66FF666666FF666666FF666666FF414141DD0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000009241B3444DDB1FF28DFAFFF1DBC8EF80000 + 0000000000000000000000000000000000000000000021B17FFF1AC995FF1AC9 + 95FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC9 + 95FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC995FF1AC9 + 95FF1AC995FF1AC995FF21B17FFF000000000000000000000000000000000529 + 1D3860F0C7FF0FDDA7FF0EDDA7FF0FDDA7FF0FDDA7FF0EDDA7FF0FDEA7FF0FDD + A7FF0FDDA7FF0EDDA8FF0FDEA7FF0FDDA7FF0FDDA7FF0EDDA8FF5AEEC4FF0529 + 1D38000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000001313132F515151FF686868FF696969FF6969 + 69FF696969FF696969FF696969FF4A4A4AED0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000A261C372AAC7FF140DCB0FF29A4 + 7AEA0208060C0000000000000000000000000000000021B17FFF12C28EFF12C2 + 8EFF13C28DFF13C38EFF12C28EFF12C28EFF12C28DFF13C28EFF12C28EFF12C2 + 8EFF12C38DFF13C28EFF12C38EFF12C38EFF12C38EFF12C28EFF13C28EFF13C2 + 8EFF12C38EFF13C38EFF21B17FFF000000000000000000000000000000000000 + 000005291D3817BD87FF6FF3CDFF0FE0AAFF0FDFAAFF0FE0AAFF0FDFA9FF10DF + AAFF0FDFAAFF0FDFA9FF0FE0A9FF0FE0A9FF6AF2CBFF17BD88FF05291D380000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000002222224F5B5B5BFF6F6F6FFF707070FF7070 + 70FF707070FF707070FF707070FF585858F60000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000A271D372BAC80F126C1 + 94F81B7256A20000000000000000000000000000000021B17FFF12C490FF11C4 + 8FFF12C48FFF12C48FFF11C48FFF11C48FFF11C48FFF12C48FFF12C48FFF12C4 + 8FFF11C48FFF12C48FFF12C48FFF12C48FFF11C48FFF11C38FFF12C48FFF12C4 + 8FFF11C48FFF11C48FFF21B17FFF000000000000000000000000000000000000 + 00000000000005291D3815BE88FF10E0AAFF0FE0AAFF0FE1ABFF0FE0AAFF0FE1 + ABFF0FE0AAFF10E1ABFF0FE1AAFF0FE1ABFF15BE88FF05291D38000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000001D1D1D3F5A5A5AFF727272FF737373FF7373 + 73FF737373FF737373FF737373FF555555F00000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000000A271D373ADB + ADFF2BB285F40B2C213F00000000000000000000000021B17FFF11C590FF11C5 + 90FF11C590FF11C590FF11C590FF11C590FF11C590FF11C590FF11C590FF11C5 + 90FF11C590FF11C590FF11C590FF11C590FF11C590FF11C590FF11C590FF11C5 + 90FF11C590FF11C590FF21B17FFF000000000000000000000000000000000000 + 0000000000000000000005291D387BF6D2FF0FE1ACFF10E1ABFF0FE1ACFF0FE1 + ABFF0FE2ABFF0FE1ABFF0FE2ACFF78F5D1FF05291D3800000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000D0D0D1B5E5E5EFF757575FF767676FF7676 + 76FF767676FF767676FF767676FF565656E90000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000A29 + 1E392CAF84F232C093FC00000000000000000000000016BD88FF17E8B4FF17E8 + B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8 + B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8B4FF17E8 + B4FF17E8B4FF17E8B4FF16BD88FF010604070000000000000000000000000000 + 000000000000000000000000000005291D3813C28BFF86F8D6FF10E4ADFF0FE3 + ADFF0FE4AEFF84F7D5FF12C18BFF05291D380000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000003939398E696969FF7C7C7CFF7C7C + 7CFF7C7C7CFF818181FF676767FC191919500000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000B291F3A2CB185F413392C4B00000000000000000E382C4216BD88FF17E8 + B4FF299065FF289266FF25A171FF25A171FF25A171FF25A171FF25A171FF25A1 + 71FF25A171FF25A171FF25A171FF25A171FF25A171FF25A171FF25A171FF0CBE + 89FF46E7B5FF17E8B4FF0E372A40000000000000000000000000000000000000 + 00000000000000000000000000000000000005291D3812C38CFF10E4AEFF10E4 + AEFF10E4AEFF11C38CFF05291D38000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000002020207494949D58F8F8FFF8A8A + 8AFF898989FF707070FE444444CA020202070000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000B2B203C2FAE84EF0208060B00000000000000010F3C2E4616BD + 88FF48E6B5FF299065FF25A171FF25A171FF25A171FF25A171FF25A171FF25A1 + 71FF25A171FF25A171FF25A171FF25A171FF25A171FF25A171FF25A171FF4DEC + BAFF17E8B4FF16BD88FF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000005291D388DF9D8FF10E4 + AFFF8DF9D8FF05291D3800000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000007070718525252EB5D5D + 5DF85D5D5DF8353535A307070718000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000B2B203C2EAE83F40000000000000000000000000001 + 010217DCA7FF10D197FF10D197FF10D197FF10D197FF10D197FF10D197FF10D1 + 97FF10D197FF10D197FF10D197FF10D197FF10D197FF10D197FF10D197FF16CE + 99FF0F3A2D440001010200000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000005291D380FC5 + 8EFF05291D380000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000001000000020000000300000006000000090000000C000000100000 + 001100000014000000100000000D0000000C0000000600000005000000030000 + 0001000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000003200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000032000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000200000004000000070000000C000000120000001C000000240000 + 0027339F70FF0000002E00000029000000210000000D0000000A000000060000 + 0002000000000000000000000000000000000000001E00000040000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 00520000005200000052000000270000001E0000001E319F70FF32A071FF319F + 70FF31A070FF319F71FF32A071FF32A070FF31A071FF32A070FFD58F6AFFD58F + 6AFFD58F6AFFD58F6AFFD58F6AFFD58F6AFFD58F6AFF000000001560BCFF1560 + BDFF1560BDFF1660BDFF00000000000000000000000000000000000000000000 + 0000000000000000000000000000FED6AEFFFED6AEFFFED6AEFFFED7B0FFFED7 + B0FFFED8B1FFFED9B4FFFEDAB6FFFEDAB6FFFEDCB9FFFEDCB9FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000032A071FF32A071FF0F342452000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000252422FF262624FF2625 + 23FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86 + F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86F2FF0E86 + F2FF262524FF262524FF0000000000000000000000000DC992FF13B98CFF13B9 + 8CFF13B98CFF13B98CFF13B98CFF13B98CFF0EC992FF2FA171FFD58F6AFFEBA5 + 7DFFE19D79FFE19D79FFE19D79FFE19D79FFD58F6AFF000000001661BEFF076E + E6FF076EE6FF0578EAFF00000000000000000000000E00000013000000140000 + 0016000000191111113114141431FED4AAFFFED4AAFFFED4AAFFFED5ACFFFED5 + AEFFFED6AFFFFED8B2FFFED8B2FFFED9B4FFFEDAB7FFFFDBB9FF111111310000 + 00180000001600000014000000100000000E0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000031A172FF3BD7A7FF30A271FF0F3424520000000000000000000000000000 + 00000000000000000000000000000000000000000000262523FF282724FF2727 + 24FF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037F + EEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037F + EEFF272625FF000000000000000000000000000000000DCA93FF13B98CFF0DCA + 93FF0DCA93FF0DCA94FF0DCA93FF13B98CFF0DCA93FF2FA272FFD58F6AFFECA5 + 7DFFE29E79FFECA57DFFECA57CFFE29E79FFD58F6BFF000000001662C0FF057A + EBFF0388F0FF057BEAFF000000000000000000000017000000343F3F3F7FACAC + ACFFACACACFFACACACFF636262FFFFCD9DFFFFCD9DFFFFCE9FFFFFD0A3FFFFD2 + A6FFFFD4AAFFFFD7AFFFFFD8B1FFFFD9B5FFFFDDBCFFFFDDBCFF636363FFACAC + ACFFACACACFF4B4B4B8C00000030000000170000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000030A373FF10BF8EFF39D6A6FF30A373FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000272624FF292826FF2929 + 26FF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037F + EEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037FEEFF037F + EEFF2A2927FF292826FF0000000000000000000000000DCB95FF13BA8DFF0DCB + 95FF0DCC94FF0DCB94FF0DCB94FF13B98CFF0ECB94FF2EA273FFD68F6AFFECA5 + 7EFFE39E7AFFECA67DFFECA67DFFE39E7AFFD5906BFF000000001764C3FF057C + EBFF0389F0FF057CEBFF000000000000000000000000ACACACFFD1D1D1FFD1D1 + D1FFD1D1D1FFD1D1D1FF323232FFC49F7BFFC4A07EFFC4A17FFFC4A383FFC4A5 + 87FFC4A688FFC4A78BFFC4A88EFFC4A991FFC4AC96FFC4AC96FF323232FFCCCC + CCFFCCCCCCFFCCCCCCFF00000000000000000003020400040306000403060004 + 030600040306000403060009060C000403060004030600040306000403060000 + 00002DA575FF10BF8EFF10BF8EFF10BF8EFF2DA575FF0F342452000000000000 + 00000000000000000000000000000000000000000000292927FF2E2D2AFF2E2D + 2AFFFBE7D0FFFBE6D0FFFBE7CFFFFCE6CFFFFBE7D0FFFBE7D0FFFBE6D0FFFCE7 + D0FFFBE6CFFFFBE6CFFFFBE7D0FFFCE7CFFFFBE6D0FFFBE6CFFFFBE7CFFFFBE6 + CFFF2D2C2AFF2D2C2AFF0000000000000000000000000DCD97FF13BD8FFF0ECE + 97FF0ECE97FF0DCE97FF0ECE98FF13BC8EFF0ECD97FF2CA575FFD6906BFFEDA7 + 7FFFE5A17BFFECA77EFFECA77EFFE6A17BFFD6906BFF000000001A66C7FF0581 + EDFF038DF1FF0581EDFF000000000000000000000000ACACACFFD4D4D4FFD4D4 + D4FFD4D4D4FFD4D4D4FF333131FF9E8373FF9E8373FF9E8373FF9E8474FF9E84 + 74FF9E8475FF9E8576FF9E8576FF9E8577FF9E8577FF9E8577FF333131FFC8CC + CAFFCECECEFFCECECEFF00000000000000002CA676FF2CA776FF2CA676FF2CA6 + 75FF2CA675FF2BA676FF2BA675FF2CA675FF2BA676FF2CA676FF2CA676FF2CA6 + 76FF2BA776FF10BF8EFF0DCA94FF10C08EFF31D4A3FF2CA675FF0F3424520000 + 000000000000000000000000000000000000000000002B2927FF302E2CFF302E + 2DFFFBE7D0FFFCE7D0FFFCE7D0FFFBE7D1FFFBE7D1FFFCE7D0FFFBE7D1FFFBE7 + D1FFFBE7D0FFFBE7D1FFFBE7D0FFFBE7D0FFFCE7D1FFFBE7D1FFFCE7D0FFFBE7 + D0FF302E2CFF302F2CFF0000000000000000000000000ECF99FF12C090FF0ECF + 98FF0ECF99FF0ECF99FF0ECF99FF12BF8FFF0ECF99FF2BA675FFD6906CFFEDA8 + 7FFFE7A27CFFECA87FFFECA87FFFE7A27CFFD6906BFF000000001A68CBFF0482 + EDFF038EF1FF0483EEFF000000000000000000000000ACACACFFD7D7D7FFD7D7 + D7FFD7D7D7FFD7D7D7FFD6D6D6FFD6D6D6FFD5D5D5FFD5D5D5FFD5D5D5FFD4D4 + D4FFD4D4D4FFD4D4D4FFD3D3D3FFD3D3D3FFD3D3D3FFD2D2D2FFD2D2D2FF39A4 + 76FFC4CDCAFFD1D1D1FF00000000000000002AA777FF3CD7A7FF3CD7A7FF3CD7 + A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7 + A7FF3CD7A7FF10BF8EFF0DCB95FF0DCC95FF0FC18FFF2ED4A2FF2BA777FF0000 + 000000000000000000000000000000000000000000002C2A29FF33312EFF3231 + 2FFFC4D1D7FFC4D0D7FFC4D0D7FFC4D0D7FFC4D0D8FFC4D0D7FFC4D1D7FFC4D1 + D8FFC4D1D7FFC4D1D7FFC4D1D8FFC4D0D8FFC4D0D8FFC4D1D7FFC4D0D8FFC4D0 + D7FF33302FFF33302FFF0000000000000000000000000ED09AFF11C392FF0ED0 + 9AFF0ED09AFF0ED09AFF0ED09AFF11C191FF0FD09AFF2AA677FFD7906CFFEDA9 + 80FFE8A47DFFEDA980FFEDA980FFE8A47DFFD7906BFF000000001B6ACDFF0486 + EFFF038FF2FF0486EEFF000000000000000000000000ACACACFFDCDCDCFFEDED + EDFF269B6AFF279B6AFF279B6AFF279B69FF279A69FF289A69FF289A68FF289A + 68FF289A68FF289968FF289968FF289968FF289968FF289968FF289968FFCBE8 + DCFFEAEAEAFFD7D7D7FF000000000000000028AA7AFF10C18FFF10C18FFF10C1 + 8FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C1 + 8FFF10C18FFF0FC793FF0ECE98FF0DCE98FF0DCE98FF0DCE98FF0FC492FF27AA + 7AFF0F342452000604080000000000000000000000002F2E2BFF373534FF3735 + 34FFFBE8D4FFFBE9D3FFFCE9D4FFFBE8D4FFFCE9D3FFFCE8D4FFFBE8D3FFFCE9 + D4FFFBE9D4FFFBE8D3FFFBE9D3FFFBE8D3FFFCE9D3FFFBE9D4FFFCE8D4FFFCE8 + D4FF383634FF373633FF00000000000000000000000013D59FFF10CB97FF0ED3 + 9CFF0FD39DFF0ED39DFF0ED39DFF10C996FF14D5A0FF27AA78FFD7916DFFEDAB + 81FFEBA880FFEDAA82FFEEAA82FFECA880FFD8926CFF000000001E6ED2FF048C + F1FF0391F3FF048BF1FF000000000000000000000000A3A3A3ECE0E0E0FFF9FC + FBFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC + 9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF4ACC9FFF2899 + 68FFFFFFFFFFDADADAFF000000000000000026AB7BFF0FC390FF10C18FFF0EC9 + 95FF0ECF99FF0DD099FF0DD09AFF0DD099FF0DCF9AFF0DD09AFF0DD099FF0DD0 + 99FF0ED099FF0DCF9AFF0ED09AFF0ED099FF0ED09AFF0ECF9AFF0DCF99FF19C9 + 97FF26AC7BFF0F342452000000000000000000000000302E2CFF3A3836FF3A38 + 36FFC4D2DAFFC4D2DAFFC4D2DAFFC4D2DAFFC4D3DAFFC4D2DAFFC4D2DAFFC4D2 + DAFFC4D2DAFFC4D3DAFFC4D2DAFFC4D2DAFFC4D2DAFFC4D2DAFFC4D2DAFFC4D2 + DAFF3A3836FF3A3836FF00000000000000000000000016D7A2FF10CE9AFF0FD4 + 9EFF0ED59EFF0FD59EFF0ED49EFF10CC99FF17D7A2FF26AA79FFD8926DFFEDAB + 83FFEDAC82FFEEAC82FFEEAB83FFEEAC82FFD8926DFF000000001F6FD4FF038E + F1FF0393F2FF038EF1FF000000000000000000000000A1A1A1E6EAEAEAFFF4FA + F7FF47CA9DFF23A674FF23A674FF24A472FF24A472FF24A472FF24A472FF24A4 + 72FF24A472FF24A472FF24A472FF24A472FF24A472FF24A472FF23A674FF279B + 6BFFFFFFFFFFE5E5E5FF000000000000000024AD7CFF0FC492FF0ECA96FF0DD1 + 9BFF0DD29BFF0ED29BFF0DD19BFF0ED19AFF0DD19BFF0DD19BFF0ED29BFF0ED1 + 9BFF0DD29BFF0ED19BFF0DD19AFF0DD19BFF0DD19BFF0ED19BFF0ED19BFF0FC9 + 95FF19CB99FF24AD7CFF000403060000000000000000312F2EFF3D3B38FF3C3A + 39FFFCE9D5FFFCEAD5FFFCE9D5FFFBEAD6FFFCEAD5FFFCE9D5FFFCE9D6FFFCEA + D5FFFCEAD6FFFCEAD5FFFCEAD5FFFCEAD6FFFBEAD6FFFCE9D5FFFCEAD6FFFBE9 + D5FF3D3B39FF3D3B39FF0000000000000000000000001AD9A5FF0FD29DFF0ED5 + A0FF0FD5A0FF0FD6A0FF0FD69FFF10D19CFF1BD9A6FF25AC7AFFD9936DFFEEAE + 84FFEDAC83FFEEAC83FFEEAC83FFEEAC83FFD9926DFF000000002071D7FF0393 + F3FF0393F3FF0393F3FF000000000000000000000000A7A7A7E3FFFFFFFFEEFA + F5FF5AE0B6FF26C18FFF26C895FF26C895FF26C895FF26C895FF26C895FF26C8 + 95FF26C895FF26C895FF26C895FF26C895FF26C895FF26C895FF26C08EFF23A2 + 70FFFFFFFFFFFFFFFFFF000000000000000021B17FFF0FC995FF0ED49EFF0ED4 + 9EFF0DD49EFF0DD49EFF0ED49EFF0ED49EFF0ED49EFF0DD49EFF0ED49EFF0ED4 + 9DFF0ED49EFF0ED49EFF0ED49EFF0ED49EFF0ED49EFF0DD49EFF0ED49EFF0ED5 + 9EFF0ED49EFF0FCF9AFF22B07FFF0F34245200000000353331FF43403EFF4240 + 3EFFC4D3DCFFC4D4DCFFC4D4DCFFC4D4DCFFC4D4DBFFC4D3DCFFC4D4DCFFC4D4 + DCFFC4D4DCFFC4D3DCFFC4D3DCFFC4D4DCFFC4D4DCFFC4D4DCFFC4D3DBFFC4D3 + DCFF42403EFF43403EFF00000000000000000000000022DDABFF0ED9A3FF0FD9 + A3FF0FD9A3FF0ED8A3FF0ED9A2FF0FD8A3FF25DFACFF22B07EFFD9946EFFF0B2 + 8AFFEFAE85FFEEAE85FFEFAE84FFEFAE84FFD9946EFF000000001584EAFF5DC7 + FBFF5DC7FBFF5DC7FBFF000000000000000000000000A8A8A8E0FFFFFFFFE6F8 + F2FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEE + C8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF21A7 + 74FFFFFFFFFFFFFFFFFF000000000000000020B280FF0FCC98FF0ED5A0FF0ED6 + A0FF0ED69FFF0ED5A0FF0ED59FFF0ED6A0FF0ED69FFF0ED59FFF0ED5A0FF0ED6 + 9FFF0ED5A0FF0ED69FFF0ED69FFF0ED69FFF0ED69FFF0ED59FFF0ED6A0FF0ED5 + A0FF0ED69FFF0ED5A0FF2ADEACFF20B27FFF00000000363432FF454341FF4643 + 40FFFBEAD7FFFCEBD8FFFCEBD8FFFCEBD7FFFCEBD8FFFCEBD8FFFCEBD7FFFCEB + D7FFFCEBD7FFFCEBD7FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEAD8FFFCEB + D8FF454341FF454341FF00000000000000000000000027E0AEFF0EDAA4FF0EDA + A5FF0FDBA4FF0FDAA4FF0FDAA5FF0FDAA4FF29E0AEFF22B17FFFD9946EFFEFB4 + 8CFFEFAF86FFEEAF85FFEFAF85FFEFAF86FFDA936EFF00000000000000001584 + EAFF1584EAFF1584EAFF000000000000000000000000A0A0A0D5FFFFFFFFDDF7 + EFFF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEE + C8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF6CEEC8FF1EAB + 78FFFFFFFFFFFFFFFFFF00000000000000001FB381FF0FCF9AFF0ED7A1FF0ED7 + A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED6A1FF0ED7A2FF0ED7A1FF0ED7A1FF0ED7 + A1FF0ED7A1FF0ED7A1FF0ED6A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED7 + A1FF0ED7A1FF0FD7A1FF1EB381FF063C2C5200000000383634FF484643FF4846 + 43FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEB + D8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFFCEBD8FFB2A6 + 9AFF484543FF484543FF0000000000000000000000002CE2B1FF0FDBA6FF0FDC + A5FF0FDBA6FF0FDBA6FF0FDCA6FF0FDCA6FF2EE3B1FF21B381FFDA946EFFF0B7 + 8FFFEFAF86FFEFB086FFEFB086FFEFB086FFDA946FFF00000000000000000000 + 000000000000000000000000000000000000000000007B7B7BA8EFEFEFFFF6FC + FAFF5CE7BDFF23C08DFFECBD96FFECBE97FFECBE97FFECBE97FFECBE97FFECBE + 97FFECBE97FFECBE97FFECBE97FFECBE97FFECBE97FFECBE97FF24BD8BFF19B3 + 7FFFFFFFFFFFF3F3F3FF00000000000000001BB783FF0FD5A1FF0FDAA4FF0EDA + A4FF0EDAA4FF0FDAA4FF0FDAA4FF0FDAA4FF0EDAA4FF0EDAA4FF0EDAA4FF0FDA + A4FF0EDAA4FF0FD9A4FF0ED9A4FF0EDAA5FF0FDAA4FF0EDAA4FF0FDAA4FF0EDA + A4FF46E7BAFF1BB684FF0000000000000000000000003B3836FF4E4B49FF4E4A + 49FF4E4B49FF4E4B49FF4E4B48FF3D3A39FF3C3A39FF3C3A39FF3C3A38FF3D3A + 39FF3C3A39FF3D3A38FF3C3A39FF3C3A39FF3D3A38FF3D3A39FF3C3A39FF4E4B + 49FF4E4A48FF4D4A49FF00000000000000000000000037E6B5FF0FDEA9FF0FDE + A8FF0FDEA9FF0FDEA9FF10DEA9FF0FDEA9FF39E6B6FF20B885FFDB956FFFF1BD + 94FFF0B188FFEFB188FFEFB187FFEFB187FFDB956FFF00000000000000000000 + 000000000000000000000000000000000000000000000D0D0D13959595C6C3CE + CAFD54BF9EFF48B48FFEF1C9A0FFF3CCA3FFF3CCA3FFF3CCA3FFF3CCA3FFF3CC + A3FFF3CCA3FFF3CCA3FFF3CCA3FFF3CCA3FFF3CCA3FFF3CBA2FF46B28CFE18B7 + 83FFBDBDBDE99B9B9BCE000000000000000019B884FF0ED8A3FF0EDBA6FF0FDB + A6FF0EDBA6FF0FDBA6FF0EDBA5FF0FDCA6FF0EDCA6FF0EDBA5FF0FDBA5FF0FDC + A5FF0EDBA6FF0EDBA6FF0FDCA6FF0FDCA5FF0FDBA6FF0FDBA6FF0FDBA6FF4FEA + BFFF1AB885FF063C2C520000000000000000000000003C3938FF504D4BFF504E + 4BFF6D6B6AFF5F5B58FF5F5B58FFE8E8C2FFE8E8C2FFE8E8C2FFE8E8C2FFE8E8 + C2FFE8E8C2FFE8E8C2FFE8E8C2FFE8E8C2FFE8E8C2FFE8E8C2FF3E3C3AFF504D + 4BFF504D4BFF504D4BFF0000000000000000000000003DE8B8FF0FE0A9FF0FDF + AAFF0FDFAAFF10E0A9FF0FE0AAFF0FDFA9FF3EE8B9FF1FB986FFDB9570FFF2C0 + 97FFF0B188FFF0B187FFEFB288FFF0B188FFDB956FFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002222 + 22321616162000000000F5D1ABFFF9D8B2FFF8D8B2FFF9D8B2FFF8D8B1FFF9D8 + B2FFF9D8B2FFF8D8B1FFF9D8B1FFF9D8B2FFF9D8B1FFF7D5AFFF161817231616 + 16201010101800000000000000000000000018B985FF0FDCA6FF0FDDA7FF0EDD + A7FF0FDDA7FF0EDDA7FF0FDCA7FF0FDDA7FF0EDDA7FF0FDDA7FF0FDCA7FF0FDD + A7FF0EDDA7FF0FDDA7FF0FDCA7FF0FDDA7FF0FDCA7FF0FDDA7FF0FDCA7FF18BA + 85FF063C2C52000000000000000000000000000000003D3A39FF534F4DFF5350 + 4DFF5F5B58FF4A4645FF4A4645FFE9E8C4FFE9E9C4FFE9E9C4FFE9E9C5FFE8E9 + C4FFE8E9C4FFE9E8C4FF2F2E2CFF474341FFE9E9C5FFE9E9C5FF413D3CFF534F + 4DFF53504DFF53504EFF00000000000000000000000041E9BAFF0FE1ABFF0FE1 + ACFF0FE0ABFF10E0ABFF10E1ABFF0FE1ABFF43EABBFF1EBB88FFDC956FFFF2C2 + 99FFF0B288FFEFB389FFEFB288FFF0B288FFDC956FFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000F3CEA9FFFADBB7FFFADBB7FFF9DAB7FFFADBB7FFF9DB + B7FFF9DBB7FFF9DBB7FFF9DAB7FFFADBB7FFF9DBB7FFF5D2AEFF000000000000 + 00000000000000000000000000000000000013C08AFF13C08AFF13C08AFF13C0 + 8AFF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C0 + 8AFF16BC89FF0FE0AAFF0FDFAAFF0FE0AAFF0FE0A9FF6BF2CCFF16BC88FF0000 + 00000000000000000000000000000000000000000000403E3CFF575452FF5754 + 52FF5F5B58FF4A4645FF575452FFEBEBCDFFEBEBCCFFEBEBCCFFEBEBCCFFEBEC + CCFFEBEBCCFFEBEBCCFF2F2E2CFF474341FFEBEBCCFFEBEBCCFF444140FF5754 + 52FF575452FF575452FF0000000000000000000000004CECBEFF10E3AEFF0FE3 + ADFF10E2AEFF0FE2ADFF0FE3AEFF10E3ADFF4EECBFFF1DBE8BFFDC9670FFF5F9 + F7FFF7E1BAFFF7E1BAFFF7E1BAFFF7E1BAFFDC9670FF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000F2CCA8FFFADDBAFFFADCBAFFFADCBAFFFADDBAFFF9DC + BAFFFADDBAFFFADCBAFFF9DCBAFFFADCBAFFFADCB9FFF4D0ADFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000014BD89FF0FE1ABFF10E0ABFF10E1ABFF73F4CFFF14BD89FF063C2C520000 + 00000000000000000000000000000000000000000000413E3DFF5A5654FF5A56 + 54FF5F5B58FF4A4645FF5A5654FFEDECD0FFEDEDD1FFEDEDD0FFEDEDD1FFECEC + D0FFEDEDD0FFECEDD0FF2F2E2CFF474341FFECEDD0FFECECD1FF464341FF5A56 + 54FF5A5654FF595554FF00000000000000000000000051EDC0FF0FE3AFFF10E4 + AFFF10E4AEFF10E4AFFF10E3AFFF10E4AEFF53EDC1FF1DC18DFF54392B58D796 + 70E3F2AF85FFF3AE85FFF2AE85FFF2AE85FF35261D3800000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000F1CBA6FFFADEBCFFFADEBDFFFADDBCFFFADDBCFFFADE + BDFFFADEBDFFFADDBDFFFADEBCFFFADEBDFFFADDBDFFF3CFACFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000013BE8BFF0FE2ACFF10E1ADFF0FE2ACFF13BF8AFF063C2C52000000000000 + 0000000000000000000000000000000000000000000042403EFF5B5855FF5B57 + 56FF5F5B58FF4A4645FF5C5855FFEEEED5FFEEEED5FFEEEED5FFEEEED5FFEEEE + D5FFEEEED5FFEEEED5FF2F2E2CFF474341FFEEEED5FFEEEED5FF484442FF5B57 + 56FF5C5856FF5B5856FF00000000000000000000000056EEC2FF10E5AFFF0FE5 + B0FF10E5B0FF10E4AFFF10E5B0FF10E5B0FF58EEC2FF1CC28FFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000EFC8A4FFFAE0C1FFFBE0C2FFFAE0C1FFFBE0C2FFFAE0 + C2FFFAE0C2FFFAE0C2FFFAE0C1FFFBE0C1FFFAE0C2FFF1CBA8FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000012C18CFF10E3AFFF89F8D7FF11C18CFF0000000000000000000000000000 + 00000000000000000000000000000000000000000000444140FF5F5A58FF5F5B + 58FF5F5B58FF4A4645FF5E5B59FFF0F1DEFFF1F1DDFFF1F1DEFFF1F1DEFFF0F1 + DEFFF1F1DEFFF0F1DEFF2F2E2CFF2F2E2CFFF1F1DDFFF0F1DEFF494645FF5F5A + 59FF5F5B59FF6D6B6AFF0000000000000000000000005FEFC4FF10E7B1FF10E7 + B1FF10E6B1FF10E7B1FF10E6B1FF10E6B1FF61EFC5FF1CC591FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000EEC7A4FFFBE2C3FFFAE1C4FFFBE1C3FFFAE2C3FFFBE1 + C4FFFAE1C4FFFBE1C4FFFBE1C3FFFBE1C3FFFBE1C4FFEFC8A6FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000011C28DFF8EF9D8FF10C28DFF063C2C520000000000000000000000000000 + 00000000000000000000000000000000000000000000454241FF8D8C8BFF6D6B + 6AFF5F5B58FF4A4645FF6D6B6AFFFBFBF5FFFBFBF5FFFBFBF5FFFBFBF5FFFBFB + F5FFFBFBF5FFFBFBF5FFFBFBF5FFFBFBF5FFFBFBF5FFFBFBF5FF555353FF6D6B + 6AFF8D8C8BFF454240FF00000000000000000000000063F0C5FF10E7B2FF10E7 + B2FF10E7B2FF10E7B2FF10E7B2FF10E7B2FF65F0C5FF1CC792FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000EFC7A4FFEFC7A4FFEFC7A4FFEFC7A4FFEFC7A4FFEFC7 + A4FFEFC7A4FFEFC7A4FFEFC7A4FFEFC7A4FFEFC7A4FFEFC7A5FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000010C28DFF0FC28DFF063C2C52000000000000000000000000000000000000 + 000000000000000000000000000000000000000000003A37369B454241FF4542 + 40FF5F5B58FF4A4645FF454241FFC3C3B5FFC3C3B5FFC3C3B5FFC3C3B5FFC3C3 + B5FFC3C3B5FFC3C3B5FFC3C3B5FFC3C3B5FFC3C3B5FFF4F3E4FF363333FF4542 + 41FF454240FF1F1D1D5A00000000000000000000000068F0C7FF10E7B2FF10E7 + B2FF10E7B2FF10E7B2FF10E7B2FF10E7B2FF68F0C7FF1DC894FF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000EC48FFF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000001BCB97F420CA97F421CB + 98F421CB98F421CB98F421CB98F41FCB97F418C390EC00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000020202220A0A0938000000380000003800000038000000380000 + 0038000000380000003800000038000000380A0A093C02020222000000000000 + 0000000000000000000000000000000000000000000000000002000000040000 + 0002000000000000000B000000180000002A0000002900000029000000290000 + 00290000002900000028000000260000001A0000000900000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000008E8F82FF8E8F82FF8E8F82FF8E8F82FF8E8F + 82FF8E8F82FF8E8F82FF8E8F82FF8E8F82FF1313122002020205000000000000 + 0000000000000000000000000000000000000000000000000004000000060000 + 00090000000C0000001000000025349E6FFF349E6FFF349E6FFF349E6FFF349E + 6FFF349E6FFF349E6FFF349E6FFF349E6FFF0000002400000021000000150000 + 000B000000090000000900000003000000020000001E00000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 00520000005200000052000000520000003200000000BD8B6BFBD39E7AFFD39E + 7BFFD39E7AFFD39E7AFFD39E7AFFD49E7AFFD49E7AFFD49E7AFFD49E7AFFD49E + 7AFFD49E7AFFD49F7AFFD49F7AFFD49F7AFFD49F7AFFD59F7AFFD59F7AFFD59F + 7AFFD59F7AFFD59F7AFF73513D9F000000000000000000000000000000000000 + 0000000000000000000000000000A5A69BFFC2C3B4FFC2C3B4FFC2C3B4FFC2C3 + B4FFC2C3B4FFC2C3B4FFC2C3B4FFA5A69BFF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000033A070FF3CD7A7FF13B98CFF13B98CFF13B9 + 8CFF13B98CFF13B98CFF3CD7A7FF329F70FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000CC8865FFEEA97AFFEEA9 + 7AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFF1361DFFF1361 + DFFF1361DFFF1361DFFF0F3EB0FFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA9 + 7AFFEEA97AFFEEA97AFFCC8865FF0000000000000000C29372FFF5C49CFFF3BD + 94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD + 94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD94FFF3BD + 94FFF3BD94FFF5C49CFFD09775FF020101030000000000000000000000000000 + 0000000000000000000000000000C2C3B4FFF0F0ECFFF0F0ECFFF0F0ECFFF0F0 + ECFFF0F0ECFFF0F0ECFFF0F0ECFFC2C3B4FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000031A171FF39D7A6FF0CC78FFF0CC78FFF0CC7 + 8FFF0CC78FFF0CC78FFF39D7A6FF32A171FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000CC8865FFEEA97AFFE59E + 75FFDF9772FFDF9772FFDF9772FFDF9772FFDF9772FFDC936FFF0353DCFF0353 + DCFF0352DBFF0353DBFF0F3FB1FFDD946FFFDF9772FFDF9772FFDF9772FFDF97 + 72FFDF9772FFE59E75FFCC8865FF0000000000000000DDAB86FFC59674FFF5C9 + A3FFE8B690FFE8B690FFE8B690FFE8B690FFE8B690FFE8B690FFE8B690FFE8B6 + 90FFE8B690FFE8B68FFFE8B68FFFE8B68FFFE8B68FFFE8B68FFFE8B68FFFE8B6 + 8FFFF5C9A3FFCF9D7AFFD09775FF020201040000000000000000000000000000 + 000000000000000000000000000000000000A5A69BFFC2C3B4FFC2C3B4FFC2C3 + B4FFC2C3B4FFC2C3B4FFA5A69BFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000030A272FF34D5A4FF0CC790FF0CC790FF0CC7 + 90FF0CC790FF0CC790FF34D6A5FF31A272FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000CD8965FFEEA97AFFDF97 + 72FFDF9772FFDF9772FFDF9772FFDF9772FFDF9772FFDB916EFF0455DCFF0455 + DCFF0454DCFF0454DCFF0E40B3FFDC926EFFDF9772FFDF9772FFDF9772FFDF97 + 72FFDF9772FFDF9772FFCD8965FF0000000000000000F4C49BFFF0C198FFE7B8 + 91FFF7D3B4FFEBBD96FFF5C89FFFF5C79EFFF5C79EFFF5C79EFFF5C79EFFF5C7 + 9EFFF5C79EFFF5C79EFFF5C79EFFF5C79EFFF5C79EFFF5C79EFFEBBC96FFD8A6 + 82FFECB890FFF2BD94FFD09775FF020201040000000000000000000000000000 + 000000000000000000000000000000000000818277FF818277FF818277FF8182 + 77FF818277FF818277FF818277FF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000002DA474FF29D3A1FF0DCA92FF0DCA92FF0DCA + 92FF0DCA92FF0DCA92FF29D3A1FF2EA473FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000CE8A66FFEEA97BFFE19A + 74FFECA77FFFECA77EFFECA77EFFECA87FFFECA87EFFE09873FF0657DEFF0657 + DEFF0657DFFF0657DFFF0E42B7FFE29974FFECA77FFFECA77FFFECA77FFFECA7 + 7FFFECA87FFFE19974FFCE8A66FF0000000000000000F5C89EFFF5C89EFFF4C7 + 9DFFD3A582FFF8D9BCFFF5CAA1FFF5CAA1FFF5CAA1FFF5CAA1FFF5CAA1FFF5CA + A1FFF5CAA1FFF5CAA1FFF5CAA1FFF5CAA1FFF5CAA1FFF5CAA1FFF8D9BCFFF1BE + 96FFF4C198FFF4C198FFD09775FF02020104A5A69BFFA5A69BFFA5A69BFFA5A6 + 9BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A6 + 9BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFFA5A6 + 9BFFA5A69BFFA5A69BFFA5A69BFFA5A69BFF0000000000000000000000000000 + 00000000000000000000000000002CA675FF23D29FFF0DCB93FF0DCB93FF0DCB + 93FF0DCB93FF0DCB93FF23D19FFF2DA574FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000CF8A67FFEEA97CFFE39C + 76FFEDA981FFECA980FFECA980FFECA980FFECA980FFDE9671FF0759E0FF0759 + E0FF0759DFFF0759E0FF0D44BAFFE09772FFECA880FFEDA980FFECA980FFEDA9 + 80FFEDA980FFE39C76FFCF8B67FF0000000000000000F5C89EFFF5C89EFFF5C8 + 9EFFF3C59CFFDBAD88FFF9DFC5FFF2C59DFFF2C59DFFF2C59DFFF2C59DFFF2C5 + 9DFFF2C59DFFF2C59DFFF2C59DFFF2C59DFFF2C59DFFF9DFC7FFE2B38DFFF4C4 + 9BFFF4C49BFFF4C49BFFD09775FF03020104A5A69BFFC3C4B5FFC2C3B5FFC2C4 + B5FFC3C4B4FFC2C4B5FFC3C4B5FFC3C3B5FFC2C4B5FFC3C4B5FFC3C3B4FFC3C3 + B5FFC3C3B5FFC3C4B5FFC3C3B5FFC2C4B5FFC3C4B5FFC3C3B4FFC3C4B4FFC3C4 + B5FFC3C3B4FFC2C4B5FFC3C3B5FFA5A69BFF0000000000000000000000000000 + 00000000000000000000000000002BA676FF1DD09DFF0DCC94FF0DCC94FF0DCC + 94FF0DCC94FF0DCC94FF1DD19CFF2BA676FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000D08B68FFEEA97DFFE49F + 78FFEEAA81FFEEAB82FFEDAA82FFEDAB82FFEDAA82FFDC936FFF095AE1FF095A + E1FF085AE1FF095AE1FF0D45BDFFDD9470FFEEAB81FFEDAA82FFEEAA81FFEDAB + 82FFEEAA81FFE49F78FFCF8B67FF0000000000000000F6CDA4FFF6CDA4FFF6CD + A4FFF5CCA3FFF5CCA3FFF5CCA3FFFBE8D4FFE9B790FFE9B790FFE9B790FFE9B7 + 90FFE9B790FFE9B790FFE9B790FFE9B790FFECBF97FFF5C89FFFF5C89FFFF5C8 + 9EFFF5C89EFFF5C89EFFD09775FF03020104A5A69BFFE4E3DBFFE4E3DBFFE5E6 + DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6 + DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6DFFFE5E6 + DFFFE5E6DFFFE5E6DFFFC7C7B8FFA5A69BFF28AA7AFF28AA7AFF27AA79FF28AA + 79FF28AA79FF28AA79FF28AA79FF27AA79FF14CE99FF0DCF98FF0DCF98FF0DCF + 98FF0DCF98FF0DCF98FF13CF99FF28A979FF29A978FF28A979FF28A978FF29A9 + 78FF28A978FF29A978FF29A978FF0000000000000000D28E69FFEFAE82FFECA9 + 81FFF0B086FFF0B086FFF0B086FFF0AF86FFF0AF86FFD68A68FF0D60E4FF0D60 + E4FF0D60E4FF0D60E5FF0E4DC8FFD78B69FFF0B086FFF0B086FFF0B086FFF0AF + 86FFF0AF86FFECAA81FFD28D69FF0000000000000000F6D0A7FFF6D0A7FFF6D0 + A7FFF6CFA6FFF6CFA6FFF6CFA6FFFDF2E6FFFDF4EAFFFBEBD9FFFBEBD9FFFBEB + D9FFFBEBD9FFFBEBD9FFFDF4EAFFFDF4EAFFF5CBA2FFF5CBA2FFF5CBA2FFF5CA + A1FFF5CAA1FFF5CAA1FFD09775FF03020104A5A69BFFD69773FFD79774FFD797 + 74FFD79774FFD79774FFD79774FFD79774FFD79774FFD79774FFD79774FFD797 + 74FFD79774FFD79774FFD79774FFD79774FFD79774FFD79774FFD79774FFD797 + 74FFD79774FFD79774FFC7C9B9FFA5A69BFF26AC7BFF3EDCB0FF3EDCB0FF3EDC + B0FF3EDCB0FF3EDCB0FF3EDCB0FF3EDCB0FF11CE98FF0DD099FF0DD099FF0DD0 + 99FF0DD099FF0DD099FF11CE98FF3EDCB0FF3EDCB0FF3EDCB0FF3EDCB0FF3EDC + B0FF3EDCB0FF3EDCB0FF27AA79FF0000000000000000D38E69FFEAA77DFFE8A5 + 7EFFEBA880FFEBA880FFEBA880FFEBA880FFEBA880FFD38564FF0E62E6FF0E62 + E6FF0E61E5FF0E62E6FF0E50CCFFD38665FFEBA881FFEAA981FFEBA880FFEBA8 + 80FFEBA880FFE8A57DFFD38E6AFF0000000000000000F7D3AAFFF7D3AAFFF7D3 + AAFFF6D2A9FFF6D2A9FFF6D3AAFF3786A9FF0685C4FF0685C5FF0299E8FF0299 + ECFF0299EFFF038FE3FF038FE3FF4FA4D4FFF6D0A8FFF6CEA5FFF6CEA5FFF6CD + A4FFF6CDA4FFF6CDA4FFD09775FF03020104A5A69BFFE6A47EFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFC9CABBFFA5A69BFF24AE7CFF11C996FF11C996FF11C9 + 96FF11C996FF11C996FF11C996FF11C996FF11C996FF0DD29BFF0DD29BFF0DD2 + 9BFF0DD29BFF0DD29BFF0DD29BFF11C996FF11C996FF11C996FF11C996FF11C9 + 96FF11C996FF11C996FF26AC7BFF0000000000000000D48F6AFFDB926EFFDA90 + 6EFFDB926EFFDB926EFFDB926EFFDB926EFFDB926EFFCE7F5FFF1064E7FF1064 + E7FF1064E7FF1064E7FF1054D0FFCE8060FFDB916EFFDB926EFFDB926EFFDB92 + 6EFFDB916EFFDB926EFFD48F6BFF0000000000000000F7D5ADFFF7D5ADFFF7D5 + ADFFF7D7B1FFF9E2CAFF0C8ABAFF069AD6FF04AFF2FF03AFF5FF03ACF6FF02AA + F6FF02A8F6FF02A3F6FF01A2F7FF01A0F7FF019DF7FFF9E2CAFFF2D7B6FFF7D3 + AAFFF7D3AAFFF7D3AAFFD09775FF03020104A5A69BFFE6A37DFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFCCCDBEFFA5A69BFF21B17FFF0ED59EFF0ED59EFF0ED5 + 9EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED5 + 9EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED59EFF0ED5 + 9EFF0ED59EFF0ED59EFF22AF7DFF0000000000000000D6916CFFCC7C5DFFCC7C + 5DFFCC7C5DFFCC7C5DFFCC7C5DFFCC7C5DFFCC7C5DFFCC7C5DFF1368E9FF1368 + E9FF1367EAFF1367EAFF125BD9FFCC7C5DFFCC7C5DFFCC7C5DFFCC7C5DFFCC7C + 5DFFCC7C5DFFCC7C5DFFD6906CFF0000000000000000F7D5ADFFF7D5ADFFF7D5 + ADFFF8DFC3FF0997CAFF0999CEFF05B5F4FF05B5F5FF04B4F5FF04B1F5FF03AE + F5FF03ACF6FF02A8F6FF02A7F6FF02A5F6FF01A0F7FF019FF7FFF8DFC3FFF7D8 + B2FFF7D5ADFFF7D5ADFFD09775FF03020104A5A69BFFE5A37DFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A57FFFE8A5 + 7FFFE8A57FFFE8A57FFFCCCEBFFFA5A69BFF1FB280FF0ED6A0FF0ED6A0FF0ED6 + A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6 + A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6A0FF0ED6 + A0FF0ED6A0FF0ED6A0FF20B17FFF0000000000000000F4B78DFFF5B88DFFF4B8 + 8DFFF4B78DFFF4B78DFFF4B88DFFF4B88DFFF4B88DFFF0AF86FF1469EBFF1469 + EBFF166BEBFF1369EBFF135EDDFFF2B289FFF4B78DFFF4B78DFFF4B88DFFF4B8 + 8DFFF4B88DFFF5B78DFFF5BC93FFD7916CFF00000000F7D5ADFFF7D5ADFFEED2 + B0FB0B9BCAFF0AA5D6FF09AFE4FF06B9F5FF06B8F5FF05B6F5FF05B5F5FF04B2 + F5FF04B1F5FF03ACF5FF02ABF6FF02AAF6FF02A5F6FF02A3F6FF01A2F7FFF5D7 + B5FFF4D6B4FCF7D5ADFFD09775FF03020104A5A69BFFE5A37EFFE9A680FFE8A6 + 80FFE9A680FFE8A680FFE8A680FFE9A680FFE9A680FFE9A680FFE8A680FFE8A6 + 80FFE8A780FFE8A680FFE8A780FFE9A680FFE9A780FFE9A680FFE9A681FFE8A6 + 80FFE8A780FFE8A680FFCECFC0FFA5A69BFF1EB482FF10D8A1FF10D8A1FF10D8 + A1FF10D8A1FF0FD8A1FF0FD8A1FF0FD8A1FF0FD8A1FF0FD8A1FF0ED8A1FF0ED8 + A1FF0ED8A1FF0ED8A1FF0ED8A1FF0ED8A1FF0ED8A1FF0ED8A1FF0ED8A1FF0ED8 + A1FF0ED8A1FF0ED8A1FF20B280FF0000000000000000F5B98FFFEFB087FFEFB0 + 87FFEFB087FFEFB087FFEFB087FFEFAF87FFEFB087FFE8A57EFF146BECFF146B + ECFF2073EEFF156AECFF1462E0FFEAA780FFEFB087FFEFB087FFEFB087FFEFB0 + 87FFEFB087FFEFB087FFF5BD94FFD8926DFF00000000F1D3B3FBF5D8B7FFC9A5 + 8AFF35C4E7FF0BC3F4FF0BC3F4FF0AC1F4FF09C0F4FF08BEF4FF07BCF5FF06B9 + F5FF06B8F5FF05B5F5FF04B4F5FF04B2F5FF36AAD7FFA89D90FFC3A289FFE1B5 + 93FFF5D8B7FFF5D8B7FFDFB090FF03020104A5A69BFFE6A681FFEAAA84FFEAA9 + 84FFEBA983FFEBA983FFEBA984FFEAAA83FFEAAA83FFEBA983FFEAAA83FFEBAA + 83FFEAAA84FFEAAA83FFEBA983FFEAA983FFEAAA84FFEBAA83FFEBA983FFEAAA + 83FFEAAA84FFEAAA83FFD1D2C3FFA5A69BFF1AB784FF16DBA6FF16DBA6FF16DB + A6FF16DBA6FF15DBA6FF15DBA6FF15DBA6FF14DBA6FF14DBA6FF14DBA6FF14DB + A6FF13DBA6FF13DBA6FF13DBA6FF13DBA6FF13DBA6FF13DBA6FF13DBA6FF13DB + A5FF13DBA5FF12DBA5FF1CB683FF0000000000000000F7C79FFFF2B58CFFF6BB + 90FFF6BC90FFF6BB90FFF6BB91FFF6BB90FFF6BB90FFEAA780FF176DEEFF176D + EEFF5196F4FF176EEDFF1568E7FFEAA780FFF6BB90FFF7BB91FFF6BB91FFF6BB + 91FFF6BB90FFF6BB90FFF7C7A0FFD9936EFF00000000E8C2A2FDE6BA96FFE0B2 + 90FF9EA598FF55D2EAFF0CC5F3FF0BC3F4FF0BC3F4FF0AC2F4FF09C0F4FF08BD + F4FF07BCF5FF06B8F5FF05B6F5FF0AB6F3FFBE9F88FFCDA88CFFDEB593FFE8BB + 97FFE8BC97FFE8BC97FFC39071EA00000000A5A69BFFE6A881FFECAB85FFECAC + 86FFEBAC85FFEBAB85FFEBAB85FFECAB85FFEBAC85FFECAC85FFEBAC85FFEBAC + 85FFECAB85FFEBAC85FFEBAC85FFECAC85FFEBAB85FFECAC85FFECAB85FFECAC + 85FFECAC85FFEBAC85FFD3D4C5FFA5A69BFF18B885FF90F9D9FF90F9D9FF90F9 + D9FF90F9D9FF90F9D9FF90F9D9FFF5F9F7FF1FDDA9FF19DCA7FF19DCA7FF19DC + A7FF18DCA7FF18DCA7FF1DDDA9FFF5F9F7FF90F9D9FF90F9D9FF90F9D9FF90F9 + D9FF90F9D9FF90F9D9FF1AB784FF0000000000000000F8CCA6FFF3B78DFFF6BC + 91FFF7BC91FFF7BC91FFF7BC91FFF6BC91FFF6BD91FFEAA881FF176EEEFF1970 + EEFF69A8F7FF176FEEFF166BEAFFE6A27CFFF7BC91FFF7BD91FFF7BC91FFF6BC + 91FFF6BC92FFF6BC91FFF8CCA6FFDA946EFF00000000DAA886FFECCAACFEE7BB + 98FFD7AE90FFB3A793FF74D9EAFF0CC5F3FF0BC3F3FF0BC3F4FF0BC3F4FF0AC1 + F4FF09C0F4FF07BCF4FF21B7E6FF97A49DFFD8B292FFE4B996FFE9BD99FFE9BE + 99FFE9BE9AFFEECFB1FD5642356500000000A5A69BFFE8A983FFECAE87FFECAE + 87FFEDAE87FFEDAE87FFECAE87FFECAD87FFECAE87FFEDAE87FFEDAE88FFEDAE + 87FFECAE88FFEDAE87FFEDAE87FFECAD87FFEDAE87FFECAE87FFECAE87FFECAE + 87FFECAE88FFECAE87FFD4D5C8FFA5A69BFF17BA87FF17BB87FF17BA86FF17BA + 86FF18BA87FF17B986FF17BA87FF17BA86FF2AE0ADFF1DDDA9FF1DDDA9FF1DDD + A9FF1CDDA9FF1CDDA9FF28E0ADFF18B986FF18B986FF18B986FF18B986FF18B9 + 86FF18B986FF19B985FF19B985FF0000000000000000F9DFC7FFF7BE93FFF7BE + 93FFF7BE93FFF7BE93FFF7BE93FFF7BE93FFF7BE93FFE7A47EFF186FEFFF277A + F1FF7AB4F9FF186FEFFF186EEEFFE7A47EFFF7BE93FFF7BE93FFF7BE93FFF7BE + 93FFF7BE93FFF7BE93FFFAE8D8FFDA946FFF000000000000000055413464DAA8 + 86FFEAC09BFFE9BE99FFE5BB98FF9CE8F3FF11CDF2FF0FCAF3FF0DC8F3FF0CC5 + F3FF0EC9F4FFC1A78FFFDAB595FFE8BF9CFFECC29DFFECC29DFFECC39DFFF2D6 + B9FDDEAE8DFF564235650000000000000000A5A69BFFE8AC86FFEFB38CFFEFB3 + 8CFFEFB28CFFEFB28CFFEFB28CFFEFB38CFFEFB28CFFEFB38BFFEFB28CFFEFB3 + 8CFFEFB28BFFEFB28CFFEFB28CFFEFB28CFFEFB38CFFEFB38BFFEFB28CFFEFB3 + 8BFFEFB38BFFEFB28CFFD7D7CBFFA5A69BFF0000000000000000000000000000 + 000000000000000000000000000014BC88FF3FE4B3FF26DEABFF25DEABFF25DE + ABFF25DEABFF24DEABFF3CE3B2FF15BC88FF0000000000000000000000000000 + 00000000000000000000000000000000000000000000DA9570FFAE8989FF3648 + 99FF1E3592FF454C91FF615178FFB67E62FFBF8260FF95654AC7146BECFF146B + ECFF146BECFF146BECFFBF8260FF95654AC7B67E63FF8C6B70FF7F708EFF203E + 9AFF1A3B9BFF374E9DFFDA9570FF8D654A8F0000000000000000000000005541 + 3464F2D8BDFDECC19EFFEBC19CFFCBB99EFFAFEEF8FF12CEF2FF10CCF3FF13CE + F3FF5CBFC8FFE3BD9AFFECC39EFFEEC59FFFEEC59FFFEEC59FFFEEC5A0FFDFB0 + 8EFF57433566000000000000000000000000A5A69BFFE9AD87FFF1B58EFFF1B5 + 8EFFF1B58EFFF0B58EFFF0B58DFFF0B58EFFF0B58EFFF1B58EFFF1B58EFFF0B5 + 8EFFF1B58EFFF1B58DFFF1B58EFFF1B58EFFF0B58DFFF1B58DFFF0B58DFFF0B5 + 8DFFF0B58EFFF1B58EFFD7D8CCFFA5A69BFF0000000000000000000000000000 + 000000000000000000000000000013BE8AFF46E5B5FF2ADEABFF29DEABFF29DE + ABFF29DEABFF29DEABFF45E5B5FF14BE89FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000017234F7C0E33A0FF1F5D + CEFF0D46BBFF0B4ECBFF0A44BBFF0C2890FF1C3796FF5B5684FF062E9EFF062E + 9EFF062E9EFF062E9EFF947272FF5C5984FF0F379EFF0D3FADFF0C4CC4FF0E48 + BEFF1662DFFF2063D4FF615A75C6000000010000000000000000000000000000 + 0000DCAA88FFF5DBC1FEEDC59FFFECC39DFFCDC2A6FFBFF1FAFF15D3F2FF5AC7 + CEFFDCB998FFEEC7A1FFEEC7A1FFEFC8A2FFEFC8A2FFEFC8A2FFF4DBC0FD5844 + 366800000000000000000000000000000000A5A69BFFEAAF89FFF1B78FFFF1B7 + 90FFF1B890FFF1B790FFF2B790FFF2B890FFF1B790FFF1B790FFF1B890FFF1B8 + 90FFF2B890FFF2B890FFF2B790FFF1B790FFF2B790FFF2B890FFF2B78FFFF2B7 + 8FFFF2B790FFF1B790FFD8DACEFFA5A69BFF0000000000000000000000000000 + 000000000000000000000000000013BF8BFF4CE6B7FF2EDEABFF2EDEABFF2DDE + ABFF2DDEABFF2DDEACFF4BE6B7FF13BF8BFF0000000000000000000000000000 + 000000000000000000000000000000000000000000000C317FB61653C5FF3880 + EDFF0E50CCFF0C5FE3FF0448CEFF0E35A5FF0E34A4FF0D35A6FF103CADFF4990 + F1FF4990F1FF103CADFF1345B2FF0E36A3FF0E35A5FF0E35A5FF0D40B5FF0E50 + CCFF387BECFF3880EDFF0C317FB6000000000000000000000000000000000000 + 00000000000058443668DDAD8BFFF0CAA3FFF1CBA4FFF1CBA4FFF0CBA4FFF1CC + A4FFF2CCA5FFF2CDA5FFF2CDA5FFF3CEA6FFF5DDC3FDE1B593FF5B46376B0000 + 000000000000000000000000000000000000A5A69BFFEBB18BFFF4BB93FFF3BB + 94FFF3BB94FFF3BB94FFF4BB93FFF4BB94FFF4BB93FFF4BB94FFF3BB94FFF3BB + 94FFF3BC94FFF4BB94FFF3BB94FFF3BB93FFF4BC93FFF3BB94FFF4BB93FFF4BB + 94FFF4BB94FFF4BB94FFDBDBD0FFA5A69BFF0000000000000000000000000000 + 000000000000000000000000000011C28CFF53E8B9FF35DDABFF34DDABFF34DD + ABFF34DEABFF34DEABFF53E8B9FF11C18CFF0000000000000000000000000000 + 000000000000000000000000000000000000000000000B317FB7215BCAFF5195 + F8FF0C5BDDFF0C5FE3FF0E60E3FF2672E6FF2A6CDDFF124FCBFF123AA3F4173F + A5EF1241AEFF1241ABF80E45B6FD0D4CCBFF206CE4FF2270E7FF0E60E3FF0C5B + DDFF5091F6FF5195F8FF0B317FB7000000000000000000000000000000000000 + 000000000000000000005A45376AF7DFC6FEF7DEC2FFF7DEC2FFF7DEC2FFF7DE + C2FFF7DFC2FFF7DFC3FFF7DFC3FFF8DFC3FFE2B695FF5D47386D000000000000 + 000000000000000000000000000000000000A5A69BFFEBB28CFFF4BD94FFF4BC + 95FFF4BC95FFF4BC95FFF5BD95FFF4BD95FFF4BC95FFF4BD95FFF4BD95FFF5BD + 95FFF4BC95FFF4BD95FFF4BD95FFF5BD95FFF5BD95FFF4BD95FFF4BD95FFF4BD + 95FFF4BD94FFF5BD94FFDBDCD0FFA5A69BFF0000000000000000000000000000 + 00000000000000000000000000000FC38DFF54E9BAFF37DDABFF37DDABFF37DD + ABFF37DDABFF37DDABFF54E9BAFF10C28DFF0000000000000000000000000000 + 000000000000000000000000000000000000000000000928699A2158C7FF579B + FDFF1C6CE6FF3781ECFF478AEBFF0D48C8FF0D40B8FE0D34A0F2000001030000 + 00000000000000000203061B486C0F3EA5F20D49C8FF2464D8FF478AEBFF1C6C + E6FF5698FCFF579BFDFF0928699A000000000000000000000000000000000000 + 0000000000000000000000000000B28B6FCDE8BC98FFE8BC98FFE8BC98FFE8BD + 98FFE8BD99FFE8BE99FFE8BE99FFE9BE99FF5E48386E00000000000000000000 + 000000000000000000000000000000000000A5A69BFFC98C6BFFC98C6BFFC98C + 6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C + 6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C6BFFC98C + 6BFFC98C6BFFC98C6BFFDCDDD1FFA5A69BFF0000000000000000000000000000 + 00000000000000000000000000000EC38EFF79EDC8FF3ADCABFF39DCABFF39DC + ABFF39DCABFF39DDABFF79EDC8FF0FC38EFF0000000000000000000000000000 + 00000000000000000000000000000000000000000000061C4A6F1B50BEFF599C + FDFF97C3FAFF1859D4FF0D47C7FF0D36A4F70820629500030B11000000000000 + 000000000000000000000000000001040B110F40A9F70E46BCFF0D48C7FF97C3 + FAFF9BC8FDFF599CFDFF061C4A6F000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000C2C3B4FFC2C3B4FFC2C3B4FFC2C3 + B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3 + B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3 + B4FFC2C3B4FFC2C3B4FFC2C3B4FFC2C3B4FF0000000000000000000000000000 + 00000000000000000000000000000EC48FFF0EC48FFF0EC48FFF0EC48FFF0EC4 + 8FFF0EC48FFF0EC48FFF0EC48FFF0EC48FFF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000092963791143 + B8FF0C3296DC071C578501030C13000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000000001040C130C3A + 9ADC0E42B0FB1249BBFF00000203000000000000000000000000000000000000 + 000000000001000000020000000300000006000000090000000C000000100000 + 001100000014000000100000000D0000000C0000000600000005000000030000 + 0001000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00010000000300000005000000060000000C0000000E00000010000000140000 + 0011000000100000000C00000009000000060000000300000002000000010000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000200000004000000070000000C000000120000001C0E33246A339F + 70FF0E33247F0000002E00000029000000210000000D0000000A000000060000 + 0002000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000000001E000000320000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000003200000000000000000000000000000000000000000000 + 0002000000070000000A0000000C0000001C00000021000000240F34247F339F + 70FF0000002E00000021000000110000000D0000000600000003000000020000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000F3424523AD6A6FF13BA + 8CFF3AD6A6FF0F34245200000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002E54 + D4FF3569DCFF3569DCFF3569DCFF3569DCFF173BB6FF063384FF093889FF0938 + 89FF093889FF0C3C8FFF063384FF173BB6FF3568DCFF3568DCFF3568DCFF3568 + DCFF2E54D4FF0000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000F3424523CD7A7FF32A0 + 71FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000F34245232A171FF13BA8CFF13BA + 8CFF13BA8CFF31A071FF0F342452000402050000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000002E54 + D4FF366DDDFF366DDDFF366DDDFF366CDDFF173BB6FF063384FF13469DFF1346 + 9DFF13469DFF0E3E92FF063384FF173BB6FF366CDDFF366CDDFF366CDDFF366C + DDFF2E54D4FF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000F34245230A271FF17CA95FF31A1 + 72FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000F34245230A172FF35D5A5FF11BE8EFF12BD + 8EFF13BB8DFF35D5A5FF30A172FF0F3424520000000000000000000000000000 + 0000000000000000000000000000000000000000001800000021000000210000 + 00250000002A0000002A0000002A0000002A0000002A0000002A0000002A0000 + 002A0000002A0000002A0000002A0000002A0000002A0000002A000000280000 + 0021000000210000001B00000000000000000000000000000000000000002E54 + D4FF5799EBFF5799EBFF5799EBFF72B7FFFF173BB6FF063384FF1548A0FF1448 + A0FF14489FFF114297FF063384FF173BB6FF5799EBFF5799EBFF5799EBFF5799 + EBFF2E54D4FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000F34245230A373FF39D6A6FF1FCE9AFF30A3 + 73FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000F34245230D4A3FF12BD8EFF12BD8EFF0DCB95FF0DCB + 96FF0DCB95FF12BD8EFF12BD8EFF30D4A3FF0F34245200040205000000000000 + 00000000000000000000000000000000000000000010BD8462F1E8A97FFFEEA9 + 7AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA9 + 7AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFEEA97AFFD595 + 70FF140E0B4A0000002700000000000000000000000000000000000000000000 + 0000D4D4D4FFBFBFBFFFBFBFBFFFBFBFBFFF9C9C9CFF063384FF194FA7FF184E + A7FF184EA7FF184EA5FF063384FF9C9C9CFFBFBFBFFFBFBFBFFFC3C3C3FFB3B3 + B3FF000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000F34245234D5A4FF10BF8EFF10BF8EFF30D4A2FF2DA5 + 75FF00000000000403060004030600040306000403060009060C000403060004 + 0306000403060004030600040306000302040000000000000000000000000000 + 0000000000000F3424522DA575FF12BE8FFF12BE8FFF0ECC97FF0ECC96FF0DCC + 96FF0ECC96FF0ECD97FF12BE8EFF12BF8FFF2DA575FF0F342452000000000000 + 00000000000000000000000000000000000000000000B57D5BEFF6BB91FFE09B + 73FFD5916AFFD6926BFFD8946CFFD8956DFFD9956DFFDA966FFFDB976FFFDB97 + 6FFFDB976FFFDD9971FFDE9971FFDE9971FFE09A72FFE09A72FFE09B73FFE09C + 74FFB07C5ECD0000000000000000000000000000000000000000000000000000 + 0000D4D5D5FFBFBFBFFFCBCBCBFFCDCDCDFF9C9C9CFF063384FF093889FF0938 + 89FF093889FF1951AAFF063384FF9C9C9CFFCBCBCBFFCBCBCBFFBFBFBFFFB3B3 + B3FF000000000000000000000000000000000000000000000000000000000000 + 00000008050A0F3424522CA675FF10C08FFF10C08EFF0DCA94FF37D6A5FF2BA7 + 76FF2CA676FF2CA676FF2CA676FF2BA676FF2BA676FF2BA675FF2BA676FF2CA6 + 76FF2CA675FF2CA676FF2BA675FF2CA676FF0000000000000000000000000000 + 00000F3424522CA676FF2AD3A2FF11C090FF0ECD98FF0ECD98FF0ECE97FF0ECD + 98FF0DCE97FF0ECE98FF0ECD98FF11C190FF2AD4A1FF2CA676FF0F3424520000 + 00000000000000000000000000000000000000000000B67E5CEEFDEFE2FFEDAC + 83FFE9A37AFFE9A37AFFE9A37AFFE9A37AFFE9A37AFFE9A37AFFE9A37AFFE9A3 + 7AFFE9A47AFFE9A47AFFE9A47BFFE9A47BFFE9A47BFFE9A47BFFE9A47BFFE19C + 74FFD3946FFB0000000000000000000000000000000000000000000000000000 + 0000D6D6D6FFC3C3C3FFD3D3D3FFD6D6D6FF9C9C9CFF063384FF1D58B0FF1D57 + B0FF1D57AFFF114498FF063384FF9C9C9CFFD6D6D6FFD3D3D3FFBFBFBFFFB3B3 + B3FF000000000000000000000000000000000000000000000000000000000000 + 00000F3424522BA777FF2ED4A2FF10C18FFF0DCC95FF0DCB95FF0DCB95FF3CD7 + A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7A7FF3CD7 + A7FF3CD7A7FF3CD7A7FF3CD7A7FF2AA777FF0000000000000000000000000F34 + 245224D4A1FF10C995FF10C995FF0ED09BFF0ED09AFF0ED09AFF0ED09BFF0ED0 + 9AFF0ED09AFF0ED09AFF0ED09AFF0ED09AFF10C996FF10C995FF24D4A1FF0F34 + 24520000000000000000000000000000000000000000B67E5DECF4C196FFEDB1 + 87FFE19C74FFEAA57CFFEAA57CFFEAA67DFFEAA67DFFEAA67DFFEAA67DFFEAA6 + 7DFFEAA67DFFEBA77DFFEBA77EFFEBA77EFFEBA87EFFEBA87EFFEBA87EFFEAA7 + 7EFFE6A57BFFC88D6BEE00000000000000000000000000000000000000000000 + 0000D9D9D9FFD0CFCFFFD8D8D9FFD8D9D9FF9C9C9CFF063384FF215EB8FF205D + B7FF205EB7FF1952A9FF063384FF9C9C9CFFD9D8D8FFD9D8D8FFC4C4C4FFB3B3 + B3FF000000000000000000000000000000000000000000000000000604080F34 + 245219C895FF0FC492FF0DCE98FF0DCF98FF0DCE98FF0ECE98FF10C18FFF10C1 + 8FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C18FFF10C1 + 8FFF10C18FFF10C18FFF19D29FFF28AA7AFF00000000000000000F34245227AB + 7AFF0FCC98FF0FCC97FF0ED19CFF0ED19CFF0ED19CFF0ED19BFF0FD19CFF0ED2 + 9CFF0ED19CFF0ED29BFF0ED19CFF0ED29CFF0ED19BFF0FCB97FF0FCC98FF27AA + 7AFF0F34245200000000000000000000000000000000B7805EEBF3C297FFCC8F + 69FFE19E76FFEAA67DFFEBA87EFFEBA87EFFEBA87EFFEBA87FFFECA97FFFECA9 + 7FFFECA97FFFECA97FFFECAA80FFECAA80FFECAA80FFECAA80FFEDAA80FFEDAB + 81FFE9A77EFFDB9C76FE00000000000000000000000000000000000000000000 + 0000DADADAFFD6D6D6FFDADADAFFDADADBFF9C9C9CFF063384FF3786D5FF3786 + D5FF3786D5FF1E5AB2FF063384FF9C9C9CFFDADADAFFDADADAFFCCCCCCFFB3B3 + B3FF0000000000000000000000000000000000000000000000000F34245226AC + 7BFF0FC793FF0DCF99FF0ECF9AFF0DD099FF0ED099FF0ED09AFF0DD099FF0ED0 + 99FF0DD099FF0ED099FF0DD09AFF0DCF9AFF0DCF9AFF0DD09AFF0DD099FF0DD0 + 9AFF0EC995FF10C18FFF20D6A2FF26AB7BFF000000000F34245226AC7BFF1ED4 + A1FF0FCF9AFF0ED39DFF0ED39DFF0ED29DFF0ED39DFF0ED29DFF0FD39DFF0ED3 + 9DFF0ED29DFF0ED39DFF0ED39DFF0ED39DFF0FD29DFF0ED39CFF10CE99FF1ED4 + A1FF26AC7AFF0F342452000000000000000000000000B77F5EE9F3C397FFC286 + 61FFE8AB82FFE5A47AFFECAA80FFEDAA80FFEDAB81FFEDAB81FFEDAB81FFEDAB + 81FFEDAC82FFEDAC82FFEDAC82FFEEAC83FFEEAD83FFEEAD83FFEEAD84FFEEAD + 84FFEDAD83FFE9AA80FF00000000000000000000000000000000000000000606 + 060BDCDBDBFFDCDCDBFFDBDCDBFFDBDBDCFF9C9C9CFF063384FF2260BAFF2260 + BAFF2260BAFF2260BAFF063384FF9C9C9CFFDBDBDBFFDBDBDCFFD3D3D3FFADAD + ADFF2C2C2C4B000000000000000000000000000000000F34245224AD7CFF19CB + 99FF0DD19BFF0ED19BFF0ED19BFF0ED19BFF0DD19BFF0DD19AFF0DD19BFF0DD2 + 9BFF0ED19BFF0ED19BFF0DD19BFF0DD19BFF0DD29BFF0DD19BFF0ED29BFF0ED1 + 9BFF0DD19BFF0ECA96FF27D9A6FF24AD7CFF0F342452D0F5EBFF57E7BEFF57E7 + BEFF56E9BFFF57EABFFFCEF5EBFF0ED59FFF0ED5A0FF0ED5A0FF0ED5A0FF0ED6 + A0FF0ED5A0FF0FD6A0FF0ED59FFF0ED59FFF23DBA9FFCEF5EBFF56EABFFF57E7 + BEFF57E7BEFFD0F5EBFF0F3424520000000000000000B78060E7F2C499FFCC90 + 6AFFEEC499FFEBAC83FFEDAD84FFF0B086FFF0B187FFF0B187FFF1B188FFF1B1 + 88FFF1B288FFF1B388FFF1B389FFF1B389FFF1B489FFF1B489FFF2B48AFFF2B4 + 8BFFF2B48BFFF3B58BFF936A50AD000000000000000000000000000000001935 + BFFF9F9F9FFFD4D4D5FFDEDFDEFFDFDEDEFF9C9C9CFF3786D5FF3786D5FF3786 + D5FF3786D5FF3786D5FF3786D5FF9C9C9CFFDEDEDFFFDEDEDFFFD1D0D0FFA3A3 + A3FE1226ADFF0000000000000000000000000F34245217D09CFF0FCF9AFF0ED4 + 9EFF0DD49EFF0ED49EFF0DD49EFF0ED49EFF0ED49EFF0ED49EFF0ED49EFF0ED4 + 9EFF0ED49DFF0ED49EFF0DD49EFF0ED49EFF0ED49EFF0ED49EFF0DD49EFF0ED4 + 9EFF0ED49EFF0ED49EFF34DFB0FF21B17FFF21B17EFF21B17FFF21B17FFF20B1 + 7FFF21B17FFF21B17FFF19B885FF0FD7A2FF0ED7A1FF0ED7A1FF0FD7A1FF0FD6 + A1FF0FD7A2FF0FD6A1FF0FD7A1FF0ED7A1FF27DEACFF18B985FF21B07EFF21B1 + 7FFF21B17EFF21B17EFF21B17FFF0000000000000000B88160E5F2C79AFFD195 + 6EFFE5B287FFEFC094FFECAF85FFF2B48AFFF2B48AFFF2B48BFFF3B58BFFF3B6 + 8BFFF3B68BFFF3B68BFFF3B68CFFF3B68CFFF4B78DFFF4B78DFFF4B78DFFF4B8 + 8EFFF4B88EFFF4B88EFFCA926FEE000000000000000000000000000000001935 + BFFFA1A1A1FF9F9F9FFFD5D5D5FFE0DFDFFFDFE0E0FFE0DFE0FF2A8F60FF0CC7 + 90FF2A8F60FFE0E0E0FFE0DFE0FFE0E0DFFFDFE0E0FFD2D2D2FF9C9C9CFF4275 + DBFF1226ADFF00000000000000000000000020B27FFF0ED6A0FF0ED5A0FF0ED6 + 9FFF0ED69FFF0ED6A0FF0ED59FFF0ED69FFF0ED69FFF0ED69FFF0ED5A0FF0ED5 + A0FF0ED69FFF0ED59FFF0ED59FFF0ED69FFF0ED5A0FF0ED59FFF0ED5A0FF0ED6 + 9FFF0ED6A0FF0ED5A0FF3CE2B4FF20B280FF0000000000000000000000000000 + 0000000000000000000017BB87FF0FD8A3FF0FD8A3FF0FD8A3FF0FD8A2FF0FD9 + A3FF0FD8A2FF0FD8A2FF0ED9A3FF0ED8A3FF2CE0AEFF17BA87FF000000000000 + 00000000000000000000000000000000000000000000B88261E4F1C89BFFD69A + 72FFD79B73FFF0C99CFFF2B58BFFF4B78DFFF4B88DFFF4B88EFFF4B88EFFF4B9 + 8EFFF4B98EFFF5B98FFFF5B98FFFF5BA8FFFF6BA90FFF6BB90FFF6BB90FFF6BB + 90FFF6BB90FFF6BB90FFE8AD85FF624836730000000000000000000000001935 + BFFF4275DBFFA2A2A2FF9F9F9FFFE1E1E1FFE1E1E1FFE1E1E1FF0CC790FF2A8F + 60FF2E54D4FF2A8F60FFE1E1E1FFE1E1E1FFD2D2D2FF9D9D9DFFA4A5A5FF4A8D + EBFF1226ADFF000000000000000000000000063C2C5233E1B1FF0FD7A1FF0ED7 + A1FF0FD7A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED6A1FF0ED7A1FF0ED7 + A1FF0ED7A1FF0ED7A1FF0ED7A1FF0ED7A2FF0ED7A1FF0ED7A1FF0ED7A1FF0FD6 + A1FF0ED7A1FF0ED7A1FF42E5B7FF1FB381FF0000000000000000000000000000 + 0000000000000000000014BD8AFF0FDBA5FF0FDBA6FF0FDBA6FF0FDBA6FF0FDA + A5FF0FDBA6FF0FDBA5FF0FDAA6FF0FDBA5FF35E4B4FF14BD8AFF000000000000 + 00000000000000000000000000000000000000000000B88362E1EFC99CFFDFA3 + 7BFFDFA37BFFE2A77FFFFFFAF1FFFDF1DFFFFDEFDBFFFDEDD9FFFCEAD2FFFBE9 + CFFFFAE7CCFFF9E2C4FFF9E1C1FFF8DFBEFFF8DDBAFFF7DCB8FFF7DCB8FFF6DB + B7FFF6DAB6FFF6DAB6FFF5D9B5FFD7A481FA0000000000000000000000001935 + BFFF3562DAFF5092EFFF4275DBFFA0A0A0FFD8D9D9FFE4E3E3FF154BA3FFF1B1 + 87FFF1B187FFE4E4E3FFE3E3E3FFD5D5D5FFA4A4A5FF4275DBFF4B8EECFF1934 + BFFF1226ADFF00000000000000000000000000000000063C2C521BB684FF46E7 + BAFF0FDAA4FF0FDAA4FF0EDAA4FF0EDAA4FF0EDAA5FF0ED9A4FF0FDAA4FF0EDA + A4FF0FDAA4FF0EDAA4FF0EDAA4FF0EDAA4FF0FDAA4FF0FDAA4FF0FDAA4FF0FDA + A4FF0EDAA4FF0FDAA4FF4EE9BEFF1BB783FF0000000000000000000000000000 + 0000000000000000000013BF8BFF0FDCA7FF0FDCA7FF0FDCA7FF0FDCA7FF0FDC + A6FF0FDCA6FF10DCA7FF0FDCA6FF0FDCA7FF39E6B7FF13BF8BFF000000000000 + 00000000000000000000000000000000000000000000B98363E0EFCA9CFFE3A8 + 7FFFE3A87FFFE3A87FFFE7AE87FFE9AF85FFE9AF85FFE9AF85FFE9AF85FFE9AF + 85FFE9AF85FFE9AF85FFE9AF85FFE9AF85FFE9AF85FFE9AF85FFE9AF85FFDBA0 + 79FF91674EB18A624AA7886149A43D2C21490000000000000000000000000C17 + 3A462E54D4FF3563DAFF5699F1FFA1A1A3FFA0A0A0FFDADAD9FF154BA3FFF1B1 + 87FFF1B187FFE5E5E5FFD5D5D6FF9D9D9DFF4275DBFF4B8EECFF2447CAFF1226 + ADFF060E34460000000000000000000000000000000000000000063C2C521AB8 + 85FF0EDBA5FF0FDBA6FF0FDBA6FF0FDBA5FF0FDCA5FF0FDCA6FF0EDBA5FF0EDB + A6FF0FDCA5FF0FDBA6FF0EDBA5FF0EDCA6FF0FDCA6FF0EDBA5FF0FDBA6FF0FDB + A6FF0FDBA6FF0EDBA6FF53EBC1FF19B884FF0000000000000000000000000000 + 0000000000000000000012C08CFF0FDDA8FF0FDDA8FF10DDA8FF0FDDA8FF0FDD + A8FF0FDDA8FF0FDEA8FF0FDEA8FF0FDDA8FF3DE7BAFF12C08CFF000000000000 + 00000000000000000000000000000000000000000000B88463DEEFCA9DFFE8AD + 84FFEFB58AFFEFB58BFFEFB58BFFEFB48AFFEEB48AFFEEB48AFFEDB389FFEDB3 + 89FFEDB389FFECB288FFECB188FFECB187FFEBB086FFEAB086FFEAAF86FFDCA0 + 79FF17100B1E0000000000000000000000000000000000000000000000000000 + 00001935BFFF2E54D4FF3664DAFF4275DBFFA1A1A3FFA0A0A0FF063384FF0633 + 84FF063384FFD6D6D6FF9D9D9DFFA4A5A5FF5093EFFF244ACBFF1934BFFF060E + 334500000000000000000000000000000000000000000000000000000000063C + 2C5258EDC3FF0FDCA7FF0FDDA7FF0FDDA7FF0FDDA7FF0FDCA7FF0EDCA7FF0EDD + A7FF0FDDA7FF0EDDA7FF0FDDA7FF0EDDA7FF0FDCA7FF0FDCA7FF0EDDA7FF0FDD + A7FF0EDDA7FF0FDDA7FF56EDC2FF18B985FF0000000000000000000000000000 + 0000000000000000000010C28DFF10E0ABFF10E0ABFF0FE0ABFF0FE0AAFF10E0 + AAFF10E0AAFF0FDFAAFF0FE0ABFF0FDFAAFF45EBBDFF10C28DFF000000000000 + 00000000000000000000000000000000000000000000BA8665DCEECC9FFFF6BC + 91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC + 91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFE2A7 + 7FFF140E0A1A0000000000000000000000000000000000000000000000000000 + 0000000000000B1535401935BFFF3664DBFF579BF2FF4275DBFFA0A0A0FFDBDC + DBFFD8D7D8FFA3A4A7FF4275DBFF579AF1FF878CA6FF1226ADFF060D2F400000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000063C2C5216BC88FF6BF2CCFF0FDFA9FF0FE0AAFF0FDFAAFF21E3B1FF16BC + 89FF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C08AFF13C0 + 8AFF13C08AFF13C08AFF13C08AFF13C08AFF0000000000000000000000000000 + 000000000000000000000FC38EFF0FE1ACFF0FE1ABFF0FE1ACFF10E1ACFF0FE1 + ACFF0FE1ACFF0FE1ABFF10E1ABFF0FE1ACFF4AECC0FF0FC38EFF000000000000 + 00000000000000000000000000000000000000000000BC8867DCEDCC9FFFF6BC + 91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFFADDB8FFFADD + B8FFFADDB8FFFADDB8FFFADDB8FFFADDB8FFFADDB8FFFADDB8FFFADDB8FFD198 + 73F4050302070000000000000000000000000000000000000000000000000000 + 000000000000000000000B14323D2E54D4FF3664DBFF589BF2FFA0A1A4FFA0A0 + A0FF9D9D9DFF4275DBFF579BF2FF061D94FFABABABFF050C2D3D000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000063C2C5214BD89FF10E0ABFF10E1ABFF10E0ABFF2DE6B6FF14BD + 89FF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000FC38EFF0FE2ADFF10E2ADFF0FE2ADFF0FE2ADFF0FE2 + ADFF10E2ADFF10E2ADFF10E2ADFF10E2ADFF4DEDC1FF0FC38EFF000000000000 + 00000000000000000000000000000000000000000000BF8A69E0EDCD9FFFF6BC + 91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF6BC91FFF3D2AEFFDDAC8EFFDDAC + 8EFFDDAC8EFFDDAC8EFFDDAC8EFFDDAC8EFFDDAC8EFFDDAC8EFFDDAC8EFF3B2B + 2045000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000001935BFFF2E54D4FF3664DBFF4275DBFF9FA1 + A5FF9D9FA7FF589CF2FF061D94FFA0A5BFFFABABABFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000063C2C527CF5D2FF0FE2ACFF10E1ADFF3AEABBFF13BE + 8BFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000EC48FFF10E4AFFF10E4AFFF10E4AFFF10E4AFFF10E4 + AEFF10E4AFFF10E4AFFF10E4AFFF0FE4AFFF53EFC5FF0EC48FFF000000000000 + 0000000000000000000000000000000000000000000087634C99D9A686FAD89D + 78FAD69C77F8D69B77F7D69B77F7D49A75F5C18B69E4271C1531000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000A122E381935BFFF3563DAFF72B7 + FFFF72B7FFFF1934BFFFABABABFFCCCCCCFFABABABFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000063C2C5211C18CFF89F8D7FF50EEC4FF12C1 + 8CFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000EC48FFF10E5B0FF10E5B0FF10E5B0FF10E5B0FF10E5 + B0FF10E5B0FF10E5B0FF0FE5B0FF0FE4B0FF55F0C5FF0EC48FFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000009112C352E54D4FF3F82 + E6FF3F82E6FF1226ADFFABABABFFCCCCCCFFABABABFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000063C2C5210C28DFF57F0C7FF11C2 + 8DFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000EC48FFF0FE5B1FF10E6B0FF10E6B0FF10E5B0FF0FE5 + B1FF10E6B1FF10E5B0FF10E6B1FF10E6B1FF57F0C8FF0EC48FFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000001935BFFF3F82 + E6FF3F82E6FF050A2634ABABABFFE4EBEBFFABABABFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000063C2C52F5F9F7FF10C2 + 8DFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000EC48FFF0EC48FFF0EC48FFF0EC48FFF0EC48FFF0EC4 + 8FFF0EC48FFF0EC48FFF0EC48FFF0EC48FFF0EC48FFF0EC48FFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000509 + 181E0206161E0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000EC4 + 8FFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000003200000040000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000052000000520000005200000052000000520000 + 0052000000520000005200000032000000320000000000000017000000270000 + 0032000000400000004000000040000000400000004100000047000000400000 + 0040000000400000004500000047000000400000004000000040000000400000 + 0040000000250000001A00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000343433FF232323FF2222 + 22FF222222FF212121FF212121FF202020FF202020FF1F1F1FFF1F1F1FFF1E1E + 1EFF1E1E1EFF1D1D1DFF1D1D1DFF1D1D1DFF1C1C1CFF1C1C1CFF1B1B1BFF1B1B + 1BFF1B1B1BFF1A1A1AFF343433FF000000000000000000000000000000000534 + 6AFF12589FFF12589FFF12589FFF12589FFF12589FFF12589FFF12589FFF1258 + 9FFF12589FFF12589FFF12589FFF12589FFF12589FFF12589FFF12589FFF1258 + 9FFF05346AFF000000000000000000000000000000179D9E9EFF9D9E9EFF9D9E + 9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E + 9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E9EFF9D9E + 9EFF9D9E9EFF9D9E9EFF00000017000000000000000000000000000000150000 + 001BE2B798FFE1B696FFE1B696FFE1B696FFE1B696FFE1B696FFE1B696FFE1B6 + 96FFE1B696FFE1B696FFE1B696FFE1B696FFE1B696FFE1B696FFE1B696FFE1B6 + 96FFE1B696FFE1B696FF000000110000000000000000363635FFF4E0BDFFF7E2 + BFFFF7E2BEFFF7E2BEFFF7E1BDFFF7E1BCFFF7E1BCFFF7E0BBFFF7E0BBFFF7E0 + BAFFF7E0BAFFF7E0BAFFF7E0BAFFF7E0BAFFFAEFCCFFF9EED0FFF7EBCFFFF5E5 + C9FFF2DFC0FFF2DAB6FF343433FF000000000000000000000000000000000534 + 6AFF0F5094FF073B75FF073A74FF073973FF073972FF073871FF063770FF0637 + 6FFF06376FFF06366EFF06356DFF05356DFF05356CFF05346BFF05346BFF0E50 + 94FF05346AFF00000000000000000000000000000000CCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFF00000000000000000000000000000000000000000000 + 0000F9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5 + C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5C4FFF9E5 + C4FFF9E5C4FFE2B797FF000000000000000000000000393937FFF7E3C1FFF7E3 + C1FFF7E2C0FFF7E2BFFFF7E2BEFFF7E2BEFFF7E2BEFFF7E1BDFFF7E1BCFFF7E0 + BBFFF7E0BBFFF7E0BAFFF7E0BAFFF7E0BAFFF8E3BCFFFCF3CEFFFDF7D8FFFEF9 + E4FFFEF9E7FFF3DEBBFF343433FF000000000000000000000000000000000534 + 6AFF0F5195FFF6DDB6FFF6DDB5FFF6DDB4FFF6DDB4FFF6DCB3FFF6DCB3FFF6DC + B3FFF6DCB2FFF6DCB2FFF6DCB2FFF9E9C1FFFAEDD2FFF9E9CDFFF7E1BDFF0F51 + 95FF05346AFF00000000000000000000000000000000CCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCC + CCFFCCCCCCFFCCCCCCFF00000000000000000000000000000000000000000000 + 0000F8E2BBFFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6 + B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6B1FFF3D6 + B1FFF8E0BAFFE2B898FF0000000000000000000000003E3D3BFFF8E4C4FFF8E4 + C4FFF7E4C3FFF7E4C3FFF7E3C2FFF7E3C1FFD8C7A9FF8C8171FFF7E2BFFFF7E2 + BEFFF7E2BEFFB4A48CFF756C5DFF736A5CFFF5DEBAFFF7E0BBFFF7E0BBFFFCF5 + D3FFFDF7DBFFF8EBD0FF343433FF000000000000000000000000000000000534 + 6AFF115499FFF6DFB9FFF6DFB8FFF6DEB7FFF6DEB7FFF6DDB5FFF6DDB4FFF6DD + B4FFF6DDB4FFF6DDB4FFF6DDB4FFF6DDB4FFF8E5BBFFFCF5D3FFFDF6DDFF1154 + 99FF05346AFF00000000000000000000000000000000CDCDCDFFCCCCCCFFDF98 + 71FFEBA279FFEBA279FFEAA279FFEAA279FFEAA279FFEAA279FFEAA279FFFCC8 + A5FFEAA279FFEAA279FFEBA279FFEAA279FFEAA279FFEAA279FFEAA279FFDF98 + 71FFCCCCCCFFCCCCCCFF00000000000000000000000000000000000000000000 + 0000F8E1BEFFF3D6B1FFF5DAB5FFF8E1BBFFF8E0BBFFF8E1BBFFF8E1BBFFF8E1 + BBFFF8E1BBFFF8E1BCFFF8E1BBFFF8E1BBFFF9E1BCFFF8E1BBFFF8E1BBFFF4D7 + B2FFF8E1BBFFE3B99AFF00000000000000000000000040403CFFF8E5C7FFF8E5 + C7FFF8E4C5FFF8E4C4FFF7E4C3FFF7E4C3FFB7AA94FF262626FFF7E3C1FFF7E2 + C0FFF7E2C0FF1D1D1DFF1C1C1CFF1F1F1EFF615A4EFFF5DFBBFFF7E1BCFFF7E1 + BCFFFBEFCCFFFAF1D2FF343433FF000000000000000000000000000000000535 + 6BFF11559BFFF6E0BBFFF6DFB9FFF6DFB8FFF6DEB8FFF6DEB7FFF6DDB6FFF6DD + B6FFF6DDB5FFF6DDB4FFF6DDB4FFF6DDB4FFF6DDB4FFF7DFB7FFFBF1CCFF1155 + 9AFF05356BFF00000000000000000000000000000000CECECEFFCDCDCDFFDE97 + 71FFEBA37AFFEBA27AFFEAA37AFFE9A178FFEAA179FFEBA37AFFEAA27AFFFCC8 + A5FFEAA27AFFEAA279FFEBA379FFEBA27AFFEAA37AFFEBA37AFFEBA27AFFDF98 + 71FFCDCDCDFFCDCDCDFF00000000000000000000000000000000000000000000 + 0000F8E2BFFFF3D7B2FFF8E2BCFFF8E1BCFFF8E1BCFFF8E1BCFFF8E2BCFFF8E1 + BCFFF8E1BCFFF8E1BCFFF8E2BCFFF8E1BCFFF8E1BCFFF9E1BCFFF8E1BCFFF5DA + B5FFF8E1BCFFE3BA9BFF00000000000000000000000042423EFFF8E6C9FFF8E6 + C9FFF8E5C8FFF8E5C7FFF8E4C5FFF8E4C4FFB9AB95FF292929FFF7E4C3FFF7E3 + C2FFE2D0B2FF252524FFC9B79DFFEDD9B7FF1B1B1BFFAA9C85FFF7E2BEFFF7E1 + BDFFF7E1BCFFF9E9C3FF343433FF000000000000000000000000000000000535 + 6CFF12569DFFF6E0BCFFF6E0BBFFF6E0BAFFF6E0BAFFF6DFB9FFF6DEB7FFF6DE + B7FFF6DEB7FFF6DDB6FFF6DDB5FFF6DDB5FFF6DDB5FFF6DDB5FFF6DEB5FF1256 + 9DFF06356CFF00000000000000000000000000000000CFCFCFFFCECECEFFDB94 + 6EFFEBA37AFFEAA37AFFE8A178FFDC9770FFE09971FFE8A079FFEAA37AFFFCC8 + A5FFEBA47AFFEBA37AFFEBA37BFFEBA37AFFEBA37AFFEBA37AFFEAA47BFFDF98 + 71FFCECECEFFCECECEFF00000000000000000000000000000000000000000000 + 0000F8E3BFFFF4D8B3FFF8E2BDFFF8E2BDFFF8E2BDFFF8E1BDFFF9E2BCFFF8E2 + BDFFF8E2BDFFF8E2BDFFF8E2BDFFF8E2BCFFF8E1BDFFF8E1BCFFF8E2BDFFF5DB + B6FFF8E1BDFFE3BC9CFF000000000000000000000000474742FFF8E7CCFFF8E7 + CCFFF8E7CBFFF8E7CBFFF8E6CAFFF8E6C9FFBBAF9AFF303030FFF8E5C7FFF8E4 + C5FFF8E4C5FFF7E4C3FFF7E4C3FFF7E4C3FF222222FF766E61FFF7E3C1FFF7E2 + C0FFF7E2BFFFF7E2BFFF343433FF000000000000000000000000000000000637 + 6FFF1359A0FFF7E2C0FFF7E2BFFFF7E2BEFFF7E2BEFFF6E0BDFFF6E0BBFFF6E0 + BBFFF6E0BBFFF6DFBAFFF6DFB9FFF6DFB9FFF6DFB9FFF6DEB8FFF6DEB8FF1359 + A1FF06366FFF00000000000000000000000000000000D1D1D1FFD0D0D0FFCC87 + 63FFD18C68FFCF8965FFCA8562FFCE9B81FFC7825FFFD18C68FFEBA47BFFFCC8 + A5FFECA57CFFECA57CFFE8A37BFFE9A27AFFEBA57CFFEBA57CFFECA57CFFDF9A + 73FFD0D0D0FFD0D0D0FF00000000000000000000000000000000000000000000 + 0000F9E4C3FFF4DAB5FFF8E2BFFFF8E3BFFFF8E3BFFFF9E3BFFFF8E2BEFFF8E3 + BEFFF9E3BFFFF8E2BFFFF8E2BFFFF8E3BFFFF8E2BFFFF8E2BEFFF8E3BEFFF5DC + B8FFF8E2BFFFE5BE9FFF0000000000000000000000004A4944FFF8E8CEFFF8E8 + CEFFF8E7CDFFF8E7CCFFF8E7CBFFF8E7CBFFBCB09DFF333333FFF8E6C9FFF8E5 + C8FFF6E3C5FF56524CFFBDAF99FFC9B9A1FF262626FFAB9F8BFFF7E4C3FFF7E3 + C2FFF7E3C1FFF7E3C1FF343433FF000000000000000000000000000000000737 + 70FF135AA3FFF7E3C1FFF7E2C0FFF7E2C0FFF7E2C0FFF7E2BFFFF7E1BEFFF7DF + BCFFF7E0BAFFF7E1BBFFF7E0BAFFF7E0BAFFF7E0BBFFF7E0BAFFF7E0BAFF135B + A3FF073771FF00000000000000000000000000000000D2D2D2FFD1D1D1FFD7A7 + 8EFFC78360FFCD8E6FFFDBBCACFFE4E2E1FFD49E81FFC98461FFE59F78FFFBC7 + A4FFEBA67DFFE6A279FFDE9A73FFDC9770FFEAA57DFFECA67DFFECA67DFFDF9A + 73FFD1D1D1FFD1D1D1FF00000000000000000000000000000000000000000000 + 0000F8E4C5FFF6DEBAFFF9E3BFFFF8E2BFFFF8E3C0FFF8E3C0FFF8E3C0FFF9E3 + C0FFF8E2C0FFF8E3C0FFF8E3BFFFF8E3C0FFF9E3C0FFF7E2BEFFF9E1BEFFF6DD + B9FFF7E1BDFFE5BFA0FF0000000000000000000000004C4C46FFF9E9CFFFF9E9 + CFFFF8E8CEFFF8E8CEFFF8E7CDFFF6E5CAFFBDB19FFF373737FFF8E7CBFFF8E6 + CAFFF8E6CAFF2E2E2EFF2D2D2DFF2C2C2CFF6E685EFFF7E3C3FFF8E4C4FFF7E4 + C3FFF7E4C3FFF7E4C3FF343433FF000000000000000000000000000000000738 + 72FF145BA4FFF8E3C3FFF7E3C2FFF7E3C1FFF7E3C1FFF7E2C0FFF7E2BFFFF7E1 + BDFFF6DFBAFFF7DFBAFFF7E1BBFFF7E1BCFFF7E1BCFFF7E0BBFFF7E0BBFF145C + A5FF073872FF00000000000000000000000000000000D3D3D3FFD2D2D2FFE6E4 + E3FFDFC4B5FFE6E4E3FFE6D6CCFFE8BBA1FFE5DED9FFCE906FFFDA956FFFF5BF + 9DFFEAA57DFFD9946DFFCB8763FFCA8663FFE8A37AFFEBA77EFFECA77EFFE09B + 74FFD2D2D2FFD2D2D2FF00000000000000000000000000000000000000000000 + 0000F9E5C5FFF7DFBDFFF8E3C0FFF9E3C0FFF9E3C1FFF8E3C0FFF8E3C0FFF9E3 + C0FFF9E3C0FFF8E2C0FFF9E3C1FFF9E4C1FFF7E2C0FFF8E3BFFFF7E2BFFFF5DD + BAFFF7E0BEFFE6C0A3FF000000000000000000000000515149FFF9EAD2FFF9EA + D2FFF9E9D1FFF9E9D1FFF9E9D0FF464544FF3E3E3EFF3D3D3DFFF8E8CEFFF8E7 + CDFFF8E7CDFF353535FF9E9485FFE2D3B9FFE2D2B8FFF3E2C4FFF8E6C9FFF8E5 + C8FFF8E5C7FFF8E5C7FF363634FF00000000000000000000000000000000073A + 76FF155EA9FFF8E5C4FFF8E4C3FFF8E4C3FFF8E4C3FFF8E4C3FFF7E3C2FFF7E2 + C1FFF6E1BEFFF5DAB4FFF5DCB3FFF6DEB9FFF7E3C0FFF7E2BFFFF7E2BEFF155F + A9FF083A76FF00000000000000000000000000000000D5D5D5FFD4D4D4FFE19C + 75FFECA980FFECA980FFEDA980FFEDA980FFECAA82FFE9DAD1FFCA8662FFCE8D + 6BFFCB8764FFE4D5CEFFE9E5E3FFDFBFAEFFD08D68FFE29F77FFECA87FFFE09C + 75FFD4D4D4FFD4D4D4FF00000000000000000000000000000000000000000000 + 0000F9E6C9FFF7E1BFFFF9E4C2FFF8E4C3FFF8E4C2FFF9E4C2FFF8E4C2FFF9E4 + C2FFF7E3C2FFF7E1BFFFF5DEBDFFF5DFBDFFF5DFBEFFF5DEBEFFF5DEBDFFF3DC + BAFFF3DCBCFFE8C3A5FF00000000000000000000000053534BFFF9EBD4FFF9EB + D4FFF9EAD3FFF9EAD2FFF9E9D1FFE1D3BDFF5D5B57FF414141FFF9E9CFFFF8E8 + CEFFF8E8CEFF393939FF383838FF363636FF333333FFCBBDA7FFF8E7CBFFF8E6 + CAFFF8E6C9FFF8E6C9FF363635FF00000000000000000000000000000000083B + 78FF1660ABFFF8E5C7FFF8E5C5FFF8E5C4FFF8E5C4FFF8E4C3FFF8E4C3FFF8E4 + C3FFF8E3C2FFF5DFB7FFF5DBB2FFF5DCB4FFF7E1BEFFF7E3C0FFF7E3C0FF1660 + ABFF083C78FF00000000000000000000000000000000D7D7D7FFD6D6D6FFEBB1 + 8FFFFCC9A6FFFCC9A6FFFCC9A6FFFCC9A6FFFCC9A6FFF9CAABFFDEB49DFFC887 + 65FFD6A991FFEBCDBAFFF4C4A6FFECE7E4FFCC8B69FFDCA07EFFF3BD9BFFEBB1 + 8FFFD5D5D5FFD5D5D5FF00000000000000000000000000000000000000000000 + 0000F9E7CAFFF7E2C0FFF9E5C4FFF8E4C3FFF9E5C4FFF8E5C4FFF9E5C3FFF9E4 + C4FFF8E3C1FFF4DEBEFFF2DCBCFFF3DDBDFFF4DDBEFFF5DEBEFFF4DEBDFFF4DD + BAFFF4DEBDFFE8C5A7FF00000000000000000000000053534BFFF9ECD5FFF9EC + D5FFF9EBD4FFF9EBD4FFF9EAD3FFF9EAD2FFDACEB9FF504F4DFFF9E9D1FFF9E9 + D0FFF9E9D0FF6B6760FF6A6660FF69655FFF67635CFFD7C9B1FFF8E7CCFFF8E7 + CBFFF8E7CBFFF8E7CBFF383836FF00000000000000000000000000000000093C + 7AFF1662ADFFF8E6C9FFF8E5C8FFF8E5C7FFF8E5C7FFF8E5C5FFF8E4C4FFF8E4 + C3FFF8E4C3FFF8E1BFFFF5DFB8FFF4DAB0FFF5DFBAFFF7E1BFFFF7E3C2FF1661 + ADFF093D7AFF00000000000000000000000000000000D8D8D8FFD7D7D7FFE19E + 77FFEDAB82FFEEAB82FFEEAB82FFEDAB82FFEDAB82FFEDAB82FFEEE9E7FFE7D1 + C3FFECE3DEFFEBA981FFEDAB82FFEBB99AFFD29B7EFFCA8663FFDB9772FFE19E + 77FFD7D7D7FFD7D7D7FF00000000000000000000000000000000000000000000 + 0000F9E8CCFFF8E5C4FFF9E5C5FFF9E5C5FFF9E5C5FFF9E5C4FFF8E5C4FFF8E4 + C4FFF8E3C2FFF2DCBDFFF3DCBDFFF2DBBAFFF2DBBBFFF2DCBCFFF3DCBCFFF3DD + BCFFF3DCBDFFE9C7A9FF00000000000000000000000058584FFF0C5DDDFF0B5C + DCFF0A5ADAFF0959D9FF0958D8FF0855D6FF0754D5FF0653D4FF0551D2FF0550 + D1FF044FD1FF034DCFFF034DCEFF024CCEFF024BCDFF024BCDFF024BCDFF024B + CDFF024BCDFF024BCDFF3A3A38FF000000000000000000000000000000000A3F + 7EFF1864B2FFF8E7CBFFF8E7CAFFF8E7CAFFF8E7CAFFF8E6C9FFF8E5C8FFF8E5 + C8FFF8E5C8FFF8E5C5FFF8E4C4FFF8E2C1FFF6DBB4FFF5DBB3FFF7E0BDFF1864 + B1FF0A3F7EFF00000000000000000000000000000000DADADAFFD9D9D9FFE19F + 78FFEEAD84FFEEAD84FFEEAD84FFEEAD84FFEEAD84FFEEAD84FFEEAD84FFFCC8 + A5FFEEAD85FFEEAD84FFEEAD84FFEEAD84FFEFD7C8FFECD9CFFFCA8663FFDA98 + 72FFD9D9D9FFD9D9D9FF00000000000000000000000000000000000000000000 + 0000F9E8CDFFF8E6C7FFF9E6C8FFF9E5C8FFF8E6C8FFF9E5C7FFF9E6C8FFF7E4 + C5FFF6E1C3FFEDD5B7FFEACFB1FFE8CCAFFFE7CBACFFE6CBADFFE7CBACFFE8CC + AFFFDEBEA3FFE7C3A8FF0101010200000000000000005A5A50FF0C5EDEFF0C5D + DEFF0B5BDCFF0A5ADBFF0A59DAFF0957D8FF0856D7FF0755D6FF0653D4FF0652 + D3FF0551D2FF044FD0FF044ED0FF034DCFFF024CCEFF024BCDFF024BCDFF024B + CDFF024BCDFF024BCDFF3C3C39FF000000000000000000000000000000000A41 + 81FF1965B3FFF8E8CCFFF8E7CBFFF8E7CBFFF8E7CBFFF8E7CAFFF8E6C9FFF8E6 + C9FFF8E6C9FFF8E5C8FFF8E5C7FFF8E5C7FFF6E0BBFFF5DAB3FFF6DCB6FF1865 + B3FF0A4081FF00000000000000000000000000000000DBDBDBFFDADADAFFE2A0 + 79FFEFAE85FFEEAE85FFEFAE85FFEEAE85FFEFAE85FFEFAE85FFEEAE85FFFCC9 + A6FFEEAE85FFEFAE85FFEEAE85FFEFAE85FFECAE87FFF2E4DCFFE5C7B5FFD28E + 6AFFDADADAFFDADADAFF00000000000000000000000000000000000000000000 + 0000F9E9CFFFF8E6C8FFF9E7C8FFF9E6C8FFF9E6C8FFF8E6C9FFF9E7C9FFF8E5 + C7FFF5E1C3FFEACFB3FFE4C5AAFFE2C0A5FFDBB89CFFDBB89CFFD9B69BFFD9B7 + 9BFFE8CDAEFFE7C3A8FF0000000000000000000000005D5C52FF0D5FE0FF0D5F + DFFF0C5DDDFF0B5CDDFF0B5BDCFF0A59DAFF0958D9FF0857D8FF0754D6FF0753 + D5FF0652D4FF0550D2FF044FD1FF044ED0FF034DCEFF034CCEFF024BCDFF024B + CDFF024BCDFF024BCDFF3E3E3BFF000000000000000000000000000000000B41 + 82FF1966B5FFF8E8CEFFF8E8CDFFF8E8CCFFF8E8CCFFF8E7CBFFF8E7CAFFF8E7 + CAFFF8E7CAFFF8E6C9FFF8E5C8FFF8E5C8FFF8E2C3FFF6E0BCFFF5DDB5FF1967 + B5FF0B4282FF00000000000000000000000000000000DCDCDCFFDBDBDBFFE2A1 + 79FFEFAF86FFEEAF86FFEEAE85FFEFAF86FFEFAF86FFEFAF86FFEFAF86FFFCC9 + A6FFEEAE86FFEEAF86FFEFAF86FFEFAF86FFEFAF86FFECB58FFFF5EFEBFFCC88 + 64FFDBDBDBFFDBDBDBFF00000000000000000000000000000000000000000000 + 0000F9E9CFFFF8E7C9FFF8E7C9FFF9E7C9FFF8E6C9FFF9E7CAFFF9E6C9FFF8E5 + C8FFF4E0C1FFE8CBAFFFE2C2A7FFE4C7AEFFDFBFA6FFE1C3A8FFEAD2B6FFF5DF + BCFFE8C5AAFF483B3252000000000000000000000000626156FF0E61E1FF0E61 + E1FF0D60E0FF2A70E4FF3D79E6FF3270E0FF0B5BDCFF0A5ADBFF0958D9FF0857 + D8FF0856D7FF0753D5FF0652D4FF2769DFFF3B77E5FF306CDDFF044ECFFF034C + CEFF024BCDFF024BCDFF43433FFF000000000000000000000000000000000C44 + 87FF1B69B9FFF9E9D0FFF8E9CFFF9B9280FF9B9280FF9B927FFF9B927FFF9B92 + 7FFF9B927EFF9B917EFF9B917DFF9B917DFF9B917DFFBFB299FFF8E5C7FF1B69 + B8FF0C4487FF00000000000000000000000000000000DEDEDEFFDDDDDDFFE3A1 + 7AFFEFB187FFEFB188FFEFB087FFEFB088FFEFB187FFEFB187FFEFB188FFFCCA + A7FFEFB187FFEFB187FFEFB188FFF0B188FFEFB188FFEFB088FFEFB088FFF5EA + E3FFDDDDDDFFDDDDDDFF00000000000000000000000000000000000000000000 + 0000F9EAD1FFF9E7CBFFF9E8CBFFF9E8CBFFF9E7CCFFF9E8CBFFF9E8CBFFF6E6 + C9FFF1DDC0FFFCF9F7FFF8F2ECFFFDF7EEFFFAECD5FFF8E3C3FFF7E0BBFF483D + 33520000000000000000000000000000000000000000646458FF0E61E1FF0E61 + E1FF1F6BE4FF2E65D0FF133896FF133896FF2A5CBFFF0B5CDCFF0A5ADAFF0959 + D9FF0957D8FF0855D6FF1B62DCFF2D63CEFF173271FF133896FF2A5EC5FF034D + CFFF034CCEFF024CCEFF454540FF000000000000000000000000000000000D45 + 8AFF1B6AB9FFF9EAD1FFF9E9D0FF565544FF575545FF575544FF575644FF5755 + 44FF565544FF575545FF575544FF575644FF86806CFF9B917DFFF8E7CAFF1B69 + BAFF0D4589FF00000000000000000000000000000000DFDFDFFFDEDEDEFFE3A3 + 7BFFEFB288FFF0B188FFEFB288FFF0B188FFEFB188FFEFB188FFF0B288FFFCCA + A7FFEFB288FFF0B188FFEFB288FFEFB289FFF0B188FFEFB188FFF0B188FFEFD1 + BDFFDEDEDEFFDEDEDEFF00000000000000000000000000000000000000000000 + 0000F9EBD2FFF9E8CCFFF8E7CCFFF9E8CCFFF9E7CCFFF9E8CCFFF8E7CBFFF7E4 + C8FFF2DDC0FFFEFAF5FFFCF6ECFFFBF0DDFFF8E3C2FFF7DFBAFFEDD0B4FF0000 + 0000000000000000000000000000000000000000000067665AFF0E61E1FF0E61 + E1FF1565E2FF133CA0FF526D97FF506C97FF163A8BFF0C59D5FF0B5BDCFF0A5A + DBFF0A59DAFF0957D8FF115BD9FF123BA0FF4774C5FF506C97FF1742A4FF044E + D0FF034ECFFF034DCFFF484842FF000000000000000000000000000000000D47 + 8CFF1C6BBBFFF9EAD2FFF9EAD1FF908974FF908974FF908974FF908974FF9089 + 74FF908974FF908974FF908974FF908974FF5A5A48FF9B917EFFF8E7CBFF1C6A + BBFF0D468CFF00000000000000000000000000000000E1E1E1FFE0E0E0FFE2A3 + 7BFFEFB289FFF0B289FFF0B289FFF0B289FFF0B288FFF0B289FFEFB289FFFCCA + A7FFF0B289FFEFB289FFEFB289FFEFB289FFEFB289FFEFB289FFF0B289FFE9B7 + 98FFDFDFDFFFDFDFDFFF00000000000000000000000000000000000000000000 + 0000F9EBD2FFF9E8CDFFF9E8CDFFF9E8CCFFF9E8CDFFF8E8CDFFF9E7CBFFF6E4 + C9FFF1DCBFFFFCF4E7FFFBEFDCFFF9E8CEFFF7DFB9FFEFD3B7FF493E35520000 + 000000000000000000000000000000000000000000006B6B5DFF579BF0FF579B + F0FF579BF0FF579BF0FF46453DFF48473FFF345E98FF4C89D6FF579BF0FF579B + F0FF579BF0FF579BF0FF579BF0FF579BF0FF3D3C36FF48473FFF345E98FF579B + F0FF579BF0FF579BF0FF4B4B45FF000000000000000000000000000000000E49 + 90FF3786D5FF3786D5FF3786D5FFF5F6EFFFE3E5D2FFD3D6B6FFD3D6B6FFD3D6 + B6FFD3D6B6FFD3D6B6FFD3D6B6FFDDDFC7FF64634FFF2F5B83FF3786D5FF3786 + D5FF0E4990FF00000000000000000000000000000000E3E3E3FFE2E2E2FFE3A3 + 7CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFEBB2 + 90FFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A37CFFE3A3 + 7CFFE2E2E2FFE2E2E2FF00000000000000000000000000000000000000000000 + 0000F9EBD4FFF9E8CEFFF9E8CEFFF9E8CEFFF9E9CEFFF9E9CEFFF7E6CDFFF5E1 + C8FFF0DABEFFF7E2C0FFF7E1BEFFF7DFB9FF51463C5900000000000000000000 + 000000000000000000000000000000000000000000006E6D5FFF4078AFFF2380 + E4FF2380E4FF2380E4FF3D3C36FF3D3C36FF164883FF1F6EC5FF2380E4FF2380 + E4FF2380E4FF2380E4FF2380E4FF2380E4FF3D3C36FF3D3C36FF164883FF2380 + E4FF2380E4FF3770A9FF4F4E47FF000000000000000000000000000000000B39 + 71C70E4A93FF0E4B92FF0F4A92FF686754FF686754FF686754FF72725EFF7272 + 5EFF72725EFF72725EFF686854FF686754FF455C6DFF183A5EFF0E4B92FF0F4A + 92FF0B3971C700000000000000000000000000000000E4E4E4FFE3E3E3FFE3E3 + E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3 + E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3E3FFE3E3 + E3FFE3E3E3FFE3E3E3FF00000000000000000000000000000000000000000000 + 0000FAECD4FFF9E8CEFFF9E9CFFFF9E9CEFFF9E9CFFFF9E8CDFFF7E5CCFFF4E2 + C7FFF0DABFFFF7DFB9FFF7DFB9FFF1D8BCFF0000000000000000000000000000 + 000000000000000000000000000000000000000000006E6D5FFF6C6C5EFF6B6B + 5DFF6A695CFF69685BFFA9A98AFFB8B998FF32363FFF52544FFF636257FF6261 + 56FF626156FF5F5F54FF5E5E53FF5E5D53FFD4D4ABFFB8B998FF2C313BFF5858 + 4FFF58584FFF57564EFF79786DFF000000000000000000000000000000000000 + 000000000000000000000000000000000000000000006C6B57FF646351FF6463 + 51FF646351FF646351FF6D6C58FF000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000 + 0000FAECD5FFF9E9CFFFF9E9CFFFF9E9CFFFF9E9CFFFF9E9CEFFF7E6CCFFF6E3 + C9FFF1DDC2FFF4DCB8FFF1D8BCFF6A5E50720000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000515044C7515044C70000000000000000000000000000 + 000000000000000000000000000000000000686758FF515044C7000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000004545389B73725DFF7372 + 5DFF73725DFF73725DFF4545389B000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000F1D8BCFFF1D8BCFFF1D8BCFFF1D8BCFFF1D8BCFFF1D8BCFFF1D8BCFFF1D8 + BCFFF1D8BCFF7266587900000000000000000000000000000000000000000000 + 000000000000000000000000000000000000424D3E000000000000003E000000 + 2800000060000000A00500000100010000000000804300000000000000000000 + 000000000000000000000000FFFFFF0000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FF + E003FFE003FFE003FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01FFFF01 + FFFE01FFFE01FFFE01FFFE01FFF801FFF801FFF801FFF801FFF803FFF803FFF8 + 03FFF803FFF003FFF003FFF003FFF003FFE00FFFE00FFFE00FFFE00FF0001FF0 + 001FF0001FF0001FE0001FE0001FE0001FE0001F80007F80007F80007F80007F + 8000FF8000FF8000FF8000FF8001FF8001FF8001FF8001FF0000FF0000FF0000 + FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF00001F00 + 001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F + 8000FF8000FF8000FF8000FF8000FF8000FF8000FF8000FFC000FFC000FFC000 + FFC000FFF03FFFF03FFFF03FFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 + 0000FFFFFF8007FFE00007000000FFFFFF80FFFFC00007000000010101807FFF + E00007000000010101803FFFE00007800001010101801FFFE000078000030101 + 01800FFFE00007C000030101018007FFE00007E00007010101E003FFE00007E0 + 0007010101F001FFF0000FF0000FEFEFEFF000FFF8001FF0001FEFEFEFFC007F + FE00FFF0001FE0000FFE0007FF00FFF8001FFFEFFFFE0003FE00FFFC003FFE00 + FFFF8001FE007FFE007FFE00FFFFC000FE007FFE007FFE00FFFFC000FE007FFE + 00FFFE00FFFFF020FE007FFF00FFFE00FFFFF070FE007FFF00FFFE00FFFFF038 + FE00FFFFC1FFFE00FFFFF01CFE00FFFFC3FFFE00FFFFF81FFF00FFFFC7FFFE00 + FFFFF80FFFFFFFFFFFFFFFFFFFFFFE07FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFE00FF800001FFFFFF00003FFE00FF000000FFFFFF8000FFFE00FF + 000000FFFFFF8000FFFE00FF0000008007F98000FFFE00FF0000008007F18000 + FFFE00FF0000008007F18000FFFE00FF000000801FE18000FFFE00FF00000080 + 3FC38000FFFE00FF000000801F038000FFFE00FF0000008000038000F8FE00FF + 0000008000038000F8FE00FF0000008000078000F8FE00FF00000080000FFFE3 + F8E0000300000080000FFFE3F8E0000700000080001FFFE3F8F0000F000000FC + 003FFFE1F0F8001F000000FE00FFFFE1F0FC003F000000FF01FFFFE0E0FE007F + 800003FFFFFFFFF001FF00FFFFFFFFFFFFFFFFF803FF81FFFFFFFFFFFFFFFFFC + 07FFC3FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFC00007FE003FFFFFFFC0000FE0001FFE003F000000C0000FE0001F + FFC0FF800003C0000FE0001FFFC1FF800003C0000FE0001FFFC1FF800003C000 + 0FE0001FFFC1FF800003C0000FE0001FFFC1FF800003C0FC0FE0001FFFC1FF80 + 0003C0FC0FE0001FFFC1FF800003C0FC0FE0001FFFC1FF800001C0FC0FE0001F + FFC1FF800001C0FC0FE0001FFFC1FF800001C0FC0FE0001FFFC1FF800001C0C0 + 00E0001FFFC1FF800001C0C000E0001FFFC1FF800001C0C000E0001FF3C1E3FE + 007FC0F003E0001FF1C1E3FE007FC0F803800007F1C1C3FE007FC0F807800007 + F00003FFFFFFC0FE1F800007F00003FFFFFFE1FF1F800007F00003FFFFFFFFFF + 1FC0000FFFFFFFFFFFFFFFFFFFFF87FFF0000FFFFFFFFFFFFFFFFFFFF8001FFF + FFFFFFFFFFFF801FF0000FFFFFFFC00001FFE0FFE00007FFFFFFC00001FFC07F + C00003FFFFFFC00001FFC03F800001FFFFFFC00001FF001F000000FFFFFFC000 + 01FE000F000000FFFFFFC00001FE0007000000FFFFFFC00001F8000300000080 + 0003C00001F00001000000800003C00001F00000000000800003C00001C00001 + 000000E00007C00001800003000000E00007C00001800003000000F0000FC000 + 0180000F000000F0000FC0000180001F000000F0000FC0000180001F000000F0 + 000FC0000182007F800001F0001FC000018200FF800003F8001FC000018000FF + E00007FFFFFFFFFFFFC003FFF0000FFFFFFFFFFFFFE007FFF0001FFFFFFFFFFF + FFF007FFFC003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF000FF01C07FC0FFFFF87FFFFFC3FF07F0FF007FFFF87FFFFF83FF83E1F + F003FFFF87FFFFF83FF8181FC000FFF8007FFFE03FFC001FC0C0FFF8007FFFC0 + 3FFC001F81E0FFF8007FFC003FFC001F83F0FFFF03FFF0001FFE003F87F8FFFE + 00FFF0001FFE001F87F8FFFC00FFF0000FF8001F83F0FFF0003FF0000FE00003 + 81E0FFF0303FF0000FC00003C0C0C7F0781FF0000F800000E00047F0FC1FF000 + 1F800000F00007F1FE1FF0001FFF80FFF00007F1FE1FF0003FFF80FFFFF807F0 + FC1FFFC03FFFC1FFFFF807F0781FFFE03FFFC1FFFFE007F0303FFFF03FFFC3FF + FFE007F8007FFFF83FFFC3FFFFE007FC00FFFFFC3FFFE7FFFFFFFFFE00FFFFFE + 3FFFE7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00FFF03E0FC0 + 000FE00007FF81FFF07F0780001FF8003FFE00FFF07F0780001FF8003FFE007F + F03E0780001FF8003FFE007FF03C2780001FF8003FF8001FF01847F0001FF800 + 3FF0001FF00807F0001FF8003FF0001FF0000FF0001FF8003FF0000FF8001FF0 + 001FF8003FE00007FE003FF0001FF8003FE00007FF80FFF0001FF8003FC00003 + FF80FFF0001FF8003FC00003FF00FFF0001FF8003FC00003FE087FF0001FF800 + 3FC00003FE183FF0001FF8003FC00003FE183FF0001FF8003FC00003FC3E1FF0 + 0003F8003FC00003F87F1FF00003F8003FC00003F07F0FF00003F8003FC00003 + F1FF8FF00003F8003FFF81FFF1FFCFF00003F8003FFFC3FFF3FFEFF80003F800 + 3FFFC7FFFFFFFFFFFFFFF8003FFFE7FFFFFFFFFFFFFFFFFFFFFFFFFFE00003E0 + 0003FFFFFFFFFFFFFC001FFC001FC00003E00003F0000FF0000F800003C00003 + F00007F00007800003800003E00003E00003800003800003C00003C000038000 + 03800003C00003C0000380000380000380000180000180000380000380000180 + 0001800003800003800001800001800003800003800001800001800003800003 + 8000018000018000038000038000018000018000038000038000018000018000 + 03800003800001800001800003800003C00003C00003800003800003E00003E0 + 0003800003800003F00007F00007800003800003F00007F00007800003800003 + FC001FFC001F800003800003FE003FFE003FC00003800003FF00FFFF00FFE000 + 07800003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00003E0 + 0003E00003FFFFFFFC001FFC001FFC001FFC007FF0000FF0000FF0000FF8003F + F00007F00007F00007F0001FE00003E00003E00003E0000FC00003C00003C000 + 03C00007C00003C00003C0000380000380000180000180000180000380000180 + 0001800001800003800001800001800001800003800001800001800001800003 + 8000018000018000018000038000018000018000018000038000018000018000 + 01800003800001800001800001800003C00003C00003C00003800003E00003E0 + 0003E00003800003F00007F00007F00007C00007F00007F00007F00007E0000F + FC001FFC001FFC001FF0001FFE003FFE003FFE003FF8003FFF00FFFF00FFFF00 + FFFC007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFC3FFFFF8FFFC007FFFFFFFFF80E3FFF8FFF8003F + FFFFFFFF00C3FFF87FF0001FFFFFFFFE0001FFF81FE0000FFFFFFFFC0001FFF8 + 1FC00007FFFFFFF8000180000F800003800001F00003800003800003800001E0 + 0003800003800003800001E00003800001800003800001800001800001800003 + 8000018000018000018000038000018000018000038000038000018000018000 + 0780000380000180000180000F800003800001800001FFF81F800003FFFFFF80 + 0001FFF83F800003FFFFFF800001FFF87FC00007FFFFFF800001FFF8FFE0000F + FFFFFF801803FFFFFFF0001FFFFFFFC03803FFFFFFF8003FFFFFFFF03E07FFFF + FFFC007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC003F80 + 07FFFFFFFFFFFFFFFC003F83FFFF80007FFFFFFFF0001FC1FFFF80007FFFFFFF + F0000FE0FFFF80007FFFFFFF800003F03E7F8000639FFFFF800003F03C7F8000 + 439FE001800003F0187F8000418FE001800003FC007FC200018FF001800003FE + 007FE3000187F801800003FE007FFF000183F801800003FF803FC20001806001 + 800003FF001F800001C00001800003FE001F800001C00001C00003FC00078000 + 63E00001E00007FC000380007FF00001F0001FFC000080007FF00001F0001FFF + F80080007FF80019F0001FFFF801FE07FFFC003FF0001FFFFC03FC03FFFE007F + FC003FFFFF07F801FFFFFFFFFC003FFFFF0FF801FFFFFFFFFC003FFFFF1FF801 + FFFFFFFFFFFFFFFFFFFFFE07FFFFFFFFFFFFFF800001FFFFFFFFFFFFFFFFFFF0 + 0007800001FFFFFFFE0003F00007C00003F07FFFFC0003F00007C00003E03FFF + F80003F00007C00003C01FFFF00003F00007C000038007FFE00003F00007C000 + 038007FFE00003F00007C000038003FFE00003F00007C000038000FFE00003F0 + 0007C000038000FFE00003F00007C00003C0007FE00003F00007C00003E0001F + E00003F00007C00003F0001FE00003F00007C00003F0000FE00003F00007C000 + 03FC0007E00003F00007C00003FE0003E00003F00007C00003FE0003E00003F0 + 0007C00003FF8003E00003F00007C00003FFC003E00003F00007C00003FFC003 + E00003F00007C00003FFF007FFFFFFF00007C00003FFF80FFFFFFFFE493FC000 + 03FFFC1FFFFFFFFE493FFFFFFFFFFFFFC00FFFFFFFFFFFFFFFFFFFFFC07FFFFF + FFFFFFFFFFFE001F807FFFFFFFFF800003FFF8FF807FFFFFFFFF800003FFF0FF + 807E1FFC003F800003FFE0FF807807000000800003FFC0FFC078070000008000 + 03FF80C7E07807000000800003F00083F87807000000800003C00003F87807FC + 003F800003C00003F87C07FF00FF800003C00003F87F07FF00FF800003C00007 + F87F87FF00FF800003C00007F87F87FF00FFFC0003C00003F87F87FFC3FFFC00 + 03C00003F80F87FFC3FFFC0003C00003F80187FFC3FFFC0003E00003F80007FF + C3FFFC0003FF80C7F80007FFC3FFFC0003FFC0FFF80007FFC3FFFC0003FFC0FF + FC0007FFC3FFFC0003FFF0FFFF0007FFFFFFFFFFFFFFF8FFFFE007FFFFFFFFFF + FFFFF8FFFFFF87FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC003FF00007FF + FFFFFFFFFFFFC3FFFC001FF0001FFFFFFFFF00FFFC001FFC003FFFFFFFFE00FF + FC001FFC003FF8000FFE007FFC001FFF00FFFF181FFE007FFC001F000000FF18 + 1FFF81FFFC001F000000FE101FF381CFFC001F000000FE007FE381C3FC001F00 + 0000FE00FFC00003FC001F000000FC00FF800001FC001F000000F8007F000000 + FC001F000000F8003F000000FC001F000000F0003F000000FC001F000000F000 + FF800003FC001F000000F003FFC381C3FC001F000000F007FFE381C7FC001F00 + 0000E03FFFFF81FFFC001F000000C0FFFFFE007FFC001F000000C3FFFFFE007F + FC001F000000FFFFFFFE00FFFC001F000000FFFFFFFF00FFFC001F000000FFFF + FFFF81FFFFFFFFFFFFFFFFFFFFFFC7FFC0000FFFFFFFFFFFFFFFFFFFE07FFFFF + FFFFFFFFFFFFFFFF803FFF80000383FFFFFFFFFF801FFFE0000F81FFFFFFFFFF + 860FFFE0000F81FFFFFFFFFF8F07FFE0000FC07FFF8000018707FFE0000FE03F + FF8000018207FFE0000FF03FFF800001C007FFE0000FF80FFF800001E007FFE0 + 000FFC07FF800001F003FFE0000FFE07FF800001F8001FE0000FFF00CF800001 + FC000FE0000FFF8007800001FFC007F0001FFFC007800001FFE003F8FE3FFFE0 + 03800001FFE001F8FE3FFFE001800001FFE061F8FE3FFFE001800001FFF0F0F8 + 7C3FFFF803800001FFF070F87C3FFFF803800001FFF820F8383FFFF003800001 + FFFC01FC007FFFF003800001FFFE03FE00FFFFFE1FFFFFFFFFFF03FF01FFFFFF + 1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + E003FFFFFFFFFFFFFF3FFFFFFF01FFFFFFFFFFFFFE3FFFFFFF01800000800001 + FE3FFFFFFE01800000800003F83FFFFFF801900081800003F03FFFFFF8039000 + 81800003F00001FFF003900081800003C00001FFE00F900081800003800001F0 + 001F900081800003800001E0001F90008180000380000180007F9000FF800003 + 8000018000FF9000FF8000038000018001FF9000FF800003E000010001FF9000 + FF800003F000010001FF9FC0FF800003F03FFF0001FF9FC0FF800003FC3FFF00 + 01FF9FC0FF800003FE3FFF0001FF9FC0FF800003FE3FFF0001FF9FC0FF800003 + FFFFFF8003FF9FC0FFFFFFFFFFFFFF8007FF9FC0FFFFFFFFFFFFFFC007FF9FFF + FFFFFFFFFFFFFFF03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 + 3FFFFFFFFFFFFFFF80007FC01FFFFFFFFF80000383FFFF800FFFFFFFFF800003 + 83FFFF8207FFFFFFFF80000381FFFF8F87FFFFFFFF800003807FFF8FC7FF8000 + 01800003C03FFF8FC7FF800001800003F00FFF8F07FF800001800003F000FF82 + 07FF800001800003F8003F8003FF800001800003FE001FE000FF800001800003 + FE0007F000FF800001800003FF0003FFC07F800001800003FF0003FFF01F8000 + 01800003FF0003FFF81F800001800003FF0203FFF80FEFFFFF800003FF8703FF + FE03E00003800003FF8707FFFF03FFFFFF800003FFC20FFFFF01FFFFFF800003 + FFE01FFFFF00FFFFFFFFFFFFFFE03FFFFF00FFFFFFFFFFFFFFF07FFFFF00FFFF + FFFFFFFFFFFFFFFFFFC7FFFFFFFFFFFFFFFFFFFFFFFFF00007FFFFFF800003FF + FFFFF0000FFFFFFFE00007FC007FF0000FF8001FE00007F8003FF0000FF8001F + E00007F0001FF0000FF8001FE00007E0000FF0000FF8001FE00007C00007F000 + 0FF8001FE00007800003F0000FF8001FE00007800003F0000FF8001FE0000780 + 0003F0000FF8001F800001800003F0000FF8001F800001800003F0000FF8001F + 800001800003F0000FF8001F800001800003F0000FF8001FC00003800003F000 + 0FF8001FE00007800003F0000FF8001FF0000F800003F0000FF8001FF8000F80 + 0003F0000FF8001FFC0007C00007F0000FF8001FFE0007E0000FF0000FF8001F + FF00FFF0001FF0000FF8001FFF81FFF8003FF0000FF8001FFFC3FFFC007FF000 + 0FF8001FFFFFFFFFFFFFF8001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFF + FFFFFC003FFE00FFF8001FFFFFFFFF81FFF6004FF0001FFFFFFFFF00FFE80003 + F0000FFFFFFFFE00FFC0001BC00003000000FC003FA00005C00003000000F800 + 1FE00005800003000000F0001FC00001800001000000E0000F803C0180000100 + 0000E00007807E01800001000000C0000380FF0180000100000080000380FF01 + 80000100000080000380FF0180000100000080000180FF018000010000008000 + 01807E01800001800001800001803C01800003800003800001C00001C00003E0 + 0007800001E00007C00003F0000F800001E00007E00007FFFFFF800001B0000F + F0001FFFFFFFC03803D80013F8001FFFFFFFF03E07CE0067FE007FFFFFFFFFFF + FFF300CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000FFFF + BFFFFFFFFFF0001FF1FFFFFF8FFF000000F8001FF1FFFFFF8FFF800001F8001F + F1FFFFFF87FF800001F8001FF1FFFFFF87FF800001C00003F1FFFFFF83FF8000 + 01800003F1FFFFFFC3FF800001800003F1FFFFFFC0FF800001C03C03F1FFFFFF + C0FF800001C07E03F1FFFFFFC0FF80000180FF03F00003FE007F80000181FF01 + F00003FE003F80000181FF01F00003FE003F80000180FF01F00003FE001F8000 + 01C07E03F00003FE001F800001C03C03F00003FE01FF800001801803F00003FE + 00FF800001800003F00003FE00FF800001C00003F00003FE00FF803FFFF8001F + F00003FE007F807FFFF8001FF001F3FE003F80FFFFF8001FF0FFFFFE003FFFFF + FFFCC33FF1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 + 0003800001FF9FFF807E03E00007CC0033FF87FF807E03E00007CC0033FF87FF + 80FF03E00007C00003FF83FF807E03E00007C00003FF81FF803C03E00007CC00 + 33FF81FF803803E00007CC0033FF81FF880013E00007C00003FF81FFFC003FE0 + 0007C00003FF81FFFE007FE00007CC0033FF81FFFF00FFE00007C00003FF00FF + FF00FFE00007C00003FE007FFE00FFE00007C00003FE003FFC003FE00007CC00 + 33F8001F880013E00007C00003F0000F801803E00007C00003F00007803C03E0 + 0007CC0033C00003807E03E00007CC003380000180FF03E00007C00003800001 + 807E03E00007C00003800001807E03E0000FCC0033800001807E03E0001FCC00 + 33800001FFFFFFE0003FC00003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFC00003800001C1FFFFFC007F800003800001C0FFFFF8003F + 800003800001E03FFFF0001F800003800001F00FFFE0000F800003800001F007 + FFC00007800003800001F007FF800003800003800001F001FF80000380000380 + 0001F800FF800003800003800001F800FF800003800003800001FE003F800003 + 800003800001FE001F800003800003800001FF001F800003800003800001FFC0 + 07800003800003800001FFC003800003800003800001FFE00380000380000380 + 0001FFF801800003800003803FFFFFF801C00007800003803FFFFFFC01E0000F + 80000380FFFFFFFF01F0001FC00003FFFFFFFFFF83F8003FE00007FFFFFFFFFF + C3FC007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0000FFFF7FFF03E0780 + 0001F0001FFFC7FFE07E07E00007F0001FFF81FFC03C03E00007F0001FFF00FF + 803803E00007F0001FFE00FF800001E00007F0001FFC003F800001E00007F000 + 1FF8001F800001E00007F0001FF0001FC00003E00007F0001FE00007E00007E0 + 0007F0001FE00003F0000FE00007F0001FE00007F8001FE00007F0001FFE00FF + F8001FE00007F0001FFE00FFF0001FE00007F0001FFE00FFE00007E00007F000 + 1FFE00FFC00003E00007F0001FFE00FF800003E00007F0001FFE00FF800001E0 + 0007F0001FFE00FF800001E00007F0001FFE00FF801801E00007F0001FFE00FF + C03C03E00007F0001FFE00FFE07E07E0000FF0001FFE00FFF0FF0FE0001FF000 + 1FFE00FFFFFFFFE0003FF0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + F0E3FF00FFFFFFFFFFF1FFFFF003FC001FE0000FFFE1FFFFF003F0000FE0000F + FFE1FFFFF003F00007E0000FFFC1FFFE001FE00003E0000FC00003FE001FC000 + 03E0000F800003FE001FC00003E0000F800001C0021F800001E0000F800001C0 + 021F800001E0000F800001C0021F800001E0000F800001C0021F800001E0000F + 800001C0021F800001E0000F800001C0021F800001E0000F800001C0021F8000 + 01E0000F800001C0021F800001E0000F800001C0021FC00003E0000F800001C0 + 021FE00003E0000F800001C0021FF00007E0000F800001C0021FF00007E0000F + 800001FE001FFC001FE0000F800001FE001FFE003FE0000F800003FE001FFF00 + FFF0001FFFFFFFFFFFFFFFFFFFFFFFFFF8001FFFFFFFFFFFFFFF00FFFC003FFF + FFFF800001FE003FF0000FFC03FFE00007F0000FE00007F803FFE00007F00007 + C00003F003FFE00007E00003800003E001FFE00007C00003800001C001FFE000 + 07800001800001C001FFE00007800001000000E000FFE00007800000000000F0 + 40FFE00007800000000800F0C0FFE00007800000003800FFE07FE00007800000 + 003C00FFE03FE00007800000003800FFF03FE00007800000000000FFF81FE000 + 07800000000000FFF81FE00007800000000000FFFC0FE00007800001800001FF + FF03E00007C00003800003FFFF03E00007C00003800003FFFF83E00007E00003 + E00007FFFFE1E00007F0000FF0000FFFFFFFF0000FF8001FF0001FFFFFFFFE00 + FFFE003FFE00FFFFFFFFFFC7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8001FFF + FFFFFFFFFFFFFFFFF8001FFFFFFF800003C1F0FFF0000F840023800003C0007F + F00007840021800003C000FFE00003840021800003E3F8FFC01E038E00618000 + 03FFFC7FC00F03840021800003FFFC7F80078180000180000380003F8003C180 + 000180000380003F8001C180000180000380003F8100C180000180000380001F + 81804180000180000380001F81C00180000180000380001F81E0018000018000 + 0380001F81F001800001E0000780000FC0F803800001E0000780000FE0000380 + 0001E00007C00007E00007800001FFFFFFFFE007F00007800001FFFFFFFFFFC1 + F8001FFFFFFFFFFFFFFFFFE1FE003FFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80001FFFFFFFFFFFFFFFFFFFC00003FF + FFFF800003FFFFFFC0000780001FC00007FFFFFFC0000780000FC00007800003 + C00007800007C00007800001C00007800003C00007800001C00007800003C000 + 07800001C00007800003C00007800001C00007800003C00007800001C0000780 + 0003C00007800001C00007800003C00007800001C00007800003C00007800001 + C00007800003C00007800001C00007800003C00007800001C00007800003C000 + 07800001C00007800003C00007800001C00007800003C00007800003C0001F80 + 0003C00007E00007C0001F800003C00007F8001FC001FF800003C00007FFC01F + C001FF800003C00007FFFFFFC001FF800003C00007FFFFFFC001FFFFFFFFC000 + 07FFFFFFF007FFFFFFFFFFFFFFFFFFFFFFFFFFF9FBFFFFFFFFFFFFFFFFFFFFF9 + F3FFFFFFFFFFFFFFE00007F8E3FF000000FFFFFFC00003F843FF000000800003 + C00003F803FF000000800003C00003F803FF000000800003C00003F803FF0000 + 00800003C00003F803FF000000800003C00003F803FF000000800003C00003F8 + 03FF000000800003C00003F803FF000000800003800001F803FF000000800003 + 800001F803FF000000800003800001F8001F000000800003800001F8001F0000 + 00800003FFC7FFF8001F000000800003FFC7FFF8001F000000800003FFC7FFF8 + 001F000000800003FFC7FFF8001F800001800003FFC7FFF8001FFE3CFF800003 + FFC7FFF8001FFE00FFFFFFFFFFC7FFF8001FFE00FFFFFFFFFFC7FFF8001FFE00 + FFFFFFFFFFFFFFFE007FFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFFFFFE0000FFF + C1FFFFFFFFF8001FE0000FFE003FFE7E7FFE00FFE0000FFC001FF83C1FFE18FF + E0000FF8000FF03C1FFE38FFC00007F00003F0181FFE3CFFC00007C0C181F818 + 1FFC38FF800003C1C1C1F8001FFC38FF800003C1C1C1FE007FFC38FF800003C1 + C1E1FE007FFC38FF800003C3E3E1FE00FFFC38FF800003CFE3F9800001FC38FF + 800003CFE3FD800001FC38FF800003FF80FF800001FC38FF800003FF80FF8000 + 01FC38FF800003FFE3FFFE00FFFC30FF800003FFC1FFFE007FFC30FF800003FF + 80FFFC003FFC00FF800003FF80FFFC001FFC84FF800003FF88FFF8181FFCFCFF + 800003FF80FFF0381FFC38FFC06C07FF80FFF03C1FFC00FFF0C60FFFC0FFF83C + 1FFE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + E003FC001FC0001F000000FFFF01FF00FFC00007000001FFFF01FF00FFC00007 + 000001FFFE01FF00FFC00007000001FFF801FF00FFC00007000001FFF803FF00 + FFC00007000001FFF003FF00FFC00007000001FFE00F800000C00007000001F0 + 001F800000C00007000000E0001F800000C0000700000080007F800000C00007 + 0000008000FF800000C000070000008001FF800000C000070000000001FF8000 + 00C000070000010001FF800000C000070000010001FF800000C0000700000100 + 001FFF00FFC0000700000100001FFF00FFC0000700000100001FFF00FFC00007 + 0000018003FFFF00FFC000070000018007FFFF00FFC00007000001C007FFFF00 + FFC00007FFFFFFF03FFFFF00FFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFE000F00 + 0000FC001FFFFFFFFC0007000000FC001F000000FA000FF0000FFC001F000001 + F00FFFF0000FFC001F800001F007FFF0000FFC001F800001E003FFF00007FC00 + 1F8000018003FFF00007FC001F8000018001FFF00007FC001FC000030001FFF0 + 0007FC001FE0000701807FF00003FC001FF0000F03C07FE00003FC003FFF00FF + 87E07FE00003000001FF81FF87F03FE00003000001FF00FFFFF81FE000018000 + 03FF00FFFFFC0F800001C00007FE00FFFFFE0F800001E0000FFE00FFFFFF0780 + 0001F0001FFE00FFFFFF87800001F8003FFE00FFFFFFC1800001FC007FFE00FF + FFFFE1800000FE00FFFF00FFFFFFF1800001FF01FFFF00FFFFFFF8800001FF83 + FFFF81FFFFFFFCE00003FFC7FFFFFFFFFFFFFFF0000FFFFFFF000001F8000FF0 + 000F000000000041FE003FFFF1FF800001800041000000FFF0FF800005800041 + 000000FFF07F80000180004180000100103F80000180004180000100000F8000 + 0180004180000100000780000180004180000100000380000180004180000100 + 0003800001800041800001000000800001800041800001000000800001800041 + 80000100000080000180006380000100000080000180007F8000010000018000 + 0180007F80000100000380000180007FE4000700000780000180007FFC003F00 + 000F80000180007FFC003FFFF01F80000180007FFC003FFFF03F800001803FFF + FC003FFFF07F800001803FFFFC003FFFF0FF800001803FFFFC003FFFF1FF8000 + 01803FFFFFFFFFFFF7FFFFFFFF807FFFFFFFFFF8003F88007FFFFFFF000000FE + 003F800000000000800001FE00FFFE00FF800001800000FE00FFFE00FF800001 + 800000FF01FFFE00FF800001800000FF01FFFE00FF800001800000000000FE00 + FF800001800000000000FE00FF80000180000000000000000180000180000000 + 0000000001800001800000000000000001800001800000000000000001800001 + 8000000000000000018000008000000000000000018000008000000000000000 + 01800000800001000000000001800000800001000000000001800000C0000300 + 0000FE00FF800000E00007000000FE00FF800000F0000F000000FE00FF800001 + F8001F000000FE00FF800001FC003F000000FE00FF801801FE007F000000FE00 + FF803E01FFFFFF000000FE00FFC1FFC1F0000FFFFFFFFFFFFFE0001FF0000FFF + FFFF800001E0001FFF83FFFFFFFFE00007FF8FFFFF00FFFFFFFFE00007FF0FFF + FE007F000001E00007FE0FFFFC003F000001F0000FFC0800F8003F800007F000 + 0FF00000F0000F800003F0000FE00000E0000F800003F0000FC00000C0000780 + 0001F0000FC00000800001800001E00007000000000001800001E00007000000 + 000001800001E00007000000FC003F800000E00007000000FC003F800000E000 + 07800000FC003F800000E00007C00000FC003F800007F0000FE00000FC003F80 + 0007F8001FF00000FC003F800007FC003FF80FFFFC003F80000FFE007FFC0FFF + FC003F803FFFFF007FFE0FFFFC003FFFFFFFFF807FFF0FFFFC003FFFFFFFFFC0 + 7FFF8FFFFC003FFFFFFFFFE7FFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFF00000080 + 0001000001E00001800001E00007000001C00001800001E00007800001F00003 + 800001E00007800001F00003800001E00007800001F00003800001E000078000 + 01F00003800001E00007800001F00003800001E00007800001F00003800001E0 + 0007800001F00003800001E00007800001F00003800001E00007800001F00003 + 800001E00007800001F00003800001E00007800001F00001800001E000078000 + 01F00001800001E00007800001F00001800001E00007800001F00003800001E0 + 0007800001F0000F800001E00007800001F0000F800001E00007800001F0001F + 800001E00007800001F0007F800001E00007800001F0007F800001FF81FF8000 + 01F000FFFCFF3FFF81FFFFFFFFF003FF00000000000000000000000000000000 + 000000000000} + end +end diff --git a/打卷检验管理/U_SysLogOrderzsd.pas b/打卷检验管理/U_SysLogOrderzsd.pas new file mode 100644 index 0000000..00400b1 --- /dev/null +++ b/打卷检验管理/U_SysLogOrderzsd.pas @@ -0,0 +1,182 @@ +unit U_SysLogOrderzsd; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, + cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel,strUtils, + cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, + cxControls, cxGridCustomView, cxGrid, ADODB, StdCtrls, ExtCtrls, ImgList, + cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; + +type + TfrmSysLogOrderzsd = class(TForm) + ToolBar1: TToolBar; + TQry: TToolButton; + Tclose: TToolButton; + ADOQueryLog: TADOQuery; + DataSource1: TDataSource; + ADOConnection1: TADOConnection; + cxGrid1: TcxGrid; + tv1: TcxGridDBTableView; + tv1OperMan: TcxGridDBColumn; + tv1jopertime: TcxGridDBColumn; + tv1Model: TcxGridDBColumn; + tv1acction: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + tv1Opevent: TcxGridDBColumn; + tv1Result: TcxGridDBColumn; + Panel1: TPanel; + Label2: TLabel; + Label1: TLabel; + begDate: TDateTimePicker; + endDate: TDateTimePicker; + Label3: TLabel; + edt_model: TEdit; + CheckBox1: TCheckBox; + Label4: TLabel; + edt_nr: TEdit; + ThreeImgList: TImageList; + procedure TcloseClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TQryClick(Sender: TObject); + procedure edt_modelChange(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + private + + procedure DoQuery(); + procedure DoFilter(); + public + fModel,facction:string; + fOtherWhere:string; + FMainid:String; + end; + +var + frmSysLogOrderzsd: TfrmSysLogOrderzsd; + +implementation +uses + U_DataLink; +{$R *.dfm} + +procedure TfrmSysLogOrderzsd.TcloseClick(Sender: TObject); +begin + close; +end; + +procedure TfrmSysLogOrderzsd.FormCreate(Sender: TObject); +begin + cxGrid1.Align :=alClient; + begDate.DateTime :=date-31; + endDate.DateTime :=date; + with ADOConnection1 do + begin + Connected:=false; + ConnectionString:=DConString; + Connected:=true; + end; +end; +///////////////////////////////////////////////////////// + // +//////////////////////////////////////////////////////// +procedure TfrmSysLogOrderzsd.DoQuery(); +var + mbegdate,menddate:string; + +begin + mbegdate:=formatDatetime('yyyy-MM-dd',begDate.Date); // + menddate:=formatDatetime('yyyy-MM-dd',endDate.Date+1); + try + with ADOQueryLog do + begin + close; + sql.clear; + filtered:=false; + sql.add('select A.* '); + sql.add('from SY_sysLog A'); + if CheckBox1.Checked then + begin + sql.Add('where OperTime>='+quotedStr(mbegdate)); + sql.Add('and OperTime<'+quotedStr(menddate)); + end + else + begin + sql.Add('where 1=1'); + end; +// sql.Add(' and isnull(Mainid,'''')='''+Trim(FMainid)+''' and isnull(Mainid,'''')<>'''' '); +// if trim(facction)<>'' then + sql.add('and acction like ''ָʾ%'' '); + if trim(fOtherWhere)<>'' then + begin + sql.add(fOtherWhere); + end; + sql.Add('order by operOr,Opertime'); + Open; + end; + finally + end; +end; +/////////////////////////////////////////////////////////// + // +/////////////////////////////////////////////////////////// +procedure TfrmSysLogOrderzsd.DoFilter(); +var + filterStr:string; +begin + filterStr:=''; + // + if trim(edt_model.text)<>'' then + begin + filterStr:=' and model ='+quotedStr(trim(edt_model.text)); + end; + if trim(edt_nr.text)<>'' then + begin + filterStr:=' and OpEvent like '+quotedStr('%'+trim(edt_nr.text)+'%'); + end; + + try + ADOQueryLog.DisableControls ; + if trim(filterStr)='' then + begin + ADOQueryLog.Filtered:=false; + exit; + end; + filterStr:=trim(RightBStr(filterStr,length(filterStr)-4)); + with ADOQueryLog do + begin + filtered:=false; + filter:=filterStr; + filtered:=true; + end; + finally + ADOQueryLog.EnableControls; + end; + +end; + + +procedure TfrmSysLogOrderzsd.FormShow(Sender: TObject); +begin + DoQuery(); +end; + +procedure TfrmSysLogOrderzsd.TQryClick(Sender: TObject); +begin + DoQuery(); +end; + +procedure TfrmSysLogOrderzsd.edt_modelChange(Sender: TObject); +begin + DoFilter(); +end; + +procedure TfrmSysLogOrderzsd.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + action:=cafree; +end; + +end. diff --git a/打卷检验管理/U_ZJManage.dfm b/打卷检验管理/U_ZJManage.dfm new file mode 100644 index 0000000..8923582 --- /dev/null +++ b/打卷检验管理/U_ZJManage.dfm @@ -0,0 +1,2093 @@ +object frmZJManage: TfrmZJManage + Left = 5 + Top = 33 + Width = 1238 + Height = 760 + Caption = 'frmZJManage' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + PixelsPerInch = 96 + TextHeight = 13 + object Label1: TLabel + Left = 22 + Top = 25 + Width = 66 + Height = 33 + Caption = #25195#25551 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 22 + Top = 93 + Width = 62 + Height = 29 + Caption = #24133#23485 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 22 + Top = 157 + Width = 62 + Height = 29 + Caption = #38271#24230 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 22 + Top = 222 + Width = 62 + Height = 29 + Caption = #37325#37327 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 22 + Top = 362 + Width = 62 + Height = 29 + Caption = #30133#28857 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 22 + Top = 281 + Width = 62 + Height = 29 + Caption = #36873#25321 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Edit1: TEdit + Left = 88 + Top = 21 + Width = 297 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + Text = 'Edit1' + end + object ScrollBox1: TScrollBox + Left = 88 + Top = 339 + Width = 501 + Height = 342 + TabOrder = 1 + object SpeedButton13: TSpeedButton + Left = 3 + Top = 3 + Width = 80 + Height = 80 + Caption = #23567#40657#28857 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton14: TSpeedButton + Left = 85 + Top = 3 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton15: TSpeedButton + Left = 167 + Top = 3 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton16: TSpeedButton + Left = 249 + Top = 3 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton17: TSpeedButton + Left = 331 + Top = 3 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton18: TSpeedButton + Left = 413 + Top = 3 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton19: TSpeedButton + Left = 3 + Top = 85 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton20: TSpeedButton + Left = 85 + Top = 85 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton21: TSpeedButton + Left = 167 + Top = 85 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton22: TSpeedButton + Left = 249 + Top = 85 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton23: TSpeedButton + Left = 331 + Top = 85 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton24: TSpeedButton + Left = 413 + Top = 85 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton25: TSpeedButton + Left = 3 + Top = 168 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton26: TSpeedButton + Left = 85 + Top = 168 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton27: TSpeedButton + Left = 167 + Top = 168 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton28: TSpeedButton + Left = 249 + Top = 168 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton29: TSpeedButton + Left = 331 + Top = 168 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton30: TSpeedButton + Left = 413 + Top = 168 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton31: TSpeedButton + Left = 3 + Top = 251 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton32: TSpeedButton + Left = 85 + Top = 251 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton33: TSpeedButton + Left = 167 + Top = 251 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton34: TSpeedButton + Left = 249 + Top = 251 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton35: TSpeedButton + Left = 331 + Top = 251 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + object SpeedButton36: TSpeedButton + Left = 413 + Top = 251 + Width = 80 + Height = 80 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + end + end + object Button1: TButton + Left = 424 + Top = 16 + Width = 145 + Height = 57 + Caption = #30133#28857#23450#20041 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + end + object Button2: TButton + Left = 584 + Top = 16 + Width = 145 + Height = 57 + Caption = #20998#20999#35774#32622 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = Button2Click + end + object Button3: TButton + Left = 744 + Top = 16 + Width = 145 + Height = 57 + Caption = #25171' '#21360 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + end + object MovePanel1: TMovePanel + Left = 546 + Top = 382 + Width = 439 + Height = 299 + BevelInner = bvLowered + Color = clSkyBlue + TabOrder = 5 + Visible = False + object Label17: TLabel + Left = 50 + Top = 47 + Width = 120 + Height = 29 + Caption = #36215#22987#20301#32622 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 237 + Top = 116 + Width = 30 + Height = 29 + Caption = #21040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label19: TLabel + Left = 353 + Top = 55 + Width = 16 + Height = 29 + Caption = 'M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label20: TLabel + Left = 353 + Top = 167 + Width = 16 + Height = 29 + Caption = 'M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label21: TLabel + Left = 51 + Top = 116 + Width = 112 + Height = 29 + Caption = 'Label21' + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Edit50: TEdit + Left = 171 + Top = 47 + Width = 174 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + end + object Button4: TButton + Left = 73 + Top = 223 + Width = 75 + Height = 49 + Caption = #30830#23450 + TabOrder = 1 + end + object Button5: TButton + Left = 299 + Top = 223 + Width = 75 + Height = 49 + Caption = #21462#28040 + TabOrder = 2 + end + object Edit51: TEdit + Left = 171 + Top = 157 + Width = 174 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + end + end + object cxGrid2: TcxGrid + Left = 552 + Top = 334 + Width = 337 + Height = 337 + TabOrder = 6 + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column1 + end + item + Kind = skSum + Column = Tv2CDQty + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = cxStyle1 + object tv2CDType: TcxGridDBColumn + Caption = #30133#28857#31181#31867 + DataBinding.FieldName = 'CDName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 83 + end + object tv2CDWZ: TcxGridDBColumn + Caption = #20301#32622#36215 + DataBinding.FieldName = 'CDBeg' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Options.Sorting = False + Width = 59 + end + object v2Column2: TcxGridDBColumn + Caption = #20301#32622#27490 + DataBinding.FieldName = 'CDend' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Width = 61 + end + object Tv2CDQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'CDQty' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 64 + end + object Tv2CDReason: TcxGridDBColumn + Caption = #21407#22240 + DataBinding.FieldName = 'CDReason' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Width = 131 + end + object v2Column1: TcxGridDBColumn + DataBinding.FieldName = 'CDQty' + Visible = False + Width = 55 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object cxGrid3: TcxGrid + Left = 984 + Top = 344 + Width = 201 + Height = 333 + TabOrder = 7 + object Tv3: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Header = cxStyle1 + object cxGridDBColumn1: TcxGridDBColumn + Caption = #24050#32463#30331#35760#30340#23567#21367 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 186 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv3 + end + end + object Panel5: TPanel + Left = 589 + Top = 337 + Width = 625 + Height = 172 + BevelInner = bvRaised + BevelOuter = bvLowered + ParentColor = True + TabOrder = 8 + Visible = False + object SpeedButton1: TSpeedButton + Left = 4 + Top = 3 + Width = 80 + Height = 80 + Caption = '0' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton2: TSpeedButton + Left = 88 + Top = 3 + Width = 80 + Height = 80 + Caption = '1' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton3: TSpeedButton + Left = 172 + Top = 3 + Width = 80 + Height = 80 + Caption = '2' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton4: TSpeedButton + Left = 256 + Top = 3 + Width = 80 + Height = 80 + Caption = '3' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton5: TSpeedButton + Left = 340 + Top = 3 + Width = 80 + Height = 80 + Caption = '4' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton6: TSpeedButton + Left = 4 + Top = 87 + Width = 80 + Height = 80 + Caption = '5' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton7: TSpeedButton + Left = 88 + Top = 87 + Width = 80 + Height = 80 + Caption = '6' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton8: TSpeedButton + Left = 172 + Top = 87 + Width = 80 + Height = 80 + Caption = '7' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton9: TSpeedButton + Left = 256 + Top = 87 + Width = 80 + Height = 80 + Caption = '8' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton10: TSpeedButton + Left = 340 + Top = 87 + Width = 80 + Height = 80 + Caption = '9' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton11: TSpeedButton + Tag = 9 + Left = 424 + Top = 87 + Width = 80 + Height = 80 + Caption = '.' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -53 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton12: TSpeedButton + Left = 424 + Top = 3 + Width = 80 + Height = 80 + Caption = #8592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -53 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton12Click + end + object SpeedButton49: TSpeedButton + Tag = 9 + Left = 517 + Top = 37 + Width = 91 + Height = 82 + Caption = #38544#34255 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton49Click + end + end + object Button6: TButton + Left = 904 + Top = 16 + Width = 145 + Height = 57 + Caption = #37325#26032#25171#21360 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + end + object Panel6: TPanel + Left = 88 + Top = 78 + Width = 1122 + Height = 258 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 10 + object Panel1: TPanel + Left = 8 + Top = 7 + Width = 1105 + Height = 54 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 0 + object Edit2: TEdit + Tag = 1 + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 0 + Visible = False + end + object Edit3: TEdit + Tag = 2 + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 1 + Visible = False + end + object Edit4: TEdit + Tag = 3 + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 2 + Visible = False + end + object Edit5: TEdit + Tag = 4 + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 3 + Visible = False + end + object Edit6: TEdit + Tag = 5 + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 4 + Visible = False + end + object Edit7: TEdit + Tag = 6 + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 5 + Visible = False + end + object Edit8: TEdit + Tag = 7 + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 6 + Visible = False + end + object Edit9: TEdit + Tag = 8 + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 7 + Visible = False + end + object Edit10: TEdit + Tag = 9 + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 8 + Visible = False + end + object Edit11: TEdit + Tag = 10 + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 9 + Visible = False + end + object Edit12: TEdit + Tag = 11 + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 10 + Visible = False + end + object Edit13: TEdit + Tag = 12 + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 11 + Visible = False + end + end + object Panel2: TPanel + Left = 8 + Top = 71 + Width = 1105 + Height = 54 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 1 + object Edit14: TEdit + Tag = 1 + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + Visible = False + end + object Edit15: TEdit + Tag = 2 + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + end + object Edit16: TEdit + Tag = 3 + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + end + object Edit17: TEdit + Tag = 4 + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + end + object Edit18: TEdit + Tag = 5 + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + end + object Edit19: TEdit + Tag = 6 + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + end + object Edit20: TEdit + Tag = 7 + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + Visible = False + end + object Edit21: TEdit + Tag = 8 + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + Visible = False + end + object Edit22: TEdit + Tag = 9 + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + Visible = False + end + object Edit23: TEdit + Tag = 10 + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + Visible = False + end + object Edit24: TEdit + Tag = 11 + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + Visible = False + end + object Edit25: TEdit + Tag = 12 + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + Visible = False + end + end + object Panel3: TPanel + Left = 8 + Top = 132 + Width = 1105 + Height = 54 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 2 + object Edit26: TEdit + Tag = 1 + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + Visible = False + end + object Edit27: TEdit + Tag = 2 + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + end + object Edit28: TEdit + Tag = 3 + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + end + object Edit29: TEdit + Tag = 4 + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + end + object Edit30: TEdit + Tag = 5 + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + end + object Edit31: TEdit + Tag = 6 + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + end + object Edit32: TEdit + Tag = 7 + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + Visible = False + end + object Edit33: TEdit + Tag = 8 + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + Visible = False + end + object Edit34: TEdit + Tag = 9 + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + Visible = False + end + object Edit35: TEdit + Tag = 10 + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + Visible = False + end + object Edit36: TEdit + Tag = 11 + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + Visible = False + end + object Edit37: TEdit + Tag = 12 + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + Visible = False + end + end + object Panel4: TPanel + Left = 8 + Top = 197 + Width = 1105 + Height = 53 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 3 + object Edit38: TEdit + Tag = 1 + Left = 27 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 0 + Visible = False + OnClick = Edit38Click + end + object Edit39: TEdit + Tag = 2 + Left = 119 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 1 + Visible = False + OnClick = Edit38Click + end + object Edit40: TEdit + Tag = 3 + Left = 211 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 2 + Visible = False + OnClick = Edit38Click + end + object Edit41: TEdit + Tag = 4 + Left = 303 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 3 + Visible = False + OnClick = Edit38Click + end + object Edit42: TEdit + Tag = 5 + Left = 395 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 4 + Visible = False + OnClick = Edit38Click + end + object Edit43: TEdit + Tag = 6 + Left = 487 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 5 + Visible = False + OnClick = Edit38Click + end + object Edit44: TEdit + Tag = 7 + Left = 578 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 6 + Visible = False + OnClick = Edit38Click + end + object Edit45: TEdit + Tag = 8 + Left = 670 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 7 + Visible = False + OnClick = Edit38Click + end + object Edit46: TEdit + Tag = 9 + Left = 762 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 8 + Visible = False + OnClick = Edit38Click + end + object Edit47: TEdit + Tag = 10 + Left = 854 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 9 + Visible = False + OnClick = Edit38Click + end + object Edit48: TEdit + Tag = 11 + Left = 946 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 10 + Visible = False + OnClick = Edit38Click + end + object Edit49: TEdit + Tag = 12 + Left = 1038 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 11 + Visible = False + OnClick = Edit38Click + end + end + end + object Panel7: TPanel + Left = 83 + Top = 79 + Width = 1115 + Height = 242 + TabOrder = 11 + Visible = False + object Label7: TLabel + Left = 22 + Top = 35 + Width = 62 + Height = 29 + Caption = #23494#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 502 + Top = 37 + Width = 124 + Height = 29 + Caption = #20998#20999#20010#25968 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Panel10: TPanel + Left = 1 + Top = 1 + Width = 1113 + Height = 23 + Align = alTop + Alignment = taLeftJustify + BevelOuter = bvNone + Caption = #36873#21333 + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + end + object Button7: TButton + Left = 160 + Top = 166 + Width = 81 + Height = 67 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Button7Click + end + object Button8: TButton + Left = 880 + Top = 169 + Width = 73 + Height = 65 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button8Click + end + object Panel8: TPanel + Left = 8 + Top = 87 + Width = 1105 + Height = 54 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 3 + object Edit52: TEdit + Tag = 1 + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + Visible = False + OnClick = Edit64Click + end + object Edit53: TEdit + Tag = 2 + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + OnClick = Edit64Click + end + object Edit54: TEdit + Tag = 3 + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + OnClick = Edit64Click + end + object Edit55: TEdit + Tag = 4 + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + OnClick = Edit64Click + end + object Edit56: TEdit + Tag = 5 + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + OnClick = Edit64Click + end + object Edit57: TEdit + Tag = 6 + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + OnClick = Edit64Click + end + object Edit58: TEdit + Tag = 7 + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + Visible = False + OnClick = Edit64Click + end + object Edit59: TEdit + Tag = 8 + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + Visible = False + OnClick = Edit64Click + end + object Edit60: TEdit + Tag = 9 + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + Visible = False + OnClick = Edit64Click + end + object Edit61: TEdit + Tag = 10 + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + Visible = False + OnClick = Edit64Click + end + object Edit62: TEdit + Tag = 11 + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + Visible = False + OnClick = Edit64Click + end + object Edit63: TEdit + Tag = 12 + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + Visible = False + OnClick = Edit64Click + end + end + object Edit64: TEdit + Tag = 1 + Left = 97 + Top = 32 + Width = 240 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + PasswordChar = '*' + TabOrder = 4 + OnClick = Edit64Click + end + object Button9: TButton + Left = 344 + Top = 30 + Width = 89 + Height = 43 + Caption = #23494#30721#30830#35748 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + OnClick = Button9Click + end + object ComboBox1: TComboBox + Left = 632 + Top = 34 + Width = 145 + Height = 41 + Style = csDropDownList + DropDownCount = 15 + Enabled = False + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ItemHeight = 33 + ParentFont = False + TabOrder = 6 + OnChange = ComboBox1Change + Items.Strings = ( + '1' + '2' + '3' + '4' + '5' + '6' + '7' + '8' + '9' + '10' + '11' + '12') + end + end + object cxStyleRepository5: TcxStyleRepository + Left = 960 + Top = 16 + object cxStyle6: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + end + object cxStyleRepository1: TcxStyleRepository + Left = 1008 + Top = 56 + object cxStyle1: TcxStyle + AssignedValues = [svColor, svFont] + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle2: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Pitch = fpFixed + Font.Style = [fsBold] + TextColor = clDefault + end + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 886 + Top = 119 + end +end diff --git a/打卷检验管理/U_ZJManage.pas b/打卷检验管理/U_ZJManage.pas new file mode 100644 index 0000000..775c616 --- /dev/null +++ b/打卷检验管理/U_ZJManage.pas @@ -0,0 +1,391 @@ +unit U_ZJManage; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, Buttons, ExtCtrls, cxStyles, cxCustomData, cxGraphics, + cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxTextEdit, + cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, + cxClasses, cxControls, cxGridCustomView, cxGrid, MovePanel, ADODB; + +type + TfrmZJManage = class(TForm) + Edit1: TEdit; + Label1: TLabel; + Label2: TLabel; + Label3: TLabel; + Label4: TLabel; + Label5: TLabel; + Label6: TLabel; + ScrollBox1: TScrollBox; + SpeedButton13: TSpeedButton; + SpeedButton14: TSpeedButton; + SpeedButton15: TSpeedButton; + SpeedButton16: TSpeedButton; + SpeedButton17: TSpeedButton; + SpeedButton18: TSpeedButton; + SpeedButton19: TSpeedButton; + SpeedButton20: TSpeedButton; + SpeedButton21: TSpeedButton; + SpeedButton22: TSpeedButton; + SpeedButton23: TSpeedButton; + SpeedButton24: TSpeedButton; + SpeedButton25: TSpeedButton; + SpeedButton26: TSpeedButton; + SpeedButton27: TSpeedButton; + SpeedButton28: TSpeedButton; + SpeedButton29: TSpeedButton; + SpeedButton30: TSpeedButton; + SpeedButton31: TSpeedButton; + SpeedButton32: TSpeedButton; + SpeedButton33: TSpeedButton; + SpeedButton34: TSpeedButton; + SpeedButton35: TSpeedButton; + SpeedButton36: TSpeedButton; + Button1: TButton; + Button2: TButton; + Button3: TButton; + MovePanel1: TMovePanel; + Label17: TLabel; + Label18: TLabel; + Label19: TLabel; + Label20: TLabel; + Label21: TLabel; + Edit50: TEdit; + Button4: TButton; + Button5: TButton; + Edit51: TEdit; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + tv2CDType: TcxGridDBColumn; + tv2CDWZ: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + Tv2CDQty: TcxGridDBColumn; + Tv2CDReason: TcxGridDBColumn; + v2Column1: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + cxStyleRepository5: TcxStyleRepository; + cxStyle6: TcxStyle; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxStyle2: TcxStyle; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + Panel5: TPanel; + SpeedButton1: TSpeedButton; + SpeedButton2: TSpeedButton; + SpeedButton3: TSpeedButton; + SpeedButton4: TSpeedButton; + SpeedButton5: TSpeedButton; + SpeedButton6: TSpeedButton; + SpeedButton7: TSpeedButton; + SpeedButton8: TSpeedButton; + SpeedButton9: TSpeedButton; + SpeedButton10: TSpeedButton; + SpeedButton11: TSpeedButton; + SpeedButton12: TSpeedButton; + SpeedButton49: TSpeedButton; + Button6: TButton; + Panel6: TPanel; + Panel1: TPanel; + Edit2: TEdit; + Edit3: TEdit; + Edit4: TEdit; + Edit5: TEdit; + Edit6: TEdit; + Edit7: TEdit; + Edit8: TEdit; + Edit9: TEdit; + Edit10: TEdit; + Edit11: TEdit; + Edit12: TEdit; + Edit13: TEdit; + Panel2: TPanel; + Edit14: TEdit; + Edit15: TEdit; + Edit16: TEdit; + Edit17: TEdit; + Edit18: TEdit; + Edit19: TEdit; + Edit20: TEdit; + Edit21: TEdit; + Edit22: TEdit; + Edit23: TEdit; + Edit24: TEdit; + Edit25: TEdit; + Panel3: TPanel; + Edit26: TEdit; + Edit27: TEdit; + Edit28: TEdit; + Edit29: TEdit; + Edit30: TEdit; + Edit31: TEdit; + Edit32: TEdit; + Edit33: TEdit; + Edit34: TEdit; + Edit35: TEdit; + Edit36: TEdit; + Edit37: TEdit; + Panel4: TPanel; + Edit38: TEdit; + Edit39: TEdit; + Edit40: TEdit; + Edit41: TEdit; + Edit42: TEdit; + Edit43: TEdit; + Edit44: TEdit; + Edit45: TEdit; + Edit46: TEdit; + Edit47: TEdit; + Edit48: TEdit; + Edit49: TEdit; + Panel7: TPanel; + Panel10: TPanel; + Button7: TButton; + Button8: TButton; + Panel8: TPanel; + Edit52: TEdit; + Edit53: TEdit; + Edit54: TEdit; + Edit55: TEdit; + Edit56: TEdit; + Edit57: TEdit; + Edit58: TEdit; + Edit59: TEdit; + Edit60: TEdit; + Edit61: TEdit; + Edit62: TEdit; + Edit63: TEdit; + Edit64: TEdit; + Label7: TLabel; + Button9: TButton; + Label8: TLabel; + ComboBox1: TComboBox; + ADOQueryTemp: TADOQuery; + procedure Edit38Click(Sender: TObject); + procedure Edit64Click(Sender: TObject); + procedure SpeedButton1Click(Sender: TObject); + procedure SpeedButton12Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure Button8Click(Sender: TObject); + procedure Button9Click(Sender: TObject); + procedure SpeedButton49Click(Sender: TObject); + procedure ComboBox1Change(Sender: TObject); + procedure Button7Click(Sender: TObject); + private + { Private declarations } + procedure ClearSpenndHit(); + procedure VisbleControl(Panel55:TWinControl;XS:Boolean;SXCount:Integer); + function ChkEditNULL(panel55:TWinControl):Boolean; + public + { Public declarations } + end; + +var + frmZJManage: TfrmZJManage; + +implementation +uses +U_DataLink,U_Fun,U_ZDYHelp,U_iniParam,AES,ElAES; + +{$R *.dfm} + +procedure TfrmZJManage.Edit38Click(Sender: TObject); +begin + if Trim(TcxTextEdit(Sender).Text)='' then + begin + TcxTextEdit(Sender).Text:=''; + end else + begin + TcxTextEdit(Sender).Text:=''; + end; +end; + +procedure TfrmZJManage.Edit64Click(Sender: TObject); +var + i:Integer; +begin + Panel5.Visible:=True; + with Panel5 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=Trim(TEdit(Sender).Name); + end; + end; + end; +end; +procedure TfrmZJManage.ClearSpenndHit(); +var + i:Integer; +begin + with Panel5 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=''; + end; + end; + end; +end; +procedure TfrmZJManage.VisbleControl(Panel55:TWinControl;XS:Boolean;SXCount:Integer); +var + i:Integer; +begin + with Panel55 do + begin + for i:=0 to SXCount-1 do + begin + Controls[i].Visible:=XS; + end; + end; +end; + +procedure TfrmZJManage.SpeedButton1Click(Sender: TObject); +var + fsj:string; +begin + fsj:=Trim(TSpeedButton(Sender).Hint); + if Trim(fsj)='' then Exit; + fsj:=Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text:=fsj+Trim(TSpeedButton(Sender).Caption); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TfrmZJManage.SpeedButton12Click(Sender: TObject); +var + fsj:string; +begin + fsj:=Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); + if Trim(fsj)='' then Exit; + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text:=Copy(fsj,1,Length(fsj)-1); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TfrmZJManage.Button2Click(Sender: TObject); +begin + Panel7.Visible:=True; +end; + +procedure TfrmZJManage.Button8Click(Sender: TObject); +begin + Panel7.Visible:=False; + Edit64.Text:=''; + ComboBox1.ItemIndex:=-1; + ComboBox1.Enabled:=False; + VisbleControl(Panel8,False,Panel8.ControlCount); +end; + +procedure TfrmZJManage.Button9Click(Sender: TObject); +var + mm,mm2:string; +begin + with ADOQueryTemp do + begin + sql.Clear; + sql.add('SELECT userid,username,password FROM SY_User WHERE userid='+''''+trim(DCode)+''''); + Open; + mm:=Trim(Fields[2].AsString); + if Trim(mm)<>'' then + mm2:=Trim(DecryptString(Trim(mm),'ljb^0122!@#*&^%$',kb128)) + else + begin + Application.MessageBox('벻Ϊգ','ʾ',0); + Exit; + end; + close; + end; + + if (mm2=trim(Edit64.text)) then + begin + ComboBox1.Enabled:=True; + ComboBox1.SetFocus; + ComboBox1.DroppedDown:=True; + ClearSpenndHit(); + end + else + Application.MessageBox('', 'Ϣʾ', MB_OK or MB_ICONinformation); +end; + +procedure TfrmZJManage.SpeedButton49Click(Sender: TObject); +begin + Panel5.Visible:=false; +end; + +procedure TfrmZJManage.ComboBox1Change(Sender: TObject); +var + i,FCont:Integer; +begin + if Trim(ComboBox1.Text)='' then + begin + VisbleControl(Panel8,False,Panel8.ControlCount); + end else + begin + VisbleControl(Panel8,False,Panel8.ControlCount); + FCont:=StrToInt(ComboBox1.Text); + VisbleControl(Panel8,True,FCont); + end; + +end; + +procedure TfrmZJManage.Button7Click(Sender: TObject); +begin + if Trim(ComboBox1.Text)='' then + begin + Application.MessageBox('иδѡ','ʾ',0); + Exit; + end; + if ChkEditNULL(Panel8)=False then + begin + Application.MessageBox('ݲȫд','ʾ',0); + Exit; + end; + Panel7.Visible:=False; + VisbleControl(Panel1,False,Panel1.ControlCount); + VisbleControl(Panel1,True,StrToInt(ComboBox1.Text)); + VisbleControl(Panel2,False,Panel2.ControlCount); + VisbleControl(Panel2,True,StrToInt(ComboBox1.Text)); + VisbleControl(Panel3,False,Panel3.ControlCount); + VisbleControl(Panel3,True,StrToInt(ComboBox1.Text)); + VisbleControl(Panel4,False,Panel4.ControlCount); + VisbleControl(Panel4,True,StrToInt(ComboBox1.Text)); + ComboBox1.ItemIndex:=-1; + VisbleControl(Panel8,False,Panel8.ControlCount); + Edit64.Text:=''; + +end; + +function TfrmZJManage.ChkEditNULL(panel55:TWinControl):Boolean; +var + i:Integer; +begin + Result:=False; + with panel55 do + begin + for i:=0 to panel55.ControlCount-1 do + begin + if Controls[i].Visible=True then + begin + if Trim(TEdit(Controls[i]).Text)='' then + begin + Result:=False; + Break; + end else + begin + Result:=True; + end; + end; + + end; + end; + +end; + +end. diff --git a/打卷检验管理/U_ZJManageNew.dfm b/打卷检验管理/U_ZJManageNew.dfm new file mode 100644 index 0000000..3e1aa71 --- /dev/null +++ b/打卷检验管理/U_ZJManageNew.dfm @@ -0,0 +1,2690 @@ +object frmZJManageNew: TfrmZJManageNew + Left = -2 + Top = 20 + Width = 1292 + Height = 734 + Caption = 'frmZJManageNew' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 13 + object Label1: TLabel + Left = 22 + Top = 13 + Width = 66 + Height = 33 + Caption = #25195#25551 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 22 + Top = 159 + Width = 62 + Height = 58 + Caption = #24133#23485#13#10' cm' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 22 + Top = 227 + Width = 62 + Height = 58 + Caption = #38271#24230#13#10' M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 22 + Top = 379 + Width = 62 + Height = 58 + Caption = #37325#37327#13#10' Kg' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 22 + Top = 518 + Width = 62 + Height = 29 + Caption = #30133#28857 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 22 + Top = 450 + Width = 62 + Height = 29 + Caption = #36873#25321 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 992 + Top = 56 + Width = 23 + Height = 84 + Caption = #20998#13#10#20999#13#10#35828#13#10#26126 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 22 + Top = 334 + Width = 62 + Height = 29 + Caption = #25509#22836 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 22 + Top = 291 + Width = 62 + Height = 29 + Caption = #36192#36865 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 994 + Top = 16 + Width = 100 + Height = 24 + Caption = #27597#21367#26465#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -24 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object MJID: TEdit + Left = 88 + Top = 9 + Width = 297 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnKeyPress = MJIDKeyPress + end + object ScrollBox1: TScrollBox + Left = 88 + Top = 517 + Width = 501 + Height = 151 + TabOrder = 1 + object SpeedButton13: TSpeedButton + Left = 3 + Top = 3 + Width = 60 + Height = 60 + Caption = #23567#40657#28857 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton14: TSpeedButton + Left = 64 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton15: TSpeedButton + Left = 125 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton16: TSpeedButton + Left = 186 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton17: TSpeedButton + Left = 247 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton18: TSpeedButton + Left = 308 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton19: TSpeedButton + Left = 369 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton20: TSpeedButton + Left = 430 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton21: TSpeedButton + Left = 3 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton22: TSpeedButton + Left = 64 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton23: TSpeedButton + Left = 125 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton24: TSpeedButton + Left = 186 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton25: TSpeedButton + Left = 247 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton26: TSpeedButton + Left = 308 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton27: TSpeedButton + Left = 369 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton28: TSpeedButton + Left = 430 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + end + object Button1: TButton + Left = 390 + Top = 7 + Width = 145 + Height = 42 + Caption = #21516#21333#21512#21367 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button1Click + end + object Button3: TButton + Left = 544 + Top = 9 + Width = 144 + Height = 40 + Caption = #25171' '#21360 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = Button3Click + end + object cxGrid2: TcxGrid + Left = 584 + Top = 514 + Width = 398 + Height = 156 + TabOrder = 4 + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv2CellDblClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column1 + end + item + Kind = skSum + Column = Tv2CDQty + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Content = cxStyle3 + Styles.Header = cxStyle3 + object v2Column3: TcxGridDBColumn + Caption = #21367#24207#21495 + DataBinding.FieldName = 'XJInt' + Width = 56 + end + object tv2CDType: TcxGridDBColumn + Caption = #30133#28857#31181#31867 + DataBinding.FieldName = 'CDName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 79 + end + object tv2CDWZ: TcxGridDBColumn + Caption = #20301#32622#36215 + DataBinding.FieldName = 'CDBeg' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Options.Sorting = False + Width = 60 + end + object v2Column2: TcxGridDBColumn + Caption = #20301#32622#27490 + DataBinding.FieldName = 'CDend' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Width = 61 + end + object Tv2CDQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'CDQty' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Footer = cxStyle2 + Width = 92 + end + object Tv2CDReason: TcxGridDBColumn + Caption = #21407#22240 + DataBinding.FieldName = 'CDReason' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle2 + Width = 131 + end + object v2Column1: TcxGridDBColumn + DataBinding.FieldName = 'CDQty' + Visible = False + Styles.Content = cxStyle2 + Width = 55 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object cxGrid3: TcxGrid + Left = 984 + Top = 516 + Width = 225 + Height = 155 + TabOrder = 5 + object Tv3: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv3CellClick + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Styles.Header = cxStyle1 + object v3Column1: TcxGridDBColumn + Caption = #21367#24207#21495 + DataBinding.FieldName = 'XJInt' + Styles.Content = cxStyle2 + Width = 56 + end + object cxGridDBColumn1: TcxGridDBColumn + Caption = #23567#21367#26465#30721 + DataBinding.FieldName = 'XJID' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 158 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv3 + end + end + object Button6: TButton + Left = 700 + Top = 10 + Width = 145 + Height = 39 + Caption = #37325#26032#25171#21360 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + OnClick = Button6Click + end + object Panel6: TPanel + Left = 88 + Top = 154 + Width = 1122 + Height = 344 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 7 + object Panel1: TPanel + Left = 8 + Top = 7 + Width = 1105 + Height = 54 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 0 + object SmalMF1: TEdit + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 0 + Visible = False + end + object SmalMF2: TEdit + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 1 + Visible = False + end + object SmalMF3: TEdit + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 2 + Visible = False + end + object SmalMF4: TEdit + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 3 + Visible = False + end + object SmalMF5: TEdit + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 4 + Visible = False + end + object SmalMF6: TEdit + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 5 + Visible = False + end + object SmalMF7: TEdit + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 6 + Visible = False + end + object SmalMF8: TEdit + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 7 + Visible = False + end + object SmalMF9: TEdit + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 8 + Visible = False + end + object SmalMF10: TEdit + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 9 + Visible = False + end + object SmalMF11: TEdit + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 10 + Visible = False + end + object SmalMF12: TEdit + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 11 + Visible = False + end + end + object Panel2: TPanel + Left = 8 + Top = 66 + Width = 1105 + Height = 52 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 1 + object XJLen1: TEdit + Tag = 1 + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + Visible = False + OnClick = XJLen1Click + end + object XJLen2: TEdit + Tag = 2 + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + OnClick = XJLen1Click + end + object XJLen3: TEdit + Tag = 3 + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + OnClick = XJLen1Click + end + object XJLen4: TEdit + Tag = 4 + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + OnClick = XJLen1Click + end + object XJLen5: TEdit + Tag = 5 + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + OnClick = XJLen1Click + end + object XJLen6: TEdit + Tag = 6 + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + OnClick = XJLen1Click + end + object XJLen7: TEdit + Tag = 7 + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + Visible = False + OnClick = XJLen1Click + end + object XJLen8: TEdit + Tag = 8 + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + Visible = False + OnClick = XJLen1Click + end + object XJLen9: TEdit + Tag = 9 + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + Visible = False + OnClick = XJLen1Click + end + object XJLen10: TEdit + Tag = 10 + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + Visible = False + OnClick = XJLen1Click + end + object XJLen11: TEdit + Tag = 11 + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + Visible = False + OnClick = XJLen1Click + end + object XJLen12: TEdit + Tag = 12 + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + Visible = False + OnClick = XJLen1Click + end + end + object Panel3: TPanel + Left = 8 + Top = 228 + Width = 1105 + Height = 54 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 2 + object XJMaoZ1: TEdit + Tag = 1 + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ2: TEdit + Tag = 2 + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ3: TEdit + Tag = 3 + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ4: TEdit + Tag = 4 + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ5: TEdit + Tag = 5 + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ6: TEdit + Tag = 6 + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ7: TEdit + Tag = 7 + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ8: TEdit + Tag = 8 + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ9: TEdit + Tag = 9 + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ10: TEdit + Tag = 10 + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ11: TEdit + Tag = 11 + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ12: TEdit + Tag = 12 + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + Visible = False + OnClick = XJLen1Click + end + end + object Panel4: TPanel + Left = 8 + Top = 283 + Width = 1105 + Height = 53 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 3 + object Sel1: TEdit + Tag = 1 + Left = 27 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 0 + Visible = False + OnClick = Sel1Click + end + object Sel2: TEdit + Tag = 2 + Left = 119 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 1 + Visible = False + OnClick = Sel1Click + end + object Sel3: TEdit + Tag = 3 + Left = 211 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 2 + Visible = False + OnClick = Sel1Click + end + object Sel4: TEdit + Tag = 4 + Left = 303 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 3 + Visible = False + OnClick = Sel1Click + end + object Sel5: TEdit + Tag = 5 + Left = 395 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 4 + Visible = False + OnClick = Sel1Click + end + object Sel6: TEdit + Tag = 6 + Left = 487 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 5 + Visible = False + OnClick = Sel1Click + end + object Sel7: TEdit + Tag = 7 + Left = 578 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 6 + Visible = False + OnClick = Sel1Click + end + object Sel8: TEdit + Tag = 8 + Left = 670 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 7 + Visible = False + OnClick = Sel1Click + end + object Sel9: TEdit + Tag = 9 + Left = 762 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 8 + Visible = False + OnClick = Sel1Click + end + object Sel10: TEdit + Tag = 10 + Left = 854 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 9 + Visible = False + OnClick = Sel1Click + end + object Sel11: TEdit + Tag = 11 + Left = 946 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 10 + Visible = False + OnClick = Sel1Click + end + object Sel12: TEdit + Tag = 12 + Left = 1038 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 11 + Visible = False + OnClick = Sel1Click + end + end + object Panel7: TPanel + Left = 8 + Top = 124 + Width = 1105 + Height = 52 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 4 + object XJFree1: TEdit + Tag = 1 + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + Visible = False + OnClick = XJLen1Click + end + object XJFree2: TEdit + Tag = 2 + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + OnClick = XJLen1Click + end + object XJFree3: TEdit + Tag = 3 + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + OnClick = XJLen1Click + end + object XJFree4: TEdit + Tag = 4 + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + OnClick = XJLen1Click + end + object XJFree5: TEdit + Tag = 5 + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + OnClick = XJLen1Click + end + object XJFree6: TEdit + Tag = 6 + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + OnClick = XJLen1Click + end + object XJFree7: TEdit + Tag = 7 + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + Visible = False + OnClick = XJLen1Click + end + object XJFree8: TEdit + Tag = 8 + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + Visible = False + OnClick = XJLen1Click + end + object XJFree9: TEdit + Tag = 9 + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + Visible = False + OnClick = XJLen1Click + end + object XJFree10: TEdit + Tag = 10 + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + Visible = False + OnClick = XJLen1Click + end + object XJFree11: TEdit + Tag = 11 + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + Visible = False + OnClick = XJLen1Click + end + object XJFree12: TEdit + Tag = 12 + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + Visible = False + OnClick = XJLen1Click + end + end + object Panel8: TPanel + Left = 8 + Top = 172 + Width = 1105 + Height = 52 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 5 + object XjJt1: TEdit + Tag = 1 + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + Visible = False + OnClick = XJLen1Click + end + object XjJt2: TEdit + Tag = 2 + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + OnClick = XJLen1Click + end + object XjJt3: TEdit + Tag = 3 + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + OnClick = XJLen1Click + end + object XjJt4: TEdit + Tag = 4 + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + OnClick = XJLen1Click + end + object XjJt5: TEdit + Tag = 5 + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + OnClick = XJLen1Click + end + object XjJt6: TEdit + Tag = 6 + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + OnClick = XJLen1Click + end + object XjJt7: TEdit + Tag = 7 + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + Visible = False + OnClick = XJLen1Click + end + object XjJt8: TEdit + Tag = 8 + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + Visible = False + OnClick = XJLen1Click + end + object XjJt9: TEdit + Tag = 9 + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + Visible = False + OnClick = XJLen1Click + end + object XjJt10: TEdit + Tag = 10 + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + Visible = False + OnClick = XJLen1Click + end + object XjJt11: TEdit + Tag = 11 + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + Visible = False + OnClick = XJLen1Click + end + object XjJt12: TEdit + Tag = 12 + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + Visible = False + OnClick = XJLen1Click + end + end + end + object Panel5: TPanel + Left = 578 + Top = 493 + Width = 625 + Height = 172 + BevelInner = bvRaised + BevelOuter = bvLowered + ParentColor = True + TabOrder = 8 + Visible = False + object SpeedButton1: TSpeedButton + Left = 4 + Top = 3 + Width = 80 + Height = 80 + Caption = '0' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton2: TSpeedButton + Left = 88 + Top = 3 + Width = 80 + Height = 80 + Caption = '1' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton3: TSpeedButton + Left = 172 + Top = 3 + Width = 80 + Height = 80 + Caption = '2' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton4: TSpeedButton + Left = 256 + Top = 3 + Width = 80 + Height = 80 + Caption = '3' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton5: TSpeedButton + Left = 340 + Top = 3 + Width = 80 + Height = 80 + Caption = '4' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton6: TSpeedButton + Left = 4 + Top = 87 + Width = 80 + Height = 80 + Caption = '5' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton7: TSpeedButton + Left = 88 + Top = 87 + Width = 80 + Height = 80 + Caption = '6' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton8: TSpeedButton + Left = 172 + Top = 87 + Width = 80 + Height = 80 + Caption = '7' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton9: TSpeedButton + Left = 256 + Top = 87 + Width = 80 + Height = 80 + Caption = '8' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton10: TSpeedButton + Left = 340 + Top = 87 + Width = 80 + Height = 80 + Caption = '9' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton11: TSpeedButton + Tag = 9 + Left = 424 + Top = 87 + Width = 80 + Height = 80 + Caption = '.' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -53 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton12: TSpeedButton + Left = 424 + Top = 3 + Width = 80 + Height = 80 + Caption = #8592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -53 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton12Click + end + object SpeedButton49: TSpeedButton + Tag = 9 + Left = 517 + Top = 37 + Width = 91 + Height = 82 + Caption = #38544#34255 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton49Click + end + end + object cxGrid4: TcxGrid + Left = 88 + Top = 51 + Width = 898 + Height = 55 + TabOrder = 9 + object TvSel: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Styles.Header = cxStyle3 + object vSelColumn1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 149 + end + object vSelColumn4: TcxGridDBColumn + Caption = #20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 89 + end + object vSelColumn6: TcxGridDBColumn + Caption = #22823#21367#38376#24133'CM' + DataBinding.FieldName = 'MJFK' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 94 + end + object vSelColumn5: TcxGridDBColumn + Caption = #22823#21367#38271'M' + DataBinding.FieldName = 'MJLen' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 68 + end + object cxGridDBColumn7: TcxGridDBColumn + Caption = #22823#21367#37325'Kg' + DataBinding.FieldName = 'MJMaoZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle3 + Styles.Header = cxStyle1 + Width = 81 + end + object vSelColumn2: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'MJSJKZ' + Styles.Content = cxStyle3 + Width = 41 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle3 + Width = 43 + end + object vSelColumn7: TcxGridDBColumn + Caption = #32593#23380#30446#25968 + DataBinding.FieldName = 'WKMS' + Styles.Content = cxStyle3 + Width = 74 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle3 + Width = 58 + end + object vSelColumn3: TcxGridDBColumn + Caption = #20998#20999#20010#25968 + DataBinding.FieldName = 'SmalCount' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 79 + end + object vSelColumn8: TcxGridDBColumn + Caption = #20801#35768#20559#24046 + DataBinding.FieldName = 'SmalPC' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 78 + end + end + object cxGridLevel3: TcxGridLevel + GridView = TvSel + end + end + object Button2: TButton + Left = 860 + Top = 10 + Width = 101 + Height = 39 + Caption = #36864#20986 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + OnClick = Button2Click + end + object MJCDHZ: TRichEdit + Left = 88 + Top = 108 + Width = 899 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + Lines.Strings = ( + '') + ParentFont = False + ReadOnly = True + ScrollBars = ssVertical + TabOrder = 11 + end + object SmalNote: TRichEdit + Left = 1016 + Top = 50 + Width = 193 + Height = 98 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + Lines.Strings = ( + '') + ParentFont = False + ReadOnly = True + ScrollBars = ssVertical + TabOrder = 12 + end + object MovePanel2: TMovePanel + Left = 56 + Top = 37 + Width = 1137 + Height = 505 + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 13 + Visible = False + object Label8: TLabel + Left = 421 + Top = 24 + Width = 262 + Height = 35 + Caption = #21516' '#21333' '#21512' '#21367 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 22 + Top = 85 + Width = 66 + Height = 33 + Caption = #25195#25551 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object cxGrid1: TcxGrid + Left = 8 + Top = 144 + Width = 1121 + Height = 249 + TabOrder = 0 + object TvHJ: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TvHJCellDblClick + DataController.DataSource = DSHJ + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + Column = vHJColumn1 + end + item + Kind = skSum + Column = vHJColumn2 + end + item + Format = #21367#20010#25968#65306'#' + Kind = skCount + Column = cxGridDBColumn3 + end + item + Kind = skAverage + Column = vHJColumn11 + end + item + Kind = skAverage + Column = vHJColumn3 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Content = cxStyle3 + Styles.Footer = cxStyle3 + Styles.Header = cxStyle1 + object cxGridDBColumn3: TcxGridDBColumn + Caption = #22823#21367#26465#30721 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 179 + end + object vHJColumn1: TcxGridDBColumn + Caption = #37325#37327'Kg' + DataBinding.FieldName = 'MJMaoZ' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object vHJColumn2: TcxGridDBColumn + Caption = #38271#24230'm' + DataBinding.FieldName = 'MJLen' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object vHJColumn3: TcxGridDBColumn + Caption = #24133#23485'cm' + DataBinding.FieldName = 'MJFk' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object vHJColumn11: TcxGridDBColumn + Caption = #23454#38469#20811#37325 + DataBinding.FieldName = 'MJSJKZ' + HeaderAlignmentHorz = taCenter + Width = 75 + end + object vHJColumn4: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Width = 166 + end + object vHJColumn9: TcxGridDBColumn + Caption = #20135#21697#20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + HeaderAlignmentHorz = taCenter + Width = 98 + end + object vHJColumn10: TcxGridDBColumn + Caption = #21407#26009#37197#27604 + DataBinding.FieldName = 'YLPB' + HeaderAlignmentHorz = taCenter + Width = 117 + end + object vHJColumn5: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Width = 54 + end + object vHJColumn8: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Width = 59 + end + object vHJColumn6: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'SWFBKZ' + HeaderAlignmentHorz = taCenter + Width = 58 + end + object vHJColumn7: TcxGridDBColumn + Caption = #32593#23380#30446#25968 + DataBinding.FieldName = 'WKMS' + HeaderAlignmentHorz = taCenter + Width = 79 + end + end + object cxGridLevel4: TcxGridLevel + GridView = TvHJ + end + end + object HJMJID: TEdit + Left = 88 + Top = 81 + Width = 297 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnKeyPress = HJMJIDKeyPress + end + object Button7: TButton + Left = 140 + Top = 431 + Width = 145 + Height = 42 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button7Click + end + object Button8: TButton + Left = 852 + Top = 431 + Width = 145 + Height = 42 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = Button8Click + end + end + object MovePanel1: TMovePanel + Left = 88 + Top = 487 + Width = 344 + Height = 202 + BevelInner = bvLowered + Color = clSkyBlue + TabOrder = 14 + Visible = False + object Label17: TLabel + Left = 30 + Top = 24 + Width = 84 + Height = 20 + Caption = #36215#22987#20301#32622 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 185 + Top = 69 + Width = 21 + Height = 20 + Caption = #21040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label19: TLabel + Left = 301 + Top = 24 + Width = 11 + Height = 20 + Caption = 'M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label20: TLabel + Left = 301 + Top = 104 + Width = 11 + Height = 20 + Caption = 'M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label21: TLabel + Left = 31 + Top = 69 + Width = 77 + Height = 20 + Caption = 'Label21' + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentColor = False + ParentFont = False + end + object CDBeg: TEdit + Tag = 9999 + Left = 119 + Top = 16 + Width = 174 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = XJLen1Click + end + object Button4: TButton + Left = 31 + Top = 147 + Width = 66 + Height = 38 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Button4Click + end + object Button5: TButton + Left = 246 + Top = 147 + Width = 66 + Height = 38 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button5Click + end + object CDEnd: TEdit + Tag = 9999 + Left = 119 + Top = 94 + Width = 174 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = XJLen1Click + end + end + object MovePanel3: TMovePanel + Left = 568 + Top = 104 + Width = 321 + Height = 177 + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 15 + Visible = False + object Label13: TLabel + Left = 88 + Top = 16 + Width = 132 + Height = 33 + Caption = #36755#20837#23494#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Button9: TButton + Left = 32 + Top = 112 + Width = 75 + Height = 49 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = Button9Click + end + object Button10: TButton + Left = 200 + Top = 112 + Width = 75 + Height = 49 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Button10Click + end + object Password: TEdit + Tag = 99999 + Left = 32 + Top = 56 + Width = 241 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + PasswordChar = '*' + TabOrder = 2 + OnClick = XJLen1Click + end + end + object cxStyleRepository5: TcxStyleRepository + Left = 936 + Top = 65532 + object cxStyle6: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + end + object cxStyleRepository1: TcxStyleRepository + Left = 1232 + Top = 124 + object cxStyle1: TcxStyle + AssignedValues = [svColor, svFont] + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle2: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Pitch = fpFixed + Font.Style = [fsBold] + TextColor = clDefault + end + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 598 + Top = 75 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 686 + Top = 74 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 638 + Top = 74 + end + object DataSource1: TDataSource + DataSet = Cds_Main + Left = 744 + Top = 76 + end + object Cds_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 800 + Top = 76 + end + object DataSource3: TDataSource + DataSet = CDS_XJID + Left = 1000 + Top = 670 + end + object CDS_XJID: TClientDataSet + Aggregates = <> + Params = <> + Left = 1032 + Top = 670 + end + object DataSource2: TDataSource + DataSet = CDS_XJCD + Left = 752 + Top = 670 + end + object CDS_XJCD: TClientDataSet + Aggregates = <> + Params = <> + Left = 792 + Top = 670 + end + object cxStyleRepository2: TcxStyleRepository + object cxStyle3: TcxStyle + AssignedValues = [svFont] + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 136 + Top = 120 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 104 + Top = 120 + ReportData = {} + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 168 + Top = 120 + end + object DSHJ: TDataSource + DataSet = CDS_HJ + Left = 352 + Top = 550 + end + object CDS_HJ: TClientDataSet + Aggregates = <> + Params = <> + Left = 384 + Top = 550 + end +end diff --git a/打卷检验管理/U_ZJManageNew.pas b/打卷检验管理/U_ZJManageNew.pas new file mode 100644 index 0000000..01bca90 --- /dev/null +++ b/打卷检验管理/U_ZJManageNew.pas @@ -0,0 +1,1525 @@ +unit U_ZJManageNew; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, Buttons, ExtCtrls, cxStyles, cxCustomData, cxGraphics, + cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxTextEdit, + cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, + cxClasses, cxControls, cxGridCustomView, cxGrid, MovePanel, ADODB, + DBClient, ComCtrls, RM_Common, RM_Class, RM_GridReport, RM_System, + RM_Dataset; + +type + TfrmZJManageNew = class(TForm) + MJID: TEdit; + Label1: TLabel; + Label2: TLabel; + Label3: TLabel; + Label4: TLabel; + Label5: TLabel; + Label6: TLabel; + ScrollBox1: TScrollBox; + SpeedButton13: TSpeedButton; + SpeedButton14: TSpeedButton; + SpeedButton15: TSpeedButton; + SpeedButton16: TSpeedButton; + SpeedButton17: TSpeedButton; + SpeedButton18: TSpeedButton; + SpeedButton19: TSpeedButton; + SpeedButton20: TSpeedButton; + SpeedButton21: TSpeedButton; + SpeedButton22: TSpeedButton; + SpeedButton23: TSpeedButton; + SpeedButton24: TSpeedButton; + SpeedButton25: TSpeedButton; + SpeedButton26: TSpeedButton; + SpeedButton27: TSpeedButton; + SpeedButton28: TSpeedButton; + Button1: TButton; + Button3: TButton; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + tv2CDType: TcxGridDBColumn; + tv2CDWZ: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + Tv2CDQty: TcxGridDBColumn; + Tv2CDReason: TcxGridDBColumn; + v2Column1: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + cxStyleRepository5: TcxStyleRepository; + cxStyle6: TcxStyle; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxStyle2: TcxStyle; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + Button6: TButton; + Panel6: TPanel; + Panel1: TPanel; + SmalMF1: TEdit; + SmalMF2: TEdit; + SmalMF3: TEdit; + SmalMF4: TEdit; + SmalMF5: TEdit; + SmalMF6: TEdit; + SmalMF7: TEdit; + SmalMF8: TEdit; + SmalMF9: TEdit; + SmalMF10: TEdit; + SmalMF11: TEdit; + SmalMF12: TEdit; + Panel2: TPanel; + XJLen1: TEdit; + XJLen2: TEdit; + XJLen3: TEdit; + XJLen4: TEdit; + XJLen5: TEdit; + XJLen6: TEdit; + XJLen7: TEdit; + XJLen8: TEdit; + XJLen9: TEdit; + XJLen10: TEdit; + XJLen11: TEdit; + XJLen12: TEdit; + Panel3: TPanel; + XJMaoZ1: TEdit; + XJMaoZ2: TEdit; + XJMaoZ3: TEdit; + XJMaoZ4: TEdit; + XJMaoZ5: TEdit; + XJMaoZ6: TEdit; + XJMaoZ7: TEdit; + XJMaoZ8: TEdit; + XJMaoZ9: TEdit; + XJMaoZ10: TEdit; + XJMaoZ11: TEdit; + XJMaoZ12: TEdit; + Panel4: TPanel; + Sel1: TEdit; + Sel2: TEdit; + Sel3: TEdit; + Sel4: TEdit; + Sel5: TEdit; + Sel6: TEdit; + Sel7: TEdit; + Sel8: TEdit; + Sel9: TEdit; + Sel10: TEdit; + Sel11: TEdit; + Sel12: TEdit; + ADOQueryTemp: TADOQuery; + Panel5: TPanel; + SpeedButton1: TSpeedButton; + SpeedButton2: TSpeedButton; + SpeedButton3: TSpeedButton; + SpeedButton4: TSpeedButton; + SpeedButton5: TSpeedButton; + SpeedButton6: TSpeedButton; + SpeedButton7: TSpeedButton; + SpeedButton8: TSpeedButton; + SpeedButton9: TSpeedButton; + SpeedButton10: TSpeedButton; + SpeedButton11: TSpeedButton; + SpeedButton12: TSpeedButton; + SpeedButton49: TSpeedButton; + cxGrid4: TcxGrid; + TvSel: TcxGridDBTableView; + vSelColumn1: TcxGridDBColumn; + vSelColumn4: TcxGridDBColumn; + vSelColumn6: TcxGridDBColumn; + vSelColumn5: TcxGridDBColumn; + cxGridDBColumn7: TcxGridDBColumn; + vSelColumn7: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + vSelColumn2: TcxGridDBColumn; + cxGridLevel3: TcxGridLevel; + vSelColumn3: TcxGridDBColumn; + vSelColumn8: TcxGridDBColumn; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + DataSource1: TDataSource; + Cds_Main: TClientDataSet; + Button2: TButton; + MJCDHZ: TRichEdit; + DataSource3: TDataSource; + CDS_XJID: TClientDataSet; + DataSource2: TDataSource; + CDS_XJCD: TClientDataSet; + v2Column3: TcxGridDBColumn; + v3Column1: TcxGridDBColumn; + cxStyleRepository2: TcxStyleRepository; + cxStyle3: TcxStyle; + SmalNote: TRichEdit; + Label7: TLabel; + RMDB_Main: TRMDBDataSet; + RM2: TRMGridReport; + ADOQueryPrint: TADOQuery; + MovePanel2: TMovePanel; + Label8: TLabel; + cxGrid1: TcxGrid; + TvHJ: TcxGridDBTableView; + cxGridDBColumn3: TcxGridDBColumn; + cxGridLevel4: TcxGridLevel; + DSHJ: TDataSource; + CDS_HJ: TClientDataSet; + vHJColumn1: TcxGridDBColumn; + vHJColumn2: TcxGridDBColumn; + vHJColumn3: TcxGridDBColumn; + Label9: TLabel; + HJMJID: TEdit; + Button7: TButton; + Button8: TButton; + vHJColumn4: TcxGridDBColumn; + vHJColumn5: TcxGridDBColumn; + vHJColumn6: TcxGridDBColumn; + vHJColumn7: TcxGridDBColumn; + vHJColumn8: TcxGridDBColumn; + vHJColumn9: TcxGridDBColumn; + vHJColumn10: TcxGridDBColumn; + vHJColumn11: TcxGridDBColumn; + Panel7: TPanel; + XJFree1: TEdit; + XJFree2: TEdit; + XJFree3: TEdit; + XJFree4: TEdit; + XJFree5: TEdit; + XJFree6: TEdit; + XJFree7: TEdit; + XJFree8: TEdit; + XJFree9: TEdit; + XJFree10: TEdit; + XJFree11: TEdit; + XJFree12: TEdit; + MovePanel1: TMovePanel; + Label17: TLabel; + Label18: TLabel; + Label19: TLabel; + Label20: TLabel; + Label21: TLabel; + CDBeg: TEdit; + Button4: TButton; + Button5: TButton; + CDEnd: TEdit; + Panel8: TPanel; + XjJt1: TEdit; + XjJt2: TEdit; + XjJt3: TEdit; + XjJt4: TEdit; + XjJt5: TEdit; + XjJt6: TEdit; + XjJt7: TEdit; + XjJt8: TEdit; + XjJt9: TEdit; + XjJt10: TEdit; + XjJt11: TEdit; + XjJt12: TEdit; + Label10: TLabel; + Label11: TLabel; + Label12: TLabel; + MovePanel3: TMovePanel; + Button9: TButton; + Button10: TButton; + Password: TEdit; + Label13: TLabel; + procedure Sel1Click(Sender: TObject); + procedure Edit64Click(Sender: TObject); + procedure SpeedButton1Click(Sender: TObject); + procedure SpeedButton12Click(Sender: TObject); + procedure SpeedButton49Click(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure XJLen1Click(Sender: TObject); + procedure MJIDKeyPress(Sender: TObject; var Key: Char); + procedure Button2Click(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure SpeedButton13Click(Sender: TObject); + procedure Button5Click(Sender: TObject); + procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button3Click(Sender: TObject); + procedure Button6Click(Sender: TObject); + procedure Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button1Click(Sender: TObject); + procedure Button8Click(Sender: TObject); + procedure Button7Click(Sender: TObject); + procedure HJMJIDKeyPress(Sender: TObject; var Key: Char); + procedure TvHJCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button9Click(Sender: TObject); + procedure Button10Click(Sender: TObject); + procedure PasswordClick(Sender: TObject); + private + { Private declarations } + FCDName:string; + procedure ClearSpenndHit(); + procedure VisbleControl(Panel55:TWinControl;XS:Boolean;SXCount:Integer); + function ChkEditNULL(panel55:TWinControl):Boolean; + procedure InitJP(); + procedure InitGridCD(); + procedure InitGridCDID(); + procedure ClearControl(Panel55:TWinControl;ConValue:String;SXCount:Integer); + procedure PrintData(FXJID:string;CDFlag:String); + public + { Public declarations } + end; + +var + frmZJManageNew: TfrmZJManageNew; + +implementation +uses +U_DataLink,U_Fun,U_ZDYHelp,U_iniParam,AES,ElAES,U_LabelPrint; + +{$R *.dfm} + +procedure TfrmZJManageNew.Sel1Click(Sender: TObject); +begin + if Trim(TcxTextEdit(Sender).Text)='' then + begin + TcxTextEdit(Sender).Text:=''; + end else + begin + TcxTextEdit(Sender).Text:=''; + end; +end; + +procedure TfrmZJManageNew.Edit64Click(Sender: TObject); +var + i:Integer; +begin + Panel5.Visible:=True; + with Panel5 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=Trim(TEdit(Sender).Name); + end; + end; + end; +end; +procedure TfrmZJManageNew.ClearSpenndHit(); +var + i:Integer; +begin + with Panel5 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=''; + end; + end; + end; +end; +procedure TfrmZJManageNew.VisbleControl(Panel55:TWinControl;XS:Boolean;SXCount:Integer); +var + i:Integer; +begin + with Panel55 do + begin + for i:=0 to SXCount-1 do + begin + Controls[i].Visible:=XS; + end; + end; +end; +procedure TfrmZJManageNew.ClearControl(Panel55:TWinControl;ConValue:String;SXCount:Integer); +var + i:Integer; +begin + with Panel55 do + begin + for i:=0 to SXCount-1 do + begin + TEdit(Controls[i]).Text:=ConValue; + end; + end; +end; + +procedure TfrmZJManageNew.SpeedButton1Click(Sender: TObject); +var + fsj:string; +begin + fsj:=Trim(TSpeedButton(Sender).Hint); + if Trim(fsj)='' then Exit; + fsj:=Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text:=fsj+Trim(TSpeedButton(Sender).Caption); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TfrmZJManageNew.SpeedButton12Click(Sender: TObject); +var + fsj:string; +begin + fsj:=Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); + if Trim(fsj)='' then Exit; + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text:=Copy(fsj,1,Length(fsj)-1); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TfrmZJManageNew.SpeedButton49Click(Sender: TObject); +begin + Panel5.Visible:=false; +end; + +function TfrmZJManageNew.ChkEditNULL(panel55:TWinControl):Boolean; +var + i:Integer; +begin + Result:=False; + with panel55 do + begin + for i:=0 to panel55.ControlCount-1 do + begin + if Controls[i].Visible=True then + begin + if Trim(TEdit(Controls[i]).Text)='' then + begin + Result:=False; + Break; + end else + begin + Result:=True; + end; + end; + + end; + end; + +end; + +procedure TfrmZJManageNew.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmZJManageNew.FormDestroy(Sender: TObject); +begin + frmZJManageNew:=nil; +end; + +procedure TfrmZJManageNew.XJLen1Click(Sender: TObject); +var + i:Integer; +begin + if CDS_XJID.IsEmpty=False then + begin + if CDS_XJID.Locate('XJInt',TEdit(Sender).tag,[])=True then + begin + TEdit(Sender).Text:=Trim(CDS_XJID.fieldbyname(Copy(Trim(TEdit(Sender).Name),1,Length(Trim(TEdit(Sender).Name))-1)).AsString); + Panel5.Visible:=False; + Exit; + end; + end; + Panel5.Visible:=True; + with Panel5 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=Trim(TEdit(Sender).Name); + end; + end; + end; + // Panel5.Left:=Edit14.Left; + //Panel5.top:=Edit14.top+Edit14.Height; +end; + +procedure TfrmZJManageNew.MJIDKeyPress(Sender: TObject; var Key: Char); +var + FCount,i:Integer; + FXJXH:String; +begin + if Key=#13 then + begin + MJID.SelectAll; + ClearControl(Panel1,'',Panel1.ControlCount); + ClearControl(Panel2,'',Panel2.ControlCount); + ClearControl(Panel3,'',Panel3.ControlCount); + Label12.Visible:=True; + Label12.Caption:=Trim(MJID.Text); + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.add('select MJCDHZ=dbo.F_Get_WFBOrder_SubStr(A.MJID,''MJCDHZ''), '); + SQL.Add('A.*,B.*,C.OrderNo from WFB_MJJY A inner join WFBOrder_Sub B on A.SubId=B.SubId'); + sql.Add('inner join WFBOrder_Main C on A.MainId=C.MainId'); + sql.Add('where A.MJID='''+Trim(MJID.Text)+''''); + sql.Add(' and A.Valie=''Y'' '); + Open; + end; + SCreateCDS20(ADOQueryMain,Cds_Main); + SInitCDSData20(ADOQueryMain,Cds_Main); + if Cds_Main.IsEmpty then + begin + MJCDHZ.Text:=''; + InitGridCDID(); + InitGridCD(); + Label12.Visible:=False; + MJID.Text:=''; + Application.MessageBox('','ʾ',0); + Exit; + end; + MJCDHZ.Visible:=True; + MJCDHZ.Text:=Trim(Cds_Main.fieldbyname('MJCDHZ').AsString); + SmalNote.Text:=Trim(Cds_Main.fieldbyname('SmalNote').AsString); + if Cds_Main.FieldByName('SmalCount').Value<1 then + begin + Application.MessageBox('иС1','ʾ',0); + Exit; + end else + begin + FCount:=Cds_Main.FieldByName('SmalCount').Value; + VisbleControl(Panel1,False,Panel1.ControlCount); + VisbleControl(Panel2,False,Panel2.ControlCount); + VisbleControl(Panel3,False,Panel3.ControlCount); + VisbleControl(Panel4,False,Panel4.ControlCount); + VisbleControl(Panel1,True,FCount); + VisbleControl(Panel2,True,FCount); + VisbleControl(Panel3,True,FCount); + VisbleControl(Panel4,True,FCount); + VisbleControl(Panel7,True,FCount); + VisbleControl(Panel8,True,FCount); + SCSHDataCDS(Cds_Main,Panel1,0); + end; + InitGridCDID(); + InitGridCD(); + finally + ADOQueryMain.EnableControls; + end; + MJID.Text:=''; + {if CDS_XJID.IsEmpty=False then + begin + with CDS_XJID do + begin + First; + while not Eof do + begin + + FXJXH:=Trim(CDS_XJID.fieldbyname('XJInt').AsString); + (FindComponent('XJLen'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJLen').AsString); + (FindComponent('XJMaoZ'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJMaoZ').AsString); + (FindComponent('XJFree'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJFree').AsString); + (FindComponent('XJJt'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJJt').AsString); + Next; + end; + end; + end; } + end; +end; + +procedure TfrmZJManageNew.Button2Click(Sender: TObject); +begin + WriteCxGrid('ʾϢ',TvSel,'޷IJ'); + Close; +end; + +procedure TfrmZJManageNew.FormShow(Sender: TObject); +begin + ReadCxGrid('ʾϢ',TvSel,'޷IJ'); + InitJP(); +end; + +procedure TfrmZJManageNew.InitJP(); +var + AA:array[0..100] of string; + i,j:Integer; +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select ZDYName from KH_Zdy where Type=''WFBCDZJ'' order by ZDYNO '); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + Application.MessageBox('ûжСõ㣡','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + First; + i:=0; + while not Eof do + begin + AA[i]:=Trim(fieldbyname('ZDYName').AsString); + i:=i+1; + Next; + end; + end; + i:=i-1; + if i>17 then + begin + i:=29; + end; + for j:=0 to i do + begin + with ScrollBox1 do + begin + TSpeedButton(Controls[j]).Visible:=True; + TSpeedButton(Controls[j]).Hint:=AA[j]; + if Length(AA[j])>4 then + begin + TSpeedButton(Controls[j]).Caption:=Copy(Trim(AA[j]),1,4)+#13+Copy(Trim(AA[j]),5,Length(AA[j])-4); + end else + TSpeedButton(Controls[j]).Caption:=AA[j]; + end; + end; +end; + +procedure TfrmZJManageNew.Button4Click(Sender: TObject); +var + i:Integer; +begin + if Trim(CDBeg.Text)='' then + begin + Application.MessageBox('λòΪգ','ʾ',0); + exit; + end; + with Panel4 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if TEdit(Controls[i]).Text='' then + begin + with CDS_XJCD do + begin + Append; + FieldByName('cdname').Value:=Trim(FCDName); + FieldByName('CDbeg').Value:=Trim(CDBeg.Text); + FieldByName('CDEnd').Value:=Trim(CDEnd.Text); + if Trim(CDEnd.Text)<>'' then + begin + FieldByName('CDQty').Value:=StrToFloat(CDEnd.Text)-StrToFloat(CDBeg.Text); + end else + begin + FieldByName('CDQty').Value:=0; + end; + FieldByName('XJInt').Value:=i+1; + Post; + end; + end; + end; + end; + CDBeg.Text:=''; + CDEnd.Text:=''; + MovePanel1.Visible:=False; +end; + +procedure TfrmZJManageNew.SpeedButton13Click(Sender: TObject); +var + i,j:Integer; +begin + if Cds_Main.IsEmpty then Exit; + j:=0; + with Panel4 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if Controls[i].Visible=True then + begin + if TEdit(Controls[i]).Text='' then + begin + j:=9; + end; + end; + end; + end; + if j=0 then + begin + Application.MessageBox('ûѡС','ʾ',0); + Exit; + end; + FCDName:=Trim(TSpeedButton(Sender).Hint); + MovePanel1.Visible:=True; + Label21.Caption:=Trim(FCDName); + CDBeg.SetFocus; + + Panel5.Visible:=True; + with Panel5 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=Trim('CDBeg'); + end; + end; + end; +end; +procedure TfrmZJManageNew.InitGridCD(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + sql.Clear; + if Trim(CDS_XJID.fieldbyname('XJID').AsString)<>'' then + begin + sql.Add('select A.*,B.XJInt from WFB_XJJY_CD A inner join WFB_XJJY B on A.XJID=B.XJID'); + sql.Add(' where B.MJID='''+Trim(MJID.Text)+''''); + end + else + sql.Add('select A.*,B.XJInt from WFB_XJJY_CD A inner join WFB_XJJY B on A.XJID=B.XJID where 1<>1'); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_XJCD); + SInitCDSData20(ADOQueryMain,CDS_XJCD); + finally + ADOQueryMain.EnableControls; + end; +end; +procedure TfrmZJManageNew.InitGridCDID(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_XJJY where MJID='''+Trim(MJID.Text)+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_XJID); + SInitCDSData20(ADOQueryMain,CDS_XJID); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmZJManageNew.Button5Click(Sender: TObject); +begin + MovePanel1.Visible:=False; +end; + +procedure TfrmZJManageNew.Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if Trim(CDS_XJCD.fieldbyname('XJID').AsString)<>'' then Exit; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + CDS_XJCD.Delete; +end; + +procedure TfrmZJManageNew.Button3Click(Sender: TObject); +var + i,j,FXJInt,CRID:Integer; + FXJSJKZ:Double; + maxno,maxnocd,MaxCkNo,MaxCkSubNo,XJBanZu,FFXJLen,FFXJMaoZ,FFXJFk,FFXJFree,FFXJJt:String; +begin + if Cds_Main.IsEmpty then Exit; + with Panel2 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if TEdit(Controls[i]).Text='' then + begin + Application.MessageBox('δȫ¼룬ܴӡ','ʾ',0); + Exit; + end; + end; + end; + with Panel3 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if TEdit(Controls[i]).Text='' then + begin + Application.MessageBox('δȫ¼룬ܴӡ','ʾ',0); + Exit; + end; + end; + end; + j:=0; + with Panel4 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if Controls[i].Visible=True then + begin + if TEdit(Controls[i]).Text='' then + begin + if j=0 then + begin + j:=9; + FXJInt:=i+1; + end + else + j:=j+1; + end; + end; + end; + end; + if j=0 then + begin + Application.MessageBox('ûѡС','ʾ',0); + Exit; + end else + if j>9 then + begin + Application.MessageBox('ѡС','ʾ',0); + Exit; + end; + if Trim(TEdit(FindComponent('XJLen'+Trim(IntToStr(FXJInt)))).Text)='' then + begin + Application.MessageBox('ȲΪգ','ʾ',0); + Exit; + end else + begin + FFXJLen:=Trim(TEdit(FindComponent('XJLen'+Trim(IntToStr(FXJInt)))).Text); + end; + if Trim(TEdit(FindComponent('XJMaoZ'+Trim(IntToStr(FXJInt)))).Text)='' then + begin + Application.MessageBox('ëزΪգ','ʾ',0); + Exit; + end else + begin + FFXJMaoZ:=Trim(TEdit(FindComponent('XJMaoZ'+Trim(IntToStr(FXJInt)))).Text); + end; + if Trim(TEdit(FindComponent('SmalMF'+Trim(IntToStr(FXJInt)))).Text)='' then + begin + Application.MessageBox('ëزΪգ','ʾ',0); + Exit; + end else + begin + FFXJFk:=Trim(TEdit(FindComponent('SmalMF'+Trim(IntToStr(FXJInt)))).Text); + end; + if Trim(TEdit(FindComponent('XJFree'+Trim(IntToStr(FXJInt)))).Text)='' then + begin + FFXJFree:='0'; + end else + begin + FFXJFree:=Trim(TEdit(FindComponent('XJFree'+Trim(IntToStr(FXJInt)))).Text); + end; + if Trim(TEdit(FindComponent('XJJt'+Trim(IntToStr(FXJInt)))).Text)='' then + begin + FFXJJt:='0'; + end else + begin + FFXJJt:=Trim(TEdit(FindComponent('XJJt'+Trim(IntToStr(FXJInt)))).Text); + end; + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_XJJY where MJID='''+Trim(Cds_Main.fieldbyname('MJID').AsString)+''''); + SQL.Add(' and XJInt='+Inttostr(FXJInt)); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + Application.MessageBox('Ѵ룬볢´ӡ','',0); + Exit; + end; + FXJSJKZ:=StrToFloat(FFXJMaoZ)/(StrToFloat(FFXJLen)*StrToFloat(FFXJFk)/100)*1000; + if( (FXJSJKZ-Cds_Main.FieldByName('MJSJKZ').Value)/Cds_Main.FieldByName('MJSJKZ').Value )<-0.3 then + begin + Application.MessageBox('ݣ','ʾ',0); + Exit; + end; + if( (FXJSJKZ-Cds_Main.FieldByName('MJSJKZ').Value)/Cds_Main.FieldByName('MJSJKZ').Value )>0.3 then + begin + Application.MessageBox('ݣ','ʾ',0); + Exit; + end; + try + ADOQueryCmd.Connection.BeginTrans; + //////////////////////////////////////////////////////////////С + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from SY_User where UserId='''+Trim(DCode)+''''); + Open; + end; + XJBanZu:=Trim(ADOQueryTemp.fieldbyname('BanZu').AsString); + if GetLSNo(ADOQueryCmd,maxno,Trim(XJFlag),'WFB_XJJY',4,1)=false then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡС쳣','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.add('select * from WFB_XJJY where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MJID').Value:=Trim(Cds_Main.fieldbyname('MJID').AsString); + FieldByName('XJID').Value:=Trim(maxno); + FieldByName('XJInt').Value:=FXJInt; + FieldByName('XJLen').Value:=StrToFloat(FFXJLen); + FieldByName('XJMaoZ').Value:=StrToFloat(FFXJMaoZ); + FieldByName('XJFK').Value:=StrToFloat(FFXJFk); + FieldByName('XJFree').Value:=StrToFloat(FFXJFree); + FieldByName('XJJt').Value:=StrToFloat(FFXJJt); + FieldByName('XJBanZu').Value:=Trim(XJBanZu); + FieldByName('JTTYpe').Value:=Trim(XJFlag); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('XJSJKZ').Value:=StrToFloat(FFXJMaoZ)/(StrToFloat(FFXJLen)*StrToFloat(FFXJFk)/100)*1000; + //FieldByName('') + Post; + end; + with CDS_XJID do + begin + Append; + FieldByName('XJID').Value:=Trim(maxno); + FieldByName('XJInt').Value:=FXJInt; + FieldByName('XJLen').Value:=StrToFloat(FFXJLen); + FieldByName('XJMaoZ').Value:=StrToFloat(FFXJMaoZ); + FieldByName('XJFK').Value:=StrToFloat(FFXJFk); + FieldByName('XJFree').Value:=StrToFloat(FFXJFree); + FieldByName('XJJt').Value:=StrToFloat(FFXJJt); + Post; + end; + //////////////////////////////////////////////////////////////С + //////////////////////////////////////////////////////////////Сõ + with CDS_XJCD do + begin + First; + while not Eof do + begin + if CDS_XJCD.FieldByName('XJInt').Value=FXJInt then + begin + if GetLSNo(ADOQueryCmd,maxnocd,'XC','WFB_XJJY_CD',5,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡСõʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from WFB_XJJY_CD where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('XJID').Value:=Trim(maxno); + FieldByName('XCID').Value:=Trim(maxnocd); + FieldByName('CDName').Value:=CDS_XJCD.fieldbyname('CDName').Value; + FieldByName('CDBeg').Value:=CDS_XJCD.fieldbyname('CDBeg').Value; + FieldByName('CDEnd').Value:=CDS_XJCD.fieldbyname('CDEnd').Value; + FieldByName('CDQty').Value:=CDS_XJCD.fieldbyname('CDQty').Value; + Post; + end; + end; + Next; + end; + end; + //////////////////////////////////////////////////////////////Сõ + //////////////////////////////////////////////////////////////浽Ʒֿ//////////////////////////////////////////////// + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.add('Update CK_BanCP_CRID Set CRID=CRID+1'); + sql.Add('select * from CK_BanCP_CRID'); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').Value; + if GetLSNo(ADOQueryTemp,MaxCkNo,'JR','CK_BanCP_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡƷֿʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(Cds_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(Cds_Main.fieldbyname('SubId').AsString); + FieldByName('MJID').Value:=Trim(Cds_Main.fieldbyname('MJId').AsString); + FieldByName('XJID').Value:=Trim(maxno); + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + FieldByName('JTType').Value:=Trim(XJFlag); + FieldByName('CRID').Value:=CRID; + FieldByName('KGQty').Value:=StrToFloat(FFXJMaoZ); + FieldByName('MQty').Value:=StrToFloat(FFXJLen); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=CRID; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('XJID').Value:=Trim(maxno); + FieldByName('KCKGQty').Value:=StrToFloat(FFXJMaoZ); + FieldByName('KCMQty').Value:=StrToFloat(FFXJLen); + Post; + end; + //////////////////////////////////////////////////////////////浽Ʒֿ//////////////////////////////////////////////// + ADOQueryCmd.Connection.CommitTrans; + PrintData(Trim(maxno),''); + //Application.MessageBox('ɹ','ʾ',0); + //MJID.SelectAll; + Exit; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; +procedure TfrmZJManageNew.PrintData(FXJID:string;CDFlag:String); +var + fPrintFile,LabInt,LabName:String; +begin + if Trim(FXJID)='' then exit; + DataLink_WFBProducttion.ADOLink.Connected:=False; + DataLink_WFBProducttion.ADOLink.Connected:=True; + if Trim(CDFlag)<>'' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_XJJY Set PrtAgnFlag=1,PrtAgnDate=getdate(),PrtAgnPerson='''+Trim(DName)+''''); + sql.Add(' where XJID='''+Trim(FXJID)+''''); + ExecSQL; + end; + end; + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add(' select C.LbXInt,C.LbXName from WFB_XJJY A'); + sql.Add(' inner join WFB_MJJY B on A.MJID=B.MJID'); + sql.Add(' inner join WFBOrder_Main C on B.MainId=C.MainId'); + sql.Add(' where A.XJID='''+Trim(FXJID)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + LabInt:=ADOQueryTemp.fieldbyname('LbXInt').AsString; + LabName:=ADOQueryTemp.fieldbyname('LbXName').AsString; + end ; + if Trim(LabName)='' then + begin + Application.MessageBox('Сǩδã','ʾ',0); + Exit; + end; + { try + frmLabelPrint:=TfrmLabelPrint.Create(Application); + with frmLabelPrint do + begin + fLabelId:=LabInt; + FFCDFlag:=Trim(CDFlag); + fKeyNo:=Trim(FXJID); + fIsPreviewPrint:=True; + frmLabelPrint.Button1.Click; + // if ShowModal=1 then + //begin + + // end; + end; + finally + frmLabelPrint.Free; + end; } + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select RTrim(AA.XJID) XJID,RTrim(Cast(AA.XJSJKZ as varchar(20))) XJSJKZ,RTrim(cast(Cast(AA.XJFK*10 as int) as varchar(20))) XJFK,RTrim(B.OrderNo)+'''+Trim(CDFlag)+''' OrderNo'); + sql.Add(',Rtrim(C.SWFBColor) SWFBColor, YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPBSZ'')'); + SQL.Add(',EngColor=(select Top 1 note from KH_Zdy where ZdyName=C.SWFBColor)'); + sql.Add(',Rtrim(Cast(AA.XJlen as varchar(20))) XJlen,Rtrim(Cast(AA.XJMaoZ as varchar(20))) XJMaoZ'); + sql.Add(',Rtrim(Cast(AA.XJFree as varchar(20))) XJFree,Rtrim(Cast( Cast(AA.XJlen*AA.XJFK/100 as int) as varchar(20))) XJPFM'); + sql.Add(',Rtrim(Cast(Cast(C.SWFBKZ as int) as varchar(20))) SWFBKZ'); + sql.Add(',Rtrim(Cast(Cast(AA.XJJt as int) as varchar(20))) XJJt'); + sql.Add(',RTrim(B.LbEngName) LbEngName'); + sql.Add(',RTrim(C.SWFBCodeName) SWFBCodeName from WFB_XJJY AA '); + sql.add(' inner join WFB_MJJY A on AA.MJID=A.MJID') ; + sql.add(' inner join WFBOrder_Main B on A.MainId=B.MainId'); + sql.Add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); + sql.Add(' where AA.XJID='''+Trim(FXJID)+''''); + Open; + end; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\'+Trim(LabName)+'.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + //RM2.ShowReport; + Rm2.PrintReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\'+Trim(LabName)+'.rmf'),'ʾ',0); + end; + DataLink_WFBProducttion.ADOLink.Connected:=False; +end; + +procedure TfrmZJManageNew.Button6Click(Sender: TObject); +var + i,j,FXJInt:Integer; +begin + if Cds_Main.IsEmpty then Exit; + j:=0; + with Panel4 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if Controls[i].Visible=True then + begin + if TEdit(Controls[i]).Text='' then + begin + if j=0 then + begin + j:=9; + FXJInt:=i+1; + end + else + j:=j+1; + end; + end; + end; + end; + if j=0 then + begin + Application.MessageBox('ûѡС','ʾ',0); + Exit; + end else + if j>9 then + begin + Application.MessageBox('ѡС','ʾ',0); + Exit; + end; + + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_XJJY where MJID='''+Trim(Cds_Main.fieldbyname('MJId').AsString)+''''); + SQL.Add(' and XJInt='+Inttostr(FXJInt)); + Open; + end; + if ADOQueryTemp.IsEmpty=True then + begin + Application.MessageBox('δ룬´ӡ','ʾ',0); + Exit; + end; + MovePanel3.Visible:=True; + // PrintData(Trim(ADOQueryTemp.fieldbyname('XJID').AsString),'ش'); + //MJID.SelectAll; +end; + +procedure TfrmZJManageNew.Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + FXJXH:String; +begin + FXJXH:=Trim(CDS_XJID.fieldbyname('XJInt').AsString); + (FindComponent('XJLen'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJLen').AsString); + (FindComponent('XJMaoZ'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJMaoZ').AsString); + (FindComponent('XJFree'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJFree').AsString); + (FindComponent('XJJt'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJJt').AsString); +end; + +procedure TfrmZJManageNew.Button1Click(Sender: TObject); +begin + MovePanel2.Visible:=True; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,B.OrderNo,C.SWFBCode,C.SWFBCodeName,C.SWFBColor,C.WKMS,C.SWFBHW,C.SubId,C.MainId,C.SWFBKZ '); + sql.Add(',YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPB'')'); + sql.add('from WFB_MJJY A '); + Sql.add(' inner join WFBOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); + sql.add('where 1<>1'); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_HJ); + SInitCDSData20(ADOQueryTemp,CDS_HJ); +end; + +procedure TfrmZJManageNew.Button8Click(Sender: TObject); +begin + MovePanel2.Visible:=False; +end; + +procedure TfrmZJManageNew.Button7Click(Sender: TObject); +var + maxno,fPrintFile,maxnosub:String; + i:Double; +begin + if Application.MessageBox('ȷҪϾ𣿺Ͼݽ޸ģ','ʾ',32+4)<>IDYES then Exit; + try + ADOQueryCmd.Connection.BeginTrans; + if GetLSNo(ADOQueryCmd,maxno,'','WFB_MJJY',2,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_MJJY where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(CDS_HJ.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(CDS_HJ.fieldbyname('SubId').AsString); + FieldByName('MJId').Value:=Trim(maxno); + FieldByName('MJMaoZ').Value:=TvHJ.DataController.Summary.FooterSummaryValues[1]; + FieldByName('MJLen').Value:=TvHJ.DataController.Summary.FooterSummaryValues[2]; + FieldByName('MJFK').Value:=TvHJ.DataController.Summary.FooterSummaryValues[5]; + FieldByName('MJSJKZ').Value:=TvHJ.DataController.Summary.FooterSummaryValues[4]; + FieldByName('MJType').Value:='Ͼ'; + FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('Filler').Value:=Trim(DName); + Post; + end; + i:=0; + with CDS_HJ do + begin + First; + while not Eof do + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set HJMJID='''+Trim(maxno)+''''); + SQL.Add(',MJType=''Ͼ'',Valie=''N'' '); + SQL.Add(' where MJID='''+Trim(CDS_HJ.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_MJJY_CD where MJID='''+Trim(CDS_HJ.fieldbyname('MJID').AsString)+''''); + Open; + end; + with ADOQueryTemp do + begin + First; + while not Eof do + begin + if GetLSNo(ADOQueryCmd,maxnosub,'','WFB_MJJY_CD',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡСʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_MJJY_CD where 1<>1'); + open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MJID').Value:=Trim(maxno); + FieldByName('MCID').Value:=Trim(maxnosub); + FieldByName('CDBeg').Value:=ADOQueryTemp.fieldbyname('CDBeg').Value+i; + FieldByName('CDEnd').Value:=ADOQueryTemp.fieldbyname('CDEnd').Value+i; + FieldByName('CDQty').Value:=ADOQueryTemp.fieldbyname('CDQty').Value; + FieldByName('CDName').Value:=ADOQueryTemp.fieldbyname('CDName').Value; + Post; + end; + Next; + end; + end; + i:=i+CDS_HJ.FieldByName('MJLen').Value; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add(' select RTrim(A.MJID) MJID,RTrim(Cast(A.MJSJKZ As varchar(20))) MJSJKZ,RTrim(Cast(A.MJFK as varchar(20))) MJFK,RTrim(B.OrderNo) OrderNo,'); + sql.Add(' RTrim(Cast(A.MJMaoZ As varchar(20))) MJMaoZ,RTrim(Cast(A.MJLen As varchar(20))) MJLen,'); + sql.Add(' Rtrim(C.SWFBColor) SWFBColor,Rtrim(Cast(C.SWFBKZ as varchar(20))) SWFBKZ, YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPBSZ'')'); + sql.Add(',RTrim(C.SWFBCodeName) SWFBCodeName from WFB_MJJY A inner join WFBOrder_Main B on A.MainId=B.MainId'); + sql.Add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); + sql.Add(' where A.MJID='''+Trim(maxno)+''''); + Open; + end; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\ĸǩ.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + //RM2.ShowReport; + RM2.PrintReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ĸǩ.rmf'),'ʾ',0); + end; + Application.MessageBox('Ͼɹ','ʾ',0); + MovePanel2.Visible:=False; + Exit; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('Ͼ쳣','ʾ',0); + end; + +end; + +procedure TfrmZJManageNew.HJMJIDKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.* '); + sql.add('from WFB_MJJY A '); + sql.add('where A.MJID='''+Trim(HJMJID.Text)+''''); + sql.Add(' and valie=''Y'' '); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + HJMJID.Text:=''; + Application.MessageBox('','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.* '); + sql.add('from WFB_XJJY A '); + sql.add('where A.MJID='''+Trim(HJMJID.Text)+''''); + sql.Add(' and valie=''Y'' '); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + HJMJID.Text:=''; + Application.MessageBox('˴ѷУ','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,B.OrderNo,C.SWFBCode,C.SWFBCodeName,C.SWFBColor,C.WKMS,C.SWFBHW,C.SubId,C.MainId '); + sql.Add(',YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPB''),C.SWFBKZ'); + sql.add('from WFB_MJJY A '); + Sql.add(' inner join WFBOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); + sql.add('where A.MJID='''+Trim(HJMJID.Text)+''''); + sql.Add(' and A.valie=''Y'' '); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + if CDS_HJ.Locate('MJID',Trim(ADOQueryTemp.fieldbyname('MJID').AsString),[])=True then + begin + HJMJID.Text:=''; + Application.MessageBox('Ѿɨٴɨ裡','ʾ',0); + Exit; + end; + if CDS_HJ.IsEmpty=False then + begin + if CDS_HJ.Locate('SubId',Trim(ADOQueryTemp.fieldbyname('SubId').AsString),[])=False then + begin + HJMJID.Text:=''; + Application.MessageBox('ͬܺϾ','ʾ',0); + Exit; + end; + {if CDS_HJ.Locate('YLPB',Trim(ADOQueryTemp.fieldbyname('YLPB').AsString),[])=False then + begin + Application.MessageBox('ԭȲͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('SWFBCode',Trim(ADOQueryTemp.fieldbyname('SWFBCode').AsString),[])=False then + begin + Application.MessageBox('ƷŲͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('SWFBColor',Trim(ADOQueryTemp.fieldbyname('SWFBColor').AsString),[])=False then + begin + Application.MessageBox('ɫͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('SWFBHW',Trim(ADOQueryTemp.fieldbyname('SWFBHW').AsString),[])=False then + begin + Application.MessageBox('ͲͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('WKMS',Trim(ADOQueryTemp.fieldbyname('WKMS').AsString),[])=False then + begin + Application.MessageBox('ĿͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('XJFK',Trim(ADOQueryTemp.fieldbyname('XJFK').AsString),[])=False then + begin + Application.MessageBox('ͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('SWFBKZ',Trim(ADOQueryTemp.fieldbyname('SWFBKZ').AsString),[])=False then + begin + Application.MessageBox('زͬܺϾ','ʾ',0); + Exit; + end; } + end; + with CDS_HJ do + begin + Append; + FieldByName('OrderNo').Value:=ADOQueryTemp.fieldbyname('OrderNo').Value; + FieldByName('SubId').Value:=ADOQueryTemp.fieldbyname('SubId').Value; + FieldByName('MainId').Value:=ADOQueryTemp.fieldbyname('MainId').Value; + FieldByName('YLPB').Value:=ADOQueryTemp.fieldbyname('YLPB').Value; + FieldByName('SWFBCode').Value:=ADOQueryTemp.fieldbyname('SWFBCode').Value; + FieldByName('SWFBCodeName').Value:=ADOQueryTemp.fieldbyname('SWFBCodeName').Value; + FieldByName('SWFBColor').Value:=ADOQueryTemp.fieldbyname('SWFBColor').Value; + FieldByName('WKMS').Value:=ADOQueryTemp.fieldbyname('WKMS').Value; + FieldByName('SWFBHW').Value:=ADOQueryTemp.fieldbyname('SWFBHW').Value; + FieldByName('MJID').Value:=ADOQueryTemp.fieldbyname('MJID').Value; + FieldByName('SWFBKZ').Value:=ADOQueryTemp.fieldbyname('SWFBKZ').Value; + FieldByName('MJMaoZ').Value:=ADOQueryTemp.fieldbyname('MJMaoZ').Value; + FieldByName('MJLen').Value:=ADOQueryTemp.fieldbyname('MJLen').Value; + FieldByName('MJFK').Value:=ADOQueryTemp.fieldbyname('MJFK').Value; + FieldByName('MJSJKZ').Value:=ADOQueryTemp.fieldbyname('MJSJKZ').Value; + Post; + end; + end else + begin + HJMJID.Text:=''; + Application.MessageBox('','ʾ',0); + Exit; + end; + HJMJID.Text:=''; + end; + +end; + +procedure TfrmZJManageNew.TvHJCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + CDS_HJ.Delete; +end; + +procedure TfrmZJManageNew.Button9Click(Sender: TObject); +var + i,j,FXJInt:Integer; + mm,mm2:String; +begin + with ADOQueryTemp do + begin + sql.Clear; + sql.add('SELECT userid,username,password FROM SY_User WHERE userid='+''''+trim(DCode)+''''); + Open; + mm:=Trim(Fields[2].AsString); + if Trim(mm)<>'' then + mm2:=Trim(DecryptString(Trim(mm),'ljb^0122!@#*&^%$',kb128)) + else + begin + Application.MessageBox('벻Ϊգ','ʾ',0); + Exit; + end; + close; + end; + + if ( mm2=trim(Password.text) ) then + begin + with Panel4 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if Controls[i].Visible=True then + begin + if TEdit(Controls[i]).Text='' then + begin + if j=0 then + begin + j:=9; + FXJInt:=i+1; + end + else + j:=j+1; + end; + end; + end; + end; + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_XJJY where MJID='''+Trim(Cds_Main.fieldbyname('MJId').AsString)+''''); + SQL.Add(' and XJInt='+Inttostr(FXJInt)); + Open; + end; + if ADOQueryTemp.IsEmpty=True then + begin + Application.MessageBox('δ룬´ӡ','ʾ',0); + Exit; + end; + PrintData(Trim(ADOQueryTemp.fieldbyname('XJID').AsString),'ش'); + MovePanel3.Visible:=False; + end else + Application.MessageBox('', 'Ϣʾ', MB_OK or MB_ICONinformation); + + //MJID.SelectAll; +end; + +procedure TfrmZJManageNew.Button10Click(Sender: TObject); +begin + MovePanel3.Visible:=False; +end; + +procedure TfrmZJManageNew.PasswordClick(Sender: TObject); +begin + Panel5.Visible:=True; +end; + +end. diff --git a/打卷检验管理/U_ZJManageNewFD.dfm b/打卷检验管理/U_ZJManageNewFD.dfm new file mode 100644 index 0000000..0b45c5a --- /dev/null +++ b/打卷检验管理/U_ZJManageNewFD.dfm @@ -0,0 +1,2690 @@ +object frmZJManageNewFD: TfrmZJManageNewFD + Left = -2 + Top = 20 + Width = 1292 + Height = 734 + Caption = #23567#21367#20998#20999 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 13 + object Label1: TLabel + Left = 22 + Top = 13 + Width = 66 + Height = 33 + Caption = #25195#25551 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 22 + Top = 159 + Width = 62 + Height = 58 + Caption = #24133#23485#13#10' cm' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 22 + Top = 227 + Width = 62 + Height = 58 + Caption = #38271#24230#13#10' M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 22 + Top = 379 + Width = 62 + Height = 58 + Caption = #37325#37327#13#10' Kg' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 22 + Top = 518 + Width = 62 + Height = 29 + Caption = #30133#28857 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 22 + Top = 450 + Width = 62 + Height = 29 + Caption = #36873#25321 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 992 + Top = 56 + Width = 23 + Height = 84 + Caption = #20998#13#10#20999#13#10#35828#13#10#26126 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 22 + Top = 334 + Width = 62 + Height = 29 + Caption = #25509#22836 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 22 + Top = 291 + Width = 62 + Height = 29 + Caption = #36192#36865 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 994 + Top = 16 + Width = 100 + Height = 24 + Caption = #27597#21367#26465#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -24 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object MJID: TEdit + Left = 88 + Top = 9 + Width = 297 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnKeyPress = MJIDKeyPress + end + object ScrollBox1: TScrollBox + Left = 88 + Top = 517 + Width = 501 + Height = 151 + TabOrder = 1 + object SpeedButton13: TSpeedButton + Left = 3 + Top = 3 + Width = 60 + Height = 60 + Caption = #23567#40657#28857 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton14: TSpeedButton + Left = 64 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton15: TSpeedButton + Left = 125 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton16: TSpeedButton + Left = 186 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton17: TSpeedButton + Left = 247 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton18: TSpeedButton + Left = 308 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton19: TSpeedButton + Left = 369 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton20: TSpeedButton + Left = 430 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton21: TSpeedButton + Left = 3 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton22: TSpeedButton + Left = 64 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton23: TSpeedButton + Left = 125 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton24: TSpeedButton + Left = 186 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton25: TSpeedButton + Left = 247 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton26: TSpeedButton + Left = 308 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton27: TSpeedButton + Left = 369 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton28: TSpeedButton + Left = 430 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + end + object Button1: TButton + Left = 390 + Top = 7 + Width = 145 + Height = 42 + Caption = #21516#21333#21512#21367 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button1Click + end + object Button3: TButton + Left = 544 + Top = 9 + Width = 144 + Height = 40 + Caption = #25171' '#21360 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = Button3Click + end + object cxGrid2: TcxGrid + Left = 584 + Top = 514 + Width = 398 + Height = 156 + TabOrder = 4 + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv2CellDblClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column1 + end + item + Kind = skSum + Column = Tv2CDQty + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Content = cxStyle3 + Styles.Header = cxStyle3 + object v2Column3: TcxGridDBColumn + Caption = #21367#24207#21495 + DataBinding.FieldName = 'XJInt' + Width = 56 + end + object tv2CDType: TcxGridDBColumn + Caption = #30133#28857#31181#31867 + DataBinding.FieldName = 'CDName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 79 + end + object tv2CDWZ: TcxGridDBColumn + Caption = #20301#32622#36215 + DataBinding.FieldName = 'CDBeg' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Options.Sorting = False + Width = 60 + end + object v2Column2: TcxGridDBColumn + Caption = #20301#32622#27490 + DataBinding.FieldName = 'CDend' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Width = 61 + end + object Tv2CDQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'CDQty' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Footer = cxStyle2 + Width = 92 + end + object Tv2CDReason: TcxGridDBColumn + Caption = #21407#22240 + DataBinding.FieldName = 'CDReason' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle2 + Width = 131 + end + object v2Column1: TcxGridDBColumn + DataBinding.FieldName = 'CDQty' + Visible = False + Styles.Content = cxStyle2 + Width = 55 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object cxGrid3: TcxGrid + Left = 984 + Top = 516 + Width = 225 + Height = 155 + TabOrder = 5 + object Tv3: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv3CellClick + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Styles.Header = cxStyle1 + object v3Column1: TcxGridDBColumn + Caption = #21367#24207#21495 + DataBinding.FieldName = 'XJInt' + Styles.Content = cxStyle2 + Width = 56 + end + object cxGridDBColumn1: TcxGridDBColumn + Caption = #23567#21367#26465#30721 + DataBinding.FieldName = 'XJID' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 158 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv3 + end + end + object Button6: TButton + Left = 700 + Top = 10 + Width = 145 + Height = 39 + Caption = #37325#26032#25171#21360 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + OnClick = Button6Click + end + object Panel6: TPanel + Left = 88 + Top = 154 + Width = 1122 + Height = 344 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 7 + object Panel1: TPanel + Left = 8 + Top = 7 + Width = 1105 + Height = 54 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 0 + object SmalMF1: TEdit + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 0 + Visible = False + end + object SmalMF2: TEdit + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 1 + Visible = False + end + object SmalMF3: TEdit + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 2 + Visible = False + end + object SmalMF4: TEdit + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 3 + Visible = False + end + object SmalMF5: TEdit + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 4 + Visible = False + end + object SmalMF6: TEdit + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 5 + Visible = False + end + object SmalMF7: TEdit + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 6 + Visible = False + end + object SmalMF8: TEdit + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 7 + Visible = False + end + object SmalMF9: TEdit + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 8 + Visible = False + end + object SmalMF10: TEdit + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 9 + Visible = False + end + object SmalMF11: TEdit + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 10 + Visible = False + end + object SmalMF12: TEdit + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 11 + Visible = False + end + end + object Panel2: TPanel + Left = 8 + Top = 66 + Width = 1105 + Height = 52 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 1 + object XJLen1: TEdit + Tag = 1 + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + Visible = False + OnClick = XJLen1Click + end + object XJLen2: TEdit + Tag = 2 + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + OnClick = XJLen1Click + end + object XJLen3: TEdit + Tag = 3 + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + OnClick = XJLen1Click + end + object XJLen4: TEdit + Tag = 4 + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + OnClick = XJLen1Click + end + object XJLen5: TEdit + Tag = 5 + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + OnClick = XJLen1Click + end + object XJLen6: TEdit + Tag = 6 + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + OnClick = XJLen1Click + end + object XJLen7: TEdit + Tag = 7 + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + Visible = False + OnClick = XJLen1Click + end + object XJLen8: TEdit + Tag = 8 + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + Visible = False + OnClick = XJLen1Click + end + object XJLen9: TEdit + Tag = 9 + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + Visible = False + OnClick = XJLen1Click + end + object XJLen10: TEdit + Tag = 10 + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + Visible = False + OnClick = XJLen1Click + end + object XJLen11: TEdit + Tag = 11 + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + Visible = False + OnClick = XJLen1Click + end + object XJLen12: TEdit + Tag = 12 + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + Visible = False + OnClick = XJLen1Click + end + end + object Panel3: TPanel + Left = 8 + Top = 228 + Width = 1105 + Height = 54 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 2 + object XJMaoZ1: TEdit + Tag = 1 + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ2: TEdit + Tag = 2 + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ3: TEdit + Tag = 3 + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ4: TEdit + Tag = 4 + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ5: TEdit + Tag = 5 + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ6: TEdit + Tag = 6 + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ7: TEdit + Tag = 7 + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ8: TEdit + Tag = 8 + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ9: TEdit + Tag = 9 + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ10: TEdit + Tag = 10 + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ11: TEdit + Tag = 11 + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ12: TEdit + Tag = 12 + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + Visible = False + OnClick = XJLen1Click + end + end + object Panel4: TPanel + Left = 8 + Top = 283 + Width = 1105 + Height = 53 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 3 + object Sel1: TEdit + Tag = 1 + Left = 27 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 0 + Visible = False + OnClick = Sel1Click + end + object Sel2: TEdit + Tag = 2 + Left = 119 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 1 + Visible = False + OnClick = Sel1Click + end + object Sel3: TEdit + Tag = 3 + Left = 211 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 2 + Visible = False + OnClick = Sel1Click + end + object Sel4: TEdit + Tag = 4 + Left = 303 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 3 + Visible = False + OnClick = Sel1Click + end + object Sel5: TEdit + Tag = 5 + Left = 395 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 4 + Visible = False + OnClick = Sel1Click + end + object Sel6: TEdit + Tag = 6 + Left = 487 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 5 + Visible = False + OnClick = Sel1Click + end + object Sel7: TEdit + Tag = 7 + Left = 578 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 6 + Visible = False + OnClick = Sel1Click + end + object Sel8: TEdit + Tag = 8 + Left = 670 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 7 + Visible = False + OnClick = Sel1Click + end + object Sel9: TEdit + Tag = 9 + Left = 762 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 8 + Visible = False + OnClick = Sel1Click + end + object Sel10: TEdit + Tag = 10 + Left = 854 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 9 + Visible = False + OnClick = Sel1Click + end + object Sel11: TEdit + Tag = 11 + Left = 946 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 10 + Visible = False + OnClick = Sel1Click + end + object Sel12: TEdit + Tag = 12 + Left = 1038 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 11 + Visible = False + OnClick = Sel1Click + end + end + object Panel7: TPanel + Left = 8 + Top = 124 + Width = 1105 + Height = 52 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 4 + object XJFree1: TEdit + Tag = 1 + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + Visible = False + OnClick = XJLen1Click + end + object XJFree2: TEdit + Tag = 2 + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + OnClick = XJLen1Click + end + object XJFree3: TEdit + Tag = 3 + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + OnClick = XJLen1Click + end + object XJFree4: TEdit + Tag = 4 + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + OnClick = XJLen1Click + end + object XJFree5: TEdit + Tag = 5 + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + OnClick = XJLen1Click + end + object XJFree6: TEdit + Tag = 6 + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + OnClick = XJLen1Click + end + object XJFree7: TEdit + Tag = 7 + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + Visible = False + OnClick = XJLen1Click + end + object XJFree8: TEdit + Tag = 8 + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + Visible = False + OnClick = XJLen1Click + end + object XJFree9: TEdit + Tag = 9 + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + Visible = False + OnClick = XJLen1Click + end + object XJFree10: TEdit + Tag = 10 + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + Visible = False + OnClick = XJLen1Click + end + object XJFree11: TEdit + Tag = 11 + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + Visible = False + OnClick = XJLen1Click + end + object XJFree12: TEdit + Tag = 12 + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + Visible = False + OnClick = XJLen1Click + end + end + object Panel8: TPanel + Left = 8 + Top = 172 + Width = 1105 + Height = 52 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 5 + object XjJt1: TEdit + Tag = 1 + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + Visible = False + OnClick = XJLen1Click + end + object XjJt2: TEdit + Tag = 2 + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + OnClick = XJLen1Click + end + object XjJt3: TEdit + Tag = 3 + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + OnClick = XJLen1Click + end + object XjJt4: TEdit + Tag = 4 + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + OnClick = XJLen1Click + end + object XjJt5: TEdit + Tag = 5 + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + OnClick = XJLen1Click + end + object XjJt6: TEdit + Tag = 6 + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + OnClick = XJLen1Click + end + object XjJt7: TEdit + Tag = 7 + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + Visible = False + OnClick = XJLen1Click + end + object XjJt8: TEdit + Tag = 8 + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + Visible = False + OnClick = XJLen1Click + end + object XjJt9: TEdit + Tag = 9 + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + Visible = False + OnClick = XJLen1Click + end + object XjJt10: TEdit + Tag = 10 + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + Visible = False + OnClick = XJLen1Click + end + object XjJt11: TEdit + Tag = 11 + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + Visible = False + OnClick = XJLen1Click + end + object XjJt12: TEdit + Tag = 12 + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + Visible = False + OnClick = XJLen1Click + end + end + end + object Panel5: TPanel + Left = 578 + Top = 493 + Width = 625 + Height = 172 + BevelInner = bvRaised + BevelOuter = bvLowered + ParentColor = True + TabOrder = 8 + Visible = False + object SpeedButton1: TSpeedButton + Left = 4 + Top = 3 + Width = 80 + Height = 80 + Caption = '0' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton2: TSpeedButton + Left = 88 + Top = 3 + Width = 80 + Height = 80 + Caption = '1' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton3: TSpeedButton + Left = 172 + Top = 3 + Width = 80 + Height = 80 + Caption = '2' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton4: TSpeedButton + Left = 256 + Top = 3 + Width = 80 + Height = 80 + Caption = '3' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton5: TSpeedButton + Left = 340 + Top = 3 + Width = 80 + Height = 80 + Caption = '4' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton6: TSpeedButton + Left = 4 + Top = 87 + Width = 80 + Height = 80 + Caption = '5' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton7: TSpeedButton + Left = 88 + Top = 87 + Width = 80 + Height = 80 + Caption = '6' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton8: TSpeedButton + Left = 172 + Top = 87 + Width = 80 + Height = 80 + Caption = '7' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton9: TSpeedButton + Left = 256 + Top = 87 + Width = 80 + Height = 80 + Caption = '8' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton10: TSpeedButton + Left = 340 + Top = 87 + Width = 80 + Height = 80 + Caption = '9' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton11: TSpeedButton + Tag = 9 + Left = 424 + Top = 87 + Width = 80 + Height = 80 + Caption = '.' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -53 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton12: TSpeedButton + Left = 424 + Top = 3 + Width = 80 + Height = 80 + Caption = #8592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -53 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton12Click + end + object SpeedButton49: TSpeedButton + Tag = 9 + Left = 517 + Top = 37 + Width = 91 + Height = 82 + Caption = #38544#34255 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton49Click + end + end + object cxGrid4: TcxGrid + Left = 88 + Top = 51 + Width = 898 + Height = 55 + TabOrder = 9 + object TvSel: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Styles.Header = cxStyle3 + object vSelColumn1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 149 + end + object vSelColumn4: TcxGridDBColumn + Caption = #20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 89 + end + object vSelColumn6: TcxGridDBColumn + Caption = #22823#21367#38376#24133'CM' + DataBinding.FieldName = 'MJFK' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 94 + end + object vSelColumn5: TcxGridDBColumn + Caption = #22823#21367#38271'M' + DataBinding.FieldName = 'MJLen' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 68 + end + object cxGridDBColumn7: TcxGridDBColumn + Caption = #22823#21367#37325'Kg' + DataBinding.FieldName = 'MJMaoZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle3 + Styles.Header = cxStyle1 + Width = 81 + end + object vSelColumn2: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'MJSJKZ' + Styles.Content = cxStyle3 + Width = 41 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle3 + Width = 43 + end + object vSelColumn7: TcxGridDBColumn + Caption = #32593#23380#30446#25968 + DataBinding.FieldName = 'WKMS' + Styles.Content = cxStyle3 + Width = 74 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle3 + Width = 58 + end + object vSelColumn3: TcxGridDBColumn + Caption = #20998#20999#20010#25968 + DataBinding.FieldName = 'SmalCount' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 79 + end + object vSelColumn8: TcxGridDBColumn + Caption = #20801#35768#20559#24046 + DataBinding.FieldName = 'SmalPC' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 78 + end + end + object cxGridLevel3: TcxGridLevel + GridView = TvSel + end + end + object Button2: TButton + Left = 860 + Top = 10 + Width = 101 + Height = 39 + Caption = #36864#20986 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + OnClick = Button2Click + end + object MJCDHZ: TRichEdit + Left = 88 + Top = 108 + Width = 899 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + Lines.Strings = ( + '') + ParentFont = False + ReadOnly = True + ScrollBars = ssVertical + TabOrder = 11 + end + object SmalNote: TRichEdit + Left = 1016 + Top = 50 + Width = 193 + Height = 98 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + Lines.Strings = ( + '') + ParentFont = False + ReadOnly = True + ScrollBars = ssVertical + TabOrder = 12 + end + object MovePanel2: TMovePanel + Left = 80 + Top = 53 + Width = 1137 + Height = 505 + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 13 + Visible = False + object Label8: TLabel + Left = 421 + Top = 24 + Width = 262 + Height = 35 + Caption = #21516' '#21333' '#21512' '#21367 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 22 + Top = 85 + Width = 66 + Height = 33 + Caption = #25195#25551 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object cxGrid1: TcxGrid + Left = 8 + Top = 144 + Width = 1121 + Height = 249 + TabOrder = 0 + object TvHJ: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TvHJCellDblClick + DataController.DataSource = DSHJ + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + Column = vHJColumn1 + end + item + Kind = skSum + Column = vHJColumn2 + end + item + Format = #21367#20010#25968#65306'#' + Kind = skCount + Column = cxGridDBColumn3 + end + item + Kind = skAverage + Column = vHJColumn11 + end + item + Kind = skAverage + Column = vHJColumn3 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Content = cxStyle3 + Styles.Footer = cxStyle3 + Styles.Header = cxStyle1 + object cxGridDBColumn3: TcxGridDBColumn + Caption = #22823#21367#26465#30721 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 179 + end + object vHJColumn1: TcxGridDBColumn + Caption = #37325#37327'Kg' + DataBinding.FieldName = 'MJMaoZ' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object vHJColumn2: TcxGridDBColumn + Caption = #38271#24230'm' + DataBinding.FieldName = 'MJLen' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object vHJColumn3: TcxGridDBColumn + Caption = #24133#23485'cm' + DataBinding.FieldName = 'MJFk' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object vHJColumn11: TcxGridDBColumn + Caption = #23454#38469#20811#37325 + DataBinding.FieldName = 'MJSJKZ' + HeaderAlignmentHorz = taCenter + Width = 75 + end + object vHJColumn4: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Width = 166 + end + object vHJColumn9: TcxGridDBColumn + Caption = #20135#21697#20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + HeaderAlignmentHorz = taCenter + Width = 98 + end + object vHJColumn10: TcxGridDBColumn + Caption = #21407#26009#37197#27604 + DataBinding.FieldName = 'YLPB' + HeaderAlignmentHorz = taCenter + Width = 117 + end + object vHJColumn5: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Width = 54 + end + object vHJColumn8: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Width = 59 + end + object vHJColumn6: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'SWFBKZ' + HeaderAlignmentHorz = taCenter + Width = 58 + end + object vHJColumn7: TcxGridDBColumn + Caption = #32593#23380#30446#25968 + DataBinding.FieldName = 'WKMS' + HeaderAlignmentHorz = taCenter + Width = 79 + end + end + object cxGridLevel4: TcxGridLevel + GridView = TvHJ + end + end + object HJMJID: TEdit + Left = 88 + Top = 81 + Width = 297 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnKeyPress = HJMJIDKeyPress + end + object Button7: TButton + Left = 140 + Top = 431 + Width = 145 + Height = 42 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button7Click + end + object Button8: TButton + Left = 852 + Top = 431 + Width = 145 + Height = 42 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = Button8Click + end + end + object MovePanel1: TMovePanel + Left = 88 + Top = 487 + Width = 344 + Height = 202 + BevelInner = bvLowered + Color = clSkyBlue + TabOrder = 14 + Visible = False + object Label17: TLabel + Left = 30 + Top = 24 + Width = 84 + Height = 20 + Caption = #36215#22987#20301#32622 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 185 + Top = 69 + Width = 21 + Height = 20 + Caption = #21040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label19: TLabel + Left = 301 + Top = 24 + Width = 11 + Height = 20 + Caption = 'M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label20: TLabel + Left = 301 + Top = 104 + Width = 11 + Height = 20 + Caption = 'M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label21: TLabel + Left = 31 + Top = 69 + Width = 77 + Height = 20 + Caption = 'Label21' + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentColor = False + ParentFont = False + end + object CDBeg: TEdit + Tag = 9999 + Left = 119 + Top = 16 + Width = 174 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = XJLen1Click + end + object Button4: TButton + Left = 31 + Top = 147 + Width = 66 + Height = 38 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Button4Click + end + object Button5: TButton + Left = 246 + Top = 147 + Width = 66 + Height = 38 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button5Click + end + object CDEnd: TEdit + Tag = 9999 + Left = 119 + Top = 94 + Width = 174 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = XJLen1Click + end + end + object MovePanel3: TMovePanel + Left = 568 + Top = 104 + Width = 321 + Height = 177 + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 15 + Visible = False + object Label13: TLabel + Left = 88 + Top = 16 + Width = 132 + Height = 33 + Caption = #36755#20837#23494#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Button9: TButton + Left = 32 + Top = 112 + Width = 75 + Height = 49 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = Button9Click + end + object Button10: TButton + Left = 200 + Top = 112 + Width = 75 + Height = 49 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Button10Click + end + object Password: TEdit + Tag = 99999 + Left = 32 + Top = 56 + Width = 241 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + PasswordChar = '*' + TabOrder = 2 + OnClick = XJLen1Click + end + end + object cxStyleRepository5: TcxStyleRepository + Left = 936 + Top = 65532 + object cxStyle6: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + end + object cxStyleRepository1: TcxStyleRepository + Left = 1232 + Top = 124 + object cxStyle1: TcxStyle + AssignedValues = [svColor, svFont] + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle2: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Pitch = fpFixed + Font.Style = [fsBold] + TextColor = clDefault + end + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 598 + Top = 75 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 686 + Top = 74 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 638 + Top = 74 + end + object DataSource1: TDataSource + DataSet = Cds_Main + Left = 744 + Top = 76 + end + object Cds_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 800 + Top = 76 + end + object DataSource3: TDataSource + DataSet = CDS_XJID + Left = 1000 + Top = 670 + end + object CDS_XJID: TClientDataSet + Aggregates = <> + Params = <> + Left = 1032 + Top = 670 + end + object DataSource2: TDataSource + DataSet = CDS_XJCD + Left = 752 + Top = 670 + end + object CDS_XJCD: TClientDataSet + Aggregates = <> + Params = <> + Left = 792 + Top = 670 + end + object cxStyleRepository2: TcxStyleRepository + object cxStyle3: TcxStyle + AssignedValues = [svFont] + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 136 + Top = 120 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 104 + Top = 120 + ReportData = {} + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 168 + Top = 120 + end + object DSHJ: TDataSource + DataSet = CDS_HJ + Left = 352 + Top = 550 + end + object CDS_HJ: TClientDataSet + Aggregates = <> + Params = <> + Left = 384 + Top = 550 + end +end diff --git a/打卷检验管理/U_ZJManageNewFD.pas b/打卷检验管理/U_ZJManageNewFD.pas new file mode 100644 index 0000000..f336ab3 --- /dev/null +++ b/打卷检验管理/U_ZJManageNewFD.pas @@ -0,0 +1,1530 @@ +unit U_ZJManageNewFD; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, Buttons, ExtCtrls, cxStyles, cxCustomData, cxGraphics, + cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxTextEdit, + cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, + cxClasses, cxControls, cxGridCustomView, cxGrid, MovePanel, ADODB, + DBClient, ComCtrls, RM_Common, RM_Class, RM_GridReport, RM_System, + RM_Dataset; + +type + TfrmZJManageNewFD = class(TForm) + MJID: TEdit; + Label1: TLabel; + Label2: TLabel; + Label3: TLabel; + Label4: TLabel; + Label5: TLabel; + Label6: TLabel; + ScrollBox1: TScrollBox; + SpeedButton13: TSpeedButton; + SpeedButton14: TSpeedButton; + SpeedButton15: TSpeedButton; + SpeedButton16: TSpeedButton; + SpeedButton17: TSpeedButton; + SpeedButton18: TSpeedButton; + SpeedButton19: TSpeedButton; + SpeedButton20: TSpeedButton; + SpeedButton21: TSpeedButton; + SpeedButton22: TSpeedButton; + SpeedButton23: TSpeedButton; + SpeedButton24: TSpeedButton; + SpeedButton25: TSpeedButton; + SpeedButton26: TSpeedButton; + SpeedButton27: TSpeedButton; + SpeedButton28: TSpeedButton; + Button1: TButton; + Button3: TButton; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + tv2CDType: TcxGridDBColumn; + tv2CDWZ: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + Tv2CDQty: TcxGridDBColumn; + Tv2CDReason: TcxGridDBColumn; + v2Column1: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + cxStyleRepository5: TcxStyleRepository; + cxStyle6: TcxStyle; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxStyle2: TcxStyle; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + Button6: TButton; + Panel6: TPanel; + Panel1: TPanel; + SmalMF1: TEdit; + SmalMF2: TEdit; + SmalMF3: TEdit; + SmalMF4: TEdit; + SmalMF5: TEdit; + SmalMF6: TEdit; + SmalMF7: TEdit; + SmalMF8: TEdit; + SmalMF9: TEdit; + SmalMF10: TEdit; + SmalMF11: TEdit; + SmalMF12: TEdit; + Panel2: TPanel; + XJLen1: TEdit; + XJLen2: TEdit; + XJLen3: TEdit; + XJLen4: TEdit; + XJLen5: TEdit; + XJLen6: TEdit; + XJLen7: TEdit; + XJLen8: TEdit; + XJLen9: TEdit; + XJLen10: TEdit; + XJLen11: TEdit; + XJLen12: TEdit; + Panel3: TPanel; + XJMaoZ1: TEdit; + XJMaoZ2: TEdit; + XJMaoZ3: TEdit; + XJMaoZ4: TEdit; + XJMaoZ5: TEdit; + XJMaoZ6: TEdit; + XJMaoZ7: TEdit; + XJMaoZ8: TEdit; + XJMaoZ9: TEdit; + XJMaoZ10: TEdit; + XJMaoZ11: TEdit; + XJMaoZ12: TEdit; + Panel4: TPanel; + Sel1: TEdit; + Sel2: TEdit; + Sel3: TEdit; + Sel4: TEdit; + Sel5: TEdit; + Sel6: TEdit; + Sel7: TEdit; + Sel8: TEdit; + Sel9: TEdit; + Sel10: TEdit; + Sel11: TEdit; + Sel12: TEdit; + ADOQueryTemp: TADOQuery; + Panel5: TPanel; + SpeedButton1: TSpeedButton; + SpeedButton2: TSpeedButton; + SpeedButton3: TSpeedButton; + SpeedButton4: TSpeedButton; + SpeedButton5: TSpeedButton; + SpeedButton6: TSpeedButton; + SpeedButton7: TSpeedButton; + SpeedButton8: TSpeedButton; + SpeedButton9: TSpeedButton; + SpeedButton10: TSpeedButton; + SpeedButton11: TSpeedButton; + SpeedButton12: TSpeedButton; + SpeedButton49: TSpeedButton; + cxGrid4: TcxGrid; + TvSel: TcxGridDBTableView; + vSelColumn1: TcxGridDBColumn; + vSelColumn4: TcxGridDBColumn; + vSelColumn6: TcxGridDBColumn; + vSelColumn5: TcxGridDBColumn; + cxGridDBColumn7: TcxGridDBColumn; + vSelColumn7: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + vSelColumn2: TcxGridDBColumn; + cxGridLevel3: TcxGridLevel; + vSelColumn3: TcxGridDBColumn; + vSelColumn8: TcxGridDBColumn; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + DataSource1: TDataSource; + Cds_Main: TClientDataSet; + Button2: TButton; + MJCDHZ: TRichEdit; + DataSource3: TDataSource; + CDS_XJID: TClientDataSet; + DataSource2: TDataSource; + CDS_XJCD: TClientDataSet; + v2Column3: TcxGridDBColumn; + v3Column1: TcxGridDBColumn; + cxStyleRepository2: TcxStyleRepository; + cxStyle3: TcxStyle; + SmalNote: TRichEdit; + Label7: TLabel; + RMDB_Main: TRMDBDataSet; + RM2: TRMGridReport; + ADOQueryPrint: TADOQuery; + MovePanel2: TMovePanel; + Label8: TLabel; + cxGrid1: TcxGrid; + TvHJ: TcxGridDBTableView; + cxGridDBColumn3: TcxGridDBColumn; + cxGridLevel4: TcxGridLevel; + DSHJ: TDataSource; + CDS_HJ: TClientDataSet; + vHJColumn1: TcxGridDBColumn; + vHJColumn2: TcxGridDBColumn; + vHJColumn3: TcxGridDBColumn; + Label9: TLabel; + HJMJID: TEdit; + Button7: TButton; + Button8: TButton; + vHJColumn4: TcxGridDBColumn; + vHJColumn5: TcxGridDBColumn; + vHJColumn6: TcxGridDBColumn; + vHJColumn7: TcxGridDBColumn; + vHJColumn8: TcxGridDBColumn; + vHJColumn9: TcxGridDBColumn; + vHJColumn10: TcxGridDBColumn; + vHJColumn11: TcxGridDBColumn; + Panel7: TPanel; + XJFree1: TEdit; + XJFree2: TEdit; + XJFree3: TEdit; + XJFree4: TEdit; + XJFree5: TEdit; + XJFree6: TEdit; + XJFree7: TEdit; + XJFree8: TEdit; + XJFree9: TEdit; + XJFree10: TEdit; + XJFree11: TEdit; + XJFree12: TEdit; + MovePanel1: TMovePanel; + Label17: TLabel; + Label18: TLabel; + Label19: TLabel; + Label20: TLabel; + Label21: TLabel; + CDBeg: TEdit; + Button4: TButton; + Button5: TButton; + CDEnd: TEdit; + Panel8: TPanel; + XjJt1: TEdit; + XjJt2: TEdit; + XjJt3: TEdit; + XjJt4: TEdit; + XjJt5: TEdit; + XjJt6: TEdit; + XjJt7: TEdit; + XjJt8: TEdit; + XjJt9: TEdit; + XjJt10: TEdit; + XjJt11: TEdit; + XjJt12: TEdit; + Label10: TLabel; + Label11: TLabel; + Label12: TLabel; + MovePanel3: TMovePanel; + Button9: TButton; + Button10: TButton; + Password: TEdit; + Label13: TLabel; + procedure Sel1Click(Sender: TObject); + procedure Edit64Click(Sender: TObject); + procedure SpeedButton1Click(Sender: TObject); + procedure SpeedButton12Click(Sender: TObject); + procedure SpeedButton49Click(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure XJLen1Click(Sender: TObject); + procedure MJIDKeyPress(Sender: TObject; var Key: Char); + procedure Button2Click(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure SpeedButton13Click(Sender: TObject); + procedure Button5Click(Sender: TObject); + procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button3Click(Sender: TObject); + procedure Button6Click(Sender: TObject); + procedure Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button1Click(Sender: TObject); + procedure Button8Click(Sender: TObject); + procedure Button7Click(Sender: TObject); + procedure HJMJIDKeyPress(Sender: TObject; var Key: Char); + procedure TvHJCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button9Click(Sender: TObject); + procedure Button10Click(Sender: TObject); + procedure PasswordClick(Sender: TObject); + private + { Private declarations } + FCDName:string; + procedure ClearSpenndHit(); + procedure VisbleControl(Panel55:TWinControl;XS:Boolean;SXCount:Integer); + function ChkEditNULL(panel55:TWinControl):Boolean; + procedure InitJP(); + procedure InitGridCD(); + procedure InitGridCDID(); + procedure ClearControl(Panel55:TWinControl;ConValue:String;SXCount:Integer); + procedure PrintData(FXJID:string;CDFlag:String); + public + { Public declarations } + end; + +var + frmZJManageNewFD: TfrmZJManageNewFD; + +implementation +uses +U_DataLink,U_Fun,U_ZDYHelp,U_iniParam,AES,ElAES,U_LabelPrint; + +{$R *.dfm} + +procedure TfrmZJManageNewFD.Sel1Click(Sender: TObject); +begin + if Trim(TcxTextEdit(Sender).Text)='' then + begin + TcxTextEdit(Sender).Text:=''; + end else + begin + TcxTextEdit(Sender).Text:=''; + end; +end; + +procedure TfrmZJManageNewFD.Edit64Click(Sender: TObject); +var + i:Integer; +begin + Panel5.Visible:=True; + with Panel5 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=Trim(TEdit(Sender).Name); + end; + end; + end; +end; +procedure TfrmZJManageNewFD.ClearSpenndHit(); +var + i:Integer; +begin + with Panel5 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=''; + end; + end; + end; +end; +procedure TfrmZJManageNewFD.VisbleControl(Panel55:TWinControl;XS:Boolean;SXCount:Integer); +var + i:Integer; +begin + with Panel55 do + begin + for i:=0 to SXCount-1 do + begin + Controls[i].Visible:=XS; + end; + end; +end; +procedure TfrmZJManageNewFD.ClearControl(Panel55:TWinControl;ConValue:String;SXCount:Integer); +var + i:Integer; +begin + with Panel55 do + begin + for i:=0 to SXCount-1 do + begin + TEdit(Controls[i]).Text:=ConValue; + end; + end; +end; + +procedure TfrmZJManageNewFD.SpeedButton1Click(Sender: TObject); +var + fsj:string; +begin + fsj:=Trim(TSpeedButton(Sender).Hint); + if Trim(fsj)='' then Exit; + fsj:=Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text:=fsj+Trim(TSpeedButton(Sender).Caption); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TfrmZJManageNewFD.SpeedButton12Click(Sender: TObject); +var + fsj:string; +begin + fsj:=Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); + if Trim(fsj)='' then Exit; + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text:=Copy(fsj,1,Length(fsj)-1); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TfrmZJManageNewFD.SpeedButton49Click(Sender: TObject); +begin + Panel5.Visible:=false; +end; + +function TfrmZJManageNewFD.ChkEditNULL(panel55:TWinControl):Boolean; +var + i:Integer; +begin + Result:=False; + with panel55 do + begin + for i:=0 to panel55.ControlCount-1 do + begin + if Controls[i].Visible=True then + begin + if Trim(TEdit(Controls[i]).Text)='' then + begin + Result:=False; + Break; + end else + begin + Result:=True; + end; + end; + + end; + end; + +end; + +procedure TfrmZJManageNewFD.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmZJManageNewFD.FormDestroy(Sender: TObject); +begin + frmZJManageNewFD:=nil; +end; + +procedure TfrmZJManageNewFD.XJLen1Click(Sender: TObject); +var + i:Integer; +begin + if CDS_XJID.IsEmpty=False then + begin + if CDS_XJID.Locate('XJInt',TEdit(Sender).tag,[])=True then + begin + TEdit(Sender).Text:=Trim(CDS_XJID.fieldbyname(Copy(Trim(TEdit(Sender).Name),1,Length(Trim(TEdit(Sender).Name))-1)).AsString); + Panel5.Visible:=False; + Exit; + end; + end; + Panel5.Visible:=True; + with Panel5 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=Trim(TEdit(Sender).Name); + end; + end; + end; + // Panel5.Left:=Edit14.Left; + //Panel5.top:=Edit14.top+Edit14.Height; +end; + +procedure TfrmZJManageNewFD.MJIDKeyPress(Sender: TObject; var Key: Char); +var + FCount,i:Integer; + FXJXH:String; +begin + if Key=#13 then + begin + MJID.SelectAll; + ClearControl(Panel1,'',Panel1.ControlCount); + ClearControl(Panel2,'',Panel2.ControlCount); + ClearControl(Panel3,'',Panel3.ControlCount); + Label12.Visible:=True; + Label12.Caption:=Trim(MJID.Text); + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.add('select MJCDHZ=dbo.F_Get_WFBOrder_SubStr(A.MJID,''MJCDHZ''), D.*,'); + SQL.Add('A.*,C.OrderNo,B.SWFBColor,B.SWFBHW,B.WKMS,B.SWFBCode,B.SWFBCodeName '); + sql.add('from WFB_MJJY A inner join WFBOrder_Sub_AnPai D on A.APId=D.APId'); + sql.Add('inner join WFBOrder_Sub B on A.SubId=B.SubId'); + sql.Add('inner join WFBOrder_Main C on A.MainId=C.MainId'); + sql.Add('where A.MJID='''+Trim(MJID.Text)+''''); + sql.Add(' and A.Valie=''Y'' '); + Open; + end; + SCreateCDS20(ADOQueryMain,Cds_Main); + SInitCDSData20(ADOQueryMain,Cds_Main); + if Cds_Main.IsEmpty then + begin + MJCDHZ.Text:=''; + InitGridCDID(); + InitGridCD(); + Label12.Visible:=False; + MJID.Text:=''; + Application.MessageBox('','ʾ',0); + Exit; + end; + MJCDHZ.Visible:=True; + MJCDHZ.Text:=Trim(Cds_Main.fieldbyname('MJCDHZ').AsString); + SmalNote.Text:=Trim(Cds_Main.fieldbyname('SmalNote').AsString); + if Cds_Main.FieldByName('SmalCount').Value<1 then + begin + Application.MessageBox('иС1','ʾ',0); + Exit; + end else + begin + FCount:=Cds_Main.FieldByName('SmalCount').Value; + VisbleControl(Panel1,False,Panel1.ControlCount); + VisbleControl(Panel2,False,Panel2.ControlCount); + VisbleControl(Panel3,False,Panel3.ControlCount); + VisbleControl(Panel4,False,Panel4.ControlCount); + VisbleControl(Panel1,True,FCount); + VisbleControl(Panel2,True,FCount); + VisbleControl(Panel3,True,FCount); + VisbleControl(Panel4,True,FCount); + VisbleControl(Panel7,True,FCount); + VisbleControl(Panel8,True,FCount); + SCSHDataCDS(Cds_Main,Panel1,0); + end; + InitGridCDID(); + InitGridCD(); + finally + ADOQueryMain.EnableControls; + end; + MJID.Text:=''; + {if CDS_XJID.IsEmpty=False then + begin + with CDS_XJID do + begin + First; + while not Eof do + begin + + FXJXH:=Trim(CDS_XJID.fieldbyname('XJInt').AsString); + (FindComponent('XJLen'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJLen').AsString); + (FindComponent('XJMaoZ'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJMaoZ').AsString); + (FindComponent('XJFree'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJFree').AsString); + (FindComponent('XJJt'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJJt').AsString); + Next; + end; + end; + end; } + end; +end; + +procedure TfrmZJManageNewFD.Button2Click(Sender: TObject); +begin + WriteCxGrid('ʾϢ',TvSel,'޷IJ'); + Close; +end; + +procedure TfrmZJManageNewFD.FormShow(Sender: TObject); +begin + ReadCxGrid('ʾϢ',TvSel,'޷IJ'); + InitJP(); +end; + +procedure TfrmZJManageNewFD.InitJP(); +var + AA:array[0..100] of string; + i,j:Integer; +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select ZDYName from KH_Zdy where Type=''WFBCDZJ'' order by ZDYNO '); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + Application.MessageBox('ûжСõ㣡','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + First; + i:=0; + while not Eof do + begin + AA[i]:=Trim(fieldbyname('ZDYName').AsString); + i:=i+1; + Next; + end; + end; + i:=i-1; + if i>17 then + begin + i:=29; + end; + for j:=0 to i do + begin + with ScrollBox1 do + begin + TSpeedButton(Controls[j]).Visible:=True; + TSpeedButton(Controls[j]).Hint:=AA[j]; + if Length(AA[j])>4 then + begin + TSpeedButton(Controls[j]).Caption:=Copy(Trim(AA[j]),1,4)+#13+Copy(Trim(AA[j]),5,Length(AA[j])-4); + end else + TSpeedButton(Controls[j]).Caption:=AA[j]; + end; + end; +end; + +procedure TfrmZJManageNewFD.Button4Click(Sender: TObject); +var + i:Integer; +begin + if Trim(CDBeg.Text)='' then + begin + Application.MessageBox('λòΪգ','ʾ',0); + exit; + end; + with Panel4 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if TEdit(Controls[i]).Text='' then + begin + with CDS_XJCD do + begin + Append; + FieldByName('cdname').Value:=Trim(FCDName); + FieldByName('CDbeg').Value:=Trim(CDBeg.Text); + FieldByName('CDEnd').Value:=Trim(CDEnd.Text); + if Trim(CDEnd.Text)<>'' then + begin + FieldByName('CDQty').Value:=StrToFloat(CDEnd.Text)-StrToFloat(CDBeg.Text); + end else + begin + FieldByName('CDQty').Value:=0; + end; + FieldByName('XJInt').Value:=i+1; + Post; + end; + end; + end; + end; + CDBeg.Text:=''; + CDEnd.Text:=''; + MovePanel1.Visible:=False; +end; + +procedure TfrmZJManageNewFD.SpeedButton13Click(Sender: TObject); +var + i,j:Integer; +begin + if Cds_Main.IsEmpty then Exit; + j:=0; + with Panel4 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if Controls[i].Visible=True then + begin + if TEdit(Controls[i]).Text='' then + begin + j:=9; + end; + end; + end; + end; + if j=0 then + begin + Application.MessageBox('ûѡС','ʾ',0); + Exit; + end; + FCDName:=Trim(TSpeedButton(Sender).Hint); + MovePanel1.Visible:=True; + Label21.Caption:=Trim(FCDName); + CDBeg.SetFocus; + + Panel5.Visible:=True; + with Panel5 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=Trim('CDBeg'); + end; + end; + end; +end; +procedure TfrmZJManageNewFD.InitGridCD(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + sql.Clear; + if Trim(CDS_XJID.fieldbyname('XJID').AsString)<>'' then + begin + sql.Add('select A.*,B.XJInt from WFB_XJJY_CD A inner join WFB_XJJY B on A.XJID=B.XJID'); + sql.Add(' where B.MJID='''+Trim(MJID.Text)+''''); + end + else + sql.Add('select A.*,B.XJInt from WFB_XJJY_CD A inner join WFB_XJJY B on A.XJID=B.XJID where 1<>1'); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_XJCD); + SInitCDSData20(ADOQueryMain,CDS_XJCD); + finally + ADOQueryMain.EnableControls; + end; +end; +procedure TfrmZJManageNewFD.InitGridCDID(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_XJJY where MJID='''+Trim(MJID.Text)+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_XJID); + SInitCDSData20(ADOQueryMain,CDS_XJID); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmZJManageNewFD.Button5Click(Sender: TObject); +begin + MovePanel1.Visible:=False; +end; + +procedure TfrmZJManageNewFD.Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if Trim(CDS_XJCD.fieldbyname('XJID').AsString)<>'' then Exit; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + CDS_XJCD.Delete; +end; + +procedure TfrmZJManageNewFD.Button3Click(Sender: TObject); +var + i,j,FXJInt,CRID:Integer; + FXJSJKZ:Double; + maxno,maxnocd,MaxCkNo,MaxCkSubNo,XJBanZu,FFXJLen,FFXJMaoZ,FFXJFk,FFXJFree,FFXJJt:String; +begin + if Cds_Main.IsEmpty then Exit; + with Panel2 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if TEdit(Controls[i]).Text='' then + begin + Application.MessageBox('δȫ¼룬ܴӡ','ʾ',0); + Exit; + end; + end; + end; + with Panel3 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if TEdit(Controls[i]).Text='' then + begin + Application.MessageBox('δȫ¼룬ܴӡ','ʾ',0); + Exit; + end; + end; + end; + j:=0; + with Panel4 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if Controls[i].Visible=True then + begin + if TEdit(Controls[i]).Text='' then + begin + if j=0 then + begin + j:=9; + FXJInt:=i+1; + end + else + j:=j+1; + end; + end; + end; + end; + if j=0 then + begin + Application.MessageBox('ûѡС','ʾ',0); + Exit; + end else + if j>9 then + begin + Application.MessageBox('ѡС','ʾ',0); + Exit; + end; + if Trim(TEdit(FindComponent('XJLen'+Trim(IntToStr(FXJInt)))).Text)='' then + begin + Application.MessageBox('ȲΪգ','ʾ',0); + Exit; + end else + begin + FFXJLen:=Trim(TEdit(FindComponent('XJLen'+Trim(IntToStr(FXJInt)))).Text); + end; + if Trim(TEdit(FindComponent('XJMaoZ'+Trim(IntToStr(FXJInt)))).Text)='' then + begin + Application.MessageBox('ëزΪգ','ʾ',0); + Exit; + end else + begin + FFXJMaoZ:=Trim(TEdit(FindComponent('XJMaoZ'+Trim(IntToStr(FXJInt)))).Text); + end; + if Trim(TEdit(FindComponent('SmalMF'+Trim(IntToStr(FXJInt)))).Text)='' then + begin + Application.MessageBox('ëزΪգ','ʾ',0); + Exit; + end else + begin + FFXJFk:=Trim(TEdit(FindComponent('SmalMF'+Trim(IntToStr(FXJInt)))).Text); + end; + if Trim(TEdit(FindComponent('XJFree'+Trim(IntToStr(FXJInt)))).Text)='' then + begin + FFXJFree:='0'; + end else + begin + FFXJFree:=Trim(TEdit(FindComponent('XJFree'+Trim(IntToStr(FXJInt)))).Text); + end; + if Trim(TEdit(FindComponent('XJJt'+Trim(IntToStr(FXJInt)))).Text)='' then + begin + FFXJJt:='0'; + end else + begin + FFXJJt:=Trim(TEdit(FindComponent('XJJt'+Trim(IntToStr(FXJInt)))).Text); + end; + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_XJJY where MJID='''+Trim(Cds_Main.fieldbyname('MJID').AsString)+''''); + SQL.Add(' and XJInt='+Inttostr(FXJInt)); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + Application.MessageBox('Ѵ룬볢´ӡ','',0); + Exit; + end; + FXJSJKZ:=StrToFloat(FFXJMaoZ)/(StrToFloat(FFXJLen)*StrToFloat(FFXJFk)/100)*1000; + if( (FXJSJKZ-Cds_Main.FieldByName('MJSJKZ').Value)/Cds_Main.FieldByName('MJSJKZ').Value )<-0.3 then + begin + Application.MessageBox('ݣ','ʾ',0); + Exit; + end; + if( (FXJSJKZ-Cds_Main.FieldByName('MJSJKZ').Value)/Cds_Main.FieldByName('MJSJKZ').Value )>0.3 then + begin + Application.MessageBox('ݣ','ʾ',0); + Exit; + end; + try + ADOQueryCmd.Connection.BeginTrans; + //////////////////////////////////////////////////////////////С + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from SY_User where UserId='''+Trim(DCode)+''''); + Open; + end; + XJBanZu:=Trim(ADOQueryTemp.fieldbyname('BanZu').AsString); + if GetLSNo(ADOQueryCmd,maxno,Trim(XJFlag),'WFB_XJJY',4,1)=false then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡС쳣','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.add('select * from WFB_XJJY where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MJID').Value:=Trim(Cds_Main.fieldbyname('MJID').AsString); + FieldByName('XJID').Value:=Trim(maxno); + FieldByName('XJInt').Value:=FXJInt; + FieldByName('XJLen').Value:=StrToFloat(FFXJLen); + FieldByName('XJMaoZ').Value:=StrToFloat(FFXJMaoZ); + FieldByName('XJFK').Value:=StrToFloat(FFXJFk); + FieldByName('XJFree').Value:=StrToFloat(FFXJFree); + FieldByName('XJJt').Value:=StrToFloat(FFXJJt); + FieldByName('XJBanZu').Value:=Trim(XJBanZu); + FieldByName('JTTYpe').Value:=Trim(XJFlag); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('XJSJKZ').Value:=StrToFloat(FFXJMaoZ)/(StrToFloat(FFXJLen)*StrToFloat(FFXJFk)/100)*1000; + //FieldByName('') + Post; + end; + with CDS_XJID do + begin + Append; + FieldByName('XJID').Value:=Trim(maxno); + FieldByName('XJInt').Value:=FXJInt; + FieldByName('XJLen').Value:=StrToFloat(FFXJLen); + FieldByName('XJMaoZ').Value:=StrToFloat(FFXJMaoZ); + FieldByName('XJFK').Value:=StrToFloat(FFXJFk); + FieldByName('XJFree').Value:=StrToFloat(FFXJFree); + FieldByName('XJJt').Value:=StrToFloat(FFXJJt); + Post; + end; + //////////////////////////////////////////////////////////////С + //////////////////////////////////////////////////////////////Сõ + with CDS_XJCD do + begin + First; + while not Eof do + begin + if CDS_XJCD.FieldByName('XJInt').Value=FXJInt then + begin + if GetLSNo(ADOQueryCmd,maxnocd,'XC','WFB_XJJY_CD',5,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡСõʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from WFB_XJJY_CD where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('XJID').Value:=Trim(maxno); + FieldByName('XCID').Value:=Trim(maxnocd); + FieldByName('CDName').Value:=CDS_XJCD.fieldbyname('CDName').Value; + FieldByName('CDBeg').Value:=CDS_XJCD.fieldbyname('CDBeg').Value; + FieldByName('CDEnd').Value:=CDS_XJCD.fieldbyname('CDEnd').Value; + FieldByName('CDQty').Value:=CDS_XJCD.fieldbyname('CDQty').Value; + Post; + end; + end; + Next; + end; + end; + //////////////////////////////////////////////////////////////Сõ + //////////////////////////////////////////////////////////////浽Ʒֿ//////////////////////////////////////////////// + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.add('Update CK_BanCP_CRID Set CRID=CRID+1'); + sql.Add('select * from CK_BanCP_CRID'); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').Value; + if GetLSNo(ADOQueryTemp,MaxCkNo,'JR','CK_BanCP_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡƷֿʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(Cds_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(Cds_Main.fieldbyname('SubId').AsString); + FieldByName('MJID').Value:=Trim(Cds_Main.fieldbyname('MJId').AsString); + FieldByName('XJID').Value:=Trim(maxno); + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + FieldByName('JTType').Value:=Trim(XJFlag); + FieldByName('CRID').Value:=CRID; + FieldByName('KGQty').Value:=StrToFloat(FFXJMaoZ); + FieldByName('MQty').Value:=StrToFloat(FFXJLen); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=CRID; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('XJID').Value:=Trim(maxno); + FieldByName('KCKGQty').Value:=StrToFloat(FFXJMaoZ); + FieldByName('KCMQty').Value:=StrToFloat(FFXJLen); + Post; + end; + //////////////////////////////////////////////////////////////浽Ʒֿ//////////////////////////////////////////////// + ADOQueryCmd.Connection.CommitTrans; + PrintData(Trim(maxno),''); + //Application.MessageBox('ɹ','ʾ',0); + //MJID.SelectAll; + Exit; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; +end; +procedure TfrmZJManageNewFD.PrintData(FXJID:string;CDFlag:String); +var + fPrintFile,LabInt,LabName:String; +begin + if Trim(FXJID)='' then exit; + DataLink_WFBProducttion.ADOLink.Connected:=False; + DataLink_WFBProducttion.ADOLink.Connected:=True; + if Trim(CDFlag)<>'' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_XJJY Set PrtAgnFlag=1,PrtAgnDate=getdate(),PrtAgnPerson='''+Trim(DName)+''''); + sql.Add(' where XJID='''+Trim(FXJID)+''''); + ExecSQL; + end; + end; + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add(' select C.LbXInt,C.LbXName from WFB_XJJY A'); + sql.Add(' inner join WFB_MJJY B on A.MJID=B.MJID'); + sql.Add(' inner join WFBOrder_Main C on B.MainId=C.MainId'); + sql.Add(' where A.XJID='''+Trim(FXJID)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + LabInt:=ADOQueryTemp.fieldbyname('LbXInt').AsString; + LabName:=ADOQueryTemp.fieldbyname('LbXName').AsString; + end ; + if Trim(LabName)='' then + begin + Application.MessageBox('Сǩδã','ʾ',0); + Exit; + end; + { try + frmLabelPrint:=TfrmLabelPrint.Create(Application); + with frmLabelPrint do + begin + fLabelId:=LabInt; + FFCDFlag:=Trim(CDFlag); + fKeyNo:=Trim(FXJID); + fIsPreviewPrint:=True; + frmLabelPrint.Button1.Click; + // if ShowModal=1 then + //begin + + // end; + end; + finally + frmLabelPrint.Free; + end; } + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select RTrim(AA.XJID) XJID,RTrim(Cast(AA.XJSJKZ as varchar(20))) XJSJKZ,RTrim(cast(Cast(AA.XJFK*10 as int) as varchar(20))) XJFK,RTrim(B.OrderNo)+'''+Trim(CDFlag)+''' OrderNo'); + sql.Add(',Rtrim(C.SWFBColor) SWFBColor, YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPBSZ'')'); + SQL.Add(',EngColor=(select Top 1 note from KH_Zdy where ZdyName=C.SWFBColor)'); + sql.Add(',Rtrim(Cast(AA.XJlen as varchar(20))) XJlen,Rtrim(Cast(AA.XJMaoZ as varchar(20))) XJMaoZ'); + sql.Add(',Rtrim(Cast(AA.XJFree as varchar(20))) XJFree,Rtrim(Cast( Cast(AA.XJlen*AA.XJFK/100 as int) as varchar(20))) XJPFM'); + sql.Add(',Rtrim(Cast(Cast(C.SWFBKZ as int) as varchar(20))) SWFBKZ'); + sql.Add(',Rtrim(Cast(Cast(AA.XJJt as int) as varchar(20))) XJJt'); + sql.Add(',RTrim(B.LbEngName) LbEngName'); + sql.Add(',RTrim(C.SWFBCodeName) SWFBCodeName from WFB_XJJY AA '); + sql.add(' inner join WFB_MJJY A on AA.MJID=A.MJID') ; + sql.add(' inner join WFBOrder_Main B on A.MainId=B.MainId'); + sql.Add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); + sql.Add(' where AA.XJID='''+Trim(FXJID)+''''); + Open; + end; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\'+Trim(LabName)+'.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + //RM2.ShowReport; + Rm2.PrintReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\'+Trim(LabName)+'.rmf'),'ʾ',0); + end; + DataLink_WFBProducttion.ADOLink.Connected:=False; +end; + +procedure TfrmZJManageNewFD.Button6Click(Sender: TObject); +var + i,j,FXJInt:Integer; +begin + if Cds_Main.IsEmpty then Exit; + j:=0; + with Panel4 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if Controls[i].Visible=True then + begin + if TEdit(Controls[i]).Text='' then + begin + if j=0 then + begin + j:=9; + FXJInt:=i+1; + end + else + j:=j+1; + end; + end; + end; + end; + if j=0 then + begin + Application.MessageBox('ûѡС','ʾ',0); + Exit; + end else + if j>9 then + begin + Application.MessageBox('ѡС','ʾ',0); + Exit; + end; + + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_XJJY where MJID='''+Trim(Cds_Main.fieldbyname('MJId').AsString)+''''); + SQL.Add(' and XJInt='+Inttostr(FXJInt)); + Open; + end; + if ADOQueryTemp.IsEmpty=True then + begin + Application.MessageBox('δ룬´ӡ','ʾ',0); + Exit; + end; + MovePanel3.Visible:=True; + // PrintData(Trim(ADOQueryTemp.fieldbyname('XJID').AsString),'ش'); + //MJID.SelectAll; +end; + +procedure TfrmZJManageNewFD.Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + FXJXH:String; +begin + FXJXH:=Trim(CDS_XJID.fieldbyname('XJInt').AsString); + (FindComponent('XJLen'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJLen').AsString); + (FindComponent('XJMaoZ'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJMaoZ').AsString); + (FindComponent('XJFree'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJFree').AsString); + (FindComponent('XJJt'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJJt').AsString); +end; + +procedure TfrmZJManageNewFD.Button1Click(Sender: TObject); +begin + MovePanel2.Visible:=True; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,B.OrderNo,C.SWFBCode,C.SWFBCodeName,C.SWFBColor,C.WKMS,C.SWFBHW,C.SubId,C.MainId,C.SWFBKZ '); + sql.Add(',YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPB'')'); + sql.add('from WFB_MJJY A '); + Sql.add(' inner join WFBOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); + sql.add('where 1<>1'); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_HJ); + SInitCDSData20(ADOQueryTemp,CDS_HJ); +end; + +procedure TfrmZJManageNewFD.Button8Click(Sender: TObject); +begin + MovePanel2.Visible:=False; +end; + +procedure TfrmZJManageNewFD.Button7Click(Sender: TObject); +var + maxno,fPrintFile,maxnosub:String; + i:Double; +begin + if Application.MessageBox('ȷҪϾ𣿺Ͼݽ޸ģ','ʾ',32+4)<>IDYES then Exit; + try + ADOQueryCmd.Connection.BeginTrans; + if GetLSNo(ADOQueryCmd,maxno,'','WFB_MJJY',2,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_MJJY where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(CDS_HJ.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(CDS_HJ.fieldbyname('SubId').AsString); + FieldByName('APId').Value:=Trim(CDS_HJ.fieldbyname('APId').AsString); + FieldByName('MJId').Value:=Trim(maxno); + FieldByName('MJMaoZ').Value:=TvHJ.DataController.Summary.FooterSummaryValues[1]; + FieldByName('MJLen').Value:=TvHJ.DataController.Summary.FooterSummaryValues[2]; + FieldByName('MJFK').Value:=TvHJ.DataController.Summary.FooterSummaryValues[5]; + FieldByName('MJSJKZ').Value:=TvHJ.DataController.Summary.FooterSummaryValues[4]; + FieldByName('MJType').Value:='Ͼ'; + FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('Filler').Value:=Trim(DName); + + Post; + end; + i:=0; + with CDS_HJ do + begin + First; + while not Eof do + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set HJMJID='''+Trim(maxno)+''''); + SQL.Add(',MJType=''Ͼ'',Valie=''N'' '); + SQL.Add(' where MJID='''+Trim(CDS_HJ.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_MJJY_CD where MJID='''+Trim(CDS_HJ.fieldbyname('MJID').AsString)+''''); + Open; + end; + with ADOQueryTemp do + begin + First; + while not Eof do + begin + if GetLSNo(ADOQueryCmd,maxnosub,'','WFB_MJJY_CD',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡСʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_MJJY_CD where 1<>1'); + open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MJID').Value:=Trim(maxno); + FieldByName('MCID').Value:=Trim(maxnosub); + FieldByName('CDBeg').Value:=ADOQueryTemp.fieldbyname('CDBeg').Value+i; + FieldByName('CDEnd').Value:=ADOQueryTemp.fieldbyname('CDEnd').Value+i; + FieldByName('CDQty').Value:=ADOQueryTemp.fieldbyname('CDQty').Value; + FieldByName('CDName').Value:=ADOQueryTemp.fieldbyname('CDName').Value; + Post; + end; + Next; + end; + end; + i:=i+CDS_HJ.FieldByName('MJLen').Value; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add(' select RTrim(A.MJID) MJID,RTrim(Cast(A.MJSJKZ As varchar(20))) MJSJKZ,RTrim(Cast(A.MJFK as varchar(20))) MJFK,RTrim(B.OrderNo) OrderNo,'); + sql.Add(' RTrim(Cast(A.MJMaoZ As varchar(20))) MJMaoZ,RTrim(Cast(A.MJLen As varchar(20))) MJLen,'); + sql.Add(' Rtrim(C.SWFBColor) SWFBColor,Rtrim(Cast(C.SWFBKZ as varchar(20))) SWFBKZ, YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPBSZ'')'); + sql.Add(',RTrim(C.SWFBCodeName) SWFBCodeName from WFB_MJJY A inner join WFBOrder_Main B on A.MainId=B.MainId'); + sql.Add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); + sql.Add(' where A.MJID='''+Trim(maxno)+''''); + Open; + end; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\ĸǩ.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + //RM2.ShowReport; + RM2.PrintReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ĸǩ.rmf'),'ʾ',0); + end; + Application.MessageBox('Ͼɹ','ʾ',0); + MovePanel2.Visible:=False; + Exit; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('Ͼ쳣','ʾ',0); + end; + +end; + +procedure TfrmZJManageNewFD.HJMJIDKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.* '); + sql.add('from WFB_MJJY A '); + sql.add('where A.MJID='''+Trim(HJMJID.Text)+''''); + sql.Add(' and valie=''Y'' '); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + HJMJID.Text:=''; + Application.MessageBox('','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.* '); + sql.add('from WFB_XJJY A '); + sql.add('where A.MJID='''+Trim(HJMJID.Text)+''''); + sql.Add(' and valie=''Y'' '); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + HJMJID.Text:=''; + Application.MessageBox('˴ѷУ','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,B.OrderNo,C.SWFBCode,C.SWFBCodeName,C.SWFBColor,C.WKMS,C.SWFBHW,C.SubId,C.MainId '); + sql.Add(',YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPB''),C.SWFBKZ'); + sql.add('from WFB_MJJY A '); + Sql.add(' inner join WFBOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); + sql.add('where A.MJID='''+Trim(HJMJID.Text)+''''); + sql.Add(' and A.valie=''Y'' '); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + if CDS_HJ.Locate('MJID',Trim(ADOQueryTemp.fieldbyname('MJID').AsString),[])=True then + begin + HJMJID.Text:=''; + Application.MessageBox('Ѿɨٴɨ裡','ʾ',0); + Exit; + end; + if CDS_HJ.IsEmpty=False then + begin + if CDS_HJ.Locate('SubId',Trim(ADOQueryTemp.fieldbyname('SubId').AsString),[])=False then + begin + HJMJID.Text:=''; + Application.MessageBox('ͬܺϾ','ʾ',0); + Exit; + end; + {if CDS_HJ.Locate('YLPB',Trim(ADOQueryTemp.fieldbyname('YLPB').AsString),[])=False then + begin + Application.MessageBox('ԭȲͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('SWFBCode',Trim(ADOQueryTemp.fieldbyname('SWFBCode').AsString),[])=False then + begin + Application.MessageBox('ƷŲͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('SWFBColor',Trim(ADOQueryTemp.fieldbyname('SWFBColor').AsString),[])=False then + begin + Application.MessageBox('ɫͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('SWFBHW',Trim(ADOQueryTemp.fieldbyname('SWFBHW').AsString),[])=False then + begin + Application.MessageBox('ͲͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('WKMS',Trim(ADOQueryTemp.fieldbyname('WKMS').AsString),[])=False then + begin + Application.MessageBox('ĿͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('XJFK',Trim(ADOQueryTemp.fieldbyname('XJFK').AsString),[])=False then + begin + Application.MessageBox('ͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('SWFBKZ',Trim(ADOQueryTemp.fieldbyname('SWFBKZ').AsString),[])=False then + begin + Application.MessageBox('زͬܺϾ','ʾ',0); + Exit; + end; } + end; + with CDS_HJ do + begin + Append; + FieldByName('OrderNo').Value:=ADOQueryTemp.fieldbyname('OrderNo').Value; + FieldByName('SubId').Value:=ADOQueryTemp.fieldbyname('SubId').Value; + FieldByName('APId').Value:=ADOQueryTemp.fieldbyname('APId').Value; + FieldByName('MainId').Value:=ADOQueryTemp.fieldbyname('MainId').Value; + FieldByName('YLPB').Value:=ADOQueryTemp.fieldbyname('YLPB').Value; + FieldByName('SWFBCode').Value:=ADOQueryTemp.fieldbyname('SWFBCode').Value; + FieldByName('SWFBCodeName').Value:=ADOQueryTemp.fieldbyname('SWFBCodeName').Value; + FieldByName('SWFBColor').Value:=ADOQueryTemp.fieldbyname('SWFBColor').Value; + FieldByName('WKMS').Value:=ADOQueryTemp.fieldbyname('WKMS').Value; + FieldByName('SWFBHW').Value:=ADOQueryTemp.fieldbyname('SWFBHW').Value; + FieldByName('MJID').Value:=ADOQueryTemp.fieldbyname('MJID').Value; + FieldByName('SWFBKZ').Value:=ADOQueryTemp.fieldbyname('SWFBKZ').Value; + FieldByName('MJMaoZ').Value:=ADOQueryTemp.fieldbyname('MJMaoZ').Value; + FieldByName('MJLen').Value:=ADOQueryTemp.fieldbyname('MJLen').Value; + FieldByName('MJFK').Value:=ADOQueryTemp.fieldbyname('MJFK').Value; + FieldByName('MJSJKZ').Value:=ADOQueryTemp.fieldbyname('MJSJKZ').Value; + Post; + end; + end else + begin + HJMJID.Text:=''; + Application.MessageBox('','ʾ',0); + Exit; + end; + HJMJID.Text:=''; + end; + +end; + +procedure TfrmZJManageNewFD.TvHJCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + CDS_HJ.Delete; +end; + +procedure TfrmZJManageNewFD.Button9Click(Sender: TObject); +var + i,j,FXJInt:Integer; + mm,mm2:String; +begin + with ADOQueryTemp do + begin + sql.Clear; + sql.add('SELECT userid,username,password FROM SY_User WHERE userid='+''''+trim(DCode)+''''); + Open; + mm:=Trim(Fields[2].AsString); + if Trim(mm)<>'' then + mm2:=Trim(DecryptString(Trim(mm),'ljb^0122!@#*&^%$',kb128)) + else + begin + Application.MessageBox('벻Ϊգ','ʾ',0); + Exit; + end; + close; + end; + + if ( mm2=trim(Password.text) ) then + begin + with Panel4 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if Controls[i].Visible=True then + begin + if TEdit(Controls[i]).Text='' then + begin + if j=0 then + begin + j:=9; + FXJInt:=i+1; + end + else + j:=j+1; + end; + end; + end; + end; + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_XJJY where MJID='''+Trim(Cds_Main.fieldbyname('MJId').AsString)+''''); + SQL.Add(' and XJInt='+Inttostr(FXJInt)); + Open; + end; + if ADOQueryTemp.IsEmpty=True then + begin + Application.MessageBox('δ룬´ӡ','ʾ',0); + Exit; + end; + PrintData(Trim(ADOQueryTemp.fieldbyname('XJID').AsString),'ش'); + MovePanel3.Visible:=False; + end else + Application.MessageBox('', 'Ϣʾ', MB_OK or MB_ICONinformation); + + //MJID.SelectAll; +end; + +procedure TfrmZJManageNewFD.Button10Click(Sender: TObject); +begin + MovePanel3.Visible:=False; +end; + +procedure TfrmZJManageNewFD.PasswordClick(Sender: TObject); +begin + Panel5.Visible:=True; +end; + +end. diff --git a/打卷检验管理/U_ZJManageNewFDMORE.dfm b/打卷检验管理/U_ZJManageNewFDMORE.dfm new file mode 100644 index 0000000..28ee41b --- /dev/null +++ b/打卷检验管理/U_ZJManageNewFDMORE.dfm @@ -0,0 +1,2804 @@ +object frmZJManageNewFDMORE: TfrmZJManageNewFDMORE + Left = -78 + Top = 21 + Width = 1292 + Height = 734 + Caption = #23567#21367#20998#20999 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + OnClose = FormClose + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 13 + object Label1: TLabel + Left = 22 + Top = 13 + Width = 66 + Height = 33 + Caption = #25195#25551 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 22 + Top = 159 + Width = 62 + Height = 58 + Caption = #24133#23485#13#10' cm' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 22 + Top = 227 + Width = 62 + Height = 58 + Caption = #38271#24230#13#10' M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 22 + Top = 379 + Width = 62 + Height = 58 + Caption = #37325#37327#13#10' Kg' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 22 + Top = 518 + Width = 62 + Height = 29 + Caption = #30133#28857 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 22 + Top = 450 + Width = 62 + Height = 29 + Caption = #36873#25321 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 992 + Top = 56 + Width = 23 + Height = 84 + Caption = #20998#13#10#20999#13#10#35828#13#10#26126 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 22 + Top = 334 + Width = 62 + Height = 29 + Caption = #25509#22836 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 22 + Top = 291 + Width = 62 + Height = 29 + Caption = #36192#36865 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 994 + Top = 16 + Width = 100 + Height = 24 + Caption = #27597#21367#26465#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -24 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + Visible = False + end + object Label14: TLabel + Left = 30 + Top = 54 + Width = 42 + Height = 40 + Caption = #38271#24230#13#10#25130#26029 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object MJID: TEdit + Left = 88 + Top = 9 + Width = 233 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = XJLen1Click + OnKeyPress = MJIDKeyPress + end + object ScrollBox1: TScrollBox + Left = 88 + Top = 517 + Width = 501 + Height = 151 + TabOrder = 1 + object SpeedButton13: TSpeedButton + Left = 3 + Top = 3 + Width = 60 + Height = 60 + Caption = #23567#40657#28857 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton14: TSpeedButton + Left = 64 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton15: TSpeedButton + Left = 125 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton16: TSpeedButton + Left = 186 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton17: TSpeedButton + Left = 247 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton18: TSpeedButton + Left = 308 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton19: TSpeedButton + Left = 369 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton20: TSpeedButton + Left = 430 + Top = 3 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton21: TSpeedButton + Left = 3 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton22: TSpeedButton + Left = 64 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton23: TSpeedButton + Left = 125 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton24: TSpeedButton + Left = 186 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton25: TSpeedButton + Left = 247 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton26: TSpeedButton + Left = 308 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton27: TSpeedButton + Left = 369 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + object SpeedButton28: TSpeedButton + Left = 430 + Top = 69 + Width = 60 + Height = 60 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + Visible = False + OnClick = SpeedButton13Click + end + end + object Button1: TButton + Left = 418 + Top = 7 + Width = 145 + Height = 42 + Caption = #21516#21333#21512#21367 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button1Click + end + object Button3: TButton + Left = 571 + Top = 9 + Width = 144 + Height = 40 + Caption = #25171' '#21360 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = Button3Click + end + object cxGrid2: TcxGrid + Left = 584 + Top = 514 + Width = 361 + Height = 156 + TabOrder = 4 + object Tv2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = Tv2CellDblClick + DataController.DataSource = DataSource2 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = v2Column1 + end + item + Kind = skSum + Column = Tv2CDQty + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Content = cxStyle3 + Styles.Header = cxStyle3 + object v2Column3: TcxGridDBColumn + Caption = #21367#24207#21495 + DataBinding.FieldName = 'XJInt' + Width = 56 + end + object tv2CDType: TcxGridDBColumn + Caption = #30133#28857#31181#31867 + DataBinding.FieldName = 'CDName' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Width = 79 + end + object tv2CDWZ: TcxGridDBColumn + Caption = #20301#32622#36215 + DataBinding.FieldName = 'CDBeg' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Options.Sorting = False + Width = 60 + end + object v2Column2: TcxGridDBColumn + Caption = #20301#32622#27490 + DataBinding.FieldName = 'CDend' + HeaderAlignmentHorz = taCenter + HeaderGlyphAlignmentHorz = taCenter + Width = 61 + end + object Tv2CDQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'CDQty' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Footer = cxStyle2 + Width = 92 + end + object Tv2CDReason: TcxGridDBColumn + Caption = #21407#22240 + DataBinding.FieldName = 'CDReason' + Visible = False + HeaderAlignmentHorz = taCenter + Options.Sorting = False + Styles.Content = cxStyle2 + Width = 131 + end + object v2Column1: TcxGridDBColumn + DataBinding.FieldName = 'CDQty' + Visible = False + Styles.Content = cxStyle2 + Width = 55 + end + end + object cxGridLevel1: TcxGridLevel + GridView = Tv2 + end + end + object cxGrid3: TcxGrid + Left = 944 + Top = 514 + Width = 265 + Height = 155 + TabOrder = 5 + object Tv3: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellClick = Tv3CellClick + DataController.DataSource = DataSource3 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Styles.Header = cxStyle1 + object v3Column1: TcxGridDBColumn + Caption = #21367#24207#21495 + DataBinding.FieldName = 'XJInt' + Styles.Content = cxStyle2 + Width = 56 + end + object cxGridDBColumn1: TcxGridDBColumn + Caption = #23567#21367#26465#30721 + DataBinding.FieldName = 'XJID' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 188 + end + end + object cxGridLevel2: TcxGridLevel + GridView = Tv3 + end + end + object Button6: TButton + Left = 723 + Top = 10 + Width = 145 + Height = 39 + Caption = #37325#26032#25171#21360 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + OnClick = Button6Click + end + object Panel6: TPanel + Left = 88 + Top = 154 + Width = 1122 + Height = 344 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 7 + object Panel1: TPanel + Left = 8 + Top = 7 + Width = 1105 + Height = 54 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 0 + object SmalMF1: TEdit + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 0 + Visible = False + end + object SmalMF2: TEdit + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 1 + Visible = False + end + object SmalMF3: TEdit + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 2 + Visible = False + end + object SmalMF4: TEdit + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 3 + Visible = False + end + object SmalMF5: TEdit + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 4 + Visible = False + end + object SmalMF6: TEdit + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 5 + Visible = False + end + object SmalMF7: TEdit + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 6 + Visible = False + end + object SmalMF8: TEdit + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 7 + Visible = False + end + object SmalMF9: TEdit + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 8 + Visible = False + end + object SmalMF10: TEdit + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 9 + Visible = False + end + object SmalMF11: TEdit + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 10 + Visible = False + end + object SmalMF12: TEdit + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 11 + Visible = False + end + end + object Panel2: TPanel + Left = 8 + Top = 66 + Width = 1105 + Height = 52 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 1 + object XJLen1: TEdit + Tag = 1 + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + Visible = False + OnClick = XJLen1Click + end + object XJLen2: TEdit + Tag = 2 + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + OnClick = XJLen1Click + end + object XJLen3: TEdit + Tag = 3 + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + OnClick = XJLen1Click + end + object XJLen4: TEdit + Tag = 4 + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + OnClick = XJLen1Click + end + object XJLen5: TEdit + Tag = 5 + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + OnClick = XJLen1Click + end + object XJLen6: TEdit + Tag = 6 + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + OnClick = XJLen1Click + end + object XJLen7: TEdit + Tag = 7 + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + Visible = False + OnClick = XJLen1Click + end + object XJLen8: TEdit + Tag = 8 + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + Visible = False + OnClick = XJLen1Click + end + object XJLen9: TEdit + Tag = 9 + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + Visible = False + OnClick = XJLen1Click + end + object XJLen10: TEdit + Tag = 10 + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + Visible = False + OnClick = XJLen1Click + end + object XJLen11: TEdit + Tag = 11 + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + Visible = False + OnClick = XJLen1Click + end + object XJLen12: TEdit + Tag = 12 + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + Visible = False + OnClick = XJLen1Click + end + end + object Panel3: TPanel + Left = 8 + Top = 228 + Width = 1105 + Height = 54 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 2 + object XJMaoZ1: TEdit + Tag = 1 + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ2: TEdit + Tag = 2 + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ3: TEdit + Tag = 3 + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ4: TEdit + Tag = 4 + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ5: TEdit + Tag = 5 + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ6: TEdit + Tag = 6 + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ7: TEdit + Tag = 7 + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ8: TEdit + Tag = 8 + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ9: TEdit + Tag = 9 + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ10: TEdit + Tag = 10 + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ11: TEdit + Tag = 11 + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + Visible = False + OnClick = XJLen1Click + end + object XJMaoZ12: TEdit + Tag = 12 + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + Visible = False + OnClick = XJLen1Click + end + end + object Panel4: TPanel + Left = 8 + Top = 283 + Width = 1105 + Height = 53 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 3 + object Sel1: TEdit + Tag = 1 + Left = 27 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 0 + Visible = False + OnClick = Sel1Click + end + object Sel2: TEdit + Tag = 2 + Left = 119 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 1 + Visible = False + OnClick = Sel1Click + end + object Sel3: TEdit + Tag = 3 + Left = 211 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 2 + Visible = False + OnClick = Sel1Click + end + object Sel4: TEdit + Tag = 4 + Left = 303 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 3 + Visible = False + OnClick = Sel1Click + end + object Sel5: TEdit + Tag = 5 + Left = 395 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 4 + Visible = False + OnClick = Sel1Click + end + object Sel6: TEdit + Tag = 6 + Left = 487 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 5 + Visible = False + OnClick = Sel1Click + end + object Sel7: TEdit + Tag = 7 + Left = 578 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 6 + Visible = False + OnClick = Sel1Click + end + object Sel8: TEdit + Tag = 8 + Left = 670 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 7 + Visible = False + OnClick = Sel1Click + end + object Sel9: TEdit + Tag = 9 + Left = 762 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 8 + Visible = False + OnClick = Sel1Click + end + object Sel10: TEdit + Tag = 10 + Left = 854 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 9 + Visible = False + OnClick = Sel1Click + end + object Sel11: TEdit + Tag = 11 + Left = 946 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 10 + Visible = False + OnClick = Sel1Click + end + object Sel12: TEdit + Tag = 12 + Left = 1038 + Top = 5 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 11 + Visible = False + OnClick = Sel1Click + end + end + object Panel7: TPanel + Left = 8 + Top = 124 + Width = 1105 + Height = 52 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 4 + object XJFree1: TEdit + Tag = 1 + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + Visible = False + OnClick = XJLen1Click + end + object XJFree2: TEdit + Tag = 2 + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + OnClick = XJLen1Click + end + object XJFree3: TEdit + Tag = 3 + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + OnClick = XJLen1Click + end + object XJFree4: TEdit + Tag = 4 + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + OnClick = XJLen1Click + end + object XJFree5: TEdit + Tag = 5 + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + OnClick = XJLen1Click + end + object XJFree6: TEdit + Tag = 6 + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + OnClick = XJLen1Click + end + object XJFree7: TEdit + Tag = 7 + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + Visible = False + OnClick = XJLen1Click + end + object XJFree8: TEdit + Tag = 8 + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + Visible = False + OnClick = XJLen1Click + end + object XJFree9: TEdit + Tag = 9 + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + Visible = False + OnClick = XJLen1Click + end + object XJFree10: TEdit + Tag = 10 + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + Visible = False + OnClick = XJLen1Click + end + object XJFree11: TEdit + Tag = 11 + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + Visible = False + OnClick = XJLen1Click + end + object XJFree12: TEdit + Tag = 12 + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + Visible = False + OnClick = XJLen1Click + end + end + object Panel8: TPanel + Left = 8 + Top = 172 + Width = 1105 + Height = 52 + BevelInner = bvRaised + BevelOuter = bvLowered + TabOrder = 5 + object XjJt1: TEdit + Tag = 1 + Left = 9 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + Visible = False + OnClick = XJLen1Click + end + object XjJt2: TEdit + Tag = 2 + Left = 100 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + Visible = False + OnClick = XJLen1Click + end + object XjJt3: TEdit + Tag = 3 + Left = 191 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + Visible = False + OnClick = XJLen1Click + end + object XjJt4: TEdit + Tag = 4 + Left = 282 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Visible = False + OnClick = XJLen1Click + end + object XjJt5: TEdit + Tag = 5 + Left = 373 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + Visible = False + OnClick = XJLen1Click + end + object XjJt6: TEdit + Tag = 6 + Left = 464 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 5 + Visible = False + OnClick = XJLen1Click + end + object XjJt7: TEdit + Tag = 7 + Left = 555 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 6 + Visible = False + OnClick = XJLen1Click + end + object XjJt8: TEdit + Tag = 8 + Left = 646 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 7 + Visible = False + OnClick = XJLen1Click + end + object XjJt9: TEdit + Tag = 9 + Left = 737 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 8 + Visible = False + OnClick = XJLen1Click + end + object XjJt10: TEdit + Tag = 10 + Left = 828 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + Visible = False + OnClick = XJLen1Click + end + object XjJt11: TEdit + Tag = 11 + Left = 919 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 10 + Visible = False + OnClick = XJLen1Click + end + object XjJt12: TEdit + Tag = 12 + Left = 1010 + Top = 8 + Width = 85 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 11 + Visible = False + OnClick = XJLen1Click + end + end + end + object cxGrid4: TcxGrid + Left = 88 + Top = 51 + Width = 898 + Height = 55 + TabOrder = 8 + object TvSel: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.GroupByBox = False + Styles.Header = cxStyle3 + object vSelColumn1: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 149 + end + object vSelColumn4: TcxGridDBColumn + Caption = #20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 89 + end + object vSelColumn6: TcxGridDBColumn + Caption = #22823#21367#38376#24133'CM' + DataBinding.FieldName = 'MJFK' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 94 + end + object vSelColumn5: TcxGridDBColumn + Caption = #22823#21367#38271'M' + DataBinding.FieldName = 'MJLen' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 68 + end + object cxGridDBColumn7: TcxGridDBColumn + Caption = #22823#21367#37325'Kg' + DataBinding.FieldName = 'MJMaoZ' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle3 + Styles.Header = cxStyle1 + Width = 81 + end + object vSelColumn2: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'MJSJKZ' + Styles.Content = cxStyle3 + Width = 41 + end + object cxGridDBColumn5: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle3 + Width = 43 + end + object vSelColumn7: TcxGridDBColumn + Caption = #32593#23380#30446#25968 + DataBinding.FieldName = 'WKMS' + Styles.Content = cxStyle3 + Width = 74 + end + object cxGridDBColumn6: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle3 + Width = 58 + end + object vSelColumn3: TcxGridDBColumn + Caption = #20998#20999#20010#25968 + DataBinding.FieldName = 'SmalCount' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 79 + end + object vSelColumn8: TcxGridDBColumn + Caption = #20801#35768#20559#24046 + DataBinding.FieldName = 'SmalPC' + HeaderAlignmentHorz = taCenter + Styles.Content = cxStyle3 + Width = 78 + end + end + object cxGridLevel3: TcxGridLevel + GridView = TvSel + end + end + object Button2: TButton + Left = 876 + Top = 10 + Width = 82 + Height = 39 + Caption = #36864#20986 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 9 + OnClick = Button2Click + end + object MJCDHZ: TRichEdit + Left = 88 + Top = 108 + Width = 899 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + Lines.Strings = ( + '') + ParentFont = False + ReadOnly = True + ScrollBars = ssVertical + TabOrder = 10 + end + object SmalNote: TRichEdit + Left = 1016 + Top = 50 + Width = 193 + Height = 98 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + Lines.Strings = ( + '') + ParentFont = False + ReadOnly = True + ScrollBars = ssVertical + TabOrder = 11 + end + object MovePanel2: TMovePanel + Left = 96 + Top = 53 + Width = 1137 + Height = 505 + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 12 + Visible = False + object Label8: TLabel + Left = 421 + Top = 24 + Width = 262 + Height = 35 + Caption = #21516' '#21333' '#21512' '#21367 + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 22 + Top = 85 + Width = 66 + Height = 33 + Caption = #25195#25551 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object cxGrid1: TcxGrid + Left = 8 + Top = 144 + Width = 1121 + Height = 249 + TabOrder = 0 + object TvHJ: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + OnCellDblClick = TvHJCellDblClick + DataController.DataSource = DSHJ + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + Column = vHJColumn1 + end + item + Kind = skSum + Column = vHJColumn2 + end + item + Format = #21367#20010#25968#65306'#' + Kind = skCount + Column = cxGridDBColumn3 + end + item + Kind = skAverage + Column = vHJColumn11 + end + item + Kind = skAverage + Column = vHJColumn3 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Content = cxStyle3 + Styles.Footer = cxStyle3 + Styles.Header = cxStyle1 + object cxGridDBColumn3: TcxGridDBColumn + Caption = #22823#21367#26465#30721 + DataBinding.FieldName = 'MJID' + HeaderAlignmentHorz = taCenter + Options.Focusing = False + Options.Sorting = False + Styles.Content = cxStyle2 + Styles.Header = cxStyle1 + Width = 179 + end + object vHJColumn1: TcxGridDBColumn + Caption = #37325#37327'Kg' + DataBinding.FieldName = 'MJMaoZ' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object vHJColumn2: TcxGridDBColumn + Caption = #38271#24230'm' + DataBinding.FieldName = 'MJLen' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object vHJColumn3: TcxGridDBColumn + Caption = #24133#23485'cm' + DataBinding.FieldName = 'MJFk' + HeaderAlignmentHorz = taCenter + Width = 70 + end + object vHJColumn11: TcxGridDBColumn + Caption = #23454#38469#20811#37325 + DataBinding.FieldName = 'MJSJKZ' + HeaderAlignmentHorz = taCenter + Width = 75 + end + object vHJColumn4: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Width = 166 + end + object vHJColumn9: TcxGridDBColumn + Caption = #20135#21697#20195#21495 + DataBinding.FieldName = 'SWFBCodeName' + HeaderAlignmentHorz = taCenter + Width = 98 + end + object vHJColumn10: TcxGridDBColumn + Caption = #21407#26009#37197#27604 + DataBinding.FieldName = 'YLPB' + HeaderAlignmentHorz = taCenter + Width = 117 + end + object vHJColumn5: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'SWFBColor' + HeaderAlignmentHorz = taCenter + Width = 54 + end + object vHJColumn8: TcxGridDBColumn + Caption = #33457#22411 + DataBinding.FieldName = 'SWFBHW' + HeaderAlignmentHorz = taCenter + Width = 59 + end + object vHJColumn6: TcxGridDBColumn + Caption = #20811#37325 + DataBinding.FieldName = 'SWFBKZ' + HeaderAlignmentHorz = taCenter + Width = 58 + end + object vHJColumn7: TcxGridDBColumn + Caption = #32593#23380#30446#25968 + DataBinding.FieldName = 'WKMS' + HeaderAlignmentHorz = taCenter + Width = 79 + end + end + object cxGridLevel4: TcxGridLevel + GridView = TvHJ + end + end + object HJMJID: TEdit + Left = 88 + Top = 81 + Width = 244 + Height = 41 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = XJLen1Click + OnKeyPress = HJMJIDKeyPress + end + object Button7: TButton + Left = 45 + Top = 431 + Width = 69 + Height = 42 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button7Click + end + object Button8: TButton + Left = 1017 + Top = 431 + Width = 75 + Height = 42 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = Button8Click + end + object Button12: TButton + Left = 334 + Top = 81 + Width = 78 + Height = 41 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 4 + OnClick = Button12Click + end + end + object MovePanel1: TMovePanel + Left = 88 + Top = 487 + Width = 344 + Height = 202 + BevelInner = bvLowered + Color = clSkyBlue + TabOrder = 13 + Visible = False + object Label17: TLabel + Left = 30 + Top = 24 + Width = 84 + Height = 20 + Caption = #36215#22987#20301#32622 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 185 + Top = 69 + Width = 21 + Height = 20 + Caption = #21040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label19: TLabel + Left = 301 + Top = 24 + Width = 11 + Height = 20 + Caption = 'M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label20: TLabel + Left = 301 + Top = 104 + Width = 11 + Height = 20 + Caption = 'M' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label21: TLabel + Left = 31 + Top = 69 + Width = 77 + Height = 20 + Caption = 'Label21' + Color = clSkyBlue + Font.Charset = GB2312_CHARSET + Font.Color = clRed + Font.Height = -20 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentColor = False + ParentFont = False + end + object CDBeg: TEdit + Tag = 9999 + Left = 119 + Top = 16 + Width = 174 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = XJLen1Click + end + object Button4: TButton + Left = 31 + Top = 147 + Width = 66 + Height = 38 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Button4Click + end + object Button5: TButton + Left = 246 + Top = 147 + Width = 66 + Height = 38 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = Button5Click + end + object CDEnd: TEdit + Tag = 9999 + Left = 119 + Top = 94 + Width = 174 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = XJLen1Click + end + end + object MovePanel3: TMovePanel + Left = 568 + Top = 104 + Width = 321 + Height = 177 + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 14 + Visible = False + object Label13: TLabel + Left = 88 + Top = 16 + Width = 132 + Height = 33 + Caption = #36755#20837#23494#30721 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + end + object Button9: TButton + Left = 32 + Top = 112 + Width = 75 + Height = 49 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + OnClick = Button9Click + end + object Button10: TButton + Left = 200 + Top = 112 + Width = 75 + Height = 49 + Caption = #21462#28040 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + OnClick = Button10Click + end + object Password: TEdit + Tag = 99999 + Left = 32 + Top = 56 + Width = 241 + Height = 37 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + PasswordChar = '*' + TabOrder = 2 + OnClick = XJLen1Click + end + end + object LenCut: TEdit + Tag = 1 + Left = 31 + Top = 99 + Width = 43 + Height = 43 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + ReadOnly = True + TabOrder = 15 + OnClick = LenCutClick + end + object Button11: TButton + Left = 326 + Top = 8 + Width = 78 + Height = 41 + Caption = #30830#23450 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -32 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 16 + OnClick = Button11Click + end + object Panel5: TPanel + Left = 586 + Top = 501 + Width = 625 + Height = 172 + BevelInner = bvRaised + BevelOuter = bvLowered + ParentColor = True + TabOrder = 17 + Visible = False + object SpeedButton1: TSpeedButton + Left = 4 + Top = 3 + Width = 80 + Height = 80 + Caption = '0' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton2: TSpeedButton + Left = 88 + Top = 3 + Width = 80 + Height = 80 + Caption = '1' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton3: TSpeedButton + Left = 172 + Top = 3 + Width = 80 + Height = 80 + Caption = '2' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton4: TSpeedButton + Left = 256 + Top = 3 + Width = 80 + Height = 80 + Caption = '3' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton5: TSpeedButton + Left = 340 + Top = 3 + Width = 80 + Height = 80 + Caption = '4' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton6: TSpeedButton + Left = 4 + Top = 87 + Width = 80 + Height = 80 + Caption = '5' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton7: TSpeedButton + Left = 88 + Top = 87 + Width = 80 + Height = 80 + Caption = '6' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton8: TSpeedButton + Left = 172 + Top = 87 + Width = 80 + Height = 80 + Caption = '7' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton9: TSpeedButton + Left = 256 + Top = 87 + Width = 80 + Height = 80 + Caption = '8' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton10: TSpeedButton + Left = 340 + Top = 87 + Width = 80 + Height = 80 + Caption = '9' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -37 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton11: TSpeedButton + Tag = 9 + Left = 424 + Top = 87 + Width = 80 + Height = 80 + Caption = '.' + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -53 + Font.Name = #40657#20307 + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton1Click + end + object SpeedButton12: TSpeedButton + Left = 424 + Top = 3 + Width = 80 + Height = 80 + Caption = #8592 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -53 + Font.Name = #40657#20307 + Font.Style = [] + ParentFont = False + OnClick = SpeedButton12Click + end + object SpeedButton49: TSpeedButton + Tag = 9 + Left = 517 + Top = 88 + Width = 84 + Height = 77 + Caption = #38544#34255 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton49Click + end + object SpeedButton29: TSpeedButton + Tag = 9 + Left = 517 + Top = 6 + Width = 84 + Height = 77 + Caption = #20840#28165 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -35 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + OnClick = SpeedButton29Click + end + end + object KWName: TEdit + Left = 0 + Top = 595 + Width = 88 + Height = 29 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -21 + Font.Name = #26999#20307'_GB2312' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 18 + Visible = False + end + object KWSel: TButton + Left = 0 + Top = 565 + Width = 87 + Height = 31 + Caption = #25176#30424#36873#25321 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 19 + Visible = False + OnClick = KWSelClick + end + object ZdyFlag: TEdit + Left = 8 + Top = 632 + Width = 57 + Height = 21 + TabOrder = 20 + Visible = False + end + object cxStyleRepository5: TcxStyleRepository + Left = 954 + Top = 65532 + object cxStyle6: TcxStyle + AssignedValues = [svFont] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -29 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + end + object cxStyleRepository1: TcxStyleRepository + Left = 1232 + Top = 124 + object cxStyle1: TcxStyle + AssignedValues = [svColor, svFont] + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + object cxStyle2: TcxStyle + AssignedValues = [svFont, svTextColor] + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -20 + Font.Name = #23435#20307 + Font.Pitch = fpFixed + Font.Style = [fsBold] + TextColor = clDefault + end + end + object ADOQueryTemp: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 598 + Top = 75 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 686 + Top = 74 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + Parameters = <> + Left = 638 + Top = 74 + end + object DataSource1: TDataSource + DataSet = Cds_Main + Left = 744 + Top = 76 + end + object Cds_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 800 + Top = 76 + end + object DataSource3: TDataSource + DataSet = CDS_XJID + Left = 1000 + Top = 670 + end + object CDS_XJID: TClientDataSet + Aggregates = <> + Params = <> + Left = 1032 + Top = 670 + end + object DataSource2: TDataSource + DataSet = CDS_XJCD + Left = 752 + Top = 670 + end + object CDS_XJCD: TClientDataSet + Aggregates = <> + Params = <> + Left = 792 + Top = 670 + end + object cxStyleRepository2: TcxStyleRepository + object cxStyle3: TcxStyle + AssignedValues = [svFont] + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -15 + Font.Name = #23435#20307 + Font.Style = [fsBold] + end + end + object RMDB_Main: TRMDBDataSet + Visible = True + DataSet = ADOQueryPrint + Left = 136 + Top = 120 + end + object RM2: TRMGridReport + ThreadPrepareReport = True + InitialZoom = pzDefault + PreviewButtons = [pbZoom, pbLoad, pbSave, pbPrint, pbFind, pbPageSetup, pbExit, pbExport, pbNavigator] + DefaultCollate = False + ShowPrintDialog = False + SaveReportOptions.RegistryPath = 'Software\ReportMachine\ReportSettings\' + PreviewOptions.RulerUnit = rmutScreenPixels + PreviewOptions.RulerVisible = False + PreviewOptions.DrawBorder = False + PreviewOptions.BorderPen.Color = clGray + PreviewOptions.BorderPen.Style = psDash + Dataset = RMDB_Main + CompressLevel = rmzcFastest + CompressThread = False + LaterBuildEvents = True + OnlyOwnerDataSet = False + Left = 104 + Top = 120 + ReportData = {} + end + object ADOQueryPrint: TADOQuery + Connection = DataLink_WFBProducttion.ADOLink + LockType = ltReadOnly + Parameters = <> + Left = 168 + Top = 120 + end + object DSHJ: TDataSource + DataSet = CDS_HJ + Left = 352 + Top = 550 + end + object CDS_HJ: TClientDataSet + Aggregates = <> + Params = <> + Left = 384 + Top = 550 + end +end diff --git a/打卷检验管理/U_ZJManageNewFDMORE.pas b/打卷检验管理/U_ZJManageNewFDMORE.pas new file mode 100644 index 0000000..a9d624a --- /dev/null +++ b/打卷检验管理/U_ZJManageNewFDMORE.pas @@ -0,0 +1,2026 @@ +unit U_ZJManageNewFDMORE; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, Buttons, ExtCtrls, cxStyles, cxCustomData, cxGraphics, + cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxTextEdit, + cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, + cxClasses, cxControls, cxGridCustomView, cxGrid, MovePanel, ADODB, + DBClient, ComCtrls, RM_Common, RM_Class, RM_GridReport, RM_System, + RM_Dataset; + +type + TfrmZJManageNewFDMORE = class(TForm) + MJID: TEdit; + Label1: TLabel; + Label2: TLabel; + Label3: TLabel; + Label4: TLabel; + Label5: TLabel; + Label6: TLabel; + ScrollBox1: TScrollBox; + SpeedButton13: TSpeedButton; + SpeedButton14: TSpeedButton; + SpeedButton15: TSpeedButton; + SpeedButton16: TSpeedButton; + SpeedButton17: TSpeedButton; + SpeedButton18: TSpeedButton; + SpeedButton19: TSpeedButton; + SpeedButton20: TSpeedButton; + SpeedButton21: TSpeedButton; + SpeedButton22: TSpeedButton; + SpeedButton23: TSpeedButton; + SpeedButton24: TSpeedButton; + SpeedButton25: TSpeedButton; + SpeedButton26: TSpeedButton; + SpeedButton27: TSpeedButton; + SpeedButton28: TSpeedButton; + Button1: TButton; + Button3: TButton; + cxGrid2: TcxGrid; + Tv2: TcxGridDBTableView; + tv2CDType: TcxGridDBColumn; + tv2CDWZ: TcxGridDBColumn; + v2Column2: TcxGridDBColumn; + Tv2CDQty: TcxGridDBColumn; + Tv2CDReason: TcxGridDBColumn; + v2Column1: TcxGridDBColumn; + cxGridLevel1: TcxGridLevel; + cxStyleRepository5: TcxStyleRepository; + cxStyle6: TcxStyle; + cxStyleRepository1: TcxStyleRepository; + cxStyle1: TcxStyle; + cxStyle2: TcxStyle; + cxGrid3: TcxGrid; + Tv3: TcxGridDBTableView; + cxGridDBColumn1: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; + Button6: TButton; + Panel6: TPanel; + Panel1: TPanel; + SmalMF1: TEdit; + SmalMF2: TEdit; + SmalMF3: TEdit; + SmalMF4: TEdit; + SmalMF5: TEdit; + SmalMF6: TEdit; + SmalMF7: TEdit; + SmalMF8: TEdit; + SmalMF9: TEdit; + SmalMF10: TEdit; + SmalMF11: TEdit; + SmalMF12: TEdit; + Panel2: TPanel; + XJLen1: TEdit; + XJLen2: TEdit; + XJLen3: TEdit; + XJLen4: TEdit; + XJLen5: TEdit; + XJLen6: TEdit; + XJLen7: TEdit; + XJLen8: TEdit; + XJLen9: TEdit; + XJLen10: TEdit; + XJLen11: TEdit; + XJLen12: TEdit; + Panel3: TPanel; + XJMaoZ1: TEdit; + XJMaoZ2: TEdit; + XJMaoZ3: TEdit; + XJMaoZ4: TEdit; + XJMaoZ5: TEdit; + XJMaoZ6: TEdit; + XJMaoZ7: TEdit; + XJMaoZ8: TEdit; + XJMaoZ9: TEdit; + XJMaoZ10: TEdit; + XJMaoZ11: TEdit; + XJMaoZ12: TEdit; + Panel4: TPanel; + Sel1: TEdit; + Sel2: TEdit; + Sel3: TEdit; + Sel4: TEdit; + Sel5: TEdit; + Sel6: TEdit; + Sel7: TEdit; + Sel8: TEdit; + Sel9: TEdit; + Sel10: TEdit; + Sel11: TEdit; + Sel12: TEdit; + ADOQueryTemp: TADOQuery; + cxGrid4: TcxGrid; + TvSel: TcxGridDBTableView; + vSelColumn1: TcxGridDBColumn; + vSelColumn4: TcxGridDBColumn; + vSelColumn6: TcxGridDBColumn; + vSelColumn5: TcxGridDBColumn; + cxGridDBColumn7: TcxGridDBColumn; + vSelColumn7: TcxGridDBColumn; + cxGridDBColumn5: TcxGridDBColumn; + cxGridDBColumn6: TcxGridDBColumn; + vSelColumn2: TcxGridDBColumn; + cxGridLevel3: TcxGridLevel; + vSelColumn3: TcxGridDBColumn; + vSelColumn8: TcxGridDBColumn; + ADOQueryCmd: TADOQuery; + ADOQueryMain: TADOQuery; + DataSource1: TDataSource; + Cds_Main: TClientDataSet; + Button2: TButton; + MJCDHZ: TRichEdit; + DataSource3: TDataSource; + CDS_XJID: TClientDataSet; + DataSource2: TDataSource; + CDS_XJCD: TClientDataSet; + v2Column3: TcxGridDBColumn; + v3Column1: TcxGridDBColumn; + cxStyleRepository2: TcxStyleRepository; + cxStyle3: TcxStyle; + SmalNote: TRichEdit; + Label7: TLabel; + RMDB_Main: TRMDBDataSet; + RM2: TRMGridReport; + ADOQueryPrint: TADOQuery; + MovePanel2: TMovePanel; + Label8: TLabel; + cxGrid1: TcxGrid; + TvHJ: TcxGridDBTableView; + cxGridDBColumn3: TcxGridDBColumn; + cxGridLevel4: TcxGridLevel; + DSHJ: TDataSource; + CDS_HJ: TClientDataSet; + vHJColumn1: TcxGridDBColumn; + vHJColumn2: TcxGridDBColumn; + vHJColumn3: TcxGridDBColumn; + Label9: TLabel; + HJMJID: TEdit; + Button7: TButton; + Button8: TButton; + vHJColumn4: TcxGridDBColumn; + vHJColumn5: TcxGridDBColumn; + vHJColumn6: TcxGridDBColumn; + vHJColumn7: TcxGridDBColumn; + vHJColumn8: TcxGridDBColumn; + vHJColumn9: TcxGridDBColumn; + vHJColumn10: TcxGridDBColumn; + vHJColumn11: TcxGridDBColumn; + Panel7: TPanel; + XJFree1: TEdit; + XJFree2: TEdit; + XJFree3: TEdit; + XJFree4: TEdit; + XJFree5: TEdit; + XJFree6: TEdit; + XJFree7: TEdit; + XJFree8: TEdit; + XJFree9: TEdit; + XJFree10: TEdit; + XJFree11: TEdit; + XJFree12: TEdit; + MovePanel1: TMovePanel; + Label17: TLabel; + Label18: TLabel; + Label19: TLabel; + Label20: TLabel; + Label21: TLabel; + CDBeg: TEdit; + Button4: TButton; + Button5: TButton; + CDEnd: TEdit; + Panel8: TPanel; + XjJt1: TEdit; + XjJt2: TEdit; + XjJt3: TEdit; + XjJt4: TEdit; + XjJt5: TEdit; + XjJt6: TEdit; + XjJt7: TEdit; + XjJt8: TEdit; + XjJt9: TEdit; + XjJt10: TEdit; + XjJt11: TEdit; + XjJt12: TEdit; + Label10: TLabel; + Label11: TLabel; + Label12: TLabel; + MovePanel3: TMovePanel; + Button9: TButton; + Button10: TButton; + Password: TEdit; + Label13: TLabel; + Label14: TLabel; + LenCut: TEdit; + Button11: TButton; + Button12: TButton; + Panel5: TPanel; + SpeedButton1: TSpeedButton; + SpeedButton2: TSpeedButton; + SpeedButton3: TSpeedButton; + SpeedButton4: TSpeedButton; + SpeedButton5: TSpeedButton; + SpeedButton6: TSpeedButton; + SpeedButton7: TSpeedButton; + SpeedButton8: TSpeedButton; + SpeedButton9: TSpeedButton; + SpeedButton10: TSpeedButton; + SpeedButton11: TSpeedButton; + SpeedButton12: TSpeedButton; + SpeedButton49: TSpeedButton; + SpeedButton29: TSpeedButton; + KWName: TEdit; + KWSel: TButton; + ZdyFlag: TEdit; + procedure Sel1Click(Sender: TObject); + procedure Edit64Click(Sender: TObject); + procedure SpeedButton1Click(Sender: TObject); + procedure SpeedButton12Click(Sender: TObject); + procedure SpeedButton49Click(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormDestroy(Sender: TObject); + procedure XJLen1Click(Sender: TObject); + procedure MJIDKeyPress(Sender: TObject; var Key: Char); + procedure Button2Click(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure Button4Click(Sender: TObject); + procedure SpeedButton13Click(Sender: TObject); + procedure Button5Click(Sender: TObject); + procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button3Click(Sender: TObject); + procedure Button6Click(Sender: TObject); + procedure Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button1Click(Sender: TObject); + procedure Button8Click(Sender: TObject); + procedure Button7Click(Sender: TObject); + procedure HJMJIDKeyPress(Sender: TObject; var Key: Char); + procedure TvHJCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); + procedure Button9Click(Sender: TObject); + procedure Button10Click(Sender: TObject); + procedure PasswordClick(Sender: TObject); + procedure LenCutClick(Sender: TObject); + procedure Button11Click(Sender: TObject); + procedure Button12Click(Sender: TObject); + procedure SpeedButton29Click(Sender: TObject); + procedure KWSelClick(Sender: TObject); + private + { Private declarations } + FCDName,FPanname,PrintFlag:string; + procedure ClearSpenndHit(); + procedure VisbleControl(Panel55:TWinControl;XS:Boolean;SXCount:Integer); + function ChkEditNULL(panel55:TWinControl):Boolean; + procedure InitJP(); + procedure InitGridCD(); + procedure InitGridCDID(); + procedure ClearControl(Panel55:TWinControl;ConValue:String;SXCount:Integer); + procedure PrintData(FXJID:string;CDFlag:String); + public + { Public declarations } + end; + +var + frmZJManageNewFDMORE: TfrmZJManageNewFDMORE; + +implementation +uses +U_DataLink,U_Fun,U_ZDYHelp,U_iniParam,AES,ElAES,U_LabelPrint; + +{$R *.dfm} + +procedure TfrmZJManageNewFDMORE.Sel1Click(Sender: TObject); +begin + if Trim(TcxTextEdit(Sender).Text)='' then + begin + TcxTextEdit(Sender).Text:=''; + end else + begin + TcxTextEdit(Sender).Text:=''; + end; +end; + +procedure TfrmZJManageNewFDMORE.Edit64Click(Sender: TObject); +var + i:Integer; +begin + Panel5.Visible:=True; + with Panel5 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=Trim(TEdit(Sender).Name); + end; + end; + end; +end; +procedure TfrmZJManageNewFDMORE.ClearSpenndHit(); +var + i:Integer; +begin + with Panel5 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=''; + end; + end; + end; +end; +procedure TfrmZJManageNewFDMORE.VisbleControl(Panel55:TWinControl;XS:Boolean;SXCount:Integer); +var + i:Integer; +begin + with Panel55 do + begin + for i:=0 to SXCount-1 do + begin + Controls[i].Visible:=XS; + end; + end; +end; +procedure TfrmZJManageNewFDMORE.ClearControl(Panel55:TWinControl;ConValue:String;SXCount:Integer); +var + i:Integer; +begin + with Panel55 do + begin + for i:=0 to SXCount-1 do + begin + TEdit(Controls[i]).Text:=ConValue; + end; + end; +end; + +procedure TfrmZJManageNewFDMORE.SpeedButton1Click(Sender: TObject); +var + fsj:string; +begin + fsj:=Trim(TSpeedButton(Sender).Hint); + if Trim(fsj)='' then Exit; + fsj:=Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text:=fsj+Trim(TSpeedButton(Sender).Caption); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TfrmZJManageNewFDMORE.SpeedButton12Click(Sender: TObject); +var + fsj:string; +begin + fsj:=Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); + if Trim(fsj)='' then Exit; + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text:=Copy(fsj,1,Length(fsj)-1); + TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; +end; + +procedure TfrmZJManageNewFDMORE.SpeedButton49Click(Sender: TObject); +begin + Panel5.Visible:=false; +end; + +function TfrmZJManageNewFDMORE.ChkEditNULL(panel55:TWinControl):Boolean; +var + i:Integer; +begin + Result:=False; + with panel55 do + begin + for i:=0 to panel55.ControlCount-1 do + begin + if Controls[i].Visible=True then + begin + if Trim(TEdit(Controls[i]).Text)='' then + begin + Result:=False; + Break; + end else + begin + Result:=True; + end; + end; + + end; + end; + +end; + +procedure TfrmZJManageNewFDMORE.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TfrmZJManageNewFDMORE.FormDestroy(Sender: TObject); +begin + frmZJManageNewFDMORE:=nil; +end; + +procedure TfrmZJManageNewFDMORE.XJLen1Click(Sender: TObject); +var + i:Integer; +begin + if Trim(LenCut.Text)='' then + begin + if CDS_XJID.IsEmpty=False then + begin + if CDS_XJID.Locate('XJInt',TEdit(Sender).tag,[])=True then + begin + TEdit(Sender).Text:=Trim(CDS_XJID.fieldbyname(Copy(Trim(TEdit(Sender).Name),1,Length(Trim(TEdit(Sender).Name))-1)).AsString); + Panel5.Visible:=False; + Exit; + end; + end; + end; + FPanname:=Trim(Copy(Trim(TEdit(Sender).Name),1,Length(Trim(TEdit(Sender).Name))-1)); + Panel5.Visible:=True; + with Panel5 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=Trim(TEdit(Sender).Name); + end; + end; + end; + // Panel5.Left:=Edit14.Left; + //Panel5.top:=Edit14.top+Edit14.Height; +end; + +procedure TfrmZJManageNewFDMORE.MJIDKeyPress(Sender: TObject; var Key: Char); +var + FCount,i:Integer; + FXJXH:String; +begin + if Key=#13 then + begin + KWName.Text:=''; + KWName.Hint:=''; + ZdyFlag.Text:=''; + MJID.SelectAll; + ClearControl(Panel1,'',Panel1.ControlCount); + ClearControl(Panel2,'',Panel2.ControlCount); + ClearControl(Panel3,'',Panel3.ControlCount); + Label12.Visible:=True; + Label12.Caption:=Trim(MJID.Text); + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.add('select MJCDHZ=dbo.F_Get_WFBOrder_SubStr(A.MJID,''MJCDHZ''), D.*,'); + SQL.Add('A.*,C.OrderNo,B.SWFBColor,B.SWFBHW,B.WKMS,B.SWFBCode,B.SWFBCodeName,B.SubType'); + sql.add('from WFB_MJJY A inner join WFBOrder_Sub_AnPai D on A.APId=D.APId'); + sql.Add('inner join WFBOrder_Sub B on A.SubId=B.SubId'); + sql.Add('inner join WFBOrder_Main C on A.MainId=C.MainId'); + sql.Add('where A.MJID='''+Trim(MJID.Text)+''''); + sql.Add(' and A.Valie=''Y'' '); + Open; + end; + SCreateCDS20(ADOQueryMain,Cds_Main); + SInitCDSData20(ADOQueryMain,Cds_Main); + if Cds_Main.IsEmpty then + begin + MJCDHZ.Text:=''; + InitGridCDID(); + InitGridCD(); + Label12.Visible:=False; + MJID.Text:=''; + Application.MessageBox('','ʾ',0); + Exit; + end; + MJCDHZ.Visible:=True; + MJCDHZ.Text:=Trim(Cds_Main.fieldbyname('MJCDHZ').AsString); + SmalNote.Text:=Trim(Cds_Main.fieldbyname('SmalNote').AsString); + if Cds_Main.FieldByName('SmalCount').Value<1 then + begin + Application.MessageBox('иС1','ʾ',0); + Exit; + end else + begin + FCount:=Cds_Main.FieldByName('SmalCount').Value; + VisbleControl(Panel1,False,Panel1.ControlCount); + VisbleControl(Panel2,False,Panel2.ControlCount); + VisbleControl(Panel3,False,Panel3.ControlCount); + VisbleControl(Panel4,False,Panel4.ControlCount); + VisbleControl(Panel1,True,FCount); + VisbleControl(Panel2,True,FCount); + VisbleControl(Panel3,True,FCount); + VisbleControl(Panel4,True,FCount); + VisbleControl(Panel7,True,FCount); + VisbleControl(Panel8,True,FCount); + SCSHDataCDS(Cds_Main,Panel1,0); + end; + InitGridCDID(); + InitGridCD(); + if Trim(Cds_Main.fieldbyname('SubType').AsString)='' then + begin + KWSel.Visible:=True; + KWName.Visible:=True; + end else + begin + KWSel.Visible:=False; + KWName.Visible:=False; + end; + finally + ADOQueryMain.EnableControls; + end; + MJID.Text:=''; + with Panel3 do + begin + for i:=0 to Panel3.ControlCount-1 do + begin + TEdit(Controls[i]).Hint:=''; + end; + end; + {if CDS_XJID.IsEmpty=False then + begin + with CDS_XJID do + begin + First; + while not Eof do + begin + + FXJXH:=Trim(CDS_XJID.fieldbyname('XJInt').AsString); + (FindComponent('XJLen'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJLen').AsString); + (FindComponent('XJMaoZ'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJMaoZ').AsString); + (FindComponent('XJFree'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJFree').AsString); + (FindComponent('XJJt'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJJt').AsString); + Next; + end; + end; + end; } + end; +end; + +procedure TfrmZJManageNewFDMORE.Button2Click(Sender: TObject); +begin + WriteCxGrid('ʾϢ',TvSel,'޷IJ'); + Close; +end; + +procedure TfrmZJManageNewFDMORE.FormShow(Sender: TObject); +begin + ReadCxGrid('ʾϢ',TvSel,'޷IJ'); + InitJP(); +end; + +procedure TfrmZJManageNewFDMORE.InitJP(); +var + AA:array[0..100] of string; + i,j:Integer; +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select ZDYName from KH_Zdy where Type=''WFBCDZJ'' order by ZDYNO '); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + Application.MessageBox('ûжСõ㣡','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + First; + i:=0; + while not Eof do + begin + AA[i]:=Trim(fieldbyname('ZDYName').AsString); + i:=i+1; + Next; + end; + end; + i:=i-1; + if i>17 then + begin + i:=29; + end; + for j:=0 to i do + begin + with ScrollBox1 do + begin + TSpeedButton(Controls[j]).Visible:=True; + TSpeedButton(Controls[j]).Hint:=AA[j]; + if Length(AA[j])>4 then + begin + TSpeedButton(Controls[j]).Caption:=Copy(Trim(AA[j]),1,4)+#13+Copy(Trim(AA[j]),5,Length(AA[j])-4); + end else + TSpeedButton(Controls[j]).Caption:=AA[j]; + end; + end; +end; + +procedure TfrmZJManageNewFDMORE.Button4Click(Sender: TObject); +var + i:Integer; +begin + if Trim(CDBeg.Text)='' then + begin + Application.MessageBox('λòΪգ','ʾ',0); + exit; + end; + with Panel4 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if TEdit(Controls[i]).Text='' then + begin + with CDS_XJCD do + begin + Append; + FieldByName('cdname').Value:=Trim(FCDName); + FieldByName('CDbeg').Value:=Trim(CDBeg.Text); + FieldByName('CDEnd').Value:=Trim(CDEnd.Text); + if Trim(CDEnd.Text)<>'' then + begin + FieldByName('CDQty').Value:=StrToFloat(CDEnd.Text)-StrToFloat(CDBeg.Text); + end else + begin + FieldByName('CDQty').Value:=0; + end; + FieldByName('XJInt').Value:=i+1; + Post; + end; + end; + end; + end; + CDBeg.Text:=''; + CDEnd.Text:=''; + MovePanel1.Visible:=False; +end; + +procedure TfrmZJManageNewFDMORE.SpeedButton13Click(Sender: TObject); +var + i,j:Integer; +begin + if Cds_Main.IsEmpty then Exit; + j:=0; + with Panel4 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if Controls[i].Visible=True then + begin + if TEdit(Controls[i]).Text='' then + begin + j:=9; + end; + end; + end; + end; + if j=0 then + begin + Application.MessageBox('ûѡС','ʾ',0); + Exit; + end; + FCDName:=Trim(TSpeedButton(Sender).Hint); + MovePanel1.Visible:=True; + Label21.Caption:=Trim(FCDName); + CDBeg.SetFocus; + + Panel5.Visible:=True; + with Panel5 do + begin + for i:=0 to ControlCount-1 do + begin + if Controls[i] is TSpeedButton then + begin + TSpeedButton(Controls[i]).Hint:=Trim('CDBeg'); + end; + end; + end; +end; +procedure TfrmZJManageNewFDMORE.InitGridCD(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + sql.Clear; + if Trim(CDS_XJID.fieldbyname('XJID').AsString)<>'' then + begin + sql.Add('select A.*,B.XJInt from WFB_XJJY_CD A inner join WFB_XJJY B on A.XJID=B.XJID'); + sql.Add(' where B.MJID='''+Trim(MJID.Text)+''''); + end + else + sql.Add('select A.*,B.XJInt from WFB_XJJY_CD A inner join WFB_XJJY B on A.XJID=B.XJID where 1<>1'); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_XJCD); + SInitCDSData20(ADOQueryMain,CDS_XJCD); + finally + ADOQueryMain.EnableControls; + end; +end; +procedure TfrmZJManageNewFDMORE.InitGridCDID(); +begin + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_XJJY where MJID='''+Trim(MJID.Text)+''''); + Open; + end; + SCreateCDS20(ADOQueryMain,CDS_XJID); + SInitCDSData20(ADOQueryMain,CDS_XJID); + finally + ADOQueryMain.EnableControls; + end; +end; + +procedure TfrmZJManageNewFDMORE.Button5Click(Sender: TObject); +begin + MovePanel1.Visible:=False; +end; + +procedure TfrmZJManageNewFDMORE.Tv2CellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if Trim(CDS_XJCD.fieldbyname('XJID').AsString)<>'' then Exit; + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + CDS_XJCD.Delete; +end; + +procedure TfrmZJManageNewFDMORE.Button3Click(Sender: TObject); +var + i,j,FXJInt,CRID:Integer; + FXJSJKZ:Double; + maxno,maxnocd,MaxCkNo,MaxCkSubNo,XJBanZu,FFXJLen,FFXJMaoZ,FFXJFk,FFXJFree,FFXJJt:String; +begin + if Cds_Main.IsEmpty then Exit; + with Panel2 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if TEdit(Controls[i]).Text='' then + begin + Application.MessageBox('δȫ¼룬ܴӡ','ʾ',0); + Exit; + end; + end; + end; + with Panel3 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if TEdit(Controls[i]).Text='' then + begin + Application.MessageBox('δȫ¼룬ܴӡ','ʾ',0); + Exit; + end; + end; + end; + j:=0; + with Panel4 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if Controls[i].Visible=True then + begin + if TEdit(Controls[i]).Text='' then + begin + if j=0 then + begin + j:=9; + FXJInt:=i+1; + end + else + j:=j+1; + end; + end; + end; + end; + if j=0 then + begin + Application.MessageBox('ûѡС','ʾ',0); + Exit; + end else + if j>9 then + begin + Application.MessageBox('ѡС','ʾ',0); + Exit; + end; + if Trim(TEdit(FindComponent('XJLen'+Trim(IntToStr(FXJInt)))).Text)='' then + begin + Application.MessageBox('ȲΪգ','ʾ',0); + Exit; + end else + begin + FFXJLen:=Trim(TEdit(FindComponent('XJLen'+Trim(IntToStr(FXJInt)))).Text); + end; + if Trim(TEdit(FindComponent('XJMaoZ'+Trim(IntToStr(FXJInt)))).Text)='' then + begin + Application.MessageBox('ëزΪգ','ʾ',0); + Exit; + end else + begin + FFXJMaoZ:=Trim(TEdit(FindComponent('XJMaoZ'+Trim(IntToStr(FXJInt)))).Text); + end; + if Trim(TEdit(FindComponent('SmalMF'+Trim(IntToStr(FXJInt)))).Text)='' then + begin + Application.MessageBox('ëزΪգ','ʾ',0); + Exit; + end else + begin + FFXJFk:=Trim(TEdit(FindComponent('SmalMF'+Trim(IntToStr(FXJInt)))).Text); + end; + if Trim(TEdit(FindComponent('XJFree'+Trim(IntToStr(FXJInt)))).Text)='' then + begin + FFXJFree:='0'; + end else + begin + FFXJFree:=Trim(TEdit(FindComponent('XJFree'+Trim(IntToStr(FXJInt)))).Text); + end; + if Trim(TEdit(FindComponent('XJJt'+Trim(IntToStr(FXJInt)))).Text)='' then + begin + FFXJJt:='0'; + end else + begin + FFXJJt:=Trim(TEdit(FindComponent('XJJt'+Trim(IntToStr(FXJInt)))).Text); + end; + if Trim(LenCut.Text)='' then + begin + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_XJJY where MJID='''+Trim(Cds_Main.fieldbyname('MJID').AsString)+''''); + SQL.Add(' and XJInt='+Inttostr(FXJInt)); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + Application.MessageBox('Ѵ룬볢´ӡ','',0); + Exit; + end; + end else + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select isnull(Sum(XJLen),0) XJLen from WFB_XJJY where MJID='''+Trim(Cds_Main.fieldbyname('MJID').AsString)+''''); + SQL.Add(' and XJInt='+Inttostr(FXJInt)); + Open; + end; + if( (ADOQueryTemp.FieldByName('XJLen').Value+StrToFloat(FFXJLen)-CDS_Main.FieldByName('MJLen').Value)/(CDS_Main.FieldByName('MJLen').Value) )>0.05 then + begin + Application.MessageBox('Сܳȴĸȣ˶!','ʾ',0); + Exit; + end; + end; + FXJSJKZ:=StrToFloat(FFXJMaoZ)/(StrToFloat(FFXJLen)*StrToFloat(FFXJFk)/100)*1000; + if( (FXJSJKZ-Cds_Main.FieldByName('MJSJKZ').Value)/Cds_Main.FieldByName('MJSJKZ').Value )<-0.3 then + begin + Application.MessageBox('ݣ','ʾ',0); + Exit; + end; + if( (FXJSJKZ-Cds_Main.FieldByName('MJSJKZ').Value)/Cds_Main.FieldByName('MJSJKZ').Value )>0.3 then + begin + Application.MessageBox('ݣ','ʾ',0); + Exit; + end; + if KWName.Visible=True then + begin + if Trim(KWName.Text)='' then + begin + Application.MessageBox('̲Ϊ!','ʾ',0); + exit; + end; + end; + if Trim(LenCut.Text)<>'' then + begin + if TEdit(FindComponent('XJMaoZ'+Trim(inttostr(FXJInt)))).Hint='2' then + begin + Application.MessageBox('δȫݣܴӡ!','ʾ',0); + Exit; + end; + end; + try + ADOQueryCmd.Connection.BeginTrans; + //////////////////////////////////////////////////////////////С + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from SY_User where UserId='''+Trim(DCode)+''''); + Open; + end; + XJBanZu:=Trim(ADOQueryTemp.fieldbyname('BanZu').AsString); + if GetLSNo(ADOQueryCmd,maxno,Trim(XJFlag),'WFB_XJJY',4,1)=false then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡС쳣','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.add('select * from WFB_XJJY where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MJID').Value:=Trim(Cds_Main.fieldbyname('MJID').AsString); + FieldByName('XJID').Value:=Trim(maxno); + FieldByName('XJInt').Value:=FXJInt; + FieldByName('XJLen').Value:=StrToFloat(FFXJLen); + FieldByName('XJMaoZ').Value:=StrToFloat(FFXJMaoZ); + FieldByName('XJFK').Value:=StrToFloat(FFXJFk); + FieldByName('XJFree').Value:=StrToFloat(FFXJFree); + FieldByName('XJJt').Value:=StrToFloat(FFXJJt); + FieldByName('XJBanZu').Value:=Trim(XJBanZu); + FieldByName('JTTYpe').Value:=Trim(XJFlag); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('XJSJKZ').Value:=StrToFloat(FFXJMaoZ)/(StrToFloat(FFXJLen)*StrToFloat(FFXJFk)/100)*1000; + //FieldByName('') + Post; + end; + with CDS_XJID do + begin + Append; + FieldByName('XJID').Value:=Trim(maxno); + FieldByName('XJInt').Value:=FXJInt; + FieldByName('XJLen').Value:=StrToFloat(FFXJLen); + FieldByName('XJMaoZ').Value:=StrToFloat(FFXJMaoZ); + FieldByName('XJFK').Value:=StrToFloat(FFXJFk); + FieldByName('XJFree').Value:=StrToFloat(FFXJFree); + FieldByName('XJJt').Value:=StrToFloat(FFXJJt); + Post; + end; + //////////////////////////////////////////////////////////////С + //////////////////////////////////////////////////////////////Сõ + with CDS_XJCD do + begin + First; + while not Eof do + begin + if CDS_XJCD.FieldByName('XJInt').Value=FXJInt then + begin + if GetLSNo(ADOQueryCmd,maxnocd,'XC','WFB_XJJY_CD',5,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡСõʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from WFB_XJJY_CD where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('XJID').Value:=Trim(maxno); + FieldByName('XCID').Value:=Trim(maxnocd); + FieldByName('CDName').Value:=CDS_XJCD.fieldbyname('CDName').Value; + FieldByName('CDBeg').Value:=CDS_XJCD.fieldbyname('CDBeg').Value; + FieldByName('CDEnd').Value:=CDS_XJCD.fieldbyname('CDEnd').Value; + FieldByName('CDQty').Value:=CDS_XJCD.fieldbyname('CDQty').Value; + Post; + end; + end; + Next; + end; + end; + //////////////////////////////////////////////////////////////Сõ + //////////////////////////////////////////////////////////////浽ֿ//////////////////////////////////////////////// + if Trim(Cds_Main.fieldbyname('SubType').AsString)='' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.add('Update CK_DJCP_CRID Set CRID=CRID+1'); + sql.Add('select * from CK_DJCP_CRID'); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').Value; + if GetLSNo(ADOQueryTemp,MaxCkNo,Trim(ZdyFlag.Text),'CK_DJCP_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡ룡','ʾ',0); + Exit; + end; + if GetLSNo(ADOQueryTemp,MaxCkSubNo,'CR','CK_DJCP_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡƷֿʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_DJCP_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('OwnerMainId').Value:=Trim(Cds_Main.fieldbyname('MainId').AsString); + FieldByName('OwnerSubId').Value:=Trim(Cds_Main.fieldbyname('SubId').AsString); + FieldByName('MJID').Value:=Trim(Cds_Main.fieldbyname('MJId').AsString); + FieldByName('XJID').Value:=Trim(maxno); + FieldByName('DJID').Value:=Trim(MaxCkNo); + FieldByName('CDID').Value:=Trim(MaxCkSubNo); + FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + FieldByName('JTType').Value:=Trim(XJFlag); + FieldByName('CRID').Value:=CRID; + FieldByName('KGQty').Value:=StrToFloat(FFXJMaoZ); + FieldByName('MQty').Value:=StrToFloat(FFXJLen); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('KWCode').Value:=Trim(KWName.Hint); + FieldByName('KWName').Value:=Trim(KWName.Text); + FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_DJCP_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=CRID; + FieldByName('DJID').Value:=Trim(MaxCkNo); + FieldByName('CDID').Value:=Trim(MaxCkSubNo); + FieldByName('MJID').Value:=Trim(Cds_Main.fieldbyname('MJId').AsString); + FieldByName('XJID').Value:=Trim(maxno); + FieldByName('KCKGQty').Value:=StrToFloat(FFXJMaoZ); + FieldByName('KCMQty').Value:=StrToFloat(FFXJLen); + FieldByName('OwnerMainId').Value:=Trim(Cds_Main.fieldbyname('MainId').AsString); + FieldByName('OwnerSubId').Value:=Trim(Cds_Main.fieldbyname('SubId').AsString); + FieldByName('KWCode').Value:=Trim(KWName.Hint); + FieldByName('KWName').Value:=Trim(KWName.Text); + Post; + end; + //////////////////////////////////////////////////////////////浽Ʒֿ//////////////////////////////////////////////// + end else + begin + //////////////////////////////////////////////////////////////浽Ʒֿ//////////////////////////////////////////////// + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.add('Update CK_BanCP_CRID Set CRID=CRID+1'); + sql.Add('select * from CK_BanCP_CRID'); + Open; + end; + CRID:=ADOQueryCmd.fieldbyname('CRID').Value; + if GetLSNo(ADOQueryTemp,MaxCkNo,'JR','CK_BanCP_CR',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡƷֿʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_CR where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(Cds_Main.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(Cds_Main.fieldbyname('SubId').AsString); + FieldByName('MJID').Value:=Trim(Cds_Main.fieldbyname('MJId').AsString); + FieldByName('XJID').Value:=Trim(maxno); + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('CRTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('CRFlag').Value:=''; + FieldByName('CRType').Value:=''; + FieldByName('JTType').Value:=Trim(XJFlag); + FieldByName('CRID').Value:=CRID; + FieldByName('KGQty').Value:=StrToFloat(FFXJMaoZ); + FieldByName('MQty').Value:=StrToFloat(FFXJLen); + FieldByName('Filler').Value:=Trim(DName); + FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp); + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from CK_BanCP_KC where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('CRID').Value:=CRID; + FieldByName('BCID').Value:=Trim(MaxCkNo); + FieldByName('XJID').Value:=Trim(maxno); + FieldByName('KCKGQty').Value:=StrToFloat(FFXJMaoZ); + FieldByName('KCMQty').Value:=StrToFloat(FFXJLen); + Post; + end; + //////////////////////////////////////////////////////////////浽Ʒֿ//////////////////////////////////////////////// + end; + + ADOQueryCmd.Connection.CommitTrans; + if Trim(LenCut.Text)<>'' then + TEdit(FindComponent('XJMaoZ'+Trim(inttostr(FXJInt)))).Hint:='2'; + + PrintData(Trim(maxno),''); + + {if Trim(LenCut.Text)<>'' then + begin + TEdit(FindComponent('XJMaoZ'+Trim(inttostr(FXJInt)))).Text:=''; + end;} + //Application.MessageBox('ɹ','ʾ',0); + //MJID.SelectAll; + Exit; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('쳣','ʾ',0); + end; + +end; +procedure TfrmZJManageNewFDMORE.PrintData(FXJID:string;CDFlag:String); +var + fPrintFile,LabInt,LabName:String; +begin + if Trim(FXJID)='' then exit; + DataLink_WFBProducttion.ADOLink.Connected:=False; + DataLink_WFBProducttion.ADOLink.Connected:=True; + if Trim(CDFlag)<>'' then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_XJJY Set PrtAgnFlag=1,PrtAgnDate=getdate(),PrtAgnPerson='''+Trim(DName)+''''); + sql.Add(' where XJID='''+Trim(FXJID)+''''); + ExecSQL; + end; + end; + { with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add(' select C.LbXInt,C.LbXName from WFB_XJJY A'); + sql.Add(' inner join WFB_MJJY B on A.MJID=B.MJID'); + sql.Add(' inner join WFBOrder_Main C on B.MainId=C.MainId'); + sql.Add(' where A.XJID='''+Trim(FXJID)+''''); + Open; + end; } + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add(' select C.SLbXInt,C.SLbXName from WFB_XJJY A'); + sql.Add(' inner join WFB_MJJY B on A.MJID=B.MJID'); + sql.Add(' inner join WFBOrder_Sub C on B.SubId=C.SubId'); + sql.Add(' where A.XJID='''+Trim(FXJID)+''''); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + LabInt:=ADOQueryTemp.fieldbyname('SLbXInt').AsString; + LabName:=ADOQueryTemp.fieldbyname('SLbXName').AsString; + end ; + if Trim(LabName)='' then + begin + if Trim(Cds_Main.fieldbyname('SubType').AsString)<>'' then + begin + Application.MessageBox('Сǩδã','ʾ',0); + Exit; + end else + begin + Exit; + end; + + end; + { try + frmLabelPrint:=TfrmLabelPrint.Create(Application); + with frmLabelPrint do + begin + fLabelId:=LabInt; + FFCDFlag:=Trim(CDFlag); + fKeyNo:=Trim(FXJID); + fIsPreviewPrint:=True; + frmLabelPrint.Button1.Click; + // if ShowModal=1 then + //begin + + // end; + end; + finally + frmLabelPrint.Free; + end; } + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add('select RTrim(AA.XJID) XJID,RTrim(Cast(AA.XJSJKZ as varchar(20))) XJSJKZ,RTrim(cast(Cast(AA.XJFK*10 as int) as varchar(20))) XJFK,RTrim(B.OrderNo)+'''+Trim(CDFlag)+''' OrderNo'); + sql.Add(',Rtrim(C.SWFBColor) SWFBColor, YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPBSZ'')'); + SQL.Add(',EngColor=(select Top 1 note from KH_Zdy where ZdyName=C.SWFBColor)'); + sql.Add(',Rtrim(Cast(AA.XJlen as varchar(20))) XJlen,Rtrim(Cast(AA.XJMaoZ as varchar(20))) XJMaoZ'); + sql.Add(',Rtrim(Cast(AA.XJFree as varchar(20))) XJFree,Rtrim(Cast( Cast(AA.XJlen*AA.XJFK/100 as int) as varchar(20))) XJPFM'); + sql.Add(',Rtrim(Cast(Cast(C.SWFBKZ as int) as varchar(20))) SWFBKZ'); + sql.Add(',Rtrim(Cast(Cast(AA.XJJt as int) as varchar(20))) XJJt'); + sql.Add(',RTrim(B.LbEngName) LbEngName'); + sql.Add(',RTrim(C.SWFBCodeName) SWFBCodeName from WFB_XJJY AA '); + sql.add(' inner join WFB_MJJY A on AA.MJID=A.MJID') ; + sql.add(' inner join WFBOrder_Main B on A.MainId=B.MainId'); + sql.Add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); + sql.Add(' where AA.XJID='''+Trim(FXJID)+''''); + Open; + end; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\'+Trim(LabName)+'.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + //RM2.ShowReport; + Rm2.PrintReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\'+Trim(LabName)+'.rmf'),'ʾ',0); + end; + DataLink_WFBProducttion.ADOLink.Connected:=False; +end; + +procedure TfrmZJManageNewFDMORE.Button6Click(Sender: TObject); +var + i,j,FXJInt:Integer; +begin + if Cds_Main.IsEmpty then Exit; + j:=0; + with Panel4 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if Controls[i].Visible=True then + begin + if TEdit(Controls[i]).Text='' then + begin + if j=0 then + begin + j:=9; + FXJInt:=i+1; + end + else + j:=j+1; + end; + end; + end; + end; + if j=0 then + begin + Application.MessageBox('ûѡС','ʾ',0); + Exit; + end else + if j>9 then + begin + Application.MessageBox('ѡС','ʾ',0); + Exit; + end; + + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_XJJY where MJID='''+Trim(Cds_Main.fieldbyname('MJId').AsString)+''''); + SQL.Add(' and XJInt='+Inttostr(FXJInt)); + Open; + end; + if ADOQueryTemp.IsEmpty=True then + begin + Application.MessageBox('δ룬´ӡ','ʾ',0); + Exit; + end; + MovePanel3.Visible:=True; + // PrintData(Trim(ADOQueryTemp.fieldbyname('XJID').AsString),'ش'); + //MJID.SelectAll; +end; + +procedure TfrmZJManageNewFDMORE.Tv3CellClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +var + FXJXH:String; +begin + FXJXH:=Trim(CDS_XJID.fieldbyname('XJInt').AsString); + (FindComponent('XJLen'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJLen').AsString); + (FindComponent('XJMaoZ'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJMaoZ').AsString); + (FindComponent('XJFree'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJFree').AsString); + (FindComponent('XJJt'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJJt').AsString); + if Trim(LenCut.Text)<>'' then + begin + (FindComponent('XJMaoZ'+FXJXH) as TEdit).Hint:='2'; + end; +end; + +procedure TfrmZJManageNewFDMORE.Button1Click(Sender: TObject); +begin + MovePanel2.Visible:=True; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,B.OrderNo,C.SWFBCode,C.SWFBCodeName,C.SWFBColor,C.WKMS,C.SWFBHW,C.SubId,C.MainId,C.SWFBKZ '); + sql.Add(',YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPB'')'); + sql.add('from WFB_MJJY A '); + Sql.add(' inner join WFBOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); + sql.add('where 1<>1'); + Open; + end; + SCreateCDS20(ADOQueryTemp,CDS_HJ); + SInitCDSData20(ADOQueryTemp,CDS_HJ); +end; + +procedure TfrmZJManageNewFDMORE.Button8Click(Sender: TObject); +begin + MovePanel2.Visible:=False; +end; + +procedure TfrmZJManageNewFDMORE.Button7Click(Sender: TObject); +var + maxno,fPrintFile,maxnosub:String; + i:Double; +begin + if CDS_HJ.IsEmpty then Exit; + if Application.MessageBox('ȷҪϾ𣿺Ͼݽ޸ģ','ʾ',32+4)<>IDYES then Exit; + try + ADOQueryCmd.Connection.BeginTrans; + if GetLSNo(ADOQueryCmd,maxno,'','WFB_MJJY',2,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_MJJY where 1<>1'); + Open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MainId').Value:=Trim(CDS_HJ.fieldbyname('MainId').AsString); + FieldByName('SubId').Value:=Trim(CDS_HJ.fieldbyname('SubId').AsString); + FieldByName('APId').Value:=Trim(CDS_HJ.fieldbyname('APId').AsString); + FieldByName('MJId').Value:=Trim(maxno); + FieldByName('MJMaoZ').Value:=TvHJ.DataController.Summary.FooterSummaryValues[1]; + FieldByName('MJLen').Value:=TvHJ.DataController.Summary.FooterSummaryValues[2]; + FieldByName('MJFK').Value:=TvHJ.DataController.Summary.FooterSummaryValues[5]; + FieldByName('MJSJKZ').Value:=TvHJ.DataController.Summary.FooterSummaryValues[4]; + FieldByName('MJType').Value:='Ͼ'; + FieldByName('FillTime').Value:=SGetServerDateTime(ADOQueryTemp); + FieldByName('Filler').Value:=Trim(DName); + + Post; + end; + i:=0; + with CDS_HJ do + begin + First; + while not Eof do + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('Update WFB_MJJY Set HJMJID='''+Trim(maxno)+''''); + SQL.Add(',MJType=''Ͼ'',Valie=''N'' '); + SQL.Add(' where MJID='''+Trim(CDS_HJ.fieldbyname('MJID').AsString)+''''); + ExecSQL; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_MJJY_CD where MJID='''+Trim(CDS_HJ.fieldbyname('MJID').AsString)+''''); + Open; + end; + with ADOQueryTemp do + begin + First; + while not Eof do + begin + if GetLSNo(ADOQueryCmd,maxnosub,'','WFB_MJJY_CD',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡСʧܣ','ʾ',0); + Exit; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from WFB_MJJY_CD where 1<>1'); + open; + end; + with ADOQueryCmd do + begin + Append; + FieldByName('MJID').Value:=Trim(maxno); + FieldByName('MCID').Value:=Trim(maxnosub); + FieldByName('CDBeg').Value:=ADOQueryTemp.fieldbyname('CDBeg').Value+i; + FieldByName('CDEnd').Value:=ADOQueryTemp.fieldbyname('CDEnd').Value+i; + FieldByName('CDQty').Value:=ADOQueryTemp.fieldbyname('CDQty').Value; + FieldByName('CDName').Value:=ADOQueryTemp.fieldbyname('CDName').Value; + Post; + end; + Next; + end; + end; + i:=i+CDS_HJ.FieldByName('MJLen').Value; + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + with ADOQueryPrint do + begin + Close; + sql.Clear; + sql.Add(' select RTrim(A.MJID) MJID,RTrim(Cast(A.MJSJKZ As varchar(20))) MJSJKZ,RTrim(Cast(A.MJFK as varchar(20))) MJFK,RTrim(B.OrderNo) OrderNo,'); + sql.Add(' RTrim(Cast(A.MJMaoZ As varchar(20))) MJMaoZ,RTrim(Cast(A.MJLen As varchar(20))) MJLen,'); + sql.Add(' Rtrim(C.SWFBColor) SWFBColor,Rtrim(Cast(C.SWFBKZ as varchar(20))) SWFBKZ, YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPBSZ'')'); + sql.Add(',RTrim(C.SWFBCodeName) SWFBCodeName from WFB_MJJY A inner join WFBOrder_Main B on A.MainId=B.MainId'); + sql.Add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); + sql.Add(' where A.MJID='''+Trim(maxno)+''''); + Open; + end; + fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\ĸǩ.rmf' ; + if FileExists(fPrintFile) then + begin + RM2.LoadFromFile(fPrintFile); + //RM2.ShowReport; + RM2.PrintReport; + end else + begin + Application.MessageBox(PChar('û'+ExtractFilePath(Application.ExeName)+'Report\ĸǩ.rmf'),'ʾ',0); + end; + Application.MessageBox('Ͼɹ','ʾ',0); + MovePanel2.Visible:=False; + Exit; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('Ͼ쳣','ʾ',0); + end; + +end; + +procedure TfrmZJManageNewFDMORE.HJMJIDKeyPress(Sender: TObject; var Key: Char); +begin + if Key=#13 then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.* '); + sql.add('from WFB_MJJY A '); + sql.add('where A.MJID='''+Trim(HJMJID.Text)+''''); + sql.Add(' and valie=''Y'' '); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + HJMJID.Text:=''; + Application.MessageBox('','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.* '); + sql.add('from WFB_XJJY A '); + sql.add('where A.MJID='''+Trim(HJMJID.Text)+''''); + sql.Add(' and valie=''Y'' '); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + HJMJID.Text:=''; + Application.MessageBox('˴ѷУ','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,B.OrderNo,C.SWFBCode,C.SWFBCodeName,C.SWFBColor,C.WKMS,C.SWFBHW,C.SubId,C.MainId '); + sql.Add(',YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPB''),C.SWFBKZ'); + sql.add('from WFB_MJJY A '); + Sql.add(' inner join WFBOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); + sql.add('where A.MJID='''+Trim(HJMJID.Text)+''''); + sql.Add(' and A.valie=''Y'' '); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + if CDS_HJ.Locate('MJID',Trim(ADOQueryTemp.fieldbyname('MJID').AsString),[])=True then + begin + HJMJID.Text:=''; + Application.MessageBox('Ѿɨٴɨ裡','ʾ',0); + Exit; + end; + if CDS_HJ.IsEmpty=False then + begin + if CDS_HJ.Locate('SubId',Trim(ADOQueryTemp.fieldbyname('SubId').AsString),[])=False then + begin + HJMJID.Text:=''; + Application.MessageBox('ͬܺϾ','ʾ',0); + Exit; + end; + {if CDS_HJ.Locate('YLPB',Trim(ADOQueryTemp.fieldbyname('YLPB').AsString),[])=False then + begin + Application.MessageBox('ԭȲͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('SWFBCode',Trim(ADOQueryTemp.fieldbyname('SWFBCode').AsString),[])=False then + begin + Application.MessageBox('ƷŲͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('SWFBColor',Trim(ADOQueryTemp.fieldbyname('SWFBColor').AsString),[])=False then + begin + Application.MessageBox('ɫͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('SWFBHW',Trim(ADOQueryTemp.fieldbyname('SWFBHW').AsString),[])=False then + begin + Application.MessageBox('ͲͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('WKMS',Trim(ADOQueryTemp.fieldbyname('WKMS').AsString),[])=False then + begin + Application.MessageBox('ĿͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('XJFK',Trim(ADOQueryTemp.fieldbyname('XJFK').AsString),[])=False then + begin + Application.MessageBox('ͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('SWFBKZ',Trim(ADOQueryTemp.fieldbyname('SWFBKZ').AsString),[])=False then + begin + Application.MessageBox('زͬܺϾ','ʾ',0); + Exit; + end; } + end; + with CDS_HJ do + begin + Append; + FieldByName('OrderNo').Value:=ADOQueryTemp.fieldbyname('OrderNo').Value; + FieldByName('SubId').Value:=ADOQueryTemp.fieldbyname('SubId').Value; + FieldByName('APId').Value:=ADOQueryTemp.fieldbyname('APId').Value; + FieldByName('MainId').Value:=ADOQueryTemp.fieldbyname('MainId').Value; + FieldByName('YLPB').Value:=ADOQueryTemp.fieldbyname('YLPB').Value; + FieldByName('SWFBCode').Value:=ADOQueryTemp.fieldbyname('SWFBCode').Value; + FieldByName('SWFBCodeName').Value:=ADOQueryTemp.fieldbyname('SWFBCodeName').Value; + FieldByName('SWFBColor').Value:=ADOQueryTemp.fieldbyname('SWFBColor').Value; + FieldByName('WKMS').Value:=ADOQueryTemp.fieldbyname('WKMS').Value; + FieldByName('SWFBHW').Value:=ADOQueryTemp.fieldbyname('SWFBHW').Value; + FieldByName('MJID').Value:=ADOQueryTemp.fieldbyname('MJID').Value; + FieldByName('SWFBKZ').Value:=ADOQueryTemp.fieldbyname('SWFBKZ').Value; + FieldByName('MJMaoZ').Value:=ADOQueryTemp.fieldbyname('MJMaoZ').Value; + FieldByName('MJLen').Value:=ADOQueryTemp.fieldbyname('MJLen').Value; + FieldByName('MJFK').Value:=ADOQueryTemp.fieldbyname('MJFK').Value; + FieldByName('MJSJKZ').Value:=ADOQueryTemp.fieldbyname('MJSJKZ').Value; + Post; + end; + end else + begin + HJMJID.Text:=''; + Application.MessageBox('','ʾ',0); + Exit; + end; + HJMJID.Text:=''; + end; + +end; + +procedure TfrmZJManageNewFDMORE.TvHJCellDblClick(Sender: TcxCustomGridTableView; + ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; + AShift: TShiftState; var AHandled: Boolean); +begin + if Application.MessageBox('ȷҪɾ','ʾ',32+4)<>IDYES then Exit; + CDS_HJ.Delete; +end; + +procedure TfrmZJManageNewFDMORE.Button9Click(Sender: TObject); +var + i,j,FXJInt:Integer; + mm,mm2:String; +begin + with ADOQueryTemp do + begin + sql.Clear; + sql.add('SELECT userid,username,password FROM SY_User WHERE userid='+''''+trim(DCode)+''''); + Open; + mm:=Trim(Fields[2].AsString); + if Trim(mm)<>'' then + mm2:=Trim(DecryptString(Trim(mm),'ljb^0122!@#*&^%$',kb128)) + else + begin + Application.MessageBox('벻Ϊգ','ʾ',0); + Exit; + end; + close; + end; + + if ( mm2=trim(Password.text) ) then + begin + with Panel4 do + begin + for i:=0 to Cds_Main.fieldbyname('SmalCount').AsInteger-1 do + begin + if Controls[i].Visible=True then + begin + if TEdit(Controls[i]).Text='' then + begin + if j=0 then + begin + j:=9; + FXJInt:=i+1; + end + else + j:=j+1; + end; + end; + end; + end; + with ADOQueryTemp do + begin + Close; + SQL.Clear; + sql.Add('select * from WFB_XJJY where MJID='''+Trim(Cds_Main.fieldbyname('MJId').AsString)+''''); + SQL.Add(' and XJInt='+Inttostr(FXJInt)); + Open; + end; + if ADOQueryTemp.IsEmpty=True then + begin + Application.MessageBox('δ룬´ӡ','ʾ',0); + Exit; + end; + if ADOQueryTemp.RecordCount>1 then + begin + PrintData(Trim(CDS_XJID.fieldbyname('XJID').AsString),'ش') + end else + PrintData(Trim(ADOQueryTemp.fieldbyname('XJID').AsString),'ش'); + MovePanel3.Visible:=False; + end else + Application.MessageBox('', 'Ϣʾ', MB_OK or MB_ICONinformation); + + //MJID.SelectAll; +end; + +procedure TfrmZJManageNewFDMORE.Button10Click(Sender: TObject); +begin + MovePanel3.Visible:=False; +end; + +procedure TfrmZJManageNewFDMORE.PasswordClick(Sender: TObject); +begin + Panel5.Visible:=True; +end; + +procedure TfrmZJManageNewFDMORE.LenCutClick(Sender: TObject); +begin + if Trim(TcxTextEdit(Sender).Text)='' then + begin + TcxTextEdit(Sender).Text:=''; + end else + begin + TcxTextEdit(Sender).Text:=''; + end; +end; + +procedure TfrmZJManageNewFDMORE.Button11Click(Sender: TObject); +var + FCount,i:Integer; + FXJXH:String; +begin + //if Key=#13 then + begin + MJID.SelectAll; + ClearControl(Panel1,'',Panel1.ControlCount); + ClearControl(Panel2,'',Panel2.ControlCount); + ClearControl(Panel3,'',Panel3.ControlCount); + Label12.Visible:=True; + Label12.Caption:=Trim(MJID.Text); + try + ADOQueryMain.DisableControls; + with ADOQueryMain do + begin + Close; + sql.Clear; + sql.add('select MJCDHZ=dbo.F_Get_WFBOrder_SubStr(A.MJID,''MJCDHZ''), D.*,'); + SQL.Add('A.*,C.OrderNo,B.SWFBColor,B.SWFBHW,B.WKMS,B.SWFBCode,B.SWFBCodeName '); + sql.add('from WFB_MJJY A inner join WFBOrder_Sub_AnPai D on A.APId=D.APId'); + sql.Add('inner join WFBOrder_Sub B on A.SubId=B.SubId'); + sql.Add('inner join WFBOrder_Main C on A.MainId=C.MainId'); + sql.Add('where A.MJID='''+Trim(MJID.Text)+''''); + sql.Add(' and A.Valie=''Y'' '); + Open; + end; + SCreateCDS20(ADOQueryMain,Cds_Main); + SInitCDSData20(ADOQueryMain,Cds_Main); + if Cds_Main.IsEmpty then + begin + MJCDHZ.Text:=''; + InitGridCDID(); + InitGridCD(); + Label12.Visible:=False; + MJID.Text:=''; + Application.MessageBox('','ʾ',0); + Exit; + end; + MJCDHZ.Visible:=True; + MJCDHZ.Text:=Trim(Cds_Main.fieldbyname('MJCDHZ').AsString); + SmalNote.Text:=Trim(Cds_Main.fieldbyname('SmalNote').AsString); + if Cds_Main.FieldByName('SmalCount').Value<1 then + begin + Application.MessageBox('иС1','ʾ',0); + Exit; + end else + begin + FCount:=Cds_Main.FieldByName('SmalCount').Value; + VisbleControl(Panel1,False,Panel1.ControlCount); + VisbleControl(Panel2,False,Panel2.ControlCount); + VisbleControl(Panel3,False,Panel3.ControlCount); + VisbleControl(Panel4,False,Panel4.ControlCount); + VisbleControl(Panel1,True,FCount); + VisbleControl(Panel2,True,FCount); + VisbleControl(Panel3,True,FCount); + VisbleControl(Panel4,True,FCount); + VisbleControl(Panel7,True,FCount); + VisbleControl(Panel8,True,FCount); + SCSHDataCDS(Cds_Main,Panel1,0); + end; + InitGridCDID(); + InitGridCD(); + finally + ADOQueryMain.EnableControls; + end; + MJID.Text:=''; + {if CDS_XJID.IsEmpty=False then + begin + with CDS_XJID do + begin + First; + while not Eof do + begin + + FXJXH:=Trim(CDS_XJID.fieldbyname('XJInt').AsString); + (FindComponent('XJLen'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJLen').AsString); + (FindComponent('XJMaoZ'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJMaoZ').AsString); + (FindComponent('XJFree'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJFree').AsString); + (FindComponent('XJJt'+FXJXH) as TEdit).Text:=Trim(CDS_XJID.fieldbyname('XJJt').AsString); + Next; + end; + end; + end; } + end; +end; + +procedure TfrmZJManageNewFDMORE.Button12Click(Sender: TObject); +begin + //if Key=#13 then + begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.* '); + sql.add('from WFB_MJJY A '); + sql.add('where A.MJID='''+Trim(HJMJID.Text)+''''); + sql.Add(' and valie=''Y'' '); + Open; + end; + if ADOQueryTemp.IsEmpty then + begin + HJMJID.Text:=''; + Application.MessageBox('','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.* '); + sql.add('from WFB_XJJY A '); + sql.add('where A.MJID='''+Trim(HJMJID.Text)+''''); + sql.Add(' and valie=''Y'' '); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + HJMJID.Text:=''; + Application.MessageBox('˴ѷУ','ʾ',0); + Exit; + end; + with ADOQueryTemp do + begin + Close; + sql.Clear; + SQL.Add('select A.*,B.OrderNo,C.SWFBCode,C.SWFBCodeName,C.SWFBColor,C.WKMS,C.SWFBHW,C.SubId,C.MainId '); + sql.Add(',YLPB=dbo.F_Get_WFBOrder_SubStr(C.SubId,''YLPB''),C.SWFBKZ'); + sql.add('from WFB_MJJY A '); + Sql.add(' inner join WFBOrder_Main B on A.MainId=B.MainId'); + Sql.add(' inner join WFBOrder_Sub C on A.SubId=C.SubId'); + sql.add('where A.MJID='''+Trim(HJMJID.Text)+''''); + sql.Add(' and A.valie=''Y'' '); + Open; + end; + if ADOQueryTemp.IsEmpty=False then + begin + if CDS_HJ.Locate('MJID',Trim(ADOQueryTemp.fieldbyname('MJID').AsString),[])=True then + begin + HJMJID.Text:=''; + Application.MessageBox('Ѿɨٴɨ裡','ʾ',0); + Exit; + end; + if CDS_HJ.IsEmpty=False then + begin + if CDS_HJ.Locate('SubId',Trim(ADOQueryTemp.fieldbyname('SubId').AsString),[])=False then + begin + HJMJID.Text:=''; + Application.MessageBox('ͬܺϾ','ʾ',0); + Exit; + end; + {if CDS_HJ.Locate('YLPB',Trim(ADOQueryTemp.fieldbyname('YLPB').AsString),[])=False then + begin + Application.MessageBox('ԭȲͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('SWFBCode',Trim(ADOQueryTemp.fieldbyname('SWFBCode').AsString),[])=False then + begin + Application.MessageBox('ƷŲͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('SWFBColor',Trim(ADOQueryTemp.fieldbyname('SWFBColor').AsString),[])=False then + begin + Application.MessageBox('ɫͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('SWFBHW',Trim(ADOQueryTemp.fieldbyname('SWFBHW').AsString),[])=False then + begin + Application.MessageBox('ͲͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('WKMS',Trim(ADOQueryTemp.fieldbyname('WKMS').AsString),[])=False then + begin + Application.MessageBox('ĿͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('XJFK',Trim(ADOQueryTemp.fieldbyname('XJFK').AsString),[])=False then + begin + Application.MessageBox('ͬܺϾ','ʾ',0); + Exit; + end; + if CDS_HJ.Locate('SWFBKZ',Trim(ADOQueryTemp.fieldbyname('SWFBKZ').AsString),[])=False then + begin + Application.MessageBox('زͬܺϾ','ʾ',0); + Exit; + end; } + end; + with CDS_HJ do + begin + Append; + FieldByName('OrderNo').Value:=ADOQueryTemp.fieldbyname('OrderNo').Value; + FieldByName('SubId').Value:=ADOQueryTemp.fieldbyname('SubId').Value; + FieldByName('APId').Value:=ADOQueryTemp.fieldbyname('APId').Value; + FieldByName('MainId').Value:=ADOQueryTemp.fieldbyname('MainId').Value; + FieldByName('YLPB').Value:=ADOQueryTemp.fieldbyname('YLPB').Value; + FieldByName('SWFBCode').Value:=ADOQueryTemp.fieldbyname('SWFBCode').Value; + FieldByName('SWFBCodeName').Value:=ADOQueryTemp.fieldbyname('SWFBCodeName').Value; + FieldByName('SWFBColor').Value:=ADOQueryTemp.fieldbyname('SWFBColor').Value; + FieldByName('WKMS').Value:=ADOQueryTemp.fieldbyname('WKMS').Value; + FieldByName('SWFBHW').Value:=ADOQueryTemp.fieldbyname('SWFBHW').Value; + FieldByName('MJID').Value:=ADOQueryTemp.fieldbyname('MJID').Value; + FieldByName('SWFBKZ').Value:=ADOQueryTemp.fieldbyname('SWFBKZ').Value; + FieldByName('MJMaoZ').Value:=ADOQueryTemp.fieldbyname('MJMaoZ').Value; + FieldByName('MJLen').Value:=ADOQueryTemp.fieldbyname('MJLen').Value; + FieldByName('MJFK').Value:=ADOQueryTemp.fieldbyname('MJFK').Value; + FieldByName('MJSJKZ').Value:=ADOQueryTemp.fieldbyname('MJSJKZ').Value; + Post; + end; + end else + begin + HJMJID.Text:=''; + Application.MessageBox('','ʾ',0); + Exit; + end; + HJMJID.Text:=''; + end; +end; + +procedure TfrmZJManageNewFDMORE.SpeedButton29Click(Sender: TObject); +var + i:Integer; +begin + if Trim(FPanname)='XJLen' then + begin + { with Panel2 do + begin + for i:=0 to Panel2.ControlCount-1 do + begin + TEdit(Controls[i]).Text:=''; + end; + end; } + + end else + if Trim(FPanname)='XJFree' then + begin + with Panel7 do + begin + for i:=0 to Panel7.ControlCount-1 do + begin + TEdit(Controls[i]).Text:=''; + end; + end; + + end else + if Trim(FPanname)='XjJt' then + begin + with Panel8 do + begin + for i:=0 to Panel8.ControlCount-1 do + begin + TEdit(Controls[i]).Text:=''; + end; + end; + + end else + if Trim(FPanname)='XJMaoZ' then + begin + with Panel3 do + begin + for i:=0 to Panel3.ControlCount-1 do + begin + TEdit(Controls[i]).Text:=''; + TEdit(Controls[i]).Hint:=''; + end; + end; + + end; +end; + +procedure TfrmZJManageNewFDMORE.KWSelClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='KW'; + flagname:='λ'; + fnote:=True; + fZdyFlag:=True; + V1Note.Caption:=''; + V1ZdyFlag.Caption:='λ־'; + TBAdd.Visible:=False; + TBEdit.Visible:=False; + TBDel.Visible:=False; + + if ShowModal=1 then + begin + KWName.Text:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); + KWName.Hint:=Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString); + ZdyFlag.Text:=Trim(ClientDataSet1.fieldbyname('ZdyFlag').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +end. diff --git a/打卷检验管理/U_iniParam.pas b/打卷检验管理/U_iniParam.pas new file mode 100644 index 0000000..91b901e --- /dev/null +++ b/打卷检验管理/U_iniParam.pas @@ -0,0 +1,74 @@ + +unit U_iniParam; + +interface +uses + IniFiles,SysUtils; +var + Filename:string; //ļ + iParam2:integer; + bParam1:Boolean; + bParam2:Boolean; + SCXFlag:String; // ݴ˱־ȡǰ׺ ܰĸ 1,2 + SCXCount:String; //̨ + PortNoStr:string;//˿ں + DllName:string;//˿Dllļ + ISJCX:string; + JCYPORT:string; + JCYDLL:string; + Function IsINIFile():Boolean; //жInIļǷ + procedure ReadINIFile(); + procedure WriteINIFile(); +implementation +/////////////////////////////////////////////////////////////////// + //ȡiniļò + // +//////////////////////////////////////////////////////////////////// +procedure ReadINIFile(); +var + programIni:Tinifile; //ļ +begin + FileName:=ExtractFilePath(Paramstr(0))+'File.INI'; + programIni:=Tinifile.create(FileName); + SCXFlag:=programIni.ReadString('','̨־','1'); + SCXCount:=programIni.ReadString('','̨','1'); + PortNoStr:=programIni.ReadString('','˿ں','com1'); + DllName:=programIni.ReadString('','˿Dllļ','JZCRS323C.DLL'); + ISJCX:= programIni.ReadString('','Ƿ','0'); + JCYPORT:=programIni.ReadString('','˿ں','com1'); + JCYDLL:=programIni.ReadString('','Dllļ','JCYData.DLL'); + programIni.Free; +end; +////////////////////////////////////////////////////////////////// + //дϢINIļ + // +////////////////////////////////////////////////////////////////// +procedure WriteINIFile(); +var + programIni:Tinifile; //ļ +begin + FileName:=ExtractFilePath(Paramstr(0))+'File.INI'; + JCYDLL:='JCYData10.DLL'; + programIni:=Tinifile.create(FileName); + programIni.WriteString('','̨־',SCXFlag); + programIni.WriteString('','̨',SCXCount); + programIni.WriteString('','˿ں',PortNoStr); + programIni.WriteString('','˿Dllļ',DllName); + programIni.WriteString('','Ƿ',ISJCX); + programIni.WriteString('','˿ں',JCYPORT); + programIni.WriteString('','Dllļ',JCYDLL); + programIni.Free; +end; +////////////////////////////////////////////////////////////////// + //жInIļǷ +////////////////////////////////////////////////////////////////// + Function IsINIFile():Boolean; + begin + FileName:=ExtractFilePath(Paramstr(0))+'File.INI'; + if FileExists(FileName) then + Result:=true + else + Result:=false; + end; + +end. diff --git a/打卷检验管理/U_orderInPut_HYWT_Sub.dfm b/打卷检验管理/U_orderInPut_HYWT_Sub.dfm new file mode 100644 index 0000000..cc932d3 --- /dev/null +++ b/打卷检验管理/U_orderInPut_HYWT_Sub.dfm @@ -0,0 +1,932 @@ +object FrmOrderInPut_HYWT_Sub: TFrmOrderInPut_HYWT_Sub + Left = 187 + Top = 101 + Width = 1145 + Height = 640 + Caption = #36135#36816#22996#25176#20449#24687 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnClose = FormClose + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 1137 + Height = 31 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clBtnFace + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 0 + object TBSave: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #20445#23384 + ImageIndex = 14 + OnClick = TBSaveClick + end + object TBClose: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Panel1: TPanel + Left = 0 + Top = 31 + Width = 1137 + Height = 271 + Align = alTop + BevelOuter = bvLowered + TabOrder = 1 + object Label1: TLabel + Left = 32 + Top = 20 + Width = 65 + Height = 12 + Caption = #22996#25176#21333#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 441 + Top = 45 + Width = 65 + Height = 12 + Caption = #32463#33829#21333#20301#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label3: TLabel + Left = 32 + Top = 45 + Width = 66 + Height = 12 + Caption = #21457' '#36135' '#20154#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label4: TLabel + Left = 32 + Top = 70 + Width = 66 + Height = 12 + Caption = #25910' '#36135' '#20154#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label5: TLabel + Left = 32 + Top = 96 + Width = 66 + Height = 12 + Caption = #36890' '#30693' '#20154#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label6: TLabel + Left = 646 + Top = 20 + Width = 66 + Height = 12 + Caption = #21512' '#21516' '#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label7: TLabel + Left = 240 + Top = 45 + Width = 62 + Height = 12 + Caption = 'PO# '#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label8: TLabel + Left = 238 + Top = 70 + Width = 65 + Height = 12 + Caption = #20449#29992#35777#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label9: TLabel + Left = 238 + Top = 96 + Width = 65 + Height = 12 + Caption = #25552#21333#20221#25968#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label10: TLabel + Left = 441 + Top = 96 + Width = 67 + Height = 12 + Caption = #27491' '#26412#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label11: TLabel + Left = 645 + Top = 96 + Width = 67 + Height = 12 + Caption = #38468' '#26412#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label12: TLabel + Left = 32 + Top = 123 + Width = 65 + Height = 12 + Caption = #36816#36153#20184#33267#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label13: TLabel + Left = 645 + Top = 45 + Width = 67 + Height = 12 + Caption = #33337' '#21517#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label14: TLabel + Left = 238 + Top = 177 + Width = 65 + Height = 12 + Caption = #35013#36816#26399#38480#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label15: TLabel + Left = 441 + Top = 123 + Width = 66 + Height = 12 + Caption = #30446' '#30340' '#28207#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label16: TLabel + Left = 647 + Top = 123 + Width = 65 + Height = 12 + Caption = #20986#21475#21475#23736#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label17: TLabel + Left = 645 + Top = 70 + Width = 67 + Height = 12 + Caption = #33322' '#27425#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label18: TLabel + Left = 443 + Top = 70 + Width = 62 + Height = 12 + Caption = 'B/L No '#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label19: TLabel + Left = 239 + Top = 150 + Width = 65 + Height = 12 + Caption = #26377#25928#26399#38480#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label20: TLabel + Left = 32 + Top = 177 + Width = 91 + Height = 12 + Caption = #36135#29289#22791#22949#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label21: TLabel + Left = 32 + Top = 150 + Width = 65 + Height = 12 + Caption = #35013#31665#26085#26399#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label22: TLabel + Left = 441 + Top = 150 + Width = 65 + Height = 12 + Caption = #35013#31665#22320#28857#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label23: TLabel + Left = 441 + Top = 177 + Width = 65 + Height = 12 + Caption = #25910#36135#22320#22336#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label24: TLabel + Left = 32 + Top = 200 + Width = 65 + Height = 12 + Caption = #27880#24847#20107#39033#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label25: TLabel + Left = 441 + Top = 20 + Width = 65 + Height = 12 + Caption = #25351#31034#21333#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object Label26: TLabel + Left = 237 + Top = 20 + Width = 65 + Height = 12 + Caption = #20986#36816#21333#21495#65306 + Font.Charset = GB2312_CHARSET + Font.Color = clBlue + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object goodsdate: TDateTimePicker + Tag = 2 + Left = 121 + Top = 173 + Width = 96 + Height = 20 + Date = 41962.666178923610000000 + Time = 41962.666178923610000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 16 + end + object WTNo: TEdit + Tag = 2 + Left = 97 + Top = 16 + Width = 121 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + end + object conNo: TEdit + Tag = 2 + Left = 712 + Top = 16 + Width = 120 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 1 + end + object original: TEdit + Tag = 2 + Left = 506 + Top = 92 + Width = 121 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 2 + end + object Attached: TEdit + Tag = 2 + Left = 714 + Top = 92 + Width = 120 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 3 + end + object TDNum: TEdit + Tag = 2 + Left = 303 + Top = 92 + Width = 121 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 4 + end + object Payaddress: TBtnEditA + Tag = 2 + Left = 97 + Top = 119 + Width = 327 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 5 + OnBtnClick = PayaddressBtnClick + end + object CustomerNoName: TBtnEditA + Tag = 2 + Left = 506 + Top = 41 + Width = 122 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 6 + OnBtnClick = CustomerNoNameBtnClick + end + object Export: TBtnEditA + Tag = 2 + Left = 713 + Top = 119 + Width = 121 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 7 + OnBtnClick = ExportBtnClick + end + object POD: TBtnEditA + Tag = 2 + Left = 506 + Top = 119 + Width = 123 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 8 + OnBtnClick = PODBtnClick + end + object shiptime: TDateTimePicker + Tag = 2 + Left = 304 + Top = 173 + Width = 121 + Height = 20 + Date = 41962.666178923610000000 + Time = 41962.666178923610000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 9 + end + object voy: TBtnEditA + Tag = 2 + Left = 713 + Top = 66 + Width = 121 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 10 + OnBtnClick = voyBtnClick + end + object vessel: TBtnEditA + Tag = 2 + Left = 713 + Top = 41 + Width = 121 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 11 + OnBtnClick = vesselBtnClick + end + object BLNo: TEdit + Tag = 2 + Left = 506 + Top = 66 + Width = 121 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 12 + end + object Validtime: TDateTimePicker + Tag = 2 + Left = 305 + Top = 146 + Width = 121 + Height = 20 + Date = 41962.666178923610000000 + Time = 41962.666178923610000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 13 + end + object ifFP: TCheckBox + Left = 848 + Top = 16 + Width = 97 + Height = 17 + Caption = #26159#21542#20998#25209 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 14 + end + object ifZY: TCheckBox + Left = 848 + Top = 42 + Width = 97 + Height = 17 + Caption = #26159#21542#36716#36816 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + TabOrder = 15 + end + object DLYDate: TDateTimePicker + Tag = 2 + Left = 97 + Top = 146 + Width = 121 + Height = 20 + Date = 41962.666178923610000000 + Time = 41962.666178923610000000 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 17 + end + object conDefstr1: TBtnEditA + Tag = 2 + Left = 508 + Top = 173 + Width = 326 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 18 + OnBtnClick = conDefstr1BtnClick + end + object XYNO: TEdit + Tag = 2 + Left = 303 + Top = 66 + Width = 121 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 19 + end + object DLYaddress: TBtnEditA + Tag = 2 + Left = 508 + Top = 146 + Width = 326 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 20 + OnBtnClick = DLYaddressBtnClick + end + object MPRTBZNote: TMemo + Tag = 2 + Left = 97 + Top = 200 + Width = 737 + Height = 60 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + ScrollBars = ssVertical + TabOrder = 21 + OnDblClick = MPRTBZNoteDblClick + end + object orddefstr1: TEdit + Tag = 2 + Left = 97 + Top = 41 + Width = 121 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 22 + end + object ConPerson2: TEdit + Tag = 2 + Left = 97 + Top = 92 + Width = 121 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 23 + end + object ConPerson1: TEdit + Tag = 2 + Left = 97 + Top = 66 + Width = 121 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 24 + end + object orderNo: TBtnEditA + Tag = 2 + Left = 506 + Top = 16 + Width = 122 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 25 + OnBtnClick = orderNoBtnClick + end + object KHConNo: TEdit + Tag = 2 + Left = 303 + Top = 41 + Width = 120 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 26 + end + object CYNO: TBtnEditA + Left = 303 + Top = 16 + Width = 122 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 27 + OnBtnClick = CYNOBtnClick + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 333 + Width = 1137 + Height = 252 + Align = alTop + TabOrder = 2 + object TV1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + Column = V1SordQty3 + end + item + Kind = skSum + Column = V1SordQty1 + end + item + Kind = skSum + Column = V1SordQty4 + end + item + Kind = skSum + Column = V1SordQty2 + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + object V1XHNO: TcxGridDBColumn + Caption = #24207#21495 + DataBinding.FieldName = 'XHNO' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 60 + end + object V1PRTCode: TcxGridDBColumn + Caption = #20135#21697#32534#21495 + DataBinding.FieldName = 'PRTCode' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object V1PRTCodeName: TcxGridDBColumn + Caption = #20135#21697#21517#31216 + DataBinding.FieldName = 'PRTCodeName' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object V1PRTColor: TcxGridDBColumn + Caption = #39068#33394 + DataBinding.FieldName = 'PRTColor' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object V1PRTspec: TcxGridDBColumn + Caption = #20135#21697#35268#26684 + DataBinding.FieldName = 'PRTspec' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + HeaderAlignmentHorz = taCenter + Options.Editing = False + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1SordQty3: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'SordQty3' + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FontBlue + Styles.Footer = DataLink_TradeManage.FontBlue + Styles.Header = DataLink_TradeManage.FontBlue + Width = 68 + end + object V1OrderUnit: TcxGridDBColumn + Caption = #25968#37327#21333#20301 + DataBinding.FieldName = 'OrderUnit' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 68 + end + object V1PRTprice: TcxGridDBColumn + Caption = #21333#20215 + DataBinding.FieldName = 'PRTprice' + HeaderAlignmentHorz = taCenter + Styles.Content = DataLink_TradeManage.FontBlue + Styles.Footer = DataLink_TradeManage.FontBlue + Styles.Header = DataLink_TradeManage.FontBlue + Width = 60 + end + object V1BJNO: TcxGridDBColumn + Caption = #26631#35760#21495#30721 + DataBinding.FieldName = 'BJNO' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1SordQty1: TcxGridDBColumn + Caption = #20214#25968 + DataBinding.FieldName = 'SordQty1' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1BGType: TcxGridDBColumn + Caption = #21253#35013#24335#26679 + DataBinding.FieldName = 'BGType' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = V1BGTypePropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1GoodsNo: TcxGridDBColumn + Caption = #36135#21495 + DataBinding.FieldName = 'GoodsNo' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1SordQty2: TcxGridDBColumn + Caption = #23610#30721 + DataBinding.FieldName = 'SordQty2' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.FontBlue + Width = 70 + end + object V1SordQty4: TcxGridDBColumn + Caption = #27611#37325 + DataBinding.FieldName = 'SordQty4' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.FontBlue + Width = 70 + end + object V1SOrdDefNote3: TcxGridDBColumn + Caption = #25104#20132#26465#20214 + DataBinding.FieldName = 'SOrdDefNote3' + PropertiesClassName = 'TcxButtonEditProperties' + Properties.Buttons = < + item + Default = True + Kind = bkEllipsis + end> + Properties.OnButtonClick = V1SordQty1PropertiesButtonClick + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 70 + end + object V1SOrdDefNote1: TcxGridDBColumn + Caption = #22791#27880 + DataBinding.FieldName = 'SOrdDefNote1' + HeaderAlignmentHorz = taCenter + Styles.Header = DataLink_TradeManage.Default + Width = 100 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = TV1 + end + end + object ToolBar2: TToolBar + Left = 0 + Top = 302 + Width = 1137 + Height = 31 + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clBtnFace + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 3 + object Tadd: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #22686#34892 + ImageIndex = 103 + OnClick = TaddClick + end + object TDEL: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #21024#34892 + ImageIndex = 107 + OnClick = TDELClick + end + end + object ADOQueryTmp: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 348 + Top = 364 + end + object order_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 388 + Top = 364 + end + object DataSource1: TDataSource + DataSet = order_Sub + Left = 424 + Top = 364 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 464 + Top = 364 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 508 + Top = 364 + end +end diff --git a/打卷检验管理/U_orderInPut_HYWT_Sub.pas b/打卷检验管理/U_orderInPut_HYWT_Sub.pas new file mode 100644 index 0000000..4906f25 --- /dev/null +++ b/打卷检验管理/U_orderInPut_HYWT_Sub.pas @@ -0,0 +1,714 @@ +unit U_orderInPut_HYWT_Sub; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, ToolWin, ComCtrls, ExtCtrls, StdCtrls, BtnEdit, cxStyles, + cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, + cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView, + cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, + DBClient, ADODB, cxButtonEdit, cxGridCustomPopupMenu, cxGridPopupMenu; + +type + TFrmOrderInPut_HYWT_Sub = class(TForm) + ToolBar1: TToolBar; + TBSave: TToolButton; + TBClose: TToolButton; + Panel1: TPanel; + Label1: TLabel; + Label2: TLabel; + Label3: TLabel; + Label4: TLabel; + Label5: TLabel; + Label6: TLabel; + conNo: TEdit; + Label7: TLabel; + Label8: TLabel; + Label9: TLabel; + Label10: TLabel; + original: TEdit; + Label11: TLabel; + Attached: TEdit; + Label12: TLabel; + TDNum: TEdit; + Payaddress: TBtnEditA; + CustomerNoName: TBtnEditA; + Export: TBtnEditA; + Label13: TLabel; + Label14: TLabel; + Label15: TLabel; + Label16: TLabel; + POD: TBtnEditA; + shiptime: TDateTimePicker; + Label17: TLabel; + voy: TBtnEditA; + vessel: TBtnEditA; + Label18: TLabel; + BLNo: TEdit; + Label19: TLabel; + Validtime: TDateTimePicker; + ifFP: TCheckBox; + ifZY: TCheckBox; + Label20: TLabel; + goodsdate: TDateTimePicker; + Label21: TLabel; + DLYDate: TDateTimePicker; + Label22: TLabel; + cxGrid1: TcxGrid; + TV1: TcxGridDBTableView; + V1BJNO: TcxGridDBColumn; + V1SordQty1: TcxGridDBColumn; + V1BGType: TcxGridDBColumn; + V1PRTspec: TcxGridDBColumn; + V1GoodsNo: TcxGridDBColumn; + cxGrid1Level1: TcxGridLevel; + ToolBar2: TToolBar; + Tadd: TToolButton; + TDEL: TToolButton; + WTNo: TEdit; + Label23: TLabel; + conDefstr1: TBtnEditA; + V1SordQty2: TcxGridDBColumn; + V1SordQty4: TcxGridDBColumn; + V1SOrdDefNote3: TcxGridDBColumn; + V1SOrdDefNote1: TcxGridDBColumn; + ADOQueryTmp: TADOQuery; + order_Sub: TClientDataSet; + DataSource1: TDataSource; + ADOQueryCmd: TADOQuery; + XYNO: TEdit; + DLYaddress: TBtnEditA; + Label24: TLabel; + MPRTBZNote: TMemo; + orddefstr1: TEdit; + ConPerson2: TEdit; + ConPerson1: TEdit; + Label25: TLabel; + orderNo: TBtnEditA; + KHConNo: TEdit; + V1PRTCode: TcxGridDBColumn; + V1PRTCodeName: TcxGridDBColumn; + V1PRTColor: TcxGridDBColumn; + V1OrderUnit: TcxGridDBColumn; + V1SordQty3: TcxGridDBColumn; + V1XHNO: TcxGridDBColumn; + V1PRTprice: TcxGridDBColumn; + cxGridPopupMenu1: TcxGridPopupMenu; + Label26: TLabel; + CYNO: TBtnEditA; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure FormCreate(Sender: TObject); + procedure FormDestroy(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure TBCloseClick(Sender: TObject); + procedure TaddClick(Sender: TObject); + procedure TBSaveClick(Sender: TObject); + procedure CustomerNoNameBtnClick(Sender: TObject); + procedure V1BGTypePropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure V1SordQty1PropertiesButtonClick(Sender: TObject; + AButtonIndex: Integer); + procedure PayaddressBtnClick(Sender: TObject); + procedure vesselBtnClick(Sender: TObject); + procedure DLYaddressBtnClick(Sender: TObject); + procedure conDefstr1BtnClick(Sender: TObject); + procedure voyBtnClick(Sender: TObject); + procedure ExportBtnClick(Sender: TObject); + procedure PODBtnClick(Sender: TObject); + procedure MPRTBZNoteDblClick(Sender: TObject); + procedure TDELClick(Sender: TObject); + procedure CYNOBtnClick(Sender: TObject); + procedure orderNoBtnClick(Sender: TObject); + private + procedure initdata(); + procedure savedata(); + { Private declarations } + public + FMainId: string; + { Public declarations } + end; + +var + FrmOrderInPut_HYWT_Sub: TFrmOrderInPut_HYWT_Sub; + +implementation + +Uses U_DataLink,U_Fun, U_ZDYHelp, U_ZDYHelpSel, U_ProductOrderListSel, + U_ProductOrderNewList_CY_Sel; + +{$R *.dfm} + +procedure TFrmOrderInPut_HYWT_Sub.savedata(); +var FSubid: string; +begin + try + ADOQueryCmd.Connection.BeginTrans; + if Trim(FMainId)='' then + begin + if GetLSNo(ADOQueryCmd,FMainid,'HY','JYOrderWT_Main',3,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡʧ!','ʾ',0); + Exit; + end; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + SQL.Add('select * from JYOrderWT_Main where MainId='''+Trim(FMainId)+''''); + Open; + if IsEmpty then + begin + Append; + FieldByName('filler').AsString:=Trim(DName); + FieldByName('filltime').AsDateTime:=SGetServerDateTime(ADOQueryTmp); + end + else + begin + Edit; + end; + FieldByName('MainId').Value:=Trim(FMainid); + SSetsaveSqlNew(ADOQueryCmd,'JYOrderWT_Main',Panel1,2); + FieldByName('status').AsString:=''; + if ifFP.Checked=True then + begin + FieldByName('ifFp').AsString:='T'; + end + else + begin + FieldByName('ifFp').AsString:='F'; + end; + if ifzy.Checked=True then + begin + FieldByName('ifzy').AsString:='T'; + end + else + begin + FieldByName('ifzy').AsString:='F'; + end; + Post; + end; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select * from JYOrderWT_Main where WTNO='''+Trim(WTNO.Text)+''''); + Open; + end; + if ADOQueryCmd.RecordCount>1 then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ίеظ!','ʾ'); + Exit; + end; + with Order_Sub do + begin + First; + while not Eof do + begin + if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then + begin + if GetLSNo(ADOQueryCmd,FSubid,'HY','JYOrderWT_Sub',4,1)=False then + begin + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ȡˮʧܣ','ʾ',0); + Exit; + end; + end else + begin + FSubid:=Trim(Order_Sub.fieldbyname('SubId').AsString); + end; + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrderWT_Sub where MainId='''+Trim(FMainId)+''''); + sql.Add(' and SubId='''+Trim(FSubid)+''''); + Open; + if IsEmpty then + Append + else + Edit; + FieldByName('MainId').Value:=Trim(FMainId); + FieldByName('SubId').Value:=Trim(FSubid); + RTSetSaveDataCDS(ADOQueryCmd,Tv1,Order_Sub,'JYOrderWT_Sub',0); + fieldbyname('SordQty1').Value:=Order_Sub.fieldbyname('SordQty1').AsFloat; + fieldbyname('SordQty2').Value:=Order_Sub.fieldbyname('SordQty2').AsFloat; + fieldbyname('SordQty3').Value:=Order_Sub.fieldbyname('SordQty3').AsFloat; + fieldbyname('SordQty4').Value:=Order_Sub.fieldbyname('SordQty4').AsFloat; + fieldbyname('PRTprice').Value:=Order_Sub.fieldbyname('PRTprice').AsFloat; + fieldbyname('Money').Value:=Order_Sub.fieldbyname('Money').AsFloat; + Post; + end; + Order_Sub.Edit; + Order_Sub.FieldByName('SubId').Value:=Trim(FSubid); + Next; + end; + end; + ADOQueryCmd.Connection.CommitTrans; + Application.MessageBox('ɹ','ʾ',0); + ModalResult:=1; + except + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ʧܣ','ʾ',0); + end; +end; + +procedure TFrmOrderInPut_HYWT_Sub.initdata(); +begin + with ADOQueryTmp do + begin + Close; + SQL.Clear; + sql.Add('select * from JYOrderwt_Main'); + sql.Add('where Mainid='''+trim(FMainid)+''''); + Open; + if not IsEmpty then + begin + SCSHDataNew(ADOQueryTmp,Panel1,2); + MPRTBZNote.Text:=Trim(fieldbyname('MPRTBZNote').AsString); + if FieldByName('iffp').AsString='T' then + iffp.Checked:=True + else + iffp.Checked:=False; + if FieldByName('ifzy').AsString='T' then + ifzy.Checked:=True + else + ifzy.Checked:=False; + end + else + begin + shiptime.DateTime:=SGetServerDateTime(ADOQueryCmd); + DLYDate.DateTime:=SGetServerDateTime(ADOQueryCmd); + goodsdate.DateTime:=SGetServerDateTime(ADOQueryCmd); + Validtime.DateTime:=SGetServerDateTime(ADOQueryCmd); + end; + end; + with ADOQueryTmp do + begin + Close; + SQL.Clear; + SQL.Add('select * from JYOrderWT_Sub '); + sql.Add('where Mainid='''+trim(FMainid)+''''); + open; + end; + SCreateCDS20(ADOQueryTmp,Order_Sub); + SInitCDSData20(ADOQueryTmp,Order_Sub); +end; +procedure TFrmOrderInPut_HYWT_Sub.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action:=caFree; +end; + +procedure TFrmOrderInPut_HYWT_Sub.FormCreate(Sender: TObject); +begin + cxGrid1.Align:=alclient; +end; + +procedure TFrmOrderInPut_HYWT_Sub.FormDestroy(Sender: TObject); +begin + FrmOrderInPut_HYWT_Sub:=nil; +end; + +procedure TFrmOrderInPut_HYWT_Sub.FormShow(Sender: TObject); +begin + ReadCxGrid(self.Caption+tv1.Name,Tv1); + InitData(); +end; + +procedure TFrmOrderInPut_HYWT_Sub.TBCloseClick(Sender: TObject); +begin + close; + WriteCxGrid(Self.Caption+Tv1.Name,Tv1); +end; + +procedure TFrmOrderInPut_HYWT_Sub.TaddClick(Sender: TObject); +begin + with order_Sub do + begin + Append; + + Post; + end; +end; + +procedure TFrmOrderInPut_HYWT_Sub.TBSaveClick(Sender: TObject); +begin + if WTNo.Text='' then + begin + Application.MessageBox('ίеŲΪ','ʾ'); + exit; + end; + if Order_Sub.IsEmpty then + begin + Application.MessageBox('ϸΪ!','ʾ',0); + Exit; + end; + SaveData(); +end; + +procedure TFrmOrderInPut_HYWT_Sub.CustomerNoNameBtnClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='CustomerNoName'; + flagname:='Ӫλ'; + if ShowModal=1 then + begin + CustomerNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TFrmOrderInPut_HYWT_Sub.V1BGTypePropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='BGTYPE'; + flagname:='װʽ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('BGTYPE').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TFrmOrderInPut_HYWT_Sub.V1SordQty1PropertiesButtonClick( + Sender: TObject; AButtonIndex: Integer); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='SordQty1'; + flagname:='ɽ'; + if ShowModal=1 then + begin + Self.Order_Sub.Edit; + Self.Order_Sub.FieldByName('SordQty1').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TFrmOrderInPut_HYWT_Sub.PayaddressBtnClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Payaddress'; + flagname:='˷Ѹ'; + if ShowModal=1 then + begin + Payaddress.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TFrmOrderInPut_HYWT_Sub.vesselBtnClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='vessel'; + flagname:=''; + if ShowModal=1 then + begin + vessel.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TFrmOrderInPut_HYWT_Sub.DLYaddressBtnClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Payaddress'; + flagname:='װص'; + if ShowModal=1 then + begin + DLYaddress.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TFrmOrderInPut_HYWT_Sub.conDefstr1BtnClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Payaddress'; + flagname:='ַ'; + if ShowModal=1 then + begin + conDefstr1.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TFrmOrderInPut_HYWT_Sub.voyBtnClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='voy'; + flagname:=''; + if ShowModal=1 then + begin + voy.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TFrmOrderInPut_HYWT_Sub.ExportBtnClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Export'; + flagname:='ڿڰ'; + if ShowModal=1 then + begin + Export.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TFrmOrderInPut_HYWT_Sub.PODBtnClick(Sender: TObject); +begin + try + frmZDYHelp:=TfrmZDYHelp.Create(Application); + with frmZDYHelp do + begin + flag:='Export'; + flagname:='Ŀĸ'; + if ShowModal=1 then + begin + POD.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); + end; + end; + finally + frmZDYHelp.Free; + end; +end; + +procedure TFrmOrderInPut_HYWT_Sub.MPRTBZNoteDblClick(Sender: TObject); +var i: Integer; +begin + i:=0; + try + frmZDYHelpSel:=TfrmZDYHelpSel.Create(Application); + with frmZDYHelpSel do + begin + flag:='MPRTBZNote'; + flagname:='ע'; + if ShowModal=1 then + begin + MPRTBZNote.Lines.Clear; + with ClientDataSet1 do + begin + First; + while not Eof do + begin + if FieldByName('SSel').AsBoolean=True then + begin + i:=i+1; + MPRTBZNote.Lines.Add(inttostr(i)+'.'+FieldByName('ZDYName').AsString) + end; + Next; + end; + end; + end; + end; + finally + frmZDYHelpSel.Free; + end; +end; + +procedure TFrmOrderInPut_HYWT_Sub.TDELClick(Sender: TObject); +begin + if Order_Sub.IsEmpty then Exit; + if Trim(Order_Sub.fieldbyname('SubId').AsString)<>'' then + begin + if Application.MessageBox('ȷҪɾ','ʾ',1)=2 then Exit; + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('delete JYOrderWT_Sub where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); + ExecSQL; + end; + end; + Order_Sub.Delete; +end; + +procedure TFrmOrderInPut_HYWT_Sub.CYNOBtnClick(Sender: TObject); +var + ConMainId:string; +begin + ConMainId:=''; + frmProductOrderNewList_CY_SEL:=TfrmProductOrderNewList_CY_SEL.create(self); + with frmProductOrderNewList_CY_SEL do + begin + FFInt:=1; + if showmodal=1 then + begin + ConMainId:=trim(Order_Main.fieldbyname('mainID').asstring); + end; + free; + end; + iF ConMainId='' then exit; + with ADOQueryTmp do + begin + Close; + sql.Clear; + sql.Add('select B.*,A.*,c.KhconNo,C.ConPerson2,C.ConPerson3,C.conDefstr2,C.conDefstr6,C.condefstr10,C.priceNote,C.Payment,C.ShippMent, '); + sql.Add('PriceUnit1=(select top 1 PriceUnit from JYordercon_sub X where X.mainID=C.mainid)'); + sql.Add('from JYOrderCY_sub A '); + sql.Add('inner join JYOrderCY_Main B on B.mainID=A.mainID '); + sql.Add('left join JYOrderCon_Main C on C.conNO=B.conNO '); + sql.Add('where B.mainID like '''+'%'+Trim(ConMainId)+'%'+''''); + Open; + end; + IF not ADOQueryTmp.IsEmpty then + begin + ConNo.Text:=Trim(ADOQueryTmp.fieldbyname('ConNo').AsString); + WTNO.Text:='WT_'+Trim(ADOQueryTmp.fieldbyname('ConNo').AsString); + orderNo.Text:=Trim(ADOQueryTmp.fieldbyname('orderNo').AsString); + CYNO.Text:=Trim(ADOQueryTmp.fieldbyname('CYNO').AsString); + DLYDate.DateTime:=ADOQueryTmp.fieldbyname('DLYDate').AsDateTime; + CustomerNoName.Text:=Trim(ADOQueryTmp.fieldbyname('CustomerNoName').AsString); + CustomerNoName.TxtCode:=Trim(ADOQueryTmp.fieldbyname('CustomerNo').AsString); + KHCONNO.Text:=Trim(ADOQueryTmp.fieldbyname('KHCONNO').AsString); + ConPerson1.Text:=Trim(ADOQueryTmp.fieldbyname('ConPerson2').AsString); + conDefstr1.Text:=Trim(ADOQueryTmp.fieldbyname('conDefstr1').AsString); + BLNo.Text:=Trim(ADOQueryTmp.fieldbyname('orddefstr3').AsString); + end; + Order_Sub.EmptyDataSet; + with ADOQueryTmp do + begin + First; + while not Eof do + begin + with Order_Sub do + begin + Append; + FieldByName('XHNO').Value:=Trim(ADOQueryTmp.fieldbyname('XHNO').AsString); + FieldByName('PRTCode').Value:=Trim(ADOQueryTmp.fieldbyname('PRTCode').AsString); + FieldByName('PRTCodeName').Value:=Trim(ADOQueryTmp.fieldbyname('PRTCodeName').AsString); + FieldByName('PRTspec').Value:=Trim(ADOQueryTmp.fieldbyname('PRTspec').AsString); + FieldByName('SordQty3').Value:=Trim(ADOQueryTmp.fieldbyname('PRTOrderQty').AsString); + FieldByName('PRTColor').Value:=Trim(ADOQueryTmp.fieldbyname('PRTColor').AsString); + FieldByName('OrderUnit').Value:=Trim(ADOQueryTmp.fieldbyname('OrderUnit').AsString); + FieldByName('PRTPrice').Value:=Trim(ADOQueryTmp.fieldbyname('PRTPrice').AsString); + FieldByName('PriceUnit').Value:=Trim(ADOQueryTmp.fieldbyname('PriceUnit1').AsString); + FieldByName('SOrdDefNote4').Value:=Trim(ADOQueryTmp.fieldbyname('subID').AsString); + Post; + end; + Next; + end; + end; +end; + +procedure TFrmOrderInPut_HYWT_Sub.orderNoBtnClick(Sender: TObject); +begin + frmProductOrderListSel:=TfrmProductOrderListSel.create(self); + with frmProductOrderListSel do + begin + if showmodal=1 then + begin + with ADOQueryCmd do + begin + Close; + sql.Clear; + sql.Add('select B.*,A.*,c.KhconNo,C.ConPerson2,C.ConPerson3,C.conDefstr2,C.conDefstr6 from JYOrder_sub A '); + sql.Add('inner join JYOrder_Main B on B.mainID=A.mainID '); + sql.Add('left join JYOrderCon_Main C on C.conNO=B.conNO '); + sql.Add('where B.mainID like '''+'%'+Trim(Order_Main.fieldbyname('mainID').asstring)+'%'+''''); + Open; + IF not IsEmpty then + begin + ConNo.Text:=Trim(ADOQueryCmd.fieldbyname('ConNo').AsString); + orderNo.Text:=Trim(ADOQueryCmd.fieldbyname('orderNo').AsString); + WTNO.Text:='WT_'+Trim(ADOQueryCmd.fieldbyname('ConNo').AsString); + CustomerNoName.Text:=Trim(ADOQueryCmd.fieldbyname('CustomerNoName').AsString); + CustomerNoName.TxtCode:=Trim(ADOQueryCmd.fieldbyname('CustomerNo').AsString); + DLYDate.DateTime:=ADOQueryCmd.fieldbyname('DLYDate').AsDateTime; + ConPerson1.Text:=Trim(ADOQueryCmd.fieldbyname('ConPerson2').AsString); + KHCONNO.Text:=Trim(ADOQueryCmd.fieldbyname('KHCONNO').AsString); + ConPerson2.Text:=Trim(ADOQueryCmd.fieldbyname('ConPerson3').AsString); + conDefstr1.Text:=Trim(ADOQueryCmd.fieldbyname('conDefstr2').AsString); + end; + Order_Sub.EmptyDataSet; + with ADOQueryCmd do + begin + First; + while not Eof do + begin + with Order_Sub do + begin + Append; + FieldByName('XHNO').Value:=Trim(ADOQueryCmd.fieldbyname('XHNO').AsString); + FieldByName('PRTCode').Value:=Trim(ADOQueryCmd.fieldbyname('MPRTCode').AsString); + FieldByName('PRTCodeName').Value:=Trim(ADOQueryCmd.fieldbyname('MPRTCodeName').AsString); + FieldByName('PRTspec').Value:=Trim(ADOQueryCmd.fieldbyname('MPRTspec').AsString); + FieldByName('PRTColor').Value:=Trim(ADOQueryCmd.fieldbyname('PRTColor').AsString); + FieldByName('OrderUnit').Value:=Trim(ADOQueryCmd.fieldbyname('OrderUnit').AsString); + FieldByName('PRTPrice').Value:=ADOQueryCmd.fieldbyname('PRTPrice').AsFloat; + FieldByName('PriceUnit').Value:=Trim(ADOQueryCmd.fieldbyname('PriceUnit').AsString); + FieldByName('SordQty3').Value:=ADOQueryCmd.fieldbyname('PRTOrderQty').AsFloat; + FieldByName('SOrdDefNote4').Value:=Trim(ADOQueryCmd.fieldbyname('subID').AsString); + Post; + end; + Next; + end; + end; + end; + end; + Free; + end; +end; + +end. diff --git a/打卷检验管理/U_testdll.dfm b/打卷检验管理/U_testdll.dfm new file mode 100644 index 0000000..b1d8f4c --- /dev/null +++ b/打卷检验管理/U_testdll.dfm @@ -0,0 +1,221 @@ +object Form1: TForm1 + Left = 153 + Top = 124 + Width = 791 + Height = 554 + Caption = 'Form1' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + FormStyle = fsMDIForm + Menu = MainMenu1 + OldCreateOrder = False + WindowState = wsMaximized + OnClose = FormClose + OnResize = FormResize + PixelsPerInch = 96 + TextHeight = 13 + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 783 + Height = 25 + ButtonWidth = 57 + Caption = 'ToolBar1' + Flat = True + Images = ImageList1 + TabOrder = 0 + object Edit1: TEdit + Left = 0 + Top = 0 + Width = 81 + Height = 22 + TabOrder = 0 + Text = '1' + end + object ToolButton1: TToolButton + Left = 81 + Top = 0 + Caption = #20851#38381 + ImageIndex = 0 + OnClick = ToolButton1Click + end + object Label1: TLabel + Left = 138 + Top = 0 + Width = 79 + Height = 22 + Caption = ' DllName'#65306 + end + object DllName: TEdit + Left = 217 + Top = 0 + Width = 135 + Height = 22 + TabOrder = 1 + end + end + object MainMenu1: TMainMenu + Left = 232 + Top = 40 + object test1: TMenuItem + Caption = 'test' + OnClick = test1Click + end + end + object ImageList1: TImageList + Left = 320 + Top = 56 + Bitmap = { + 494C010101000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 0000000000003600000028000000400000001000000001002000000000000010 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000EFEFEF000000 + 0000EFEFEF00EFEFEF000000000000000000EFEFEF0000000000000000000000 + 0000EFEFEF00EFEFEF0000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000EFEFEF0000000000EFEFEF00EFEFEF0000000000EFEFEF00000000008080 + 00008080000000000000C0C0C000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000EFEFEF00EFEFEF000000 + 0000EFEFEF00EFEFEF000000000000000000C0C0C00000000000000000008080 + 00008080000080800000EFEFEF00EFEFEF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000EFEFEF0000000000000000000000000000000000000000008080 + 0000808000008080000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000EFEFEF0000000000808080008080800080808000000000008080 + 0000808000008080000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000008080000000000000808080008080800080808000000000008080 + 0000000000008080000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000EFEFEF00EFEF + EF0000000000FFFF000080800000000000008080800080808000000000000000 + 0000000000008080000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000FFFF0000FFFF0000808000000000000080808000000000008080 + 0000000000008080000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000808000008080 + 000080800000FFFF0000FFFF0000FFFF00000000000080808000000000008080 + 0000808000008080000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000FFFF0000FFFF + 0000FFFF0000FFFF000000000000FFFF00000000000080808000000000008080 + 0000808000008080000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000FFFF0000FFFF0000FFFF00000000000080808000000000008080 + 0000808000008080000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000808000000000000080808000808080008080800080808000FFFF + 0000808000008080000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000808080008080800080808000808080000000 + 0000808000008080000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000424D3E000000000000003E000000 + 2800000040000000100000000100010000000000800000000000000000000000 + 000000000000000000000000FFFFFF00FFFF000000000000D343000000000000 + F4810000000000009340000000000000F801000000000000F001000000000000 + F001000000000000C001000000000000C001000000000000C001000000000000 + C201000000000000C001000000000000F001000000000000F001000000000000 + FC03000000000000FFFF00000000000000000000000000000000000000000000 + 000000000000} + end + object ADOConnection1: TADOConnection + ConnectionString = + 'Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ' + + 'ID=sa;Initial Catalog=rzdata;Data Source=6GMFFMYKYMJDZW7' + LoginPrompt = False + Provider = 'SQLOLEDB.1' + Left = 408 + Top = 64 + end +end diff --git a/打卷检验管理/U_testdll.pas b/打卷检验管理/U_testdll.pas new file mode 100644 index 0000000..e602573 --- /dev/null +++ b/打卷检验管理/U_testdll.pas @@ -0,0 +1,106 @@ +unit U_testdll; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, ExtCtrls, StdCtrls, Menus, ToolWin, ComCtrls, ImgList, DB, ADODB; + +type + TForm1 = class(TForm) + MainMenu1: TMainMenu; + test1: TMenuItem; + ToolBar1: TToolBar; + Edit1: TEdit; + ToolButton1: TToolButton; + ImageList1: TImageList; + ADOConnection1: TADOConnection; + DllName: TEdit; + Label1: TLabel; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure test1Click(Sender: TObject); + procedure ToolButton1Click(Sender: TObject); + procedure FormResize(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + end; + +var + Form1: TForm1; + newh:hwnd; + +implementation + +{$R *.dfm} + +procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); +begin + sendmessage(newh,1034,4,0); + action:=cafree; +end; + +procedure TForm1.test1Click(Sender: TObject); +type + TMyFunc = function(App:Tapplication; FormH:hwnd; FormID:integer; + Language: integer; WinStyle:integer; + GCode: Pchar; GName: Pchar; DataBase:Pchar;Title:PChar; + Parameters1:PChar;Parameters2:PChar;Parameters3:PChar;Parameters4:PChar; + Parameters5:PChar;Parameters6:PChar;Parameters7:PChar;Parameters8:PChar; + Parameters9:PChar;Parameters10:PChar;DataBaseStr:PChar):hwnd;stdcall; +var + Tf: TMyFunc; + Tp: TFarProc; + Th:Thandle; +begin + //̬ + //newh:=getForm(Application,1,ADOConnection1,PChar('sa'),PChar('dsa')); + + //̬ + // showMessage(intTostr(application.Handle)); + Th := LoadLibrary('TradeManage.dll'); + if Th > 0 then + begin + try + Tp := GetProcAddress(Th, 'GetDllForm'); + if Tp <> nil then + begin + Tf := TMyFunc(Tp); + newh:=Tf(Application,0,strToint(edit1.text),0,0, + PChar('sa'), + PChar('dsa'), + PChar('bsa'), + PChar('tsa'), + PChar('d1sa'), + PChar('d2sa'), + '','','','','','','','','' + ); + end + else + begin + ShowMessage('ӡִд'); + end; + finally + // FreeLibrary(); + end; + end + else + begin + ShowMessage('Ҳ'+Trim(DllName.Text)); + end; + +end; + +procedure TForm1.ToolButton1Click(Sender: TObject); +begin + close; +end; + +procedure TForm1.FormResize(Sender: TObject); +begin + sendmessage(newh,1034,1,0); +end; + +end. + diff --git a/打卷检验管理/WFBOrder.cfg b/打卷检验管理/WFBOrder.cfg new file mode 100644 index 0000000..08e3903 --- /dev/null +++ b/打卷检验管理/WFBOrder.cfg @@ -0,0 +1,42 @@ +-$A8 +-$B- +-$C+ +-$D+ +-$E- +-$F- +-$G+ +-$H+ +-$I+ +-$J- +-$K- +-$L+ +-$M- +-$N+ +-$O+ +-$P+ +-$Q- +-$R- +-$S- +-$T- +-$U- +-$V+ +-$W- +-$X+ +-$YD +-$Z1 +-cg +-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +-H+ +-W+ +-M +-$M16384,1048576 +-K$00400000 +-LE"c:\program files\borland\delphi7\Projects\Bpl" +-LN"c:\program files\borland\delphi7\Projects\Bpl" +-U"D:\ͨERP" +-O"D:\ͨERP" +-I"D:\ͨERP" +-R"D:\ͨERP" +-w-UNSAFE_TYPE +-w-UNSAFE_CODE +-w-UNSAFE_CAST diff --git a/打卷检验管理/WFBOrder.dof b/打卷检验管理/WFBOrder.dof new file mode 100644 index 0000000..1b7a527 --- /dev/null +++ b/打卷检验管理/WFBOrder.dof @@ -0,0 +1,138 @@ +[FileVersion] +Version=7.0 +[Compiler] +A=8 +B=0 +C=1 +D=1 +E=0 +F=0 +G=1 +H=1 +I=1 +J=0 +K=0 +L=1 +M=0 +N=1 +O=1 +P=1 +Q=0 +R=0 +S=0 +T=0 +U=0 +V=1 +W=0 +X=1 +Y=1 +Z=1 +ShowHints=1 +ShowWarnings=1 +UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +NamespacePrefix= +SymbolDeprecated=1 +SymbolLibrary=1 +SymbolPlatform=1 +UnitLibrary=1 +UnitPlatform=1 +UnitDeprecated=1 +HResultCompat=1 +HidingMember=1 +HiddenVirtual=1 +Garbage=1 +BoundsError=1 +ZeroNilCompat=1 +StringConstTruncated=1 +ForLoopVarVarPar=1 +TypedConstVarPar=1 +AsgToTypedConst=1 +CaseLabelRange=1 +ForVariable=1 +ConstructingAbstract=1 +ComparisonFalse=1 +ComparisonTrue=1 +ComparingSignedUnsigned=1 +CombiningSignedUnsigned=1 +UnsupportedConstruct=1 +FileOpen=1 +FileOpenUnitSrc=1 +BadGlobalSymbol=1 +DuplicateConstructorDestructor=1 +InvalidDirective=1 +PackageNoLink=1 +PackageThreadVar=1 +ImplicitImport=1 +HPPEMITIgnored=1 +NoRetVal=1 +UseBeforeDef=1 +ForLoopVarUndef=1 +UnitNameMismatch=1 +NoCFGFileFound=1 +MessageDirective=1 +ImplicitVariants=1 +UnicodeToLocale=1 +LocaleToUnicode=1 +ImagebaseMultiple=1 +SuspiciousTypecast=1 +PrivatePropAccessor=1 +UnsafeType=0 +UnsafeCode=0 +UnsafeCast=0 +[Linker] +MapFile=0 +OutputObjs=0 +ConsoleApp=1 +DebugInfo=0 +RemoteSymbols=0 +MinStackSize=16384 +MaxStackSize=1048576 +ImageBase=4194304 +ExeDescription= +[Directories] +OutputDir= +UnitOutputDir= +PackageDLLOutputDir= +PackageDCPOutputDir= +SearchPath=D:\ͨERP +Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;dclOffice2k;Rave50CLX;Rave50VCL +Conditionals= +DebugSourceDirs= +UsePackages=0 +[Parameters] +RunParams= +HostApplication=D:\selfware_83398\selfware\ֿ\Ŀ\self\޷IJ\testDll.exe +Launcher= +UseLauncher=0 +DebugCWD= +[Language] +ActiveLang= +ProjectLang= +RootDir= +[Version Info] +IncludeVerInfo=0 +AutoIncBuild=0 +MajorVer=1 +MinorVer=0 +Release=0 +Build=0 +Debug=0 +PreRelease=0 +Special=0 +Private=0 +DLL=0 +Locale=2052 +CodePage=936 +[Version Info Keys] +CompanyName= +FileDescription= +FileVersion=1.0.0.0 +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion=1.0.0.0 +Comments= +[Excluded Packages] +c:\program files\borland\delphi7\Bin\DBWEBXPRT.BPL=Borland Web Wizard Package diff --git a/打卷检验管理/WFBOrder.res b/打卷检验管理/WFBOrder.res new file mode 100644 index 0000000000000000000000000000000000000000..2d6f24c3d9a870364649288b1c0306b551768325 GIT binary patch literal 876 zcmaJ=Jx{|h5Pc?9%tTwkz(g}L7BMg|6oiDt01W(ruz1OWgw!H+AXAn~{FzE^Brlox z9gK_}J0Q&SIVr99IQ9AN-MzD~Rtx|M;amX24SU~e>Jc?cYMoANyAd5SNQg5+p~aQP zp5HA8_(Prt$CV+GqpB(v{1D!`;JAjld@@+K+i61a|MTdsd{~!%b1ms_KJEh}cpe(` z6jA?@e29>sU}iiwp;b>~TL@2U!O)h%Yr)7`8+a;b=@mD^tI-VbODr7!U{0?gh%d@~e3Ro)^HNMvvU1UHt)HYrq~&L`&fQ16Y1SeYiaObZ>3v kZ4W@7aBc_JIL8%khzs1(H@5yR{A*B1l9s#*|B4j80N@tIJOBUy literal 0 HcmV?d00001 diff --git a/打卷检验管理/WFBProduction.cfg b/打卷检验管理/WFBProduction.cfg new file mode 100644 index 0000000..6c57635 --- /dev/null +++ b/打卷检验管理/WFBProduction.cfg @@ -0,0 +1,38 @@ +-$A8 +-$B- +-$C+ +-$D+ +-$E- +-$F- +-$G+ +-$H+ +-$I+ +-$J- +-$K- +-$L+ +-$M- +-$N+ +-$O+ +-$P+ +-$Q- +-$R- +-$S- +-$T- +-$U- +-$V+ +-$W- +-$X+ +-$YD +-$Z1 +-cg +-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +-H+ +-W+ +-M +-$M16384,1048576 +-K$00400000 +-LE"c:\program files\borland\delphi7\Projects\Bpl" +-LN"c:\program files\borland\delphi7\Projects\Bpl" +-w-UNSAFE_TYPE +-w-UNSAFE_CODE +-w-UNSAFE_CAST diff --git a/打卷检验管理/WFBProduction.dof b/打卷检验管理/WFBProduction.dof new file mode 100644 index 0000000..7640062 --- /dev/null +++ b/打卷检验管理/WFBProduction.dof @@ -0,0 +1,141 @@ +[FileVersion] +Version=7.0 +[Compiler] +A=8 +B=0 +C=1 +D=1 +E=0 +F=0 +G=1 +H=1 +I=1 +J=0 +K=0 +L=1 +M=0 +N=1 +O=1 +P=1 +Q=0 +R=0 +S=0 +T=0 +U=0 +V=1 +W=0 +X=1 +Y=1 +Z=1 +ShowHints=1 +ShowWarnings=1 +UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +NamespacePrefix= +SymbolDeprecated=1 +SymbolLibrary=1 +SymbolPlatform=1 +UnitLibrary=1 +UnitPlatform=1 +UnitDeprecated=1 +HResultCompat=1 +HidingMember=1 +HiddenVirtual=1 +Garbage=1 +BoundsError=1 +ZeroNilCompat=1 +StringConstTruncated=1 +ForLoopVarVarPar=1 +TypedConstVarPar=1 +AsgToTypedConst=1 +CaseLabelRange=1 +ForVariable=1 +ConstructingAbstract=1 +ComparisonFalse=1 +ComparisonTrue=1 +ComparingSignedUnsigned=1 +CombiningSignedUnsigned=1 +UnsupportedConstruct=1 +FileOpen=1 +FileOpenUnitSrc=1 +BadGlobalSymbol=1 +DuplicateConstructorDestructor=1 +InvalidDirective=1 +PackageNoLink=1 +PackageThreadVar=1 +ImplicitImport=1 +HPPEMITIgnored=1 +NoRetVal=1 +UseBeforeDef=1 +ForLoopVarUndef=1 +UnitNameMismatch=1 +NoCFGFileFound=1 +MessageDirective=1 +ImplicitVariants=1 +UnicodeToLocale=1 +LocaleToUnicode=1 +ImagebaseMultiple=1 +SuspiciousTypecast=1 +PrivatePropAccessor=1 +UnsafeType=0 +UnsafeCode=0 +UnsafeCast=0 +[Linker] +MapFile=0 +OutputObjs=0 +ConsoleApp=1 +DebugInfo=0 +RemoteSymbols=0 +MinStackSize=16384 +MaxStackSize=1048576 +ImageBase=4194304 +ExeDescription= +[Directories] +OutputDir= +UnitOutputDir= +PackageDLLOutputDir= +PackageDCPOutputDir= +SearchPath= +Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;dclOffice2k;Rave50CLX;Rave50VCL +Conditionals= +DebugSourceDirs= +UsePackages=0 +[Parameters] +RunParams= +HostApplication=D:\selfware_83398\selfware\ֿ\Ŀ\self\޷IJ\testDll.exe +Launcher= +UseLauncher=0 +DebugCWD= +[Language] +ActiveLang= +ProjectLang= +RootDir= +[Version Info] +IncludeVerInfo=0 +AutoIncBuild=0 +MajorVer=1 +MinorVer=0 +Release=0 +Build=0 +Debug=0 +PreRelease=0 +Special=0 +Private=0 +DLL=0 +Locale=2052 +CodePage=936 +[Version Info Keys] +CompanyName= +FileDescription= +FileVersion=1.0.0.0 +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion=1.0.0.0 +Comments= +[Excluded Packages] +c:\program files\borland\delphi7\Bin\DBWEBXPRT.BPL=Borland Web Wizard Package +[HistoryLists\hlUnitAliases] +Count=1 +Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; diff --git a/打卷检验管理/WFBProduction.res b/打卷检验管理/WFBProduction.res new file mode 100644 index 0000000000000000000000000000000000000000..2d6f24c3d9a870364649288b1c0306b551768325 GIT binary patch literal 876 zcmaJ=Jx{|h5Pc?9%tTwkz(g}L7BMg|6oiDt01W(ruz1OWgw!H+AXAn~{FzE^Brlox z9gK_}J0Q&SIVr99IQ9AN-MzD~Rtx|M;amX24SU~e>Jc?cYMoANyAd5SNQg5+p~aQP zp5HA8_(Prt$CV+GqpB(v{1D!`;JAjld@@+K+i61a|MTdsd{~!%b1ms_KJEh}cpe(` z6jA?@e29>sU}iiwp;b>~TL@2U!O)h%Yr)7`8+a;b=@mD^tI-VbODr7!U{0?gh%d@~e3Ro)^HNMvvU1UHt)HYrq~&L`&fQ16Y1SeYiaObZ>3v kZ4W@7aBc_JIL8%khzs1(H@5yR{A*B1l9s#*|B4j80N@tIJOBUy literal 0 HcmV?d00001 diff --git a/打卷检验管理/getpic.dfm b/打卷检验管理/getpic.dfm new file mode 100644 index 0000000..ce0ba36 --- /dev/null +++ b/打卷检验管理/getpic.dfm @@ -0,0 +1,157 @@ +object FormGetPic: TFormGetPic + Left = 244 + Top = 118 + BorderIcons = [biSystemMenu] + BorderStyle = bsSingle + Caption = #33719#21462#22270#29255 + ClientHeight = 449 + ClientWidth = 670 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + Position = poDesktopCenter + OnCreate = FormCreate + OnDestroy = FormDestroy + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object Image2: TImage + Left = 464 + Top = 8 + Width = 160 + Height = 120 + end + object SpeedButton1: TSpeedButton + Left = 500 + Top = 334 + Width = 80 + Height = 22 + Caption = #25171#24320#22270#29255'...' + OnClick = SpeedButton1Click + end + object SpeedButton2: TSpeedButton + Left = 500 + Top = 380 + Width = 80 + Height = 22 + Caption = #30830#23450 + Enabled = False + OnClick = SpeedButton2Click + end + object SpeedButton3: TSpeedButton + Left = 500 + Top = 426 + Width = 80 + Height = 22 + Caption = #25918#24323 + OnClick = SpeedButton3Click + end + object SpeedButton4: TSpeedButton + Left = 500 + Top = 358 + Width = 80 + Height = 22 + Caption = #22270#29255#21478#23384'...' + OnClick = SpeedButton4Click + end + object SpeedButton5: TSpeedButton + Left = 500 + Top = 404 + Width = 80 + Height = 22 + Caption = #21024#38500 + OnClick = SpeedButton5Click + end + object ScrollBox1: TScrollBox + Left = 5 + Top = 5 + Width = 440 + Height = 440 + HorzScrollBar.Visible = False + VertScrollBar.Visible = False + TabOrder = 0 + object Image1: TImage + Left = 0 + Top = 0 + Width = 437 + Height = 436 + Cursor = crSizeAll + AutoSize = True + Center = True + IncrementalDisplay = True + OnMouseDown = Image1MouseDown + OnMouseMove = Image1MouseMove + end + end + object Button1: TButton + Left = 464 + Top = 252 + Width = 81 + Height = 21 + Caption = #25171#24320#25668#20687#22836 + TabOrder = 1 + OnClick = Button1Click + end + object Button2: TButton + Left = 560 + Top = 252 + Width = 81 + Height = 21 + Caption = #25235#22270 + TabOrder = 2 + OnClick = Button2Click + end + object Twain: TDelphiTwain + OnTwainAcquire = TwainTwainAcquire + TransferMode = ttmMemory + SourceCount = 0 + Info.MajorVersion = 1 + Info.MinorVersion = 0 + Info.Language = tlUserLocale + Info.CountryCode = 1 + Info.Groups = [tgControl, tgImage] + Info.VersionInfo = 'Application name' + Info.Manufacturer = 'Application manufacturer' + Info.ProductFamily = 'App product family' + Info.ProductName = 'App product name' + LibraryLoaded = False + SourceManagerLoaded = False + Left = 518 + Top = 160 + end + object OpenPictureDialog1: TOpenPictureDialog + DefaultExt = 'jpg' + Filter = 'JPEG '#22270#24418#25991#20214' (*.jpg)|*.jpg' + Left = 568 + Top = 152 + end + object ADOQuery1: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 504 + Top = 280 + end + object SaveDialog1: TSavePictureDialog + Filter = 'JPG'#22270#29255#26684#24335' (*.JPG)|*.JPG' + Left = 568 + Top = 299 + end + object adoqueryImage: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 488 + Top = 184 + end + object IdFTP1: TIdFTP + MaxLineAction = maException + ReadTimeout = 0 + ProxySettings.ProxyType = fpcmNone + ProxySettings.Port = 0 + Left = 500 + Top = 198 + end +end diff --git a/打卷检验管理/getpic.pas b/打卷检验管理/getpic.pas new file mode 100644 index 0000000..4a22a13 --- /dev/null +++ b/打卷检验管理/getpic.pas @@ -0,0 +1,595 @@ +unit getpic; + +interface + +uses + Windows, Messages, SysUtils, strUtils,Variants, Classes, Graphics, Controls, Forms, + Dialogs, ComCtrls, ToolWin, ExtCtrls, jpeg, IniFiles, ExtDlgs, + DelphiTwain, Buttons, StdCtrls, DB, ADODB, IdBaseComponent, IdComponent, + IdTCPConnection, IdTCPClient, IdFTP; + +type + TFormGetPic = class(TForm) + Twain: TDelphiTwain; + ScrollBox1: TScrollBox; + Image1: TImage; + OpenPictureDialog1: TOpenPictureDialog; + Image2: TImage; + SpeedButton1: TSpeedButton; + SpeedButton2: TSpeedButton; + SpeedButton3: TSpeedButton; + Button1: TButton; + Button2: TButton; + ADOQuery1: TADOQuery; + SpeedButton4: TSpeedButton; + SaveDialog1: TSavePictureDialog; + adoqueryImage: TADOQuery; + IdFTP1: TIdFTP; + SpeedButton5: TSpeedButton; + procedure ToolButton1Click(Sender: TObject); + procedure ToolButton3Click(Sender: TObject); + procedure TwainTwainAcquire(Sender: TObject; const Index: Integer; + Image: TBitmap; var Cancel: Boolean); + procedure FormShow(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure FormDestroy(Sender: TObject); + procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, + Y: Integer); + procedure SpeedButton1Click(Sender: TObject); + procedure SpeedButton2Click(Sender: TObject); + procedure SpeedButton3Click(Sender: TObject); + procedure Button1Click(Sender: TObject); + procedure Button2Click(Sender: TObject); + procedure SpeedButton4Click(Sender: TObject); + procedure Initimage(); + procedure SpeedButton5Click(Sender: TObject); + private + hWndC : THandle; + CapturingAVI : bool; + { Private declarations } + ClickPos: TPoint; + SelectedSource, PicLeft, PicTop, PicWidth, PicHeight: Integer; + procedure CreThumb(Width, Height: Integer); + function SaveImage():Boolean; + public + FilePath:string; + FileName:string; + FTFType:string; + pat1:string; + pic1:string; + fkeyNo:string; + fFlileFlag:string; + { Public declarations } + MyJpeg: TJPEGImage; +// JPStream: TMemoryStream; + end; + +var + FormGetPic: TFormGetPic; + +implementation +uses U_DataLink,U_Fun10; +const WM_CAP_START = WM_USER; +const WM_CAP_STOP = WM_CAP_START + 68; +const WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10; +const WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11; +const WM_CAP_SAVEDIB = WM_CAP_START + 25; +const WM_CAP_GRAB_FRAME = WM_CAP_START + 60; +const WM_CAP_SEQUENCE = WM_CAP_START + 62; +const WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START + 20; +const WM_CAP_SEQUENCE_NOFILE =WM_CAP_START+ 63 ; +const WM_CAP_SET_OVERLAY =WM_CAP_START+ 51 ; +const WM_CAP_SET_PREVIEW =WM_CAP_START+ 50 ; +const WM_CAP_SET_CALLBACK_VIDEOSTREAM = WM_CAP_START +6; +const WM_CAP_SET_CALLBACK_ERROR=WM_CAP_START +2; +const WM_CAP_SET_CALLBACK_STATUSA= WM_CAP_START +3; +const WM_CAP_SET_CALLBACK_FRAME= WM_CAP_START +5; +const WM_CAP_SET_SCALE=WM_CAP_START+ 53 ; +const WM_CAP_SET_PREVIEWRATE=WM_CAP_START+ 52 ; +function capCreateCaptureWindowA(lpszWindowName : PCHAR; +dwStyle : longint; +x : integer; +y : integer; +nWidth : integer; +nHeight : integer; +ParentWin : HWND; +nId : integer): HWND; +STDCALL EXTERNAL 'AVICAP32.DLL'; + +{$R *.dfm} + +procedure TFormGetPic.Initimage(); +var + jpg:TJpegImage; + myStream: TADOBlobStream; + sFieldName:string; + JPStream: TMemoryStream; +begin + jpg:=TJpegImage.Create(); + JPStream := TMemoryStream.Create; + try + + with adoqueryImage do + begin + close; + sql.Clear; + sql.Add('select * from TP_File where WBID='+quotedstr(trim(fkeyNo))); + open; + IF not IsEmpty then + begin + IF not fieldbyname(pic1).IsNull then + begin + myStream:=tadoblobstream.Create(tblobfield(adoqueryImage.fieldbyname(pic1)),bmread); + jpg.LoadFromStream(myStream); + Image2.Picture.Assign(jpg); + myStream.Free; + + try + IdFTP1.Host := ReadINIFileStr('SYSTEMSET.INI','SERVER','ַ','127.0.0.1'); + IdFTP1.Username := 'three'; + IdFTP1.Password := '641010'; + IdFTP1.Connect(); + except + ; + end; + + JPStream.Clear; + if IdFTP1.Connected then + begin + try + IdFTP1.Get(fFlileFlag+'\'+ Trim(fieldbyname(pat1).AsString), JPStream); + except + Application.MessageBox('ͻͼļ', 'ʾ', MB_ICONWARNING); + IdFTP1.Quit; + Exit; + end; + end + else + begin + Application.MessageBox('޷ļ', 'ʾ', MB_ICONWARNING); + IdFTP1.Quit; + Exit; + end; + + if IdFTP1.Connected then IdFTP1.Quit; + JPStream.Position := 0; + jpg.LoadFromStream(JPStream); + Image1.Picture.Assign(jpg); + end; + end; + end; + finally + jpg.free; + JPStream.Free; + end; +end; + +function TFormGetPic.SaveImage():Boolean; +var + myStream: TADOBlobStream; + maxNo:string; + fNewFileName:string; +begin + fNewFileName:=formatdatetime('yyyyMMddhhnnsszzz',now())+ExtractFileExt(FilePath); + IF fkeyNO='' then fkeyNO:=fNewFileName; + result:=false; + try + with adoqueryImage do + begin + close; + sql.Clear; + sql.Add('select * from TP_File where WBID='+quotedstr(trim(fkeyNo))); + sql.Add('and TFType='+quotedstr(trim(FTFType))); + open; + if RecordCount<=0 then + begin + Append; + if GetLSNo(ADOQuery1,maxNo,'FJ','TP_File',4,1)=False then + begin + Application.MessageBox('ȡʧܣ','ʾ',0); + Exit; + end; + fieldByName('TFID').AsString := maxNo; + fieldByName('WBID').AsString := fkeyNO; + end + else + begin + edit; + end; + fieldByName(pat1).AsString :=trim(fNewFileName); + fieldByName('Filler').AsString :=trim(dName); + fieldByName('TFType').AsString :=trim(FTFType); + myStream := TADOBlobStream.Create(TBlobField(FieldByName(pic1)), bmWrite); + MyJpeg.Assign(Image2.Picture.Graphic); + MyJpeg.SaveToStream(myStream); + myStream.Free; + Post; + end; + + if FilePath <> '' then + begin + try + IdFTP1.Host := ReadINIFileStr('SYSTEMSET.INI','SERVER','ַ','127.0.0.1'); + IdFTP1.Username := 'three'; + IdFTP1.Password := '641010'; + IdFTP1.Connect(); + IdFTP1.Put(FilePath, fFlileFlag+'\' + Trim(fNewFileName)); + IdFTP1.Quit; + except + IdFTP1.Quit; + Application.MessageBox('ϴͻͼļʧܣļ', 'ʾ', MB_ICONWARNING); + end; + end; + IdFTP1.Quit; + + result:=true; + except + myStream.Free; + end; +end; + +procedure TFormGetPic.ToolButton1Click(Sender: TObject); +var + Ini: TIniFile; +begin + if Twain.LoadLibrary then + begin + {Load source manager} + Twain.SourceManagerLoaded := TRUE; + {Allow user to select source} + SelectedSource := Twain.SelectSource; + if SelectedSource <> -1 then + begin + Ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'scanner.ini'); + try + Ini.WriteInteger( 'SCANNER', 'Scanner', SelectedSource); + finally + Ini.Free; + end; + end {if SelectedSource <> -1} + end + else + ShowMessage('δװɨ'); +end; + +procedure TFormGetPic.ToolButton3Click(Sender: TObject); +begin + if Twain.LoadLibrary then + begin + {Load source manager} + Twain.SourceManagerLoaded := TRUE; + + if SelectedSource <> -1 then + begin + {Load source, select transference method and enable (display interface)} + Twain.Source[SelectedSource].Loaded := TRUE; + Twain.Source[SelectedSource].SetICapUnits(tuInches); + Twain.Source[SelectedSource].SetImagelayoutFrame(PicLeft/25.4, PicTop/25.4, (PicLeft+PicWidth)/25.4, (PicTop+PicHeight)/25.4); + Twain.Source[SelectedSource].SetIYResolution(200); + Twain.Source[SelectedSource].SetIXResolution(200); + Twain.Source[SelectedSource].TransferMode := ttmMemory; + Twain.Source[SelectedSource].EnableSource(FALSE, TRUE); + while Twain.Source[SelectedSource].Enabled do Application.ProcessMessages; + end; {if SelectedSource <> -1} +// Twain.UnloadLibrary; + end + else + ShowMessage('δװɨ'); +end; + +procedure TFormGetPic.TwainTwainAcquire(Sender: TObject; + const Index: Integer; Image: TBitmap; var Cancel: Boolean); +begin + Image1.Picture.Assign(Image); + Cancel := TRUE; + CreThumb(150, 150); + SpeedButton2.Enabled := TRUE; +end; + +procedure TFormGetPic.FormShow(Sender: TObject); +var + Ini: TIniFile; +begin + { Ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'scanner.ini'); + try + SelectedSource := Ini.ReadInteger( 'SCANNER', 'Scanner', 0); + PicLeft := Ini.ReadInteger( 'SCANNER', 'Left', 0); + PicTop := Ini.ReadInteger( 'SCANNER', 'Top', 0); + PicWidth := Ini.ReadInteger( 'SCANNER', 'Width', 100); + PicHeight := Ini.ReadInteger( 'SCANNER', 'Height', 100); + finally + Ini.Free; + end; } + Initimage(); +end; + +{ +procedure TFormGetPic.ToolButton6Click(Sender: TObject); +var + Ini: TIniFile; +begin + FormGetPos := TFormGetPos.Create(Self); + FormGetPos.SpinEdit1.Value := PicLeft; + FormGetPos.SpinEdit2.Value := PicTop; + FormGetPos.SpinEdit3.Value := PicWidth; + FormGetPos.SpinEdit4.Value := PicHeight; + if FormGetPos.ShowModal = 1 then + begin + PicLeft := FormGetPos.SpinEdit1.Value; + PicTop := FormGetPos.SpinEdit2.Value; + PicWidth := FormGetPos.SpinEdit3.Value; + PicHeight := FormGetPos.SpinEdit4.Value; + + Ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'scanner.ini'); + try + Ini.WriteInteger( 'SCANNER', 'Left', PicLeft); + Ini.WriteInteger( 'SCANNER', 'Top', PicTop); + Ini.WriteInteger( 'SCANNER', 'Width', PicWidth); + Ini.WriteInteger( 'SCANNER', 'Height', PicHeight); + finally + Ini.Free; + end; + end; + FormGetPos.Free; +end; +} + +procedure TFormGetPic.CreThumb(Width, Height: Integer); +var + Bitmap: TBitmap; + Ratio: Double; + ARect: TRect; + AHeight, AHeightOffset: Integer; + AWidth, AWidthOffset: Integer; +begin + Bitmap := TBitmap.Create; + try + Ratio := Image1.Picture.Graphic.Width/Image1.Picture.Graphic.Height; + if Ratio > 1.333 then + begin + AHeight := Round(Width/Ratio); + AHeightOffset := (Height-AHeight) div 2; + AWidth := Width; + AWidthOffset := 0; + end + else + begin + AWidth := Round(Height*Ratio); + AWidthOffset := (Width-AWidth) div 2; + AHeight := Height; + AHeightOffset := 0; + end; + Bitmap.Width := Width; + Bitmap.Height := Height; + Bitmap.Canvas.Brush.Color := clBtnFace; + Bitmap.Canvas.FillRect(Rect(0, 0, Width, Height)); +// StretchDraw original image + ARect := Rect(AWidthOffset, AHeightOffset, AWidth+AWidthOffset, AHeight+AHeightOffset); + Bitmap.Canvas.StretchDraw(ARect, Image1.Picture.Graphic); +// Assign back to the Jpeg, and save to the file + Image2.Picture.Assign(BitMap); +// MyJpeg1.Assign(Image2.Picture.Graphic); + finally + Bitmap.Free; + end; +end; + +procedure TFormGetPic.FormCreate(Sender: TObject); +begin + MyJpeg := TJpegImage.Create; +// MyJpeg1 := TJpegImage.Create; + Button2.Enabled:=false; +end; + +procedure TFormGetPic.FormDestroy(Sender: TObject); +begin +// MyJpeg1.Free; + MyJpeg.Free; +end; + +procedure TFormGetPic.Image1MouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + ClickPos.x := X; + ClickPos.y := Y; +end; + +procedure TFormGetPic.Image1MouseMove(Sender: TObject; Shift: TShiftState; + X, Y: Integer); +var + NewPos: TPoint; +begin + {The left button was pressed} + if ssLeft in Shift then + begin + {Calculate new position} + NewPos.X := Image1.Left + x - ClickPos.x; + NewPos.Y := Image1.Top + y - ClickPos.y; + if NewPos.x + Image1.Width < ScrollBox1.Width then + NewPos.x := ScrollBox1.Width - Image1.Width; + if NewPos.y + Image1.Height < ScrollBox1.Height then + NewPos.y := ScrollBox1.Height - Image1.Height; + if NewPos.X > 0 then NewPos.X := 0; + if NewPos.Y > 0 then NewPos.Y := 0; + + Image1.Top := NewPos.Y; + Image1.Left := NewPos.X; + end {if ssLeft in Shift} +end; + +procedure TFormGetPic.SpeedButton1Click(Sender: TObject); +begin + if OpenPictureDialog1.Execute then + begin + Image1.Top := 0; + Image1.Left := 0; + Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName); + FilePath:=OpenPictureDialog1.FileName; + FileName:=ExtractFileName(FilePath); + CreThumb(240, 180); + SpeedButton2.Enabled := TRUE; + end; +end; + +procedure TFormGetPic.SpeedButton2Click(Sender: TObject); +begin + + IF SaveImage() then + begin + ModalResult := 1; + end + else + begin + application.MessageBox('ݱʧܣ','ʾϢ',0) + end; +// JPStream := TMemoryStream.Create; +// MyJPeg.Assign(Image1.Picture.Graphic); +// MyJPeg.SaveToStream(JPStream); + +end; + +procedure TFormGetPic.SpeedButton3Click(Sender: TObject); +begin + ModalResult := 2; +end; + +procedure TFormGetPic.Button1Click(Sender: TObject); +begin + hWndC := 0; + try + hWndC := capCreateCaptureWindowA('My Own Capture Window', + WS_CHILD or WS_VISIBLE , + ScrollBox1.Left, + ScrollBox1.Top, + ScrollBox1.Width, + ScrollBox1.Height, + FormGetPic.Handle, + 0); + if hWndC <> 0 then + begin + SendMessage(hWndC, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0); + SendMessage(hWndC, WM_CAP_SET_CALLBACK_ERROR, 0, 0); + SendMessage(hWndC, WM_CAP_SET_CALLBACK_STATUSA, 0, 0); + SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0); + SendMessage(hWndC, WM_CAP_SET_SCALE, 1, 0); + SendMessage(hWndC, WM_CAP_SET_PREVIEWRATE, 66, 0); + //SendMessage(hWndC, WM_CAP_SEQUENCE_NOFILE, 1, 0); + SendMessage(hWndC, WM_CAP_SET_OVERLAY, 1, 0); + SendMessage(hWndC, WM_CAP_SET_PREVIEW, 1, 0); + Button1.Enabled:=false; + Button2.Enabled:=true; + end + else + begin + application.MessageBox('ͷʧܣ','Ϣ',MB_ICONERROR); + end; + except + end; + application.ProcessMessages; +end; + +procedure TFormGetPic.Button2Click(Sender: TObject); +var + sFieldName:string; + MBMP:TBitmap; + MJPG:TJpegImage; +begin + + sFieldName:='D:\ץͼ'; + if not DirectoryExists(pchar(sFieldName)) then + CreateDirectory(pchar(sFieldName),nil); + + sFieldName:=sFieldName+'\'+formatdateTime('yyyyMMddhhnnss',SGetServerDateTime(ADOQuery1)); + + FileName:=ExtractFileName(sFieldName); + if hWndC <> 0 then + begin + SendMessage(hWndC,WM_CAP_SAVEDIB,0,longint(pchar(sFieldName+'.BMP'))); + SendMessage(hWndC, WM_CAP_DRIVER_DISCONNECT, 0, 0); + hWndC := 0; + application.ProcessMessages; + Button1.Enabled:=true; + Button2.Enabled:=false; + try + MBMP:= TBitmap.Create; + MJPG:= TJpegImage.Create; + MBMP.LoadFromFile(pchar(sFieldName+'.BMP')); + MJPG.assign(MBMP); + Image1.Picture.Bitmap.Assign(MJPG); + application.ProcessMessages; + MJPG.SaveToFile(pchar(sFieldName+'.JPG')); + CreThumb(240, 180); + finally + MBMP.Free; + MJPG.Free; + if Fileexists(pchar(sFieldName+'.BMP')) then DeleteFile(pchar(sFieldName+'.BMP')); + FilePath:=sFieldName+'.JPG'; + FileName:=ExtractFileName(FilePath); + end; + SpeedButton2.Enabled:=true; + end; +end; + +procedure TFormGetPic.SpeedButton4Click(Sender: TObject); +var + MJPG:TJpegImage; + pathFile:string; +begin + if Image1.Picture.Graphic=nil then exit; + + MJPG:= TJpegImage.Create; + try + SaveDialog1.FileName:=FileName; + if SaveDialog1.Execute then + begin + if SaveDialog1.FileName<>'' then + begin + pathFile:=trim(SaveDialog1.FileName); + + IF (RightStr(UPPERCASE(pathFile),4)<>'.JPG') and (RightStr(UPPERCASE(pathFile),5)<>'.JPEG') then + begin + pathFile:=pathFile+'.JPG'; + end; + MJPG.Assign(Image1.Picture.Graphic); + if fileexists(pathFile) then + begin + if application.MessageBox(pchar('ļ['+trim(pathFile)+']ѴڣǷҪ滻'),'ʾϢ',MB_YESNO+mb_iconinformation+MB_DEFBUTTON2)=idyes then + MJPG.SaveToFile(pathFile); + end + else + MJPG.SaveToFile(pathFile); + + end; + end; + finally + MJPG.Free; + end; +end; + +procedure TFormGetPic.SpeedButton5Click(Sender: TObject); +begin + + try + with adoqueryImage do + begin + close; + sql.Clear; + sql.Add('select * from TP_File where WBID='+quotedstr(trim(fkeyNo))); + open; + if RecordCount>0 then + begin + edit; + fieldByName(pat1).Value:=null; + FieldByName(pic1).Value:=null; + post; + Image1.Picture.Assign(nil); + Image2.Picture.Assign(nil); + end; + end; + except + end; +end; + +end. diff --git a/打卷检验管理/testDll.cfg b/打卷检验管理/testDll.cfg new file mode 100644 index 0000000..6c57635 --- /dev/null +++ b/打卷检验管理/testDll.cfg @@ -0,0 +1,38 @@ +-$A8 +-$B- +-$C+ +-$D+ +-$E- +-$F- +-$G+ +-$H+ +-$I+ +-$J- +-$K- +-$L+ +-$M- +-$N+ +-$O+ +-$P+ +-$Q- +-$R- +-$S- +-$T- +-$U- +-$V+ +-$W- +-$X+ +-$YD +-$Z1 +-cg +-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +-H+ +-W+ +-M +-$M16384,1048576 +-K$00400000 +-LE"c:\program files\borland\delphi7\Projects\Bpl" +-LN"c:\program files\borland\delphi7\Projects\Bpl" +-w-UNSAFE_TYPE +-w-UNSAFE_CODE +-w-UNSAFE_CAST diff --git a/打卷检验管理/testDll.dof b/打卷检验管理/testDll.dof new file mode 100644 index 0000000..f452c6e --- /dev/null +++ b/打卷检验管理/testDll.dof @@ -0,0 +1,136 @@ +[FileVersion] +Version=7.0 +[Compiler] +A=8 +B=0 +C=1 +D=1 +E=0 +F=0 +G=1 +H=1 +I=1 +J=0 +K=0 +L=1 +M=0 +N=1 +O=1 +P=1 +Q=0 +R=0 +S=0 +T=0 +U=0 +V=1 +W=0 +X=1 +Y=1 +Z=1 +ShowHints=1 +ShowWarnings=1 +UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +NamespacePrefix= +SymbolDeprecated=1 +SymbolLibrary=1 +SymbolPlatform=1 +UnitLibrary=1 +UnitPlatform=1 +UnitDeprecated=1 +HResultCompat=1 +HidingMember=1 +HiddenVirtual=1 +Garbage=1 +BoundsError=1 +ZeroNilCompat=1 +StringConstTruncated=1 +ForLoopVarVarPar=1 +TypedConstVarPar=1 +AsgToTypedConst=1 +CaseLabelRange=1 +ForVariable=1 +ConstructingAbstract=1 +ComparisonFalse=1 +ComparisonTrue=1 +ComparingSignedUnsigned=1 +CombiningSignedUnsigned=1 +UnsupportedConstruct=1 +FileOpen=1 +FileOpenUnitSrc=1 +BadGlobalSymbol=1 +DuplicateConstructorDestructor=1 +InvalidDirective=1 +PackageNoLink=1 +PackageThreadVar=1 +ImplicitImport=1 +HPPEMITIgnored=1 +NoRetVal=1 +UseBeforeDef=1 +ForLoopVarUndef=1 +UnitNameMismatch=1 +NoCFGFileFound=1 +MessageDirective=1 +ImplicitVariants=1 +UnicodeToLocale=1 +LocaleToUnicode=1 +ImagebaseMultiple=1 +SuspiciousTypecast=1 +PrivatePropAccessor=1 +UnsafeType=0 +UnsafeCode=0 +UnsafeCast=0 +[Linker] +MapFile=0 +OutputObjs=0 +ConsoleApp=1 +DebugInfo=0 +RemoteSymbols=0 +MinStackSize=16384 +MaxStackSize=1048576 +ImageBase=4194304 +ExeDescription= +[Directories] +OutputDir= +UnitOutputDir= +PackageDLLOutputDir= +PackageDCPOutputDir= +SearchPath= +Packages= +Conditionals= +DebugSourceDirs= +UsePackages=0 +[Parameters] +RunParams= +HostApplication=D:\selfware_83398\selfware\ֿ\Ŀ\self\·չó׹\testDll.exe +Launcher= +UseLauncher=0 +DebugCWD= +[Language] +ActiveLang= +ProjectLang= +RootDir= +[Version Info] +IncludeVerInfo=0 +AutoIncBuild=0 +MajorVer=1 +MinorVer=0 +Release=0 +Build=0 +Debug=0 +PreRelease=0 +Special=0 +Private=0 +DLL=0 +Locale=2052 +CodePage=936 +[Version Info Keys] +CompanyName= +FileDescription= +FileVersion=1.0.0.0 +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion=1.0.0.0 +Comments= diff --git a/打卷检验管理/testDll.dpr b/打卷检验管理/testDll.dpr new file mode 100644 index 0000000..4be4b8a --- /dev/null +++ b/打卷检验管理/testDll.dpr @@ -0,0 +1,14 @@ +program testDll; + +uses + Forms, + U_testdll in 'U_testdll.pas' {Form1}; + +{$R *.res} + +begin + Application.Initialize; + Application.CreateForm(TForm1, Form1); + Application.Run; +end. + diff --git a/打卷检验管理/testDll.res b/打卷检验管理/testDll.res new file mode 100644 index 0000000000000000000000000000000000000000..2d6f24c3d9a870364649288b1c0306b551768325 GIT binary patch literal 876 zcmaJ=Jx{|h5Pc?9%tTwkz(g}L7BMg|6oiDt01W(ruz1OWgw!H+AXAn~{FzE^Brlox z9gK_}J0Q&SIVr99IQ9AN-MzD~Rtx|M;amX24SU~e>Jc?cYMoANyAd5SNQg5+p~aQP zp5HA8_(Prt$CV+GqpB(v{1D!`;JAjld@@+K+i61a|MTdsd{~!%b1ms_KJEh}cpe(` z6jA?@e29>sU}iiwp;b>~TL@2U!O)h%Yr)7`8+a;b=@mD^tI-VbODr7!U{0?gh%d@~e3Ro)^HNMvvU1UHt)HYrq~&L`&fQ16Y1SeYiaObZ>3v kZ4W@7aBc_JIL8%khzs1(H@5yR{A*B1l9s#*|B4j80N@tIJOBUy literal 0 HcmV?d00001 diff --git a/打卷检验管理/复件 U_ClothContractListTP.dfm b/打卷检验管理/复件 U_ClothContractListTP.dfm new file mode 100644 index 0000000..ab8d7dc --- /dev/null +++ b/打卷检验管理/复件 U_ClothContractListTP.dfm @@ -0,0 +1,313 @@ +object FrmClothContractListTP: TFrmClothContractListTP + Left = 199 + Top = 101 + Width = 888 + Height = 490 + Caption = #22383#24067#25237#22383 + Color = clBtnFace + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + OldCreateOrder = False + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 12 + object Panel1: TPanel + Left = 0 + Top = 32 + Width = 880 + Height = 45 + Align = alTop + BevelInner = bvRaised + BevelOuter = bvLowered + Color = clSkyBlue + TabOrder = 0 + object Label1: TLabel + Left = 42 + Top = 17 + Width = 39 + Height = 12 + Caption = #35746#21333#21495 + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [fsBold] + ParentFont = False + end + object OrderNo: TEdit + Tag = 2 + Left = 97 + Top = 13 + Width = 157 + Height = 20 + ImeName = #20013#25991' ('#31616#20307') - '#25628#29399#25340#38899#36755#20837#27861 + TabOrder = 0 + OnChange = OrderNoChange + end + end + object cxGrid1: TcxGrid + Left = 0 + Top = 77 + Width = 297 + Height = 379 + Align = alLeft + TabOrder = 1 + object Tv1: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource1 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object v1OrderNo: TcxGridDBColumn + Caption = #35746#21333#21495 + DataBinding.FieldName = 'OrderNo' + HeaderAlignmentHorz = taCenter + Width = 92 + end + object v1Column2: TcxGridDBColumn + Caption = #23458#25143 + HeaderAlignmentHorz = taCenter + Width = 103 + end + object v1Column3: TcxGridDBColumn + Caption = #21697#21517 + HeaderAlignmentHorz = taCenter + Width = 97 + end + end + object cxGrid1Level1: TcxGridLevel + GridView = Tv1 + end + end + object cxGrid2: TcxGrid + Left = 297 + Top = 77 + Width = 583 + Height = 379 + Align = alClient + TabOrder = 2 + object TV2: TcxGridDBTableView + NavigatorButtons.ConfirmDelete = False + DataController.DataSource = DataSource2 + DataController.Summary.DefaultGroupSummaryItems = <> + DataController.Summary.FooterSummaryItems = < + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end + item + Kind = skSum + end> + DataController.Summary.SummaryGroups = <> + OptionsCustomize.ColumnFiltering = False + OptionsData.Editing = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + Styles.Inactive = DataLink_TradeManage.SHuangSe + Styles.IncSearch = DataLink_TradeManage.SHuangSe + Styles.Selection = DataLink_TradeManage.SHuangSe + Styles.Header = DataLink_TradeManage.Default + object TV2Column1: TcxGridDBColumn + Caption = #25968#37327 + HeaderAlignmentHorz = taCenter + Width = 113 + end + object TV2Column2: TcxGridDBColumn + Caption = #37325#37327 + HeaderAlignmentHorz = taCenter + Width = 103 + end + object TV2Column3: TcxGridDBColumn + Caption = #38271#24230 + HeaderAlignmentHorz = taCenter + Width = 102 + end + object TV2Column4: TcxGridDBColumn + Caption = #23485#24230 + HeaderAlignmentHorz = taCenter + Width = 109 + end + object TV2Column5: TcxGridDBColumn + Caption = #39640#24230 + HeaderAlignmentHorz = taCenter + Width = 117 + end + end + object cxGridLevel1: TcxGridLevel + GridView = TV2 + end + end + object ToolBar1: TToolBar + Left = 0 + Top = 0 + Width = 880 + AutoSize = True + ButtonHeight = 30 + ButtonWidth = 59 + Caption = 'ToolBar1' + Color = clSkyBlue + Flat = True + Font.Charset = GB2312_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = #23435#20307 + Font.Style = [] + Images = DataLink_TradeManage.ThreeImgList + List = True + ParentColor = False + ParentFont = False + ShowCaptions = True + TabOrder = 3 + object TBRafresh: TToolButton + Left = 0 + Top = 0 + AutoSize = True + Caption = #21047#26032 + ImageIndex = 2 + end + object TBFind: TToolButton + Left = 63 + Top = 0 + AutoSize = True + Caption = #36807#28388 + ImageIndex = 59 + OnClick = TBFindClick + end + object TBAdd: TToolButton + Left = 126 + Top = 0 + AutoSize = True + Caption = #26032#22686 + ImageIndex = 3 + end + object TBEdit: TToolButton + Left = 189 + Top = 0 + AutoSize = True + Caption = #20462#25913 + ImageIndex = 54 + end + object ToolButton1: TToolButton + Left = 252 + Top = 0 + AutoSize = True + Caption = #26597#30475 + ImageIndex = 58 + end + object TBDel: TToolButton + Left = 315 + Top = 0 + AutoSize = True + Caption = #21024#38500 + ImageIndex = 17 + end + object TBClose: TToolButton + Left = 378 + Top = 0 + AutoSize = True + Caption = #20851#38381 + ImageIndex = 55 + OnClick = TBCloseClick + end + end + object Order_Sub: TClientDataSet + Aggregates = <> + Params = <> + Left = 282 + Top = 215 + end + object Order_Main: TClientDataSet + Aggregates = <> + Params = <> + Left = 478 + Top = 201 + end + object DataSource1: TDataSource + DataSet = Order_Main + Left = 330 + Top = 196 + end + object cxGridPopupMenu1: TcxGridPopupMenu + Grid = cxGrid1 + PopupMenus = <> + Left = 393 + Top = 172 + end + object DataSource2: TDataSource + DataSet = Order_Sub + Left = 364 + Top = 201 + end + object ADOQuerySub: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 432 + Top = 192 + end + object ADOQueryMain: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 521 + Top = 200 + end + object ADOQueryCmd: TADOQuery + Connection = DataLink_TradeManage.ADOLink + Parameters = <> + Left = 578 + Top = 212 + end + object cxGridPopupMenu2: TcxGridPopupMenu + Grid = cxGrid2 + PopupMenus = <> + Left = 558 + Top = 177 + end +end

    $gotO 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
    <6H10Ln|IlBUcAN=USJI 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⩰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
    *-{m40lERVTBCv{O&N57Ekb_ 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

  • Ynmu}cuUPO{dG8Ui-kj*Diz;dJPgSHk~n-(s|iV@&v6|(cZr{l1`Iah^?hQESj z!T$zab8#SWJ*cz(U%EyyA4mo;4^qd_V=Tl5J7zm}AhD@qTE$}@fse$;l*gRM>|=h# zlOM&7D<2ad*@+I+{gDXW&(4uL1*a=}qZO_8t?_40T70R1S^6upJ^o`>H=pcB*?zEN zS>*t!0`|BA@6yBaBhj*StZA67^2s6jpfiM5O?F>-=8odU)?J)CORl`G0MUG(E-)Hk z9;}!Vjc1*9&RDnHM(OMT*)dyjn*X2|0y{0-0IPz}reyIyTmY*AOzh)#xquyU+o%D* zY)5|xziK@KJ=rxSt?UTby}LZ+;Y5%Z0cchRn&kOmfRt*OLf}l{Oh;F?1A)M&mfmIw zQ5&@aZbnq?^F=)?@HCC8J${n&*~j)sjC{yT5096sytnLtkhvx3w~zy^ucZJ!Z%E$G zAQ9%`i2CE@ltU!KKB&xnM+e{dx6&ozUmY~9kyhFD$K*P)M)}q(7pIbVl7>5C8-BAI zUrM_Bl$m{gW>+V ziywEqB6xmBV=&7?u(>T7zENeabfUSxsONNi>1o?BJnJ{hxbJ(tfC_8YE! zHasvEOq(_>7~(OdvLqhK-m$`Ch{b6ic8r%4Oz+kNYk-Xe)5qwJURaoHEd1oJa(uYN zTdaQ}n~mZpcNx1oKdTw1y8~{<+_mriySzLsdA(FC0#!LX(6E*J9ABl^+^FbT--Q_L zMMy`6j!f2jHyx|-W8vr>xGlR)?nXS|ZUW=Lrtex}Ivhxa+nV|>jZQL;^F~B2M*orR zyKO#Xg8U3M^I;-rw(*0$INi|KLuT`OGMHQR4lC|9Tej}W)MQ6@Zj47F+AZpxQB4PH zz|7gWcY z-q$E=BTn1;E|M^(0`-QtjJp8PdSx(7+~_I{FF-czje9mXe%pN`7zoal|2z)6_eLG~ z7R0&E8u==2Svxq>B&FVlb-ERV%Tf<3g_gA{;<_zj)}AiNi>Q||V4ZWB-s84dFJK_T^b(99v2J6`r?0W%lDqeQxV>2 zyaFe*L(8W{_63G=({*LH6dCDRRolbM%yA`n7Pd6{XSsR3o&+7blZyk?m7hMPQ*?YUoWM7Ep5cKc{9D19lfI5Y;LYD zrLLx*SZwEZw-)u+TZ!#uEfDN$OIqzNiohrrnYOvmeSvV|ow%*bN-*$^?e_q>3s)LS$*TKt&QCb{+xPX{_C%^_dd!s@4a*OM@^9y6ccm|5)l-WJd8j##?KUGBCA< zG5^5mT`y#WD6FmKGB3P&pDVcq5jv?Aocv!)*0STuV6T~9$04Jv?gWmjx-Zne7m5F$ zQp~^J4>(^8hry=vr85q;&Y&{iqXi@JN_-ecQ00D17yOH&khB+d@S*8`J0wCrLDBgT zLB=Lg)ntflSAqN@@+5@gBb2|2&1j)qvc!w~-vII*UpWVr8LYVEG9E$+`3{>eQ7d_( zbjg2tBh^|oqcf2ovPxifvUrFiYYeTSiBZW6OhUqkx-E zfARDqy1ghzBQPHP;AS~OD-ZjO5naZ6S;dg`oW7PFrz~Hb82R$rEp?&uEDdOhzwAAk zp9ePULHE}SgFMqggVvrR{U~dQXKfJ~=|f(HoteTjQ--}4GNBV(*nFenV-$2@>C$r= z5i|6xVtKN?OxU2}>A9jl%}xd_qUNKRUWNF#T*nL6i>D48V;?X*=Xr$)etLl6`Ju&) z<~82So($fV;0*cExFX%L%J5}%Ea`ej-M^k3c#_ufy z{BKG=TRs(uEcRPOSy^QWdK}}!-9IGlQ(6u=YdeYR!M_^dixj-A(F;-z5XYF?Y=ZD9 z7+Dk`(C%q0FiEyWJT*R_M%dg&@z|jA$Y~1w7u)U_qO2 zi66bIfDkgp0#yr-cAPq+{50!(I*gaeu{QtBkcro(R~|_DpP_vRt5K4ebRNN-r=J{Sp40^r>R_{p14Etp zVU-d>=tfaVNF%BDnmNn(tdy!B_ATg*(%clK2KqLs)hSwGl53gk&BTcVS4@v~{kz`Uk@;X%xS( zkt~w{^DIrVG{mqmZ(0^!ZfxZPyNRoqP86maK}K&rtAqr`!mgfFwS$bwXCMeFmAE*; zf&9^~;Q35INL^@%sP=e^jl0bTZCw>!$x#*wI>&++LW^S)@7X+aRQLADTdI95N!7{R z-rou!pouN3BT;OEuM4p6pcW_ca-vnSP*C`$Bpm)x5``zfFgkIa8f4HF&k=h8l#P?^ z{O4imV9YwtzlFi4_@omOv^XVTSB{=}P=gIhCRE&4sMJ3wXpGW+aajK)cVNDE| za-8^BUB->4&-=7dCZ2fylbwQVms3W*vepAjRXSk`0ti$TM)ty!3RN+P-xr={+5wCT zt+mKjqG74%S7hmdOELy+xpS{-JIPmCqqrXFxvwO+hGa%N^Gb{t)o9sN?~AQWFqsr< z-Z4tZ_9%hhxuUQxo^U*A%tANa2gZT;I(V!Jm&bP(0+6V^6;wvbE=j~ZlAjvo9c6t z2Zt4smmjyeB&!&J#<44c z;3?9MR@r?e0^Ax>m=rO(_3GL=vx6a#t1^Su^*Eu3N)XO1n* zeKfgEGbN{WFbt{xS&4-~HGg;-b}Aojy%r}NcMwq1RA1TL(I79nmObOe)A?B zIA0e*Pr5wuRACM%W8u;!;Da>EnK!W{V#yOr1)#NjF2?Ba=!xIn6@>1tG>^I$qf;X{ z2P-%Ei!0p?D|Ntu#? zYcoYRIKu;BN&KeMq^@ZKwN^}&o6DADzzI-N$r$}jP}EJJ(o0=$s3ZlbgvP0Z7lQpz zQhuLx)0;zK)xnS+3dxnfBbN!eGAQnY(N$ZRFoaER+(vDI4^+vq;$BCfucYLnj_n_beTjkcSR&zKn8Ys>ro8vPp5r z?Z*B2&a15ZenF&@Nf5Q?nnIxSm-Lc_QV2yN>wzCs-=nIOsQ-_6f8Py9s-o!4veOz9 zA8w~rw?HA^ z+$5ZKDO?9z1_UN6t2m-6*X8BD?X`=#raO{$BCWLQ0P#MKrH5jE+7T(o_km&Cc#Kie zsyBp1l*tv`J2q*7qBhkNeey#*Ok1$vQ}M+pOjTBXqHriNN?`!tQEh04)IJG#on}{& z%g=#D4~<{{YhtRHS2t)p^?8&n4}j7@8rhA(iB{IC6D3pRC6xj+egmX%`)UdGY$CwS z#o&agwY&Nl*<>rJ+Zo9?Fb0vJ6d)^+w?c?xqYglaZ`f;n-Jy# zWs<%vnTMNSNTAWSa^t)pPv6CD z81%{~PwVr|Us&|Fa%VZ%u=wOa$=!Y*9!y656sl^G?&_5`)2u^>)DE05>?leLRd$?v zxU0NNCoFmwl~BPt`1rgg)4L7lgpQI?9H=Yc{mX*r2wQEU0%GWKSGi|8QD06GL&5Rc-GB3^ESv6E99^|fM19&u%})qd_zQ`T>ajPmy?phseKgh zF90P|>XqH$-Xq4!r5mP^5RoDZ=%m`YCSexw08gPh(ZP%T?jo4&Y36rv z)`M(FWI#_NKP*(98s>JZP`q_d9+Cn+-|zK~14y^?jSS0535wy)#&iuIaXzPF?-fXb z1104`f-J4JmRC3tkO~RM#)6cmN8Ke^oY8Wqlb~fd+ICej3E6uyA*7wbpdLK;jaH&j zK^TCrSG-L4sSZ>rzX*urldI$Pt8UVU6s!FOgP*o*TH6U5?=%!f^6dKV?-s8ybT~BV zN5kV$bs%H=z#5?ilsS2jUCy=%NOI{!VQA|c9}a9QK5_@oDJwvg#H1+mA_U*SlG!F5 z(dI>IAtxc4aN}%T*7W3V)_e2Aa$cyWp)M`GA8e1u(p z!WEE;hywV`^!AZWT5=lTrLszq1>%e~uUsdHa$vlDMV6THK&x!F|Fl)Z`zv(v`k-D& z)cbMl&&KY$&q2F5JhzGyoVAku_(3Ut%iG(^FKNnQ(^ao!k~L=KK@N?YSe+$bvOyiw zXhN_X4n^FH-aP-&vi2X@gnNL5F~sX2lEi1tc%amf$jf*80PvH!c%F;#RPFT=FHY-E zKjY$s4r>9d7rV~X6K)yq{7~`czhoUQ^f09Zx$xu-m(iQBmneVrel-woGDJPfAKCvJ zh%e%7>{F*P;34Hpx^7VC8RLYm_+9dgseQ85t;IBXWlUupbP{gt$Ih z6GADgm{8bo#0hdr{5Lp%k|gfut@dbCAC876oLY1(Z`{$_KId|f>hvg{_=y{)+Yye2 zV#(UpBZ8kMJbo|@an;*a?r8P(>~N!ItqVAtFk-wAI6;PsjQBG0U&HJl{<<|bytnLP zhx59j&~K8v29MueOTf1uYB&iiPaON=ff)PgA~6#OHY_fmY9xN5B19{Beh~@iEJ>Gj z!MTHLz>Gc^5yk#1LEKw=uVa6D+b&niv3FfsG&O=L0xtg=O;$h>M61!FV*f(Y(=2(F#tR6Cp9EBwng2sOQBRI@R~qqPMNMXB?cXa7 z5@?*BX-h<_IlEoSq^lc3N-eF@#HAS61w>c-AGnEIbQv#j}iDFWanUi?f z#PR|uC3}P!w?L@&s9o#u&R@s~O}4S==l?nCi1{>^l2Up$g;ydrLT}*)xda$^^~9c5rJT^T5f-?EfS_AgIE*W54wT zi(!SfA@I~@Mo(=YvMEAko9Eqv`oVHOJyAirYokvl*j|IiE?11!XkbMzQ3El3&v$y-b@OqYFAZoE6a&A=v^R;A(QFc==!lu}n|b^9_4X{w+aA}A^cl=W z61kzRBXO#1X?;|Y>*}ssm;CJ4a{e`Q{TDrcI|0BW4Utb$HzTle)7^>J67Tb!*Q)k{ z@9n#me-Dzl-F6|Ad+jO~;%P^7=t+P2U#^HC=017T(a5DK)=?~j#A=v4!V<(_^Lm?o zH{f1`x1K)NPuAVd2`_|G+NzW$=FpPWL7cf^6LCJL>!OMZb3dNMEY*K_?KTPLl+*|8 zdb!5*kMcq-Y^bLe=hQ3nrsyxo3TTVYhLdhf$tuA9!d(;=RZQ49itmGKLVgJ$Lpp0c z66(Aan^u>bO;JWJYeY#Q5sLSal*0fG+dtXSMJX-1lAoh(S(E+Oq8ressIbosYi?K5 z$=u{v0;(W%R0H%=n^Bs|bDm%9q6~;@sKT#r5M4X&WmX8KoXS19R*y|?S5;cS z*vexhjq-U#-O!Qy#KBk?=yHB4pJP<^Z@r3-Yld`*jE=|bZeT1}B2+=n9H@`t{V#cS zNG(}FS4T_~ui+OL`M=jI6z={8_L?#4e5qAmRY$}U@f}#uwW)Zm?1%-JWWdz%N^GQF z-t?0uCx1L!B}OKb%LpE@nz8JH=D29UoWzNy{xyi$pWmk7GSPta)t>tJnq1o|{g)!F z%SB;ZhU)~us3RI7eh!@{=CM_Hkrl;!^s2Zj90(dqhZm&}r;H?eGb5IOoZ(h84}pp3 zWfJCOrlp4b+o9Rk3{PrJHA^7kLUgF$V;U?Tdx&~yLXiwY5dEGJO?tSlS0p= zhH3t{#~!OV+*Zz0dL+7>Xg&0WdEt}JeHBV)wl#D***!_3Om&&KUU}$n9JD8=Z2Q}0 z>(DGki;1AY0GQWuL?{LQnn5wcW3$=P#etYE)=WXQn~@FdcuQ*QEhA zt$#!1N~Zp7fxeGOu{M{p2G14;%@VH`UpbgPlpKs70uK%dmDWSpd@F&gJh|C{6X_pW zeCo?LZpmSj?q>X}Z-MlkVC1xsYTRS&%OZ>V2e+avH%S_j_lAWMrQynN(hiSN&#Qp# z!Ub^_bOvuytgw_Ex)Y2g!0g1pf!G(!`IlG-Vs)Hv(*jZ=DVJgE(_&CtOQ=I9kF^kO zBVb!FuZ?ZK?qx*Z93GQ%UNou#k3xJ46;Rd`_x>Pj^=;ri6kR&;zvEVo zrD@qP@z*y*$KpB-SDm>>wI3!mRJDq-n4GEz@?=#Gi+BovoluLt))F?#wK*5Xq0XBG zwE)w|4PE8bk*j@2V)~Bmp*7PMd3(^NRjZ&3N|>++OsvYP?%CsM$OPtiO@s;A;?LD^ zGI>+VvqL?fFo0I7BGG=6ED2NJM;`l_#Cshm{m4G<2Q&S-amp z&uJa7pF{h?DSMegKsrPBg_=0PDS(puF(|c~?k1cob*2y z{G@D?>PdvYSehKueukF$(SGn%PVs=6R@r{-V~H;$Vj1qWz%JBhCHg-nF{-`~`7%{a z^U2K~-Xs{g|D5bj@{-!U1NV7rW7WzwQ_q6C=Gc?N@m@mK*0WOVqvFJ72WqBxm0XB_ zdJYrMZTTDH@T^;$C8o8tE?#sg%;WTOk4He;4-hy_pScCDOHqPOfwst&f2jHk3E0&M z1lE@fu4%^5_g2P}56jErDKQ$=_wg=IC-zBWsYP>2O)qq|q^4q1>%z7HbXTy$```YM zFF){h_iZ%)8qb59P65pVbf%ycVKrsHCZqa(eTO?&mf9;;Ah&5kvyv-LPeER(VO38b zAoT5O{!LvK$bw1xrnbwd@N8O>Zyyy|t`$7d_KN$fg~|g-hB806YJ8arS1=7SnW<*Y zUe9%juCEzr;uFr=vzo#VttDAT28UWf6e3$-bgWW(Q&ET>eC_bkSQt>>?@1a8)Qcjg zno>8788SqhBN4V4;SILdiL4A(QL#}$86N zK^?5BiJD@)Am+N46oVA&fU46Vv}dF`7QJM?f4f#Uq#eHZ4im9jgR!gph!aJxX^w9} zvaa#ztJ>Vw-JJwK+I-ujb$!{AP~NWwj98ZyGhzWQg>KbXRITrp(&jmByKf<1%fBWB z?odB{^y#SpHHIKdqU>eHyBJID4MtlZMEgS#^yR8@?YJI&R&oqbCx>h=9TH!>bpHmp z$xTdt;B+cVOQf0V&W^#CERptRfHqom@~b{sVk=5i4+Hfmj>Hp#99F5Se8EFmLz zPYL>PFFsm-XzBcOtPAi@Iz7cPP?KQj3RG@~KvLXsPw4fVqzIn zqBL49bGY02dE109FEsv*|I8u;%uBn3__P&Xf*B4m!UD=FeE zHyKTW-PhoKReHJ4`Yk~D*RRIQl_hXg(p@gdH1Wadj(|xD_&hyr5&A7T^n**-#TNJO zB{V*ZUTM%uww|byh-yuj#(k-W#9D4^lx#?s&9aPnf%+*&xjY?-6VNZG(NYU?R$}=B z?#rW8v#NX7>?`r*VglA|bEmHOR-ol8fN zK>lNlYX$1>x|J$ScRF3Z5IOP*nZ^xH>zN$whm z>%SLxe^)*8+rY!J;rmqVDq}iYrT2fm?f^#V#ZBMi=lC7g08gI$b67)T=wth$YGseo z$Z87%JOp^z>f0*SVvK%KQ$jzBh<#xbv2C@aH9&pE(H1-}aaMltGfl#c%MA=+P2oJ5 zE4wsXP+uI)ks#27MvpKIN8u&eBT#U3v2mlCJb&nVqHPgZeIlLzRm)&YL3-J$B@@eL zkhNo3__dR#9T&5Lq25+na+{|XgOy2$@H(=T6r40MN}dZ*HfWo;G7VaG)%FRZdJIkU zLNnqc!NX9;PT8!cW$)3~A;%9CwR} z#JS;DP+?-u)s4J8@U8@I8A?21s3RUXmK&Q}ri0*`W6dP(@MRyXD+YNt3su(i5hg&{ zSY_0(t$E!9jdwjd_PV(l$jG2%1+fR;u5&2vgdGG&G2tEdUI@H-{6s0i-_v@-I-qJ* z`QL+hA&BbmUJznb5nbeCnzpA9&Vr8f#SCarI;#vk_07vxug)nZ4_1Ha+!8X5tsO}Z zMNxJ>q^YhU8y!k~fga4i54VgP7u}xhy1R$g0WJCdOT2c#9FPID-O8qKcVm5LWC-sR zD@q-8+}eB0KphS=-L9LW`an;%dE`*O)=zN-&%c4GS$D$xF3@&oTPT zL{_$q;rTG08Zmz_5SjXHQ2Q?S9gjF0h7MS{-<_UZpf80uIe+#WJs6MS{GFQkckp*% z8n&BTc6+!c+-Q9CDi-`bn`8m=SX3oB6jR%zWmjhqq$Ylc(>B<~TXcW9o=<7v7iZb> zDYe1h4~Zc{Xab}0I(M1kZoxl)*=ic?Wi$VYK2((OED@6J#Z+He_1tGOxFQl|NMBYg z*6az^Q&qR~SDQ^AMmDDh+%er&;CGAmyRP<|rlMlhLt<@4c0e|0#~x``0A`pHrZa;v z)cEpVvrSCPqaInS#LD3MQMj+&6cGNJ>87THZr%?-n{OnG#vcq|L34D-KCmx0lh**N zRp8Y1X=q$m4?67;-)Wz5^|TSsqIr5l1l%V(=*h^^Ej22O=b|X{&5S&mO?6F__5&^mTLJ6_R$5@Ga|eaHC;#1|HT&Z|O}1o- zi@PV;QsKX%(YFP)P1!&j3ZAUltJmp>kdH@&!&WU%;9>6?2X-6@4_h|8`meeStQwiw zCeU~F_8U&=eKPy*9e~8471vD0@()kdFP-(k4>=ofW{mt9rENAMz|f%6~9++IGr zEsJ#}x?u2)eUEa8O;b=TvRdXsG^?%}>`hq2Rbrms+7`*5y-!szapDqtJ>I?0kL=zu zBR}tSm-5E3;eFCSw?9hXl*Mt40z$F>Z_#cuLBRIk+d+AyKwj@rZwTphwa`YmcKUh- z{XBJ*zMB#&G;}-2C9!jZb{O4)=)jJBPrB%#^uiX|5YSPvQ7S7c#N1(jwB7<$W*;GM z4LRuhflZ(0*jMrW@Cju-E+67uBR-qi2ryk`G6Y<5EmM~QT_a|0k0W8sCrI$GoDv#O zJYT(lX#JM@N4`gH308#*gvItwjz;$-y!CmXX}*vC`Tuj4sh?KrXrOiF&1N_CD$Es9 zo*B|<1_iv#Lj2z-VSkj)fO#GzdDox~8r7??aRWNt*n4v8U48rm+5k9W-oz?wluo}mop$h~rWgUy*^Xwu8DQMcQw!)5Kn zciW$B+`D3}vd3vGTC9rGtN_nw#LIVRj0=dR#&7e@%*PF4+6#)^`EC4M4;Xdq9A4%w zfrgWtFWs4L#&(>Pr^gzEDk;y)+z|;yg=Cc&%noAqw(g}zL4;W%_mE(Y(U=&8?nfsr z>bFIp84K=d0vY;vm3h- z#vgut4Yd8#2n*BA4YcomJnMx(NQIu_q(tSTY2MBNvm0=TFq}4VQBYuEO${?9zk-)L zjZMXB(B)j1HBd&-InD)YC}lK`r8)uhm_!r@#vKMqJ8FeP}YRDBlO=X2#EKD-Db;5q4%ToJ} z7XnhN0|GZwPLSH{7}b=5?I8e;+aK<=lC4TUTQAV09p1gvmfUI zd4yU)Ut-Ha967KFHJ3(B+W*TZmX69O8RW|e@YB8qJzGh)wG3@r6Wazh!CkmxZW8Uk+rebJ9boe^+kkvWz7Sdqvr?nO zq5~HzP4Eo|_$Bm_Y+G|4`?mv?`XGe!(`oq7%pWi%tol{DzU*icfYuJ_`D$j^CwmE3 zyjyOOruwyh_*#QR3DfhstRzoK(%;q=))TC)fW;F9^l>8$nn3qtGck9oC$v7iD2NZH zi{J{vL(g<=1@z(m{I|n0gib7r&=~O!2d6@Gp94}xv%LSy7k9fOqQolpi|*(jZ`x`q zqYW|6<6&ZtHWm~WZV&Y9wqocQQ?BLDIu$%`mCc#QHbH7*Q13^vLvgtRqVO%UYV%bn z6QJMGAkWQzqy=0b_x6N@IA$Br32tEG)AL9K*)7t+uG?S1-=Xi%_-kx!-PYJALS;%V z$#_-ibFDddkUJZoPcU%8CeS~pCnPY6P%2H%C@Hc>fL}2k?IJWi!Vne-gpyMi-6}ER z>aLX^<^B+Z0W?HdL`_L`LGQ!B&eU*5v1&aFk!I*xCy^g*;u-ls^{-W^DK?T?15}Exz|u( zteXIbx-~|8Z=cnqLQz0@C#hyFU4EJ&`6>cwMmOKZP!{K?1N?tVCEZ}oMozv6+VsrI zjmV@IP*Lk%{1Czq8N#r&y;rTf<_lQCdt0y~WNveT1Dt)Fe~9>qOA)R8P+)R}57yvf zEC^7#zos|Dd*#+z@eh8QjzS65J5R14rV;S}2oQrpI=ZhGH8zV_yvEQ+ob0mbF&nb{ zl#sC)&v6oVCe-6+k(02`wDysxdQLt11)2*AaKFT&(lOO(4e%ZqZV8Bl8#1$=Y_X9oa}VNQ zQo7@;+gm&1k%~PiQ$U4#Byev#OS<@kssB-(tkHj?t9lwcZ*d<){k&pprT&iku$?kr z{Nl^`l%Z0Kj~IvkKx zw#Qk2QjMICwHaiWcz3f6Gt#Z}ZG#!%fqrKHc(F7jK{H0Qbi|sn{_%@G^C_X>9!2f& zle$Y%jMveQ_&yXpkxirg8Nq0Za?yx{BwHtiiwGi9mjW%W#Mlb1Q%7&}V$MOk)`{EG z#?s|9*j3*%Y#y|n7pX4ryq2`irz^r8_JqE9P;o>$lyKx=|6US){=g!eka%$LkMtNZEE-AEOxV|F(`67k|VVm=P@@2UCmP;a+QoPf2 zzRRfIVcOQm8wQ<$sS*OT`N^qZMK!zSS_^Ax!nH89t*qkw;8v|Lj1At*=>JtM->`fR z^Ez^#c|1w$k$rv-MGqA!x5i8fq1X3BmAQAf#xJ=`;Fo6$Ph`n`k0Hi`j4xYS(aqMQ ztkBkT$jJLDBEB%cH`FyQgCVh~`H0Jb_kiC5ipHbN;;pj!KJcWMnx?F9*xw4#%idxG zASr0U1iDtsJF+ioiG@Bur#oxP=sCdt#v3qtQhQDW9NFU0TS0abzbdcj!sy-`w<>t(OK zTErp=Uz0^dOJ3&{yh{A}RYxq1xLsaJP$Y6g$Jir1zRDt^SGV_NKXnNmGyD(&+>clo zUszq2+r=g?j5GOWKb`W#S140+b?HI*Yp4EaL4zU1u>YvXc_keG6Tp)ESn&z7UCGTK z+H76^indk8^Z<$Ri+j|gm}?Y&dYJ4UbcK|m_|xDGv99rWL%azF7ONRquGuHV(F;WM z=_zikD@iFS>(w8fp<6K)eL6XLv@$vY&!bNpOU(JQd6Kl}_bIsZsP{y2k&+82%R%jk z2M|CMhw~kZI(h$?RG74{x6q;%TS&N?TI-_2Z!%uRSH%2Cm1aDgTSg%%Y)#rord~T% zit9F#Rwm@kn?)fp-4h4O(9%)M3kVj6q5%=7C97tbnNJ9+t890gt43d{_(V!Q?6*Kd zEe@b_5TC9^XFPrJU$kp*P*w{{Gi2!nG>j@=z2)IoyD)*q4cUO~iXk?h(d7^}pF(_+ z-(>(*1!;8kL%x?Y1{Z_(gUtKoMpc?OQEx9ZX4^<*@k0<*L7mll=5Xn*0j~xxwwg{y zgjU&lok*~=Qt|AGi_?s*oRL%KW6AGFqR^jEtsjI;$%t z8!gm}+;l-Wxiqq}9*(R`9jXys*`ubEZ=kgO}3?NmsvzA$KSa=ugV^n+8|6F zUj+B{CRQ6=+q%={YEK7WI)>j9_8A=7x*u+=h5v#1=z^6`2e6$O-5M>xY`C%Z z#GvQ6^M)O081t%$X<9J?DOY@4x9ESzz1*P&oyoXLe(lq;>9y3OFMv z>;_Mq$?A%QqtIP!!R)}Hab=!Kt-izwT_%Oa{+M5#2`Yt=S|!3eAdMf>Gzq&3?YeFq z8jI_u-M|s)es^!$(LV!KQS*hKW`a;<(yh4Bg_=14n1kJ15*UF)(rBF4?{a7(<@tiyQo;A^8%-Jb9}i}+Kx`XT3TG9Kb7vn=Q! zvOC|+>CKRwB3}*Bi__m)J&T8G*K^LaL}87y!-R3evFw8t-b(6bQuSR*fn**#Y}s4n z=_;q9&NLRX=DZeLz99Wisjmq(rT$ugnRLBs6(+Rqf}nqd57}PNXAYg0=w;bvVgpPd zp!)zr>%1--2d3#OK+cxzt86r&5;4GH&t_y1dn;586 z4(2vNNBZRUUq`svx+*rIO0Ffg!9~zi-ms}V_m2dm?BB16X|-?_PAWD|>Xfpc2m#N& zD&%ktl4ig&UA+2=4&MsIVR)@W<#f}nD1#PQzLXE}YB$GTI*0Y>irVA~G`!}MgI5T{ z8X1$$q5l$MaHI79&Hvy|70=55Je6{(C6gu#4#N)6x$L$9A_Yw9&b5MDGb41DQk^Yx6wNYcu=^Y8c4rW0b#CkT zuAGga_S{JlmZ%Is&MZ|{>l3v@c{-H059~zUP-7L^(GKRcVG7XfJ__rkr9*8+6I=i7 z%hLzf(m3Er${2d)I6PeW0CQ*06 zTQG#OzaWSEa%-G^sQ@OEt=-WyUP2SF`&;OSwG@6BJ*Zex)Sh8TL-SvA+5(sQUkfYa zQ=^gzOvyu}R1efY~!H0(!kAnJ8R5+Wg& z`miHiU+1T6#p1C>k|2a-iHMP>fRoVafR+dy@SVn`fLhb zIgTCyuZ8R*yaC{y!LM93!FdbYk|=%69^pTTeRp`(526_DyrEt-dp?K{e(&3K`Gy6^ zl5G`i(1hz4%`vcM6}{?isSP$>^`PxkC0!0!(|WCi_^Upx?UnKn1&1ZMfrP8xaZ%hf zx{LhrlyNv87_%EYpdh!IbtPHYrlb&g5m_LA@@#&}V|le07r4-)O~?!ZLTb_91+0x| zEH08{Ms5G~9QS|DNDKA_>aG(W5qf!4;$x`pPN~I$je7mTrIvKf`bh?G-wpG17uS8H8R*;y5WO4-;5+4)5$_o zULGb|^{5pUsjs#dQ{_`x)62)SZA26&tm@)-vEA2F6OHJ&Zp=--^}a^%#DKI~vRWN~ zqGs*-d`UsU(TtZ{f{-836L-^KLXotslp?kt9~3e;g8uXEc>;6n?ZzzRbzmI2W*rvX zc|F0zLi>{uke-jP4X=|&KI@}iTzSJf486O2+gx2Hpu1F^A*YN~_K?T~#A4>P29H}8 zdZTsSSL{yCVh-O6>n|%%6inYzO=`H)SuG2`0M5S1w>#kMCj#|BdZ1l5rd_nn^^5Lk zG}?QjIgRz$`MimD{H-7Ccn6pij7%>)(6?Sub0m$|kkri78trfc>Q4dm`nZ<76k2Cq z_M-Pk4Fgf>rV6Nt?Pvub>yyzGM=W&?%Y19Mr%RFpwuf7&A<1HQ?=vobJ)942-6n4B zJ+N0Wa0_;~J4aox&g3vv%>KrAZ^aPImp~!W2VN>vo@Dh#HIV}3K<=!$UV_Hm7cWZm zQfxpy<(fpAp{%}Ly3bat1#bkzwY~v3Pg_@Du^*f${G|>Y!Qt0N7<%>qMN?@ci zMc$g9zi}71Mot;labunP-5W$!28fYwZLAG0WqBf1>c;`Hty3nw(Oh6OJ6VU71w<$mTg8%AxASd~hxR)UK1!%!(VZ}`y?AN}+O8996H`k1#p zra$1AVVIO|y~MHp`UJxsMIcHnV6e@vF12I+q>UJQ^E~Z{QPhrC$zN`U@HhhK|0l%R z;UW4skN4x^hTG1CH3nsQbPk#*$C5oeUyev9WzaD@{&Ps zJ02HwY3;-1f(;5VvTWA$g82Zc0})M>2!@_1`CNC5W*g2zlhOVrwh3x<2pcwq#p)h# zrsHB$A1|DV_?TBFx@KKTH z8;}-op?c5cuh6ZZ-?@w^YsN%8ekLaUMi=&{ELUP;wykw<>#)fw5@Gl0N`Vg#DQOqu zF0Z=3fPyk2R75pZM>M@0c3&S|sJBN^r1GD;MLEHCXXsW(93sw-34A#Dk!8|EFKivE={+=Jn{w)-BdWFLh(=ZtZb&0fPr*c1RA zOrNkX`Rt1r$z5tQQT;IVb*4HZn8^PzbP9Sg1BYdCMd~KPuIJa4RvXzkUlZ;%8+31@ z8T(}zi=qLv!~Mm-a-A16@5FVP*D{;#3Aem(FWR`LxEJ}}gn3^`<#hu7&ww;S>bs)1 zj0G7L|5q~x)w^sJ=U0V z^|ch6o*~!A9u|smWAmDrVIF3);+W7?%1V z?v#Hq+xC5FXvAB}xx*tWloxi4 zeAyUp95^7L+EYb19b&dzRLiOlk9r4U84aaST$xE=;V&(B(*8bZ1i5^_Iaj@C>DMRJ z>A0znOdl02F8~xqj~$U(WZnPo>!pL*%#5;M%-pk_D#-=P@`LkA23q2otsZ_5&!WNc zL^qwmgSpAYYT=OOKs3Y-N3iSr2b+#6VeUiYnIit1m2{;27JDi+mM-mTW^j&h#Nj{K zG3&tELLjlw*L|nrrX5Hdy1n@9K^*e=BXLfHL!o_H!{TwZ!d;ST#m$)2gQ1e2YKCHBJjCURW z|0p&5X)O9zzk9Sf?ReqPalyk%qfcdp;_KhE#sIZ1me6D|pfGT&7iih3;Bix4%sw)t zWy_bzh%;xl=@sYnWXHp_XPd(Z4GtJS6eMTnc!r3+XdueES-Z6B-tkjkf*%@iJ?t8o zI`GPeLia`&%FG80+{N4AUQ?N)x>l}PAOewVIr`2jY40Wx%U&vAI9Ir0xuQGe^AiVW z2M2MY7P@U%=Q!};lP&zE*)`?)uo<%XrGr%mO*reCy~CRirGhA~s^f|8?#gl3k&k~3 zIt>fSK0}HZ{6yzh1D>OYQ#T1QzVnKhXTQ4^27}OaHv;$+x$?vVFH~R7|JxZBcK6F^Mos=!{oIz`_tN#$8 zj$50jec5=N)X0`51y&iWCWR@wIb+WoVFB;nlcUy)tZVMGrC=W`@R$Ra38fL z7|(26y_^v2a&=7}%Msm|A_@P2$4e`?!N6g_qQmVlm@$0UL2m!|EnO#1D=o!<8HU~h zvp@H(T`zOrc@Exyro4b}|LhUHw6JwU!l>-PzQAnoG-|qM?$451;1Rf8nc>O%h@MO& zP(PdM6IgtCE@$4 zRy~c}XpV@IL!85@DCxaNlmqQV%oF)Idsb9WjQc%SrxyLM^Vm6M;yFbBt8UV1jthTl#nhW4+B?)=F~Wa)Th>9Yc8Sk>U~R z2WzHE6Wy7;SA=l?(NuerhdfNYuxB0~%)rH`K#T}6iNM97ox;lnu8anK&N2FoE#A0> z-8yN{9aszJu=CBBPlt9nD&|pZDVxx&{~H$q^^(dx-%FfsObqeb<)6e zM2}xTU3c0OmNq>GG2tOm^xwyq=ZKLw`mU7Ax?}>~COU7m;|KibG?$u*(mqwC{??&d zN>^di~1yW{tU|gfvWH60z$93`-elDk9{>ab!da`ZfD95=8Wl`3ifm>@d z211Ri_D;p0%3-CJy0_M=8sI>Z(gdHtj%9D=lFqi~WeZJ@1~Uc2!Da(Px7G_PYtvQu zYUCYd@a{3fig*`ctFJmwjE^&4aAq5gG#NF)VPI=+S-|)oF9Akv&qUznjCEQ`3hb19 z-li9LO!L5k~yldd62;PqaSf=N0~OJVp$SO z{e^~@9nxo_{ERpFk{^y)aJ`0>UglM?NY^nP8Xt@Qom??EM!V-imV2l3?gj_6~E3CARHiZ?bgmdq=Q z2b2PB0U9abbxn!mqaI~P_=YeUKQ}5K6+xB~;;tD8H{$tygM1$xMH&S+#4bLpcC>$# zWfDm!KcN)XwSUu){<92~3`)^jS1K*C<~X?j0nc^OAozjX}Y#f2<^zAq-D5EOBgh zN>ToskCt0BUL~;ykV-hUY^BeRY54oIUVOH+(AMM{&2%*&8zditPsc0nJ_}X!2K2&> zVYx>xB=|gwIWyvBLGuZo@1&oJqFdDR6ESS*@VZD@96stV$n_7NABZ(tIO6W+)nK-D z-P8Y8Tk-F35Du(~8DfuFJxS%s{eZ$&zRWobW4vh^-UfZq z!#Mv`&yev0TxkqHz&fjR|6|A+sSOcl5=bf=yEm9I` z*?lJ7jiYz(aq`o#M~X;N*~pJ4h7DI+)WctTdMqhNMr9G4Ab6ElntvtYoISN&>eyt;yiWXZm*z3hNAYyqT4~>vd91jRsIi2ZX=BX^;%U*t1+?W) zj}N%HF`1s9g)!F8JfNK2hSQAnmdBD z^fmS((vXx!RAOUHcIqt*^>5ZG2t8dI=hU3HY+zHtSK8zr_*jf{WaKxl- zt+c{FGH>;b?sMGBqGW=`PFklJt+nrjO4N$^`*{hOEl&&WRtK)-*~`5v!d9;OB9`+Y z&&tqc=ZNXzTuG{HU)y|uM!%3gxhNS>1=rwBk>BCdy8zI;g${=xVj2{5oj3N!l3|E* zu0Dqc@K_iBxNv)8{vLIvRdu}RV5I+FF)Y?|Q==0y`0YgH(#M>=mOHQ*I0Q|q1nZ+m zPtLUoi|wRSTqk4^NMQD31o_>jHAU&0-z){Bd#VBjRm#pF{hF{sMOo-id760$@6B1=m@GR>C$KJSvocX%sCi=nCGzzvt<4(%Z zX}f3L#+t<%VX4`72^tJ)@d7>oFTll1GKs+WpzdaDE{;j-Y5?PY$gtG}t!^nU-KO!E z8yN2w^#6dye&s3ivv(uHTu#IQ{5je%*wP>5Q;+G$%hBQ4{jr!0Sbz_J6Z1~D!&e!6 z3aZvl?$Y}N7JcqN+;ZqXoIK^qqi)qtIvw|Tj}O9H_-8iACgBIhIIFwWBdq5E zPJ_@)yKbbMCOWau&M=|ezcuNjb@}HGzarE<;AiGx2g{^(4$AlDZ-mquX*qGoG6YUBYH3Q&*{)wDap%^%tzL8;Qqhx|@ARLX8#yatu}f)2q#W zEu1v!$4C^j9!=H}XpZ+w>{>UotdUJWM$af!++G7foklYN*o39dSu`ch`|dM z-eAP3m!#*UMyyAZL-%|e?uK&`5DWBvOpL8DJ}m7{o#3-{pIq4WPCmYKw!shhT~sfw zgSL@y7gcZT>y_7|T!}-TH5%!K=JsATyToRh@RX1>?Hi3vVle?m5zxNI=;g&62_L48 zsFdak_0q)Toj*T3!Qh*u#D%U69p(mQ4SyAY(4#;?1KwMD&Ym&Kt=U-&VXg)JS#tO? z&e;W#QjA(I7OI^#z#{eBB>`DY$v_2fMzCfEPakWi>l=KFgn2R+%L8zdE-{huD4|h` z28`G0R%uY`@j!37`NeZYOtJ+Vyk?wb-n`QEYg-}`p)JXJ zHyeUfXgyzN6Xc9zET0Y)o{^Wz%4e{1Ji#{kn+)`AK$PzIkk%2>M9@dJi!zUXG0@l~ z#zP}HJTPjaK&vUGHzSX@1Br~$;UpHb$fq(# zu+`g8C-Wv_E(ium+my-%NqcC?EjulC6E?8WdGUeK+f5$}9oJxD*hr2*P>&~_kq@MSXqGN5Uo?jZb-X9!*~!aAJ#)^!o> zL6Mz66rI1xzmO$sJtW5aGO(h*KizWWr2~;mSzuCcT9Wez{1M9M^58QC^P3~3wV?sm z3Z>ZejsY9@J=PTHv)YyaRCLIiH+#&COvqX#wW5ojNMy@BU7eOJgat;j1@u@=z;bLk zH}E3h3#l~}8{*ok_7!WNeCoQ?0)KH`KUK;P&7@<6IcMN2E~PE9{nv=1Pb%BOjfn1u zC-UABu$ldt8k-QX;2BYI_CRxirp!1_fiE-9&>?L)?S!i5s zqF!?uVG_+4UFUJU>7WmKI3rpHq%5ngVdwRZ9XM&N4jt1Ap7aecT9^emVw?^rH19)) zBm~lHu1SAMLW%mxth2c;wb(p``ITJ!F_%aj1}8PmKdI-5D*t3^jeQ6)Puh|;v>~2^ z8$=Y*1L6ZTlkT&39u2dD%LaM?eCTJLb#<~Pr#$2Gp{2t)@90JX%=7R_1AgRdmX#^B zr}$x^L=Bq?X85^ro(0&q3Xr=DH)7aD&B}+u)+{3-gb#}5JwQL179U=j zvprCdmpX7^TaTCZigJpCNV(JHTsw^C#skz{UHCWWRY|Pvp)RJr)vTn;J8|UfXzmmM$0BX3*XQnh*PXv(A3maw=f8ctLeR2RQWV zQx+{*a=ak&v<&h|U<*kYaYd5PhX7i!eSpGb&SHxHsb;t2Dll)GT8th#x3T zYQlGSLNa!v!iajvw0LY>Q_lqW|0cQCbhV#pSVPAH7Y7s62~SR6KSUo!54#4=4eV9d zkZ|MR_J#Y*xLq=wq>d2#I=W=Zo1a`CA%qQlxxNOX5sUV2Gw2|> zw<`$53zLkvXEu&Ve0OcCSGy|wDeu~OLPB(Se`y6HMsqkjdZuKrr1J$Y92Jbl_e!1@ zT8fym-!BQRUhU%PGugW6W|P>_@zq+MI(*2mr^fn$Z=09JU=esNnv{@+0TgtFQIo=v zV_`EaVH4_w4K^Rtsc=N;fGrPF+)0+^Eh7(0%JlBoLe*Yf??om*3y-#@B6-sBmT{q# zME#~g9w~tY+tcgTKJ%vOVG1|B0h8)N9(GVB@&%zyHYYyvtSY=C)r7;nnaFf5jaDOwTcYoKyN|^983xyiPm&CfOlbKU4-*LUgw7J zJxW5(y|mS7(WLTQxfMp+a0M)n2lf`_4FflbyB)BZ92d}cg8Xj-wj-rFM?Z0}$l3&s z0&bTcvgkG-W0XtU1-5`H!xdrZwWsehV78642X6?W3#G1N|Hv3jAQxwV+plZLI>Qzh zt9nv@W5nxJv%%6=!0HRiEb zGu{OB0Jy*vVKrcP0jA(4Oba)e?x=)*=)|5)h)%=~$TZmmpNlyST_i@p~8%js>!d3B0`PP2xao^9f`a z>6vGFAA@y23V3M(dvG|E=3Zg4QE0JS;Q`)X7h%V;`>mUX&>ZhK!R5>til4|5^h0dAVkP|*-wDOq-Du{u? zC$EPz+3FCJYzpu7GH!{IVDf>sP%8r@>3I+*1#*Lh76FAp{uBHKvo11sK9|}OiQevHDKr`q zytK*ztsNr;#}aL7svFWeCr{Ljpr%mFO2bcKI}=toMf^IKLqo2L<=UpV*hj+29_4 z8&JnFp9kR7CvlyCS9$k<(*lhFSQA(W zavE+z3fXaG$_r+~2FwjmX;c%)0&weGooF3!X|4$w-D=I}5r%Jg&>9`438n*18dI>N z{eW`h&qj(42r;4tOWuRBQBaQZ$*?<9B<8}|uzcuk&V`MJJe!uugXKeRR4P)O>f+j; zqfwzUvm%CRvH_kz8gwZ-4UGfJA%?dOG%SLn8R}e(WP3p~^!4T%b3 zLzTlhBFi-W9Z0kMV%Ak9VGY&!yV(F$@8|=K!G7=t3;G5vp)!DUJr_sWjucc{kYK z34>8^ch!G}m^L{LZwSGqm+fIjmY5vzxL+3?ns2B#-3}2t)5eK~Z%bLYrM1S%cbAhd zDJV1)WXX4OUss1wFlFg&_rYF3Y(j}{KIOJSIKWq+6(K~o9&*~in9xz^=I+81O{|>}X#z$Xd)VI5(0#b3 zfEg{M+aw{hiphQeD6IyxR^))VdpaG_LC=HiL9$`4OfAj>)dNljvw>+4eZVx(Ycv-A zkwDwHGNG)fTlWL+L8HT1@V2NJ?cnI@ZX6&ow>!yTl)(DbmLp2`*KZ@gzauPVZ}aV_Yo&NvtW^Gyk5~dgpg%+trFnQ22!H}#$Iqk6B{5R?3QWs%MdW- zUM|E@t_jN@WN|;h2q{-qSUnVwtdDj}A@2h{;8mQ>y*|#3iIT_AXL3F>oc??!VHGbv z;2su0_rkrKCFAp-(KL^a5$skp2|_(~TqXU6o*2W| z-G{Xr4G=ABZ|xgKxR7tdRb9R?YW?sKHfZAYI74{w^AOn!+Qo2)TepMw0w8xZoc0~> zM%*NnfIO~3=+LDP&}@i*bvYnXV2sd07PJdh3jjOt(|-;|MoJX4r@>>5n{uwYR&{$q zIjP5(Be`PdH@9IwyhI?H{j_z}(C5$lz>u0ymvSqqH{W`+`8|Zl6ixVjtr$-QsvG;)7U99xnF-8rL9Ga0>i?~KU-qL<@r-NJU>dx)-qH3*p-L-; z&gjF2dq+kMvLjE68GD}C<0&^RjLUy_3cllx@IEE4HfH8S^Rz2>IOAS%LmqM9JtmAg zHhM#i6x^`l1*=47zpvt^Uc^2-z&K#sc^^y+(vy3|4EaZ)@V1E|yu|lK(FQc!RLi6f zjDD6KV{M^om-p)1raS-P@jf}=GXdan@Y<06Z?+0L+j2WX6O_9VqFEX6xHc!`p-vC| zD8O7|>qzBmzSZ$^zVK0apA;=zQ1S&&#?mQ^bp(a>qIx)~^m_(b13KsJkvZ=bkX$DM zk2RuKXYjK$o{d1904E#Yb)aSVxlZYgj0R&xY-lg)it&Ib!{PV{^r_iESQb-IgKe8b9P? z!a2Wbo!2zE`)jmiGrl{AbfU-PcUbSXqPwxApKC35a6$dVK+*T!cI)p3P*;u>rnB=0 zE5|>qcNny)LF2D{CqwHjZ+x#htzKd+HG}mjAk1D`PY7>VKU@D3 z--D~l2+VAk_*>{4fnA=g`uzJWCnqy}Q_0r_v7W9w3`hP3Y0>btUDHVrMnT2a&=wF%J zL#E41kTbBv#?oSWXCQlS1QfQo;muafy4zD}k>6gxplM}B+lu=w@PC;9_rYLI!!xKHb}z=YQ?Zeo&RP@nK`($(f=ZRnB4+u7p&4gN*L z)$DeuG|*-q@{JIkr@Wh6fzz>RE0OOnli6p#mIQOGp)}>w#GXq%v%qJd&qsBG++gUV z?%g8`BfZ!8Us{fAYOgvn%83ux`5aikV1GJMMKWFHA;!ITPka(5xR zP$kX(JX?`A^fvFDPBWYQ@SSieeF$Z(0{TRwl1teP&5vy~DMa$&vLD<%s6fxA%j|FD zyZO?sTb?f7<{!)f^P=4lZ=h*3z&YtHNY!=I&WsVD!piZV0R8;R%NqBH^yzJ5UiJhy zi^sj6q{w3C-d;=n<=)F4*y^`e$cp1*2kJVP(~h#*#c@N8;&Dy<4KodFo7u+9*&v{p z(U3D&QAas-Z!m%C#GLPjF#As!<%$%{Wp{LKBf7@i~Q^**<87!jm zTM6@&twcz^p6i4ZglC=?P4_NNn&v;H6MZ}gb7ac}?t|~k+>JV=iTgn@=XPq*vK047 zy$D~t6*Mn%8Dm|-YI;+|wa<{v4AF$!-XFH}hn=Pc<5vYAgJ_6e`NkrPZ^_T_@|&h1 zIN2bpS(C5n3wy?A`##A|jPHfEj|6id*3kUE2|WSkZz9fPQ+2zeJ^kCdUVct}qUkqF z|F&Q6;wE4DaLe7tsJg9yj^}mo-W2ctZixad~g;H9vmF5#03Z%_&A>+2H*{>9S7+F-htP7AS3orb^odk zL-oPl?7;rg6Y{`IxN2a(gMw`UsbZ#pOLw>qZT-UJ%Jd3(2$09Nt zCqg`|K@pF`M72B{ioewWnW%(B@rC=2i{jKiPaVCZ3C5P*mUITo+oN-@dGFDOzE9kv z37c@a$>9v#TN3+nBfZ)%{kcDYRm{Fnk%z>KPkprm(2FW|j$+liAm>tqxnfUuD-anH zlnoE4@fmyP2F0Z>)_20RKKZZT=>uS5V!!KN(u(N16`xDLqYKslYB2r1|NgZNRcx!l zsCW3?cwWDT3wx0ZS?@wXvlBHmCq_en<#M#Zsk1g4N|*L|J8s(h6?{ZOrmNWb{=k*j&fd$vj=%Rm`qVPjtn7imAKmw80{$*^75g|A*Y#mMX9zO4(^FCT zG=3ahkWymbfC~ft$N%{8cK_-s&0N9w_^+u4H^KO$<364ioKhCA|5}C$zO*_t`o@T2 zE-Yg13wy|0>%51UjvQZF3->pOr5(TY#_(t(|Fmat82T*vIQ_RVcoc<-xc|xiud%J9 z{XBL5?bz0Mw**+MCMt%7!DQXBg8H*T-@D}JPg4o|(195UQLU$=|NbseZMJ=HlNlzx z>g3)MflLaI%eJF(_hyM};*T(rR>$6Mg|f?U2%zX^bUGis+ICt#gS5{lt0$wmD3_Kn zJEKFYI4)yfkPTyJr0JmYN!AVSi;{_h?;+88gC7R>4X7pNOuAb_nYY0|L;&k@Q!`FW zl8KIZz~>yizm>M&X9x7vH|)}bdA9;a6Z)o#FBrnIRjvG#JEZ`_nj|9%de z_;pGLW&k=cA@w>NCv&<~IwgbUgAcY47nSnK=6HiYbE=nU? zf&-Zp zS&PQIB`Xv^BY@s6y-O%GNwB{TS(gw!qp1f8goX;Y^eT zohUiXJd^G`)wgL1LtblwHGp<0hOlAj$G?Az8+a3J_jj@TQo(X$uXoc5KM@t07l->QZ)t{hqmR@ftDQ zjG;*r2L-9^W_`(JdkeUYVi74vO=sOPslqOq;b`Cfn3_^miwwsQjNNgsEA$m}Gn`DHGOWJUkR+;|0%3`Oo#C zuP)fj1Y2fy|_%8Q9_1_MVDPHV*eOD^~Nty4tJ z;}2|P$sSKp$+j(l1z#5|>0Xm3){{%#>{|X8$ZAV{EoZjDt6(*inerVW?|;Yy`nDyP zG>y_?e#d5jrVj(~K^cZFHMMFsFlz0H5IO^qg$gY25^-h|?T4g!=w=+Ppfhlk4v)y; zGx$tBouE1QugWf1Bg| zP4HWnb80LYe7fJ#+Ft9nJSE@X(F+Gb9OEzs*kE2V)=jt*@;4T^lRh=s5E|j3QKXcthJj)Q0H7{Y0Qu%7lSaF_g z^?7)*IL8c;btQYJmd^;PnwV#x=^oOpD0~kksVkz~CeO3+!2E8j$@a)tpVQ=o=_M&W z6JlJfBE5x8LVjH@hj^Ag*lhj4%2BwlAB5`Co8@whWhGlhzd8dM?IDty1aX);sQ9!C zWY&N;B~~&mMr!E;89FJZJH7o)$B1Lym8Nfitxs9|LZPnpacM_P^5gAv(S0H1c|L?F z#RvRYkB3dmDz3(;6d91?TVl$&%ZCUFxv|0egNK)HU9qdf{{Q61>% zoBlz2brL(@C{13wZOI9v!`@tiWTAyyQ36RM3=+&=ET6&>KQ#Y0u9hmoa;U;#oSGO4 z?J=K2q5H=qSQ6N;l6gt0MmCXvTJs2_=Q#QsXCw1 zRL_)GDK3A7dS*u;F=ZbE?~Q6*EnWT&$4el1^ESj>bWxGH^S*?AjVkFy$r zx0sVkzZwv~3-z;x;M*JH0z$xUNk)#2*8a2h+`N+#lnRy9Ijc6eNZ@ZaF?(iRUl`=-QY_nXd5FwFlyw&{5xaLcx$%tk#q9#`O;qj%AUx}Oj-#~oo zM*v?6CP5F8#5A1p0TqZth(nUwb=O?aRWrKnSna1HW?K z>bZx*H&!4~E$bRqP1o&+$`1zHx7vm|y>K6H7eNO6)w}HpNtCOKQDeNZg;D)~nh#XF zbMukJQ05;auN^Ozvbb=|;>{DJM7Ljck%DO`-dqiI^Cn$oK@IuFr+xgtNUmD_0huul~wFcQOjo0`dW!Z9OioQFSeMMG2JI9CC zt65Uh=XLZ#M26N7rS3xxUr^KQs4c=hOI=_QZrA`Hfi#A8Ca+JhSFs>*oZe7fxdH zn=tz{SQ-b+WOIShUPqm2Hbu^&UUKS|4%S-(mH}+BoSWj&zw=#ZsSL{Q$-FF zS>7)Fv|8W>GKQQq&Auw!HaW8uL2{uJC9w?i+i-he#HmJEZX@y0_MwqU6!@naJbB7) zoSAK;Gp0}N_}AOgra?`gnmZJX5Cg??&!?f&l6WgU26zTwF+2{hV+E;Z1t6Ls9ZCN^ zq$9iWl*rC>aCU)gAL9*KfuL=EthlZH%QHq^>YeKV4>p!?%cx67UwXf} zuF69j;jPYD@xIUX#R-@n6bBxW&Ku zvF2b-`!{2Y);>fsM?`sn5ooDB(w5=#!0Uvw>(PR#-n80p4q+Z3vDgj z-scuEM2HruI@`}F8|0LWI*E#m%w@YRD<`YTVqbKJt?16Nrtn1?NgTV~tPZ(mqE12= z9`-?_dFDpvGL_lqIncFsuJhrzteo(;PW7JI#WhutGiHLVX|EegSdJ)%Ms139#~dqi zZ@OhO&`*v8H<&&v&_RS}-G?tNR^JUCXM(54s84>Sp;F3?Trn%XlpFG?udV6CYF%fQ-% z!tj}>y(@t6xw{Q4!DfJ4RA1J#>I9~W`I_?Mfx6;iqDIeZ@0ZY#6~ZyZBq`xC1c>m) zdd>)W*p~||Xc@I_MsQvOOo2LfHw@K>f3|6;iSl|Hb?iuGFjF%@yQS|~_Ujv?lWUu8 zwadsNg@hg4Zcz=>M$^x$e2 zFMcvt8Pjn%61GBrP~1S9RCB~ZW<$x0fuj}Xsqz^%;a`N2{W{bkFM1>+yw+^B@Z1D4jrE`Ni z+4Br!0GCky$Xoo8p9sg`zU1qIdapne_xvvmhfci5XOF9CyP796dr#Ce3Og@(!7!$% zRPI4DJP?sB5xZzuu^e`e6?F8u^!S@Amd5)<$5a+=Z=^G$c3(PN(eE5i38ppP;|VFt zmKI&_&PM87*Nlm)XGg83!MO1AaK_KT!9MxPn@I`=%VFr@;e~=PRoPJJ*H1@*9VPR= zt~N}#|H=>ln3_4DFU=cfnW!$%0-I0G2L7_->QDZE;HBIp;9Q$SA5o19M}&W7X?i8k zO%}R*R~D;YhFZ}cVWWXK(>6b+_)*-R@k*k6&Z2f|A&IHoR>no)_~qt&^;B66)a>T6 zuw7SCV@GCgqz{`GC<{Labv=+rzW`@;lGjEisrYWM8eQGyb}=at&WuQ=M9mc9Jk>cJ zLPZ8^k)gBmKzXri5FALg@=8_(9P|}-;(ndpUB6*ir3q^FO!}8<@m4m^-Ws8O zC&O^pkkr;`xYjbBl!`&83!0=4EoTnki@Nlhebqu>9u(;-P=vfi+JyaS(4Pfzwt%Po zAh+xOE}x7=;yTba?t8$dvnNfyoAnDWX5!x>#*ZRHfbMB%McYm6+E%*DvOy=>C^R>cU#>g$zE`a;f$1<#J z82hHQAO9Mjvcf|8R@1OMK()T)A++&4c&98+GgY}WmjB2zL=e+!b_S3^Y8SFcNr<9Q zQ46Cg6eBeLv(J_)l4$3fDGTin9d@i{}e2Ig70c9j!pFj<}_7v*ddONa}mCM>~sc0K6L~89%*;l z4>YO4pqv_I-u%v%R+n@)vptp4$4*r;{#$E5Ffu@)#uFZ7hZTBrMN_tJ&)qo(&A_iK zp@c}bH03lZm;Y|$eb?%38n@VjY_?r3q6Djt!o;???eE}2tApcqD7tHjAWG zC;dgEIQ+%4hBvq6o$_EK0dJI?fhOAnQKTYP>BH20{#fQHXvT@Z;+xB6h1OPitlpJCTrD5OXTt$T`fzyA^o z^>w}U&NGs747a2HL6RShwMmS6)aB&%ntsnm?WgTER-9dY!4@HjT+YZ|70UoMK+3-~ zaoT^Ikd8)FLymrz`8Ji`v$+I>t8U?@oA&XDPVzK}B8B*l+E88O&%Hl57%$5Bj2*fu z%tyBS*60!{v*tgHo+OHj#PGC&dU-C$7`h(EpiErFS&Utvd2QfZ`*#a=a&jiEH%}{2 zzoztw{Ejt+xQ9eXO~GhHy`7gRsm274!9twka8mQi2h;WYEJ_ta?RoT9&*d<#Bd}yr z6AA43{fkzPbekU_XotkxL{wx&f3z#m7#c6yg@T)Xx>iNKFs_*MzGd5aud0k>DxBCE$@^ah<$uLSrp7-YN zXTpb1mFYxc$3M9WbEjQ$2jU~o^Jc8v0<3sWx_QI}?z8Q#_jw}a6js(s=U3X%P zbe`LBul|wOL9P+&4_)ntjx;jy-Ije&HP4GSk3Hw2U%FL$0^={cD4U|XgPJUl44aQ! z+28KsuA6m?JA3Cq@wgpybzH5_9gnI=xlH?zM6$qZY1t-Q6Vvll`ic8@tQ{Rh#t6Y- z5i}pi_PK*Y2OXwa*TEr90U?nYe1U^R^#g#QAf_Fe><;qGF|YO7eQ3Us_%2k#Jkzk6}deBg`^%00Mm_i7BWG$Nk9o?=G|CFTkO>!@I z^i>#)jZ}?>=8|%SP@Murbb`d(Fv3uoxpFaM;ecG(!wHc{dNn5hgG!P0Z=qzARpH}t z-6`_ph^Fj-FE`x?q{od8`l&dI;8_q;|M(id3%sd#) zanB1_slepx8$bJBc8(H&{U`KpRy-)Kh0N`Q66uKBFN2fWM`*E&%qNBl)L$1GeuOEG z0Plvn=U%BE$yh?bAUyupgb4s;9~J-H#otv3+%32$XZ2z9EI2sBJ5Kp!&e64h0kTo+ zt7c}$-^P9K@>}3JNpluX(Az5p*+sy1t9#;VWlhp;%<`hx+4hk^RDM>Kk1&HkS?r)* z$)Uk9Xl+=eVTopG0h8%g7A(|m7 zbc`o5)z$EXBv1##5np+5R|v_{XoCAcevTf4-}+-394v)NANGbm(8<#;_pN^nitehn zUuKV_#B2ql409g>Ltso+R_r%u|8||=h$fnDU?fAULoFNrbGZR-NrFL$tP)rL?MBVucv6u#ZyK zD;13+Y*YsaBWzMB5s5s_a!qSn-ucb*GC&*K-=90){`cpfzd(zVInD2U-?y9e^PJx| z?a!k1{1fxht#4Y^`MzdzGQkf#r;qx7;1;AW?L#BMhq1k_h#b1rPDQB`~Alk7sOqI(?&P;CB(vd zW1NMp{+Dy*ZZUtB7RJcTeX8ky_PcP(2V^Tytn(hna=+c=v<{s^gG>1lU{Do^a3kMh zVI*~rhY27*(?7};gPIXsdaU&zx+!#cGISht106+%eHf9&@~TXEN+Isj`Qs(y8)9I% zsK4Gm4K*H?X#Lb4pVti)lj+ayMFH75525R&5nufB9xM3O-(Z*=vlLL_#_DjR8suDs z>VmuAZvr7bGQDRZoNx4H6j5@X3trRcQY#H#;(KE&t)H#RPBLoqLOj@R>gny>EhJnr zo~U1({)YgWGlqE2kE?#&QSzV%pH3spDIjT z@+K@t4UPgrIv-LEqQY6gUm^Rc>}~i)drkrLG@4MpL^w?XA9+b)H!cC`LwvX@!0v(e zh>7`>om3YieWo=CGcuq?8`6 zWD?k?-FB|GeFvE_?JikG zn$v|1N$f9Y?A?dSc-jNeP`20ZVq6ogiU zIum4+%I)dV>%+Q{XV+olFU&Kke!mX?KQpL}vZym?rnhOsBoMs}UiC>q#?4@~${Z6c z8#3eAxC-O(w2N|=nhFx^TQ=|JykBheH&HemVNaa^_AIDTRDt9YG)5WDo7u^Lt_~xc z**S>cgpZq8Pq&L6&CwOKNrzE~Ff)EdKMZ-dW77XWN4Q5pLBq%?&#rHGP`K_c1 zqZ`F<>qZx;rU3*Ry~&OC+EOj{?68ws&_?#eL~&QtJ(b1fo7xEvo9wYchGie_>Ja`Uza_H?)yAYL?k>Bdh^MGq@cg?rqc}*N%g>Or2W$sz$5#}cYu}B?^XvHHIlO!6eGu(Xc*XrCIG#l=l!imDLIwrUkSA(Mwi#pi z&axV$Wf~^HF&6>64l^;4M*r;6c(0}hgcw8HUc=lCl5=lC&8Q6SS!c(q->y^ZF(^2t zWM3j|UltpVM`x2m)uRy9Gpw`ivG*4Bo37hQ#b*LJTVB3=)mKVbgw=EEvAyDY?-Zie zc;Zp=MC;@Y1JIAJtTOcfmG?tMBSXqf1O06FDj618-nIxIwou(I)~O^JOE=tb;hAWr zT}uq3?^9SwijMoak8MCHI|QlBW8)Bo@k;9uQ7$(eA%mR{;j@En{L5%T_@N%S7KRFd z&I#rvHtHXkuVwuL5$#4;;;A|tJ*xW2GDd%pP~N5JTPA*il?SBg-&UY2fU|$I!JBUX z^pVoPE(65EUS42jlcEgoLT|xcKnkqK7YUg5#=*&X!qg>{tunT=H4(uh>V2;Q#ggs% z+@;yuf-7J$#+8)CPWzyfkxi9#Be%mTYNvsH=VAxWR6m`4QQ7umLrLglhiC4!-iypI z=!ZlP{}~1*rwB=U&3|Q`@7F&4P_50{i~WI;;pFmPkD4)m0)dQNxt0lJD?KSvc+%Glp zg()JE4ZZ1I4A2;_XZx?u#!iSd-O7&GHPGA!BUbEe-!kEeF<}jMPVaKZ4M=5v$7S9z zzO*m8a}U^A|Embex19F-Zb9jp#^>Ib>%l*^z1Xirq2F$Kh?$w3l5wm| z*`NdT)F+ zd4jiF*G>0cAfcu#j>h+HtKS9X(D6g3=l8)ow zM~*jZNyb5YLBMNBO&zDyn2@PF0Ad^>ch74I0ibL@X-de>pB#_J0Gq+C@EXy8D(?GK zTDVcn>qZZW4;>yo*mA8huMMQ^9}~-pq%lFiOCym2Z(1>vC=4b_BkJmFo?YD^>qtJg znO*?i)&Zt>nfGDe!_J6ZxqP{U8J+*I#xJy_v-;muT zdkd&d`Y<#<8EIh_vMcU&6R``%yFz|@McZL^ARDI`eG?=q0Zv7 zVG3UMw`*_GmfO|{%=g&)Yg-@3>t>{b_Rd7e?yQ9fFJN7)G1 z8-5_XugDu%xpoyoTYsd!4KG~iYP46?t?nJd`6v5wENp(O{5!q*^8abrciQS5hn{%J<<4O^A!LtE9zYXcPT1t(c zkV);Vw+CBx#YF5OJeK@r+|HkCGj&+>MmsUsc|E!PzwP<)yb0)z9TQ}M@-9AWi_Kq` z;Kal_!u@XJ?e9l(F^Im%C+p_l6J{e@7ahybiZPA^ zBV!*FSdgNL0w#;To>D*}*rE`)XY7BG7u$+J;{G@{pmv*iB7WNHV}}`8rp@{1+p+{XTM675t9>E;{;OfaM7o zMm$J=gOM!2`8}*D2|pvSc-U+M*w+}4=l!F@y5YtYC*X1al>bkb0vJB%1dl57 zgc!LrAIIP&p?T@6U7TR+2O|vRSj}vf$pPZRyz#KeYbFSz76PlLOa}I+Zd%yA>-=fEOB@MVVLS|E&$vwNrQwlau`TW z`;rf~gJX4~|C(@1-Bt$D-*WUZ^FJ;R0-8nj9L9l)GgigngamU|KNgDrJAIrX)5CwR z$UJD}s4|0P^2ww>xFZh7xR1^+mk0?7DlV_& z#>(NFp?;4K3BNc5kp4u5CO^F{y7Jz4Opm@V01PA=+6pa8!lA6c{Z?q<_dK4h#jzUM zKH1xHP9+wR6b<8|fBeroj%0q+P%g)0?Tp3=kx}a^ZYFDe^LWR+vV|4k!py#&liyB` z^xK8Wx8@QS(k%_a2%~=MW0V%Vk?e_)pj$3uj_8F_0laKAuGkmno_50rmku6y;P=Od zV?^W6a1TA#jSmEj9B_DKg9E8rHY$6%?V${wJ;of{FRu`NCJ5e4 zIc|E=ZZSlDs1_Q-y@zfy`{jT6@w|X-r6IFR3OI9uSA;}mX%~=B*9qp%2F^Lu*6r^A z^XxK#^z*^z=fh}xpX3=9ZFeG*#Xh4^5MH8 zUj5bAN^M({tOL*dOF=SvA1D0=O*#@r`b&S)oiJ~Q^Emgl3<_;)jlI;IWY%sb=0ktO zoR8UCZFdr*fYf3)ND*0gJ!iV!>uN3NAKK65>vXcZaR}XQ@{9=i3wce|r2S@I$A3SY z%FA~iN6htX;yF%mmfF7tCk4^ju+I2^b(`#r#UvhTs_H{tENjSX!kW~{*1WB!-WH+r0nG(v7HTPsnKzyuRTw*%@GN+@n`|iccJwB zx#Z)8DjdEncNSDU)*T2x=ZOz(6qsv`jDL&-b546uDf#GdpU6(<7UMQgB;s~%Eu{KmdojNi*=Hto_nM&>ehZCAygWU7<$rASxlJyJc=!1^9to${~UjP2H=*$=sjLklu{HA9OT}+|07}-izV*joN;kH(GeRiqXGYH zNPRypdbs$a!}bhK56scg+t+7}KPGoHtvyqq?*Al@{-SpLkAzOYiP7{fG2*){j}m&d z#PE;4B^-^OC`w(%(lZ0>-glZJJY1l7IpFs5;pNDOl2kkyAp9ia-2cu)d^C0}#IY9UP;P-Ta;ps!gG9Le)9zK{nojf0w>Vkjs zR7Tmo?wbtV^c=nMj$5I2;e~eP*nD*rBL08)U8*C0@5^nD#XM*+8xDt<6#Ec0uyU6= zFY>(@e20h}In-k_?!Wpl>6vIk&$-FMZ`J`GoHo|<|N2ghE>FY`7~BC7$qVA}Ai_n< z{tB@%(KkkYJiI3S@Esq^AF=B^M_}cAK=euNUGr~6zag~`+)r&o{|U{juz9lklb~Zw zAp32q9K{6JrQ;jq zFQpnjxJ)TfI{>-;^NJIu15(1t0o+2G{&mJBi2F?Hh!&YRO@{aEUy=q<#t|$hR7~Hm z?40*9i_jeSeK`>G%D4*4|9-Om(vFNFhY26>R^`6v8~_Fc9Y-^~c!1{)bSAxBGq7@-8wq*JS;Pbfso~Px}k( zSO0A7xg2=eUMyD=qWRBsRs6mI9OM66|2e!DUSGduH6)B-Zo{5C(6rDLlihL3`(Z*69U8WaU`G$N z1~Q*B80daRx>3q>sfzZuRXf7DlVHh;NTL4FxukPBRi4!&PDi=O@USq${D~_LoXl3E zg}ABl#v1gai@4R{f=*i+&M7;?Uf{R7Dt@u1_WsBBJvkQZN_Y_k_=%th4OHbXjfGMe zO}9ZT{ljDtMv401+F2A(r3Go}>5W>V{AAjQ#f;%D+d9vQ2cLff209^^#kFj8 zR8rx(9Eo#e4mjxn??(*FNlffrT_YN9Hbn_7Y*RJ@{vd`T-Qk0`5|tHKOH8g2yj=Hw ztK7xuUARUQTI1hQ$}>hu($kuJ=Ub+@ON(UIz(pad**qweR5%@>ffg$<5qd=sf`qjF zi-1{&@esjMB|#jqqQS3f;S-1t`ZF9`!y#Xl0f(+TR8N?T|GGfymTe0|P@G;#J@jyr zSiKauNAe+|VCU{&b@&jICLxRqlF^k1$+jJ%gt=RRw=^lf7-2Bvj@KrIsim|%EfOl1 z;Q~RLCL-OwxU26dmO$mPwndF3RELgq{^XQs>GmqGQ7U(j8GQ6)sCPZQgh3Xs`2G2p~0v|J=&4dRT_8;-W_0y*pXP&43B9=Q+Sf%Hv=jA16HIh z#@#y)Yf!3rQX1zLTKYh5ZhO=U#?%l*qEz*IbYV2+)2+gd?af``chrrCP$ce%ezsjm z7O@z;qKlHc3cXDdZrQ}D&vwGOTm2n&By@A1o_B0fOuDq_lG6a{du!qRe4I-4h}o2V zVGEBPwQ9JYzMa#irw*h7irfNXTC7GjnlaMLzCco?ON59@LrVJe!JY+1>(N>G(roHEPuttSll z1*?npttUpMbBcFWf{}D@zbYlJA!c40HtpI{zT6E)bJ{5i{V!2#F7|&4k)rjoA_q=C zXfBnUb1Y`JR%6yUqJD&wVIZM@FIW$+5duLLxoQXkZ3YST&m{SsR%6;#5w-Ih*>Mnv zR_vGD-MT%k=?4_1_z-1q4_*yuD$p0kxq@`Lu4a*w{>hE!Oen8mSi0E8`M9xNKY|Z` z5I>71F>l!eu>%^6T^t(iSUve3*!#S7xvUBDjNp*ec9?+7R2sg#O7{mhB~cZEttBZ4Fe-?yC_^a6V1~;Y z&Vywu@Q&~_P=n;JG9Kl5ym~Vnh=U$%w^YoB4B425focS|c1(!zB+Q&yl0`WY;z9&Y zOnnv(qhel|i#nhQcF6e)a|sX+Tg~Bn5D_c?6tiT+*z0 z$6P({1kN3NKu2bVApPI)P8LHtu4Yyc{L}epVz`#Mp_V*r38A2Qf0PKd0r8{o>9+=7Fo zLunA1G9Bby7LIao?Z0$<2#~*NIyZGAD%fP&f~&5jJOpiLpLXs1rc_HgefUT;E6gUD zGR18oEayg?2BzX%+7;)XYrP$0RNa=cAoacO)~bB?`lcZz>N{JDh(V)r)vdPpBltKM z0}*)|;Lr$Rpo(-d;7D7^HG%d4a?tWZA|1{E9y(zQQ@WvL%~=QWU6-fEqyuUR#wY;( z43`E6WLC%qrrA>(iV0j8>!7g10^tD9cK@9klZ~^5b4%I2a=Y zHTpBt661qB25;Yv{019@4IW)Ld|8yqz2e+<6cK_k89<&$9dDS(S@DQUmQJ6lKm{gf zN*Nv9G;zz|R<0~fl8wp@d=7;oi^@)LJ&IWRh==sG*&+JXZ5?8a@p}4e~#> z7cUeQ8DUdcihl|J53539@7x_U^7xf0a>8>_fmr0Nwit4v()|`#1#?QRMzN%+sQb?e z!Yzz`v*~dx`IK`Fe``#U6oZv{nKfLNCTiNVItJCF0Ze;U75gk*%!A|b%xV=n%D=Lt zk~+f+On2M_U>epFU~Dxvy(Dt9rA<_@M9VdsRI5iOd_dqFeS776MK~i^r`X3@8R@Y~ z^(0{J7v3Yi=h*@pkD$dqvQFkYk}7OQ3>t5m2Z@yti;@o(L=cGcU~tr!GTSYTUwbOh zCJE$-$nd?AcX9|Bu++)%b({noAEa2mP->%POBcuuTyAr8DpIPD#8gk}wZ0)cLX}P{ zoh_on)-@)cQR7%nYMmtf$kIv~)Cto{Rqq2z6dL0xKN|H_#o?|dF@+*1pH??xc)i|H zqEfNWq{9QFqkJq*HZ;X4CIoB?7@2wjE>pifo6{cHgUj%N~!5y#?1I)`|~chlCY{8R|U zYS%Ls1wx}kqB{$hO{hmcjOM^2pRX1%E7KNG>bL2;xalY%PhCXH>_0I;Z)tT7hQxV< zs(sS7s^{p7W}<`vNl_6^X*n-&e}|4qh?8(LSj|kvu}d7rRQ&sr*cJ$Lv(ok-i1yUA zz{X(D#dKkqP#L*(ZXoKM?T?Nv2nvZp-+XJU>7P&y;o6!pW~}#l-x3DWNHd~nM2(U> zNK3jx*)xtxVtv_J^7o-dcH_WxX3KN6HyDgrxxw1_$2@`cROpQ8}$ftU>K36 znh#^c7ggDEs;c|^h_!mbBbr)gL40M0-CTeuHQX&^`ZQ^8E~&ExlDIthf;o02DI(|@ z1}wTZq%ZGrO955`4t4T#j>)LC9hE)ItPRUau4spFgiNGpJ_h%ioj8#oS!`D&1}0Hm}7NoG-e!6IL{^Vvd@9WhqwkLfXvz)rHo z51B?>Y9DT7P4RzPR7+nmEni^wl0G#tZSRaF?P;qaU}RN*q%kYI`Apr0WywI{XpzKLAc29=v$YL4&y zv@X8ilbV-H#d$PlPFJA->&*a`Uw1zmK5OL5wnv#SJp;RCbhsLIxh_(6Ys{M;&r1LU zwdO>*{0$)ox|Wxuhz_tM`EYM#MA?6G#+3ZD2k$64<``DT%3*5k&Is|tm+Wp=CI`xn8yPC`TDX7v zR?k!Eu`bP<7+JrE)OO7 z#0!uyD2vD@Dq8Ep1?0i?X59<#lc~I6e{qbCWIm{eRg~-|ZOX#yrdj-4uS-Owf$YM3 z7Y!_wdUOfdN7%xvX+^O`9lYh6tmUk~msgyCQ(;&~Rzor+?`D5K|4%?Ge?AlFfkI3@ zqf=b_ImzTz0&h1{6#`)E`RYIX0t6mfTyb3ljEYEM|Npp%jFaRb6`yM>;ED4iCB}_^ z8>D~4TM$FZM)-EFc+NUlOEsj!k8z%bo)v_u2;YDH#nYkrcIg(5+7&c`hez2jw06y- zwBl_=fb^non-aP!OWYT$Q2NqE8{iihp+a-+-S>Xk7q4;}le%iL(^S>?Z(_w^+U!QH z7r@z3(u&I}a?Op;)}wmkKqu&>wDDQyLyDGWNDF<(@{CYs-Jskl0#SstQt%eR{El6X__FlwkDBcnhN%qY_tha6@+UuoL_5spoF19N}8$MGTQJ; zQWe>9yHrG2qTi42;#Va$*8(GJNH4A!F1NAk8 z)N$lhLO#y)*ZBY+Xwg_7owzSJ?I4ZC2%)`F|3o~hIhX`VJk?*kODgImzY z+Jp=5!yVvlP8Zqk)}^4DuoW5Ms*_7W)3Qh5OM&xj);;fkM2NTBIpcu&^!@EA(bRsT zib-i#5|mI9rQ4DAYLzm#XqNL89wcGQLl;wiaoF)7Hpt=eBd~sCGX}sZtes`*Z@@)e z1@uRfq)im$_w|v(3`mn?awa?TYiKO_pTF0Q1kA*k(sam}Pfwya7t(%v-Swh~{qjbv zisf~Obx9u4oQ`s}p20|@dl^kceg5Ppx8Mv@-WgNz9V&ME3@#|`O0cCZpBc#BrMk@{ zylQpkX#`)11V2(BOLw4y5CS~GIgOB&YMd8w>xN&kqp?DXQ8VZI{dae{%2?x^HNr6h zdRD!Z63b)L*^fN3ow;I)bw{u}*kIENt79CZ4$%U*@YU)N%s@=0kQO8~!`R3%IZ$#T zrXI#kiJ<~JvVl5-6>Mc$GS{yp6SqLk&<45ya=|so444fgU{1q5JT=Tv&t}K^HfjV8 z3TjH4%hWq_AlOI>nu5Y$WkIl*bI@2!0m1FJSp|hY4)qp*mL=#~%B<^wK?S079FMWY zR8-+49BqxCt?g*y+XPgIP*^=Z^7A?yPSuoJZ>0)uca=cR+G_Icg6x7y@{N|)lxE>e z%u5n!;71MR9mlB0veoLV|A>huiXj)uD_~?^raaJ!&9$Z3x_RxaZjtv1NSA%Jt;=wH z@~;^qn<=pA)(e>l{g^41gcd`gGGuq{dPyp(d%NDgS=C+>j-7&+gnCj_|2LZkS6`d) z%xif+ew87l0J^u`q<&(ActFbu!VA%bxcr6jNJ`1U@Kf(~1fpPn=?A14Y{_p9@5<*tH=5X%$%T?wHMHC}S zSfrk{d8?*9xG3rHkYuW!??nO&kmFBK=0TuQRXLhXEZx(1?^0yF{jPTQCN8lSdMVHu zs%?Y^4=Jc1z43N(!7{aa^Vmf$S1w^9jC0ELl?2S2Dv|X+y#*m zKF(iucA3?d+SYdgC&RE_@PTNVi4*FG06bQP_GRWkvNm{}SDI>LPe)Q-eZx}5qwbd$ zUxkBj(`_s>*n=auijwbi;4SPzYSWj;(2?Y={tFvc-n=qHYJt=2W{;pXy3mtn$&a0O ziM$15XG85_#hA6-wsFXA^+uNlc?x~uk%bh5PhtJJbCx8hPGm7HGxJ9UOZAF+Q#b-; ziGM^{ST@leP&g>R>Z$$XEt>LT`ieFWl_sFjo(_39C!Q59^=1$x+5bmCM>#rFrVGwk zUj~m9q}!~>O|ou|)3tWv`ll_>gw@v|Zc!$YeGp_=(9E3#8@ffWICg`$L zqg2TPiGp_Ro0R^sOZ%1k4kh%QE=tS&^*n5pD}4k_nY>prEGdghp0e>s|u4 z4jaEv6Ij;85TQ6^ETrdQa4SZ}w^7UeZ4t2_+eUIw$DVWJQpf1!Y>1I-&mk~L=Gh`K zFCP@yGO)Tihx?CH9NLqyD7IU~ldn&91g}?Ictpx@7| z)Rfvx2#!Im`2c962H1}@j?sA!n=wodsS{--Xji6HeHP3SdN#<>&h2doVH^smR;97j z*-~OO)cmPV=L@FqxmS)mwDWBz1XX*qgDbnQ&RQ$2i#~-GB#?&@IYFGXYET}CDi7ZBtbLq3U(mOYbGVP1zrd;WGs zWj~n2ViREbNvBH`Hf(Y8(F=x7eQSo13nshJ;S4s%HGvJG7BHct=_Leo_koq8&kT+2 zF@|jzDbB?`c5&nd3;YMVOLSf~iqQ^Be;MK&nNZg$u5j5)(gr@1J)R6@MxlYm^#AZ>-npvVS zpaAdg%Of}XE}u0ii;2v>=MGxb}i0T2~Bvn6t->KMLK&lD?eG19bs(^;^I z{b;AZ<#*~j#g1XKmF&xAuU!LUrjc&tv$0n$mS&v}!@s~BwkE7WGkAr$q)@5k=P1*o zn5r!R^*AH@(0pa;o=hywnHM5PbD@X6Z%M*TQ14pRB*5HJ@#=ko+8 z9jR9=rb5*K86dUMjZ2_rQM*|8l811B-1LG?-Az?7)5`XzzZhGb4w18E^$7d$Yqn@) zB9tKApJrz9O)R+a1tAjhEG3Khw6Jbe%btTYt=+ge;F{njs&?2%*xQ&YW8^#Wf_U2S z+~Tl;-7boh1vO)X0^Bp&&W?`@D%;tx5+!BCatyVjOligKR=nN`mjca!%7mp_EAj_R z@TL)K!Uqf@?bJIo9ZtEF;KMS2dC~@DLih~HV6@mDT?)!OTl@hxDyd?GhGC@A(4vcw0RP=f{RhiT)YPykk!o#M`Qhy}oS=^sy=Z^%w(N2)8`e)w}z6 z0qCO&_&fl|E^5UWmkyXSHeOsRi6$KPG5o6((xupD362JW8%l1B)f|bOpBd(R->e`x zi6LmDR~jvy5N6AyO@*0?J@}ntQv&kRGjn5CxvlUnr_2Ldu3qXtG;PDn&{}PkBYj|R zVN|QrfBXyfdBd`oi2^kS=PS z)3gj)UkXW6x^&K(JzDj;-!>a@ZBou%Gr$OujGj=HwDz~+GzO1W{e#eDI9V*bV8-oa zQ-d!Z{7%|MnC?C^u&{EnKDl9`0(v@NTFh%;Ld*(ORZl)TBmnM(3U5f*v_PReun|0r zT>^j~J|mSGw0{8Bo-|ym##%4eUZL6 zpq25WRI)pMjeU9HXf(|2T(po?7sG)Vl3zr%_|96|Q~O%y(sZw-trNyxmrG_KTb3vJ zYzHi-*+9pJ;~pli(I^{O&!on} zjXMFa^YHec!j(vGaTUcfmOMd;3OY2>#&yZ{gVEqbEPB5v+Pu?}qxlBVhIh2YHM}uI zo=k#^k1Zzyv}pRVh|+v8;8ed7*JVg0o&K(wt?FQ3Qg2Q>W9?2t37`-@uQyGZGFK)Y zX6d=4l9UZV#w<8tM!2T((c0{Q5n6Ueq+;g!Mp3?;rfgTe)+c14xkc3#CmIR5_|0|N z*K#2oy0-|O%W=qaqc@+q)ro5>J|9c_Iwj_6^Y0r=qLka{rEtQ2)ZGZyq@A3S8ndQ; z&rxic8B_4v|q~?hHXQ9ux z!8LiNebqL0dkzA$sT@n)1)8^@4vK0XA1UkY|p^PP-s=azIuyoD^L$n1>_a5cf<9&CeWpw_w5TAW?>8c ze$yUmr`u-mi2F)^M$V*n&rG%72=CfD&e@eucjpOb+e=0#gRF?Yi3}Jrx~{%H_1=k4 zXmJ8y8i}uq{mtxDRwPbPf_e~})Y=e-Pswvli<|KDXb@E1wkoipf5ti2UqK7RRip{M zOO0>d@KR6KUcx!i>9*Q`y6v3=UIXV#P4{CJgB^_vcg+1sAX`C8!7a8(x`dOp1_$H) z(Cv~AxqJ3x82LYU0CO{m{eYR6dbn4}HfK2kC+{p!`I~F~|AyT+n-4(!BOiz0$tB)D z18uA4cwy)H-#j{WyRc0ScwfEE&v;(<>IKK~_<&8aG%vd=q~dftHQa}#eH?ZNHY*(N z&i`--P6*~AWvGoAXV0{=#VuNOZ*e7yPs8lGkX)_>GK{2Pax*4zy(A>kv7m!v*2&lO z8#j0i(yiKf+(5@jQPm#lEP1ltB}f$+*U3|b#hxk+m;NxdKb-VMs+xpcqI zsq7sP$oPltUkx`o$q?zdPZgNm%kU+~xqMvI(p^p54_Ew3ku&l{4U6WT1&@bgpg3m; z=IQLtKXshAeecWr&@y6ATS2rgit@*(dA;&Ar_UqSkOB<0-GlGd6 zbrvD*1qkcS+C){LRr%wZ7j&%Zd_l*Wmz_$6bL|a^&_gZwUzM(nMXUq1j)YmJ2)#Vi57{C`XGM0D#MbNVsSOqok6AxTKHX+AMaaC*{xS zO>$eh+Aizs75YInF*a(t8=PC9cuO;&lq<*N<8!)e;TSs?1&|AzwDm(gIyIkvK5~kG z$~cu$tdEuyKI9%eA#ssf$G)tS(*bU1;Tf{Pk39}-ih9SWTL3TV7VzbHu)g{j;D=YU zqvu*mQ8J@DsOefDCQ~7C9fR zH!kWfSI0C@`;iK-#f2jRK)lpTG|$<8^yHy*QONehc%}CKCuUBPG$_I6Myuc((D_|A z<`1~K_96fyk<67GaDa`2C89THa)Z4|?>_R?m9tF$lMdcWGnmG&sHhwC>37XJI&@DegyMSL*eG_DFa zeHNjU>MT2;Xen7xM*bvU#l=+Ss%yCb?%3Mzzb zL#mK^iG6jlO}o5X88wM&t&Czf5Jgq&aBM_U!fdL$U?@fM>-%$Gq|zA`mh5W_RMN}YL?ksLHIOq*9-?z;7RZN$C=yP9K> zzi+p86>u5o1)^pwm$kjxkhlu|HBaQ?F?2^GnBT_jz-r(duvEVga53G893o$HYvP!by;6Q8w**EW8yE%&>TRpCQEsUsvGwJnh%Xi`dgg zLWv5GxO;Nr`FHx*ga60G9fxgOd?&Rt>^pMX(fI@Of(5=NQ+YZFQo7Zoo`RPA-{gcW z_fWg`fM$7?AlSZd#K%9h-d_!=e7)(oAT~LWJ0BK|h4MHNwE=9T@-Efaf`!kp0N-L{De?$L8dVT>)+GpxIuSYNolfL|+W+K7Ts0 zCvdShBe=f`KS)4&h&e(j_r9&ylmc7JgK@rtA6*9OxG@kDmttr@$DLNMCW=ma9Vx z6~Vz-4fL*JgT3%B*A0c|)=!R^cKk5tE|>^{0*>O4Ne`2Wk}yYthK{>Pgy?7I(MjDz)4M)U88GO3rfN}A`i~~#x>;%ur29ymn9i$z^8xsS(E@5<6 z!uZTN0Q1$p7R(mvlOIQV!MH`j!2hJGl`r`3HusgJi?*ah`s7IeKpRmz8&WB=UcngB zG&)lF%@d&;FQHdBX=97PLy0lxRHbNsK|0^j%lYr@2tS)DpjWWOiL=q+$L2N{l#(i) zv2fUn{Wsw+i6A~_m^mJ^79<|e9zPz*!Ejq~@*o?Z9EoyGhA68n&%Xux^#L33=z!dh zLc}9;rUStr_fAEEc)n-g^l(g$tMNK-N1vPAWvV&N);$QJWf%2(XAZVFxThxo1 zy6w~eVwA29Q2+z>rD4UV;fDA-AaTU|5YYPpkUi9Oh5t8+6-P+pE=* z>K@ng$rK*-I~{yXzg$21XfMR;&rUn*24N6q==12KOwFBZxFuOttcmIafoC9TNzU3q zd`UZLq%Nh_+UJoAMvwLt&f49nZxUkn8*4vsD&RZ#L{nSLjMhiO;$G>jRT^#jBR;># zS@Al%^vM;iormkDKcYz%EQaL>Agb~FRyun^&n&Kg$X)Ss^L@@D{?c~XkKYH;CLBM2 zXQ&Kko7t`HoBc)JI?msw(y#$B+Iw@_gZ0JhsVLeTX#w%8@atJhe5}(L?ft+0=ojnq zUAFvepGpz9W?;IJbYTM2k6w@{=&Lj8Ya86|Zpx5xlbv5Sjg@bbw^vu0tOTnQs^Pth z|9IL8aFU01G?;Kf?+LP|90hU8KXyvOgO!g8A*d>5Yj_hQ_}zwocY+Ylv45N_QY4R` zmf?io!0&DTMn=6owGZP%ykD4?!MIV)S>`lVdk=J&(g;jx8RIEoJ0j%g{K!ntj7F={ ze{aM<=Kl!OI}(#3C-3BKON}a4&2^{jtSJ_a1g{2$hEkqRTI^iFG?HI8Pc8qeYVZN~B{9MscW0xY{eH6eoid0&tDi zV&!sxmjishwCDFVWn)CQaKR9U&?t57O(a~7ey=Q}_y3(|x?i{Z)`i$= zD#<#q-u4dP3(EUl4VcuhnDNd?I?uBW#f$Bse{g#Qh)X ze_;P7r_zef-_Mrv|AiE4r@H?aG5M1GuFKI_z8U^iz~L1K>TiQXikW33&Ol16Pm^vz zCF(B(0rOvXQx}37J2amR42g0gsD1}syy7n@jmoj(xQ`5x8ei0I6R<@)>RXPlmU zVZ>Lb>MB!B&j68ndXzYCe@QrQbw`x9Z_v;hmNx>piuQ4TY0H()SK+@OXouYoXjwE- zm06g|iP^$PG~-D3;Q3I`v^~S_CI_ByK|K<4UB?WwD}$OFCZ399iaP4<_uFr-z>6We zl7l!{Kz9ik&unSKw$?ri@-}nj!VM~A_eV+Ka@v2V_+*)Ga_LX9gFv#3}& z$7&Gu&xMB{1-WT3;SQ3(>PJSi_tmYDN>%>n^@wZVpfnLc^+uM`45?l!A%4L}WI|`x z1|c;rmd=bMO2Ctm?fPE1-8)kMXQxb`ajVxL;b0yjm(OR*4Kpbp>a*J@X&DYS|9|F7 z5@RlcuURL)v`2ln?3qgU8_RarsDWbYNoB5En-c}KBShvoqK{MOX3knBGah4^(}vzf zvXFCF74wQPozkwO_sJ2nljbE^6Drr27pCX>f7v9$osoY{UnI@vBIW0K=6`IGButHJ zXfK|%2tT5k`T)3Iet^ycb(-^5h3ys>ILQLX3#WGee|;o#61FnwK{z}Q2Z5NfK8=LC z*WHl^RnoMD_ktUFoZ!-X9Bq~fR!Uch<2lwLIHL-5NEKAzkJe9o&wzZBn9iKjSdWa_ zz*Evv1s-w;@dL4m)#;I=e33Nj z@;Cva1#Fa2EeJ|7ig1#<_&*#UurzdVJ8a}G=K8r2s6{>+sbIg2Lj;b9_Q`{Ch8ZAxxHxz_@PzmA6akY9DxuN5<{iqymVQ4t%H0Sa)x$uA z+rSExilgEzSK-8qv#2iTB4*bp7qK6}a$-z%`fY`t-t^@#@Twp7KUJWLvBW2w4qI@7 zCPfpnZ!7Z(Zv`b9A|Fm=#*y1m&435R$&xyW1SNpK62|HHmq+-PIM|+`OQht8hoO8F zeg7`jjhE+Qg@JvMNX3b1whiOwb{{2%3;;l|(B=RiBy0k&SBa%&{ zp2eo0Rm4q?Pe96Kl$${*A3zthg^?q*->_a|7AfMdxaxGyvKPt~{*&lwnN?)^m3BVr z29;C3p_PPKu9!3>_dN;~P#PM1rqH7tFvVRZWnC;vD2pvuKNAX!jEqdPh&hG7kcolX zvKfNir%x2#Z|O+VVaBsp>JqqtmkK33o*Q{f{8teIMLP~l#}yG(WqJls7q24*GmsGw z7Th+;>S?;~g#&n8#}ivSh4=DpXTMh#eF&O3xi`TH>y*s=-=`+QQ3ti_M{8Q8cj?vU zqEy1_FkAK5IE#VQkickvaGNMmeI*WLr$0@RejFIurzt}oZQwmtW@zmcv?G)q8-duv z)Kl4Lt0S6IIWr*VB-F#Ldi+8T47K*@jTCgL%}>CK;1BS8-jUCQ%kV;2pY=wu?i{CC zFt_ONLptY57@tq-6a>u5f1?c38q!Vn&5zpm54$NEsnS(o=;)|-GJ}i$$w}KP1H2(S z(~`3Dya#?4k*g;GZP!wx3l(;+rmAE(N-rbP+s95%Xif zYcgXZ56yzDNrYy4g%(ivRnF=V!Axf(yKOmfe#^57QTb{2Dz8H#e$?eO`pT;{Ape3u zqSN^Y?GqeR?Lb`H^e60zDUosv)QS7*?o@vel-752fL+V^k=qZ;NiF0{I z)9+O&%8Z}T_O3;kxx@lA+OU7Wp+0@EqQVmAD~d=+ZU+=D;&en=Ggq0%^q=bjZXAc{ zeGt(aCC4U#v^sj(Vf@{l%Qig4!qk0tB4T1Na+as>}tjnV~KI*jSp?>ONT53rG{B4H?JaEuE+X zQXz@}_0ht%AIk(~gH0==3Y37v{^=&JZ2!NT8O(yx2C!BUPM~wf1(plMz$+>!&^n^Z zu*IZg9Swh_EQ3R3FRGP?m8aGL>5bDprBmIZSXr7KVP%;OSR{8e2Rk-HtKf-Vrf0=7 zpe^^=OqWAtfI4sbz2G|lwLYkGfp}`D8`NxVcH{a$th4Zx9)AyfyK=|X#KO0b1G&P) z-OOV8--T2fhE(UQ4FG6``H_}Y)67}@=Q625H zCjPJNgp#=+X;7TY|BRmReU{t0xuy7nFqg1RsMiQlU)14Y1&Z;{ZAdxa+4NaehT_r@b_gK%r?5~yKWe?GdY)jZb^;;o=5C8?cwBA0~HjAA2r8 zx|h*i-v3`pv!_c^vDfCqS;e5pv|FMGPez6?v+oZu?=#1S&WwJJXZ6{)$earrfdFj*-@vJFT&*_Q8QaIM+v{dWT+`Ks%5rTPcH4_S)+ZsKp8!;72b?H~4+m5uDx4b#wH`aeN-gy88CN z8;$#RXWfGz>9q8nbeuORqoacEjL)`dO!dOZPcR5lKG;1vBaj5$Ge=0AH9PFl3Y(ww z(cm@VR{FK12AvmJwW@HY-|%VVS5_zfzN01ORU$`5#UCj>$P-%Sd@LK4BZ4$+wR-4K z$G7r(UxKK>v{hoVYL!E z?Z{P?`*DB}N1X_7EDEL*aTW#I_Q&xJs@O9kjRV*KAO3EOjyI2Ol|*>WFv2X91ibLR zSp_2Ds;0Ci2iZVPx2Xt}3jQ}@^O?Jd*R6wZJ$d|IvJD;#2R;qi;H))1+jKDuHmq<# za;1n&gEb;uyI2)By@?Ej{#94i>vi@lfR#y}y~I;86zW8w34?IDu{D{kE?MV#n;Lz_ z?Fx9D_5r`6^NDjD{T~C>Td*`o@RF%y7KqQX)+Vp=6cvX+Vj{2OWi>oR+2#IMsolTX z3j?%FznMe~?WZD16EXFWMjj)5X@MP|mx#mDcf|^A*rV!g11&EFb}e=xm_L~5uCBiy zQY$S3x3}(E>{6{-YQ}e}Nzzj_QE|;d?Ys!mwK*5 z>o@E)3t*aM>tg~w%KtZEZPnPGf!^J~D!`|%p(%~uq4&dz zea5_C9WoFv=>i|{2{NM5aRQE)g}x?Th*f*uu0@-h0t*4ceoB+tAsk>g;AelLKNURR zyY_^_Uc^WNmbb-~n8kb2Dl#e8bJsVmuKPixrS`=Jx>Y{&r^Bfe)EJF*7pIWx|R3{@n88^jC+8BsT`q*+PL04kWPyLsRrD4 z?uw_n=zG~0omkXXx2^#u^P-+Oms(LbP(US)d!9!@BaiPE!3OuhzZxvz6v}^DBbY_B zZt#6@C&w4QJ7br@cP;4;V`8%R06>-6*4l}o>O@931vnGKK#nVkKTrT;sayQ3^iVs! zwjl({HmA&2lR*AG|61Hu@qr}J-Z**Bxe`Z)MIY9ZYw=Nkh0_NId4eD0r6wn(^J=yw z%JhOXpB$0c_4e}`_js3dN}{*>=0voBa8$QnFu`}0iPHR}?hAb_W;CUP8s>d}3Uph8 z*uu|}iLx#@0EpunA98_*qt@`LGI|QKfF*a<3@^rT2az5lIB-J0Lgw(hGwbxwS2*``kIMymadS~IE^KpLP(KqMI4xk2Tu(AFf(6=mxdS=EiRZ~V zz6p({>#$@Y{tRsLAWtNA#)9r~4F(L3=a_or zJIsOvc-#bOTXu{KH4oQNB@P$@WD7sMY^^i_%7-29Iyt|eqeyc;YT4+q1I%Hne(LMo~AC!>swb?iR4A%?s*F`a;RueoifD;HqG#TCs6nM9$E_ z8F1YD{qLkvUYbVC3VGq?+Hn)6LlAa*n7GuNzOJ1Lsi2jOTTs#Ywvek4ZB=6CeSu!R z4ABP1?ergdZqGO`@?hX=crvMmp1xx zjP)npE|F6l5dzlkjg&a*PamX1Z+JINs4N$9U<^U(Ptvh$t?4#b|AC%VeCM*eB>QSG zO$JSYW(iqd!$&cNt~`%AP249P*ZH5`o=gHRra(MouwpZR87B<)OLIPodQlo4YZk|d z-@iCi_Qb=BLrtWh^kmB(cwX)L{Q&VKol@E#`1L?A=5le$Ly5_$^NZFC4kf3RQbU~i z(Nh!h<;5h6Pp_)||_5#bS&@k{5M2a^XS!~xfV z;&AV5NO4c@CM7jIGgGb$pgYVALz=gNn}~q4&~$hih7~cE6BKed<)iHPmtjyg1~(k$4`JUxe_jU>b56(A{wgcMq(LWz6Z9t`IxTJmZ{>jTA71QE_n!m z8tQU53GSERLqF@9)S}Xo)b<&#$lcnwX|r-cJ1_r|1ydISEU%kvKdnT>*;LUmr=D4u zR4dP2_B8uoX?jXD}6@D%PAV~cdMVAADMBr0|t4``p^p%qOnD-VPl=Vg1_X@E)q5&v)V+fVow3!g{;n`P;##38e$};L*X|!8YDC;_PFaPRX1~2qbMe39Uj} zaW|C>7Q~c%S`BL41_&at9jZ<5d3dEdmD`-X{c~KVVbEnf!c7O#KlfF7X+OY0oLcHL6^_nP50)qgpvi?aOBMIN&CPm6yP+2mYDp(VVYryHbPoT z6y3(IDyPSWSJA7%YuQWNO;jbn_FIvXCv7PkE<#^!qd<%YGcE*_t-)8DTcdQ~5m}ca zIti4k_P+Jdn7Jn;t}_CVxF|ev-A>X^ht?<)86IzTLudoH%~-G--qiU8Pt|qPiJnsP z7Qc@d`oE4%iO?7IIX7qy+=GYz3AFqY6hU%=CH@oP-i!=G!-rWTrrsh2hhnK52y= zr9rvI3WEu#{I)l2IvSI4f?~;oHm?XW4b*!u9f(quNKyzWf=-4&RoN7U9nj@qVwnh+ zp`0D7!)N?3Mu?>`k(=ya>oEnuZ5JT>-}f8{^VeR;s?$Iv3e`96v354?__C$R70-Jq z2nnCz%jfQC{m6l$4vAy;iG|@UKwIlF0llaTb+{REB3KS~X2@14cN8e5dGy6Kc6fVI zF`sY@4~$>=i9Q9-5$i`ib&%T)LpEltk1r?C92vMo}J+&a-AIj0W&>l zlB>-o8@ox+k2S2R@4N={D7G?Evj`ky?ReqCd-d=IpL&PY1doY>(52*MmR|n*xOoBu z#Zbbl-FQ6m>)J~EA))2AJ=;qk6Ui782>ZSnZs(6|ZL@aOA4VwB?qddmZU8o42S1+T zlVNTg`3=wOiQ+27_IpN0f1A?Bh|Aq73XRJ~f&eTun7rSclB9j!kpAA(orkNt;!r&4rm3SP8yyLhT63DM*8 zOo!;9)Iht*1O3-vQ6B0lq~FEbz9Y0`ElP207Ia9)c4|->g5ZZK6iATbygP{869j;G zVC{hALTy3X0hR`MEEl%p-snYM?L^8Od>{hxT!Y?W4~n1%J_dP1W>gs~XLjj;z168= z!cbmu;6Xhwpz(Xh+YR=a4?1>D81!7H(8R?QDBRx;I5;ArbX+;JEXPoNRw*M&wD~Xv zheqNd7(bexnIKY5;8ih88q&FqX+sAa9^dsY8%c%FA_q9Zw**J@Gsp;1OFUq)E|Hf~ zyrhu+-B2a+@#bpUi3@HP5N=r0X;UB1DWfMQ3MDteP#J5Keo*)47gZZUOe7k#46vV` zl}43SK~0QGRcU7={T7yaP?6j4qUcoRQqZZc8Te`Ugb1XO%&?TmbWVdR)Y6Ayyy70v zI`jwO8ymx_&ee?ftd8YuU&yecuj6#H;-uaCLq{A4%mQJ+n6N=?EdLQx`f69ZY1VCr z&@#sgU7zT7&v)}@9{P?!_l}0NtJ(5yyhdMF1XS&U=U$Dm`sHD(vN~NHD=-SByXgCT z%1Y|+Vm-y!Xsx$?$~T=bB>23I|w}&O7VB$G3gI@^uBnrj-o`fh-axqIC40s#%b{vPbwx z58XPGwI7ybaEtSWc2%mP zD4D~4k)^=0?lPBl`0o?Up}>k4E*BKbigE+D0xIWQG*t%*hNlp8?Jb+!-W(LVCBRn0 zt_02LXlSGLx{yomFiU+7L=KB(^=b35;2$)n`?`cWlI7F@J@2-p{)}Tjgo}WVdt-xx zSl1&&7&)-Sl>AFxXVRZolBPA0qVgD@&t>Z8=Zp()@kuLDrfqkc9@!?gCGl04Gs#Ql z8hRRNQieb)mgR1sr6#tHGNIg+i z8(k%BxkJdYorg=!o?Gn=REo2@{>A2YY%^TVILXO zjJyxLAJ|)!UwikbA7o&}R;V3QZUU@yAY2n+U&R4l`l{GLSP1;aF!(`3S+sPX1@`xW zM)k;_DgDceOg-(l7!i#TA5KA{E{@588Zghn@OEYO#7)iX+im z5J(M9qBns#8Ad>}wEP1~uj5Tth7CYUCdGI0;42e@pnbgU<@Ii;l?h84EA;IUPL!^v zq5=e;INGh$=zN^gXpyh%SYo5t9?+SWNX-+jGgCJ^B0540qX7&+l=dC&-7O6pS{qvWorZXB%~n`X zv5OA7Y0!k_5Zf9UbQ{9H#3GouILN{IPjQO4u@Ht>L-&L@!RKsi})OERxYy$CwUtY9OAz8Y=VwI$;GA; zzg(|F|11{}Raxmm{4S8^{$amvRZim3nUH3>u9CT&$gzn{DY1ve-FEEH=Q=7W_TB&6 z;sZF_gFc(G(G*4UPvLdaMBub6Kf>z_$qnOFMhu3N-t4URdg*dFly*wP%*&Grh;7sWnuSA=);UKGJ9OE9*DKP4lmH; zbTbI!PqDYA{PDP6Mtab%_!i8OrZ+s!#IujWj7*efJlIcL7u&n(C_S?{I>iuRY6! zy7#BnjZZt4y{^jPFeC5qNrJLI!P0ZiBkA#1xo#k(OwsLQVx&1+rbQU#4cJ7;Eb|nVdt+%T?%2vow39^_)amlhX8tEh;5s z1Y`62c=7%!cevTd*OYY+i;#5U|H3Vn+aO)FPNpR^)>83kABauWPO40+qkeToD3gc4 zVK+K5f(oo)@ev{cm9U+a`A!YdG-HuNMfm!B%ejCl;2(O9$iKlj8}GS|Y0Xqk2%M|# z?j@Lh95pth>N8Wsp0gBaD9XzcoYdlge3ue5N85A9Q#$-}a4T?>7B)Y)Y`i-ZSz^9i zgy#+(%s+FY=zU4*4q9K)7Tg&2&}r#N-45vG#KmW(WEPVygb?r}(^*UF&8Lv-HRqaL z{@FBiZQ;Q0}vc0&ZIKJ|COtIk}|muRFS8Lr;d zy*&#ras(`fmo%H&egRltSy!QqFn4+7B?=gql z#nBJcF?LjlJVBBZvTVXipUuw9(+uxN{)lq(2wLIHb--OJ3oHLYOX{j}RlhlP4|C}$ z2hMP~y1uoZbL5gdk}xh@Nax?&#)yYRc9;!S&x}p}8xdiSTcHtDybF2tx6@R-LQ;~5 zO_1`dYe^o31qD8vsIbns$3CG-sxPRKYgrG56L9WcG*7K7ETM%yW+bQ`>WNbKs_cd| zh?=VG0d*t3CN8XWQ8ktnEgie(Vp9M*mSw1Ep%u+ut0YSfjf%K)xg(Dar-3N0Ca-i( z;o1U)@hDH(RYeQICLHilFZ6};F9S*>p~ED!6?%#0MDRNE1(OKU1x*F=!Cd%hE(V$d zhD;ESO=4Vh^L5UfyUdn^Sd5RhnrZ^?sfim<{36GhP|h2<_x7luLz;ZKibsE9NJ|b? zFc@(<3H;g5I`sjihh>PV9zsV0SMX1{WbRucO^72hzDf`=&;Un*EC~6HmlkI;|sNqUiXH(lEWH z>GWS{8uFhX_Ib)I2eQunFy$ZtHc$n(ocTtg$Vef(>n30iQHbnlYrCy9 zVrhB9bqhoe5+p6JmC*s2-64#P!Z^H-tO@Q*y=BZ`cuiKKWf_@ zjU({@e~bE}vOA9yda~0)rxog<*>S&63mh6i*mS~JXI1QsmSEG6p9|V|T4ZX%jo}MyOMaK@ z_McT-MJ2P5%oL1g z0X;M(sI&$a0Le5fEu~p)8$zYD^3wU>scnjg#DWp5L{w5*#u$5XS1o*dfmvahS#X~g2wU)uD&{#N{-vcga zvc}1?V9qmAb!IvT)0Y4C5DMwHV89mK&v}smu7NBuFeU`P0&w1RIx}Y;!cVX`(^=KO`w}P)emH{RVK8Q7GVf6lVIuO&Ter(@I3ORJB zu8P=I2|Gdb!MxX+9dt;aA8PFmVOFpSHw{QY#QBW{BKyS^h=5Dyp*$$!ppVn$Hr;VVwXXoS7KQl7x43b=-r?NPnQ3?0 zS(#I9+ifi@tZf5EPIhr+vE9|kzIkbFytcUCINwibOepO3IsiNFrZT{;t*mRUHr#n< z=s*3nHsVx2w-x*F)N%IhrKq*Kz)4OniPtCrno;jmaAPQybbp#+bu#pB+2S-bCu z;xDJcVWPbI4);@1dKGG(ueSfsu&8t&jlFzJZ(`rE6>o_;udDBKb425jR z0wBxK$NEA{3Po&oA5LkEpmDf z+B??o$da2##}<{Cz$^7(Uz8#gD0P z-9P`IVOOK4`6vVbZ9t0M!hbv0_P+d1P4^tQqY(ZA3CnW*4v0}}Rm?MH&-$~Ti+1O* zFMi$18PJ#OlDN7B zopOqtNrZ6vm{t5PA`m3|CN}REMBl#i-wgk6-1KcQ-Tc_mYJpD7>e;`UjzF86PJzOk zpP>cJs=+6oBHua@YowefLWxaC|2ZH>n{egUa_At#2iNx$CI1*ZG{Lnq##*`qOK0pH zi1p#lOz=(IQM5>5uKDdL(wmk{+?_GFI&*qNb)Ifvw11Osqo4-N-r@P}36u3Nx~_zf zEuIMzEcH~sTl0nnp(gr zqEJvXz$08!GRByFk-PZY;oz%7zP22YbC=B{GILpnURYv+*Y}s{#b$+9MnLA?!Y1Wv zDWX=lle@luB-{h4nOSB7Bs%Ak!uDIOz#*8GI)AlddS4_t9FZieGa(r}lsKFDPS{U5 zdc6{W&$4}RSu*^^Z+FP}50C(7Awrz{{gJFuI5KKi>OT-ToNuOMHlA}A`+bMvtFl)C zQqQ@Vhjo_qt3DpibC4!V=nXt`@ey%f|tQ!68a9y>DN()Y6g357OIQ1y|b z&Gnn>6K7(riF3&E4QW%&bgE(0y_b@*;d2emc=rw)*?MWeGlw@<3)NBx}ERfB{BZRPRPH{#h9baI*fp@_G?vIV%-PP z^%&WUgv3wPwQF?D_H9R;0IW`qCdE@sl?kOqp-Z z5CLODtM#Y++spf_=2$7U2Qt5p5phOAOK&r;hyi_?uIsXtyvEwnta;VMX6u6t++5nH zMJpOoOgTM#+~WO);9q}ygHhH1Ch=vGKMC~sHjQtY9B_G=7|YT{8)uTonpIKeRz;8{ zh`FYHg&eH;BTdZbv?%O$5|e{1O&uNp`GA0{owraaCe>=>MSmuEb%12o@_`0#L;+&z zYhicJQB{rY>7itbNV+*Lcd18;A6XZZTh=aJaMHF2gm#;xYy&sJz!qB0Z^O2m)XiDP+=OnufqNQsGUQ;CklzD=*u zp#O@h4`U#@+ZueYpCUp2-P>@S+}+q#%#2OT$iBD~g@qnyfQY+yf2f|pAPK0^^E1}N zvab*HUxkcEyQqp=c%KWXcY$y0ZDYRMeh6z9EzpX_8y8+um%JPPJ^>`C%;S{?7fS1PNzo#AdDofPRGrk>k}8kuw}?Yys$uzhAAtFps5OLxM5|I`6d0 zedhBeK*xCR_Rbc`ieb!7Q#`oo#*9jOy{+|&Wrj&20&IPMX349Lh;kJFn9S0SHJ=dk z+6HLV9H{T?TpNc581=8^EI3slVc|WJOWf_iemsvfJF?@@zG)mPGJxWzW$EjCJa~#3 zxdSbQkxGm3R0byg_&|V#PVaGQk%mUA8NA~|djA>`?n@}?A{Eu70gamGbXxc!#lz}% zT2t^y5KWBgGKTi|C~HuBsMT8q9s~X=)Vp1M?NUN#?d-jce^NM}AM*C~8E9Zdxsuwh z*gu%A|1U|&mLLZqq$#q^?q+hXtXZLY?xEifb&?_XcyHyiMvCv}G^`w0q$eH(zyD0;QlD}ggv@xcC$p9^v`-01_y5F|XC6(N9#Ult% z25tw*IywTgL11!OWiPot7cQ&+n=hixdYm_7TPC9Sn)3?NfXk?)*7Hm6_(-w-&Bpx7 zrEy1k!JUEoe+Y?G3UC!jfA5BSPY2o&~@ zs;CRu4XOk2jZ*U?kC1GT8f$~}C)v}`BO+aYPXZg58>nUS*X#J|2Ke;O@jYX-dfO@uTJ#CG`Z-|- za)=*-DTB~K+*KPu(&fcacj6Dyobiy=U5v;Tf%>aOZ(xn@&}X*o7lEfo)kYpwuK4^8 zWlGmtM~6rW7wr%1&CAWes0=~ZA>e1!bH@|FR7TXA%wuzhVgxv5$cDstisam*{(6N3s~*q01IaJ$7g^aq@9P=VV=vJOo~Y6vAlB(a8o5tw3ndl!8PZ_sme;NrV#5sAU+*==$2%O+ zK82Y9Uf<8T`I%tlC_QIQ3d_4X>n=1R9xl>~y-W_zL8YvfB3m4cMVJ1p2W}qT*Cj(Z zzRAv$TMkXQ;K>vGcnDY>kum7P=MMPLOt4)iHn5+S1QuE3o;f2jRCr=TYfdb@F)P|EGQYS zmERAwK1vv@?#tK-#0;o}!`AO-=YWrN&jejG>U{AAuOPt9H9|AC3!utdqLqP%{}3JqpdouU$7j-XrSnL!pVFp zexP_Z9QM@e4l5?zk57Ks2RLd3#FNgMf`Gr2Y%+G9(|yAJ)KUxBdTLdX-+_x`7sp}% zZ(zD!6J2XHsCyoEX8VS_TidmpUdD5{YM|we5TWtLXII21oN<|O0Z!!hppywpKo6+# z7y$W^H6wNjHDI}8hi|hW4gf{8yB3WZed6QDai%t znn2V|=JNn~&C<3JxJ7S&T-+PhnqF6M=qEC#dev1@Z%p6 z&^z)E8o2o^Sm_%x0T{94&(q^_u1$>~=EPWaAbaXZFTtVemmvBolUb8U27jMz=5QN2 zng1s>n@}WL^j$z-CNzya(N*T$^d|liD7xr;uy+zQDbMDH0fjD_-W}XaPH&f8IMAN3 z&KOAmp+%@6)M!tLcOU(jRc^U41Fu`$2EVBF^bb2&cp*0p`b1eKP$rpfQWG8JHxE{hFlBeyE-{^YwbOmFC zahr$UFTADTw-4>B*?_Cn-Gx4W$qIxSOE2Ful&@Qb((C89fx2Dfbz%U4-=iI6fClBF zLoq=S*Ts}4x`qGR)t5fQqr1j^$P?Wel%Z3VY9~y<1Jx=5t9Lu+nTxU!V>MpjN&2a7`jhDlLp1JLUIOXp$FxKJl0%^rJxN!8_c zc$D;u0v_5fpa3=eelriVpjteM#m+1YM)e|f(%Mb9gA|sbP;39jVj7Mt0pfL%5uPps zuf=(qpfchKsCGnZ4w{!JNFp}JQ^sgOzSU%fJFZ_+JzgE0fX3^#0PZGq7;OzQE7V+f zZueHPrk{{UbrvQF?g-;_W)8lze%5L&5h;$#al#F<nwQm5AWZW+b$UJ~?G%BVMr=pb`$S^?appy70fAZB`o~c5C6{I^KhCM>=uJCXr_p|_n4$CkAdp5y2D}Uz-D9kr=L3LIF zCPv`+oW7J4`&o>?g6RQM_2ma$T>Qf?Tc=d|3QhswTJto#0&f~Hi)~;49-9dRQiXmH z5{rW}5e7@d0P5)UrfN;U1>R~_P%v1w4yy^jm?%y;^A1*rLC8NTC<2=|jq4$%`EPF^ z0o0K?^4uYcOLduuat3*FFeFXfh^^H5qlf~Qye;)Z;A+{OM4SRC_7VUB2!p%)vOCmm zU?CyN6d3{ffu!IDZ~DNnt!sLW3y=+Hp6-XqE(%;IYWz0L?VtIfgaV4*Tr%VIZybuA zsa5#INi|coH^)hjKeABQH{9M_Qt!-4MiR<0*a* zKnw=B&(XDJ!UES&soXl<-%?5IaQ-=56{aEq2?(lBG^>ehzg`$7eS|f#0{GU*B%nz2 zJE{X<6`o`W`LgVJUxV=crW5vu zl8Ud;gMRaPMsShXa5Ej(r^{hIUc#UNzO1!jlpEcd4x;!Y@qMCj`=cb&?|V<5kYB}K zK~Ahb2t1(QKuQhDUIkIb38(70^=GqM&#=Jzk53ky5wpx_Xbp%~aoLSs`_vSX5)(dD z`U?nx?@fjM05c&7t7v9^ma3C7$!1=&sV_6*7!M19c(?!D5l7rdgWr<9xNx`ohrM^k zSmb{hqd;cz4HRZOP|Kz^b*%lW%@u}f<3*v0`y0>-_fldiZvGoJYdY?-7Va{zabUXm zR(PZ>9QHemi4S1`pF=*YEcEb-!1SLj18U*Xy+H|Ky zk-lc|RdhL>dM6#(cGKu$4{f5{#)&G{-=rFU+>a+{T&m3^t@mC*N9@O3Ku6Kt)^rr! zF*xnfVRsP8JTz9lE;NG+YCYrAa;Rj+4wthGT0a|q(B_O7(&Z%4bfE@l*2F+dwZkK1 z%oJZ(M%Hx%oSARtoj4H)@^*VP2WBZ}gk4 z%^mhk$!c~}-!rdP$Y9hC;!7S1k#S4{Mq@^6;{AhKxZ38lX2Z_@CdHhuPA#K6&M$IuBVU+L%3L zZw4-~>h`A*P{}y`zq&Ke@m_3m^tb#E`yNHfELyTcZa&;;xv=dPreYk-?oz`>Ynz-9XtY7Z}1z&PJbL{aP zW5n59jblFZabf?teBz%3dfp2SV!mWddbhJ8|C2-yiMJYaavBFl0#5pb=i4W%*}@J}_1u{;>rIuOG*ReIyyx$Xf~o@N1Nx96qi`hqEfY zGExyp;IXa~n?4w)P3M|$ysXpT#(dRFGF0?DWO!G{)#(0)Sx+GF z_au+fl)I~@hG2xDK>pL~#!>w4W^vREOxY^zuOx1+v1_dOLKg=IAOb+(90Mcy)T_?$9tKjTtc=s7>ni|ZKVT};JLGBA zbxj40nkJQ!uCFn6GBhENDu0UQd!2|QYT+Ij*pmH5*WgA^!4vrfnCl8WI)?m0VR~wz zfCNxnV}h$Cbl{vXQ9mpOJWmJUte_}H*klcnhoiwV*irH34=Z~#6w~>SM9LBXFVtS9 zfYutkRIykOK#|C`6*Z@j9w$M`k-kv-L{sS$^Iy0{>s9yJgYEz^fPB^W$9!1N~vV}U?! zxa8^1r0brhsUz`y--VCT2Uq1sU|$DkPWcC`yX*y9pyR%>jjtns)1Us_dZJk<-V?u{+&BGcS4FSmfVr$ zqO2sAc_7o{DKnj#xXoa@1GC4e+I0;^&lfP-k7qsYQLyOj4U0T@F_Ts@B%z=Mx(APP zop2y{=;|pb{P$|MN}N52TeyK`wUPbW)rr{rrO)lFW9bLaB!(j?zXLrjJR;1OaAzHW%+yZL`t4jVKk!HnR>lnv&f+nntWgP*# z*sVI@Y>x~Mf5i)T1{W90Wnk?_w)(Vc?-|y6c6Tr7XRhk6&6VNzeqq|B!6*~C+H~{~ zxuMwsR|$Z>mGAjFUul0cz8X7*AX{R*=5mh+AOBSMuwM(4WCSumH&lyQTx>Wyw83$E zeO#)!@`xFhJcJ*@p2RD2@oj8Ex%7M1cP6VxR0eG*bE|DutM|2LY==T<2p2GxcMhZNbc~k%Mzrp31JJTJ*`qobQ z2(%Yq?O~D0_i9?nalVOaSUdWzW|tBZyJC0BT?|h2iNxMYx%=6U7(8qtK|htdqC} z&e@*icCN!%9Iw0XS#YMku3jwoh7^C*E4sE5&b41z)}u$OS85hYw3wKHC7PMg52P_w zvy-CK2C{@Lha&@TitU-JLm;kERiM|U$)UvRL36MV3*d!!>bBT8N6CuQ zpULw=3fE4}<`OIKH3}t}PWW>pfn1ucY#jb+o$%Ol%DZB@STg@tM5^2Z{{K$NUJFgK z-PkobHASP*XtfNUXf6U8Z=mI9-rbqPH&;cj^`Eo)Ll0mO2~pLt62AfgLlYXX&5zj) z{;;^5t^Jr=hc8|1>ifn&b{qX$AT93Hd_{!WD<%uUL{dqzOvD+q>rm~=t_wBc!Zzu5 zdL0|BGQ0vVtb;Wah_(vS;Zy;7c$Fx$zjhe9myBP+?h>Ww7xAeM$lqkQ6xEn;p`m)t zE!tsA0Y)zSDJwxM?)9IUk;SL*jVy&CPNy&sKdbEMQCeMm1G zBF@>3E{7~H!XUhS#V$`HstY*=udxcd1}f^A??Ei^mcvf>AiWy6c@(*NjCi^6hB~^* zYcaRS<5S%D9muX4l~EnoEs81ES}hWePy)SErp$?-bG5Cdb*5~|5vcFXlx; z5^NhDcnw|)0az)dZd$&?W_z6ugb-vNmqaVVvhs3zeG2G#J7!_COv?3iLA%<#xN{-M zbEocL@05<+lfUtGOxK6w1!{2c;bo^`$_H2!Z_^rv935SWr@Ngz8Ss)(lhi=m_LYut z6Tw!!-9m~3R)D%qUck-K0xw4hen#@SJkFa@-uG~K+Am8}MVQsqEm~~V>j+N;$V+b; z@b-edBMETXuI$ZOF{^O3V+~zm)!{T1?FOy$33ZwZ^fC(e!(KRGuh>FeqX~9I6}Vw9 zd7!TZ!d`$*vv=@g1a}$={jsaCAg&OEzvBtx0u#o>7ktP|q2<}puDAxT-=1b286wX1#_|s&Fyx*0d~BW zg1k(EyNz|a6T!<@_#rQ>wd2AQ%LWSgv8&`TUQTAbjv&0yVLb1RU-*LZTS9rMp*#;7 zy)f1SbDr`5Yst9v=##yuP5VI(~wuzV6TOsutp%Sl=KVY5ME=( zuu#xf{g7A|$Sd3pc`cg0_GHj(qhXh zcs0<+h}l^BP-GBUutTiHvq9p`F*7vxhj}*vbGEKc$O4p;lZzi?+_K82i{v0A20`~l zsm+TRL+D|NFqKw9oO~kKiqO%p(~bpH2jId#av#yN6mau-$>f&(-C`#61e7(d<$(D2 zK@(>}@RXnf-=QSx*Sth!a<%UXMYwP5>^Y^SuZau9JI`CU2{_Ac-`iZffM|3Q+?CK`$HfjxvR&Z>_uyje(yHf?_m3qTyY&n|ck%Zz7Q&&&@aky$j4;osRIgoI7v(GT zkqhBsgQGB?_OHtKJjz;p56jM)UBo>%-Zi)P_9`ivDkcjLW685M5wtaIz?ZkeB0e`i zgi!|06-$gdOE2a$Puu2?N_+)B1pd|Dz>o#ZmV!6Nh%hxpQ0u_C23UI(bmowJbvw-b zORn1Uk6y>q=AGjD+AAJ$#A;xMXtSv(c0~vE_r*hDS$Bgo+JyG>Xg!@{@bP%{PFeSd z*`{i{(1r4C6$M8S-SSDan}4@5R-({=254L#)0 zLG160i#yZNDs@>XI-Qty_a6M~RXdk@;$4|$d3*){SZ`<+rrET~uUra1v;AfxK zR7=}IfSI+=37dmMy30``qWml~jlSVcIP)I_eK~K>tbIbS^-vqrxZhA4;m&Yq4d)m7 z=s(BW@w#8$=e7}hIqvAbAoI!_d(Kl)M zEf&x`jQhG67We98w=6VHhsZFi@)RfE813I>x%KJz)YZ(|M@z+iIK%1w>X2g*{|3QvdZK(EQb5Qw0Mj-g*AZi`BnsiRTgdLPTZSeOXf6A< z_xo1YxE;nrQH|X*;dxW}S`*fogrYxj_Y@!g#kh#Zk1|EDVqgmew)^3B(W`Z4dFAR_ zqWoGn_X*ect(Eb${CoFODVDoEsP8+&_tLRH?SFGl`Tq?tH}hqsesmt=MSqTe=l)l@@k62OoM531l~R~C(M$5`1cwU==j+E&iUsm} z2--1&u}E|OJs4ukyyoN^OoJCN=E-8ef5giPzA)EWbVk4}0YD#3T<@Bo_*e2g{9?rE zr8Z5vHrJ&f2Y%9l@`Vm{%ma5yOKZX0>FC>*b6qujhP&fgnpN^^6({HWA%(dgE5uH<@@G zIB}V~zb@zQ#2W}lb@;~gB{l-~2I9wb2X-5mW-sh=2|f_aH1N#i2;z9&#cf+aW{45Q z^F5Nv4+jYd?$4i4+%qq+=JUuK%4pm<6LC$bFYWRKaYXwhw=ex2#q$ep%A1d~HgI|m zbH3|g%ra4M#g^d6X-BW;&+XY)7i32n*587F)s1(~cbgh66S|NqilwK2B!L9N4WTU% z6(^h#x9U1VbLLu?jz{> zs$l*JuS%Q|j)3#2{bI(h9#QV(8zQvt&Gdp;*#CNfvdYN*_h5m2996^%?8#l#5vNwW z0W{#o$BWf0`u3nQFoD8#v-{A4#3>gpX@4nzPPT;KfEF~5dc03;c{7lmt%q)DUN<-l z8>jSiY{_f7vs`QoaXe(r2|a+_dpBPb-o26kV1PTKj(pyp(*rBuH@CwxT{sA=6#9zl zN>O>lFb{XR)|tsBsglKnUnB?*ZUiGlV)G-wOh(!Fj|BwIoHDJ;bhQv{+!Tr>e}+lJ zmaXfJRIHouoC4JAS)XtwYuTV%4)*kt8*eOA!24f?yp#i1IU`y`_4n(U$sLcTJB5J< zQ3?E8$n+RY-rY7x&`eATZZFe!?IVBUKt#s=2BgP>kc-{!g28vna0R6~!|=vFo(H#> zV-3U%A2x|Ixd%C02uy-xf%{9#aNT=P;e@W}1GRBL^%jkKPxXbVplr}Md%Jscdsk03 z98NHqA0zv$FLy{0Xm$o^E4KO#6ub@;IpZ#F67zdISkl9y+x%_#*_Ec)1r<*6rkqOv z)j-qVsLU7f1yo=%!3&^z;h*jdyIRpWMI?qPNW9@I>JHK5iIbuih+P{Rr!jt?o4AHl zW>s-~>h;+a(*(3A1ZDyxpU42DN{=Qs+iG3lGf>pVpl+3MZ3_YzNOHZvo;RL^VDaMpQuv=$&dxrdKeAv$;8MwAs#}*v=_js(6s+tGp&b#}gni>tXCI z)E?2W=4j$h>r$*VuxULvn?P&^fPfunwWQ!7TVc%=rp3r=>r;^Y*ABy4*|JtTq!L(5 zF|%iKH;!*i}>lV(TzSUmB%EeEkcY3g6j09 zzGK`l?!i-}xL}`ObSmJz%8GeQ;q^>;YsYxy{!G+!oCgE6o_Cl|pU+$C;NgjJn^1sn z4@yp^4+decANL&ya(mm-P;tcoJ7UkCRe>T?4swa$_*ZHQL&X4l*I*gTN_w6@uz3cqy1>{9hbuH1g z?(ik?RK%MhfOXTgP-uD+CnEOtp)RK;BSa>pvX|y1?UI-VRpSQ!YY5M))J6Y%d)g>! z2}dWvwEBcy=yrQiVMFSaBApSN1{wmvL2v7z$iV*#vd7Lht^seV35%KZ_WUdSlVHxB zv>oCvTi>4j5B+!RJft1~G>h5U_n6Np9~{o7Z9s++Ul2F#i10sxS^Xx6o2zr9C*NVp zxD8f-0f5Q)&x%s5QVX74`h(mova~dXE}ZoyfrK_`of)GB6JoOVw0J__eq6Es7>ui= zP@tTum$zhg;vQ^A7L_h_22s3pRJCF>LBHKDQu8=Ge}en}JGqbMZ5u%MW>c50#vRx% zqYz2*>fCJW14J&K<63JYk@p^Tp13m6HnJTRv6`{YyvBAXC9vkYbm{G~kF?7x-F z>ik)k(BnJ3pIeG|vy&Ek@noBr^+k=QNxu~WqR5ui6ld8vHpXGYl2FfLvqcnm_ z3t~of$;$G^x6GF>OSRoKHp5ebnMq#`ka=%~nc_J94|^i2?BlZFlvuUE*oLCFlUYo^ zV~1(NGfR*T2)Bd+=SdTYwmu9udw|56WD8e%bi}sTLqt7M1ufW z|IzuhnE*mzg`###xcmx?1b&y?gqAL@iv>8(NbCBfVsn8>TQ{IItk6Jm)UC(VSt0+O zE8d!u&#NZg$0uDxBT!`FRJ{3c!Ypq07w$7cUHc^L&Ss#6t0bHtKejoMlO0zyRKABa z=$R6uSv*9!|Khvw!u9}<8r;Qr>v9WWPRJneznukgy_1?gC@c(|v0pcarHDP(U%#(| zvQ3LcMlojL?9RFKK}mGOj?z-bcMk5tpYV$xsr7OoVsL%SvEW8b%V=hjFqJY3+D+z< zGS90w7s`AnaAi+H2r$pkhz8`xy`>c7Dfgf+x3n<=rLp!X5aPuV10eiIXBau{iZ=&N zxKibZigQ7vyyMNcw;0($fNVRK#-Lr&=WhqJah#s`LKGZnK+KM!0(ZC^@v9^mT4H2Y zTasY>UlM7~{5ogVWEsxQTG`b1mDCVx3QhRmU?U6{cj5k2%Ggv+jUo!=%9>HHr#bEI zKM-3N(F@vePJJr&pA&}Meo$h25pj)8Vd02OQiR=+6I6P~O@}$i2X(+^f3jcIy9^uA z8;tA8h66yp&ur+c4@r8H59X5Be$w#Uw5gyZQ}e~m_Kv@NFme|hNu(>OW|IGy>M4Zu zU;Og_qjagHPH)5ovPGt`jFWFiCgrNU7$0m9C_r+a3Z`4ULH^%%OL4#Ucf(vt!BdOD5V5Qg;EQ8|z09Z#3t_6nkNs)O6HA~~w;m7B=rL`6m60326x3-fPYkA9kqbHLY+o zECgTOVqZWXs@Q%+{Y586#VWd%nSD!I^Gy5APXa)u0%GZc`~~h3vknEszS_N${pzZj z0Y5@8UU}~he`xEZyN6$bzJZ!ICtJz-y8AUPTrs~v)M-ZiN{AgY21A7Bs#_@{iZ0w< zv91_(KE6sU zU=w1k@2f!BYi+$&OmR52pZM@>&CBh2v<7ph+TKr7uCrS3OWPL{33DW^?Tqt=*HY5< z#%Wm!Hz9~obQO20Q&^c3;^_AL(GL*6iB;g7S_+0&UY*cQ&125g7jxvoa;{l+8e{;@ zDm;gy!jTlRUm4dkOB#w*-i!B?sxX;g7~t04`o@+v2_IUWGV0Hum$oqKX*~ksfCR(B zQNMfvrY+f<(+BPD$~hQTpn<))SzB&l42?CXt|qG#nn{sKN!zB8HYLK&$+L|PjHvZ# z?{Lf-k2A2HSgp@=ss3HTJ~GzY4x$F&b>MDCuS&&qo~d(ol(Q|*HMBNk+(gN?gYWV4$aSg_KFBm!^5b}<7QjvN< z7Efd~=X1k@ zV>01XSdPu-Wq`6Q)UQK6fUUKh%5f>?k&;swAYIQQ zm6K?hw~BjB@kgrP+zU$3R!8{UBfDux$Zbk|y7yEP zO?ykb8xpS{TX@g16>rHB#rG7QYL+i8d}h)sN%y!$p9su16THrsM_F}_g^E16Y2g1? z8&}SqgrP9G`Mx@d_Q=K>Z-n+v0PqEtD`XnYcrp;Q8-C-`22}}(O-EWf0h~`+qRKtf z80{5s9#@VU*;bMns{1beM|JhvHenE|$Q#X**5SnWVd@QvMgw1OOv7T`-IZp(D0`XU zd`RySZ*UPH*$E<7-Iw!t6=eSf=0G3?ABQ$-r@Vb}<~P4`-t&LRbNjD}Ku zl<$oRn^ck^PV=QnES(tV0iMAo)m~THQ@cuUof_wXK*`J~e%QwBevx~Bow)3Hwo|^G zfw(n;s9Wp_7+cy*x8N)*FZ%-bQoI;@tk=@xs;%y%gW5Q2EI==lXhm{?sW}PW?LAiZ zAiE%y?{@3~Fpi5-J0e(Q`vKde#W%Z=m9~s?8GTczPa&L(%lWD?`0BiV^F74Z^>t@V(RQDU^LRmPL6`{)}gdQ+qOiPV_cvzkaT!Ev$JU>(~`eIn(jz@6Tp8V`#;@>hzUZt*Un z_|>vgR@F{^3ED2&Q^e875v`xHGPHt~LWNGd|&I2Icy{ zRQ(R|(j!TIMNRU;G5yfHsC3?!Hmm*2~(c+X2NcHA4 zbwaMa3uX&J=9QhLd{uE??E^|3u2<=cx?fm?wku-NY{{yCx4Z*9cGtx$DACofnc3l= zP6D?k&33PV8)Bbq3JHV0DUu+`iGMuvRm??VktB{6x@C^j8r6nrAK=UE>tucAgyf8W z=2be{OZ!k8;nETTZ}_YEm3Uq;5YnmFg34lf;oNpSFEd<4pDl~+FxR&NsV2Z|ry}!Xt1>yDXWwZ1@R3;bWJ*cB)_RL(^GPD==^4jvfqTyj4GyT0AmMq-&vw7bY z`!QeTyk}Ji@tj5Y+!y|RK2aKHAU66$LO&%9(a9&cv`ZnmJ==CD_Gxv!L;sT{;> zx4G@0fOiL^8QT3O5iX}BO~KK9BB~tNQ+nMRo-zc+{4Dq}nfT65!yEoisvp{Fqkc#o z?)t5h{cblO=fuQz9wUpGkn<@2v8P9t<8WC<_y zA5U!;nXj*DuRpjeiun6RWAU9dhu* zFa*NVmlADUHMS$P1wyhrmp~z+xk1|}-HTB7U8M1JeKN+|slfsd(A9c^Ydy}f_y7bw!j@B%?;Z( z4ln2fR_1_)`z*Opum@KLh=$Hm@G;$F&oP@TRW&EEG3VphuP9rTgS?oAd=JxR!DY2J$F9ZmyBsxExjgw4$3Tf@G3_5Wp6fS(w_?K=q1lHIZ6LsVCv?kwX8$nfup~o4p8fOcxZ6{Vm1=H3+D84 znEKzhvYYnae6Ib+pYjFMQrwH4I99_l=9)|xK0d0tV-3NLW9c58!c@kY^&e1SQe#&8 z4~H<_$O^b0eQWc)ePsGP7}mjKhXz{O3ZK|NF{>HDQmtLi(z-*t*_ zQw#uxwoC)jHke8nMpFK|oQqj$tubRgi&fsfe*qufb8-RG zvI?s}KAG|@6mG~bZ!toX*R$L@+ZZ=cPpW)OhyZG5Y|~wB)|_PDbSX5{2S9o>-8AP-(@q2jSbnLMkuECC3GC)5C1bGJC6$0@iDUw9boZwh{}PX-$W9xe)jMl z@%?9Lip8#T$?5oU?JGVsSkmxB#6z!=?4%GZUQsbP=T_uG2!R$Cb6UhZnTvYdZLBv~ zp?We$5OO&}y9(y74kYo}Cp3Am#1YJlZ69c+SUbQp)n5XDenCv^%+F*9j>B4KbiQj5 zUn~!ERG&C2eh6hg>~dIj6YEj+VT3}J2cGvTLAB3EM(1J9KBN;q@)7>X%z^(+-z+C% zG7v|yfp}#_e=IfZy{#S<8l^oMg9rEMHIFt;)S|XmV5a?9+1t=qG2-M%U%Xwz8yfU7w_nZDyvt zP`10j#Bb0PvJGM<7qs$rfHbOvqd)f1?Y3>L!LR26%@6-FJG%IdhZ)TYyzup|%@Y96 z=bLV5D}Nx0?!DS;fYhZIqv-b~?(=E$$Xz+e&aCC9cHez0|7(#{i)cDGL@9Os!)46N zfsA{^rP>9al7{mj)dAE}x!H1^V1~Nih2UqE^l^fZ0LbIk+wwtpL+SLTO5>ts2e#rt z%vQt`nm?jIw>)Y+w#g|)s=neuv6z13c2rjdFr=Y3aPNZiZYWsX4k)Ph-RCUL%Qh7T z@zNXGg*6#uS`Qrj@(X99?mi@2AFDMPLfLCuyENOIZMnHE%^b6F10F+B_svJPQ$pxF1ZSYgF+Axc-eQE5we~8#(PDyTSb9dgN{v$`^)%;gK^uyb7co+YO-{(vJ zcB6}Yz3uzrH~q_Ve%GW8-^*zCW$ew;2Yj`wK6D!0Xxx^$YOAmvztUe-3Z3Qf1%65G zPfDSofG>V&!ZyLIyFu-v)CxHELedDN(;@Af3|Y|#__FFYm(+*}bW)7D zQgpFWBaju})Q!xslEnp@KHPB{eVL`>%P7x^RbZ`k}!NQ%(EpYYg_>`9{f<(M-J-}-=kP@|y-5fxB%z%FrZoj4 zm5(^FY|(&}K{#+T=}O_~u+{DO4r@w?V~*k*R*mR`jw?*Ztv9j3Lat5-KM28d^Kr{7 zMEu6>U0DJYn}+;U9wufQ6}@nfOYYBiQJqX#OVvd-{dd&51dQTGw(Gsc5ZLkMisxJS9XRY8+C9G`YZG=T+RWXR zF1wBx7NXdgL*nj3-bUoBjj2m>at-GTY1p!EJZY?3f)uKZznEEqIbM;Ynj~J|S&wcJ zBJ2?OTnRo(6Ua&(;xt0<#*Az9-(r89)1W`GqeOCZZ^MEXH7ChWj_Z~DDd3}7cU z@_@EId!GXROUMa%zSnVpm4WGTFpt2QT-Y+n2A}JJ8x$^`xS`;x8bzbt!0JCDAN`0H zN^uJ>K_r-XQc-Di8#BfD!*bl^hSU_2E zBBFGD$Lt)}#l^?{q2BarN4eCf54_?73wCgm*1kcG13LCsf?uyeqri`?O%m^5)t?q) znE(&!rL8_FMd73a`bM9qmEvTu`#^+0jUY@E3f%BO$Q+>~48;00$-|oNzy?8Xf0Y(n z7;38sU4#v^@rp4LGl=%anQ;dnp9j%6;I>nbRFBP0-l8o-q4WZ;6)xUvPzBm51F)WL zzJoz!3b4y6D7vEqtN9a3nNdq5%`g=@u}Xbb(&9i?UQtX;3PbMk$fp%|1Xw=!;u=2YTsW>ykPnR3UO%{iF}VB^<+qm8BJ-0MWcENa@!|L8J*=$MCW zXs|XX1I~fP|I46!M2+*P^t%_n3PoLGa|r+G5F<|XICqcDIc#kk%hw9F#~55{0qWb zC5+rA{lnNkI7Q$qvAP%>1-UM{9T?GpeMQj03Dg`Mzdixo&vl&vq^$#VMWfBi~6E zEtU*LpoX!nj9>({!Yy2Tp7HC4y|K;?WrHz(9w!;W%M&`(&pdoO_@H0~ z3^=`;XmQH!y`*algR8RH^f1K62_dz0(~ZUdmD2rN;N>~ZNM8g&*;uF09s@#W>S zmGfT?{_m%`|EAsSO`9ypgT5q-Q}cyu}f%_wj-?3JHP0uem`uH-TXeAJV-E73huTSDg)4z{uc9a?UdUx6xWEf=@dfV{OVGHcH-hvV*!KG~@8 zxDTNB1E;AEXe>z1R!TH#ihQLm6pjdg!MMZ}=WQx?C6Pq;*H><%)pi5yD_cCGpP!7{LSje9 z$sK(<0`;p~1!$ah%f1+jCBTmWUM z*wrz?~Cz=aXN zc!c(sbCjF|o*iZw+}9#;XdBsZ9{4mMT%nv|7|$Kw6uTUEY-PhU2+!#3GY&UK^%^Hq z0?<9e-+PKbYv$V;X*}b;F@s^EFOUl4Fx8m|+CB>2K1EBEcuX&pJ4NOTlv6E;3C!>z z&zar9`{ zzO#br%F*8GkM1SpFpj>z3NV4JCZ}n8vtwjtRkQ9<1FbHHG|k!PlHq>_ma8s3@gTdN zJ30|kJF;uKqfN|3a-UIKVkQ;5p9V>3rNj}mHE!5T+l-FeS$ ztz6We@WghxYX8M=t&Hsq`@YtM-S+}+w@Yc@^|sAE#^%twH7WP968I|cJ7uXQ!X^@E zEG=A3=4H3qoQ$(J9COw*Ch$$^IsFBGe}e?S8mLzVx>E^S%A|eP`peK%YFHk1Y9;v- zcO3M>(T}dB^fTzE*tgjC z-J9qnm6*+mdfU6vGg@jv3IZMeDTZvw;@Pu_Q76z6R$G0Ye`U36Gt?%n)_Cr?Xv;dX zPam`afhv8pOanS^+N#Z_F`+sm9i!`fO%2_%#G_!YOH8)0~%|7ans-t zTXlu2jLTUeqb*%$9WkYI#@v6&i@qr%&5ahM+bgARH}?D7JbqharP%HG?;PEf5vGcG z)~TenxH7n~G*V+s*BKiXmbQk*y3>!A)-AQR?&0OADvOI7i%w`(s1uv@LK9b+Yb(gx z`o1HGd28IPSDDDv@3O-|J+Zb}$o>9V_Qt$eHdlIY4d(pcKn_;GJyF}O*&DnyxAVr% z%D~exp?y86Hp&?z7n)Nx-$2@mc8441XL)-JKF|^Dm#@e9@f?hgOc8(IGX~qXs+P!p zkF}=#|1K_f^jY{Hm$%m5zPId~teNn-zrCo~Up(wfpW%@6IgY+89(zYQRmtaWu$Mm% zbK`X$*E;TtzCP5^wfb1&WBYpJZ1ljq469~6OL>kEe*zDvVg_Y)B-=kxyO3l z!A0EGUEr{7;@sXF>9c(f6uGbyZozKL&9SX~v^HR%tuj_mx^LWVpF4vepWiccK~H@# z*S+jBZ?xv+z0LRDbIgbSQ@u$wCsNzT1o`j7{mnPr@+SY5BozAR>&5DJKWg{ye;$*` z%l^NAV;7xmN&3iT{B({-5{GmZP zQBTh)_=>wIB~LCED;4=#%yUDp3X|*UV8>fV@x#%mQ8ge5+lK2nL$r#;-GS{s3TVia% zhB=V^KDM%{ztN4J``y-C$JcpIdr!~p|F&0Uu-I$<#K-i!XMfu_%ZM2}p+Q0RfyO<)2`QrbsW2V6u{kH3&v7yId zw!0DOyuwX%QrLW~uWNeqCj8GsAKQKSZ&ofF!PnaTd@+k!Ybth$9zc`8Z02hDm8#?}^qLoz-cz1y5yr6I3zn-s4lLO{<<4H* zKl_iQC-wna-mT8}>hr_hlERx}#TJ6KQ7@wj9X)2*mMz`1;*4I>!TT*Z}8CkJG zzT3-tE9x5hNTnt)K7b&C+I_sBs6lNvYr6lW5L+6r1-u~r6qKKy&UE{;;MF!Q5y`)? zYg(^xGPo^+rC*O@liJk%q)wDua9{jfi1va-%|ND$t}`*;(4Ks+PN6AJW;Wnp-LjIf zpB9AcC8Yd|`d*V9%aY6wJ-e*-ldW}>El{5;Bt=Y}7?>tysR=AqC@alQZbWaNmq|Ip z5l3PPaxj#Qn2%5Nf|?a}W@MzR+G40M6+ez5aS#hU5;P1tOHS|Oj%Z-_P6$O=Cgg|w za~Z&PCG2q){o_a7F`0d&ZP3a>7Di~TV(`&aZI_+w=Lg5|dwio4=Z9)KXGO=Q*oQGF ze`I)!@>(JU2>*R^J^k|jVc;3Xsp+u=#%A1_t;x_H%7^=QGI?ufa!PfarK=X?>#mUK zN!Pi2T_0(U65{25t+YU}ZCoK~V&amFTL|p?$o{-OnlsGddl$@4!qCOtvyL50Gu=b<8Lh7XmB!W4Qnn`7@R1R@N!Xs5FN>%?B+5{u z7`}Ox$N)r}Fz1};pGpKs{Zgdw*4=d}SsnZ2@$YwuCO0_4qR6v>^Nx?D=F(13qDK)w z)8A$(c#!GU**(XMF^zqF1qPp9;qCB0k#AzN6#bLe4~lJKHh_Bgo&xO^Hk{e^=JAor z8ih_|?&Us>dwnvCeG;*5g*H8F`}|L^4A7g%_ny}Q=xH~($LjCxC6I)I9PCmqpnKw~ zZ(W5zA<@vvLd<=t#O^AEUOkB1ZO7Oow|w^yDMx>TfW`^2>+nTp2$XK=yJWUC-ypap zdAl6F2+%y>u<_*nX;G2Gi9Qp*z%|%%%%OIbR&(5V>-QBv=H-kr>+R>&3=Y9eLzJ6>O2X0GL2-iIUw_`zQh2#gRqL5OmykZdzhTS&Kl&QjNg=yMFp3w0I``c&X&$&!IaWiJ!G53j<2NA3E#^c<~3 zbg}RSlFY8ZF70~LX>y*?{>|QVI|yRy-qo7TyiVPzGEcx+jZ=K{MP5XM31s5|7pHhT z_F0$V{|rEipCf>VGNz!sb-fQ^bnL17T_Yo7Xn4(H@BPmK=hYr=+HXlvsfQG$1Gl%7Pnr13Tc zuG1YN$H(mj`%W|fD4Iw|41QuAT5LF*)6fxdpWSv~GH7R%otU`@Hg{d)7vvG?+ePsH z$D&kkp~%}OKYc-Ku^9^=pSXH)Djdi!;(dcAMEK^0F@JWpJezBaKo_&L=(bmNS>0}n zm4}3QrkXtjEGP)nKT!f!fJe{p0F6bVH<g~PJl=PE*G9ZGg582KcWr@ z{`>618!4v~rma*nXVRhc;jTu0@?o+OwHOMn)`SB-0ZH}Qf4k*$C%S zY9QF-3OpJ~USc-lhmu&hBmdAwq1|Ah>CgP2NB)nmmb}rcdTtIWvfLpIS~o}{w(cpc z>GaX7dT5$65A~kE^$sD3x<8Jle`dfV`=|d*o_T1TP0~=sb874c;h{cPqzLnq|!H$(Kj!+3FKcUu>u%F`H_08lxyY@^QvPj)HF0 zQ-|NyNnz(C{A=wix1Adota$tsVR7KKUpB^hf3V5`%4h6`!(&{%{(~$i}37# z_%fBj#GzJzA``@=*Oc9;e*|oQETq)k^!Jc;Un;@@xaFi&}1mXwd@4>B38pRlP$jW-MfQy2c^gzp;hm(!|hWvm4b&!g{U4Z?_T1py=A;b-AXSeA5 zIK%L--3aGyDS-pnw+$HgdeBDOhpCWD+R7&Wu$1Fz!UASG}cC-5TO3_ z%@FgyZGGovv?sE(AUHK`Pc=lH49=G&n035TcvA(?uf$qnV+zxJ+u)7DD?I^Uf(zbc zV+m**nqUO=(gnD}=#kvZN~7M@^e7ZTD8)?iGA>gCoS`(d1rVY(8%c7A8c;2g%dz$F z^h2yOLnP~YKgZ<_*Pk8S3LxSh(<_#Jw#PyUa1``-Eq85lzs)d@UbXI$=gdV63m$6485s#(o zwRgq)Z!ARm_AE5GAj~+YA^;=n7H_SpPY0x4f5D{(t6X3tQpizv(Y*9R3*JIE4 z6LasJDek?@e4hfJl!o*t#eVJliI)Lt;59h58~oNXPxLewoFXfw{Y`W`zumI*_3|4paD^vQ?Oa}`1N02M zV?g!gRy&bniNKBaC>hWtTSBzN_)i@zRZ{KvVuJI9N+f?ndR+F1@6*(p#dVBfYbY5J z1_@|o3U%~XK`jRM&BTyiaWpKX46*qNe4gCW82vFHsE^YPAT}bhM1Vr!0Hjk=@sZ#~ zr?Kh|gbP%~cBNH{HwUYxdnIY`E)F!{+8ap0lhMi3AKXz0hmbJy#r(1%d#(|nxGbZ7 zPU40F*^i@Vuk6xiR&z9{2a^SZoIQJY+Wz59^@8X#W|m8+@jHqZ%xcRY0qYx*t2(!L zf_|?;&;HntD8c#!4L(UI?fpQnQQ27{d*L(#HQzy?VOAoLjW@`+FEDy0qXrnBh5V#P zpaGq4T#z+-2a%Mk%?c56;|lM*&`_UcqeEc+H^#&H^5BW^L%b2P^Dj5}9wy336A0PT zyaxh#PE=B<52E~IAo~g)4E_~??nn%yLh`#PmId3?^HYKnYXk1sQ_BCA?r2C1w7?lP z@ubnS0q+q}Jx>+PHK3Zi#`uprL|&2i{F4>-7$tub(@VP^Lq7SLoke-4`&9YTSl~N3?2Zx*cdbGSSSc2e z_DI*_fjVV*?dsP)+FTs6c9@Bj?Kk9QW%xc85(;TbSZ#}imubwY(8A{;k*3= zeoM`{*JH*7*}t~$(u5r0wqMU*g#>3ScB06!*WGB(u+}LZ*!vcq!rz-Ku(a&5*u`8G zOT~12;cwiIZoSra%)cau0Q|g1wB=@qPnRb`&AZumj*#BqRy^ry0Sf#@~rv&GV1NZoDF923UKm=oE6ar%JN3BA)@4|CzSo^cQPP9y;LABZB5t{~9cjb@gG zuoJd3TA1#P!%MHv49dx7vwdV^aAvf8@WwYxWye0JjAJUZSiZ0^sxw)>vN5hROf1;b z7TR+LEu})iJM3>vgYXM`#?)k_m$Q|vOLobom?38shq@r?iSB}yKdf$mtZws{K})%p zGWPUyGW<<{Sjae4zbv<^*SXg6Ui6TJe1sNXSm(m`nOLdt6$k*8r2ofyyYce84ZG9> z#d?C-^kG+QcbU{t0x|+dtCCUX{S-LiSDwHY>M2E=@DvqVHf}NjfQ>KUnIEscQZY|X zd*1?=i?BdeSQ@plEApt+$WCa69IJT4-iB_)A{1CCXi+|6z!&4@=t2}L&Rz1mGNe z&6wt7lQW;?T3~2~qni)|sYQ=@vkhBb zHwl_N@0{M>CzyQpAhg^}6_mZgKX&Hmx|#)o?7PvAwg;j%l2`*rt?ms)H` z$Is=C^{L@XJdQ#r^&_q}%y^--UwqiM>(!&S+MQE4jl)uVvmHz7DMh^nB5lk+j$t7@ zs|K=(tHhCsyN-mZEygEwWXkWuy3Dq&?ukHe#M~sjMZO{bu|?yXWRBq8<8Q(Z*8Ef} zG@jyxh>KZ8th)Y5(X?7D8k4Ir7rgcTU;R`{8L8YGD~IK8YIAc!X0{)7lqr4$N$g9q zChj^554c#EGeFR~HMOIsx^&HqeUT@Jd@%UE2@&g9eluvD{AR%6=PqAaHyk1)1eu9~ z7ZR!C3XV5uv0I`fAKdA4v@mPN-qMy_$N3jQ&yc@%QFKrwF>pSiaJ^`AsvEU;Fan}(*90X zQj~WpjCv?0<<=_GUIqgb&kw<6_{r4~*9yi;l9+3vmehmiS3P)S{nYm){#L%XKNn+TOWD;ST%RbExHgc%V zX_zFHp%iWl$+bJIuZZ3cAfKXGR`B{fvk~Mu-ZkV`Ijlx`XE_M-8u|aOu+a~#TkL!8 z&GZOTvAY2;o?B}pFmswqT4DEox}1b{#WryFqdk4bNFV=KS1nb6rz?<1Y_G(WCq`cgdJ zi0|DR#a1+k)1r&&$o=&pAEqZ_mF zaDMRBnX{|jn%yR@g@Yn;@7#4!h)9mhJUwATPS zaDlzEgU-uudCQJ(HYfV%PS_Xr)4!t$$oX~PVc~28|81}Rx)tJT^*&VEc=Cqq(S4J2 z)@_Ze>}?IVT}o?j_6Ftky0*q%-&Aiu_so3%s1<< z@j|Cuw$BR=|4lfyBUND^RT<6HYyQ9+csnumOS9eo=h$<1)|xmF{OEf*7S?giuN>P! z{t4URj%?Tb1_ESW?Us?NFJsjXzSSh#o+P@DH+h!5C&A5zNmhp>yPY1 zfZxV=pgKOk)7Wuugw9K!X^V@_`m@I-z@FV?YXg2}-|Ii=*=>T1NK8AaCLdtSfZq50 zPAE?7cfjNw7(PAH2P|ilh_?-Ba0g{nG9y@USO%Fh0$>;u0L5@z7B$7OWNQ?hwp)>` zgyD5`4{MpM3LL-$p_YM>%=>_xGY7i8FiGSDNbHx_7PbdfvCK>w4Fs{Qn8} zqt2acdfsOCA22-XVZ~4!^o?n`K?p4A$RxA8n%hjKqWE)}p!ynC0lv0{b zN9G>;I=Q&~;yhCyH06k%c2OAYgZDoxWFY&C{eh>@j!(s)`2q9i?vmt#E_zO^>DWgj zxIg)BSgq&L_2?1h`Y7^DqruSsfTcG+i5@wmedgozX!Csc9jr1(bmBZRKjZ!*x`vjN z+TW9i`+`IN`YA~+h!uL|bRMsQ z?|d9*$?_|X3(rlo@oN2&IkAnN7di6YdVrLfjJPgf^=g;>9JQG-uy-oK+2F>d(Q@~n z(;CM}&!^>Hy_=-`M~N@j*fEJ6Wz`_35@R$}HH+^t#W7RC_1b!vZnz=#N-~V%udA;^ zzPnx*)AG0%(Y-#gpDYCaL(dL-I!o{P-ilMZ!tXXA+}YyHeCVS3_EDKr4X4U*RXi63 zKO@~ZzNYu7sH=*)EC+)hWR5>9f!%kA{?1kMY@mbTq1R*@bgLCTX^N?7Wy8w(*(?9k%xlyTdvdHpel7@ zq8c1&4c819M(RM^mrE(^kJ|9`#w6_SR%!H6=Lo03i0u)P8pYQ+_{vTcU-S@xZ= zpFQ#Yl=OovpOCW^3{Y0+6)NZS*X&ls23~5F!xN)>ae0M7QySS~N@aATVo6vO_;>^v ztrEpT_;R(rNoMWv;JW3HGIyzqR%i(~W3+AM=alOG14XLZ79`%Qp@g6YK1(>kAS3z- zFB0GIXO>nMYT>nnwYUox@LWN36HNdIM_^g2mJll7L<9+Vn%PDVvIWQzg#fPYGPh>^ zVtxpy(9Uxtbn=s-I88F00?hOkOb*y?hxRO4G{{``0H6tqI*evZ=Qg$BB**VC9_p(XNa(GsuRRp!aX)#zN3 zY7+Jsbe`mFQR+QI<1%5hIK8C6ChXJmUauEX+=`t51%U9HL1574cV&C^^{P6}&(k(~mUXpn4O zk)X+zs!9M?(2Q;MC&gA;k$eQ9IU~rFDz!6{CnTgfqWSue!qkw`#gvVmXAJFc%_1b0 zJ>t~=kHAKlR9UkdY}vft3YM*4%yuo8yxjsgoY~xzzabKx2zn_cD1FL_WyW&bwenTP zI-*);&|F>vfMFyxx~IXP(qn~E4GuqWX_`6;Y+*lFCaLP@a%{1@zmQ)1S+!g=1J_>? ziE))*sjG{IfbWQ|^cR0UZTq2@BUFEkm$^ z?1=4NVHcC>z5a^|>Cw#GTTqZC=AQu~s{{C6^}YN-u6RNp96nD6u7imrH@%BW9L7N#gCMK_`LPgb$rrWKz zLZnM)V8G|l87fabi)8$pS~KT}xU(7QHdi<&;p8@{SZu(V?v$I_2K=XV!(zoqm-tk~ zwnW6h1ALW2kJ$N|>j2CgX43GvR;@2aooyvH%<86kf~?m*Uh#j5wUs-V1TB0TL6Fte zMC!>7w}(iZu3cs3@5Tz0Sb(wZI*a^%*RyjvN>69>cahhZyVh+DsK_K(YU3Eqqp89dT*e094O>G5 z%PBC3u*-`$wJ~|`Z-IS$RSz-nmqBTs!fg3x|CX{*KPNPVnt_}6)@xY#bgrIpKvFO#F2UXJ4a|C_Kjewqzt%4 ze01&MVZ5Aoe}vES{6E*gMUR($Iz1y@>%DM#yPhrAFi#MMfY!`UoWo3f0!~k<8pQJE zzWkuP(Vo)eG!EamHI`vBk|A={PE3wW6(AVeS}^5K+}x&*oT?M0Vk_AIPF0e0tFUdJ zx|5uk&Sn~ENJVAGM+rBIjbUlO2~O#g|A_%Ys+xPHwO@Fks-;!n1w5J;C60v&rE?L+ zsCrq2nz@Iac99!vxmZzf@bZI^II@pQn2`GbuM$Xe4vD%=#cnoG{!#V%%1j;LQ)j_h zL9XRz8pr3OEyd1PX31ztZ(@#Y{(}8=UnLgn)KF3?RLt>jn0P)a`+Qk`}( zrR!H4esfKeO{U{_H^OXBPr@k%yN&s)5u=`^@*U5%j@v|CAVWON=ky(1o1EtVY^0yQ zd5%FE=0e4OZVn2#yYio>f%3G1ZzVJ(-f5XkdkGqU&w!1$T}$LNlq63jNElHU^LOr> z@$#9WL(K3Iwp;XY5oU8pM@Q0fQ%@N(yt^$bts<|1B6s{Z{j(ezUpjEOY?H*-xG;P- z83_f}<~@&kODzF6`zmTTB>7K}M;I?pqiXITUFYYl!TH@rlO{ zXtes#*Bccd?z zdysFb@5tEIB-U$?Zl~Ys-+aTT)yGylsKfc~f#Cd+UPp3B@;D?~M+3rPRFb^Gc9LPE z4=!~ z^16_#s@YwgO42q7z=JU!UWYH`ziHwh6N^7UmE^=1v-+7cWCbZ_@lS9|QVIUXjhuUA zOd&<+-*+3Zz)3nfWG=t;zFv*^?@_Jnd(>@8NJd0nqIO;R8yqsVc%J?b8SPAxyzYtN zG2GSlMiLmnGny(-ub!an%JDb3Zo_?2aPC{>D-%shX>h-X+0enGGM2 zHGG$Lu1M1>BVqmD%19g3RdGg>1>945#)nu&x>?@QaAon>6@nAHM)7mqQ|U}0cl;Kl zcm2Vx8z8vzRFi2ErzLbQtyu>|oVx6}KURgTS1I)1NckoZe1(CU=0=fcsUvd|k<-Wa zrKLL5LI09NlBx7MYzU{pCE0oh`gC~R@HDQuCWq!(up3;mS&2q&fe#1m~5XX)a~f4&i?)y)BBIZt6LCDmmpBGZ;wSpo8^V z%t#8x*tJ~xJ8-gD5m&^vpHhEUa#$y9Y~$&A1hv9zg5|LA*?9rOXDk00=IqnK2VL5m zWU(z5bx(ft>x&zTx|RI@`p+Ai$dxZy%I`@{G#dRMk|`#8FKbQE9uJ3D&uUTgpO1lj zi9V_`Hfp)gprtMAT(tH=D^|EuSxsVz*1lMaGyQ@IhW%eNcIzh_VRF;-0 z4&1EPfG_!`ChU*dltdSoP@{ub{i=_19$z!d|uWNRM%zK$Dr{{iUxpp4nY!x1kqh_lHe16)W*{ z&1Q&q`9?4E^szKXz=~cqa^c0h3H%j%d9!JX`-hk2G0I~Ce0Xx^72TEt4bQ1PG&Hpd z^veF5l(_C?EE9SzKD8^_R-u&_$UE07x}=pZT8=Lx5W$PDkalReqMUPJ?Da}sHT6Bw zgC$#6a5BkGxjI0tiQ=xqH032i6(Ow`>!Lnj13C^itRQdC97y=ekYZzU>)j)!RUt|{ zX6VN*yTz=NqyrwuU%+cp(U!Lu4$5m0>k0DWcK0-@DluOHagu2!#yP~H)XA2UR93r8 zxPa=<51zH$8&4JAL7&?YkrLK2IcPf9{2=+x_>5ULKE)dJy zcmDUa4~Zb-w66Zjfz?Y2MV~rEgx@qu z(#46CtPvToo@-H zb5M3Jk{`3v<7A*8Z}%eswGKV?fzv0MUiT2Q?K8QfNu=+nVbpoZa>?<`DoUV}U&zC%c!hF?I8bV!kgkNsAte6?q zGBL|YAc5dC;(^WM4sy&x|uKAj zzn;<<{>N!pk4o1(ogs_Fk)#OpLxkAO0)+{=%vk1JcZLLOnC| z5RGu!Pq9PyI{B38xIpT3gGZK>i~Is6#tIb}VzF18#H9D5S$-OtCAqo%2~61wb4^WV zH&Jt#xn!@ zEettO(aSZ~c}FV6$O32J(bjpK5hA1bG*nEOt;!E$XGHRU=%?-7OEw+t>2ssg?XAhi zEGxON6KTV$(P||E>bZ{{w9D08yp=m)!NsyXP!Mf>XE~kHm-WDN!c#EY#ngDEw=U{7 zS#Cf=JdiWYC!6}1d-lQVuQ5NKazq7vVhJug4GnaTK3L}RTx9?TCe5f zg>>To2P+lt$JyIZGqQylzDXMvkH#R-CSv~#zMi@-DQePmkp0$t3+WZfStAGengFc! z>Bz4nOBPB-XB_&p9iOxhZ6E8kYS~_GClY>I&DCapYj!aW*!FTm}jkxyd{3zF@qxRE&F9rao}+MAuC}U^iu{DuZ z7&TgA%gJ#f4XJ-6*bMv~Fe$aSB!zvuO+25I=yt6YU&1r|siiQ!)W%$KrsZ_AK@?&W zc*}K|{&_Cvyq16mI7P04W~3zbO}3cb>QLKKS65ak2i0rl2p1C56xD@B%3Wi=CxO z97?gg-sB$t6`dyZ;;@M0_>d`(PAZo!f;*j!$KfN0{Z2&Hs1mi?-}c}rs60`yIPm6nwx`@0Lt0+Etrmpw zWtVAfhjcN%sT8GfL{`Y*k7NK$CQkJ$gFA~H3^vv{lKhxbuHw>=xjoNJ2u0Dd-vnMQ zfYN9~YLp(y69#({`o}<^A8ytR^oOsWK|dXb(n2RR#Zoh6#M4%OMe-*unF=SrtCaXU z$}$3<)p?}hfpZXl9LJ9FWNyp*>rwM)R3%PNj>*#~_$NyN%%ZtkD4#~pQR0|K5h9Dc zQ3%b2Tw96F`4Y+ThR0@0#1!`yU9jsv8aEguBqP=hgoNjC*I#Kox{n&tJovivUDs+k z^L_@Q>>Bjb8Ns-d7Nd;^>E+NPzH13w%r}by3WAoLmAS^ics>kBen z;Ba*%hYgM#(#E?s9Wgk|~k$XRc3X9z^j}w3SMjfa**$`}4LfSeM^_Dqe$W0JsgS{H@ z)1Z2&t>PRD*e~!xDZLvNi%)k*%*i-fjk^3$V@Hp~pSbKosX>>@VcIiE$Fb9WGAWE= zJTfig6~gSsz^5Mp*g(vYGwvz9HLK&gfR!-USzG~J`oc83jc}bSI-KeEr*$G? zf?LUl)zZmh2GuKMOhmeHpJ6#6_ zNW$Tx;+noCHK6A@(_cWfE0U)K9G{=QMcw=CBKaek*m~M>bB{$7R~-DC73xe4z8s=E z%eCJnBosYK^ipftfWN;=b>(>i>QC|93#KMS8?*Ha)Tl%SOB<;&pyuTVx79BqEmF`> zAf1h~=|+CtDj{fE8q=txtudFu-13OkDj_m+&!cS%K}ir1OC4kJ()v825$E`Js7jVE zg#BPCJ%M{u*c8NiTL$kWHm?^y*iRemHPcRI7w^3q%k*be?1;L@p^&_dCih|BRmlHo z{VWLh%lG_!#(no2-~XNvj(>WO(TE7=cUgZpir=`NW&taV6u5t|KKkk98?UKV*J+Lq zybfYl$mN?WjQkjt@;JT<<39E=lPtNIA=;r0AeBb=-X~Sc0$~B(r&+-rziL=P(Y?Bl z*MFKxC-;>dj+A~vn4|zfTt(nPvJNge0W68yq6`d?F6AiwGz>!!epvZUL2J4~S5FNC zb6e@4t|U4=E0@jaq^e2cq%t4_sFMe|t@fy;JAZ6{mbE3f%W{%=E^RP;T(q4?TvvnX zXORrrUJ~yt9%@2hhmE{NG=1OT`Y1A&2v?E+3nW7Ce|5OBK0@*zY_AI315lSckmf(t zKRn*=4aOq7{Svjt(%_5b-|Pb@HT6?0T?$y~l35Wo=tt4l383QA;QEx0p~5#Abdv>j z3pjB05<0Tv6B$~qG$1529>?7w5Ti#Zi{lu5en~JjpHt&|UKd@b;54b*w$O=8cl}0; z#}}{(gUx-()Rj1)Bk!x97D@kj|JTT@7+V*w|E&C{b=>Y^_4{ztnEEWg!nbL%a6|L_ zk3jh^Gn&d#4g31?-6SgXdtLKMZ5EG;jwy_;^U5mKP6c0lLd7E8gx(k5vP6+pP!OR` zQ+pp}8(&R(s7w+dqHgvc1`~MkDn)2e%m;FeU2HslHW7I7bwpeGV^#`!<##m(Oj|;V zQN|2worMR%gkC(6D=!CC0H<-VqxSH)76R^(yAUjU947JPxzIU}%RsO~d-E6-*iRTD zt>Y5#m#La^{4#ZEVQ6|JElYvEoQ@s)-*mW{10HYdN~VB$)qKg+WgLnE7h5fd8lI$)@%Q0dkHH{S-@- ze0qOP9c{kqEZxW8=Cal?0veX$8(+e*F{!kv z-7`>`q7UGUzQb?Yx;NhXXk8cGMmOku5*NnwDWml@{<%up-OugPjtVJ+TL8n(e5qh_ zLH`AtySD1odWXqb0+Z)C4)I8jBa^@6BjU^bs*h9aAU)s5ok4>iTOY!YzmCTP zZ@UTt@qgE-Gao9UmWCP2e7P9WP2^l%%kP#_LiU=+C-S>jo87+oEN!LztX=-`@!z|~ zcrWKDrq!){%9~*5Pm(>;$;ZPc?Um^iikt`>KLATWw7)w;aOnGIF_TR0E9E_T=Cd&~ zfYaNbolK9Hled`GWVvUylomY?!QC!8OaWx~KID&)W~t*tzZVd-OOA+l#D(PYhGz4) zP((#1sLLIGND|Ne=SR%NSO5$^&6?5>AHLEx|25EQ(O=Frgzpm3>K}rY@nzO2l=QJ44hl z@hJOeRX7&owmhf3WyB%R_RMJqMX>Vyvxb_^P+X_zTfc&Sr|0KW(w$6vra=xQSf}7+ zzMvXn++|5eQk?89S5xbxfpUs^j9j8v>7>6=YuJ-|V1`zs@Ky4;d%-?eLt!0WSU+JL z?b;)T;6Ly}F>ii67fYhW$^4-*Ez*P;qHw+-#CphdfqGYNgLsj1#u%%OIjxDBbFAD~ zOX~YUm|lHhhg&S-YM2=I(srYr)$!BGZROIm9;$6WqAzFp-9q>G13+J?8{Zp_*l|VK z^GJgDXxyGa<2H@UV6W~5kki(;Nqfo_Wj1BAhUOX5R>VAQ+A(&G9^IjPJ&G}QhCcr& z(@e(sh5ve$?3Ekqnwk6*X`@5@D9;5B*6-w}M}4p#`G!v|9d7^;`||%{GkI#7OriGl zZ+bR~!|}KAUCE34Vi3c&Ny~IrLnb)a+a}%4CjT zA#?Q(&4lWkoWUwz!>D$Vw}*{0q`5x-gS1;1YAxZ(&+>cxhWSU&r;(`beUFn@^B*S> z6LGKpf_8VqQW8f=WZ(a_vR6J!1WX>2fXv*1K=D`)n90J}>$>-KsL}}mk~rna#fc*P zU-aNH>jCad{4(#1^4*Z4n#1>#PSeWTKbd%DFUeGhs`t!-Pt+5VxUgTD@9O$e&ktpk z>MZG75ARPNRz6NUc>i8Ii1ZQg(dc854v7L7^@FMNG$e0mM%u5s1aMg>ii4)gC1l$-`4!4Yy^5np2fx+{bpz`MBzyu{VU zuizAWYFH2-aO#Fa8wo~li<9V`86qC%TPUxfcOIs-YNzU*(MCig+xre_Y@`ybq8>Rs zv3|w17=Eo2f&aPnz5)Do>swu7+B2 zFZnG~Z(T=-*mzBNEI*g{+F?0m8ys#jbxOYEWd|ObeKgsBz{w=iPNoaM+q1d3v1Ka8 zODCQ0nO+wuv*%OYxE?vhVeFH*fgkS9!jQEiR%4ckD7|k;)8Bm{=3iUQf26R z^=>DoD3dPLP)g;JygFX7*NaM}%LfEk^0^jH(Y#dZy|>Atne^~78#;O|k^b*4(rEC| zbzP{!Ub#-Vpmx~Ea?_wtj|z&NvTd9b)O=_nvcMEz4TBTBJz-(f;#F_=BE`=hf#f-v zeVSEnu;EEZt66AtQ-edmL!Dr7kXoi?N){$Sf-=DX&IEzGUKIz}4Y>Pgc8SS+V@M~S z_|m*)8qJmqKk>;IXzih=UJ2<)2wb2@?y{P#qTQ^JH({dTg&uIIE=# z4x-+(Y3V>&Jf=`#a|A(>1lR;8(Mk|5i>C+9P1{ox5hxL?!YR;26l5|`6+=du233nk zZU5U-?B5-gBlnT35n!`ZHos3&j>mbIbxT)5bDyCM6zuAHg$WM-7ta24ii{OUu4O3< zDnl%y0%SIyrE(Pt1}Sqf*Mv$+XA9oJ00CS?l9<<8>S%qs0z2aEM=;l=5eyJl^!GP? zF`+=pC7U&E>2Vb0T$a*t*lgU-nK9fmB_(xITk}^?Ln&cmnF0Iy#3lJJU8PtX?>%-SpS4Hb zd9`yS9qvoj!MF|Q*2*P>e7f1eq1qtg&WCO~B2&oNcoefKx8My=mD+pSa4og#pz=wTn;&QaCsfCvR;7=X4xcd={@$*JHl9DEU??}3>5y} z>sHCXf4bG6!R&0jZrhtK69p zwOyb+>!y~uQy%nWx>S#^)Q4t#pS5W}d;wU-aeDyjXO}BlO0L{_Zl-BMedVDHtD|Wc z`#)7WiEv3ZEUjU3$lF=Pv3JJXoG=5Gzaec7PD*7Tm!T~~zbINQMb1-7MVHp!o5L2< z;@HAHk6?7*o#3G!PmI*q$!^4-Zaj6l2oeuCxNU28`vi!S%DGG^;^8TBjN0dSo&_8c z)xKS<4+#%l$U*fHJ~;tv>2UqG$GF|~B;-q2@Py%yv&J!|`43Qos`B2XE5}>wE6YJH z91AbA-v~r_Flk9G2N1!Do?#sIDMeXSepU~BRuGKkJ;sp)-?!ap-T#=0;+JY3xb|TG zsrlP@#=?)GD5&Y~IupIG3oF$I-FwzOoS|%Uthak|U<8wPzu(QRwr^b(2HlS_5 z*JF>n!71oq{YslF`_9V{Ww5P+ekYoKdVh_vqF0-YLDti~P z#tk0_y9eaIhZYyc=TnLryJD>^#62wXaR=qs`t%Pr_|t`NdoTont3*sACw|U{*;;(= z{3{g{>10T zQl8V*IZ;I3(JM)Zv;*w~x*Zd-p|(SH3(MUgwiuAu@LZmYG3NUG$PqX zkh%QgSH_lla#=1>@_pc!J=U1qS`_Hw&P{sD9H~zi*+C0c&pBz5((Yu{Vr0>pKkh%f zJL|^5%Qq?}w%g{77Q`YvOZ)q^d;{z6)j21Dr=EjKw_7&7#4E?}FB({8U@-^ViLRWZ zNEz5*tV3A6zEF|Ea$RuJ#Wq3ygNlzQN5w{-mTeeg1ZGh=Gst*@?(@Sq-GYR>_hZmI zemvP2Yh+J?^)*HD&w>oK{#YKJRUxf;*y9zWFX7%ol2b>p{T;O32o#;P?y#Zy`xZb$0_r|apC-dnP zB2HP}1pj0MzX|3HdoKSXe}h&)A9o4~npQ{ra4sdG7f`R$L+epLrh|?rTcNk z3&*;j1o>lDc|%NN)$H^yB%mOIBp}2|C(7a_h!lQ@n6oa=^&f+uILOaPhbo2n5@INy z-5`qBjRd07M^Q!{OVMh@F)b;=*4&nR}XK7_Bsz}a9hUF*RUMnsw}$y*S~rdlVRIV>^@?w@dfoUx>{ z#1R?LlmK}%OeE!@YnVYGIyg9Nv>Zfkfc`u$hrZph3B7NVcs)kSsGLho*&V$HsalzB z!Fh(B4dueU#Odqo^-lg0=J%dxzZ^G}JOaDM+LG4$rT*+=yW%Ng%@CF99Egyj>O?>!*S$2xiEL4I@;0m(nNUNr4jAY!1LO+l$5WQ>GxO-=UK@CA5J_x z$f?8zIMS^?VDa9q?&|p*O~-oxa;>gVe0#a+ohy9k*oRfiZQ)(Z1Gi0xF5b0GT(|d$ zx=Q>xe`Ra=Wu=HG#vuaqg>IBqUjpR0FKlR954mcn6|Qv7R*JDY>G#EFv4;Cc5|!4o z+atZmv(p7<-Q=g72m#Cp*e3f}G|UUFFs;8>_p1!wc^2p5IL<`+P>jiL z_}=V2tS^hE(*G@_t3cj2qMQHs?fmxsvwXH(^`Vc#c9=aj6Nofmf7fEtMRWtoJ2}|R z;nDzFrPFXY+O@|*14X>np8!&U3=Oe+(tPQC&s`HSdXB`oC@8XUp zY#?X2MtYpPe?k?rsAKmfxFnX%_cQSEQ0ei*ReJmc75fB*%(*G zuHqTLsXC4&hIi7h)BU*U8V5EQXnGDDY&l2T)DN28+FFv+7!ZBer?;crIa-jx*c_;f z01fFxGGL@p$N-t9!vZOnD#p2d9YYa>3c@d-xt1r1cyCt>*1TIm79)**vvH<(3?Aa} z`%8MhCRA(bz{o7X1^p-NV=@=KE{~H!YCWznH3&y8fJdm~!oCqM&IN6(l(M*bg){74op~#iE#&zR zaSX4-SA&M2xu#qL<4jc#NEky_U};RPn4=mKVHHuO)WfMy{&Sw04w)2F0_|R9Z}lsl zqa$I~f{Z$p=ixvYkrH6Rsu93r&f3QN;rnphQH`+YEB>rHxvup=E|~^t3!FxTNw)SS zf_eg`2&4aG@$kOZ`m*b9gUS%j_YrRiiPsPT624o^CXnMRn!=aHCQnEy_K>>LH^B8U zS}v8<1PjXiG&*;2rWV`rzRk3AfbkI0^yKY1Ttz{KG8cTz@+FUlaY;$p#? z^mAgU!6F>Vabs!bw(uyPSmB1vn8o~dHHd)Ud=7`xTbLHr8kM%z$*IxRfN=ha7B6C485jfXZi>0S}k5)Zai zV(tAo%)5|v_O7~5m z87IR7;Lo2DHrG-#BaZkOL3pe*ao#*#kM}lAg=PidaJ?H=gJYo{j?VI3bk*e0JNX)Jj3tAQ z6n(i12Mn~JM^F8uWDKT3=zbvD-hxQfNthj-KWvdZ&=9@0yOnO;jwrqV`6eA_6&|xE zNR2W-ie*d3|LRO++SM1ER%d}hFO+RCuNJ_h%GdKGCbJG9OpQ|X#Ejk|18VHT-C;H_ z%@Sil#u7kGh69lb`l@*?DStrIPI8P9sgdEPCgTmt^&j4!3D=kWGvn9u=6DECHxMG% zFt(%Q2TRY36q~T6%gt?JkK)$h&flt{x8a>X)Rw1F+jNepvoj4gzF&`GG2Z|p(|}&X z-r45NNV@dM%OO{`@beBLyW^$~bkhv!QdPuhb-8dl7TqeRct+|!r$6Kt2AiTt&U8i+ z*SkcU<5uN&Iy}*88M?L{-!U7wP@bjUyt{Vy9~EL>Vq4KTz2lC*hI6m@&+*q~$d2x& z`a8{%8`+6X0t@GD(55qPBfsyk(dK*{JbA+hq4u+JD5ruO%R?-h!{}DLeP-^%+)L`} zICWIW8FLBY^@Zr!-!&I>ATTCH2+h%*p79dzP9!O zR*Ce#h7DM}9fn5yQod2Hk$Hp{NRdQYVwbbxwVE{?Q4;ax@zPGRt zEV=%*hN8M&NnArx)q=`4ZIa(p0IdisO8kOn2v`Sr>WBgS}q{)Yg#ECq%h8h=yY3)KpIFcze; zib%ySSZ1QVH9-z9^#4%Yc}uN~TW&~;qC}psgx4V*LU=MefWsZQ3-(*o5`| zF#tJMAbbRj#s7#ijm&X*{mlpJ_tib zC;-YUZ*+VU90 zOjnJ~k>R@eC|V5ja2PKN*PUFNb~ITp2x@Ci)}W8Q1_Cv7V=a03W0|f8^OaCVQbE}d zd~Ip;7V=6f4_?H9IWwWALl8KjY{L+hT2I{45^o4R3)kP##`o@upanA9LWJ>+hT0S- z{4jz|H(G2vTi_%FV{3cdsTm~Lfld#uVI%#lqZiau3>=_R8s*dxnjoh@rbPxq?L+_$ zb#3z76GK9!@K?dklZWk!qa4fTCE=JKR<{WU&_ei8{Mqz;*71vD#J`8*7SJdk-%T!) z6PRaZc<3@~BWzbP=_^r;<*}$zqp*pE>_h4LD36d?lQ0;@(lC}a!Nx!scX<{#a>KjO zKGl1vYi4la5Y~Lk6c>_k(>E)_L)@d>ZJhULT9-+OEQQ&SF};&yB~ZwuUc^F8XTp-j z-9*cJ>~Q|Sj_NsAEe}zsZlSPqla)~)3xFPP-QaEvT+@0?%~G=C~Zg9QQvU${KmgZ(Y0!dEGxqb#xq}e3uLK zRjcdFM}n6@=527iDQt|QOERcadq)W00wiv6S6Ol^H{2+zDvjk)$-);dfchOhX$~?k zB(kOK~pGsx1$-W@CT-8gv6n$yAA zha2uc<9(;hI`CoD?JJ~=%q7gsj7_j(Z9r!?m4k~JZz>MY`0_V3Z$+rUGKCoBs5rqn za?na4!;cj!2ANb4ys&c-?^p$G#bWZ^ci+U)&T7)hxg@@4|oGyshyL z5}w!b59fP&C*D15%LWNyHK~j2;I$-P7+kdKa@x_K;k%M#Ny|I}6WKX0$|~MB+SDy` z1I>cFjrvqcwhx$elywf3**OY$8@0?mG@-+sRE)Vlo$JVIt4AK6vO+7QI;P%QTB_+0 zU{EpKC>LIYWdz1L5q!9dd});5ip&vKS~E}{T)NK$wYwxaWy@m?R-k)>`{~I6_hXpE zNF5k>9|R0&)HlQGQGyL9LP(^SI2Z&SeH#J?B4>lxJ_Hb|lh;f0!lWm=5$m>5)7(VUm-@xXzoXx|atQ zth{DhlW-NFNq;)KU1S_nuzO;I>llwSP`uevT@gZJmS3t0)CR>Z$k=!!ZO(}#6X<*M z45u%`mR0YQXi|Q0D-jlx4^ESj()2fHWJzg#jY~nrt+7Vl3LgtZ=+IbLUQtSIUG>dN zUZnQNEu4D{)Acs_w@ezEfbNyy)GjhI@5}y^NX$!FH+&BsE6}-gXCd$WVGT$Mtjz3+lme1;(>V{4_6yg1sp)r~MFAl-=3l z72M-8z?I)1t}b77Mp(4agt)lFFla^EN>+)Gm#k+DI%mo;0F1EL_f-v(UNK4s47ebs_P!;O+oAR1a&`B%gfhu^M_67es; zrS-X?ApS1iRT9`s?yvrlzyb6Uk-5Uq?fJO;yCUxS)EQ{*eu4lGVp0RtbEwFyX1|h2 z0UJ8BvPqol2A@o|Ys9Q4(1}O;X2hWXf6WH2Igl>&Fj`Dd0^?2{T=;+mb`w>y;d`|r>ic}9LzcegGA{JNETH<5VzzO56>Mg8N?-uVn z4|ESCFnz>jm<&B7}mQl=sx0Czo3a)@Umw*7W2;p^paqT54c?!o0tLeOu$YZ9#}aC z@zHalFK^x)7==kp2b6u(*$g~|$a7)Rm!#7HhM?(n&ESH7bN}KKV^H5g7M!f@nOJ!P*>AKox4WR@|}*M+s`fF8B!0#S6n$O7Z@b z(_$}ziEzEAhPUE8rx2)8w|RuE#Ir(IbY=1f-JS@W4pop8Fn29JOJ7K1Xow_)cK|i@ zFZar@G#?Y252R~IelBLx$jU*!$SM_M`LiP?yI50^DeqSEnOZ0}e0dB@Wv0Dj5SQ{i zsZ&|^N9HMKZ>n>Ku){b_X7{L>BaLn~w;{m$;Hrc7TR|X`;<4v*zbp(*e=;5Z`_4k% zig%MrZhG~^g7H81cIYdp%Pn8q9>#!t5{?C{#1k_NhvRYvRj1-PoSBF zGS!j<&S#`>^l4}0%t}3JdUpgNsE)hBT`?4<$zo!Gt|k8aiBz)MX%2Y@e2FY4BcPgd z;WTIsmVR0>w~i0r3PgKoKgh%+Uq$7jU)0s0&!pawQu^Pv)Zkm(w)oV`3cjRbPjsAJ zR+&&)Wvos+fDGEhoC`GMg06WPry-IDycW=K;bqRFXN&soHfk5gF9xA+;L9UkfWWQe zf`J;xo2%r_E0)N?A#J+sk&4^01+Ej!fvSYs(xpv9?}w*~V91RWFRdvDL&}0`_Q>Tr zlE5-$|9#Iq7O7nSMXa^2#unRx__lIv+BP*rAlqow#Kvz?sOAFzo(7nv+%Tzscu%Us z-OBnwa{j(1qll?EZdm3}XB=TAafZ0|Yd7vT3fq{So&SA)k79^RIl@s-SdQ<(D2`ns zH|G(-(lju!pilQn4~D{?lO(ca*R<*!@+!3(y^k7bwPr~a%!T#qsjPXDGX}M<96P`a zSJ7Lz%!Rd>?x)$wTI%-H%BY@No^{Y8Rjy%=Vskd~x~zb9MQal+Hn*hKUN{{%)4#U$ z@az=C8c`LF#w-zCt_Z>6nOxj5B9#Cs&{zAkB^lYmQRY%al)Beb(#q~>FGc!_>~iki zu?cy$Bsqleo3xXK`rX5L{vduF6K#mM=P{_zT&;~;Ch>03>emr7eZa2d__GOrKX5+gAuAmOJzYRF1aV5IYH51=1jw$ zGq`9^L)1*d?I!?b%bo=^;M9KDSZfm69ZsS#z%1$q|59%Stz-*eb@ys>2IEuU4Z;MV zi$Uj@bWjPM*}JCBKV!Qm`n|Qs!Z$+n%3S@`v<`KgQ25i3;7YN02 zTNo+^r*GmNidvOrr{e9U73=?oyO%L3Tp+aou6lIr?IfV(VYgYixZx?+B=9Sc?DeS- z9pv$eo@^>|@}8A}3<9g+x2ub*Dm)LdUPgZ97y?{4oxU%0HPD+W&FXF0@6psY_U(*L}a9c6J6dCRD@d( znG1k3Mu-yJ!1rMLi+T!j0RwBP$FPnXfvx>oQUo<#QXHjs>M9-EOg@lB@hWoQ^}8ft z5{0p0PA-(G-fLQuwm`cZkyV?Pz(~dbuGtfo*#!5fySJg)8w9B?+)~gQ74k^az!YP% zZfEl=a6$#htIWc1Zo%Tg|HMFSgKtR}+sK98)Nu_MX4_*xoyn#oLjgwvhaiu04x@fH z4~;{Xd2g1`0vIW7LN`2dOo6wvauo6&gL|yp0kDR3$Fo=%XBy38j)yo>vOVrr&ziF4 za%dW#>?LNv%?X!sUFPoJfMU(u3b?i%^(fc74^Sok_g+`=NTndsmyIu}3-P9v@nBR8 zV*snUe;{G**+RXSv0h6=(LV^|BQZq!`LF~8Ra zW|q_-7w<1b8D1*$C=#F`8oneBn^Utote?WZ5van3f?@SehrRoeLs89KpDHjR=}$L- z+E&t;VyRjP1A1wHB8|>9c|14%s1&z|;LCIDK%)vIyOBzM7qLe;TRA6c&(SZr)LdSD z8cH}tPopzviNoFL$jMt!)!Ny>rPCtR@5&{fjW6Cx0nCW8DruDMx?_d-O!OxphHjI| zXXgUG?F3?Jn+GNgzX+T`l7O>FWgt%9nd}?2OLSq{Iy;y0Jb4o$ouSU8;gIhy=1AiY zoU<|c)Gw0*CcR=EAO&whtO^J1v_$^flw;mOek@JH62`fZkDI~m=pmQ*pqR8!`eI2q zU7n!siVCF=8Y=02W|AzyG5uT;N=V-wHCTuVHH5)2dFagVD@ql%_Sdcu z#-&@2`8WZxfy4K-Q0Hi4It}Zen@&)?>3T?C9R$9&`HiT&C`51n;Yz2-`#wazM_0(& zVIHZZdE+@GV_l177LM(+stt~12;qMw92-AbgKO`2=p!-{Mr=W=PzWkRciA|K)FVL# z;%wfKNN)O>`k(dGwRe9N8ke#7dwEX>pg4-VPK^o`tnl27fya0zL|9)7iu=UM;`5;$ z73L2g_uDZ57pMj|FgFhs49N++M;EBoAQ1DiH)uJcgY52jS|BZ}wjQU6bgu2b2XNhY z08{=v19GpX%dUyfd|0&up1U*laQkJe=C4{ro%=f-zk@ zoB^*gX-QpXMUJ2&$5kqaOJW1dcKeu=Qv$t;pYf4SVb&NAAI8jiiI2~lESs1T!cFA3 zf#_*Qr@FJQ+7}_PIkRT>OB?f6Z>{kkO6uHLQHz7^8n=2m>L<33sU3DAl;e<{_NpEe66@#8C6wmZ_{ z4RZDM*q7$j5oP?0Kyx^@gMu_Upj5mXd>G)}uDk{xjUM*=175;Fome_CZ#(3V?bWv+ z0Dv+n)x(C8*gPyRVm@YOI^cKK zg#FzJqFDmqs=?*97;K{Jbif7f0G9;6X#0Wo5z~`!PE=fMM-SXDwX8Rtv^u+?@?r)z zZ?Lhv)o-Qk4K3)RCs}f=sqhrvfX5wtMG%5gi+E#C01_mw;iVXH5H`{91n+ksTp{j| zo_A#IrmupM*i=p=N&IL<9OagHk)Adq!qdqh1n9i8dCb{69{ePJbW6KKyG4KoEtgtk z;?P{9*2f>vHIIc!7vzenDFh@ny37uj)d@(>=iew!n!Z05CtBG)OAl40B=N~fX&!<< z@6XAiLa6?&o3eSf2W;FoFgl15Tm(O$Lvc7YqzXvxrAPKaUg>K>WiH{enZ_HeIZKFX zz}tDZZ^P-d0{Dy8a<*T?&T1jmOv3X7jLKHKp0}a~4og6vme^6M>qq`bI)@8W%-?5R z0-VHbc@VZy$Zqhz3*lD>Zx(Z)$g7g|^oZ{0CG zy_AC)YHHGa#bj)3$+=D!mPOhaVk5xA?iIgAb3@Q)<#p~z98S{3l+klr?RsdLmUm(< zq>G05VGrYob{sIvK-oxRXn%?yacOHu1G@qXtwb#sbh}IZ6hNBjUvpt*VQ&COh)pyB zL7~5H`^+J$Z;9EhBb$$QWB@w549BYgjnThWT<_9aUsO4lhm&dc7@EuQJnGr!;=YBH z6{2qa%NM0HgQh(}Uq9;%k#Ak&b*5NpN;d~)utPD~X|Z;1Y`MAtt;gy{zMtQ~974>@ z{xX$+@S!wvN3Un%HTw5w>}3k`eGP3$g?03X$>Z8izaW)~mF*xu9x#QL3BvlwCOrz? z`co;R(D0MTs}%`_ZXy}Jd?pYn1wAaNSn4s9|-oJ@Gs zL@eG9PMJ28izgRuAoLPCa>imPNTURKbZ$~gtVlX5)yx?*`iOM(>(L6^8^Kz_7|2X4 z1s$ECC~orI&nS~WdK7gPh9+Ob+R&bje-x`-d+bxf_@!()a)zhJ5#>D|9!=_EnsKRh z%5iN;E=$9D3*P++Kx~@ zeC&_!Casm#CVpr({w}RhfbI7QB9RiRK?FAYR{pLSn2#eVwkF+BF1w^r|A_*5vk`W| zU?iCZBEr-+uF4r8RhDd@@*CK&NzBX%a$)k z231ShG742OQ4$4?C-Cf?0#z3K>Q=FF7K`M_AA#v?TC-*xM9WMZ4FoyVWaE;G;bX~M zOe-j%AWqzz4%%Xtp4fHdCig9xJD}Ai6y)MBmD3T6dT-49GJ*pH+mbV%g&1{V&WbmDkYFK=Q#=Vq?<9~`B}~C4Uke}f!b%cSoRLJ3X(rLfgOrJa z4lyCc2sIpRl>rhDjwn2VL->HxW}4Y@I;P2PDor@<&~ih2EOKff`Ucj(&#-KN8fsdV zy#`2NUcM;DK%aa!^fz``+8~(^kJaC<B8Wog*Y1@k#wD0Jpd?7(3Vx!(&QNHu`_yy^o=Ra`F&pZw^~;VYnU8BR1Jtp` zz@87)>4YsYKyLvJPr0nzCk$88WR+&(9%0}=Hs!mUXZ02Ty!XhqC<7l}XCmEO(sHw& zttW=Uug~#K%IRKZ8aE|wY&zn))_x!CyB5z@@Xy$+_M7~&TvC~KN+eU4AgX%LAWf=d z<@|@-<9~dGYyF{O&*hY;wvHtwO+TJ)VlKi3q~M5qkZ@Evul&7k3LdY5&>zyh2;v=p z2y8=(aDDZTNyME6YN+A#=+207w-O2SXah=A!oU>QaP^#BG~olG4q3aP4u*386nT#U z9h=$&gS*4h0^CLQY_YT;pQjF_FANqLn+QoX>-;Xa2NNf{WE(WN)JGsf?FfL~(29n? z926ONo`RmukSTUs`pI9!9HE>r=v*s!i9`wfqL|hN=5Nd@jyhGlhZ_o|XZ6^HEb8#Gd4!Nki96%JJae(hk zQF(b;+izgdz)4OSi{)pJN-7-s21|BuH@ngO897nI(X4|ZzX=cQin7Z~87WZ`=f>KwAhQr{@n)Bd2pQcI$D7GUMvIuMfk^g$)) zK^1rB>Laej0!?IF^J5Ldps7nJ@U$yN#2^b&MrM)PcF0zwvb%&bj8fj9apF|b$MNHV zp%$;Q1G^GgSCoOh1#SF%Y8ckUwSeBF{4f_btKqh! zig?h!_eID|w-gQSNV#zt+M`^z>x|-4@I67jI2o=Ab)BLJKC8PtViO~;*BHQzc+-8k zf8O)%xAQ~YNLHc7po2rl2xc=7+YKiK$)LztSxk6%m|7U~rx}Z#5M3zjYj%mf(SIT2 z0;L{_Go-I%{MFqUaa|VpRi-S7JCi#!{n=u)C$c*cPFTB zZs~WlNIhW)mYnJ-Bc$!pzL5lXZGZrW0nJM}3dQnhz8EcA$i1wMrPDE{hHcXK;POj?=@!;DcLu*RKnNvk%c{f z&m&aS^xjg^n770|9#=qx*=12waOtN>3ph-}7xfVgZ|ScZjR<C z*~5r2ru*U*8hnQB_@hfjeJi3{rqKq?8^{=t|3FP=+l%0~0*$vxqhJ3`HW8N?CCOg{ z&IhGqkXp6$4_d$#bpZlcjri}@8%L%9#;5wHeaC7`$Dlnyk|O(Pgv_aXAtQ#>B@9qK zPs1e^K<7zfg0+v?T)EdUtxmh5JExHHgdsdh3{DX7 z4gB@4oBE~wT_wTbGa+QkTwqeSh}_i>04NfKl6X%dHf8{@cWuq+?2YHwL#3mC@a9nQ zD_$h*c^e{&_E4wrCYa6%0GEhKtS1>6pqp0LZNtVJsecaY+t`(w4>aw)cJ2291u1Vg zjqNSzHzA)$FZsWy8$RlZhp(j9`9_DFMA4zpNBU?q2=2!uG!mF+)B#5VM1N$fp5((i zG)LxO4XT#shXJA#?5N4g*dj(tdkVcxO6N6MonNaZ9 zX}dI|4t&!Bt5yTS7;;xuZ$)q8WpZ1B*KBa0%@bbyvjXWg3$w1QG;HhYHAb2RCYh(zE438q(ipY%hXL|&5C zgNA>E|6qI7^jamQpC%;9`l?__+nUs_@5xkjcHUw!rs)7>-?B7 ztUR(4TZ9nQ&i2TaaZvs~?IOfYs%S9pW#Jh{)u(U~_^Qa?qQJXgnV5 z5wi6H_QRV(y_(Q)#}u5r8AM4PTYd4hcHhs9MhILx6h0aS>N)eM7kZg=m>pXJc(juk z)(-VlcDjz~y{b%NFw0gfd*qDH0)!3!yh!m{!6kWTkPIAK0xOF{^Y@Mf+oY-tJx}&^2ri zVQkw&KQ?XyJQg=V zhCj`Sh(;D^$a$@a8ZRcdB-+iudNdxpTs9B)s`o*-VV4@oXlwE!&A?=uVC%?~p!{N8 zlwFK$-W$g3y^a_YHL1F;FI*DZ;J4an9W90?A4_H;YxWWQ1O*X~4>e?El3R~Y*CoZA8}9@G znLcZBPm?lRxql<2rO`v24$~!aVn_S#3Y#p~?r(>(gfXrA*@4-sPi6JhRNM9THy3Z5 z4dNMPQJDpW6HsF!69}#aUX%q`i=yUB(Nidbj7r_K-BC8rX5Nb>xV8Yjo<54(;gz$+ zTYLaOn&PMiwC=2-4ZvIOh!>Xof%rSqhg~jOfg5f@89V`YgTs$6t<&FMUto}3qgzI;`09jEDPe$;z7|JHW?Hrx;{J>_H~L2Bt}#B(gw;u5SvZ3K)oj1HNpZI(vL+dgf+1w!lE7tO>jpn zF3tH<=ElaFBgzKEz`c%DwMD}9k(wP**L*^PT>$GUwM@h-VB)E`Zt~=~X>2-|@ww6_ zmd42hm==)kVB65Vx5=Jk75IJ#R0<3+j4C&!ku(lRsWl1X!}H--c;lURJ_&O7>KjlT zQTajx0))Q{QNO}8^K>$@C*Fl_gVnhJbm+oy%WF`!%j{q9Y zhxfml_)Op}9{OwE4R1D@x`$z}2X=@-U>9ez>MnFm|A_t3L&k>44@8oiZ+5@=K8jB% zu!Q9bb}J`4<${8ikT9eQkk;PH6(yix z2D(1U54~RNDeCXw_G2@gTD8Jp;g5z#^5dXvwRYTdr0e>5mAyE4^{+VIvfmFI`NN;_ zA#GexWZ_=Bui->}s~@wL9Qf+qAUs2u^BW=;g4zoB8kqqfkrKbvB4J2w^)Gocaz*S@ z?Im3xO4Ux!4**F(w!b#IspMCIud?`mW0aGdD)TFUx=FN8L$E9dI>T%fE~R@Q}l*f`z8hcq+EfnPG= z&VXfsBl%*X*03+K8cn{TYZ}(~(I@pVt;;8fNLAH?(Q5`MJ5@L)fl`84JfKOvxJ5aL z;$`>-QYRP9UN77C@>97SH=@BOXR_)rMQ(ve=!8+aX91IU9#$|QGsU$ z=ngAGE2DHWegei z59b%Grace=_PP)#=D{#kDomFw!DL9TQ3a3Kw`!J-LHO<+i^B9k*6#cow^2tpE>EC3 zEthKFaKKs{6NPN(NkM`j7a0aJEBs4qmh8_9!B?iV@Hf4_gXPKr&PITTLu|8tVQHsG$ObkES_F~kFUZqxd`1amL6HA5C1q!eiWu}{}NsrT?nWy zKnFroJX_)~>$@JPA@<03)4odAvq267E#$Nk^ASE`Qn@J#x7(CS5s?>&eq{ntkxYvr zAU{qPj_BC?LUxe@&MStf_WdskV`!9QNP0G;{ZIQB1N!Qn1K@kez_U^=_!ArIHm1-` z@xAr8A~lj#Z#=Es8^%PTz62gc0%O`KkmwVtG`nfzf?<7WlC_8ePCRTxN&ErP5*h>i zgH?ZX3qW6Wk5beYl~BE=%WKRy(qXdDe!OZ!mX#M2Xvl{4?RxD5q+RZ0xYtb;0XA_) zdO38r@I!~fd}jc>=$xEfMf(6ttJ<7CON2@6cRoGVdmc}QEC0EkV+(mlATC6AGdLK* zpic;2I`SqJ)0^DZbfYqXCo>QoC+qZgVpB>Wzm*>V5cHUqfKwgHr(>9a)mCH{hr{q# z36lzXO#Cl(No#-?!4xf3MiPrjQ3p$wKSy2^LnH7HG##ckV1KKz|gUL8k~it26>#bh>8>m)TU_kf+tKy`8V|>l=VY0gRG8H zOm(&CH&c-&w5eM-BYKPMArT-37BP_)-#ir~!3xu__NqiRZ&qKirt36DZ^!Lcnw$H`*Hu{KQ_} z1;QC@0df#!JK?kNY16+gpaKnjz~3acq`=q|uj~BAEGNH(vMH!w=Du4TMZQerVf_l$ zM56gv7DKZbnrvd)th|CKO6(9LIs=K-p{7A8q4O;8XuaBm_bGkHWgR2QvCZw9Chy;dE*MrNFt&|J)t8!CKF`Aq62jWaqxV{$4KiKgT^9>MSbNLr!Gy$&_+2?`j2Iqb zEW{Axq`KlpQ8i|>fSM7zLA%HlWC=;-hx(>0V;_@uLW#?vQ#bGe?el2U3qPH zEVIit=HVD4h?IKpL&d{)tMf_Rg%E-vp(iX*I+@!4YLv~06|>d;QcwbSW#`TfXURb1 zwZFfmV=|U@O@f@tWbm%g9-=@&LIL|&-|Kv-rdqK^JDGmv(q#6_tLe$^BsXXtvMAHG z%|Fo9U6;*O(s_w5KJ|H;pJGbZl3|$HVpmw)yF%tUJG>^FtV<&ZV$7#)yCf?8_7Epr z@fEH^CDm!a=yEG*IO~a=rY4nt5}fx5sMceJKt|zXI#>G1^XQwgD{cKO%(zh3q|O4c zw+Kh_=Oz}oNJ3+xVaL+q2&P7B$k_n*;cX~#S;pd~X1{m=2N2+<~KNN`1CVb)PUsA_vbo&hJj5|!l6K?eWVQq zzqY%TCWDhHpqX%)rKRP6>|NbM^)O2|apppkege_>(oEm8@1&K5dCX-hn>NJP{y8n4 z{x#@FC_^csB~}({h}0P+`Y~2woS#hOyv6+r6R*e&qJk=bwOz+-hc!2xUYv zBUgZFhuxd98bd>L4M#+PN369g2H3E*iwc?(&_sYR2neVYwHAtv=~6)zkR)^#Y{O7$ zSE|)&y?gS#wfR%MTB0op07wc}h#goVRw`EPb}JQ~NP$iNZ!%BMJm)hvHb^ONes}lN z-`}AY8@ZhIdCyjJIn2&;&S#^W%;tR;=lmz)hZKrKGKFZzwI?qu}IsQjHGIK!1Jq>DCF zP6G%|RL;e=$d9V}Kw)6;KwTmlU)mDJjsg#*4VV$IAl*!)Un*Htb9+86{5eG(zC<=NL-v+{0T5k~LL&K%{O~mCSuEvsrAf8jk zK}-69q5B0Z@_ue*;0A{o0QL$bEfP4;y%ddw$D?uORam$ah~(s46DCZjAdIt-@~9la z7fg+TVqlFl@z)sT%Ly3qY3>tFtmDn8qgsOhR7cX9C*MfW>XE0T7T5npD!9$hKkf8Cq)^6&$ z5=L{xdCv_sgz-g*@tCKDsik6Zlb_pFbgG!d?I|MOPBUn}Wg1JP98nvyt4I`}h0+&% ziSkh$(pDCtY`+Qxc)CE=ebksqqCwFk=G5Z9yU9hnLhungBt?28j5SUa6gb~a?Tjn| zJ%S{g_oQFu)Z)LpWQ%%*;Ua%pA{>1z*#Bw*=xXkgT123#u@j>~(WBfOWk z>ZV-JVoPQrZ%T(zB0b~JEjzl-6_mC+M7niDqK~C7)!O2lEf)PJ5HMJs^HF-Wvrfu# zh}x=ro-LT5wZ?*k5lxg65iUGzOKM`Z9kGnDNu`}I6PWZFk2ZW;n)IPSjbb40CV(>h@%;I%Bp#jq z*>Z750%2F25o1GO;iY>&W2cl_#QNFa%RUh@&cLiun5I7otWA#LQF!8|KOYF@Wy1{$ zTFB(I9A$!PJ)ZBQ5$2(Zhl)n`cFbPh#SQugGac$yP;a^KiDmkT<#EVtRVtj@?8$)# z7kKn#Y>Wge)eWZ>rv7{xwD`%fZl1{)vv%dR>Fi7oD2HGV2pL($0+#3mmd}HiXz9HJ z;)`{EC3>kZsA{um2j8I;R`5_ddY-8W2@%r-JRnRh{NK$#xzkD~jgnOpVIWp^aE$~6 z3@@cKn6(HK3Kw{&!7y0falV=T@(YX(hIS(J^9sa8iq5$y_HkSJ-o-LqPBj$;zn+8B zvuo8l#lN0H?Z`m7sOOfW((!*LpoBrXg*hCTI(K)OV{Ng{JtO>FK>;ZuGX`Hu^UKTX z5?JV!lUq+Y_ooz&=4qW=;+;+kvqBrR><&R|ykkSINpJc|Rtkoq$!TpN@0Eav} zYE1jFdttnj)9a2cRFIoo=93cG$h1(~+wFjTEgl>f`LtPYnr6)~MDnFk^C}!_! zwSm<{R(gfhCPO`1h?GL;RXRV;D&h&w5-7jQx+eL1@@Lq=iaJ!PN(kYMk`D>Fl?lUv z=B!!fKxFwGVe1zQ3Y?UA%EHR4TeSUHqzQ+x?iDsLp13`~+n+$}ZF_=P!;Ao?8rvgw z&V2LF=AmKW2{DlxuqPvblGpRe84FNz(3lfLvW;&xy#voL+pXJ|1!QUgU5^|i_A-#M zMtv=9a-5$1n6*+!0(IBI2qEqGM1;(JC8%cQZ52tn9m^w@+I+)?;*i)+^c1^UMp)_J1qZ(QfJV@eAGjcCfqR5pz4gpY^7O=@;a78N! z3#3OXjU5@us;d?%O8RDJTH|q!Q#?~To`-JE?EXN@4_lxFm!MjZEN#N;l^t5hdZp@>0Z8?Hq z1UYMo{JedsNZ^1wzMfKOU73xon$XXWoil^V%R5^K_J^w;ihnHYPMUEfo@?DW&AkZl zd?MR344!P=BFKn72n@e!mqJL3iYsVR6lAFcQKcDtK{7#O(fA6T(=D50cG;&u*nG!6 z=`%1UAZ~QMP>VNt=XtNr2OUko%GJN`kc0GFVh&-uttFuR1%#UZu(aSI&b*)0?X<2g zXYO?PYWx)#e;Zl8)Vi*911LWAL`&LyBKB$~EE{cwQBt=#9p$o`T*7?y>h4NmpHA;$ z-1be1^HX!-SZcf3J(rH*R`<{o&IjGXC5&Ep|9L$?C4^hG0ACt^ji{@`6V@xwEXn$_=`cKr?1d* zNYdllpt0kF7~R%!Sr(@&vD$kEh&=PO@uAEEH@1ihTLzZzu(zy+4>j6$o4K-sJ_c$- z5FPTUE+F9q7l1za7OnKhyNQd_RC#V7+j@_A9f{#(YanLx||J7{?51!051c@J@h3sE*b5+$FvDk>hNxaU?kAu?_gZ99uBiB2g6 zn+m4cY?d%*M3h^Knb-eMk-VV9feCKfD}p?Q77uPS_QZXIw+MG0J|7~=4I3>H03VwK zAGF$}fRjOG<7$yBdTuNVKk}w^Z(S$gc>73~2&c1B()(P1BD7#jm+M>=$3Zedijj+Ef( z1+3e(*%CaI$o9WIFSbRum)WOApic}22X#ca(n z$0t5%$0RAavQ}Y5o zg$St8G~{@ws|fapA_H}=;_U*T2zWyR6Ug@mWPS4WVAbcp?Cfxskw?RBUmjy(yC z%zJ3_mqSAyBzj<%c&L0qm!*$rhiP^=fcFwVqV3JFNIQ4KYkPNxJF4FDWpac)}Rxy{>pmll>z~c?f z?4a9-2}x-Z+u7LAvwIb?+a3#xItQzC4k}$3Tr)byrllwy0$1d}C6U%YU+fOAf%(}k zd1Q5w_ecR<&`ez`qt-`X{M@*?F*Bl%6|i$-a^vg)X$5TF%DvpBb_pxL%1d(hX91EqXDS?l8UV13@R9k|1 z%dRRr*gT2bOriGEk^5ls$a&YcT=d2Cxyde9GvYn{Rx znLxBboQ@BGgKOE-5h9Yppb>t~wDqmkN zLcqNt=y%BvA-!CB0Ev_P#mzN&#fePH*88U2O#bS<-U7N_yC~d$N=I=W%z0Sy(eJ@L znYGtdjU(bF@#@?XR-V|%8GM%k3xpWwO8pjWk!ItMe6ir{6HrA_a8~(844Ww?9A{mF z(Eb2V{o4e9OLQ185(QE3p$W!sno%^`H|np!hYa2A-E7?0&1#*}`NbehM~Fm@I4kWa zY@9bq3#)gB3zc?4@&;XHe93$=j#N)JjD_w=Q;5`CfiSLyb-cWT4g*YXm~_B$R0hDU z0(+9C82SF@U1deXCy0Ux!*cUi;}z0TAkgfAeFuvtmn)uuavmk;mn)uea=Dm!wZf1( z^UJ}FaVSqmq+VhG{?OX@I;=}&6@`9f!!DL&MRUM6ghQcBleIWlFg9iQfF4FSidJ=h*xJyNh-uoN-)z0GtqD=KXk8Jb?HpLvvbGfIZ>6BR6nF z6v&Si4&4TE4>6${!iAdk5i(P!y~5t77utsV*B{;BP9;Js*MKso?Uytoiz?f-*~W}A z1ncHu1B4l50tZZv;RB1oNdiM|zNX)8Yz?V147+dOBM=Qh1J5Lb;rv14qyhKZ87Cpf z%Uii9r3)TQxKo9nHjL>+8w-~nrEQ8xK9mYclo_;X0uJ6#qB4!%MR`P{UDB?}lb2jH zO_~7y=v-8<6i9gp{TaKmc0WHKomuQ1v)djtt#7<;@5@>a%`Pz2*~a7gQaJBVs@96M zJC2ZRxvWa*%-^bo>YEt)s9vhs*XwckydrZNT`4T%+#B<_ASN--$6A_Tx6$Xt6PhLS zghH(&l6U7XFkb}=)sO0uZoF_~s1WP(>)Bttz=8 zW5>eCcBUwb3DmZiqOj_`yMzG{*Jx}^WuHm|F0jkDHZKZ3((iJ0tLbpLg)?ed-4N#u zZ&bdC*O&6IF0ilsbml*9uxPrfj~3*QmJ;v&61L zt1!xiiLn&-v4OFJca9wr;B1+v%o8DzIFqc-Bs$6>eO5UIF>w|dL!#J&Od z4FAtwKdZ3k@zl4APz=gdJ$`lZsE)r&FlvAUqdnUS7dqzh9)&M)CZGeNR}Z8#uMU+G zN$upVfB+`BArye*n31H>dXX#tIJU&+NJ?j$TpQ0V>f2-4S_%<}SByeauYD}AYQw7M z&a@2n1Xg<2U2_o)3Z*sDA#*!bGs*YSVmEkS<7M2J^ariS`es)p00Qr7zB1bE)+!0Y zgBWrS!q7c1MEwVHEe^v5=s1;qVvQ~9i^ok=d0$umgLvTq7Kd`0d`B}At`Y_&x?wZr zU=FSwsElR1quc|A%~Ul16oLM-FhY205~@X+Ih8!x!t5(dY~rX=|J~guaXO)3@6){V zzTJ=Wbw&@Iv}^>G^3EbJ@hi^)9Jp`G^r*_QHB8=6XRYu(+mlGUlVZHm~TfEr5cCHgTm+lAR-H^DVUQ#_cVqmJ{_} zsfez*lu07OT6TWbO}fA$;G90&xp(1}_<=VpTlOwnm zriscuz}5YeGp)UYX!6I5<`2B^l3^4rMDC{*Bzqe_mu-BW0io(we1o9^SZcF5Ax+8D zbgt)GjmvV!^vWrv(iwAYAx>l|)C{)het^=LNC}{G6S;7vahJ0d+?er~%+pDX1;0xg ztJi`HWJhJ^*ACEwTw>wWJ~?PB8lhHqhVx(mG{CiXhv8$c??u- zPFz-op~>t#pDmlDD3?>V2@p}waEHTGV&DM;Zh~s7FV>_p^u3vBZwYd z8Gvw*6yzp%Zgs9t)fJzUlhJpjK<0;lQ0SSv?4xFxQhe`r(c@DxE;9A*C<*)Tpf&TB zP6b8c4_dNXs@BvVW8;? z>0dUUDvEoqs|=L`ifYW~NYob$@hqZSiA`~%gRsHFDkq05 z+c2RLIXGYG^N1O-pSHo~StvHSYoU#SFuZ9?o)WvrwS6_*EIH_L(xMC18$+LwJO#up z4s=M^w1gg(VKp9lau%O+uW0Zk<_CJ5VfBX#sJawrmd`u8M(8}YmT-_URBLU?_D_A` zz)B%@|1g6KI{fFRNq~V!apWF5nye~}n6yu(Yvt*9W+%yDhI~shUu{}Q7T721cXpkR zI8Puig%#A9C#?T1guzj8mjhCDh!qBH&V5?QIJ2XRH~oS*H$dmbO7J`Dp-g5Iu`oU# zt{%`HYe;Lm3epavM=4d=9?2kPrMMm@%hDo!RLsw-f%~$CRsgX+6IV`9K%lhCovKWQ{qz?e2@>@Lg z^qY^JM4S1niY)O5B9HN9$aZR;U@X%xBER3fK{AWO_MD)}A^Ly>xk1g41kwYsBbY={ zLKEvRXvr#z!HNPf+>0m_r!y@byXncn0EMhQTufXp(Mqk6M($4j^M4`5Tc{)F1oOBQ zeT8KHP^?DZtnJ&;jGWpWr%YBLZLS;<9z_kyV!TO-WL=p3pJ^?UwZ+%=Su5PswRe4q zJgxP8E&98=#Yf$P1E5iVB}3N<*~ht=QL2_)6W}a;(j?s=cV(=FS+q12xaKX%Ye5pI z?F}A2#?=C1j^QYFKRFxpHicn84{Hr zdM;g}Ris9-e~DPm zQ-7)#Ns&IRHtRcP`Xc@MWf?M`;#Xo17Y;uWTziXLIqPa_g6eMT@=~?=Nnp~~18XN3 zR06px@F8@IxkA67OQDFd=bm?GfL5wUAqwRV;RY6!FnqG8-pJxA639r{=3TQJ$fn;pM)ju~fjd+S)y?)74{UF@*fzr3gR4Ss}^$0_XNQYMF z=^1kc`VkkF^I6cA-ept%3mof_BS*f2z(ahKesyvP=~V%vgitDZXyr<98m^5PW4EYJ zQ|oU@E#L5yzrV>S0E$(4O$c6>@m?o0SKM(q5u+CF7Ds9E{(q)&CQoBk9HnHLFl#+~@0;*xRMFka~Qcb8^~E!Vwq@(@_>O`Ro$3sgc094@H9U=w-4RP!u5v9QBvg6hPen&Y4ILUXXK|&?ohXh*~sq`zs~@~^Wx#ncN3I5LhgI4-&EY1 z!X;qzZ&VqH+O^rVfap9^X`?NYt+n$A6Ak9I!BjtsjZP^8h&F%3hVoIA5q!&1Q*RXF zw#@FWeuS5}jv)}qP_rbh8Cqj$8Mp1~I!q%ATjuisSLW@X%m=O^= zb=3*AzY#!^lQ8BHkpe)WgRLycVc#SzR*gbYOX3v#AayUxZ=%CZBWMnFO=6JqA6WPf z5A-5ldDC}j$BmMHZvyh!-luiTi1!37FEb$`f`KTMj@Oy+NZ1&@wIsqz z!lR;L>KcgVRJLF^;D2c5BnW1b5aCJ%6Q$vKJ}i_K$(&W6^!N+BT`!tfK zF?4E6-ixzH$ZIVb`ndN;sXq11nbSEZ2j}jxH6oLn0~|36jX-=TX$R+F1T~)u>3cO( zNLbb*X5E+X&8z>>i9b0nqvAL#p9MMcsE+j9OU44R&0eT|`e<1c4YCfan=37vGK1)G z_;$B#ksC<|!zl1z;1^o>9w0&MejU4Hp$1xG42;WL8E^U4IxkJL{A`( zWgElSg}T;_AjNkpfg$i(U2GI5n$ObQ>~_CTSi=xCYA5cIgt>{KR*@CxA7M(X=P-?L zM~T!?z|Y5-XL_e&CXA{7WdoKS(?&wsDJ6uHQJ)hU51T?cu{hympGlW08~%v|(fA5Y ze|uz5BL@}Z{ZX8Ec8L7w&i7u3twr~y<>iedTg|WWORR55-oXT)g+=UBqH_p2W{Q_Q zjhaG;#z+Y2aV-t>H?@@^b}X3dW%@BH82RKlIpl`<1%;3lKykqCW-!5FB!iZPL1W$-F}AsT{*O#3AV-oFUOl#39oi>3bx(#v>;f(M_8F6~ng zlM6<}^HscYu$Wby&0u{P&M=0l(EIjKbt&TtCSn~Ecs7^mREM^84`Jrz2`;VMCqLS$ zV9Pdv85?qAoy}&W2#-Op;b08ZOfiFM%b0W1)L;kqGav2R_W!36pUVQ6UGc0y=>)1m z?8SPeG?PM1%Fvk0>y_4RmG`einYdaGLVpiU_u|R!JcP~@WugPnPkb3yVChbs>g0_H zM69JL{H*(Ec`2JLlbx69x&!If>-C{bX+O~bA(|1ZzS#1H82K(lrWW_LR=~bx&x~el z>HQKP5}U;Vk5t1G_vVchUDlp*561d`<*Sq~LW=YIO)rj5P@JVhu!LZ=*Y7~#-2Jde z@u7W`2YPO7S(3RIn%Wv{qh&*;3=+Fbq%#f?P5u^|VihigEdq?SSac7O2UUZG=J%xI z*jnE7p&S!^g&b14NaMb5_o)U@SP_tf%t%5oXpoTWS9ihyXYt8YxO6yp-Uk=yF?w&> z9r0eqa9(w|W8!aY)*(E&Alx=T`Yu47TAr3t-z$%qYPWjG+MG!CrIjs)6j;Vvk(j1t zF-xZfny-CBamYgKecSccN2oSUjnQq5=nqomwM6R!KFZXNV`e6)b(}3%%2QHa63UE+ zauCv9yoql^pzi>t7KrL6IG>RT{;Qhw??Ph$O^Yq zvlub-59Cr}cQCtm@TbKtp2jZ#nnoJ;$iwsucd;;pE{88LFxGv9RV(zlHvqyC#Qe|r zAMFo5Y(p;kH2-ALOy%JapSNZ66^g~%YxgJb@0j~RZJ#;5I zOpG6<1y;>qHCR^GCT;9%h{?u2!m|llbjUyQ5D!1pS)DMZL~5yR*0Xo2J;n4QS|F2p z8YJZOHE#A**i)P^H&Jj7H)Fyx7*Co-=V4YjK(V%n+x;;qxXQ`B@-Zyf8qS+=rAyif zt~$DIO1$haV51Dng(rAP10m$w&hGM6?w~l}!Q(yD{P1|~%RnJcpbQP9&XJ7KRot0q zHW)f)P>_lT$!p2EEjpbG(ewVORpD9}#5~nGbOPW2Js;yTJmMaS6_i5g(DSISYj}fy zyDNjfk3Ec2adeBMe%;8k z*j>2#_0b#T5wU-88z*B2_7jjnH0SC|FN%PV#+B_f0u==ZnV)U>i~ZHd>!bcy^-=q% z`!*^?k=Y;td&+W*N}|ASud{y={-<^rxOek?Li)nf0k%zJ;VJp-CUAK&uRE@|Ty>cJ z*2D;LJmLOx=Evz!cai$<+<}WCFsQeRTU#m#aGbrImT6`&&6pzx6!LX+^izbgGq0*$!ritW{WkG87^9YPQ>YQK@#;ohW-9^mnu>ZZhrX9^yb$sjWDu|kx% zBS+9(jjfv~gaD(z*HLg?gJP_K!9hgT{=$1%JJ-3v1I$6xjXk=V;PX_nD>(Uq!=4Oh z6)ypc9w_yvGe)dp%mOz$mur6)8?iD&I|%*&W4Le$)-Xj=?FeE_s03x$)C~LSs=jV1#UD4JKc@@7|%<1hw@3VF7i{!U!mX-cvb`U7!p={ z_m>7VMab*IQcGEnFvA&18uEGN666qDp{7zg`Y3LWp$C>nSwv0VjNpCF*fM8tbvLxW zK|=i(rS30j^$K$B>hD2P`!7rAzm$VIs_4Jg=zrFI2W6!f4`YdtHlCG0BDyd9%u4Q& zfvPZ~XJD1+I2w!bV>2GgjAmsc^&}|k)HOfxi8bq1`FTjw*~3Gb?C_}Kz|+ygMNFe5 zvlc<^MV$SNgL#rU%*~e7P;(?ek5=|deh1DMTSVIu?DAP7RQC-UFf~t*U)KQDf8F*q zPIh12hGPe3BFEry%0{aCb|*ar=Z1_HtY0tGRJw$9s7DHfaW4CtB&sS&R8%;5su4ZD zUTP{{YM%J0sRajMo)0>QPPn(oE)Q5p)K%u9p@l2Ehn=ASm~8yCA{qB`B4da8LKPJB zt&eI)h$%kR4)d>CW+ou`8NIeyY+4qT)`0>CuBqoz!_)bxo93YnC54?u?L$KU9Y&h^ zXiQx5M+kipXVT92SVAHsc~K}bHvtos+Oi5+h59azd|>V7_J6&qbi+ypx+i|R&Y`XP7qwZ{a`aV9*I&Wh*VY=bLY<_&E4W*3Lbbe+uzk+n<%ymW~TrQGQ7 z#-Hn}XMzQ%Ok`aE-)4C5Dx$&t<>}GU{jxr|B$HVhqW!ZnK(f>dCVl3R73_!x zUh|g$9lBy*+Z!u+Q@!qi%q6cp{H|bTyDb_j3fV+DwV;p7a zvSOkZ-W3>(9Kf2Vs_t}9N7K;BDa@zVMqyfXDBcd#+7MpGKJA|2qM4oey%sh9x6~Ey zU^w_d2Dyiu!m_B!PQ4)$CWuLu^Acp3MhZ$_^~s&$2tS!T85kW;#ng%s0oCBhMB1xc zF6r`i5=jbmT3Ysh$t?^pVKKrxbpUMlRUv}>}9mjBJ-Jca2EI z$mt*J8$bv<(C;itTAR4aQdC|G&P zMiP@@l%LpuFSkC((l%wTR+nq;;brC^`a8tJ+#|n*=azxHIT`fZCXbz_-Ic_*uLhRs zKqRC~@vz-rg@&`dQ)6mniYv;Y%?AEwEcN#qn{R^M;Bay24aM+hk`HNGKt&MqTXeT4ttNfr@w^I&?}i zDG6x)Y-c{nmpFB7B+GPF9Rm(w=2YeSo|1QVSkNaEU$~B#)ap&=AF@G+k}kZKG;{Zc zQ=S~e`Mr{Ttj&4JeQ_~?8A5sEfgn5$!`bjyWVE!7nwhquIn`%|M+Y?46S#RGi5C6b^>g;B( zk;_cmMwl^g8zEznWSo6uOhuF)BN0!KVlk4I^78dS5HtmOJf-DySTsHtQ*@V=(+)Q8 z)R%TpwJunw0LFV?lt#$%GphXz;}fjn2|ublZcQ}+6@=rvQEO5A_S!|JK=$Bgt^bq* z^j=Nsu**vp)wzX16$>zITLiEj*~gs^XpPZtYS;1`S)b%8KJi^|tT+m}>8eD|Lp;D% z1$S@kYLVpN#(`Dx#!luNKSlvxdMWQnz44w#(O4_xyj%ecVPs+(*5MLQ<-w-eQ}?~A z%M+nnMEQ_jHUavPxM{j_B@v~VXR<1hPz6&6qjste>rmxX`+Z$H*s}G=4}^s1_8csY zw9j(8x&fiMiT}aK)pC;xLYpK-*mYIq8^dp;wucnY-hG6^#w7GX+8fkGW9R{Fy;Wau z{-9Ok6;FrNVu*qA2Q#ers<5zstiGsj)vwzjzn4uQBZIvGsY2>;XfKPV?u+Qh7ZOWg z-lLSDQWm7A;F*S0%gB83&S>C;{g1vkKiWqYX-n!c5NF#}@{~C{MXTs;eHE z-xG>UYplf*%N-NN&!Wu{t=p98c&7t!V$M$35z=JbxJ&C(b;zaDSUB+OcNCKBjO^tL z6y(2ko9d3p>Ke2^FtnPjNiuWp8;?{ z9b;(V5x~0nyGNU}H)w~b;%cdQFGzdfSm*p-*lJ{ZD;27xc1QGA|7?1u7_DNcoMTjs zR6Oh<^$)*DeL{KK_&%CqE38xXUAB=Df;k0hU7%N{ET=-8l*MqvB5E(}La6&2Hu7oOwGf&n zFtd*0{y>bCN=}VN{e;@51$aml4Bu!FwktOQA}R69OrSk4Wx_m|G82fkvhy7@{$2Tx z1Y^|mN>PR`%X}4fMS@CQPK`4I)ejdn0~nx6Bh)?Un&<^ zDdT!H1rW1O*)-r*?#&Z$MWYl;(DN52-gCn~ZcA5cdHLQHE~U}@JC61iVe}t`zL+Ih z7djpN@ktEc=^67vBK7clcW$)9u5s942c`;>GY*yBW3UmZNYn}NT}JmU zV}IWi)0fZ#<;-VEtCR6dA8w$A1Cc}a(wFSC)M0M-ME`to!`jwq5aiT)y}0n+8`L>V z5Jo zqjJ)anB3E$4FVhXb%^cto8`PiR#&P;PcAEAwJhN=UOEtp5ANbAh_UTGK2f#K4!4>-x&D|7MI4p8nfPUfh`+_kqZUOlw%9)^T zdL?Yc^&&~;W*CbN*=SUq7la|EZQN-@reuq|Do#Xl8uS|U&<=8Owu{dODIq&4(o9$J zMowo7MsWS83`hhfZH6^Ky>j+zD?*nZPcA^f5f|EQ5s}M^aNoGyG!Qv8?9YF4Q-+6s zOs=An%|d}@dp8rT=kaA+*vuq+e}vQYxbk1xR86`Cx)r)2++sG5f?UKpTcTbSz{bD8 z71*xNsC?>anf%n{O)+rBJYbK+aU#zi)#x%-2v;<>v&HtaCp`^jCNm-V`DM38(yW;g zPmszhso@ZSMZ{7cJwKba)qe8|Kpfq=3w+i)?NCld$%(ZL_S29YW2eA(SNB8^oiOx* z;DnZg9#h*kWON{s3r%&66x_8$_(ZG4DQ+oE{C!Sv8=j?&DTORyOFU+cj)j#l?lDj| zwdbx7EDjf+qKQ-oxIp2uPqN3D9p#RYWpD{Yiw&hfQDg2k?O3TiZ;MqPg-nU>)5}$& z2utPXm%l1(tMdpt2e&KpD#gHmFVnhx)o*~e@r?90jnFH`m*H$b8(jO4GkfOS|^$$wIKYB`!`)ZMnr#1#p;I7ti@9(kwT&O{?ZL8 zmfsXB50k?>75?k98}2W~nn#a$B98&s)2XyY%bVl{ZfimJ2yXk2v^#{CI_bMgmBIldf9-*Fu*aVA=cy zyx{^$5Sx;MWaw13Yv^Fo`YshI=Sbsq0_|0x-&dPI#>bmP*X9EjwcEqH9YfM zij2h)8#rUoVKwZ6m+v*+n4BoHgt_X4%5W$!g-6L}9-Y21qgqf=Ee@5vP`vI(mA+v@ z<0@H_jqy>?TIwPtjYcWOqigbabL?{*z&qJAXnD8bqLkz`7I%DpwNvSXBgnvFmsA4O z02DyoL#70PgB@z)er(_iawEa+yrO=xj*gS1$D&n80b^6VIv8)Jz_4^8d8oYEP=2LI zPva4RRq1Az3LlO{S%TD)1(@{+R)f&a9ABMpn_2W~WtQ8`?neS!6G(pmipCLu3KwI* z_46{hnn;dOPDCP)J{`u*&J$9mhMQc-wQ;s!n!S}th18Q&i6$wV&c@RG8E_tbfYB2_ z8%0U6q4qm|xChmTm#M)9qCh#};1cS-VqwFj{TTuXM<_ZPB`#Uk7MpNCC>lr>3+Fhq z(pO{?%*O)sM9GRYG%;#OP#7mu4e|Pf-=w0SFlYk7F2y)`rG;20x?h7fQu`J zz5+Wm1-9%drxxVeGDXUMzwG@s1IiREVR&*Q2C;U;|6p`UXa;})N^Gb(bh0w0iugU5#PaJg1+mv&5j6Oz5B8`%~ypue`Bi^aryPrcw zhCNoPWwbC;s)5&XG;maAjk6&n&_FoG=n;A@Q%1CIQ;mb@Q0fYeWKNuNfcLkjT8x^^ z=TsEW-dl5gQK^H>3a$O>jZaMkp#htXWalJ5m3#2dMz>ON{yF#7)h+}gK^(=kYfYBROScLjNudqXY zlo~4TVE_y0iRmqRA5_p^Cs3hMkc+c)LuReDu2}p`u+l#ssWG`9f?Zh-?2o5v5uq6!etLYopzXmISHY`kc!1Hk9 z!tTvikFBAqKtU46j`q72w}sytr(nJ6A@Uay5wJik=NkZ6{Pii1CSpCMj~Ex=%7oOk zAKXanfc?gyLpx{Lyv~8?q5SWKhlv+Kdss((;i}E>8j+v{C6ces$`X+!H=S-gEF40h zB|1Z8A&my!A%}#h*A~nwYo&+Ck^i%>AV;lhS>SiT7sdE7O~0~XG6R#G?n#J% zFc_Au%_47J{DmlsV$`AP_lCto^?K61?qs${?xt_o40TA~FfF3}>gK?_v=w~c93TV9 z|4)uH0MWh}M*3viM1FX2?9n#J7IFA#WiuMoUUwOm8A8_eJLlY?4#cE+1Ju#Qaw0%m zlF#%b%;5M+90iL5R#pnX6_c)i0mV(pX7+zEFmJHO3i}$3bMwd-CcxJba?7BMSgys~ z@;|z~2}u5gYr%z@2^N@j)|rzNv|9-E$7k`7wyAE2xvKR@e8zTZpY3QLG#Y;0qpo=l zeZc> zMUc~5E`yFBIzCS^dG;pa-7! zk+t8GlyY-*{jRZY%EQX9_zWHfsNtiEdVYdxqVP3Cv^@O8I0JKq}Pz zpeNGL<+&AeD_?-wi$!y+`YY+9YF$@7ftMLttDK0~YC(NfqNu>x51F$^A@?U&sm&Cy zb~MAJRFff#cYq+8{bsuW5w2h6Tpa;#*rUp?E{it zecK#f${`A){6;wnS7-@%5$%Uw_+2pKK7>jh8bn3FrizaZbcMW&+JNhLG~hQPfH8Co zATbaz`|vc`k*|NkpU=dr=SvI}Wx!1w_W;!5ip*$-t9J9woN?NQiRlx>p zM;0Lt-hfuGh$yf9==OmsTQ?X8Vc^fe?Eh#ii0*F)*bKLu#KloNK(~3W)JPP@Bu$NA z?mX9Qpru)Hi-D^r7M3`099oMVIY$2wjXs$%jmlLdh}dZnu;+KASOi%^ITwVIBaQZD zF@+;k>211Jd{t4vz~bW7Q8T5ugOrx&;JG1S2z~KaSbB`Gd9@{@fp-!O^~9vPw91f5bM0(*e^!+x)KsKYsxV z%)_6REvJV^$TrmlqXFjcFs2Blm?WJc=~`dy=nJSgd(dffV`%0Z@69*rE$jiJaXta)YUdgJUSr_+~xKqj>QI8wZ|UUkrb<_K8Z8 zMQmQlB-7LOH0^>ra_*eC-i~-(MMAK^yt)+XBT0o_v~Q^j`k2fGnwa0+g|V{A3HzZy z{4e((=mnDC4Qx3g%*>!!xb}nQ#Gej@=(vPWn2ldXMO`uhL3zuMt?0;ao8lHK!*~X$ zh#t+LZ%!Ku<1HU-hEPf%(Qp#jyEI|uyWo-)4;XyiEsiRT2& z1g`&h+>o=}ZHeC6?)~&F>~d0|oQj6Jw;gJUUAG(Y zL&)z&eCpyM6gc_GtApilYHTetk8J|bmH-Uvo?d(q?ZYferCwa1I1q+O!Qtm$V0o*i zn-gjCfpkJhaF9bMTXKYJKfvX*Y%|j2kzUjFp)Kl7?wn(?3$IK7ZOfp+jQ25cWT z*LK|4IU`DJh7$fwMtL;WM{ym6jysXa3WMh-NM-0zR52s>@e!uUvN=xtOKFp?F7DQM z`Hi&M)cI`ebs|dX+9&M;@1%#!SzoFCHk5ybt~8EdlN<2IPEjA6STKNL(Toyx;DMu1 zgBMREWt>5AzF^PJGL&HuHxW^!T!7Jge9396$9?EQ#P|pk6PnZ?U6-0M2*feaowwb=^fhLOWkJ* zspK9znz?eVf4%((sV>QyxpBq453x+P3AH1@p{Ac+0%`(Ku zq!+ITM?MHWJTr# z+3{j_z3zkN>MJ-GU^)4g=|#nDZD$Iv5yb%=m#=c-&VP@pzl-OfkhbISwfBV=n7+yv z980j|Rbq3MGn6W3POjPoSL`9cDchro9uklD7m<8Fb$VSngj~uy=n+v7#4J<@LjfBf zgq1BB^D(bCNkW{#W$M*$r-sEz76ZxI{BNiibmU?XhZjnW!e z&E~i6T?o+ikvr>LOJierei^E140{n`?Pvnug5u8vREsUOoU5OsKG>-V4!Tvffv{j1 zTEO8!w+s~$1y=bR{`6=xx>gS+VmSlzCgnRFWG@p$-F2k-P!{fN8z;He>?B!{Cwn#X zmdA0OZ=e-y%xCH@5T-W{5LlEboJ5I_dD&Eu!r#tQQ4@YPIE1z@NeU2!&{ZL$w-?b6 zLBLfPwD_!%b6;6MuZd$Y&CL_I~hz(Ch>5P>HN&9 z-nL|q;y)54S0Dk(dmZX(=O(#P?g8w~(&Y9|>F8OkdCeok!<`s-E$#*h5}Wk2j7xqV z@P{%%(eDQDPciI`;Nff#8bik!M4w2k@&8V;GTn$ozGjB}VkCq-56I0}J#q37_}R`| z&HoMm!GP00gZ*7qbjxy9%{{S<4b%@y^~-cAn(0W?uZV7!b!>oNu3baKb+n9onMTq@ zmOlVjUlXE2D*X6C5QW&WIkkXny9MLf>W^}no+DaTBv*Aovg@BlfV4XN^k+5KL27+| zRcVU%n@xnd#-#d-Z_;yQMZfu0_J$Iu?jKq7Y59O>!k*)aWRoobW4a zstKG`H=WpFvn&-aD7oqR-@ zNNN)zHhEyA0eR)&4nIPnY#*q8A+xgoEmy^3J+ue-S4rpH-MXUWHTiqgmtKikq%6KAVpqyMP&EV9iqG z7~u8?rCJ7ZvLxqHozB=@9^DLJlIX63r!uD}qG+V@Ag6-ZXH~083u7|y8tuA->9Usn zeDiCM$!jB2%Te0-7U5*0RpB_k;V>5bD+?|z_7%~KF0Ane7*3$hDB|`*bUD-Cm~1yC z=BJtT3wcjvx^R9sq)n=|=KgF-1XlE3xI6LS|5<%YFk8T-@!||95ZKfc)u0L!VP#7oYHGNSY3O2_QlZWXC9GwOJ9Ih<5P777 z)-GvLQw?`(zcAR23V%a;_{(OL-P#0KqK@y0aJ9@_P>k<)H1lc>J7K|w-TxTgGfI&? z+Hjh=RqYxdoG_~{hX?CgsntlH((88?jVj%p>8j6FR~-UH{>GvSKvJZPh%$je(uwCf z4$G9aOPOP1F?V`uv1}>y`qGv$bT=>fXIFi7K=?T@6dI)Orzde9k=nOBT<~PiTYg!E zD^{H*gNy^@d^B{~c!e?+Q0-30(;mhHj>jK68A;6V(R*%`!W2BN!evt1&XX($z)i`{ z0+#jw#_p%?WbJj|IVlvhe)8Ink?Ht_jFasIngpf{XPTLI8rP}aBrep9I{>=RdA)T% z-EBt~s9~+2#fIHvQii5oxQ}nT=s5a9S8Q+jD$N#8-t*8H{-}>Fe%C{J#?Zal&+A&m(!W6b$hoKlq)uGCc zNhgwfto<|&DQwbSCE8vf=XMWA=6qx3D_X*!yMEHxQM4x0#i)u3?$HrOI}m4ZJ|BXw z2x$1|l3}QphgITJ#d2RdC^-VLEa0a0+wm+$SHaH@8%TX?oKT4R2UPBVj-dK!YiD+P zIra=Y^_elfA~xL(AZ1o_?3?PuHu!lQsFj(7{7#KeScRNH?nVPhT4@-K#S9gGJwD=4 z#6Vj4gU8c7=Gu(WTw1+?n3cy#!aj1JXLZCaSZ=Oy6 z6~2;k2tG}RD8t5zRtp&j7XqwUMhC}uKeGw>?<{!0-0!5D<3bwL`h$PqP{aed+gBdh z)*9KqJA%^7@08GrpIeg1$4a$;tnRzhh1lDEC3k)tGzmvZhe9 zNO;}|fEYy1qs=ETMIRW0GDP5ynodrM2da8mSi&U6+2Cy@v<-;OIUgGwef3VR-iZnN z3(_Tgl&zRe`L`Z%Ih@>tD238?t+2vB4Kq4G+1+pU;iN}%FYC?NFgE1a> zvglCsQRxtA2%I1Kr^(9EAv-~#B3ya{mD=HQBdn%+ZD#G{F}9~jUvA)-kt_4#rzqF( z0|mkBM6dYF@zEiGpaP#25bEi8=#ar08=+W;cXYgTPyKcd@KS{RLkPe{_%;ePfA}^O z@O)JPs$qQ!F*1wrNqqza6Jf0(xO*y4xc+xPcOlGtn|_yow7x>8@BXZV9G-&_4P~!7 zog8%!L_seN=76FzsxX=Y-3*-8U{jy3!73mz%skWNKJ6FNauFlML|})-H$`(nhxVZB zBMpCe$Wq9yLp$HIqu&OdIjX}*FHZUqbzY8D07Ro+;s(J&_A-~VK7*%wo{xt{qId90 zGeQdF9mdXS2RzP~c)a{Dg=1F!G|8d{jv-*){@jheSAPd>k11X9R*EUS*2<~tu1`$3U%>{GV3wqFZB5LUQa$rhi zj3Hv~RA2x;d`nck+8kk_Nl);i(ZkqyX0BO4okHkDb^DkUVz4@8qEraa2%SW1Nmd7K z$~!)R7spxYDIlrXs87PnTh`c=Mk6e^Yh8X%n^)mPrjUS6peoKE=P(p2E*OnT%L!*I zXnn2@uAD2*i3bTkQ^eI^M-hj8DZ}n%Ciz%Fe3y>igC;er-2b^-rKMipyI0Ve#D{FY z8vpDZHCDGpijyu{{Tb>)m2j(28 z#gaq@_HhO)(l+Y1(5h}EC^K@zR{1cYM!)=IE8#&G>H{5;QXOofRA9Wf#QjUt0>OGKj~Jw_NSzzDUM z3X532OUf-(>N%>f_#FgJ22A0qkL@k{PgTU>_8niQcbpyFyu+z>o;Y!6AyiFcAng;c zVTlU7W9^dW@rC2&rr#991%9>#qmNZ?3_j&iY_4L`9<$F#wy$Vgpk*+NX#Dux!B*2v zWibxrK!a8Z#?V_(pLH_TH276#>eTxGG_rxj2jO{g`r4+Um}yf{&0K4j`C5 zWHD9kVmvBB;DpglMxqK2t;S!YWtCSZF|8bqGz3sT6}Ah^QpOU6HH&hD?hfS`6}6La z!xvsA?qWejV7b(&7IKM@d{u1uYUsHag%8Qm&8FzC2Lg`xwsXHiV-@Jo`8Wn=*=c64 zgS(99{ik?RZdH)wH#venxS)%ZCn#W}cSPg`IK$>rOjW=YnB!@C?Ip4I+_?F|Pv^-u z)~mn`@sy2zlWuwNP);F0>;2}_CA>3%-S&#EDNKba4uDoFJ@pv&_wi5u<80l!(9G8g zmTEBmR1ckF)7S=1H{!lxPL zC#I&fmP2-g7*|#MwoPW}v1_dU>xzI<;)&e*yAEvc0-iCWJy0= z%km-MZWHyqal-#1hRMq545!%qn3lsM1$#Qwfu$>o~hD*)_;XIzur|PxDnSYo)Su zV|kJ~2BYEtha3g`6WopAR}JE7w{bk_TpH+CaEWK>wUH)adTg5c7O0_lq-+x|^*gFqY*)#lzw;uK8-r4CaZKaiT~N~~W{DhsUU?Y?g+&-C zw?Vd(>n0Z;YBnGVC$8^tM&;o^g=E^?YIceAPac}WpkF{ue|oCIu@Q<5%)2}V!srn( zrD6^&Wj#I$~3vz)gxH|AK)TsJ{^$$pS(bXR+r>7&xTZt^#Nux#&)ca zCD)r99E-6WII>mpq8h?3meTfJeFaTL`2K;DwRB%}--k>LxAMpXc*y>-h{ICt#i-*?AJeEhMtF&=rj$HTg$Uq zbZ=d@=iwxPL+DdrGr6XB>*T1xvh-DuvZ97eLJZ{mbc^x`cliooUzc!Fe2V-Te8N^` zlS+88+vRbGq00x8;*e(~ZU=|Y%@1v`@Tfy zU7FA%Sv4wtFL7p}@7J<}Rj1CO1{$I-lmEZa7w$URNKcc?2kBaWzOAttmrtj4QC_kb zlIV9I%?}O|cb+sq4vIf2*VcU;F)m$7j}~?YP}}O{bmuXVCv|oIlktyd6NI0mCgr{d zBP5LAY2>q7Tj%L^wf5!-;!#vuF215j-+kNY!T(qSWj&oqQ$ zzy37-*10+vJvcD_TAsH8G8!AI7-M%_)P~dfrI&5ZNw(kCEd7@(bEglXOV;nP!|!xo z>$NaMYv}Ze*Zo)#jed>3_JOrh4)DI$X%aM+n9Dg{@%a zK8QPZE=<+$0}AU&Ds?-cy17sRwRWCg@b+D4I+tKbZ=}=}ObZ+<2BxmuZOU-C51R6f z3cHxl7bw(sw}p*#+2!H@rzqtZW&Ilty(4&cg}9e2Yno;{^wn2KS626x6@XRQtM^az z7se$J1F_KA9F~HPQOY&k3O2p^j6|?ZdLPXTj1s(~lyI*R%Q`^~?*uT#>G~zvTCw&& z7kYtLIq+d3C$B%xBg+2wok2_Sn#$|+dk!5o_Vv-e{xdp<-`6ka9>>d5LQQ*=0g1}+UKZ%QJ-x-5%kHdG4lCUJ#(Qm-#Me?`H zpXJUr_S<6B*P-LN|E}jyQvV2#{tjq={7g0Lqka5*WIs-R>(A~s{x^NSC#Kt_+O|T; zZ6jSm>Wk1vZ!&@XFybgvq=_36GicLbMJ4*vu;x8p1`8#Izxn)3mpCNo#6-^qYx(rw z|9xXQjnXUT{+69~FKfi>TX=Gxg+2Cj@Bby^zRv!JO2CI-ANsiL!n5RqAEo2y8+h%s z3hUAH-ot%&I)az@1W8}}YtKge>FvzE`9J-LY>Z?ukIpF`+*&=8DD-n^ z`+xfEY}t-c$@^|~9;{+LKmB$zE={o1q27>Hy}b43vvtG&`EjFA*}-nZY1@=mXP?kW zvJrMBhnvMn@Ht{ue*Jb<&DHt{2&4|g~wDFWIi(Z^3%x*@0g{7A{ZlnbQ$qbzYYnpxt3T3Ec0dpMfN2qIbiXWm2 zf@(MJVL`kg-oG@5d>Oiw87w19|MW9kKfT;%VrM#gSCG;FhAB5MBT2>4dwDiJHf#D3 zg?gXdGpg)XwOmIek#I%9jP`B_vkM(rWLyxG{;5&wiIrV-$D=4%?pQ?KiS6v;bZt zgJ9V|UJ;Y44xEvmYoF`U_`b0?#`#ZK^~`$LxXEFC6Gu-JV@TT5gf7RbZ&``rO zgER0@m1`YYcn^XV9BW<9g<8>t&!W)@9h9}!UpB3I>f0hUZIM&@{d#$;d#{j2%Qc^F z`IQ8fpJjhLDV$RnqasWb5C?p9lb<6FWE`$0!Wn;ri@n;m|0BSA%{+NeY0%SMPC1uG zv(|Cc%;@k$@_XEgOy)R$rpF{J3PwqJKI>oFazer<-OwXa=EvvGc$b)!+=S0=@n(z%RWW(tIxwg{b)7ksWm8SfHT;Ua9)o8h8ul#BymZaxLM zWR^F$If^;SD)M9bG5o0hQY&JIv5)4*X>$ZG=_N?hk|$3&k9n^)V$}EFjWy0Nx9r^h zgK2})dOfj+SQTN|4oKvO?2kDmwY&0I_*wF{wsYVXEIQU{Yj9rZ%Qrd&*w~9aY3w$Eqj1M3cg7mGl5c9V z^&JyP2wF~%FYet|nX^wwD>prkLQ|)aGt91zK#W6*sby)KM%N10O2&^sMTMk!(caaa z@l3npHKmh#A8@XkERF2G=Xl2${`pTfU$yo5M{z7B@m#06?R(792c>af(mAF9E?&pv2cboJTN z#l#&B{U?e6ed0`GljWK>pXl0Z6A@hl=3q|L^OuAwQ9f(gi9yQvQPVxS59qoysdfum zdakDcW7RabNgy6>C(%mjx$v8qHex-8(aYVKx4Zw8d&e1a^1mWBo!tD0 z6jsNILYsLvT6obuR2mF`QgVHrzB}M4zw+ZuQzA5%G^?(IsF_?Ogxr{;omKmuQ0Bx;b=O2`fCS z)A~JqEmC;sRi@NNZ;0U@Bi>n6pBwDKe3L+OTzcAxRrfJR<;1EnA}osN0dW+U61r~% zm62RjN{@rS$R0lzR`y;_KS0{@W*mIsyN!@`~u? zS(TH<*5$5MZ~Ma!7lXzvVoC?+M+Xqo+6vA+`ltEk;y(Lk1s7&EW+h@|(#vPi$JW@p zJ~vBj8Wc(*nvRvVPctThB#B(8N7=b*Q`KJx z#e5Ew81KmH%KjgGQBtJ*W6gnf^Ukho4%bnAGH6I(eB!@4owq5yotT#8Fm|C$t9R_a zm~Y1pcQ-P>_4&R$zW${7+S0E>fbWfXV6n$6o9M>Xg^Rv@fAG!yDk*Bhnh8e)##MrtBRn zi--(!hsv;;lX&fXt%Ig{7<_{57?qCCYx7BOV8$w(W2b3#T=pH`os6#=5zY|_C|Qpv z5l7at8QqIv#zp9b;pbcnSW}ZkMCPLu))nRrCR_tZTa4+Q!%#`Wl!<;q>hB!qOFdI= zMeG;vQDXHOhcS)9gyS12Q}!CeMt>gxd$xD0!MuQaBu;&%rdfVMKObG0SLm*w{kKtE zL6!s`41A4EQ$`F=fXZTfUdEOmmLR3y3L8h9+Pn=d7w@!a0(=H%@00ZMF+7Z^l+q&X zULp?sx)fVh)3I|xFj`{dzEseu zHpFG$c%E$x`m!`K*C3zc><;lddt{?Hs3^1whWL8ItffQ-dNQ&2jcj5MPkIyOg-zvI zjm0ODJsDQ=T;I`4>3SY*mkFzdh;mw13taZ4>sztifY6;T2Uep7T=mOS8-zq$k^x8_ zUXO8k;4cfLjc#EtU11bagHfSk=Qvv_x0PgwnbORWutmbIC zYBG?%#6maxGVM}*(Z4(x@Z zw4bDi346^h$ceM3(RF*%)_Oa$>N(w>_1_uN`>*keE9IwKHf(mBQ`L0M zb<))Zy*Db?&KaiT&Y?i?ziX9pqdsy-;%h*k2jQGUBniY8JGoaJ%Od3D6&z53dhW6= z7Tceu5NhH`*N81(_I)sh_U%gz%=@+-rG;t*T(QReR&7Ny#wV0z2gdv>W{%wGho_SC zjU&9j*s}lb;heTz!Oe8q28nQXw-LN{Ej2pml3cEic5IBY-52;!Z;K|VL8rq)_uBDM z&4$cZ9g}lE@NwV_a(~-$ljB>mTPp3^(CnzKBf_1v{vnJ{A}5RN%rPQy&SepK{zACQ zK73t}Yj#W&)(mk|MKGK5cZnoEqbSxyvw+zNMyu7?H5j-?Gn&G@lI_I3fO~sOdWp_Y z;7mz4IPO;Jv&Vn_C!Z$S5B*Z3`17q|ZcC8vMG)(IY;E#pw~0epA+q%d;|i8M$0=-I zr99Di_4KlBb^MXN)M@{^Sowo2UmnWke%^G=KKau^4coXdWg>q9@MGDJ4$R zaCze7`EJhF&qe^^?@MEfEP9&NAcYkNLjVSLyy8fR#QhM)FJ6jx%VuzITIVJVXqLX} zVsAOTQjc$AlLz($Lv1!FMV=hqZ-B-nF=IDokS)P>FN9a$R|~W@II|grKjFmNYXp1%=4ilBrq;b!Esg zHRvTAFAF^cnX3nGkO|kCP-iN;+>F{PHd^4Qa^NgsfQz=|0v!#;2|B+?o<7Q-|2{M-$8kK#p zl0hCiMryh)Ad_&4iq+6eUz<%PM83^SBy?PD|4{=lFt7W|lkGCS%?M zPsliEzn0h3x%W;m7arRr+s>vp&DHA}6K3rANQkmg8$hWkVcnfaNlB)MuzK@fP+(8# zKRD^~5jefz7&Q`Z6>ES4xeV;jgD*cmq$JxPd_5{%KEAPTZyo8hO?baA<`_7h_T1Rj zID_b$+IO9d-r_|%8+>pB%Ry8BW~kl>$8+)#opnTvNRLX3(vk zxxy>E{hRsQraZ;UlzQR#Dx8^3v6fG9E%Sr3)b;T>v_36N;-Q{2!=dzlGjOP?CBkB$ z6t1?ocp0i9AnCT##BYXmlf z=t8=yTN!W-YQO}ANnbOw;a2diL{rs_c)UWl%L2F)?7j-|C$T$0=mB-7(_T$1BU=QI*KzY$j) zuWl{^=R{^^IT0#leBEob(+OiQvPV9Yzu8#*RDB$MJbhen9qjyq`ZtV5$s@D$r1Na! z+(&!VBTQ^`g20R5L2zIPWJNL~XMlKj=O-Z~1A!tCNGv`DVj{p%L8yeb#6e;p+2W8v zLPDsFL{vkZQD`iz7RfkD%A&AAY&=U++FN2GvWZ&~2oID-RVv1jUJDiA@>Pn(VlgLN z?_uA4=4S40^N{#2_4Chm-!H#^Pxsm{CpUBF+}zyV+~#iXXL;Uc{ukf)PhP!u@#bdp zbB93mPP!k!`kLl%&(Y;FJtX%|z-?WHnUBY6?4(!b4Y0QBp{Z1z7k z^>CtHj?sUdTdMUyD8yeqttS}tcp{}ZDZx5bPcK}Ga~(?{iX>zWS@$Tq zQ6TbNj_^J90JMur3go=^VeHaf?;n?6XkTaY?^lb9H8DmNadxvMcK%kf)l}bzwD*0phXO&xZxEz?y7kI2SK4MUZmf2*nJ<8{oF0^*XDo=eU-hFbh_wcHI#<|E}+WbRi%_w-Dp zdHlIsPYbez=oeUQ4ERFHFGW*ILZ-awi}U8doF2j0UF$k8n~eumKG* zSt`NL(=@8hZqY~z^FiEeQ{``&M28m1*`k+ek&G>f#dhr`7gf4mU*-_ z{cdV}Ki}V@PbEODCUcRx3kj#E3+4%SwZU->AO`hf@%A&qxf?zS;Q!4V0hBug$6?Rm z!S*f?YzzxAV?BG3t7?zIG7YQ(&blc7ry>?KDvSA&48hlhBB*? z6~1Fqk0;S<$rz*nE#Ni&<^w&b#EW}+4Qv?!l7sIGeTu!ai3p@-H1iF$3|>vu?C(4g zu4sZRZv>RK<%`NMh8L}eBCJ2KIu0&k;~j8n=%f5i@H;QAg0-Uoq$yGgJ3ZsJppP6t0Rt?qEX$v}Y}yYf;?3 zcy>^;%V+Z7dPtH@fYIlf|IefUytI~oGbkRo$*IiV$3KRs6#}?@aqV`XX0(|AoJ;FH z-G!d+CQlE948fJ6-Ql+)pyilUSbh%HRjt%Ugx*n?c;xI|DQ+yeKwQO^S=Ok`drW- zPnq2h^AN^;d?*~Jp_&PUgaHQx=q7gJTrmcjwx4zXU zV9^vSkB@u5%x<@G4zD+Fz2Uvicsb#YJ|w@s&wg5pj(7caj6YX29a%dkzeiVDd+WT9 z{Q5up+P%2>-iN9aLH>N_Vh9)4!ILNY#L06=k#ZQF_?wu{{7@Uo9SfA6xH1a#m?P46r<6rysFf+yC$?pBv`y2cq-r?#6 zuI?v|$37tH#Kd9jYHuIy5GNi|UImDS$ZoS^1XCQo&hP(g2CUq8?Y_x*LlEj;I6ve{ zFS68J&2PavO@#Zd4Uf-t-~WmMj2^B33*GHQ&03dZR6+r2dw#}s)bhT{Kw2La%3kos3d`hA5w~7 zn4|l>C#3*QnHi-M$JD@_9J%3}$8C8~brK0wuZKyG#q3@IH_w0A}m=MbL>4$5%+Z5>e9~V%Jv<9Yd#eA06^7{|2!s| zKLD`rfd?Z}4Q2zx2DAaJ1{z;_TW9b`z|YiHwM(IG2_o@+S6|cmyVD(Iov$)Gs;&bc z2tR;FzbL*zi5;U`@0M0yN(8yOA6A<6M8ew`^Ni0>MWzcCVjRUnRZ?7$>5Bvlk!<*+3Dhn%)7cHG%voN%z; z&3|lykK^H__g)u`+WbCN7E_Vkx-*Kci$$}6TeiwdM}p`^E~D2f6=2rd9q zx$K@!JNXgl^{wlo#UXg)=!YWLnnTCPq^|pevLr4~%bQJ*C>Fz*Hy73^PnS&fA?q&*^RHqvaWUywK|^X}N*2_jX^vs$}T?Z4W~MD(EPOnpU2LW!W5nijff#=HSA8*Wix? zL>hHpS#Ft||3+x?F8g8W48~52T|c~okM2M8jVyukEq9w59)-sO4adX6d7UPhCw9hY3HpA zs)t)52d}T8HtM<>?Rp+F<+^o*Io>WwZVMx+!U_65pu|hd(ajf? zMXZQ=11lmPfnl3_Vv0~7lLSUN%w}A#<=AtmzxBZT1~n~Koeag*_J~hAxEdRCg)QxdmqdR{Hm&E0&qOe$WQdyJOyJZeN+yqs=983 zT?qT_q6b8BFhDIl3bNA9lfF-K#20E`Wf?EWgipYwR7VSFkHj14Gwj<1&$$uNC*_8TB?n-rrvEnjs$=_8}| z+PuiypV;xc^ELxS9SU5!9{_|n1}DfYJZlJWgTdDb^CXS^k*r4MULs+1_#JguA`{%m^(n5<2$$U~^58P-uOmQl7rrIR&6 zhiaJuXtE1;-HtGvSFmkUrYo(y+4+M7$voV76c_2G^D(28czHaz;LF;4)LF(#>O!7` zBBb(e3z2N)W(kqioNYoL{z0A!*vx$6|9N{m{Lyo}Y^qx2+6%~JjY7=!smN7{wPjM4 zHkGSuH~Y~+**p0^4^KNE($UuC50c&JI3=qSVD>HS<6E1ZoX2Ed$@hN3JcOBOfZ_L# zG0H0;fkZP+ew#0MazHE8MYLeG9FB)z^!AxYKjR+cc10P4QOB})v{t4O_z~KfoFlrG zri~7pC)YM}sbeB>@;u=?GK*W<&aI|#;M3zq^ultal@^!Xjv!o+u87C8rG(Brda+V_ z<5w<5L~j6HXRS^8qq41H%lQztUPv*e0ry~fWy|?8lI`wXk^>!Uo_vOVAf=931eT2;aD(Js`?n<~ z?f*lph(_Kh1<8{=TF>-2u^x@QFWQEw(tnaW8U13xAg%Cop z&(w8IoW>>`ynQ}XVz;P~cVkL}sN_~e)PX^J+>>($h!Rl@!$zSto}pzCSE!Nh=tKz* zoMXgZJ|~S+u!wqMi4|xj*a&)mBR64qN2RxIxk8c#nqeZTZ09PNn^DE(`A%Cem|m1u zHdJ>cM&F6ln~w8DIO*>L-tN>~)1NYPg##f?-5FmzI*9SxgD@T0>O5Z!y!Pj|=wzd= zxn7ODs7H(HLW<``eHN5f(xpO7y)5`o%}iHK&osndIahF6fGouKb;N39{$rmE*KfZs zpS^NBpt5<`voyd+=frCcd-tCrrU>WV!Ck^zd6q8;nOR*t}JkqJnAlBx$7+HtQ z4M)?KNzA5?#N_1@CE{^h7i3Z0ySQ=R%BRMb+ z;`j1OM4*Fm0X&3EFg6+{9wGl(aMydMZ7WLl-gfn15l=7VsdU!Q`biPEUQ?#*yPBt2 z(Q0~1?pN%WkUCrmZF0*iJlu}9R6dEh+5R>pd5JhCeMBf!m&{HhOra7-23lL$%6awZ zV`<_3_87D9{)$3{enU^8?(zl9*5t80-=g~WO-fIBQWt1WA;|5EwaG{0KYe9Jc%&RX zWbR=fajK?2vxdxZBi^#YzPSMJR<>ClOPuvo0lSn|vG31By&L+!7)w;P1}dj67dDC8 z5KaINUn{X!mC8%lGhJp*oDkLjDS@H(18T2oEx21O!#Id{)p+ZXvq?+PZI~@^9^(80 zv4nu)c94;?Y>&_rExy|9kDdj|>c?_!O2xhGA{*H+rGiB?+sF7kATW*go@ljB(VCP& z#zTJIs*HbPY81u_=E+v2ls+hI0zcrzkQh+E7n$x5inA>-h`Oh2J~!g2^F*j(QTE0h zLLsx{F%?LiXUYK+#+!W1w&4i#-giY5oy0#Nj^#F}rj}JO^5#2M^-dFp_kBB9E3L~N z^OXR$u2^B9!OwagSpEP`+*$xtK&rnIAMs-rqwbB3OK%8`=wg#>9;8q*tYB^9kP>!Y^3 zGZc&LKJuMH(&2npkw?~jTY2BDuPGF@!$|z$(Rv)}K(RxP zW}k5N(Nz1BYzs5IAAqKQY#c|9QLuBV>y-qsaxLkwO((aMd9?;slLVV#n5L=F=H~B@ z(BVlcXUAq1L&Bh*XeYHvo^UcZ?xYYPIB&L(653pSxwl*;uh-EHAui(C z_$p$?b#;jCuuD7=SPA(gz$p$t0p>AP-U{pqj@a*9P}yyt9Hq0Q?da`!WCW4d$EebXzJ2G<6-PI+X$nr>IATyzz(^XYkMuEM=G0bLowpni5;wXP=s(kg3;{~B1=UdM6up0$taep|W z?6}A5saitvw+MHz1l3gz)l&Ahn>!ogf_*HaLGg55A_$qOcygS7b&k1L`n4@;IYPS; zTrGD*V$STY$4x27ceQ8AgS4+U8kODMlkx)T*&|1A+!q?&B$qb2sFpG$&*H*5v3DMc zI?n^)uP36k3cZPfDrneAkMygEo9tqL*rjx#oo#*qEl?WvAzI4Z(_0;Q5a6#oByP2A zNcsoOiZ8J$G^vGzZ>lyV7gMSZl*@x=E7T7YgBy{pS?Upljb4p$^23u>xkX$Jx(WM{ zg(FlK7)7<{*Y`9zH4Btf5y1rW1q$0EM0y~X*uY-2Jr$^vs0gbRj8I8PCZ7gGoT59V z)!-vF9?)M&>p}^snvExvNS%@m8L+^G9nEDTAxHmK%~qELK{_v7xbu{(^q*{kY>v5a z1v9go%L#T6G`UG)9^hhLk%ALr3_uI2K|0Y&laxxXO4mkXjbR_pS3b#^5Im&9+^_5d z?lrMD`?%KrNQ-DL?TqO~dHkV1OSaA!tq|?<)2Cqh3~GxmefGlU8lT39)S@7Q09=a0 zHHA0Z#s%d67~qNStdJ(KhX)+9Cex^Rnh;hKh><4|kh++ra#yDxKDV=lR(%d%F>ph)xJ>PHcp zVL5efksGP<=|+@tg0s4mmBYh8^^ojEou1M-Zq9P!%je|h3>7 z-}gtH6@Ch)VFm9OZc9kRc#YvMv|CfMU=lJ#7uV^(SGY?K!FZGLllaiq2UNumtiXqP zfhw;AEN4%%e;h($*F~lJ&mT`1s=PAOgR2@dRG_n57}o+lDQ6Oum=M=E;1w;5^*1vQ zENMgWiX)_KqUjnh8-?|)?XN~Hy)qg>Z5tfP+Ordtg+Xrrhh!nXkwt2lWb$G)OUo)w zYQ(+q3qTM}KGNHFaI~lC2f71q&Y%;#UHoM>JCDeY+W*K(2R^^7%CtD)k8XjU5zAe8 zrycqhOC_13VQW;_9kG>adoosAu`u< z5wMvw7vk~2?kRG78RY1tng5?!LY$c~zf)Quqk0|-xgf8;9DY=R^N4V~;z14HqjnRN(5rK+qM zGYLk;=y9!q$};S|+;-HpEfytXmqXm6jd8-cIs&3$B*ar3o zA5U^uC)Mz7%MRcFGkpgB56rx?4fja7SX4st4LqUz49XUsMP~I$aU%A z9P3PM4+Ga=nV`AauF8%Z6QDA6LXAi+89JPikVnU@`N!9`!;-2YCa8)DeB;Q)45|H8gq=PoO{_}2h`Yrd-(&6VM|jG<5oyy0&z_AEheV~Sc;Wx zRNen=_>IQ`E3G|_Vc@Y;P50E>vUt4tOfye`12Dv{bAC-T^fXsbLpP>Y?GU&l- z&N`gV@&=1SyFQXH>~rY|Z+w?mUBnHaqz$9-#glU`E;TEl29$}owHQjo z>oQHz8PHm2m1iC%WURMsD)W_H`7<0Jb8d^e7-sOQDsb9B$3sB58ShypNDV+0881bS z<;Tx>SaMzeat+Kc!bd6nZi56*JC`1#@C5V+E1R^E}&LOW0`g-AZ$G9OV{tN|*b z`uf2<5AiqbB2z?3u0Tleni+K=3Kx`6ytt>KSk|KjF?k8Y7VnV~7uV7}=&u9(Clq~r zyYz&u9Y7tsItZY(PGqrB+h6H`Wu00RM_hns*05?BhLE`&tHy9nqH10$n^xr+{a~sg z3|AxuH|PN}!u+FOaezSM-;$JmXpT{o%iszDj6xzZ*MlCablK$pRQzJ60Oa9=Y9;BX zV6QkY7+$P zwZNVCJ$F!m?w&)v2`xW<&hki%NRDPaVJW6usbUwgf$5>jVl-=WFgFZwqop7MC5-z- z;uMlHfzr9BW}Wj&2O755wk+3@XRBv_b*nrNv^j;8hMX^_3LYRaJ1>hNh|d#^B0qfE zl6907mJrLMeTqK9?$s5eW#wd%8#HQ3;qq%4vf-v&F2oqtyxzKYdl8u4t=#u-+dg4L zkBX~is1im{J03bf5nVdrW&8!ikVB`ZiBJi+D#PB+zVf{y!n8tD(U-)kretkw6T7 ztuQala%cIY9GS#v)HjJyP`GliFIX!}aHqhx38~fCjicht)l>$F`fyX))o>lU+0~Iz zUZ0b}h|7y{ZpOl<16;QqQ!eH9-d?K5O;U zTL%N*>mQx}8H6o_22Ib~Q))$Y(`L8>`e5ln zDe{zp;Dm4(w2EhjT)*^r0I3tW;HhXR3!3P?{alu$4SM#8!=d$Z)Xp^B21o?;_05PF z+KxUwtNZbJz^dlk2KV)6r(pWIP=lg_cGis<{q2NSzVd@uj!*e+0M9N|4D?=sc9we! zqka>7sRX@7%iM{IHyRDWZ(-!Er^`pR*;C-LYP>EU!J#M(|+8Q|)B zdq1%XR|$!YAZLG?*|m==1|Ftiq{(`a(+uuh9&yg3LS3r~I~fI546G!A9JaLkKl z&M*XWZg9N+y1L$)s~%Aa{sV2$%sW@=UDNdO>itVjf{%bD-^QHXQd~}|XgEZzpaNjs zWf1>vk3J=q{arje`)@t*==`bhZ6STJY9h^JySNF_x^xlKECFmSvGp}uRPPrr+k^M~ zpqq=evfg^*oqjufcjH;NI)73)S8uq_1A4~YPnSLwY!<>>2LnY|%Y?E#E2<<;p60cB zjqFW{6!5R~ub3tC0Au^l{zyz1@So6BJ@oJ3)25nZLn3Wq$xpn$E>NLN?%k$dGQ$y# z>+J03WdB2y>$@JCtm^LVW=JO{@Ui?`PjTiqVL5Ny<38H31~ZD~f4D!;A0hn%vdeou zA3bjHKFvjlJr}h;6+;9CseILvS8|0X4wO0;MeFvRuHaaM$)*CN$h^klFfAFhBGc(rIaDY?=;6 z=qx6#l`ouX?Tg0$ewKE|NXgmzt|s;TrOM~~Ee?mQ>faN?U*5u0p?W0OaN$o}nJ#~> z(DiTg|9zu6C<(?TmRrDUbW0U?meYIZnPA#`t{3CelM1o~gp>6g(HNfD z2A82r+J9Q;mNRc*;TV=B@UhGiW|k&$BtJa23KcOhTQCO`B1dxGZq(=#p|@1+1I~&b-Rv_rS?16`_0?)<#XEk zJdU_pr%|5)t;y8rKg(r}?k-|WT-bF_d6Is|S>E4%N6x%YqCV>cLH~LFEi2sWI^Z{f z`Sh_GyxJDiFY^7Daa9)gijQteOXS#j1ms)Gtgf={ zocm+BKIeAj^1Gnlf0oM|++4(+mtq}o?%pQP%#;4QO0BK;ZN7k|(tjqmU5N%TkFZxHU<$9qkDp9lp$bFck>`jB;8 zYioQ#axdY|PSoFiPxh3tygIIjMYKObb%LBb`-HIeQJkZ?H{eSOJHW9owxIa4QT&b@ zj>^AuOB46->y{3z0C#c0cq6ofi}@H6Um$76hg7(9f1S<-T9QFGe-OkfS~mRF&P864 z`;HUoo=UnUiRpmqe^!0?~@diGoGpw3rp9mB{de0jaA< zU-eyrZybWG3(Wc&9B*UT<8)dqC*SNe9fPM%f^j&UYCrrYPbN1J7n4)9HcjrBhpU>} zxQP#VVpNPVmQhBi*|&1dRPTMVAex=kiH#^@7Fh^yaSLui1?enmWKpWWXWuP)w^FNN z>nXE?D8w~$Bv4t_L?PZtDId78SXq9eL)(Mr|F_n+T0#2NK zKRdspxWSbF0;bB~ZYi=DF;Ln)sc>M*qdMXN(~ z)y9MQs}Lla=7If1_mfWa zYW=IF=2=;(e`|KLppb7@9=?f3%1WAT?qU{`(7_;PX{&K?A}v7zk45=g#MU%vLuwye zQ%c8NwXHLwaly#4;sCmc!LB^5CXltHjvI+eX+?CsLp6=fFpG1dRZ_~zTt-o{6SuO> zxyH;RAO)0%^oX;m+(4{Pf7D(lV>}Y_=(ClmdD?@WPWtAOV=J^QbE%Y}4u+=NW98LZ zAtrHnsu6THZC`tKjW?R)dY7SXo&&TN=k}O~HMjS)O_TLhezQED&BL_Yd;BWL4r(ro z>%^jJTaiY~QR^WyAt09}@>nrOxSkhIom9IGbHZ)gxXn^s;5cD;T*b=b=k4aKFi z68&Vb{@-BZWxHOr7I71Lt&-?ktk|!XRa0c{#3IB#!^0}+CX}|Usw7*6o*8NyWGE)r zzZ#mfwHmv8`S7(S@fRU2%MXxUu)v1%Sdy^`23chblC0gdp@zR1QD-sdW!edIt$(hz zn)9)(5wc2@8_WNXD#^nWffZR}v%fS0Gyer`MZK*x-jV5G8oQUX-VEGYn#yetSis(v z%(w0oBe0e^u-gt~Kl1ZB8p7Nf4PkQa64iguGc2>~`t$BALh`QPa+)LOwp`elK8rYT zaf5;T-0N3X=n}$(iNWNjNV1Oy_hR8~XHeO@d_2Z&Yd(yf3J+z?L3Qw>p+8I$wOU=Cb2r7Y@((*N_#qc+ELERn7YrvooYkhNuWVtk zDUG5>x2R^XL_^#v(dAEL_JcTE3r)p)KlN4~97BR3Lb&vWSCztSzq80^jPZu|eerei zQezAY5K9E>iBMy7U5@pjhnY2Co?0fo^rH3&;6vpVV4pV}1rlj&nz;DZ_6hH<1a0-O z9C=padiwupDC{j;>H)3jt1)ic!rT#Ciik}HrQalaA>wecdq7^6yE-FnvAjC4!0A1y z@Nc-}xhKg#E{K{y^$eD0eC4H4aLjr8i8I^#MF}h$R~^~eXu&+d5#%nOCHbcqeKFb+ zMAi$C8*u7&Y4iKlt|*zhx&sH+wIAj3&|2c((B5yfCxI`bn*`F1vAD(m3%J>2D9ay= z)B7esWF8%)Dh=XYuV#w}bT- zDBL%&Px2ozzRJ+=ZUsq6dZZm`^r4#&8&I9BM*3c6pwF}&Z3XniND^1t#38WOXN9`A zO{zDi7bdFjS#7cDdBGXa)n+_s1S&~$Vuy|$xJBBR<>c)cNL1_78FP&_6t#h*YN9G! z-2HT2G1lpKtf@oj)S7BEzD3`M3vh%7uZ5YJ*rj}jC0jQSU%wgnY>0Z z$TKZnPwuY~AKCT0)xs4S1*Thz@+-H?|I0?&K zWO%lRds^coRkukDu}c%^{wVDXi2ojFZsK7uP%#&wtGets5C2C+Uz=S(&T2jbOAR=T z(?cPMGTquwd1(d{y6XWD?)3?<3N2A}eewlsJRZt~uNQt&jcW0DD1owXBSqd-olIOOZ#kT@rPrnt8upz7m`8*=On*RE4Sv zzHg^K{`TRN5*J!6B+FLx~qb8b-gZ}0+&7>9~6b$wTyG`{8z z#)dL$VUMMX!WrvTNKZN~@|cA&BsQZG{NDYPXU06;*tM~2|A}0mbU&h?t9p|ET7Jss zzzx~dtvN{5*J$))T9@HFa>)+!>GHUCGrr0V1qhVoP0h|+Y%p!o;!NKEvQ)G>!|cMf z;TrTvggGB%QomveY-B^mif1Isc=R3~6mq2*Bb5lg0G0`t2k7X9bZEHKz=T%OUWpU1 zy=Fy*O&3CtyR?%s)3dwaTKKMa^Y(r4L~vRb{u7>ZCp@{m|NA}=mT4AVS}7ZMHi*Ym zQUSgizKDb47IV0n7X#(%_S0Q`Y|`d3(*8N{(48?zoOou?7>-W^LB@%_vtlGeHekYU zZuwJ{Db6)v_EZY_pI;vX(^&$9r>{prlvpyI_;%I0Ocx_ z{HPj~UWG(<`3f)Nt;wVCa`j*}nQ}I)1r@dKHfJ{V4Avj z^XXHEb$^eBVPiwn|5mk4!UNjR`-ei;?n$n7@YQ&=&S6#!iZe;W?gKS}(~ur-WW8Y< zB>i~*N&P5&c{bLMZ~(Et!|a*V>12B?3+1T9Y3T9$}QV_Yw8De(jIitU|dsQjdp3G=!Yv;%lapasA?<6l{ zyf6PtUba2|MSr#E*q)9mmrTp=SNcI6=>^!&IW>U!BYf>Ay_hX|35YJ%WdC;%&Qvme zPu3LIp_V|x@?`7z@iDC%c6;T|L1nvkw;pc)n}iQ%=>jyi0}8VVDw(ouTRyG*xZ-Ur zUC0quT+l0IQFQ$r-v5X4g{{F!(U|(%2L(@VaB5vkd(&n^BnykekQ!Pf zyh~5IQ>ezrbTIgI;?q7cs^Xh7(LvoNHK@j1F1Yq9S@N#&=4&s#Vg>I#c@;d9%A?Yn znsYhD+H0a?t|HkksrO=BwbX%Rbe)%KdEDU%Ue3Hj5DuS*TlRh=y*Og(VC5^7+Zg`A3KcvSQ^Og z8U&8ME5HQbqT{Fo`+F=U0DcZgo7+Brzurx6BGCahuDj&v9bVURE5}j0Uv%#-fy}>M z90J>rpmgoipr@jQ79n&VL$W?I^mw+x#P?I=Ry16z&^c4=>}Y-YzWMt{Oflv$lot0s z-@3zGw|ob4yd{lhUp}ax$|JbCLsv-s0#91;hp5vQW&eU%|30=`E?^F3*2Kht(nP9>ZxadE0GQ82 z!*%f<=i+IA-Q91lJ;SzG7xNvm!0);tC$-?5%u7y;27jc9p!>wE*gLqE6QCIgBqDSQ zfm%){k&F}*lZXjzOK5R&1m9=s5ARqok%=Ve^_)GQyq;Q=@ z%X5TFrtCl~sf8KVW=;1a7EDed&=u%$`%bfY3JXtrc<@+iCZCQP=i(cCt zjVqDiMgvov6?kl|qu8lU1p}u+o6682(Pp|{5y_TBX2WKHOlY_h1#C)}6LOE^5hR~V zdy$xJz~drG1@7!r3fYTsfzF5@=#Uo~f?0&O1Dxv->l4tC9HWBWAVg2|`SsSV3Q#d1 zX-(YLa2H&vg62pLR|IIf`?&oWT?1D^MMc|NxNH6cjQMam{wfBD9ceFi6xn^T@`V0? z8qtEs%G~Z8OXbfeq>bB>$GMv# z%X&t+Ueqo8U7Bpbw}Q<%_OG=&h?W=sPVAV0LJ-;`ijf zh)i_?XaD;Jy_blArJ2L#_sGM(!V;F%#M+nKZTG@^->N0aV&Psokx7*=lYit$qNMsR zjFo+{DIMDC-txAf;@XnVJ0%|d!nJyJ0eq6aidCy4)=m4Jg_UY8GYwcA*lT-YqhRlR zlMk)6lA{A4wLX5`$=qO=hpTy$%rEC|O+agWK4syFj7YP$-Y=WRvZ1>Rtpl%c%J=72 zo}aAiI`gbbnY$i@jJt;_n~f5J&_6}db|ZThh_X+m<+waM7Bl{(?Uj6sx*dv~rgKvb&kU^Jg={FQoRF-vC`f9BP)}qGK zQA3=eb-A^4JYH{O ztrMQ-O=)Jr$>#OC*!?}8gD+$jq|$4(a{6kk8Qn&bQ+6xvv4`Akv)t>UK{<L+JhU#l(Ayg~yybs?^Xzx%lxaSx z9^ak>^5aTz)*^URhLQ z-WI;&u=X#$K4SF-uojA*CuT_X!xhoG`LN#&_TtBpw7tQ&!hF||c|Ak1F;Yk0e$2-I zb-ViOKePxj!B=08=Di(t@V>trHE;3WeyJapTJmj;DR!OxA7*n{mzBru0S4Xp9bF&o z`5%6Z=f``y5yXzV$5aRgcINi}ABVNO0s5pjLcyn?7Uoc zj=$U==Y4yrvXS3>L46Zfn)LC4_f1U*0jVc;S3e(%|6kPaC5I2v{rh{0Unu0kKc@2h zBf`8J%{H%09zm~u&TIXB|9c5g{VBhj?8@D?_a4rYuWNnzzTzaYJvp*(t%pPIKV!eIlhehaKCO zi3X4-j7Z`vT(<0SbigNR+s6{$%hJy$#C2(+j7d8zV~0{IR_KxDc<}d^Z4wn2q*ZnY zi7L@Yf)2m?YDGj_3|ob-gfVu7^MmJfNl4s~bW8`YCLOp??BxTa4gJHat2t2j<)Tc7 zb{smf5iV(umoObTn4HfKl5hE-_r(XcEIN6x>ia?O|7Yp-iQ*e3G5Cr}O@UiUf1q{3 zzuOWo{>&Z`a#b_{<@ca3mp%%QyqsaUM38qFk_h7xKwF6)&BTwsnIA1-At2=Z$a=|0 zdUsgtHj|asW&RV$?r@pfJ_EfE9ADSHtf&it%Nr2M&k+;C+q9D|>3I)oBE0O+C+EXQ zs;G%;jkzmGBY(|vXBtr5yRVq;=aN{tMPA#kLB;$$&psG z8T0AKK3N{ubc6N6LygAsc2943;AqT%|2(}B>DQPVgvMQu91?gH>x%aEKM>8dHi5J9 zII~Ab+FVJko)L(AE>Z#BGUE2@Z{BN&b6^{e8B6vw(AlR==#~`<-3YD$HL1y6;&A!3RH2+f|@H_L~E4@t=O=L)@_o*Z-ShH1ve`eOJhl46evY) zcPUlPxP>dH=p%>pGLRy-$}l7QD_a{{vuxR~(1S&~3KZ|jB%NuEGV%K(WP`S0bwdC) zXwuAE&ch)KTgkdFyg#+*?>Y$oYtJvw+MP0d$Tlzxf{BXNH!8d6ph`uKu*^T%AcI(F z(l6d(B(PKth@~g_D-Lc{^W31V8FL}4gil5jEEtuHA+o`YCkR32IE_ur2h+vOPG@#n z+bi2TTQgd#r41(qE1TL-@*ng4B>fZjZ(L2Yo?ED`cjUe5ey?}<_%7zs@cm;{+S9lY z0W^>HtPMU#+&VGx*$z*>IEj1%`Qxu3PNM+&II`x~z|%N+yb=Lkl{iR(txx(qZsC$- z!%EOBx>irj6m+=J0qzTzU$h=m-|Zmn?lHfKiozqmKl$cv)&i~h}Dtw$B6_P?n1Gt;x|XQAG974{dZvMW0k8%I90HLnyuVhpi`$q3+N0S>YkRRRT(PK)%7 zAUKIxStU~%ozpxH963vgrnW6NazaKu$Zp1HU8zmM2KTREhe(3$+(GFYK4|Fl%h_<~ zb&2#Pa|CJhiy2kMB#B~ODoI^{F#puLQ#Lf}3qXqX%unk8Rz*6oFHSdf8LL9h=ZHx= z`MQnx=7geh-*x&*5w>K_i`PLubVIpp6riNWphtYOouQY78;_&!l$L4 zj1}%RN~mbuC3>x5i&+7h#c9Ii5W;r6gh}R@Q*b&-WNhNtCcw$z0n5s7ZU%@^M}Pjm zyY(dX9)4e_g|oek1#W(i>zaSzwP*c;xWy+L z6fdq-LVuNpfaW}k(c}K#SdGskCJ5O&7FNDYm5Ca0&YeWkbulV=7VyL6W){zd$qrm| z2T#L-THk6$fADdv*7rExmDSADabd^sa+U>FPB?J>#F16fUp93uH8&j8k%kLS8x z3rS<{MQa9VSpBP~+Vv!Nk97>VyM2Ac*`&O%{FegyWCiOgt^w;G*=WhE&>4uAV;RG%E~P&lVX;M!*Sm4G#@gi1e(o9Gc-#1Y)*}j7uo~4H#rGJh`fTE-v81Dg#z(Dtw zpz`B|FPTmPIcv)LQ3i8q6UaOx8eff80yiwq(v-Q29k_yW=HS1_s{40}zBA}pXBJ8C z#*0=D410^nRwTxjjfn^POsA4jS=cB`rM*e{f`;CYYk!Q=@v0^6Fn}vyUyp0DJGs8L zK~lvB&AFr)N#m{t1wpCmJ^jP>w!bSu72$^}lpsSzH7G=$qV@87Z*oS;C>^erN<0Mc z2hy!))ta1Zs007v2IUBGV6pLvAyQ54ou%M`%A%nLcLQtqzv>jPSF@frjR;2Hd}(@V0Xj&oAQ6R)fvVCYDICuewJ{2TLK|J4l^j*44H0t z7u=E#2PVaFTL$#VYPrJ8$5fLb5TsT02F0Z&l@nG;`IYKwJtf@{5OSTtireBTxt+1r z1MGn7rSQ)(dK9F-4Fi@gnF4dqny1Gh8-05^E}N#BzSY$bDGAV{O|Y_aV-M3cNCo80 zwUPw-O~dYAIzZ8kJJ*Xy(ZriIo@Jnjn*`6dT` zXR0Bf9IMz5d$~>20Z4LK$J}%X^kw(Rv&ItU&7`ifq{C>n?Z#<{Lr6{N8H$guP6jR- ztIrq8;wS<$&g!v+m{ZC#c243dNl2rn|IYtRVOMN?^UYk%-F~cX+@}4V3=Io6mr>8rvTUph6vUsHNxk^= zr;gH4vibb@tJ_h*2C%;V?1WI{1%$;EuQU-A?(DBvFKH?1`jjRt zDeF*Sxf>uSCtr|(Py|al{Mf9B&JMsCleiRmYNQ+<&K-y~yNbJb*d*(qR+SAF3^R z+M=SkDs;(bEVRChg0yvJgn_mAP^NJ{xpkwU7|?s@iESdT-CRyf={`UuJuw*x|ms5E_6LCD7~8 zK?7k}24`$pJ1W@XWomApr<47@w9e4J=)PBHF>#BZESVo3krAGl&OG-}k7&VBEzj-L z83Crhr!a8*B1xiTqEE{bm=~BHL8Zc^cE)h5LbThDj#>p+nvN1pxa9Q{J4o7=aZbxN z;-Lz9lhi%OGeDXku8t$NK2%#=kiM5DY7o_MsO)^@$eH{mvy9-2taK@$va1>8Yd+&2{O|iJ5Tnp*Fihij#3v-`%wZ8 zMW-SkdWs2YhL44cB~{Xtp5m`;rclU=|Wu?4|Nq=uc({ z^iBvp4!)j{a;9p@tWkm4Udpd7pDrg`%=+W7+3Pe;R9uaD3TvGgYge>NSjB7mvd=qS zBg!*ca%BV~bQZ`^QS&3n=@ehrmdu^zbaRLU+PALK7gB_UIfx89(vV)Cr*M*FYzt4z zBXV%qj8zn$?oC|GofsTa)H#OMm}=A=Lx}AuvF~v1^gSWrG}@e~2wvO#HLqj_!o3Rk zMjFUu0;}>3h>QG{ywXfP)gaTn&yG*E=b-iX8|-9r7am#a!t%jgXibS#we@S+E7Iz@ zDxi}{sopeM{TWNgFqMZEWg)IM!#ch>Lb}5eCsFi%g`IPsU7FTL97JDC&*2vnC>{W# zD%KQJsD$0NbY1BxnEPX{**V0jj-%(}$LC)q9n|KWB5KkLkxf0h+H54EMFsWP zp9t>O03#l1xxG2M#tuKz3mMAb(=V-4)s3#Wlll!d^FzpU<~(80|3;E@Lb$S@TnX=_ z;9-}zl}5^+pqqiE5>HMBYw0`%;xQr3mUB6Mm|ML3Cxdwo)ksEB3T?vBM(~kPv8jrz zOGAHj_cXP}E4kQDd1F?LiAd{PjKR8Wu@`5-?u|&l2x6oeygUL5x0HpkLNE>BdgZgS zB=yLiBycziuGdRs6{HD7b?LUA-ey_YM2eL8WWT4`gT zS`G+&HubS~%U#aUBFNjP3-a82j%+@xKYKCN&WsM_j`-L&;g0kD$m8@Qe;Le1#!@Z1 z_RTQ}A9e=G=2G4*rbqE>1f?SlzgmcaelRVrmY&^*%yElO+cfy5L;sNsB1z#-`(EY4 zDGff463Rtw^!!gfqVmc!&sj?=42x-|#Z?s6`&I&+=*a$q+uFHCOOnB3-?il!rU8-H zsFdYa)gerDQidZz^#YasLXQJLU!uT2=!$W1F20R{&!Xd}QWdx0?AsuY4S0|kV1qSz zrKFn9U3BKZ$sOPo3p2^p?D61Dk7b)r8Q0tEarL?)X5tm@r@BX0gUC8e>PGT*QH1Y z=P3=reKYjF?r8x5ul)(WzYrJ8gbE!*Pm3jnoMC+Bx3yW~e;q&oL?0 zJ5CF!list7X5`ilxB5VZqH44DO$5&u;jL>ZS+pp-$c{b<7h}tl3h}hP(Lpdlp4VBq z{-IWY*uL{#4ZikITF0 zuWZX?l?rub+T$M|4)(UGr(>USl6qBOYuN@BY#WOVUWIMDM&s;7BHC}0>pD#jF*iss zFZ`1cq!OP^wl`&_u)D~bueyGqR#!j37~EI(1?X1UPVvpFW@VCx$%wv~;)&!(Z=cS> zZlEa_fqxgdHakN`&?MZn{0SJu2$7|TQPCJ6OOF#d#q|N@A{)L{feN5?If#I^dpHx@ z$Qd7991=*b<;7ITUb9Zo*ume(p-@MG#f(&T%p- z%D?48!Y{1!Y76t{ml+-9##7z8m{s>ArA~_VZYeND!VuG^_pLO6MXF^!0w632P7%QH z!(`OH1)Q@)(fKfxV0_myvkylM&rc@HV$u18U^|N6*Z$(zUPb3cY)3CGS&_?y=NXPhmd|823UdbzjE`?Yy#!5CJb6gKpfZ|p# z0CcuvQnh<^ZPym5`y}EG$d$<#7x1QcLj>s;9RxQ`(2?sDm{7lmu(Vn)V>SrulNDXQ zsJuCx*Jr^awS}`@k?-=n4tj6}(NT;jOo7A5AX;n9LJw)`!Ps)M~gU>put0fpaSf2YRx!?dOl|6l$h{VHZ zoutxK{pX=AgiXTdLyq?=lbTO1otlrio{nh($o!)Tn4v@N08e})2Kok5;u24N960vi zkV(x0bZ#D4lWM+kFLzeJfAWqxv>(2gwF&N`5G&YfMpQ)~6Cxa+*Mn}-i@1Bavcp(= zk9}D+8uun)`l%MBj%Lx!=n%l}j_6-EXdM27sUa7bQQmVqGves3Jd<~yk_i_m7*)47 zWBQDgd>3HyXKqA~Vh-N|JzUvH+vmARQ4)sul$h)QKw{w`)-;oK|5Y-7PJC`3OA{v z-kUjR1z4~N=tuoddL7wn+$nwxB* zaYXo_iYm|0b{(XRiZD+u(nA9(Y<`}Bu1FBG{)#hctPoLLZHfn0?VO$C^QB_1Yq^LZumWL@~hD zfq3v{qeH8iM-LewP70HFA(E!n+|#rHrR4Y$lc#@tJL4pJkfmTu#~>hT;|Vq07#Y6@Z$+J==zX z#Ek^5Zy+Q5(Fhhbn_5fGO)&eHq(|B!<4e^pfc{Teq@18@9v8s#uPiYGXcpTIiyts7E`j&Og|{dSUlxM~ zpkV9R`f2;ZcS?3fU*8ZzsS5~MRNIl30gGJ5=rl&ka;C)`cuQ1sxn{4qwizk_x~!q} zNUuHO28aJxRb^`wS(c%TNQg+-ovUJ(p-o^MV5BpR=cdK2#aYLIRk}oHg*@i`|E1A7 zv~{I&xAevlAy|;N((w4kDupX212QE*{EXwjy z>>d2h(PVyzJR#3rDrGdR44&c01g!AAy*KwuVHj{i4N;Umi<2KHrU)FDS>qF^zU*>f z>6A>`t`?z+!q^_JyI@c&*4lb4T#Uz+sB*uwU^(5Gz#0tOBBJ;f@V#cIsKEilF`R@< z!l%Pa3wG+m1E2fMJ@EMR1D%7px$#a0)84g2zG!j-67ldVCoFYnQ|XUxxVEo2-e9;$ zX>_QQdIdFf1lT)15fc^9@G_qR{h))#YHuHdh-a2X31coS*8H0V5-RdKY^pWY@H;)fxuXVmb=HNg>t z*w?l{eVb$V6vE86Ij@nO97f%xgSn_K{q>c~+}o-umr8TvJsdV15zYCPtBb1<8zgku z190Ny5As0T@Zrq)5$K}jB6pT52Y^{J-G&A~r9&SVL_wCkm80p$p)C^k<3@Za7S9Ba z;!Q7yIk{4BM;COtv3*&9G0v=Y46{qu9``Fi6;D=MfMoU-Zt95p=1;I=oJSKczWp30 zZ!m!a+RQ>j?79L4vNb;Cv>3+Z)c>P$RX`K30zC!-f~z(}8l|xYf{ps~jk&9grKCPk zVkj!Ipw>aE{e&EV@v|+S`;Q}Ayf6Ptu`W`Pm`Xd&!(;7wB0|~s0pXLTAfR>(g(Szs z+3|E!(M9H{lz47~i^}52sN9X9?)&1R{%X^5_FQs=L+t1FP9px4g`&~sLXXFd#TAG< z$zyRI-VRh1TWlcSDj%W?Tstb@0zV;E!jcxt9y2XL5j#=H^5YDG>MjQws$WLP6FJBQ z^UpKU%@7ki07O8$zpZrGk+DM$irx_*@9$w)bBw`b5`l0EK&TE!GTm2-Xz)PEo;+zl zr{&n&*cY_!;>g5Qep}p0{@>#8yOY{R6Wc=>fgfy+G<%WHJB+1ca=zAY89JYAZ$j=9mQ8YI?F`V+csR_`A~tI z@ozZL-Iqi$_fjH)t(@l)B24hFeYmmwuR2^=w`8Sqo*_oOctXM8)3QdLMpJ0fqfNz% z5jsTj$kXPq+XqXn9H*6r?q9Z1MKMkTCXA~`dM8aQfOzWn?`v(1kx=>8X+Ot9NDaULVM zN+})1j4*}e{vln!?*Zg${fi1$O z#GdKggA3n>a`ewfndn|=Y$)y|dxw;N9Ey*m2cFyZxI{-}MaknXJ6MeTg<^3oK5{#< z^=XD-1U>-hEz0bXgZ8aOoq#vKmav3j6`Ado%^s9*3o9OEYi4pj>bo4?dV>hT!E|Pf z15KSC`Q*tSIst$~u?8OL1PZH>lkV{cZf8A)D&jK#Lo1y7+0Lc#Z}ASEj~do_>4L0f zg+(Q~8#sa@lZ(Q64#4%Cr)Yp+!&HJOWBiEbDjAfe05ki^7?03#ey`9&_!qzUJh6uM zKctM&>k2!n=~@6{T_r#f6|gjn_8{UH91JXC4E@CJeQ_aF;qj4Ajv4X)E~Si}%Vvct z&JZ5b`llQ5ksJX(L2V8Sud(naWG$FZb*zMD9tK|~SQ=$MsO6#fG9#Qu zJs-{Uahy3&I!$mQj%=v)I^s^&=py>OpK%%I3kKvT9>6LIkdFK#l|^ zKr;j!gC0ocL>F8lqU`Wj@G5g?;5GLxar*WQzhMZ9sty-LbAXDRT$-~2_>uN9k>*<= zl0J{9iwLS4o(QFG7tX~)q=}=S7LZpJRXqwnpeGZ^LVb%LvCWss11boxZupF|~>a}tF)yV^l@2XrX(>cNyH~Pg8T1Pi8;HCs{ zTC_A_FdhZ1Lq-zeaCe7fLZLBSnJdIqP%euB1`vX0%o!P~_SzihVJCB#~?_ zHL{&Fd|S|rG;(K>7;#emLm2UN9UJ=PXiOw-!I^q8jFbyFLZANx6}vC1Rn@H}0#Bf^ zdvW62@&qldS1R6==)42NLYDSA<5QGN$?A~LC z%8~%^Hy9WOqq;|)u|WH!L8x1YQJW~0NLKiR`Z{E$^&;Sg_cpfGzrSr|$2z3hr1p=W zPVIW3nI_z*wQoVz-Q^xUB+i(3$8h@d2xdF{#nI3j^z>_P{LBjwXgy*~uTmL~36)tP zyS0?nH2}wZ#c}1A1mESVK(-Xx@LWwwE@Yq$RFz8;nJ<)w%TuG+c4%9(h~X3t+sG;sr+ehCP#RCnB~CZkHqUc= z192PoL{Um6w!ij<;a-8Wgzc$u)W3o}z_Jf&i>8jHS>wY_#%o5#I6VPsc{1SOt-8>7 za%$lC@be2u2xq~^miie{G!1fbv1?Il-`jFabJ$2uaa+o32P@o@V&M+WM%}d(AU&<< z&|w&erG2gOo(8|pC{K2rDjEw;f&F4I3r4#36&SUwC9r4zz~;28iPE z@9;b8bo1%sk3UFMz1hc(#g{)GNQz)I2s1VuEY|{XB65z4ilZ-xdVo6oNiQnAVJc0?Jsg4 zo{TB{lq1J|l%VPp>g>IL*QC~u3X)BvK`3;RcjZSWSm`L>Jg&6c!;wU#;BL=I1ipGc z57m_AOWW%zRkA=FtxwWEg@z;WnvrH(f*Xgshqd#Wn3B~)!6-(5;^pXXZZrLo%Sf6D zX=-#_&a+m}@#580wZA8~06+eg(C%h<8$F1d@`WWBo7E_7;ljz0JF3@$*yi=r3gt91 z{$kTg6|i=D!F6A*zjLbjy;SBD25ibsPX>$+=sOM*y&OLcjg7Ld$_9t~TD!}#&$ju4 z$R#d{Z43`jqG1V3E408;jyp^Oze2mGp4wNDl%}-y7B&WZ@M7~9CA1{v`Hr1iu@Z>>*{lmuv5S-c@GxmJqF9Ng5k7F$atPa zb8^n;4OJIoKp>G|(XpgD6r+b~l%xE^Ze=wb%M?6#nMsi$W&4~O0j-k%mr)%~lo9#6 z)s6*7olCd7= zFlfE#k1knPHQ@=-uB9aG_mEfWSQdt&?`)Mr3oq2K=8~r+x=HfHdJKQMpG`L>Tt6iR zdDfB!I(@>F)uZjlQqhim_!amhY^o^Wsjz+!4EucBux_bSSPN(AU=R%!wg*@boln&a zMFU1&lQsc^kj~)vM{kJSH6Fg*sjI>E2EMmu-Kq5CsTe*A0lH_Pp~0i>Tdlc1p|Y7M z1I<@b#LJds1{$P|f_mzLECWe!#rPfYRj4*_BM;XeZ&=EMVY8tcaBj3CTn$1IwF1j@ zd<3?Zng5)Ju?16EB-b;SC!(VNe{FUi=JYGMY?P>y6h08E)GhB0^gMY`B0?VaCL?Jx}@0v>0xe zmCt>Sl=;HObUb$dl}5Jm=iRI@ItRxENc+*^M^h0SN2CD{BqtJdSgH;}=acKmLMk&G zF2R;cMk}WDqto_!c@jxnOujV1zOP6dEz_E52n*Xx{duON1UznM9-?vSxpL!m%%L5@ zbWPfEylLq|X+KpO2uJ%(1R7ftu27r#5CK^4vriRS_{fuk@n%56>>?rcYf^ny@< z^?@B^T+xHhsINL4deDxvIJxzS#jwQY{b6doEV`>_^a+}QdT&wuhOzX4XTr1{6Kl94 zJPJ+h?Zcy}tL!j3j?oS0%p<6wmLb5X#)xmM*+Z=-;a0=Li1K>wP)R=lfqhY_u_H9& zz)h45X*vLzo<@FG)^w+}X!xJ-3 zeO!3aO^CyIQd07|6~qk_{}Y`+lT)C>zZNT z2W>zUs#Q6rXw4T&QyX`fK#=X>MA9P>YNl7O9YJ%}4a+DRxu(iOsgBo+e3ud@Yuf{i z&~!pfA)@4>8?`5n-|}jG5=^)>wu~2|k!=~yWxT#F+JZM@!sWamc~9gn0^T0piS1|W zCElK$ZRW^ZY%XeaJKw$S!jSFKTX?1GI*B^nblYXrx$S^ecIne@xK-jQlm2~KA#+|2 zZV6m3{d^YH;mSTDZM4tjM`+tSf5AZJZJTvQQOSihOg&39&9uR$Umju>*FS?=mk!TC zZ2v9sk#g}FR51C?_6yR2nZ2J6l}(lTVgRvaP3NlM)pf=Ae+2|w&$80`WV)d*a{t~d z4&{&ZX<1o_;<%O7gsIL_v>Hz{tyY~9bb*M-($Ea#(RS+{O4&8Awoc84W_3Gzq>|4zNmHCDpKM24T{AGj0y7PBu1tyRz$885GqIq@WC1NJ3qNU!^iBP^ ze0)*i6pQjQ!Q)O-H_+?@YP~8n$&hj#zpERo7I#VLZIT(Q69_CRcBU??(OMYBBe-8lZ{@iJy?|QlcAMYOX*Ll%w3Hh77YtW! z8=qE7CT^Yjp~<(mz$0>%Gjon;)bkXDKD^Wo!FN0vYX)R&MWgl9jhDuW`;EKH)8->}+ysxQIrF@Gk(~&I?rz{BPZ!P2_Jv*K`FXnH4na z)7B05u-U8_3&pxW*U|hetnEw>#TA_gHw<)o5gls@o1XcxdM`s%E9&@Do zS^^X4YzTn-BU;TgQ4Y_kQZS0XokiZe)8qOl5oDx;@hr+zIZUbmY63L@SY?&pvGxEj z6=)FCS_PmW*@tcP)0%?0m~xxxjl3I!W;bo82!~=UaHIDkTpaYc^qQ&_TQf+Ih%MM^ z?e#~ZE=X0LA{FF*ZR=o})J07corpq1DJZP{%tgI8hFrO%KdafutO)LO3(q_DK8<}A!c?wJ*u>%DljCJ%xG}6jXDY8Vss>g7II&JCk{jDRBcWVv2ifMAl&X$ zRC8@!l?WLBW{n|>cQTPOYIF5y<6?8oOYyyjw_4k^}jV{7Dcou zc0l-6aLj!&$So)1M}q@f2k^b67qkXep&6~ZxZ0E2SGp;Kme+Mrb{*R~hmnThIk-GM z>m4?TS%~>Om!paA=b!?BVu^QaylK%jnsBnVz1Tk{ToqY6$qcZo9-7e&B)U>NkDhFE z9YWBtJ)tJ!VP{P7@XY5@o=l%=M9EQ4o6>7=$M{53vUCYMCL(Kar5h@_FSFv4fHg(j z%@n&$_8kfxM%@gVX4spFiGX2`DQ{!>+RnYVavIR=mUyRsv;_1w?|ZOFSoi|!IrW|( zEZb%yvh)D@;a|JEx*_Qary>j8ak`(n=V9KDqT`Ov)t7uGy0&gBa9Lx_UlzDJv6)7$ z-aR2D>BAh@+!FPA#T}Ki7MVqCZ12A#_4uT>v_{M!=b_x$?|8%vccWcC>LuMhIPlC- zvShxr^9G_3Mw`s^Dc;=PTz|-{5mYRX*Bt&(85wQIsYh=+Gtevc#8px|&2BF&ByKeg z!E!M|TJST%)8B+tL8ERujIBC3_mrzff~Ad1f7U}J_eZ=2IOQ!Ww<(U_a7P4)W>S zK`aWhcC42M@gj%(C+L}F_RBbDR@S{bgSF~Q#!w1}fFmgNwsJK@YS$`fsk&TTCG<^@ zr>fF^bdpxxO$qxv_#ujNFh(%pls0jlH2X6?SGC1KpVN7@rl2C-qf)%ZFjDhsvzSG| zt(+`O33mnsr=5#36;&<_=G0x~f=xWU+8vpuULWtPS_xBT<+X#0>FIl{lnMt?AuTqy zVM6;;B{y1l!r|*S`5SW3;HCWXd_i+fg0`YC1v;`Ktb)tqz*aUWtY&ShWdLh~8sMBU zLIk<6=5R)|9(!851ifshnP9K@fC)F1NzH_#Ju3xH>ZO=)!Rgy^H8kHIlhp^SOkUB$Fr)eoOt(^K|<&Yx6a9-6#(B=u07i866EMeU; z$&9cbMw}9Z%VxII$L{^`Q%h8Za2auPb5HJmH82UbzEAPQf5$W~6)L9X30n8PT)O3S z|2Erl{W_!mNuw$s&*j*JYBU~y!o~qWw%%!Al-)7Y0TDn+NtB_zWQg-yxlS%_mt=n( z15t5eqN(~qp4S`}lP??H}*kCCpbG0OL=YbHY0#d?i(%7@)$3>8~z zs${}(`<5a=NY`nCZb;8L-g@Vu^vyYqbW`nzJ0C12oQ&yZKCYk`R@`E{4ruXz>oPPp|n?VnB(7V znx9tuIR6K5)A5wn$NRHBKd)LwFK5LyC93v&!}_qm?0+ITHw51zbsf+;3d^%jCaw;J zoh_h-VB<33JsX*DDGwJo!=ln27%nPDBvSfMWAcn?as|CLRb?OPn;jColUf^eEzFogb9ehTQ-Do|E zb^T$OgvU_e0mqM|J(wDRLw@Crx(fTNPUvSri+0Wth>D{Va+cjgTZuQ_`nQ2`lxiQ` zD}3-x%}FqOH7MFXMa#$4^_s<*T8bg>*Mfyn=0Q7cUC{@9z!HzsaD;!8Z>xlC;!DVP zhZ~J-%{X2av7dBKVl}77x|oRW;rVTM(!#lB*0?X(s9%E^ihu8&)KD*Dm#YuF*&2q_B`K$PmAG5|aa%}J$H?!zC(y{fhy zq`Ze9!4GY5@>IC598#4)oN zJFfM_^xI%FpYUiSHb;i}yAp&4?6vJe2i6Y@0*J@A7ekoKy!wg4;DF&9*v;pJyi<3Q z)@v|q)zw(5ZVczGa~X5pE3~cue}r+gX|*MHXo=aLjnhN^t4dLm&@eJH=RgL#oA(4 zozwZ0PG&i)`68F&UNp5*je7JU}D{n_u7#29~jx z3KBhvrqr*xWPRj8xMFO0CAa!l!*QQzMf_Petl-sy<$Qn`HgDJa#wPT!rSd#D$ZC-L zdhdI1XlJ*tdfy?$-oL#cx1bokb`M)s*1p$NId=M|3!m0J_k2@nh&;x|fE#0SSov*s z2R8xW>;lYkv)HkAKAoSG#jO0W7P}DPxg_n4tjLYml0PuOc#hK$d?6)mya~oLINd>` zNR75M3eslz9vo&Sq$>n=+&4YQ(`wtbez(MNpQZ##OGZc+`*pAI7gmkXD@m2)ctL=g z8rWMZS<6t%aSYwBlop+}7Hz|dx&GnX%03<77_smyeX%AO$dcvrgJ$m!T^+oGy9aE5 zbV!ELj-u<54%@hU-W>$p9lPATheOb@s~?;WgJ9ZjDBgs`j4Gp)yc=<*aND=Gf!KHb z=F==_$8Pla!2LVmdW~(FD%>rB*9R&`GGR z@ju2bF?HK>fJp!OI~Png>zV<&#D~Ym#`yV-v#)FvU4kI>j20#gplK%KVtX(8M`F$>lQa3iSPTq| zW1WhgSO0NolYP-PSa0FeEFSz;DzPv4cs>y-hinF;&L5Q^f7!u`FD;_22beLGRgL1@ zFuX6fga7*) zgYkWW6MEk{hu4?e-{8iaepjmqUsAcvkv7(aA?j!&U8gsi@+bq!tMg#pVuEsnXMn|d zx|ku`sq!OI4ZC!5swDU|&(oaq1r^(OgVI%Q_T2~Cy7<1fdo_1y`LJOJ<}g+QEa*9F zdj4iOuFW^2fCp@WADEF}ODK?e*?LqFEl{sKZAZ?I|3CchEZRS|4K0Jh+#=j7SWT>W z9b)It`MpOft|t1ZTLrn!`?>?%LcPe+bL9$KVAjv(_R`7k=R)`;24~&*7QbPy>hf1@ z)qBD-IWw`i%@&Z-kD^ua9&7wAZ)c+_S(3$CM3DQM5lJW{wkN~@V%R>$_j!nVS?Af> zo8pLNf^E;CL`v{NS=-O@{WXx7~OYzlYMt zIqdFw(i<5^=`mFyuk+Z3f*t*``zHwEy+e0-?)sT=u*hRpznCW%`N1Gxh1~gO!0>H? zD3Dif5w8N$+4sP$A%Ai{2w2n$4N4d zK%sRy@QD$xZEy!wMKU8`U{H7D=p=wZAP^V?5&;p417eX_psZ7&6^g|=5fXm25e4pZ5{=eHa*0Yp6}fV%hya=+@Q+`j_3d+wZU%%I9&$$ma{Dxa@=n zWc+rz%gYrDlvc&IBp%?Gu54Xes|S9cu<_RLD1IM+x-lT@t;k-to+4PYtfz?erZ`+d z@e7n07kz13dOdD<&av|>OA-uAB~~9oEMIkE*lOGh+H>hWZi%QkCt-dVEO@#8+Cq9k zE?A7P+TKm6RZ!lDSM+`WAIsZntoHKVsG)a7vOYjKuT$R_1U>M68ZL(h_9XqQvpL1p zTypmJzk?{FMRm7kdaY)nmJ!$yOV__4Zq-V|@35(%_${9B-m3j$BNSvh5CzpS zZPx0mr5%gRx#;V{!=rYm{L8bAzN&Rk7GxW?r+5BCj;dno_rSCg0fA#jl+u1qYmU7- z#TS$RbEsaV@rSG5XLy(3adF?O0* z@x)1vuuYWf(W#=CT|I+i!`%)gZ9gQwjG%?t>-@IauBU1Rc<*-cyYyA3)b_i7NTZO#s;hQ;G3V`-`Z{_q|_|f{gZh%iWav7D!rGZ)WiB|ztKsd;o@ittgvd2 zE>Nw^yHo2&w+(>Mg-XZAQ7Ig3ZPy>GY@N1R@!x)j$A)7R;z2YXKRd~GpKF{H3DR2(_pd4hr)kjU38VoE;)58i7{>a!$BqN0cfVtECI19yqic}d`!nLY2N+<#iQil|?*Me}w=6=8c$ zOoQIMpR~kCK~CV zr0j!1p2(}DF%r5|1uW?TQe;9Sn6wZNzq+2swe9mAaQ^xJZ;N*Dx0z`f-FCOJ^S@r} zuJj|Ip^@E74{G9~7r)iY^QSNYP+ zYj*Cl^nfj1au-i=JN+|2us!V8A`N2uNne_H4@OyNGFADYT%EW^sY27Ei!ooC4_=^+ z2;$_NFS~IOGAoH65+o)9o6tC6X)2d22{Gq7&yoTUD)LIW(@a-8>;KbbK&? zm)}?{S9@iGha)gN*_u*9wuSRv!^kc4tvL-I22l!e=c5CHH;qJ3UC23OgM52mlSD$C zO)>$)a|%Q{X*;6$3990=R@<8Q9WhPSOmm5oiN^Km&xVhbf)6{)k0+FIft1@*`ZOAAM5KyuBQ#2 zzmq}y`}?16^TPT3&a(kS%>PSGmf{LcZb$xk=q@#Voj#m8KNdf17}I(|%h36_%8>Tr zv~N4j7^CSj1wrJJ!cb{`P;b%WU3-0(cAM$^P92F! zTtOfPWD~T1O<*@);hi!%KDr^(5%NL4QEJ?SFTPCE%Od!SUylK3XZ%cS8uH`Ag{t{S zhO~ZL{7d~_x`O8%bj^_tln)RS|MbY=+lX}1Xqd6L9Yjlddv$U1ue6)5qjc8^8pX!H z<;@0nu!7|tvk@YeJMGp80e$=c)(m`XZ`j~5!(!Qp$za5IHPw#80vOE$XBh05?HKL& z_dbXly` zb?ikkb7Jzv`HUMJvmDDD^Bo%VG%wX8%nC4jLnCRH)nClqp z*v+w^W9+fqvG^gY*R7%nDLnM81oqP82)T~EPJePnE4psnWJ<80-2B0$Bf62 z$C$^U$Ma*^W8GG&PX8rt?38k-vfgqm!6yW6M*%L1BPS=MJL!;tlBTKeWJ>OFV-#>7@mr$;@d$5r^t)4#@gYN{qqRcul zN5+3SYRSssE($PA=vg<=x^xZC?j(YszIse}jC@R6F(bSL_KWVl0u*oxxAG^RM^7$9 zaSAYExHLbguPok&c-sis`-^4PdtjakXN#YAmRcxEHhNF+b3qh#nXW*&8a_oiZ+aM^BJ>=DhKqN$lQ#8^lpq)bPmQ z77FA{=_7zv)p13dErB$J^JK=oxF0%Vo$IRcG}abIf`32|C%!UgIVQX$kJnh75bA|{ZUpcOrh zZ&PEKsUn5yCQ%z_i{a_Ag=K|0=|RnwMlw?EL5Wp@u%Xi3v8(1?0X>KQjXd`BPqOH* zXtwco7quHi&2vJD%@vKtiR-5k(UCgEj3jeg5{2TqpWhv^uUwVc=B85B!2j~!X5oQM z`#Fmry8d7KTQ~$hw;c_7TdB2VYtpRr057%6dBFr&OBkp4 z$XOEcM`lsd{wx5x6;J|kkH_>(&-l=qe9RU65GTEC5D_^ngx5HdrFXC|dV0u&2~PU{ zGeJ$hP@SVf*&n^=mj~&8UPZJ}Cw{bllvUb$tgm-9>7)<&(XSLDszlhK_Q1?6Zzt>+Add#cIBpq}(601elNd!;k?C18zYy9WqY%qSqg|w~o*iPLb_4ymU}T-o zJMU(dN;DJ9n};j+6v5Im(VlKErH#`@HADufCsDtU=fTQ){_s12k~iEeq0)g)d0~^> zCmW&bO0#jdp7Pxm`w5?C!P}2tdl3qUz=NiWsj@{$=c0E)=+>x|0QxbD`Fr@R$!Y1W<@qSp#i7m{R_NgA2*!sGC= zZAik&UrL6A>-Mm<9DanM>ria4DrCZeYC5KuFMO+jqEGmjx7lD&Y9A!U)Kqi0zT;LSVV+RCNO@PHt6mfaTO{0aFXvy`E+1)nq^ zld%iDE_Xct1w+Hlj9?S=bRBSnHJhy0&ipx|3!*gfWOMa&9T6MT<*?YoEnW4B%*Px3 zy7({*$r_#Op#>j|9hwyJaY*4v-(9gj)Tguz2yT zOwF~bRW+vOSJYJL1>eK_McDlN8Y;lMr|1%^?6K-b60LnbEd~rPd2wP0aghW*h=FEJ zQ3xNmp`D1vg2y!MThJ^NFLIRajvNm zKMS>=VX(IZ0SxwDdCMSnZ$X&ch2UnuFl}v6ybXPaij1Qo z@wfl@*1#Ugb;!UFh%F5#Z86~(+6vY1;(*lMVJV8eD*gnKM9NZc)~w9 zKwNDibe||wZI-T7Pol2lI8P3AO;fkcal}BZBoCA} z#El@-7up_#gy&QAfYE_a>LLaeZMVdq%+I0slZnH;%n)+ft73eXxj=jSJ&whoHEr$L zgS1y!%*FipA@Iqg6I!XPM94lY)84zcH|C*ZB!yCOrUxy|}}0HTwtg(AVlX$k*fvQDt3kyCM%d z3}o$%egjO&_v=$!@DRgEX}nH(><)Aas2z_3H4+;7CWnB&x&OhEXOWEQaUcVlY*=hb z+@MdDVquIkYYC&Q!30jOzKa+Z2!?%<^VUj`ywQrT^Po`EsPvUl=S>C6u6xO~P8C-APfZZrurrUMTf>$8p;cH0#oFUEt9tLq@-RTL01J zNt2Q2p>YUkM^Z}&(499Qjeh%}3C;wJ=tSF2T4>P+vWt+dGu8xnIm;KmCN zi-G!(a7nhuf#&SR%*>?IB%pAD*Z(1l$I!{N4zw2v?N!HivXzybc!$lv1E20lE7d;e6YuVd)B+84pq#O}A zR`4zOlu>MVxQ>?8YWt$60#3tfhJ~I6YUai+qXBob- zpX&0Cj%XWgIGlpfX~G)YcRYVsXWY{h53uVR6g9YoAMtv_Js4=#+L1M=xBhOS3CXC}y?8^k)k{0Z;k-oz}|WZJYfY_}F`uY3|S(JzS|cFY0LxcK_B z`4MORV#`pQ^~2+{UmVRZVuXC119u07WeHtlCfn4u$v7Zty2BxwVTMEHwUW`0Yr=>( zmSuXv1gtf3$CA$>Ph6x5-V+$7=@1#3oCb}`|JA5)FMLQ0bxHlfSTI5a6qpLcI zmh&Uou2NsV_Hf~{N0xdhHM@tI8uibR9_tNZ^kjfdh)9NahqcQTD|P&uDE}oP1I`yq z^AQ7Ar>XaClUhGStA&q7f~$ESVUTh9h};n&HnsOvT+k!5bD0X}gj6BMhUM0xZ2ts5DAS!dO$AD(9XM4>eR=jTZFv$}eo68M-JEsXVbuyuA@&xIQK%-D{ zUrgaXe&lWd#?a%MWzzR&9J@EhjW-RZ&$Aq+=JQE(gIA72IATbM*tH4f{q`F_t*%&w zo^*)a&>Ee%W$lrP34_N5eMEcEj6h1G;|&ITBCe3cORXc(64_&Gf;I#~*ZQQg?HA92 zeZ&clLIYyN&norZB$6O1 z@ol)nJzunqANuOmykvxdv6{(pvNKweOm!G%uL8`c%V^S7{hH*liGH`#uP$y^207k* zzz_TQQ}UYPNLDCo zWQQ#oh-O7i-DMG7cpSM&CrV@GEgrj#2nKsQ&AkYno3}(Aq|?yr+HH<}qkQ zWsc|Gg3OT}o`DH9&pisxkva{Teb=!zMTjRE1X!YbC?OQr5-^OcNT`ppapeRICRCPj zE}*vhDM^4w@v^xxdtD=!h&Q8P>65FkF0<+Y4A}#8WOIF7vh*g~`pl3^=^t>EiHRi3 z<_Zy$*e|9)Vfzq?8Yr;iZ^|Fk+)Hh@Hs#bLYs=DQU|0z zFF4?_ZLboa+eY(_QQ?zlCidrO^1_U2082V5vxX`C^oNv1h)IuC*N=n+DIy%VVAnV< zMRi1u*1J^qcCe)uX-J<)7rY}qX%(!3!@!AlP&&Fz4Tp!1X7k5l0uNq;$9oP5Fw60i z2l>^MIt}nh1>!tevf3zzl#RZIaPSyD@CNAFRTu#?ELhO*ejT=nB3|%GfYThgIx^pFYWcKF8?kk z+RgXzvHZPfU9-z;Z#*t9djaFk%+Mu#o-(F(Z~b*`G&_Lj`~T(P|AFLn|6Cuc{o!9L z756&N+{ZJu{XKo!ZR;D3bT#BWfX4PhJB7u`+>NOCdt3*PUm5WIfAhfrUt9R5cEQj3 zKg+}Yg3>-ah7G^F1xSRnJUBDqU4U?;0;w@0LVToufo02!PtuYm)O*BtQTh3L&fi`; za+UL6$;JO)sD-pg#AwTP#`c%OHlyg?cu{{YC!~4xE&ih(EE9du@#BBM{KRS)r|%e_ z)3Hbo3;*%IE4#cNMI|pq1vR$f-{L>{1E^Do zJ>)rVH|1t|aNmaw*nr{0hZis#|GD5}VZW%?a+e=IdvHYmM5M~5z;z@qDhOY4GmlYO zT$nqJul8Q2h5UgCa6~+Y4^YE1`;xa^r_&nUAm+~2x_GcWRETV;hjl*cH5H?Xfa`5Y z(p{O$$m(&jRuSe9;qza)-meS=T@EkVmqECKv7d%g4x!C6R5N$l;`OV>gN;MM7ztwN zd}8OMpIuJ)O(^thbnym!rjPcwrRfL3qiaA=$f|#Q%SXLuy&ITSGn1-s;#z)%u{@M6 ztU&F)ct<2a4%io_XK?|`6ughQwo_a2AQr3> z(7KyTLAPh|@q>2rV^h+|4gBfO9J62oN7!8asqakapqzbh@>)=noNF<1ji&Y1v<%t^ z)F_dzX&opk!$v2Uo+pB?sQSuD8v@V#VbCkkK*i?W92ehP8;btR5I^($*ShfIw(7nqt|7yJp_9Zt2jf@*R5Ni< zqkp(qZ}yjsSx+7XwYB5E#T*%TU8dKcCV64M=~!Mk>~H<%PL(Y_=p9(QST^Rt;-T+$ zjBKPT4I?`@V)x6#jXF6ZP2%srOKT9W?=W8G|K4Hp6Dsu9KDhkI^z`%bJ9;%L(ypG~ zD&JGprawgekmXk}A(F4a6}f@2>qn{fpy%4Hl##Iezd;-X`>+-ft3-HwoF|odu5ngc zkl9b{;$ES~L6;#qfe9=Ya9YrdSI0jc&6wQ_IvFDMi&2bf z<2luP8dDTRFZ<&?BRa{gNSW*o`HC>XGK!KMUs*Gz!asg_Oo4e$D2ZArMgkPqe^p5n zE2ghUG|GY5+Y*aVH%~X@s%S!Ns3n1+|2rXEv=Q}1B&4viyFqcf#8ynS)AB~@u$oX# z693wb)a}Fl)>;P3m=-4Dj<33&^g*er)NU`&zLn6--rgA9g&c|3yLU3)$A-F?oGtx$ zG4l_S92^w4bBD}?Xr@zp>4b7aeBd)(qVR;TNFvI@+KqeNhbs@Ts!om$Eb(*EoqAp4Fv>r-S(A!VYq2lfFg@ZdM34N;b>j317J3-*=-Uo-|A zBsggrH^g1=Q6|=&)=&qe+qDh{4nyS!DHzfdW(QC1+W>MvjlUr3Ii~mtEn$qNH&vin zGO^H<;=5-aefm=%oI9B_Ni6Oz(IB|3EL~*j@bGVRI&8TJ5VMq9ozOEWAy_Np7+3u~ z$fNlzUr!sR9ZzJnBliCKoq=(Mxl-k+zL@Gc&G4Xafg~t4nJHX@X;o8PlDL>erS}l6*7gf=<1xUY*H@l2?Ef>Cug*wDH?;164bJ zO~P47-Ob9CnxT8knoe1QX!Z=NYF&zsMaS-P{FFp3JBsvI+Tg<}mV)Zsvg)@^_od~n z1Uezwr90dE%A%9oIHvI8`3>5cLILfhfbiRFhgTvUtm1-s8s`K0+KwsUHp`oP3QMdA z+5qGG@@eWerKMk3wpOSjBPCBx#=+dE263Z`3bUMxGlvL>wj3e+y#RV0hY3SFnOy`e zPH}cmx?!-YY*n*{1Pe?AcHxbNSAVFA1!$|d3XMi!^J!6|#VA);5~T~$gj=dGhee8A z&}x%(!oF=u9BGnkSyVN!#fbc1-;6D7mMDLye1eMcoR5zWmxPorF0p2jX*)BT)H?Su~FmxH|t|MlC`h&Q#!a*-gR9-LW{fCfgU(sSDs(A zQ-Jh!xEX=MCbMZRKP)R>OKNS!d1lfjvuF=Fb0gFPN}*MRsA$_dcq)^HEg2WoiDtsh zu?75K(gM3JY@gyuDy;gFZto!@Oi6iTo!&k)GW%-odFA(rXk`Ti#f0OahERX92i-HK z8gO-4G8`!nuPM5l<&in5<-!J!f9rG4U3t>1Ii}{k^fO}%G)&lS2L32r$QS3y(h8~<5Ms5IL;EKhr4$6AbVd&?ok|yaJv`EpKXvutpVbsA z@6Y{axVc1Vwfyhk9wCX+92qV(#(3)0b6=Sh;EJ`YrT+Ew_@^~7%~NbOX$gdFkJ&6> zL{m3a#;wBYmtf7e%i|YgZH3$+%_f7J)TiIZF=XZ1wUU9ZG9!KmZ;F1kBTN%xTBIEs zt!Mw+OY0D==oMOvyN&?lg(vT!X(_D=L|60=c=$Bnelq3Qh-tei$gPS;COf|P!uboe za8kgI7Z}YhZ)Rimf-vN&c<40a-_Af_I!CP{1JZF0x03kVYFk@WCbHU5-~)ZZ$*zrw zHvLrYMG!tj+&x0h_Rc#p6J$pUA$=9o@MUIMcBS$SGH-(v^bBmYL2SVjz9Kzh1QSs} z7;*+ciOK|9`he#kEvjj1u}s#0d$9^2PF9b~YTr=-cjY%zoAPcQIQUX8zFK z8~$!hf=0rP1{m3`R1z|)n zOCH2Cv{4`$bA)zh9QJ6}H|5WFzHuC92uCY=0MJ>(HpiOHE9(&P-bVwJ(#*L3`WI zNs`1eWuHUas%af9ESt;QCiT4`;uzt44BNG?Cvhrvd5q8gGip$&rPtJMv-i2~M;!%Oe8)uUSlC81QQjU_L z0=}~yq1pttQh^ngo0kF?xT&9`(1mSf^?h1cT3&J$6tans+HLp%Gr#3$>@m(I4I?VoG^-2Kq~zyC>WexLCu z!sFpbgYV5 z*~w!GII`w=o=zS_nvD79g=Zb^Vcqt>`sqOZzyC>WBjLoe_mpG0NU6D zi|SZLr}6E4ZhN4^-_8j)sd@_`;g88s6s$bc4vuTPLO`Tq>bDwxb1FP*&NLO`<`+I+ zF>CRwfA-_vPTmhDJ&u2Flb|5~?LXWgE2KlVj+zcWY$wN5&@Av6HCuu29EB?_m3$Ifj`@fBL>F4=m75~{%VLkjMMjt9H zi`$nT=JS`%0)9ToT{`D0y07+$pdDldVsPF!`D_(`_<4>d{_DzDNc;FtvmyT;ZTI4u zu1_X&Uh(hyRL}0eJ-Cc{{$Kuzwxf)Y?Ou3W`>cO`Ry_R=5&qfhNOk8gjywy?<$v^U@kdi48Ommb$52vO}} z^^~AR&|#WZ_z;!oAVQ{)FcALFPgnZ$;8qDxPEX$6wkaDU>s}7zE7Q%I8fFN(Vf~l< z+uu$5%sysmoPL}+K_ZcV)5fevGR9b9z)I|TWA0eTwBXKg_a^H0nMiHAnGDI$x22$a za0E1z>Pbhk_wuU@tFz2Y0g=j-S8UR#BeX>^Ts#R>obkM7)&bF6$ZHk7;&K4KJG)0W zHJSrj`g*iZU)|oe5V5#ufaxR*Kv3n^Lt5u$l-GEw4#ocgzUR%Rzb54%Tay8Xu*4Q0 zlzgWyoh+=l&@y3&;4%uW0)H736hBwjmbMU%HrPrtb1m0T`(++^>C%@Z>Jp?OcOmxw z#2_^aP%f0j$&cqIqMGgbB5|RiX$}R1+)i}SV6;@` zzp12i8RyI&dHt&a*~R$FkEJprG4w)#L=WvCP6Ik;6YTsic*4F;s2LtU;FYn}-^)K& zM?#+Ax^gxI_x&t|CMFTb2TIn9pe9ZvwS9_mp0yFqyOQHS*%_`x?n}haKeM$5x1T&0 z*N1tv*!z+gpx%0yuZC|s?n-u@sB7u{z36sAF>z(OzEsjUIzX__`($ zs?#|v7%t({HV2)fPuPOQ&h|xIgqvaq+_1c@qDUT@)!a_p9`(>&&&G@!M(B;q&l|Uy z$zasZnE`2@6j0Ni{bYfnp>Egx;!m&N_>~$?H?#Tv-RXaE1VovPjFIfAo)>M4N{qHf zTF0UK-)njoCA&AEh1jxItmb<6T;!{Eu2S^L02Rw>S^Gw!q6jtcFsrlBXelF^8>r+9Q6&NiW z8m2W%JU3n@iN|#DoZW9>A_nx_3_I=8F|V3n<=o~)&}12Q@z4ahrleg65#^IL*!6}QWR|UO3V@zbkECzW}3}yNAJ`CSM&eA|E{+KeEbk7 z|GKx6r4Dc&e@IzqLw%JpOFKqN_g~?VL(!U^g8I3~6F%gj@{G?HKq3fnw`a|)XP@(X zN(fHsc=u5gw(4r0k#6cCkdIPYV!m-K^hNF8w$X2}1($$*d@D+__+zebf0juRV@8GD zl2T0-pJmFrD)t2;1f44xi`tFaPRP@%3&Xql-zUvxRV&Qj*R*udC>ee-mr~T2uKT$L zp#ioCb7;$#FGKPU_pzJ0L<)@nyGzMTmJsnNP=5E5UIbFOvHc3%3!i&}c4hM`*yl(p zU^eG_NoLVXuNo>CgEV)veB)A`(A_h_3LN4_yovjNn^OO9R+T4vnP(P>lpQ5fI@(U8 zcd9_d5>8j0K??yo4rIKAHeXMiaFZ9sQJ5i_`<#M%>0d; zn<8Eudle#kwOvPY50rseM_*p6Lu!KZjhb66&Sm)Kp@cWI!vg*j-LXoi${GGk;40qV zmG#WmFNMs6{~*kaEWh|8Gpd!I2ig||Qs3Inaa)#;LYl&@sY&Kuto3X++yhVVV?itm zYairkpS(ZrUaTof|BO5Nko$f1i}~+dRM0*Zgqgjz0JZLoVEInspV1{e-zjq~cfVYl zU=D_!QG8y=t(QAXQt9ujtr@A^cQ(j&Ne-re>S@EsdV@w$Q<+KS1oKpN(-#8A+gXmiiXy|Q1t!UFD_WjsR z?33Q07DLmVx3{onGV4uFZnU84TO~@eaM*_}M8p%}0sg9J4&l=IM-pQ?p;tKt`$zkz!i=WEXP6YD?&&d+l=BMJx@ZgN;jlQFXksz0j7`et z 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