ソースを参照

添加 USAI Mobile 工程

Ray Zhang 8 年 前
コミット
1d79171458
100 ファイル変更6592 行追加7 行削除
  1. BIN
      Ants Contract/AntsContract.xcworkspace/xcuserdata/Ray.xcuserdatad/UserInterfaceState.xcuserstate
  2. BIN
      Apex Mobile/Apex Mobile.xcodeproj/project.xcworkspace/xcuserdata/Ray.xcuserdatad/UserInterfaceState.xcuserstate
  3. 1 1
      RedAnt ERP Mobile/HMLG Mobile.xcodeproj/xcuserdata/Ray.xcuserdatad/xcschemes/xcschememanagement.plist
  4. 3 0
      RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/contents.xcworkspacedata
  5. 4 4
      RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/xcuserdata/Ray.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  6. 40 0
      RedAnt ERP Mobile/common/Functions/MainViewController.m
  7. 4 0
      RedAnt ERP Mobile/common/Functions/order/OrderDetailViewController.m
  8. 1 0
      RedAnt ERP Mobile/common/const.h
  9. 1 1
      RedAnt ERP Mobile/iSales-HOMER.xcodeproj/xcuserdata/Ray.xcuserdatad/xcschemes/xcschememanagement.plist
  10. 36 0
      RedAnt ERP Mobile/iSales-NPD.xcodeproj/project.pbxproj
  11. 8 1
      RedAnt ERP Mobile/iSales-NPD.xcodeproj/xcuserdata/Ray.xcuserdatad/xcschemes/xcschememanagement.plist
  12. 2511 0
      RedAnt ERP Mobile/iSales-USAI.xcodeproj/project.pbxproj
  13. 7 0
      RedAnt ERP Mobile/iSales-USAI.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  14. 46 0
      RedAnt ERP Mobile/iSales-USAI.xcodeproj/project.xcworkspace/xcshareddata/RedAnt ERP Mobile.xccheckout
  15. 25 0
      RedAnt ERP Mobile/iSales-USAI.xcodeproj/project.xcworkspace/xcshareddata/RedAnt ERP Mobile.xcscmblueprint
  16. 46 0
      RedAnt ERP Mobile/iSales-USAI.xcodeproj/project.xcworkspace/xcshareddata/RedAnt ERP Suite.xccheckout
  17. BIN
      RedAnt ERP Mobile/iSales-USAI.xcodeproj/project.xcworkspace/xcuserdata/Ray.xcuserdatad/UserInterfaceState.xcuserstate
  18. 10 0
      RedAnt ERP Mobile/iSales-USAI.xcodeproj/project.xcworkspace/xcuserdata/Ray.xcuserdatad/WorkspaceSettings.xcsettings
  19. 82 0
      RedAnt ERP Mobile/iSales-USAI.xcodeproj/project.xcworkspace/xcuserdata/Ray.xcuserdatad/xcdebugger/Expressions.xcexplist
  20. 14 0
      RedAnt ERP Mobile/iSales-USAI.xcodeproj/xcuserdata/ray.xcuserdatad/xcschemes/xcschememanagement.plist
  21. 149 0
      RedAnt ERP Mobile/iSales-USAI/AppDelegate.h
  22. 3161 0
      RedAnt ERP Mobile/iSales-USAI/AppDelegate.m
  23. BIN
      RedAnt ERP Mobile/iSales-USAI/DejaVuSans-Bold.ttf
  24. BIN
      RedAnt ERP Mobile/iSales-USAI/DejaVuSans.ttf
  25. 26 0
      RedAnt ERP Mobile/iSales-USAI/GoogleService-Info.plist
  26. 66 0
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/Contents.json
  27. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/Icon-76.png
  28. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png
  29. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/Icon-Small.png
  30. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png
  31. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png
  32. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png
  33. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/Icon-iPadPro@2x.png
  34. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/appicon-1.png
  35. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/appicon-2.png
  36. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/appicon-3.png
  37. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/appicon-4.png
  38. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/appicon-5.png
  39. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/appicon-6.png
  40. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/appicon-7.png
  41. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/appicon.png
  42. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Assembly icon.imageset/Assembly icon.png
  43. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Assembly icon.imageset/Assembly icon@2x.png
  44. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Assembly icon.imageset/Assembly icon@3x.png
  45. 23 0
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Assembly icon.imageset/Contents.json
  46. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combine.imageset/Combine.png
  47. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combine.imageset/Combine@2x.png
  48. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combine.imageset/Combine@3x.png
  49. 23 0
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combine.imageset/Contents.json
  50. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combinegray.imageset/Combinegray.png
  51. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combinegray.imageset/Combinegray@2x.png
  52. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combinegray.imageset/Combinegray@3x.png
  53. 23 0
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combinegray.imageset/Contents.json
  54. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combinegreen.imageset/Combinegreen.png
  55. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combinegreen.imageset/Combinegreen@2x.png
  56. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combinegreen.imageset/Combinegreen@3x.png
  57. 23 0
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combinegreen.imageset/Contents.json
  58. 6 0
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Contents.json
  59. 23 0
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/DX_18.imageset/Contents.json
  60. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/DX_18.imageset/DX_18.png
  61. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/DX_18.imageset/DX_18@2x.png
  62. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/DX_18.imageset/DX_18@3x.png
  63. 23 0
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/DX_22.imageset/Contents.json
  64. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/DX_22.imageset/DX_22.png
  65. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/DX_22.imageset/DX_22@2x.png
  66. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/DX_22.imageset/DX_22@3x.png
  67. 23 0
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IS_18.imageset/Contents.json
  68. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IS_18.imageset/IS_18.png
  69. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IS_18.imageset/IS_18@2x.png
  70. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IS_18.imageset/IS_18@3x.png
  71. 23 0
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IS_22.imageset/Contents.json
  72. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IS_22.imageset/IS_22.png
  73. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IS_22.imageset/IS_22@2x.png
  74. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IS_22.imageset/IS_22@3x.png
  75. 23 0
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IX_18.imageset/Contents.json
  76. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IX_18.imageset/IX_18.png
  77. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IX_18.imageset/IX_18@2x.png
  78. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IX_18.imageset/IX_18@3x.png
  79. 23 0
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IX_22.imageset/Contents.json
  80. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IX_22.imageset/IX_22.png
  81. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IX_22.imageset/IX_22@2x.png
  82. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IX_22.imageset/IX_22@3x.png
  83. 23 0
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TS_18.imageset/Contents.json
  84. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TS_18.imageset/TS_18.png
  85. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TS_18.imageset/TS_18@2x.png
  86. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TS_18.imageset/TS_18@3x.png
  87. 23 0
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TS_22.imageset/Contents.json
  88. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TS_22.imageset/TS_22.png
  89. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TS_22.imageset/TS_22@2x.png
  90. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TS_22.imageset/TS_22@3x.png
  91. 23 0
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TX_18.imageset/Contents.json
  92. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TX_18.imageset/TX_18.png
  93. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TX_18.imageset/TX_18@2x.png
  94. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TX_18.imageset/TX_18@3x.png
  95. 23 0
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TX_22.imageset/Contents.json
  96. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TX_22.imageset/TX_22.png
  97. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TX_22.imageset/TX_22@2x.png
  98. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TX_22.imageset/TX_22@3x.png
  99. 23 0
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/about.imageset/Contents.json
  100. BIN
      RedAnt ERP Mobile/iSales-USAI/Images.xcassets/about.imageset/NPD1(2).png

BIN
Ants Contract/AntsContract.xcworkspace/xcuserdata/Ray.xcuserdatad/UserInterfaceState.xcuserstate


BIN
Apex Mobile/Apex Mobile.xcodeproj/project.xcworkspace/xcuserdata/Ray.xcuserdatad/UserInterfaceState.xcuserstate


+ 1 - 1
RedAnt ERP Mobile/HMLG Mobile.xcodeproj/xcuserdata/Ray.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -7,7 +7,7 @@
 		<key>HMLG Mobile.xcscheme</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>0</integer>
+			<integer>1</integer>
 		</dict>
 	</dict>
 	<key>SuppressBuildableAutocreation</key>

+ 3 - 0
RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/contents.xcworkspacedata

@@ -10,6 +10,9 @@
    <FileRef
       location = "group:iSales-HOMER.xcodeproj">
    </FileRef>
+   <FileRef
+      location = "group:iSales-USAI.xcodeproj">
+   </FileRef>
    <FileRef
       location = "group:iSales-NPD.xcodeproj">
    </FileRef>

+ 4 - 4
RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/xcuserdata/Ray.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -199,10 +199,10 @@
                   ignoreCount = "0"
                   continueAfterRunningActions = "No"
                   symbolName = "-[ItemSearchViewController collectionView:didSelectItemAtIndexPath:]"
-                  moduleName = "Homer App"
+                  moduleName = "USAI Mobile"
                   usesParentBreakpointCondition = "Yes"
                   urlString = "file:///Users/ray/Documents/CODE_ERPSuiteIOS/RedAnt%20ERP%20Mobile/common/Functions/search+itemsearch/ItemSearchViewController.m"
-                  timestampString = "538984710.464723"
+                  timestampString = "540007607.0373321"
                   startingColumnNumber = "9223372036854775807"
                   endingColumnNumber = "9223372036854775807"
                   startingLineNumber = "1999"
@@ -214,10 +214,10 @@
                   ignoreCount = "0"
                   continueAfterRunningActions = "No"
                   symbolName = "-[ItemSearchViewController collectionView:didSelectItemAtIndexPath:]"
-                  moduleName = "Homer App"
+                  moduleName = "USAI Mobile"
                   usesParentBreakpointCondition = "Yes"
                   urlString = "file:///Users/ray/Documents/CODE_ERPSuiteIOS/RedAnt%20ERP%20Mobile/common/Functions/search+itemsearch/ItemSearchViewController.m"
-                  timestampString = "538984710.4687231"
+                  timestampString = "540007607.041309"
                   startingColumnNumber = "9223372036854775807"
                   endingColumnNumber = "9223372036854775807"
                   startingLineNumber = "1999"

+ 40 - 0
RedAnt ERP Mobile/common/Functions/MainViewController.m

@@ -1819,6 +1819,24 @@
     [self.sideMenuItems addObject:map.copy];
 #endif
     
+#ifdef BUILD_USAI
+    [map setValue:@"BLOG" forKey:@"title"];
+    [map setValue:@"rect_change_password" forKey:@"img"];
+    [self.sideMenuItems addObject:map.copy];
+    
+    [map setValue:@"USAI Website" forKey:@"title"];
+    [map setValue:@"rect_change_password" forKey:@"img"];
+    [self.sideMenuItems addObject:map.copy];
+    
+    [map setValue:@"Policy" forKey:@"title"];
+    [map setValue:@"rect_change_password" forKey:@"img"];
+    [self.sideMenuItems addObject:map.copy];
+    
+//    [map setValue:@"Simplified Buying Program" forKey:@"title"];
+//    [map setValue:@"rect_change_password" forKey:@"img"];
+//    [self.sideMenuItems addObject:map.copy];
+#endif
+    
 #ifdef BUILD_HOMER
     /*
     [map setValue:@"BLOG" forKey:@"title"];
@@ -2192,6 +2210,28 @@
         
         
         
+        [self.navigationController pushViewController:ViewController animated:YES];
+        
+    }
+    else if([title isEqualToString:@"USAI Website"])
+    {
+        
+        NSString* url = @"http://www.united-us.net/";//@"https://shopla.homelegance.com/general.htm?websiteId=1";//
+        
+        
+        NSString* title = @"USAI";
+        //        UIApplication * app = [UIApplication sharedApplication];
+        //        AppDelegate *appDelegate = (AppDelegate *)[app delegate];
+        //        MainViewController* main_vc=(MainViewController*)appDelegate.main_vc;
+        //
+        //
+        
+        WebViewController *ViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"WebViewController"];
+        ViewController.url = url;
+        ViewController.title = title;
+        
+        
+        
         [self.navigationController pushViewController:ViewController animated:YES];
         
     }

+ 4 - 0
RedAnt ERP Mobile/common/Functions/order/OrderDetailViewController.m

@@ -1847,6 +1847,10 @@
     return [[self.content_data objectForKey:@"count"] integerValue];
 #endif
     
+#ifdef BUILD_USAI
+    return [[self.content_data objectForKey:@"count"] integerValue];
+#endif
+    
 #if defined(BUILD_HOMER) || defined(BUILD_GATIT)
     return [[self.content_data objectForKey:@"count"] integerValue];
 #endif

+ 1 - 0
RedAnt ERP Mobile/common/const.h

@@ -68,6 +68,7 @@
 #define OFFLINE_IMG_TYPE_DETAIL 0
 
 #define RESULT_FALSE 0
+#define RESULT_NO_RESPONSE 1
 #define RESULT_TRUE		 2
 #define RESULT_NO_EMAIL_ADDRESS      3
 #define RESULT_NET_SERVER_ERR		 -1

+ 1 - 1
RedAnt ERP Mobile/iSales-HOMER.xcodeproj/xcuserdata/Ray.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -7,7 +7,7 @@
 		<key>HOMER Mobile.xcscheme</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>0</integer>
+			<integer>2</integer>
 		</dict>
 	</dict>
 	<key>SuppressBuildableAutocreation</key>

+ 36 - 0
RedAnt ERP Mobile/iSales-NPD.xcodeproj/project.pbxproj

@@ -290,6 +290,16 @@
 		71FFBBEA1C60894900D91DC2 /* RANetwork.m in Sources */ = {isa = PBXBuildFile; fileRef = 71FFBBE81C60894900D91DC2 /* RANetwork.m */; };
 /* End PBXBuildFile section */
 
+/* Begin PBXContainerItemProxy section */
+		7101BEC4202FDBFD00CC6E3A /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 7101BEC0202FDBFD00CC6E3A /* iSales-USAI.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = 713F76A61929F4A7006A7305;
+			remoteInfo = "iSales-USAI";
+		};
+/* End PBXContainerItemProxy section */
+
 /* Begin PBXFileReference section */
 		423A4ADB1D503A53005ECE4A /* createContact.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = createContact.json; sourceTree = "<group>"; };
 		423B49EE1DAC8071004181C2 /* CUL.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = CUL.storyboard; sourceTree = "<group>"; };
@@ -401,6 +411,7 @@
 		42E489601EE63F4E007256A0 /* more_color_64.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = more_color_64.png; sourceTree = "<group>"; };
 		42FD1A011FBD1A3000C5D9A8 /* RAOrderPreviewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RAOrderPreviewController.h; path = common/Functions/order/RAOrderPreviewController.h; sourceTree = SOURCE_ROOT; };
 		42FD1A021FBD1A3000C5D9A8 /* RAOrderPreviewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RAOrderPreviewController.m; path = common/Functions/order/RAOrderPreviewController.m; sourceTree = SOURCE_ROOT; };
+		7101BEC0202FDBFD00CC6E3A /* iSales-USAI.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = "iSales-USAI.xcodeproj"; sourceTree = "<group>"; };
 		710274231CC606C4009FD219 /* UserListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UserListViewController.h; path = common/Functions/sidemenu/UserListViewController.h; sourceTree = SOURCE_ROOT; };
 		710274241CC606C4009FD219 /* UserListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UserListViewController.m; path = common/Functions/sidemenu/UserListViewController.m; sourceTree = SOURCE_ROOT; };
 		71073AE51DD41DD8001BC653 /* so_thumb.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = so_thumb.json; sourceTree = "<group>"; };
@@ -1157,6 +1168,14 @@
 			name = "Order Preview";
 			sourceTree = "<group>";
 		};
+		7101BEC1202FDBFD00CC6E3A /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				7101BEC5202FDBFD00CC6E3A /* USAI Mobile.app */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
 		710212821B8D59DE00E1788B /* watchlist */ = {
 			isa = PBXGroup;
 			children = (
@@ -1237,6 +1256,7 @@
 		713F769D1929F4A7006A7305 = {
 			isa = PBXGroup;
 			children = (
+				7101BEC0202FDBFD00CC6E3A /* iSales-USAI.xcodeproj */,
 				713F76AF1929F4A7006A7305 /* iSales-NPD */,
 				42BEF35B1E89FECC00632AB6 /* Frameworks */,
 			);
@@ -1978,6 +1998,12 @@
 			mainGroup = 713F769D1929F4A7006A7305;
 			productRefGroup = 713F76A71929F4A7006A7305 /* Products */;
 			projectDirPath = "";
+			projectReferences = (
+				{
+					ProductGroup = 7101BEC1202FDBFD00CC6E3A /* Products */;
+					ProjectRef = 7101BEC0202FDBFD00CC6E3A /* iSales-USAI.xcodeproj */;
+				},
+			);
 			projectRoot = "";
 			targets = (
 				713F76A51929F4A7006A7305 /* iSales-NPD */,
@@ -1985,6 +2011,16 @@
 		};
 /* End PBXProject section */
 
+/* Begin PBXReferenceProxy section */
+		7101BEC5202FDBFD00CC6E3A /* USAI Mobile.app */ = {
+			isa = PBXReferenceProxy;
+			fileType = wrapper.application;
+			path = "USAI Mobile.app";
+			remoteRef = 7101BEC4202FDBFD00CC6E3A /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+/* End PBXReferenceProxy section */
+
 /* Begin PBXResourcesBuildPhase section */
 		713F76A41929F4A7006A7305 /* Resources */ = {
 			isa = PBXResourcesBuildPhase;

+ 8 - 1
RedAnt ERP Mobile/iSales-NPD.xcodeproj/xcuserdata/Ray.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -7,7 +7,14 @@
 		<key>NPD Mobile.xcscheme</key>
 		<dict>
 			<key>orderHint</key>
-			<integer>0</integer>
+			<integer>3</integer>
+		</dict>
+		<key>RedAnt ERP Suite.xcscheme</key>
+		<dict>
+			<key>isShown</key>
+			<false/>
+			<key>orderHint</key>
+			<integer>4</integer>
 		</dict>
 	</dict>
 	<key>SuppressBuildableAutocreation</key>

+ 2511 - 0
RedAnt ERP Mobile/iSales-USAI.xcodeproj/project.pbxproj

@@ -0,0 +1,2511 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 46;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		424A02D11FFB3A0B0088DC56 /* RABackOrderSubmitAlertController.m in Sources */ = {isa = PBXBuildFile; fileRef = 424A02D01FFB3A0B0088DC56 /* RABackOrderSubmitAlertController.m */; };
+		4254CCDE1FB1AC2B00C8B4B6 /* RAOrderEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4254CCDD1FB1AC2B00C8B4B6 /* RAOrderEditorViewController.m */; };
+		428980041E2490C1005F1BD8 /* NotificationNameCenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980031E2490C1005F1BD8 /* NotificationNameCenter.m */; };
+		4289800A1E24918F005F1BD8 /* CartUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980091E24918F005F1BD8 /* CartUtils.m */; };
+		428980151E24924D005F1BD8 /* SortButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980101E24924D005F1BD8 /* SortButton.m */; };
+		428980161E24924D005F1BD8 /* SortItemCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980121E24924D005F1BD8 /* SortItemCell.m */; };
+		428980171E24924D005F1BD8 /* SortItemViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980141E24924D005F1BD8 /* SortItemViewController.m */; };
+		4289802B1E2492D2005F1BD8 /* CategoryPriceCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980241E2492D2005F1BD8 /* CategoryPriceCell.m */; };
+		4289802C1E2492D2005F1BD8 /* CategoryPriceViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980261E2492D2005F1BD8 /* CategoryPriceViewController.m */; };
+		4289802D1E2492D2005F1BD8 /* PriceSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980281E2492D2005F1BD8 /* PriceSettingViewController.m */; };
+		4289802E1E2492D2005F1BD8 /* SetCategoryPriceController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4289802A1E2492D2005F1BD8 /* SetCategoryPriceController.m */; };
+		428980451E249339005F1BD8 /* JKDotView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4289803E1E249339005F1BD8 /* JKDotView.m */; };
+		428980461E249339005F1BD8 /* JKLockButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980401E249339005F1BD8 /* JKLockButton.m */; };
+		428980471E249339005F1BD8 /* JKLockController.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980421E249339005F1BD8 /* JKLockController.m */; };
+		428980481E249339005F1BD8 /* JKMessageBoxController.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980441E249339005F1BD8 /* JKMessageBoxController.m */; };
+		4289805D1E249375005F1BD8 /* UIColor+JK_HEX.m in Sources */ = {isa = PBXBuildFile; fileRef = 4289805C1E249375005F1BD8 /* UIColor+JK_HEX.m */; };
+		428980721E24B1E9005F1BD8 /* Singleton.m in Sources */ = {isa = PBXBuildFile; fileRef = 428980711E24B1E9005F1BD8 /* Singleton.m */; };
+		4289809E1E24B526005F1BD8 /* JKTimerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4289809D1E24B526005F1BD8 /* JKTimerManager.m */; };
+		4295AE1C1FE74D46007BE365 /* CommonEditorAutoCompleteView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4295AE1A1FE74D46007BE365 /* CommonEditorAutoCompleteView.m */; };
+		4295AE1D1FE74D46007BE365 /* CommonEditorAutoCompleteView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4295AE1B1FE74D46007BE365 /* CommonEditorAutoCompleteView.xib */; };
+		42B309791E45BA32007AFC62 /* status_filter_cadedate_po.json in Resources */ = {isa = PBXBuildFile; fileRef = 42B309781E45BA32007AFC62 /* status_filter_cadedate_po.json */; };
+		42BEAB351FA1D23B0024D647 /* EnumModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 42BEAB2F1FA1D23A0024D647 /* EnumModel.m */; };
+		42BEAB361FA1D23B0024D647 /* EnumSelectAndSort.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 42BEAB301FA1D23A0024D647 /* EnumSelectAndSort.storyboard */; };
+		42BEAB371FA1D23B0024D647 /* EnumSelectAndSortCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 42BEAB321FA1D23A0024D647 /* EnumSelectAndSortCell.m */; };
+		42BEAB381FA1D23B0024D647 /* EnumSelectAndSortViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 42BEAB341FA1D23A0024D647 /* EnumSelectAndSortViewController.m */; };
+		42BEF34F1E89FE1100632AB6 /* FirebaseAnalytics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42BEF3241E89FE1100632AB6 /* FirebaseAnalytics.framework */; };
+		42BEF3501E89FE1100632AB6 /* FirebaseCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42BEF3271E89FE1100632AB6 /* FirebaseCore.framework */; };
+		42BEF3511E89FE1200632AB6 /* CHANGELOG.md in Sources */ = {isa = PBXBuildFile; fileRef = 42BEF3291E89FE1100632AB6 /* CHANGELOG.md */; };
+		42BEF3521E89FE1200632AB6 /* FirebaseInstanceID.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42BEF32B1E89FE1100632AB6 /* FirebaseInstanceID.framework */; };
+		42BEF3531E89FE1200632AB6 /* README.md in Sources */ = {isa = PBXBuildFile; fileRef = 42BEF32C1E89FE1100632AB6 /* README.md */; };
+		42BEF3541E89FE1200632AB6 /* GGLAnalytics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42BEF32F1E89FE1100632AB6 /* GGLAnalytics.framework */; };
+		42BEF3551E89FE1200632AB6 /* GGLCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42BEF3301E89FE1100632AB6 /* GGLCore.framework */; };
+		42BEF3561E89FE1200632AB6 /* README.md in Sources */ = {isa = PBXBuildFile; fileRef = 42BEF3391E89FE1100632AB6 /* README.md */; };
+		42BEF3571E89FE1200632AB6 /* libGoogleAnalytics.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42BEF33C1E89FE1100632AB6 /* libGoogleAnalytics.a */; };
+		42BEF3581E89FE1200632AB6 /* GTMNSData+zlib.m in Sources */ = {isa = PBXBuildFile; fileRef = 42BEF34B1E89FE1100632AB6 /* GTMNSData+zlib.m */; };
+		42BEF3591E89FE1200632AB6 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = 42BEF34D1E89FE1100632AB6 /* LICENSE */; };
+		42BEF35A1E89FE1200632AB6 /* README.md in Sources */ = {isa = PBXBuildFile; fileRef = 42BEF34E1E89FE1100632AB6 /* README.md */; };
+		42BEF35D1E89FECD00632AB6 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42BEF35C1E89FECD00632AB6 /* SystemConfiguration.framework */; };
+		42BEF35F1E89FEE300632AB6 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42BEF35E1E89FEE300632AB6 /* CoreData.framework */; };
+		42BEF3621E8A005800632AB6 /* GoogleAnalyst.m in Sources */ = {isa = PBXBuildFile; fileRef = 42BEF3611E8A005800632AB6 /* GoogleAnalyst.m */; };
+		42BEF3A61E8A57F600632AB6 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 42BEF3A51E8A57F600632AB6 /* GoogleService-Info.plist */; };
+		42BF67CC1E5179970081F90A /* ERPUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 42BF67CB1E5179970081F90A /* ERPUtils.m */; };
+		42D3A4A11EFA6D36007A54C1 /* ContentPreviewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 42D3A49B1EFA6D36007A54C1 /* ContentPreviewController.m */; };
+		42D3A4A21EFA6D36007A54C1 /* PhotoList.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 42D3A49D1EFA6D36007A54C1 /* PhotoList.storyboard */; };
+		42D3A4A31EFA6D36007A54C1 /* PhotoPreviewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 42D3A4A01EFA6D36007A54C1 /* PhotoPreviewCell.m */; };
+		42D3A4A61EFA7346007A54C1 /* VideoPreviewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 42D3A4A51EFA7346007A54C1 /* VideoPreviewCell.m */; };
+		42D9A0231EB02DA6008AF7AF /* AdSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42D9A0221EB02DA6008AF7AF /* AdSupport.framework */; };
+		42D9A0251EB03994008AF7AF /* libAdIdAccess.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 42D9A0241EB03994008AF7AF /* libAdIdAccess.a */; };
+		42DC12F11F0CD98E00A4C011 /* OrderDetailPickInfoCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 42DC12F01F0CD98E00A4C011 /* OrderDetailPickInfoCell.m */; };
+		42E153C81FC57A3D00C36077 /* CommonEditorTableContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 42E153C71FC57A3D00C36077 /* CommonEditorTableContainerView.m */; };
+		42E489611EE63F4E007256A0 /* more_color_64.png in Resources */ = {isa = PBXBuildFile; fileRef = 42E489601EE63F4E007256A0 /* more_color_64.png */; };
+		42FD1A031FBD1A3000C5D9A8 /* RAOrderPreviewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 42FD1A021FBD1A3000C5D9A8 /* RAOrderPreviewController.m */; };
+		710274251CC606C4009FD219 /* UserListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 710274241CC606C4009FD219 /* UserListViewController.m */; };
+		7111E5721C76C557004763B3 /* customer_info_template_edit.json in Resources */ = {isa = PBXBuildFile; fileRef = 7111E5711C76C557004763B3 /* customer_info_template_edit.json */; };
+		71131F921CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71131F911CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.m */; };
+		7115D45D1E16317600EF4E4C /* CommonEditor.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7115D45C1E16317600EF4E4C /* CommonEditor.storyboard */; };
+		712AFED71DBA050200254965 /* BasicDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFEC61DBA050200254965 /* BasicDrawable.m */; };
+		712AFED81DBA050200254965 /* GridDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFEC81DBA050200254965 /* GridDrawable.m */; };
+		712AFED91DBA050200254965 /* GroupDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFECA1DBA050200254965 /* GroupDrawable.m */; };
+		712AFEDA1DBA050200254965 /* ImageDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFECC1DBA050200254965 /* ImageDrawable.m */; };
+		712AFEDB1DBA050200254965 /* LineDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFECE1DBA050200254965 /* LineDrawable.m */; };
+		712AFEDC1DBA050200254965 /* PDFDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFED01DBA050200254965 /* PDFDrawable.m */; };
+		712AFEDD1DBA050200254965 /* RAPDFPage.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFED21DBA050200254965 /* RAPDFPage.m */; };
+		712AFEDE1DBA050200254965 /* TableDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFED41DBA050200254965 /* TableDrawable.m */; };
+		712AFEDF1DBA050200254965 /* TextDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFED61DBA050200254965 /* TextDrawable.m */; };
+		712AFEE21DBA077F00254965 /* pdfCreator.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFEE11DBA077F00254965 /* pdfCreator.m */; };
+		712AFEE51DBDAF0300254965 /* pdfcreator.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 712AFEE41DBDAF0300254965 /* pdfcreator.xcassets */; };
+		712BABF31C897E3A0007466B /* CategorySearchFilterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 712BABF21C897E3A0007466B /* CategorySearchFilterViewController.m */; };
+		712C40B61C7310F4000E6831 /* CartGeneralNotesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 712C40B51C7310F4000E6831 /* CartGeneralNotesViewController.m */; };
+		712C40B91C731126000E6831 /* ItemNotesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 712C40B81C731126000E6831 /* ItemNotesViewController.m */; };
+		713F76AA1929F4A7006A7305 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 713F76A91929F4A7006A7305 /* Foundation.framework */; };
+		713F76AC1929F4A7006A7305 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 713F76AB1929F4A7006A7305 /* CoreGraphics.framework */; };
+		713F76AE1929F4A7006A7305 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 713F76AD1929F4A7006A7305 /* UIKit.framework */; };
+		713F76B41929F4A7006A7305 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 713F76B21929F4A7006A7305 /* InfoPlist.strings */; };
+		713F76B61929F4A7006A7305 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 713F76B51929F4A7006A7305 /* main.m */; };
+		713F76BA1929F4A7006A7305 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 713F76B91929F4A7006A7305 /* AppDelegate.m */; };
+		713F76C21929F4A7006A7305 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 713F76C11929F4A7006A7305 /* Images.xcassets */; };
+		7141DD341C57269B00F7DF59 /* include in Resources */ = {isa = PBXBuildFile; fileRef = 7141DD331C57269B00F7DF59 /* include */; };
+		7141DD3B1C5726B700F7DF59 /* DeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD361C5726B700F7DF59 /* DeviceInfo.m */; };
+		7141DD3C1C5726B700F7DF59 /* ScanApiHelper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD381C5726B700F7DF59 /* ScanApiHelper.mm */; };
+		7141DD3D1C5726B700F7DF59 /* softScanBeep.wav in Resources */ = {isa = PBXBuildFile; fileRef = 7141DD3A1C5726B700F7DF59 /* softScanBeep.wav */; };
+		7141DD4E1C57459B00F7DF59 /* bitstream.c in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD3E1C57459B00F7DF59 /* bitstream.c */; };
+		7141DD4F1C57459B00F7DF59 /* mask.c in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD401C57459B00F7DF59 /* mask.c */; };
+		7141DD501C57459B00F7DF59 /* QRCodeGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD431C57459B00F7DF59 /* QRCodeGenerator.m */; };
+		7141DD511C57459B00F7DF59 /* qrencode.c in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD441C57459B00F7DF59 /* qrencode.c */; };
+		7141DD521C57459B00F7DF59 /* qrinput.c in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD461C57459B00F7DF59 /* qrinput.c */; };
+		7141DD531C57459B00F7DF59 /* qrspec.c in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD481C57459B00F7DF59 /* qrspec.c */; };
+		7141DD541C57459B00F7DF59 /* rscode.c in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD4A1C57459B00F7DF59 /* rscode.c */; };
+		7141DD551C57459B00F7DF59 /* split.c in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD4C1C57459B00F7DF59 /* split.c */; };
+		7141DD5F1C5747CE00F7DF59 /* AESCrypt.m in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD571C5747CE00F7DF59 /* AESCrypt.m */; };
+		7141DD601C5747CE00F7DF59 /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = 7141DD581C5747CE00F7DF59 /* LICENSE */; };
+		7141DD611C5747CE00F7DF59 /* NSData+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD5A1C5747CE00F7DF59 /* NSData+Base64.m */; };
+		7141DD621C5747CE00F7DF59 /* NSData+CommonCrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD5C1C5747CE00F7DF59 /* NSData+CommonCrypto.m */; };
+		7141DD631C5747CE00F7DF59 /* NSString+Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 7141DD5E1C5747CE00F7DF59 /* NSString+Base64.m */; };
+		7142E87A1DBF577A0077EFA2 /* KALINGA.TTF in Resources */ = {isa = PBXBuildFile; fileRef = 7142E8781DBF57510077EFA2 /* KALINGA.TTF */; };
+		7142E87B1DBF577A0077EFA2 /* KALINGAB.TTF in Resources */ = {isa = PBXBuildFile; fileRef = 7142E8791DBF57510077EFA2 /* KALINGAB.TTF */; };
+		7142E87E1DC300690077EFA2 /* DejaVuSans-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7142E87C1DC300010077EFA2 /* DejaVuSans-Bold.ttf */; };
+		7142E87F1DC300690077EFA2 /* DejaVuSans.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7142E87D1DC300010077EFA2 /* DejaVuSans.ttf */; };
+		7143E20C202FCEEC00451903 /* OLM.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7143E208202FCEEB00451903 /* OLM.storyboard */; };
+		7143E20D202FCEEC00451903 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7143E20A202FCEEC00451903 /* Main.storyboard */; };
+		7143E20F202FCEF600451903 /* CUL.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7143E20E202FCEF600451903 /* CUL.storyboard */; };
+		7143E212202FCF7600451903 /* CategoryCellNPD.m in Sources */ = {isa = PBXBuildFile; fileRef = 7143E211202FCF7600451903 /* CategoryCellNPD.m */; };
+		7143E214202FCFC000451903 /* debug_category_filter.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E213202FCFC000451903 /* debug_category_filter.json */; };
+		7143E217202FD15A00451903 /* category.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E216202FD15A00451903 /* category.json */; };
+		7143E21A202FD1DC00451903 /* contactAdvanceSearch.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E218202FD1DC00451903 /* contactAdvanceSearch.json */; };
+		7143E21B202FD1DC00451903 /* createContact.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E219202FD1DC00451903 /* createContact.json */; };
+		7143E21D202FD21F00451903 /* editContact.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E21C202FD21F00451903 /* editContact.json */; };
+		7143E220202FD28900451903 /* TearSheet.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E21E202FD28800451903 /* TearSheet.json */; };
+		7143E221202FD28900451903 /* placeOrderTemplate.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E21F202FD28900451903 /* placeOrderTemplate.json */; };
+		7143E226202FD2CA00451903 /* so_thumb.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E222202FD2CA00451903 /* so_thumb.json */; };
+		7143E227202FD2CA00451903 /* portfolio_3x2.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E223202FD2CA00451903 /* portfolio_3x2.json */; };
+		7143E228202FD2CA00451903 /* portfolio_2x3.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E224202FD2CA00451903 /* portfolio_2x3.json */; };
+		7143E229202FD2CA00451903 /* so.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E225202FD2CA00451903 /* so.json */; };
+		7143E22B202FD37500451903 /* orderDetail.json in Resources */ = {isa = PBXBuildFile; fileRef = 7143E22A202FD37500451903 /* orderDetail.json */; };
+		7143E22E202FD3CD00451903 /* more_info.html in Resources */ = {isa = PBXBuildFile; fileRef = 7143E22C202FD3CC00451903 /* more_info.html */; };
+		7143E22F202FD3CD00451903 /* order_info.html in Resources */ = {isa = PBXBuildFile; fileRef = 7143E22D202FD3CC00451903 /* order_info.html */; };
+		714B1F401C7BF74100539193 /* OrderDetailSignatureCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 714B1F3F1C7BF74100539193 /* OrderDetailSignatureCell.m */; };
+		715001FF1D114D9100F5927F /* BundleDetailButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 715001FE1D114D9100F5927F /* BundleDetailButton.m */; };
+		715671331E10A0EF006324A0 /* RectDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 715671321E10A0EF006324A0 /* RectDrawable.m */; };
+		715850461CF6F0E500856B20 /* DefaultAppearance.m in Sources */ = {isa = PBXBuildFile; fileRef = 715850451CF6F0E500856B20 /* DefaultAppearance.m */; };
+		715F30BD1DAB37EB00490EED /* OfflineUnlockViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 715F30BC1DAB37EB00490EED /* OfflineUnlockViewController.m */; };
+		7161FEB51D61B24900157EE1 /* creditcardpayment.html in Resources */ = {isa = PBXBuildFile; fileRef = 7161FEB21D61B24900157EE1 /* creditcardpayment.html */; };
+		7161FEB61D61B24900157EE1 /* normalpayment.html in Resources */ = {isa = PBXBuildFile; fileRef = 7161FEB31D61B24900157EE1 /* normalpayment.html */; };
+		7161FEB71D61B24900157EE1 /* orderinfo.html in Resources */ = {isa = PBXBuildFile; fileRef = 7161FEB41D61B24900157EE1 /* orderinfo.html */; };
+		7162A4FE1C585FFB00AB630E /* RAPDFViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A4FB1C585FFB00AB630E /* RAPDFViewController.m */; };
+		7162A4FF1C585FFB00AB630E /* WebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A4FD1C585FFB00AB630E /* WebViewController.m */; };
+		7162A5021C586F5B00AB630E /* AddressEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5011C586F5B00AB630E /* AddressEditorViewController.m */; };
+		7162A5091C586FC100AB630E /* CycleScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5041C586FC100AB630E /* CycleScrollView.m */; };
+		7162A50A1C586FC100AB630E /* NSTimer+Addition.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5061C586FC100AB630E /* NSTimer+Addition.m */; };
+		7162A50B1C586FC100AB630E /* SliderPage.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5081C586FC100AB630E /* SliderPage.m */; };
+		7162A5161C58704600AB630E /* BundleModelCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A50D1C58704600AB630E /* BundleModelCell.m */; };
+		7162A5171C58704600AB630E /* BundleModelViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A50F1C58704600AB630E /* BundleModelViewController.m */; };
+		7162A5181C58704600AB630E /* CartViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5111C58704600AB630E /* CartViewController.m */; };
+		7162A5191C58704600AB630E /* EditModelPriceViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5131C58704600AB630E /* EditModelPriceViewController.m */; };
+		7162A51A1C58704600AB630E /* ModelItemCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5151C58704600AB630E /* ModelItemCell.m */; };
+		7162A5251C58706C00AB630E /* CategoryCellSmall.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5201C58706C00AB630E /* CategoryCellSmall.m */; };
+		7162A5261C58706C00AB630E /* CategoryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5221C58706C00AB630E /* CategoryViewController.m */; };
+		7162A5411C58719D00AB630E /* RATreeNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A52C1C58719D00AB630E /* RATreeNode.m */; };
+		7162A5421C58719D00AB630E /* RATreeNodeCollectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A52E1C58719D00AB630E /* RATreeNodeCollectionController.m */; };
+		7162A5431C58719D00AB630E /* RATreeNodeInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5301C58719D00AB630E /* RATreeNodeInfo.m */; };
+		7162A5441C58719D00AB630E /* RATreeNodeInfo+Private.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5321C58719D00AB630E /* RATreeNodeInfo+Private.m */; };
+		7162A5451C58719D00AB630E /* RATreeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5341C58719D00AB630E /* RATreeView.m */; };
+		7162A5461C58719D00AB630E /* RATreeView+Enums.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5361C58719D00AB630E /* RATreeView+Enums.m */; };
+		7162A5471C58719D00AB630E /* RATreeView+Private.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5381C58719D00AB630E /* RATreeView+Private.m */; };
+		7162A5481C58719D00AB630E /* RATreeView+TableViewDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A53A1C58719D00AB630E /* RATreeView+TableViewDataSource.m */; };
+		7162A5491C58719D00AB630E /* RATreeView+TableViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A53C1C58719D00AB630E /* RATreeView+TableViewDelegate.m */; };
+		7162A54A1C58719D00AB630E /* RATreeView+UIScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A53E1C58719D00AB630E /* RATreeView+UIScrollView.m */; };
+		7162A54B1C58719D00AB630E /* RAViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5401C58719D00AB630E /* RAViewController.m */; };
+		7162A54E1C58722200AB630E /* CreditCardEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A54D1C58722200AB630E /* CreditCardEditorViewController.m */; };
+		7162A55B1C58724700AB630E /* ContactAdvanceSearchViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5501C58724700AB630E /* ContactAdvanceSearchViewController.m */; };
+		7162A55C1C58724700AB630E /* ContactListTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5521C58724700AB630E /* ContactListTableViewCell.m */; };
+		7162A55D1C58724700AB630E /* ContactListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5541C58724700AB630E /* ContactListViewController.m */; };
+		7162A55E1C58724700AB630E /* customer_advanced_search.json in Resources */ = {isa = PBXBuildFile; fileRef = 7162A5551C58724700AB630E /* customer_advanced_search.json */; };
+		7162A55F1C58724700AB630E /* customer_info_template.json in Resources */ = {isa = PBXBuildFile; fileRef = 7162A5561C58724700AB630E /* customer_info_template.json */; };
+		7162A5601C58724700AB630E /* CustomerEditViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5581C58724700AB630E /* CustomerEditViewController.m */; };
+		7162A5611C58724700AB630E /* CustomerInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A55A1C58724700AB630E /* CustomerInfoViewController.m */; };
+		7162A5701C58728D00AB630E /* DetailHeaderCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5631C58728D00AB630E /* DetailHeaderCell.m */; };
+		7162A5711C58728D00AB630E /* DetailImageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5651C58728D00AB630E /* DetailImageCell.m */; };
+		7162A5721C58728D00AB630E /* DetailKVCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5671C58728D00AB630E /* DetailKVCell.m */; };
+		7162A5731C58728D00AB630E /* DetailTopicCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5691C58728D00AB630E /* DetailTopicCell.m */; };
+		7162A5741C58728D00AB630E /* DetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A56B1C58728D00AB630E /* DetailViewController.m */; };
+		7162A5751C58728D00AB630E /* LineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A56D1C58728D00AB630E /* LineView.m */; };
+		7162A5811C5872EF00AB630E /* HomeTableViewCellBanner.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5781C5872EF00AB630E /* HomeTableViewCellBanner.m */; };
+		7162A5821C5872EF00AB630E /* HomeTableViewCellButtonBanner.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A57A1C5872EF00AB630E /* HomeTableViewCellButtonBanner.m */; };
+		7162A5831C5872EF00AB630E /* HomeTableViewCellSlide.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A57C1C5872EF00AB630E /* HomeTableViewCellSlide.m */; };
+		7162A5841C5872EF00AB630E /* HomeTableViewCellTopic.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A57E1C5872EF00AB630E /* HomeTableViewCellTopic.m */; };
+		7162A5851C5872EF00AB630E /* HomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5801C5872EF00AB630E /* HomeViewController.m */; };
+		7162A5981C58733400AB630E /* CreateOrderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5871C58733400AB630E /* CreateOrderViewController.m */; };
+		7162A5991C58733400AB630E /* OrderDetailHtmlCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5891C58733400AB630E /* OrderDetailHtmlCell.m */; };
+		7162A59A1C58733400AB630E /* OrderDetailInfoCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A58B1C58733400AB630E /* OrderDetailInfoCell.m */; };
+		7162A59B1C58733400AB630E /* OrderDetailModelCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A58D1C58733400AB630E /* OrderDetailModelCell.m */; };
+		7162A59C1C58733400AB630E /* OrderDetailPriceCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A58F1C58733400AB630E /* OrderDetailPriceCell.m */; };
+		7162A59D1C58733400AB630E /* OrderDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5911C58733400AB630E /* OrderDetailViewController.m */; };
+		7162A59E1C58733400AB630E /* OrderListTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5931C58733400AB630E /* OrderListTableViewCell.m */; };
+		7162A59F1C58733400AB630E /* OrderListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5951C58733400AB630E /* OrderListViewController.m */; };
+		7162A5A01C58733400AB630E /* status_filter_cadedate_open.json in Resources */ = {isa = PBXBuildFile; fileRef = 7162A5961C58733400AB630E /* status_filter_cadedate_open.json */; };
+		7162A5A11C58733400AB630E /* offline_status_filter_cadedate.json in Resources */ = {isa = PBXBuildFile; fileRef = 7162A5971C58733400AB630E /* offline_status_filter_cadedate.json */; };
+		7162A5AA1C58735900AB630E /* PDFListTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5A31C58735900AB630E /* PDFListTableViewCell.m */; };
+		7162A5AB1C58735900AB630E /* PDFListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5A51C58735900AB630E /* PDFListViewController.m */; };
+		7162A5AC1C58735900AB630E /* PortfolioViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5A71C58735900AB630E /* PortfolioViewController.m */; };
+		7162A5AD1C58735900AB630E /* TearSheetParamViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5A91C58735900AB630E /* TearSheetParamViewController.m */; };
+		7162A5B41C58738600AB630E /* ScannerControllerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5AF1C58738600AB630E /* ScannerControllerView.m */; };
+		7162A5B51C58738600AB630E /* ScannerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5B11C58738600AB630E /* ScannerViewController.m */; };
+		7162A5B61C58738600AB630E /* SCShapeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5B31C58738600AB630E /* SCShapeView.m */; };
+		7162A5C11C5873BB00AB630E /* FilterCellCadedate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5B81C5873BB00AB630E /* FilterCellCadedate.m */; };
+		7162A5C21C5873BB00AB630E /* FilterCellValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5BA1C5873BB00AB630E /* FilterCellValue.m */; };
+		7162A5C31C5873BB00AB630E /* ItemSearchFilterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5BC1C5873BB00AB630E /* ItemSearchFilterViewController.m */; };
+		7162A5C41C5873BB00AB630E /* ItemSearchViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5BE1C5873BB00AB630E /* ItemSearchViewController.m */; };
+		7162A5C51C5873BB00AB630E /* SearchViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5C01C5873BB00AB630E /* SearchViewController.m */; };
+		7162A5CA1C58761500AB630E /* SignatureView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5C71C58761500AB630E /* SignatureView.m */; };
+		7162A5CB1C58761500AB630E /* SignatureViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5C91C58761500AB630E /* SignatureViewController.m */; };
+		7162A5DA1C5876E300AB630E /* AboutViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5CD1C5876E300AB630E /* AboutViewController.m */; };
+		7162A5DB1C5876E300AB630E /* CacheViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5CF1C5876E300AB630E /* CacheViewController.m */; };
+		7162A5DC1C5876E300AB630E /* LoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5D11C5876E300AB630E /* LoginViewController.m */; };
+		7162A5DD1C5876E300AB630E /* PopupNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5D31C5876E300AB630E /* PopupNavigationController.m */; };
+		7162A5DE1C5876E300AB630E /* RetrievePassViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5D51C5876E300AB630E /* RetrievePassViewController.m */; };
+		7162A5DF1C5876E300AB630E /* ScannerSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5D71C5876E300AB630E /* ScannerSettingViewController.m */; };
+		7162A5E01C5876E300AB630E /* SettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5D91C5876E300AB630E /* SettingViewController.m */; };
+		7162A5E31C5877CE00AB630E /* WatchListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5E21C5877CE00AB630E /* WatchListViewController.m */; };
+		7162A5E61C58781000AB630E /* iSalesNavigationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5E51C58781000AB630E /* iSalesNavigationController.m */; };
+		7162A5E91C5899F700AB630E /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162A5E81C5899F700AB630E /* MainViewController.m */; };
+		7165662E1EF3ACD900CB897F /* photostack_image.html in Resources */ = {isa = PBXBuildFile; fileRef = 7165662C1EF3ACD900CB897F /* photostack_image.html */; };
+		7165662F1EF3ACD900CB897F /* photostack_video.html in Resources */ = {isa = PBXBuildFile; fileRef = 7165662D1EF3ACD900CB897F /* photostack_video.html */; };
+		716961B519594E1000B19FB4 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 716961B419594E1000B19FB4 /* libsqlite3.dylib */; };
+		716AF8E11D7AA0E0001188E0 /* SelectUploadOrderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 716AF8E01D7AA0E0001188E0 /* SelectUploadOrderViewController.m */; };
+		716AF8E71D7AA398001188E0 /* SelectOrderTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 716AF8E51D7AA398001188E0 /* SelectOrderTableViewCell.m */; };
+		7186C25D1C97A6EE00CB43F4 /* FunctionTestViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7186C25C1C97A6EE00CB43F4 /* FunctionTestViewController.m */; };
+		718716251C433D8B00F25860 /* ExternalAccessory.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 718716241C433D8B00F25860 /* ExternalAccessory.framework */; };
+		718716271C433D9700F25860 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 718716261C433D9700F25860 /* AudioToolbox.framework */; };
+		718716291C433DA400F25860 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 718716281C433DA400F25860 /* AVFoundation.framework */; };
+		7187162C1C43428100F25860 /* libScanApiCore.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 718716221C433D5000F25860 /* libScanApiCore.a */; };
+		718B91831C75638100265FFF /* TouchImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 718B91821C75638100265FFF /* TouchImageView.m */; };
+		7195623C1CF57D1800C74A49 /* CategoryHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7195623B1CF57D1800C74A49 /* CategoryHeaderView.m */; };
+		719562421CF5828200C74A49 /* DefaultTableHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 719562411CF5828200C74A49 /* DefaultTableHeaderView.m */; };
+		71BBA2271CEAC16000C91DED /* ZipArchive.mm in Sources */ = {isa = PBXBuildFile; fileRef = 71BBA2221CEAC16000C91DED /* ZipArchive.mm */; };
+		71BBA2291CEAC17E00C91DED /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 71BBA2281CEAC17E00C91DED /* libz.tbd */; };
+		71BBA2401CEAEF0700C91DED /* ioapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 71BBA2381CEAEF0700C91DED /* ioapi.c */; };
+		71BBA2411CEAEF0700C91DED /* mztools.c in Sources */ = {isa = PBXBuildFile; fileRef = 71BBA23A1CEAEF0700C91DED /* mztools.c */; };
+		71BBA2421CEAEF0700C91DED /* unzip.c in Sources */ = {isa = PBXBuildFile; fileRef = 71BBA23C1CEAEF0700C91DED /* unzip.c */; };
+		71BBA2431CEAEF0700C91DED /* zip.c in Sources */ = {isa = PBXBuildFile; fileRef = 71BBA23E1CEAEF0700C91DED /* zip.c */; };
+		71BF06FB1D2F3CAC00981938 /* OLDataProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 71BF06FA1D2F3CAC00981938 /* OLDataProvider.m */; };
+		71BF06FE1D2F3CBA00981938 /* OfflineSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71BF06FD1D2F3CBA00981938 /* OfflineSettingViewController.m */; };
+		71BF07081D2F3D2800981938 /* SyncControlPanelViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71BF07071D2F3D2800981938 /* SyncControlPanelViewController.m */; };
+		71BF33011EFA1D6100842CB4 /* Assets.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 71BF32FB1EFA1D6100842CB4 /* Assets.bundle */; };
+		71BF33021EFA1D6100842CB4 /* YTPlayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 71BF32FE1EFA1D6100842CB4 /* YTPlayerView.m */; };
+		71BF33031EFA1D6100842CB4 /* YTViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71BF33001EFA1D6100842CB4 /* YTViewController.m */; };
+		71C1D84E1F456CAA00CEA1C9 /* HWWeakTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = 71C1D84D1F456CAA00CEA1C9 /* HWWeakTimer.m */; };
+		71C1D8541F456D2700CEA1C9 /* ModelDescriptionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71C1D8531F456D2700CEA1C9 /* ModelDescriptionController.m */; };
+		71CB70751F99DF02009FDCB7 /* FileCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 71CB70731F99DF01009FDCB7 /* FileCache.m */; };
+		71CB70781F99E338009FDCB7 /* RAConvertor.m in Sources */ = {isa = PBXBuildFile; fileRef = 71CB70771F99E338009FDCB7 /* RAConvertor.m */; };
+		71D01ADD1E08CB1C006620CE /* signature.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71D01ADC1E08CB1C006620CE /* signature.storyboard */; };
+		71D01B1A1E0A2055006620CE /* ImageUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 71D01B151E0A2055006620CE /* ImageUtils.m */; };
+		71D01B1B1E0A2055006620CE /* PDFUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 71D01B171E0A2055006620CE /* PDFUtils.m */; };
+		71D01B1C1E0A2055006620CE /* TextUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 71D01B191E0A2055006620CE /* TextUtils.m */; };
+		71D0344F1C9BF3C400E0F7AD /* PortfolioEditQTYViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71D0344E1C9BF3C400E0F7AD /* PortfolioEditQTYViewController.m */; };
+		71D30A211CFBEDC6006F9477 /* default_appearance.json in Resources */ = {isa = PBXBuildFile; fileRef = 71D30A201CFBEDC6006F9477 /* default_appearance.json */; };
+		71D30A2D1CFC0EF8006F9477 /* DefaultImageButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 71D30A2C1CFC0EF8006F9477 /* DefaultImageButton.m */; };
+		71D99D301CEF02E700CA32DE /* CustomIOSAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = 71D99D2F1CEF02E700CA32DE /* CustomIOSAlertView.m */; };
+		71DEE874192DE003003F645F /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71DEE873192DE003003F645F /* QuartzCore.framework */; };
+		71DEE876192DE00E003F645F /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71DEE875192DE00E003F645F /* Accelerate.framework */; };
+		71DF742B1C57560600F2789C /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF742A1C57560600F2789C /* Reachability.m */; };
+		71DF74301C57572600F2789C /* RAUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF742F1C57572600F2789C /* RAUtils.m */; };
+		71DF74341C5757DA00F2789C /* ActiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74331C5757DA00F2789C /* ActiveViewController.m */; };
+		71DF74371C575D6600F2789C /* CommonGridViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74361C575D6600F2789C /* CommonGridViewController.m */; };
+		71DF745B1C575E7900F2789C /* CommonEditorCellAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF743C1C575E7900F2789C /* CommonEditorCellAction.m */; };
+		71DF745C1C575E7900F2789C /* CommonEditorCellEdit.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF743E1C575E7900F2789C /* CommonEditorCellEdit.m */; };
+		71DF745D1C575E7900F2789C /* CommonEditorCellEnum.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74401C575E7900F2789C /* CommonEditorCellEnum.m */; };
+		71DF745E1C575E7900F2789C /* CommonEditorCellImg.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74421C575E7900F2789C /* CommonEditorCellImg.m */; };
+		71DF745F1C575E7900F2789C /* CommonEditorCellLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74441C575E7900F2789C /* CommonEditorCellLabel.m */; };
+		71DF74601C575E7900F2789C /* CommonEditorCellMAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74461C575E7900F2789C /* CommonEditorCellMAction.m */; };
+		71DF74611C575E7900F2789C /* CommonEditorCellModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74481C575E7900F2789C /* CommonEditorCellModel.m */; };
+		71DF74621C575E7900F2789C /* CommonEditorCellSignature.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF744A1C575E7900F2789C /* CommonEditorCellSignature.m */; };
+		71DF74631C575E7900F2789C /* CommonEditorCellSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF744C1C575E7900F2789C /* CommonEditorCellSwitch.m */; };
+		71DF74641C575E7900F2789C /* CommonEditorCellTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF744E1C575E7900F2789C /* CommonEditorCellTextView.m */; };
+		71DF74651C575E7900F2789C /* CommonEditorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74501C575E7900F2789C /* CommonEditorViewController.m */; };
+		71DF74661C575E7900F2789C /* DatePickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74521C575E7900F2789C /* DatePickerViewController.m */; };
+		71DF74671C575E7900F2789C /* EnumSelectorCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74541C575E7900F2789C /* EnumSelectorCell.m */; };
+		71DF74681C575E7900F2789C /* EnumSelectViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74561C575E7900F2789C /* EnumSelectViewController.m */; };
+		71DF74691C575E7900F2789C /* MonthPickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74581C575E7900F2789C /* MonthPickerViewController.m */; };
+		71DF746A1C575E7900F2789C /* SRMonthPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF745A1C575E7900F2789C /* SRMonthPicker.m */; };
+		71DF74831C57608F00F2789C /* ImageScrollerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF746C1C57608F00F2789C /* ImageScrollerView.m */; };
+		71DF74841C57608F00F2789C /* ImageScrollerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF746E1C57608F00F2789C /* ImageScrollerViewController.m */; };
+		71DF74851C57608F00F2789C /* ImageUploadViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74701C57608F00F2789C /* ImageUploadViewController.m */; };
+		71DF74861C57608F00F2789C /* ImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74721C57608F00F2789C /* ImageViewController.m */; };
+		71DF74871C57608F00F2789C /* NIDropDown.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74741C57608F00F2789C /* NIDropDown.m */; };
+		71DF74881C57608F00F2789C /* PulldownMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74761C57608F00F2789C /* PulldownMenu.m */; };
+		71DF74891C57608F00F2789C /* RadioButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74781C57608F00F2789C /* RadioButton.m */; };
+		71DF748A1C57608F00F2789C /* RTLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF747A1C57608F00F2789C /* RTLabel.m */; };
+		71DF748B1C57608F00F2789C /* SimpleGrid.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF747C1C57608F00F2789C /* SimpleGrid.m */; };
+		71DF748C1C57608F00F2789C /* StrikethroughLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF747E1C57608F00F2789C /* StrikethroughLabel.m */; };
+		71DF748D1C57608F00F2789C /* TouchLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74801C57608F00F2789C /* TouchLabel.m */; };
+		71DF748E1C57608F00F2789C /* UILabel+FontAppearance.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74821C57608F00F2789C /* UILabel+FontAppearance.m */; };
+		71DF74951C57614C00F2789C /* PhotoBorder.png in Resources */ = {isa = PBXBuildFile; fileRef = 71DF748F1C57614C00F2789C /* PhotoBorder.png */; };
+		71DF74961C57614C00F2789C /* PhotoBorder@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 71DF74901C57614C00F2789C /* PhotoBorder@2x.png */; };
+		71DF74971C57614C00F2789C /* PhotoStackView.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74921C57614C00F2789C /* PhotoStackView.m */; };
+		71DF74981C57614C00F2789C /* PhotoStackViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71DF74941C57614C00F2789C /* PhotoStackViewController.m */; };
+		71E5A0101DC99370005BF655 /* config.plist in Resources */ = {isa = PBXBuildFile; fileRef = 71E5A00F1DC99370005BF655 /* config.plist */; };
+		71E9F6BC1F8B52DD0052C78E /* NetworkUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 71E9F6BA1F8B52DC0052C78E /* NetworkUtils.m */; };
+		71E9F6C21F8B57E40052C78E /* RANetworkTaskDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 71E9F6C01F8B57E30052C78E /* RANetworkTaskDelegate.m */; };
+		71FFBBE91C60894900D91DC2 /* iSalesDB.m in Sources */ = {isa = PBXBuildFile; fileRef = 71FFBBE61C60894900D91DC2 /* iSalesDB.m */; };
+		71FFBBEA1C60894900D91DC2 /* RANetwork.m in Sources */ = {isa = PBXBuildFile; fileRef = 71FFBBE81C60894900D91DC2 /* RANetwork.m */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+		424A02CF1FFB3A0B0088DC56 /* RABackOrderSubmitAlertController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RABackOrderSubmitAlertController.h; path = common/Functions/order/RABackOrderSubmitAlertController.h; sourceTree = SOURCE_ROOT; };
+		424A02D01FFB3A0B0088DC56 /* RABackOrderSubmitAlertController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RABackOrderSubmitAlertController.m; path = common/Functions/order/RABackOrderSubmitAlertController.m; sourceTree = SOURCE_ROOT; };
+		4254CCDC1FB1AC2B00C8B4B6 /* RAOrderEditorViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RAOrderEditorViewController.h; path = common/Functions/order/RAOrderEditorViewController.h; sourceTree = SOURCE_ROOT; };
+		4254CCDD1FB1AC2B00C8B4B6 /* RAOrderEditorViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RAOrderEditorViewController.m; path = common/Functions/order/RAOrderEditorViewController.m; sourceTree = SOURCE_ROOT; };
+		428980021E2490C1005F1BD8 /* NotificationNameCenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NotificationNameCenter.h; path = common/NotificationNameCenter.h; sourceTree = SOURCE_ROOT; };
+		428980031E2490C1005F1BD8 /* NotificationNameCenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NotificationNameCenter.m; path = common/NotificationNameCenter.m; sourceTree = SOURCE_ROOT; };
+		428980081E24918F005F1BD8 /* CartUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CartUtils.h; path = common/CartUtils.h; sourceTree = SOURCE_ROOT; };
+		428980091E24918F005F1BD8 /* CartUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CartUtils.m; path = common/CartUtils.m; sourceTree = SOURCE_ROOT; };
+		4289800F1E24924D005F1BD8 /* SortButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SortButton.h; sourceTree = "<group>"; };
+		428980101E24924D005F1BD8 /* SortButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SortButton.m; sourceTree = "<group>"; };
+		428980111E24924D005F1BD8 /* SortItemCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SortItemCell.h; sourceTree = "<group>"; };
+		428980121E24924D005F1BD8 /* SortItemCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SortItemCell.m; sourceTree = "<group>"; };
+		428980131E24924D005F1BD8 /* SortItemViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SortItemViewController.h; sourceTree = "<group>"; };
+		428980141E24924D005F1BD8 /* SortItemViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SortItemViewController.m; sourceTree = "<group>"; };
+		428980231E2492D2005F1BD8 /* CategoryPriceCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CategoryPriceCell.h; sourceTree = "<group>"; };
+		428980241E2492D2005F1BD8 /* CategoryPriceCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CategoryPriceCell.m; sourceTree = "<group>"; };
+		428980251E2492D2005F1BD8 /* CategoryPriceViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CategoryPriceViewController.h; sourceTree = "<group>"; };
+		428980261E2492D2005F1BD8 /* CategoryPriceViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CategoryPriceViewController.m; sourceTree = "<group>"; };
+		428980271E2492D2005F1BD8 /* PriceSettingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PriceSettingViewController.h; sourceTree = "<group>"; };
+		428980281E2492D2005F1BD8 /* PriceSettingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PriceSettingViewController.m; sourceTree = "<group>"; };
+		428980291E2492D2005F1BD8 /* SetCategoryPriceController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetCategoryPriceController.h; sourceTree = "<group>"; };
+		4289802A1E2492D2005F1BD8 /* SetCategoryPriceController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SetCategoryPriceController.m; sourceTree = "<group>"; };
+		4289803D1E249339005F1BD8 /* JKDotView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JKDotView.h; sourceTree = "<group>"; };
+		4289803E1E249339005F1BD8 /* JKDotView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JKDotView.m; sourceTree = "<group>"; };
+		4289803F1E249339005F1BD8 /* JKLockButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JKLockButton.h; sourceTree = "<group>"; };
+		428980401E249339005F1BD8 /* JKLockButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JKLockButton.m; sourceTree = "<group>"; };
+		428980411E249339005F1BD8 /* JKLockController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JKLockController.h; sourceTree = "<group>"; };
+		428980421E249339005F1BD8 /* JKLockController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JKLockController.m; sourceTree = "<group>"; };
+		428980431E249339005F1BD8 /* JKMessageBoxController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JKMessageBoxController.h; sourceTree = "<group>"; };
+		428980441E249339005F1BD8 /* JKMessageBoxController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JKMessageBoxController.m; sourceTree = "<group>"; };
+		4289805B1E249375005F1BD8 /* UIColor+JK_HEX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+JK_HEX.h"; sourceTree = "<group>"; };
+		4289805C1E249375005F1BD8 /* UIColor+JK_HEX.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+JK_HEX.m"; sourceTree = "<group>"; };
+		428980701E24B1E9005F1BD8 /* Singleton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Singleton.h; path = common/Singleton.h; sourceTree = SOURCE_ROOT; };
+		428980711E24B1E9005F1BD8 /* Singleton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Singleton.m; path = common/Singleton.m; sourceTree = SOURCE_ROOT; };
+		4289809C1E24B526005F1BD8 /* JKTimerManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JKTimerManager.h; sourceTree = "<group>"; };
+		4289809D1E24B526005F1BD8 /* JKTimerManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JKTimerManager.m; sourceTree = "<group>"; };
+		4295AE191FE74D46007BE365 /* CommonEditorAutoCompleteView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorAutoCompleteView.h; path = ../../common/customUI/commoneditor/CommonEditorAutoCompleteView.h; sourceTree = "<group>"; };
+		4295AE1A1FE74D46007BE365 /* CommonEditorAutoCompleteView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorAutoCompleteView.m; path = ../../common/customUI/commoneditor/CommonEditorAutoCompleteView.m; sourceTree = "<group>"; };
+		4295AE1B1FE74D46007BE365 /* CommonEditorAutoCompleteView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = CommonEditorAutoCompleteView.xib; path = ../../common/customUI/commoneditor/CommonEditorAutoCompleteView.xib; sourceTree = "<group>"; };
+		42B309781E45BA32007AFC62 /* status_filter_cadedate_po.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = status_filter_cadedate_po.json; path = common/Functions/order/status_filter_cadedate_po.json; sourceTree = SOURCE_ROOT; };
+		42BEAB2E1FA1D23A0024D647 /* EnumModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EnumModel.h; sourceTree = "<group>"; };
+		42BEAB2F1FA1D23A0024D647 /* EnumModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EnumModel.m; sourceTree = "<group>"; };
+		42BEAB301FA1D23A0024D647 /* EnumSelectAndSort.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = EnumSelectAndSort.storyboard; sourceTree = "<group>"; };
+		42BEAB311FA1D23A0024D647 /* EnumSelectAndSortCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EnumSelectAndSortCell.h; sourceTree = "<group>"; };
+		42BEAB321FA1D23A0024D647 /* EnumSelectAndSortCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EnumSelectAndSortCell.m; sourceTree = "<group>"; };
+		42BEAB331FA1D23A0024D647 /* EnumSelectAndSortViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EnumSelectAndSortViewController.h; sourceTree = "<group>"; };
+		42BEAB341FA1D23A0024D647 /* EnumSelectAndSortViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EnumSelectAndSortViewController.m; sourceTree = "<group>"; };
+		42BEF3241E89FE1100632AB6 /* FirebaseAnalytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseAnalytics.framework; sourceTree = "<group>"; };
+		42BEF3271E89FE1100632AB6 /* FirebaseCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseCore.framework; sourceTree = "<group>"; };
+		42BEF3291E89FE1100632AB6 /* CHANGELOG.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = "<group>"; };
+		42BEF32B1E89FE1100632AB6 /* FirebaseInstanceID.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseInstanceID.framework; sourceTree = "<group>"; };
+		42BEF32C1E89FE1100632AB6 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
+		42BEF32F1E89FE1100632AB6 /* GGLAnalytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GGLAnalytics.framework; sourceTree = "<group>"; };
+		42BEF3301E89FE1100632AB6 /* GGLCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GGLCore.framework; sourceTree = "<group>"; };
+		42BEF3321E89FE1100632AB6 /* Analytics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Analytics.h; sourceTree = "<group>"; };
+		42BEF3331E89FE1100632AB6 /* Core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Core.h; sourceTree = "<group>"; };
+		42BEF3341E89FE1100632AB6 /* module.modulemap */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.module-map"; path = module.modulemap; sourceTree = "<group>"; };
+		42BEF3361E89FE1100632AB6 /* Analytics-Module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Analytics-Module.h"; sourceTree = "<group>"; };
+		42BEF3371E89FE1100632AB6 /* Core-Module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Core-Module.h"; sourceTree = "<group>"; };
+		42BEF3381E89FE1100632AB6 /* SignIn-Module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "SignIn-Module.h"; sourceTree = "<group>"; };
+		42BEF3391E89FE1100632AB6 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
+		42BEF33C1E89FE1100632AB6 /* libGoogleAnalytics.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libGoogleAnalytics.a; sourceTree = "<group>"; };
+		42BEF33E1E89FE1100632AB6 /* GAI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAI.h; sourceTree = "<group>"; };
+		42BEF33F1E89FE1100632AB6 /* GAIDictionaryBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAIDictionaryBuilder.h; sourceTree = "<group>"; };
+		42BEF3401E89FE1100632AB6 /* GAIEcommerceFields.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAIEcommerceFields.h; sourceTree = "<group>"; };
+		42BEF3411E89FE1100632AB6 /* GAIEcommerceProduct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAIEcommerceProduct.h; sourceTree = "<group>"; };
+		42BEF3421E89FE1100632AB6 /* GAIEcommerceProductAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAIEcommerceProductAction.h; sourceTree = "<group>"; };
+		42BEF3431E89FE1100632AB6 /* GAIEcommercePromotion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAIEcommercePromotion.h; sourceTree = "<group>"; };
+		42BEF3441E89FE1100632AB6 /* GAIFields.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAIFields.h; sourceTree = "<group>"; };
+		42BEF3451E89FE1100632AB6 /* GAILogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAILogger.h; sourceTree = "<group>"; };
+		42BEF3461E89FE1100632AB6 /* GAITrackedViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAITrackedViewController.h; sourceTree = "<group>"; };
+		42BEF3471E89FE1100632AB6 /* GAITracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GAITracker.h; sourceTree = "<group>"; };
+		42BEF34A1E89FE1100632AB6 /* GTMNSData+zlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "GTMNSData+zlib.h"; sourceTree = "<group>"; };
+		42BEF34B1E89FE1100632AB6 /* GTMNSData+zlib.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "GTMNSData+zlib.m"; sourceTree = "<group>"; };
+		42BEF34C1E89FE1100632AB6 /* GTMDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMDefines.h; sourceTree = "<group>"; };
+		42BEF34D1E89FE1100632AB6 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
+		42BEF34E1E89FE1100632AB6 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
+		42BEF35C1E89FECD00632AB6 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
+		42BEF35E1E89FEE300632AB6 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
+		42BEF3601E8A005800632AB6 /* GoogleAnalyst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GoogleAnalyst.h; sourceTree = "<group>"; };
+		42BEF3611E8A005800632AB6 /* GoogleAnalyst.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GoogleAnalyst.m; sourceTree = "<group>"; };
+		42BEF3A51E8A57F600632AB6 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
+		42BF67CA1E5179970081F90A /* ERPUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ERPUtils.h; path = common/ERPUtils.h; sourceTree = SOURCE_ROOT; };
+		42BF67CB1E5179970081F90A /* ERPUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ERPUtils.m; path = common/ERPUtils.m; sourceTree = SOURCE_ROOT; };
+		42D3A49A1EFA6D36007A54C1 /* ContentPreviewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContentPreviewController.h; sourceTree = "<group>"; };
+		42D3A49B1EFA6D36007A54C1 /* ContentPreviewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContentPreviewController.m; sourceTree = "<group>"; };
+		42D3A49D1EFA6D36007A54C1 /* PhotoList.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = PhotoList.storyboard; sourceTree = "<group>"; };
+		42D3A49F1EFA6D36007A54C1 /* PhotoPreviewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PhotoPreviewCell.h; sourceTree = "<group>"; };
+		42D3A4A01EFA6D36007A54C1 /* PhotoPreviewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PhotoPreviewCell.m; sourceTree = "<group>"; };
+		42D3A4A41EFA7346007A54C1 /* VideoPreviewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VideoPreviewCell.h; sourceTree = "<group>"; };
+		42D3A4A51EFA7346007A54C1 /* VideoPreviewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VideoPreviewCell.m; sourceTree = "<group>"; };
+		42D9A0221EB02DA6008AF7AF /* AdSupport.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AdSupport.framework; path = System/Library/Frameworks/AdSupport.framework; sourceTree = SDKROOT; };
+		42D9A0241EB03994008AF7AF /* libAdIdAccess.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libAdIdAccess.a; sourceTree = "<group>"; };
+		42DC12EF1F0CD98E00A4C011 /* OrderDetailPickInfoCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderDetailPickInfoCell.h; path = common/Functions/order/OrderDetailPickInfoCell.h; sourceTree = SOURCE_ROOT; };
+		42DC12F01F0CD98E00A4C011 /* OrderDetailPickInfoCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderDetailPickInfoCell.m; path = common/Functions/order/OrderDetailPickInfoCell.m; sourceTree = SOURCE_ROOT; };
+		42E153C61FC57A3D00C36077 /* CommonEditorTableContainerView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CommonEditorTableContainerView.h; path = common/CommonEditor/CommonEditorTableContainerView.h; sourceTree = SOURCE_ROOT; };
+		42E153C71FC57A3D00C36077 /* CommonEditorTableContainerView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CommonEditorTableContainerView.m; path = common/CommonEditor/CommonEditorTableContainerView.m; sourceTree = SOURCE_ROOT; };
+		42E489601EE63F4E007256A0 /* more_color_64.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = more_color_64.png; sourceTree = "<group>"; };
+		42FD1A011FBD1A3000C5D9A8 /* RAOrderPreviewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RAOrderPreviewController.h; path = common/Functions/order/RAOrderPreviewController.h; sourceTree = SOURCE_ROOT; };
+		42FD1A021FBD1A3000C5D9A8 /* RAOrderPreviewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RAOrderPreviewController.m; path = common/Functions/order/RAOrderPreviewController.m; sourceTree = SOURCE_ROOT; };
+		710274231CC606C4009FD219 /* UserListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UserListViewController.h; path = common/Functions/sidemenu/UserListViewController.h; sourceTree = SOURCE_ROOT; };
+		710274241CC606C4009FD219 /* UserListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UserListViewController.m; path = common/Functions/sidemenu/UserListViewController.m; sourceTree = SOURCE_ROOT; };
+		7111E5711C76C557004763B3 /* customer_info_template_edit.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = customer_info_template_edit.json; path = common/Functions/contact/customer_info_template_edit.json; sourceTree = SOURCE_ROOT; };
+		71131F901CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SimplifiedBuyingProgramViewController.h; path = common/Functions/sidemenu/SimplifiedBuyingProgramViewController.h; sourceTree = SOURCE_ROOT; };
+		71131F911CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SimplifiedBuyingProgramViewController.m; path = common/Functions/sidemenu/SimplifiedBuyingProgramViewController.m; sourceTree = SOURCE_ROOT; };
+		7115D45C1E16317600EF4E4C /* CommonEditor.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = CommonEditor.storyboard; path = common/CommonEditor/CommonEditor.storyboard; sourceTree = SOURCE_ROOT; };
+		712AFEC51DBA050200254965 /* BasicDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BasicDrawable.h; path = common/pdfCreator/BasicDrawable.h; sourceTree = SOURCE_ROOT; };
+		712AFEC61DBA050200254965 /* BasicDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BasicDrawable.m; path = common/pdfCreator/BasicDrawable.m; sourceTree = SOURCE_ROOT; };
+		712AFEC71DBA050200254965 /* GridDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GridDrawable.h; path = common/pdfCreator/GridDrawable.h; sourceTree = SOURCE_ROOT; };
+		712AFEC81DBA050200254965 /* GridDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GridDrawable.m; path = common/pdfCreator/GridDrawable.m; sourceTree = SOURCE_ROOT; };
+		712AFEC91DBA050200254965 /* GroupDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GroupDrawable.h; path = common/pdfCreator/GroupDrawable.h; sourceTree = SOURCE_ROOT; };
+		712AFECA1DBA050200254965 /* GroupDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GroupDrawable.m; path = common/pdfCreator/GroupDrawable.m; sourceTree = SOURCE_ROOT; };
+		712AFECB1DBA050200254965 /* ImageDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImageDrawable.h; path = common/pdfCreator/ImageDrawable.h; sourceTree = SOURCE_ROOT; };
+		712AFECC1DBA050200254965 /* ImageDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ImageDrawable.m; path = common/pdfCreator/ImageDrawable.m; sourceTree = SOURCE_ROOT; };
+		712AFECD1DBA050200254965 /* LineDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LineDrawable.h; path = common/pdfCreator/LineDrawable.h; sourceTree = SOURCE_ROOT; };
+		712AFECE1DBA050200254965 /* LineDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LineDrawable.m; path = common/pdfCreator/LineDrawable.m; sourceTree = SOURCE_ROOT; };
+		712AFECF1DBA050200254965 /* PDFDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PDFDrawable.h; path = common/pdfCreator/PDFDrawable.h; sourceTree = SOURCE_ROOT; };
+		712AFED01DBA050200254965 /* PDFDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PDFDrawable.m; path = common/pdfCreator/PDFDrawable.m; sourceTree = SOURCE_ROOT; };
+		712AFED11DBA050200254965 /* RAPDFPage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RAPDFPage.h; path = common/pdfCreator/RAPDFPage.h; sourceTree = SOURCE_ROOT; };
+		712AFED21DBA050200254965 /* RAPDFPage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RAPDFPage.m; path = common/pdfCreator/RAPDFPage.m; sourceTree = SOURCE_ROOT; };
+		712AFED31DBA050200254965 /* TableDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TableDrawable.h; path = common/pdfCreator/TableDrawable.h; sourceTree = SOURCE_ROOT; };
+		712AFED41DBA050200254965 /* TableDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TableDrawable.m; path = common/pdfCreator/TableDrawable.m; sourceTree = SOURCE_ROOT; };
+		712AFED51DBA050200254965 /* TextDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextDrawable.h; path = common/pdfCreator/TextDrawable.h; sourceTree = SOURCE_ROOT; };
+		712AFED61DBA050200254965 /* TextDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TextDrawable.m; path = common/pdfCreator/TextDrawable.m; sourceTree = SOURCE_ROOT; };
+		712AFEE01DBA077F00254965 /* pdfCreator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pdfCreator.h; path = common/pdfCreator/pdfCreator.h; sourceTree = SOURCE_ROOT; };
+		712AFEE11DBA077F00254965 /* pdfCreator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = pdfCreator.m; path = common/pdfCreator/pdfCreator.m; sourceTree = SOURCE_ROOT; };
+		712AFEE41DBDAF0300254965 /* pdfcreator.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = pdfcreator.xcassets; sourceTree = "<group>"; };
+		712BABF11C897E3A0007466B /* CategorySearchFilterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CategorySearchFilterViewController.h; path = common/Functions/category/CategorySearchFilterViewController.h; sourceTree = SOURCE_ROOT; };
+		712BABF21C897E3A0007466B /* CategorySearchFilterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CategorySearchFilterViewController.m; path = common/Functions/category/CategorySearchFilterViewController.m; sourceTree = SOURCE_ROOT; };
+		712C40B41C7310F4000E6831 /* CartGeneralNotesViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CartGeneralNotesViewController.h; path = common/Functions/cart/CartGeneralNotesViewController.h; sourceTree = SOURCE_ROOT; };
+		712C40B51C7310F4000E6831 /* CartGeneralNotesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CartGeneralNotesViewController.m; path = common/Functions/cart/CartGeneralNotesViewController.m; sourceTree = SOURCE_ROOT; };
+		712C40B71C731126000E6831 /* ItemNotesViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ItemNotesViewController.h; path = common/Functions/cart/ItemNotesViewController.h; sourceTree = SOURCE_ROOT; };
+		712C40B81C731126000E6831 /* ItemNotesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ItemNotesViewController.m; path = common/Functions/cart/ItemNotesViewController.m; sourceTree = SOURCE_ROOT; };
+		713F76A61929F4A7006A7305 /* USAI Mobile.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "USAI Mobile.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+		713F76A91929F4A7006A7305 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+		713F76AB1929F4A7006A7305 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+		713F76AD1929F4A7006A7305 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+		713F76B11929F4A7006A7305 /* iSales-USAI-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "iSales-USAI-Info.plist"; sourceTree = "<group>"; };
+		713F76B31929F4A7006A7305 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		713F76B51929F4A7006A7305 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+		713F76B71929F4A7006A7305 /* iSales-USAI-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "iSales-USAI-Prefix.pch"; sourceTree = "<group>"; };
+		713F76B81929F4A7006A7305 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+		713F76B91929F4A7006A7305 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+		713F76C11929F4A7006A7305 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
+		713F76C81929F4A7006A7305 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
+		7141DD331C57269B00F7DF59 /* include */ = {isa = PBXFileReference; lastKnownFileType = folder; name = include; path = "ScanApiSDK-10.2.227-2/include"; sourceTree = SOURCE_ROOT; };
+		7141DD351C5726B700F7DF59 /* DeviceInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeviceInfo.h; path = "ScanApiSDK-10.2.227-2/DeviceInfo.h"; sourceTree = SOURCE_ROOT; };
+		7141DD361C5726B700F7DF59 /* DeviceInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DeviceInfo.m; path = "ScanApiSDK-10.2.227-2/DeviceInfo.m"; sourceTree = SOURCE_ROOT; };
+		7141DD371C5726B700F7DF59 /* ScanApiHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScanApiHelper.h; path = "ScanApiSDK-10.2.227-2/ScanApiHelper.h"; sourceTree = SOURCE_ROOT; };
+		7141DD381C5726B700F7DF59 /* ScanApiHelper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ScanApiHelper.mm; path = "ScanApiSDK-10.2.227-2/ScanApiHelper.mm"; sourceTree = SOURCE_ROOT; };
+		7141DD391C5726B700F7DF59 /* ScanApiIncludes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScanApiIncludes.h; path = "ScanApiSDK-10.2.227-2/ScanApiIncludes.h"; sourceTree = SOURCE_ROOT; };
+		7141DD3A1C5726B700F7DF59 /* softScanBeep.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = softScanBeep.wav; path = "ScanApiSDK-10.2.227-2/softScanBeep.wav"; sourceTree = SOURCE_ROOT; };
+		7141DD3E1C57459B00F7DF59 /* bitstream.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = bitstream.c; path = common/qrcode/bitstream.c; sourceTree = SOURCE_ROOT; };
+		7141DD3F1C57459B00F7DF59 /* bitstream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bitstream.h; path = common/qrcode/bitstream.h; sourceTree = SOURCE_ROOT; };
+		7141DD401C57459B00F7DF59 /* mask.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mask.c; path = common/qrcode/mask.c; sourceTree = SOURCE_ROOT; };
+		7141DD411C57459B00F7DF59 /* mask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mask.h; path = common/qrcode/mask.h; sourceTree = SOURCE_ROOT; };
+		7141DD421C57459B00F7DF59 /* QRCodeGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = QRCodeGenerator.h; path = common/qrcode/QRCodeGenerator.h; sourceTree = SOURCE_ROOT; };
+		7141DD431C57459B00F7DF59 /* QRCodeGenerator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = QRCodeGenerator.m; path = common/qrcode/QRCodeGenerator.m; sourceTree = SOURCE_ROOT; };
+		7141DD441C57459B00F7DF59 /* qrencode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = qrencode.c; path = common/qrcode/qrencode.c; sourceTree = SOURCE_ROOT; };
+		7141DD451C57459B00F7DF59 /* qrencode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = qrencode.h; path = common/qrcode/qrencode.h; sourceTree = SOURCE_ROOT; };
+		7141DD461C57459B00F7DF59 /* qrinput.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = qrinput.c; path = common/qrcode/qrinput.c; sourceTree = SOURCE_ROOT; };
+		7141DD471C57459B00F7DF59 /* qrinput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = qrinput.h; path = common/qrcode/qrinput.h; sourceTree = SOURCE_ROOT; };
+		7141DD481C57459B00F7DF59 /* qrspec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = qrspec.c; path = common/qrcode/qrspec.c; sourceTree = SOURCE_ROOT; };
+		7141DD491C57459B00F7DF59 /* qrspec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = qrspec.h; path = common/qrcode/qrspec.h; sourceTree = SOURCE_ROOT; };
+		7141DD4A1C57459B00F7DF59 /* rscode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = rscode.c; path = common/qrcode/rscode.c; sourceTree = SOURCE_ROOT; };
+		7141DD4B1C57459B00F7DF59 /* rscode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = rscode.h; path = common/qrcode/rscode.h; sourceTree = SOURCE_ROOT; };
+		7141DD4C1C57459B00F7DF59 /* split.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = split.c; path = common/qrcode/split.c; sourceTree = SOURCE_ROOT; };
+		7141DD4D1C57459B00F7DF59 /* split.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = split.h; path = common/qrcode/split.h; sourceTree = SOURCE_ROOT; };
+		7141DD561C5747CE00F7DF59 /* AESCrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AESCrypt.h; path = common/AES/AESCrypt.h; sourceTree = SOURCE_ROOT; };
+		7141DD571C5747CE00F7DF59 /* AESCrypt.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AESCrypt.m; path = common/AES/AESCrypt.m; sourceTree = SOURCE_ROOT; };
+		7141DD581C5747CE00F7DF59 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = LICENSE; path = common/AES/LICENSE; sourceTree = SOURCE_ROOT; };
+		7141DD591C5747CE00F7DF59 /* NSData+Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSData+Base64.h"; path = "common/AES/NSData+Base64.h"; sourceTree = SOURCE_ROOT; };
+		7141DD5A1C5747CE00F7DF59 /* NSData+Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSData+Base64.m"; path = "common/AES/NSData+Base64.m"; sourceTree = SOURCE_ROOT; };
+		7141DD5B1C5747CE00F7DF59 /* NSData+CommonCrypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSData+CommonCrypto.h"; path = "common/AES/NSData+CommonCrypto.h"; sourceTree = SOURCE_ROOT; };
+		7141DD5C1C5747CE00F7DF59 /* NSData+CommonCrypto.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSData+CommonCrypto.m"; path = "common/AES/NSData+CommonCrypto.m"; sourceTree = SOURCE_ROOT; };
+		7141DD5D1C5747CE00F7DF59 /* NSString+Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSString+Base64.h"; path = "common/AES/NSString+Base64.h"; sourceTree = SOURCE_ROOT; };
+		7141DD5E1C5747CE00F7DF59 /* NSString+Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSString+Base64.m"; path = "common/AES/NSString+Base64.m"; sourceTree = SOURCE_ROOT; };
+		7142E8781DBF57510077EFA2 /* KALINGA.TTF */ = {isa = PBXFileReference; lastKnownFileType = file; path = KALINGA.TTF; sourceTree = "<group>"; };
+		7142E8791DBF57510077EFA2 /* KALINGAB.TTF */ = {isa = PBXFileReference; lastKnownFileType = file; path = KALINGAB.TTF; sourceTree = "<group>"; };
+		7142E87C1DC300010077EFA2 /* DejaVuSans-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "DejaVuSans-Bold.ttf"; sourceTree = "<group>"; };
+		7142E87D1DC300010077EFA2 /* DejaVuSans.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = DejaVuSans.ttf; sourceTree = "<group>"; };
+		7143E209202FCEEB00451903 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = "iSales-NPD/Base.lproj/OLM.storyboard"; sourceTree = SOURCE_ROOT; };
+		7143E20B202FCEEC00451903 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = "iSales-NPD/Base.lproj/Main.storyboard"; sourceTree = SOURCE_ROOT; };
+		7143E20E202FCEF600451903 /* CUL.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = CUL.storyboard; path = "iSales-NPD/CUL.storyboard"; sourceTree = SOURCE_ROOT; };
+		7143E210202FCF7600451903 /* CategoryCellNPD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CategoryCellNPD.h; path = "iSales-NPD/CategoryCellNPD.h"; sourceTree = SOURCE_ROOT; };
+		7143E211202FCF7600451903 /* CategoryCellNPD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CategoryCellNPD.m; path = "iSales-NPD/CategoryCellNPD.m"; sourceTree = SOURCE_ROOT; };
+		7143E213202FCFC000451903 /* debug_category_filter.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = debug_category_filter.json; path = "iSales-NPD/debug_category_filter.json"; sourceTree = SOURCE_ROOT; };
+		7143E216202FD15A00451903 /* category.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = category.json; path = "iSales-NPD/category.json"; sourceTree = SOURCE_ROOT; };
+		7143E218202FD1DC00451903 /* contactAdvanceSearch.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = contactAdvanceSearch.json; path = "iSales-NPD/contactAdvanceSearch.json"; sourceTree = SOURCE_ROOT; };
+		7143E219202FD1DC00451903 /* createContact.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = createContact.json; path = "iSales-NPD/createContact.json"; sourceTree = SOURCE_ROOT; };
+		7143E21C202FD21F00451903 /* editContact.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = editContact.json; path = "iSales-NPD/editContact.json"; sourceTree = SOURCE_ROOT; };
+		7143E21E202FD28800451903 /* TearSheet.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = TearSheet.json; path = "iSales-NPD/TearSheet.json"; sourceTree = SOURCE_ROOT; };
+		7143E21F202FD28900451903 /* placeOrderTemplate.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = placeOrderTemplate.json; path = "iSales-NPD/placeOrderTemplate.json"; sourceTree = SOURCE_ROOT; };
+		7143E222202FD2CA00451903 /* so_thumb.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = so_thumb.json; path = "iSales-NPD/so_thumb.json"; sourceTree = SOURCE_ROOT; };
+		7143E223202FD2CA00451903 /* portfolio_3x2.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = portfolio_3x2.json; path = "iSales-NPD/portfolio_3x2.json"; sourceTree = SOURCE_ROOT; };
+		7143E224202FD2CA00451903 /* portfolio_2x3.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = portfolio_2x3.json; path = "iSales-NPD/portfolio_2x3.json"; sourceTree = SOURCE_ROOT; };
+		7143E225202FD2CA00451903 /* so.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = so.json; path = "iSales-NPD/so.json"; sourceTree = SOURCE_ROOT; };
+		7143E22A202FD37500451903 /* orderDetail.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = orderDetail.json; path = "iSales-NPD/orderDetail.json"; sourceTree = SOURCE_ROOT; };
+		7143E22C202FD3CC00451903 /* more_info.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = more_info.html; path = "iSales-NPD/more_info.html"; sourceTree = SOURCE_ROOT; };
+		7143E22D202FD3CC00451903 /* order_info.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = order_info.html; path = "iSales-NPD/order_info.html"; sourceTree = SOURCE_ROOT; };
+		714B1F3E1C7BF74100539193 /* OrderDetailSignatureCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderDetailSignatureCell.h; path = common/Functions/order/OrderDetailSignatureCell.h; sourceTree = SOURCE_ROOT; };
+		714B1F3F1C7BF74100539193 /* OrderDetailSignatureCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderDetailSignatureCell.m; path = common/Functions/order/OrderDetailSignatureCell.m; sourceTree = SOURCE_ROOT; };
+		715001FD1D114D9100F5927F /* BundleDetailButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BundleDetailButton.h; path = common/Functions/BundleDetailButton.h; sourceTree = SOURCE_ROOT; };
+		715001FE1D114D9100F5927F /* BundleDetailButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BundleDetailButton.m; path = common/Functions/BundleDetailButton.m; sourceTree = SOURCE_ROOT; };
+		715671311E10A0EF006324A0 /* RectDrawable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RectDrawable.h; path = common/pdfCreator/RectDrawable.h; sourceTree = SOURCE_ROOT; };
+		715671321E10A0EF006324A0 /* RectDrawable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RectDrawable.m; path = common/pdfCreator/RectDrawable.m; sourceTree = SOURCE_ROOT; };
+		715850441CF6F0E500856B20 /* DefaultAppearance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DefaultAppearance.h; path = common/Functions/DefaultAppearance.h; sourceTree = SOURCE_ROOT; };
+		715850451CF6F0E500856B20 /* DefaultAppearance.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DefaultAppearance.m; path = common/Functions/DefaultAppearance.m; sourceTree = SOURCE_ROOT; };
+		715F30BB1DAB37EB00490EED /* OfflineUnlockViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OfflineUnlockViewController.h; path = common/Functions/offline/OfflineUnlockViewController.h; sourceTree = SOURCE_ROOT; };
+		715F30BC1DAB37EB00490EED /* OfflineUnlockViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OfflineUnlockViewController.m; path = common/Functions/offline/OfflineUnlockViewController.m; sourceTree = SOURCE_ROOT; };
+		7161FEB21D61B24900157EE1 /* creditcardpayment.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = creditcardpayment.html; path = common/Functions/offline/creditcardpayment.html; sourceTree = SOURCE_ROOT; };
+		7161FEB31D61B24900157EE1 /* normalpayment.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = normalpayment.html; path = common/Functions/offline/normalpayment.html; sourceTree = SOURCE_ROOT; };
+		7161FEB41D61B24900157EE1 /* orderinfo.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = orderinfo.html; path = common/Functions/offline/orderinfo.html; sourceTree = SOURCE_ROOT; };
+		7162A4FA1C585FFB00AB630E /* RAPDFViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RAPDFViewController.h; path = "common/Functions/PDF+Web/RAPDFViewController.h"; sourceTree = SOURCE_ROOT; };
+		7162A4FB1C585FFB00AB630E /* RAPDFViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RAPDFViewController.m; path = "common/Functions/PDF+Web/RAPDFViewController.m"; sourceTree = SOURCE_ROOT; };
+		7162A4FC1C585FFB00AB630E /* WebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebViewController.h; path = "common/Functions/PDF+Web/WebViewController.h"; sourceTree = SOURCE_ROOT; };
+		7162A4FD1C585FFB00AB630E /* WebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = WebViewController.m; path = "common/Functions/PDF+Web/WebViewController.m"; sourceTree = SOURCE_ROOT; };
+		7162A5001C586F5B00AB630E /* AddressEditorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AddressEditorViewController.h; path = common/Functions/address/AddressEditorViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5011C586F5B00AB630E /* AddressEditorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AddressEditorViewController.m; path = common/Functions/address/AddressEditorViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5031C586FC100AB630E /* CycleScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CycleScrollView.h; path = common/AutoScrollImage/CycleScrollView.h; sourceTree = SOURCE_ROOT; };
+		7162A5041C586FC100AB630E /* CycleScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CycleScrollView.m; path = common/AutoScrollImage/CycleScrollView.m; sourceTree = SOURCE_ROOT; };
+		7162A5051C586FC100AB630E /* NSTimer+Addition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "NSTimer+Addition.h"; path = "common/AutoScrollImage/NSTimer+Addition.h"; sourceTree = SOURCE_ROOT; };
+		7162A5061C586FC100AB630E /* NSTimer+Addition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "NSTimer+Addition.m"; path = "common/AutoScrollImage/NSTimer+Addition.m"; sourceTree = SOURCE_ROOT; };
+		7162A5071C586FC100AB630E /* SliderPage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SliderPage.h; path = common/AutoScrollImage/SliderPage.h; sourceTree = SOURCE_ROOT; };
+		7162A5081C586FC100AB630E /* SliderPage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SliderPage.m; path = common/AutoScrollImage/SliderPage.m; sourceTree = SOURCE_ROOT; };
+		7162A50C1C58704600AB630E /* BundleModelCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BundleModelCell.h; path = common/Functions/cart/BundleModelCell.h; sourceTree = SOURCE_ROOT; };
+		7162A50D1C58704600AB630E /* BundleModelCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BundleModelCell.m; path = common/Functions/cart/BundleModelCell.m; sourceTree = SOURCE_ROOT; };
+		7162A50E1C58704600AB630E /* BundleModelViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BundleModelViewController.h; path = common/Functions/cart/BundleModelViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A50F1C58704600AB630E /* BundleModelViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BundleModelViewController.m; path = common/Functions/cart/BundleModelViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5101C58704600AB630E /* CartViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CartViewController.h; path = common/Functions/cart/CartViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5111C58704600AB630E /* CartViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CartViewController.m; path = common/Functions/cart/CartViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5121C58704600AB630E /* EditModelPriceViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EditModelPriceViewController.h; path = common/Functions/cart/EditModelPriceViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5131C58704600AB630E /* EditModelPriceViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EditModelPriceViewController.m; path = common/Functions/cart/EditModelPriceViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5141C58704600AB630E /* ModelItemCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ModelItemCell.h; path = common/Functions/cart/ModelItemCell.h; sourceTree = SOURCE_ROOT; };
+		7162A5151C58704600AB630E /* ModelItemCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ModelItemCell.m; path = common/Functions/cart/ModelItemCell.m; sourceTree = SOURCE_ROOT; };
+		7162A51F1C58706C00AB630E /* CategoryCellSmall.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CategoryCellSmall.h; path = common/Functions/category/CategoryCellSmall.h; sourceTree = SOURCE_ROOT; };
+		7162A5201C58706C00AB630E /* CategoryCellSmall.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CategoryCellSmall.m; path = common/Functions/category/CategoryCellSmall.m; sourceTree = SOURCE_ROOT; };
+		7162A5211C58706C00AB630E /* CategoryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CategoryViewController.h; path = common/Functions/category/CategoryViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5221C58706C00AB630E /* CategoryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CategoryViewController.m; path = common/Functions/category/CategoryViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A52B1C58719D00AB630E /* RATreeNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RATreeNode.h; path = common/categoryMenu_RATree/RATreeNode.h; sourceTree = SOURCE_ROOT; };
+		7162A52C1C58719D00AB630E /* RATreeNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RATreeNode.m; path = common/categoryMenu_RATree/RATreeNode.m; sourceTree = SOURCE_ROOT; };
+		7162A52D1C58719D00AB630E /* RATreeNodeCollectionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RATreeNodeCollectionController.h; path = common/categoryMenu_RATree/RATreeNodeCollectionController.h; sourceTree = SOURCE_ROOT; };
+		7162A52E1C58719D00AB630E /* RATreeNodeCollectionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RATreeNodeCollectionController.m; path = common/categoryMenu_RATree/RATreeNodeCollectionController.m; sourceTree = SOURCE_ROOT; };
+		7162A52F1C58719D00AB630E /* RATreeNodeInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RATreeNodeInfo.h; path = common/categoryMenu_RATree/RATreeNodeInfo.h; sourceTree = SOURCE_ROOT; };
+		7162A5301C58719D00AB630E /* RATreeNodeInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RATreeNodeInfo.m; path = common/categoryMenu_RATree/RATreeNodeInfo.m; sourceTree = SOURCE_ROOT; };
+		7162A5311C58719D00AB630E /* RATreeNodeInfo+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "RATreeNodeInfo+Private.h"; path = "common/categoryMenu_RATree/RATreeNodeInfo+Private.h"; sourceTree = SOURCE_ROOT; };
+		7162A5321C58719D00AB630E /* RATreeNodeInfo+Private.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "RATreeNodeInfo+Private.m"; path = "common/categoryMenu_RATree/RATreeNodeInfo+Private.m"; sourceTree = SOURCE_ROOT; };
+		7162A5331C58719D00AB630E /* RATreeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RATreeView.h; path = common/categoryMenu_RATree/RATreeView.h; sourceTree = SOURCE_ROOT; };
+		7162A5341C58719D00AB630E /* RATreeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RATreeView.m; path = common/categoryMenu_RATree/RATreeView.m; sourceTree = SOURCE_ROOT; };
+		7162A5351C58719D00AB630E /* RATreeView+Enums.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "RATreeView+Enums.h"; path = "common/categoryMenu_RATree/RATreeView+Enums.h"; sourceTree = SOURCE_ROOT; };
+		7162A5361C58719D00AB630E /* RATreeView+Enums.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "RATreeView+Enums.m"; path = "common/categoryMenu_RATree/RATreeView+Enums.m"; sourceTree = SOURCE_ROOT; };
+		7162A5371C58719D00AB630E /* RATreeView+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "RATreeView+Private.h"; path = "common/categoryMenu_RATree/RATreeView+Private.h"; sourceTree = SOURCE_ROOT; };
+		7162A5381C58719D00AB630E /* RATreeView+Private.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "RATreeView+Private.m"; path = "common/categoryMenu_RATree/RATreeView+Private.m"; sourceTree = SOURCE_ROOT; };
+		7162A5391C58719D00AB630E /* RATreeView+TableViewDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "RATreeView+TableViewDataSource.h"; path = "common/categoryMenu_RATree/RATreeView+TableViewDataSource.h"; sourceTree = SOURCE_ROOT; };
+		7162A53A1C58719D00AB630E /* RATreeView+TableViewDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "RATreeView+TableViewDataSource.m"; path = "common/categoryMenu_RATree/RATreeView+TableViewDataSource.m"; sourceTree = SOURCE_ROOT; };
+		7162A53B1C58719D00AB630E /* RATreeView+TableViewDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "RATreeView+TableViewDelegate.h"; path = "common/categoryMenu_RATree/RATreeView+TableViewDelegate.h"; sourceTree = SOURCE_ROOT; };
+		7162A53C1C58719D00AB630E /* RATreeView+TableViewDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "RATreeView+TableViewDelegate.m"; path = "common/categoryMenu_RATree/RATreeView+TableViewDelegate.m"; sourceTree = SOURCE_ROOT; };
+		7162A53D1C58719D00AB630E /* RATreeView+UIScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "RATreeView+UIScrollView.h"; path = "common/categoryMenu_RATree/RATreeView+UIScrollView.h"; sourceTree = SOURCE_ROOT; };
+		7162A53E1C58719D00AB630E /* RATreeView+UIScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "RATreeView+UIScrollView.m"; path = "common/categoryMenu_RATree/RATreeView+UIScrollView.m"; sourceTree = SOURCE_ROOT; };
+		7162A53F1C58719D00AB630E /* RAViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RAViewController.h; path = common/categoryMenu_RATree/RAViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5401C58719D00AB630E /* RAViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RAViewController.m; path = common/categoryMenu_RATree/RAViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A54C1C58722200AB630E /* CreditCardEditorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CreditCardEditorViewController.h; path = common/Functions/creditcard/CreditCardEditorViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A54D1C58722200AB630E /* CreditCardEditorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CreditCardEditorViewController.m; path = common/Functions/creditcard/CreditCardEditorViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A54F1C58724700AB630E /* ContactAdvanceSearchViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ContactAdvanceSearchViewController.h; path = common/Functions/contact/ContactAdvanceSearchViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5501C58724700AB630E /* ContactAdvanceSearchViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ContactAdvanceSearchViewController.m; path = common/Functions/contact/ContactAdvanceSearchViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5511C58724700AB630E /* ContactListTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ContactListTableViewCell.h; path = common/Functions/contact/ContactListTableViewCell.h; sourceTree = SOURCE_ROOT; };
+		7162A5521C58724700AB630E /* ContactListTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ContactListTableViewCell.m; path = common/Functions/contact/ContactListTableViewCell.m; sourceTree = SOURCE_ROOT; };
+		7162A5531C58724700AB630E /* ContactListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ContactListViewController.h; path = common/Functions/contact/ContactListViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5541C58724700AB630E /* ContactListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ContactListViewController.m; path = common/Functions/contact/ContactListViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5551C58724700AB630E /* customer_advanced_search.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = customer_advanced_search.json; path = common/Functions/contact/customer_advanced_search.json; sourceTree = SOURCE_ROOT; };
+		7162A5561C58724700AB630E /* customer_info_template.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = customer_info_template.json; path = common/Functions/contact/customer_info_template.json; sourceTree = SOURCE_ROOT; };
+		7162A5571C58724700AB630E /* CustomerEditViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomerEditViewController.h; path = common/Functions/contact/CustomerEditViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5581C58724700AB630E /* CustomerEditViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CustomerEditViewController.m; path = common/Functions/contact/CustomerEditViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5591C58724700AB630E /* CustomerInfoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomerInfoViewController.h; path = common/Functions/contact/CustomerInfoViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A55A1C58724700AB630E /* CustomerInfoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CustomerInfoViewController.m; path = common/Functions/contact/CustomerInfoViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5621C58728D00AB630E /* DetailHeaderCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailHeaderCell.h; path = common/Functions/modelDetail/DetailHeaderCell.h; sourceTree = SOURCE_ROOT; };
+		7162A5631C58728D00AB630E /* DetailHeaderCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailHeaderCell.m; path = common/Functions/modelDetail/DetailHeaderCell.m; sourceTree = SOURCE_ROOT; };
+		7162A5641C58728D00AB630E /* DetailImageCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailImageCell.h; path = common/Functions/modelDetail/DetailImageCell.h; sourceTree = SOURCE_ROOT; };
+		7162A5651C58728D00AB630E /* DetailImageCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailImageCell.m; path = common/Functions/modelDetail/DetailImageCell.m; sourceTree = SOURCE_ROOT; };
+		7162A5661C58728D00AB630E /* DetailKVCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailKVCell.h; path = common/Functions/modelDetail/DetailKVCell.h; sourceTree = SOURCE_ROOT; };
+		7162A5671C58728D00AB630E /* DetailKVCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailKVCell.m; path = common/Functions/modelDetail/DetailKVCell.m; sourceTree = SOURCE_ROOT; };
+		7162A5681C58728D00AB630E /* DetailTopicCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailTopicCell.h; path = common/Functions/modelDetail/DetailTopicCell.h; sourceTree = SOURCE_ROOT; };
+		7162A5691C58728D00AB630E /* DetailTopicCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailTopicCell.m; path = common/Functions/modelDetail/DetailTopicCell.m; sourceTree = SOURCE_ROOT; };
+		7162A56A1C58728D00AB630E /* DetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DetailViewController.h; path = common/Functions/modelDetail/DetailViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A56B1C58728D00AB630E /* DetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DetailViewController.m; path = common/Functions/modelDetail/DetailViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A56C1C58728D00AB630E /* LineView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LineView.h; path = common/Functions/modelDetail/LineView.h; sourceTree = SOURCE_ROOT; };
+		7162A56D1C58728D00AB630E /* LineView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LineView.m; path = common/Functions/modelDetail/LineView.m; sourceTree = SOURCE_ROOT; };
+		7162A5771C5872EF00AB630E /* HomeTableViewCellBanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HomeTableViewCellBanner.h; path = common/Functions/home/HomeTableViewCellBanner.h; sourceTree = SOURCE_ROOT; };
+		7162A5781C5872EF00AB630E /* HomeTableViewCellBanner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HomeTableViewCellBanner.m; path = common/Functions/home/HomeTableViewCellBanner.m; sourceTree = SOURCE_ROOT; };
+		7162A5791C5872EF00AB630E /* HomeTableViewCellButtonBanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HomeTableViewCellButtonBanner.h; path = common/Functions/home/HomeTableViewCellButtonBanner.h; sourceTree = SOURCE_ROOT; };
+		7162A57A1C5872EF00AB630E /* HomeTableViewCellButtonBanner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HomeTableViewCellButtonBanner.m; path = common/Functions/home/HomeTableViewCellButtonBanner.m; sourceTree = SOURCE_ROOT; };
+		7162A57B1C5872EF00AB630E /* HomeTableViewCellSlide.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HomeTableViewCellSlide.h; path = common/Functions/home/HomeTableViewCellSlide.h; sourceTree = SOURCE_ROOT; };
+		7162A57C1C5872EF00AB630E /* HomeTableViewCellSlide.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HomeTableViewCellSlide.m; path = common/Functions/home/HomeTableViewCellSlide.m; sourceTree = SOURCE_ROOT; };
+		7162A57D1C5872EF00AB630E /* HomeTableViewCellTopic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HomeTableViewCellTopic.h; path = common/Functions/home/HomeTableViewCellTopic.h; sourceTree = SOURCE_ROOT; };
+		7162A57E1C5872EF00AB630E /* HomeTableViewCellTopic.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HomeTableViewCellTopic.m; path = common/Functions/home/HomeTableViewCellTopic.m; sourceTree = SOURCE_ROOT; };
+		7162A57F1C5872EF00AB630E /* HomeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HomeViewController.h; path = common/Functions/home/HomeViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5801C5872EF00AB630E /* HomeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HomeViewController.m; path = common/Functions/home/HomeViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5861C58733400AB630E /* CreateOrderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CreateOrderViewController.h; path = common/Functions/order/CreateOrderViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5871C58733400AB630E /* CreateOrderViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CreateOrderViewController.m; path = common/Functions/order/CreateOrderViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5881C58733400AB630E /* OrderDetailHtmlCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderDetailHtmlCell.h; path = common/Functions/order/OrderDetailHtmlCell.h; sourceTree = SOURCE_ROOT; };
+		7162A5891C58733400AB630E /* OrderDetailHtmlCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderDetailHtmlCell.m; path = common/Functions/order/OrderDetailHtmlCell.m; sourceTree = SOURCE_ROOT; };
+		7162A58A1C58733400AB630E /* OrderDetailInfoCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderDetailInfoCell.h; path = common/Functions/order/OrderDetailInfoCell.h; sourceTree = SOURCE_ROOT; };
+		7162A58B1C58733400AB630E /* OrderDetailInfoCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderDetailInfoCell.m; path = common/Functions/order/OrderDetailInfoCell.m; sourceTree = SOURCE_ROOT; };
+		7162A58C1C58733400AB630E /* OrderDetailModelCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderDetailModelCell.h; path = common/Functions/order/OrderDetailModelCell.h; sourceTree = SOURCE_ROOT; };
+		7162A58D1C58733400AB630E /* OrderDetailModelCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderDetailModelCell.m; path = common/Functions/order/OrderDetailModelCell.m; sourceTree = SOURCE_ROOT; };
+		7162A58E1C58733400AB630E /* OrderDetailPriceCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderDetailPriceCell.h; path = common/Functions/order/OrderDetailPriceCell.h; sourceTree = SOURCE_ROOT; };
+		7162A58F1C58733400AB630E /* OrderDetailPriceCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderDetailPriceCell.m; path = common/Functions/order/OrderDetailPriceCell.m; sourceTree = SOURCE_ROOT; };
+		7162A5901C58733400AB630E /* OrderDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderDetailViewController.h; path = common/Functions/order/OrderDetailViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5911C58733400AB630E /* OrderDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderDetailViewController.m; path = common/Functions/order/OrderDetailViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5921C58733400AB630E /* OrderListTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderListTableViewCell.h; path = common/Functions/order/OrderListTableViewCell.h; sourceTree = SOURCE_ROOT; };
+		7162A5931C58733400AB630E /* OrderListTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderListTableViewCell.m; path = common/Functions/order/OrderListTableViewCell.m; sourceTree = SOURCE_ROOT; };
+		7162A5941C58733400AB630E /* OrderListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderListViewController.h; path = common/Functions/order/OrderListViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5951C58733400AB630E /* OrderListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderListViewController.m; path = common/Functions/order/OrderListViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5961C58733400AB630E /* status_filter_cadedate_open.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = status_filter_cadedate_open.json; path = common/Functions/order/status_filter_cadedate_open.json; sourceTree = SOURCE_ROOT; };
+		7162A5971C58733400AB630E /* offline_status_filter_cadedate.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = offline_status_filter_cadedate.json; path = common/Functions/order/offline_status_filter_cadedate.json; sourceTree = SOURCE_ROOT; };
+		7162A5A21C58735900AB630E /* PDFListTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PDFListTableViewCell.h; path = common/Functions/portfolio/PDFListTableViewCell.h; sourceTree = SOURCE_ROOT; };
+		7162A5A31C58735900AB630E /* PDFListTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PDFListTableViewCell.m; path = common/Functions/portfolio/PDFListTableViewCell.m; sourceTree = SOURCE_ROOT; };
+		7162A5A41C58735900AB630E /* PDFListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PDFListViewController.h; path = common/Functions/portfolio/PDFListViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5A51C58735900AB630E /* PDFListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PDFListViewController.m; path = common/Functions/portfolio/PDFListViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5A61C58735900AB630E /* PortfolioViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PortfolioViewController.h; path = common/Functions/portfolio/PortfolioViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5A71C58735900AB630E /* PortfolioViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PortfolioViewController.m; path = common/Functions/portfolio/PortfolioViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5A81C58735900AB630E /* TearSheetParamViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TearSheetParamViewController.h; path = common/Functions/portfolio/TearSheetParamViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5A91C58735900AB630E /* TearSheetParamViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TearSheetParamViewController.m; path = common/Functions/portfolio/TearSheetParamViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5AE1C58738600AB630E /* ScannerControllerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScannerControllerView.h; path = common/Functions/camscan/ScannerControllerView.h; sourceTree = SOURCE_ROOT; };
+		7162A5AF1C58738600AB630E /* ScannerControllerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ScannerControllerView.m; path = common/Functions/camscan/ScannerControllerView.m; sourceTree = SOURCE_ROOT; };
+		7162A5B01C58738600AB630E /* ScannerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScannerViewController.h; path = common/Functions/camscan/ScannerViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5B11C58738600AB630E /* ScannerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ScannerViewController.m; path = common/Functions/camscan/ScannerViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5B21C58738600AB630E /* SCShapeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SCShapeView.h; path = common/Functions/camscan/SCShapeView.h; sourceTree = SOURCE_ROOT; };
+		7162A5B31C58738600AB630E /* SCShapeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SCShapeView.m; path = common/Functions/camscan/SCShapeView.m; sourceTree = SOURCE_ROOT; };
+		7162A5B71C5873BB00AB630E /* FilterCellCadedate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FilterCellCadedate.h; path = "common/Functions/search+itemsearch/FilterCellCadedate.h"; sourceTree = SOURCE_ROOT; };
+		7162A5B81C5873BB00AB630E /* FilterCellCadedate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FilterCellCadedate.m; path = "common/Functions/search+itemsearch/FilterCellCadedate.m"; sourceTree = SOURCE_ROOT; };
+		7162A5B91C5873BB00AB630E /* FilterCellValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FilterCellValue.h; path = "common/Functions/search+itemsearch/FilterCellValue.h"; sourceTree = SOURCE_ROOT; };
+		7162A5BA1C5873BB00AB630E /* FilterCellValue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FilterCellValue.m; path = "common/Functions/search+itemsearch/FilterCellValue.m"; sourceTree = SOURCE_ROOT; };
+		7162A5BB1C5873BB00AB630E /* ItemSearchFilterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ItemSearchFilterViewController.h; path = "common/Functions/search+itemsearch/ItemSearchFilterViewController.h"; sourceTree = SOURCE_ROOT; };
+		7162A5BC1C5873BB00AB630E /* ItemSearchFilterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ItemSearchFilterViewController.m; path = "common/Functions/search+itemsearch/ItemSearchFilterViewController.m"; sourceTree = SOURCE_ROOT; };
+		7162A5BD1C5873BB00AB630E /* ItemSearchViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ItemSearchViewController.h; path = "common/Functions/search+itemsearch/ItemSearchViewController.h"; sourceTree = SOURCE_ROOT; };
+		7162A5BE1C5873BB00AB630E /* ItemSearchViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ItemSearchViewController.m; path = "common/Functions/search+itemsearch/ItemSearchViewController.m"; sourceTree = SOURCE_ROOT; };
+		7162A5BF1C5873BB00AB630E /* SearchViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SearchViewController.h; path = "common/Functions/search+itemsearch/SearchViewController.h"; sourceTree = SOURCE_ROOT; };
+		7162A5C01C5873BB00AB630E /* SearchViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SearchViewController.m; path = "common/Functions/search+itemsearch/SearchViewController.m"; sourceTree = SOURCE_ROOT; };
+		7162A5C61C58761500AB630E /* SignatureView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SignatureView.h; path = common/Functions/signature/SignatureView.h; sourceTree = SOURCE_ROOT; };
+		7162A5C71C58761500AB630E /* SignatureView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SignatureView.m; path = common/Functions/signature/SignatureView.m; sourceTree = SOURCE_ROOT; };
+		7162A5C81C58761500AB630E /* SignatureViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SignatureViewController.h; path = common/Functions/signature/SignatureViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5C91C58761500AB630E /* SignatureViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SignatureViewController.m; path = common/Functions/signature/SignatureViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5CC1C5876E300AB630E /* AboutViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AboutViewController.h; path = common/Functions/sidemenu/AboutViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5CD1C5876E300AB630E /* AboutViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AboutViewController.m; path = common/Functions/sidemenu/AboutViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5CE1C5876E300AB630E /* CacheViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CacheViewController.h; path = common/Functions/sidemenu/CacheViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5CF1C5876E300AB630E /* CacheViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CacheViewController.m; path = common/Functions/sidemenu/CacheViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5D01C5876E300AB630E /* LoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LoginViewController.h; path = common/Functions/sidemenu/LoginViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5D11C5876E300AB630E /* LoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LoginViewController.m; path = common/Functions/sidemenu/LoginViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5D21C5876E300AB630E /* PopupNavigationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PopupNavigationController.h; path = common/Functions/sidemenu/PopupNavigationController.h; sourceTree = SOURCE_ROOT; };
+		7162A5D31C5876E300AB630E /* PopupNavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PopupNavigationController.m; path = common/Functions/sidemenu/PopupNavigationController.m; sourceTree = SOURCE_ROOT; };
+		7162A5D41C5876E300AB630E /* RetrievePassViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RetrievePassViewController.h; path = common/Functions/sidemenu/RetrievePassViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5D51C5876E300AB630E /* RetrievePassViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RetrievePassViewController.m; path = common/Functions/sidemenu/RetrievePassViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5D61C5876E300AB630E /* ScannerSettingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScannerSettingViewController.h; path = common/Functions/sidemenu/ScannerSettingViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5D71C5876E300AB630E /* ScannerSettingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ScannerSettingViewController.m; path = common/Functions/sidemenu/ScannerSettingViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5D81C5876E300AB630E /* SettingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SettingViewController.h; path = common/Functions/sidemenu/SettingViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5D91C5876E300AB630E /* SettingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SettingViewController.m; path = common/Functions/sidemenu/SettingViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5E11C5877CE00AB630E /* WatchListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WatchListViewController.h; path = common/Functions/watchlist/WatchListViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5E21C5877CE00AB630E /* WatchListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = WatchListViewController.m; path = common/Functions/watchlist/WatchListViewController.m; sourceTree = SOURCE_ROOT; };
+		7162A5E41C58781000AB630E /* iSalesNavigationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = iSalesNavigationController.h; path = common/iSalesNavigationController.h; sourceTree = SOURCE_ROOT; };
+		7162A5E51C58781000AB630E /* iSalesNavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = iSalesNavigationController.m; path = common/iSalesNavigationController.m; sourceTree = SOURCE_ROOT; };
+		7162A5E71C5899F700AB630E /* MainViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MainViewController.h; path = common/Functions/MainViewController.h; sourceTree = SOURCE_ROOT; };
+		7162A5E81C5899F700AB630E /* MainViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MainViewController.m; path = common/Functions/MainViewController.m; sourceTree = SOURCE_ROOT; };
+		716387D3195408E7006E65E6 /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
+		7165662C1EF3ACD900CB897F /* photostack_image.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = photostack_image.html; path = common/photoStack/photostack_image.html; sourceTree = SOURCE_ROOT; };
+		7165662D1EF3ACD900CB897F /* photostack_video.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = photostack_video.html; path = common/photoStack/photostack_video.html; sourceTree = SOURCE_ROOT; };
+		716961B419594E1000B19FB4 /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
+		716AF8DF1D7AA0E0001188E0 /* SelectUploadOrderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SelectUploadOrderViewController.h; path = common/Functions/offline/SelectUploadOrderViewController.h; sourceTree = SOURCE_ROOT; };
+		716AF8E01D7AA0E0001188E0 /* SelectUploadOrderViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SelectUploadOrderViewController.m; path = common/Functions/offline/SelectUploadOrderViewController.m; sourceTree = SOURCE_ROOT; };
+		716AF8E51D7AA398001188E0 /* SelectOrderTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SelectOrderTableViewCell.m; path = common/Functions/offline/SelectOrderTableViewCell.m; sourceTree = SOURCE_ROOT; };
+		716AF8E61D7AA398001188E0 /* SelectOrderTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SelectOrderTableViewCell.h; path = common/Functions/offline/SelectOrderTableViewCell.h; sourceTree = SOURCE_ROOT; };
+		7186C25B1C97A6EE00CB43F4 /* FunctionTestViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FunctionTestViewController.h; path = common/Functions/sidemenu/FunctionTestViewController.h; sourceTree = SOURCE_ROOT; };
+		7186C25C1C97A6EE00CB43F4 /* FunctionTestViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FunctionTestViewController.m; path = common/Functions/sidemenu/FunctionTestViewController.m; sourceTree = SOURCE_ROOT; };
+		718716221C433D5000F25860 /* libScanApiCore.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libScanApiCore.a; path = ../lib/libScanApiCore.a; sourceTree = "<group>"; };
+		718716241C433D8B00F25860 /* ExternalAccessory.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ExternalAccessory.framework; path = System/Library/Frameworks/ExternalAccessory.framework; sourceTree = SDKROOT; };
+		718716261C433D9700F25860 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
+		718716281C433DA400F25860 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
+		7187162A1C43406300F25860 /* libScanApiCore.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libScanApiCore.a; path = "../../../ios_samples/ScanApiSDK-10.2.227/lib/libScanApiCore.a"; sourceTree = "<group>"; };
+		718B91811C75638100265FFF /* TouchImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TouchImageView.h; path = common/customUI/TouchImageView.h; sourceTree = SOURCE_ROOT; };
+		718B91821C75638100265FFF /* TouchImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TouchImageView.m; path = common/customUI/TouchImageView.m; sourceTree = SOURCE_ROOT; };
+		7195623A1CF57D1800C74A49 /* CategoryHeaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CategoryHeaderView.h; path = common/Functions/category/CategoryHeaderView.h; sourceTree = SOURCE_ROOT; };
+		7195623B1CF57D1800C74A49 /* CategoryHeaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CategoryHeaderView.m; path = common/Functions/category/CategoryHeaderView.m; sourceTree = SOURCE_ROOT; };
+		719562401CF5828200C74A49 /* DefaultTableHeaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DefaultTableHeaderView.h; path = common/customUI/DefaultTableHeaderView.h; sourceTree = SOURCE_ROOT; };
+		719562411CF5828200C74A49 /* DefaultTableHeaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DefaultTableHeaderView.m; path = common/customUI/DefaultTableHeaderView.m; sourceTree = SOURCE_ROOT; };
+		71BBA2211CEAC16000C91DED /* ZipArchive.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZipArchive.h; path = common/zip/ZipArchive.h; sourceTree = SOURCE_ROOT; };
+		71BBA2221CEAC16000C91DED /* ZipArchive.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZipArchive.mm; path = common/zip/ZipArchive.mm; sourceTree = SOURCE_ROOT; };
+		71BBA2281CEAC17E00C91DED /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
+		71BBA2371CEAEF0700C91DED /* crypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = crypt.h; path = common/zip/minizip/crypt.h; sourceTree = SOURCE_ROOT; };
+		71BBA2381CEAEF0700C91DED /* ioapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ioapi.c; path = common/zip/minizip/ioapi.c; sourceTree = SOURCE_ROOT; };
+		71BBA2391CEAEF0700C91DED /* ioapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ioapi.h; path = common/zip/minizip/ioapi.h; sourceTree = SOURCE_ROOT; };
+		71BBA23A1CEAEF0700C91DED /* mztools.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mztools.c; path = common/zip/minizip/mztools.c; sourceTree = SOURCE_ROOT; };
+		71BBA23B1CEAEF0700C91DED /* mztools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mztools.h; path = common/zip/minizip/mztools.h; sourceTree = SOURCE_ROOT; };
+		71BBA23C1CEAEF0700C91DED /* unzip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = unzip.c; path = common/zip/minizip/unzip.c; sourceTree = SOURCE_ROOT; };
+		71BBA23D1CEAEF0700C91DED /* unzip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = unzip.h; path = common/zip/minizip/unzip.h; sourceTree = SOURCE_ROOT; };
+		71BBA23E1CEAEF0700C91DED /* zip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = zip.c; path = common/zip/minizip/zip.c; sourceTree = SOURCE_ROOT; };
+		71BBA23F1CEAEF0700C91DED /* zip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = zip.h; path = common/zip/minizip/zip.h; sourceTree = SOURCE_ROOT; };
+		71BF06F91D2F3CAC00981938 /* OLDataProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OLDataProvider.h; path = common/Functions/offline/OLDataProvider.h; sourceTree = SOURCE_ROOT; };
+		71BF06FA1D2F3CAC00981938 /* OLDataProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OLDataProvider.m; path = common/Functions/offline/OLDataProvider.m; sourceTree = SOURCE_ROOT; };
+		71BF06FC1D2F3CBA00981938 /* OfflineSettingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OfflineSettingViewController.h; path = common/Functions/offline/OfflineSettingViewController.h; sourceTree = SOURCE_ROOT; };
+		71BF06FD1D2F3CBA00981938 /* OfflineSettingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OfflineSettingViewController.m; path = common/Functions/offline/OfflineSettingViewController.m; sourceTree = SOURCE_ROOT; };
+		71BF07061D2F3D2800981938 /* SyncControlPanelViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SyncControlPanelViewController.h; path = common/Functions/offline/SyncControlPanelViewController.h; sourceTree = SOURCE_ROOT; };
+		71BF07071D2F3D2800981938 /* SyncControlPanelViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SyncControlPanelViewController.m; path = common/Functions/offline/SyncControlPanelViewController.m; sourceTree = SOURCE_ROOT; };
+		71BF32FB1EFA1D6100842CB4 /* Assets.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Assets.bundle; path = common/youtube/Assets.bundle; sourceTree = SOURCE_ROOT; };
+		71BF32FC1EFA1D6100842CB4 /* YouTubeiOSPlayerHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = YouTubeiOSPlayerHelper.h; path = common/youtube/YouTubeiOSPlayerHelper.h; sourceTree = SOURCE_ROOT; };
+		71BF32FD1EFA1D6100842CB4 /* YTPlayerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = YTPlayerView.h; path = common/youtube/YTPlayerView.h; sourceTree = SOURCE_ROOT; };
+		71BF32FE1EFA1D6100842CB4 /* YTPlayerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = YTPlayerView.m; path = common/youtube/YTPlayerView.m; sourceTree = SOURCE_ROOT; };
+		71BF32FF1EFA1D6100842CB4 /* YTViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = YTViewController.h; path = common/youtube/YTViewController.h; sourceTree = SOURCE_ROOT; };
+		71BF33001EFA1D6100842CB4 /* YTViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = YTViewController.m; path = common/youtube/YTViewController.m; sourceTree = SOURCE_ROOT; };
+		71C1D84C1F456CAA00CEA1C9 /* HWWeakTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HWWeakTimer.h; path = common/AutoScrollImage/HWWeakTimer.h; sourceTree = SOURCE_ROOT; };
+		71C1D84D1F456CAA00CEA1C9 /* HWWeakTimer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HWWeakTimer.m; path = common/AutoScrollImage/HWWeakTimer.m; sourceTree = SOURCE_ROOT; };
+		71C1D8521F456D2700CEA1C9 /* ModelDescriptionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ModelDescriptionController.h; path = common/Functions/modelDetail/ModelDescriptionController.h; sourceTree = SOURCE_ROOT; };
+		71C1D8531F456D2700CEA1C9 /* ModelDescriptionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ModelDescriptionController.m; path = common/Functions/modelDetail/ModelDescriptionController.m; sourceTree = SOURCE_ROOT; };
+		71CB70731F99DF01009FDCB7 /* FileCache.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = FileCache.m; path = ../../common/FileCache.m; sourceTree = "<group>"; };
+		71CB70741F99DF02009FDCB7 /* FileCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FileCache.h; path = ../../common/FileCache.h; sourceTree = "<group>"; };
+		71CB70761F99E337009FDCB7 /* RAConvertor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RAConvertor.h; path = ../../common/RAConvertor.h; sourceTree = "<group>"; };
+		71CB70771F99E338009FDCB7 /* RAConvertor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RAConvertor.m; path = ../../common/RAConvertor.m; sourceTree = "<group>"; };
+		71D01ADC1E08CB1C006620CE /* signature.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = signature.storyboard; path = common/Functions/signature/signature.storyboard; sourceTree = SOURCE_ROOT; };
+		71D01B141E0A2055006620CE /* ImageUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImageUtils.h; path = common/ImageUtils.h; sourceTree = SOURCE_ROOT; };
+		71D01B151E0A2055006620CE /* ImageUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ImageUtils.m; path = common/ImageUtils.m; sourceTree = SOURCE_ROOT; };
+		71D01B161E0A2055006620CE /* PDFUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PDFUtils.h; path = common/PDFUtils.h; sourceTree = SOURCE_ROOT; };
+		71D01B171E0A2055006620CE /* PDFUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PDFUtils.m; path = common/PDFUtils.m; sourceTree = SOURCE_ROOT; };
+		71D01B181E0A2055006620CE /* TextUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextUtils.h; path = common/TextUtils.h; sourceTree = SOURCE_ROOT; };
+		71D01B191E0A2055006620CE /* TextUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TextUtils.m; path = common/TextUtils.m; sourceTree = SOURCE_ROOT; };
+		71D0344D1C9BF3C400E0F7AD /* PortfolioEditQTYViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PortfolioEditQTYViewController.h; path = common/Functions/portfolio/PortfolioEditQTYViewController.h; sourceTree = SOURCE_ROOT; };
+		71D0344E1C9BF3C400E0F7AD /* PortfolioEditQTYViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PortfolioEditQTYViewController.m; path = common/Functions/portfolio/PortfolioEditQTYViewController.m; sourceTree = SOURCE_ROOT; };
+		71D30A201CFBEDC6006F9477 /* default_appearance.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = default_appearance.json; sourceTree = "<group>"; };
+		71D30A2B1CFC0EF8006F9477 /* DefaultImageButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DefaultImageButton.h; path = common/Functions/DefaultImageButton.h; sourceTree = SOURCE_ROOT; };
+		71D30A2C1CFC0EF8006F9477 /* DefaultImageButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DefaultImageButton.m; path = common/Functions/DefaultImageButton.m; sourceTree = SOURCE_ROOT; };
+		71D99D2E1CEF02E700CA32DE /* CustomIOSAlertView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomIOSAlertView.h; path = common/customUI/CustomIOSAlertView.h; sourceTree = SOURCE_ROOT; };
+		71D99D2F1CEF02E700CA32DE /* CustomIOSAlertView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CustomIOSAlertView.m; path = common/customUI/CustomIOSAlertView.m; sourceTree = SOURCE_ROOT; };
+		71DEE873192DE003003F645F /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+		71DEE875192DE00E003F645F /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
+		71DF74291C57560600F2789C /* Reachability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Reachability.h; path = common/Reachability.h; sourceTree = SOURCE_ROOT; };
+		71DF742A1C57560600F2789C /* Reachability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Reachability.m; path = common/Reachability.m; sourceTree = SOURCE_ROOT; };
+		71DF742D1C5756C600F2789C /* const.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = const.h; path = common/const.h; sourceTree = SOURCE_ROOT; };
+		71DF742E1C57572600F2789C /* RAUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RAUtils.h; path = common/RAUtils.h; sourceTree = SOURCE_ROOT; };
+		71DF742F1C57572600F2789C /* RAUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RAUtils.m; path = common/RAUtils.m; sourceTree = SOURCE_ROOT; };
+		71DF74321C5757DA00F2789C /* ActiveViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ActiveViewController.h; path = common/ActiveViewController.h; sourceTree = SOURCE_ROOT; };
+		71DF74331C5757DA00F2789C /* ActiveViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ActiveViewController.m; path = common/ActiveViewController.m; sourceTree = SOURCE_ROOT; };
+		71DF74351C575D6600F2789C /* CommonGridViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonGridViewController.h; path = common/CommonGridViewController.h; sourceTree = SOURCE_ROOT; };
+		71DF74361C575D6600F2789C /* CommonGridViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonGridViewController.m; path = common/CommonGridViewController.m; sourceTree = SOURCE_ROOT; };
+		71DF743B1C575E7900F2789C /* CommonEditorCellAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellAction.h; path = common/CommonEditor/CommonEditorCellAction.h; sourceTree = SOURCE_ROOT; };
+		71DF743C1C575E7900F2789C /* CommonEditorCellAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellAction.m; path = common/CommonEditor/CommonEditorCellAction.m; sourceTree = SOURCE_ROOT; };
+		71DF743D1C575E7900F2789C /* CommonEditorCellEdit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellEdit.h; path = common/CommonEditor/CommonEditorCellEdit.h; sourceTree = SOURCE_ROOT; };
+		71DF743E1C575E7900F2789C /* CommonEditorCellEdit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellEdit.m; path = common/CommonEditor/CommonEditorCellEdit.m; sourceTree = SOURCE_ROOT; };
+		71DF743F1C575E7900F2789C /* CommonEditorCellEnum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellEnum.h; path = common/CommonEditor/CommonEditorCellEnum.h; sourceTree = SOURCE_ROOT; };
+		71DF74401C575E7900F2789C /* CommonEditorCellEnum.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellEnum.m; path = common/CommonEditor/CommonEditorCellEnum.m; sourceTree = SOURCE_ROOT; };
+		71DF74411C575E7900F2789C /* CommonEditorCellImg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellImg.h; path = common/CommonEditor/CommonEditorCellImg.h; sourceTree = SOURCE_ROOT; };
+		71DF74421C575E7900F2789C /* CommonEditorCellImg.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellImg.m; path = common/CommonEditor/CommonEditorCellImg.m; sourceTree = SOURCE_ROOT; };
+		71DF74431C575E7900F2789C /* CommonEditorCellLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellLabel.h; path = common/CommonEditor/CommonEditorCellLabel.h; sourceTree = SOURCE_ROOT; };
+		71DF74441C575E7900F2789C /* CommonEditorCellLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellLabel.m; path = common/CommonEditor/CommonEditorCellLabel.m; sourceTree = SOURCE_ROOT; };
+		71DF74451C575E7900F2789C /* CommonEditorCellMAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellMAction.h; path = common/CommonEditor/CommonEditorCellMAction.h; sourceTree = SOURCE_ROOT; };
+		71DF74461C575E7900F2789C /* CommonEditorCellMAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellMAction.m; path = common/CommonEditor/CommonEditorCellMAction.m; sourceTree = SOURCE_ROOT; };
+		71DF74471C575E7900F2789C /* CommonEditorCellModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellModel.h; path = common/CommonEditor/CommonEditorCellModel.h; sourceTree = SOURCE_ROOT; };
+		71DF74481C575E7900F2789C /* CommonEditorCellModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellModel.m; path = common/CommonEditor/CommonEditorCellModel.m; sourceTree = SOURCE_ROOT; };
+		71DF74491C575E7900F2789C /* CommonEditorCellSignature.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellSignature.h; path = common/CommonEditor/CommonEditorCellSignature.h; sourceTree = SOURCE_ROOT; };
+		71DF744A1C575E7900F2789C /* CommonEditorCellSignature.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellSignature.m; path = common/CommonEditor/CommonEditorCellSignature.m; sourceTree = SOURCE_ROOT; };
+		71DF744B1C575E7900F2789C /* CommonEditorCellSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellSwitch.h; path = common/CommonEditor/CommonEditorCellSwitch.h; sourceTree = SOURCE_ROOT; };
+		71DF744C1C575E7900F2789C /* CommonEditorCellSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellSwitch.m; path = common/CommonEditor/CommonEditorCellSwitch.m; sourceTree = SOURCE_ROOT; };
+		71DF744D1C575E7900F2789C /* CommonEditorCellTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorCellTextView.h; path = common/CommonEditor/CommonEditorCellTextView.h; sourceTree = SOURCE_ROOT; };
+		71DF744E1C575E7900F2789C /* CommonEditorCellTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorCellTextView.m; path = common/CommonEditor/CommonEditorCellTextView.m; sourceTree = SOURCE_ROOT; };
+		71DF744F1C575E7900F2789C /* CommonEditorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommonEditorViewController.h; path = common/CommonEditor/CommonEditorViewController.h; sourceTree = SOURCE_ROOT; };
+		71DF74501C575E7900F2789C /* CommonEditorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CommonEditorViewController.m; path = common/CommonEditor/CommonEditorViewController.m; sourceTree = SOURCE_ROOT; };
+		71DF74511C575E7900F2789C /* DatePickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DatePickerViewController.h; path = common/CommonEditor/DatePickerViewController.h; sourceTree = SOURCE_ROOT; };
+		71DF74521C575E7900F2789C /* DatePickerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DatePickerViewController.m; path = common/CommonEditor/DatePickerViewController.m; sourceTree = SOURCE_ROOT; };
+		71DF74531C575E7900F2789C /* EnumSelectorCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EnumSelectorCell.h; path = common/CommonEditor/EnumSelectorCell.h; sourceTree = SOURCE_ROOT; };
+		71DF74541C575E7900F2789C /* EnumSelectorCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EnumSelectorCell.m; path = common/CommonEditor/EnumSelectorCell.m; sourceTree = SOURCE_ROOT; };
+		71DF74551C575E7900F2789C /* EnumSelectViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EnumSelectViewController.h; path = common/CommonEditor/EnumSelectViewController.h; sourceTree = SOURCE_ROOT; };
+		71DF74561C575E7900F2789C /* EnumSelectViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EnumSelectViewController.m; path = common/CommonEditor/EnumSelectViewController.m; sourceTree = SOURCE_ROOT; };
+		71DF74571C575E7900F2789C /* MonthPickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MonthPickerViewController.h; path = common/CommonEditor/MonthPickerViewController.h; sourceTree = SOURCE_ROOT; };
+		71DF74581C575E7900F2789C /* MonthPickerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MonthPickerViewController.m; path = common/CommonEditor/MonthPickerViewController.m; sourceTree = SOURCE_ROOT; };
+		71DF74591C575E7900F2789C /* SRMonthPicker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SRMonthPicker.h; path = common/CommonEditor/SRMonthPicker.h; sourceTree = SOURCE_ROOT; };
+		71DF745A1C575E7900F2789C /* SRMonthPicker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SRMonthPicker.m; path = common/CommonEditor/SRMonthPicker.m; sourceTree = SOURCE_ROOT; };
+		71DF746B1C57608F00F2789C /* ImageScrollerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImageScrollerView.h; path = common/customUI/ImageScrollerView.h; sourceTree = SOURCE_ROOT; };
+		71DF746C1C57608F00F2789C /* ImageScrollerView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ImageScrollerView.m; path = common/customUI/ImageScrollerView.m; sourceTree = SOURCE_ROOT; };
+		71DF746D1C57608F00F2789C /* ImageScrollerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImageScrollerViewController.h; path = common/customUI/ImageScrollerViewController.h; sourceTree = SOURCE_ROOT; };
+		71DF746E1C57608F00F2789C /* ImageScrollerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ImageScrollerViewController.m; path = common/customUI/ImageScrollerViewController.m; sourceTree = SOURCE_ROOT; };
+		71DF746F1C57608F00F2789C /* ImageUploadViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImageUploadViewController.h; path = common/customUI/ImageUploadViewController.h; sourceTree = SOURCE_ROOT; };
+		71DF74701C57608F00F2789C /* ImageUploadViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ImageUploadViewController.m; path = common/customUI/ImageUploadViewController.m; sourceTree = SOURCE_ROOT; };
+		71DF74711C57608F00F2789C /* ImageViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ImageViewController.h; path = common/customUI/ImageViewController.h; sourceTree = SOURCE_ROOT; };
+		71DF74721C57608F00F2789C /* ImageViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ImageViewController.m; path = common/customUI/ImageViewController.m; sourceTree = SOURCE_ROOT; };
+		71DF74731C57608F00F2789C /* NIDropDown.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NIDropDown.h; path = common/customUI/NIDropDown.h; sourceTree = SOURCE_ROOT; };
+		71DF74741C57608F00F2789C /* NIDropDown.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NIDropDown.m; path = common/customUI/NIDropDown.m; sourceTree = SOURCE_ROOT; };
+		71DF74751C57608F00F2789C /* PulldownMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PulldownMenu.h; path = common/customUI/PulldownMenu.h; sourceTree = SOURCE_ROOT; };
+		71DF74761C57608F00F2789C /* PulldownMenu.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PulldownMenu.m; path = common/customUI/PulldownMenu.m; sourceTree = SOURCE_ROOT; };
+		71DF74771C57608F00F2789C /* RadioButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RadioButton.h; path = common/customUI/RadioButton.h; sourceTree = SOURCE_ROOT; };
+		71DF74781C57608F00F2789C /* RadioButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RadioButton.m; path = common/customUI/RadioButton.m; sourceTree = SOURCE_ROOT; };
+		71DF74791C57608F00F2789C /* RTLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RTLabel.h; path = common/customUI/RTLabel.h; sourceTree = SOURCE_ROOT; };
+		71DF747A1C57608F00F2789C /* RTLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RTLabel.m; path = common/customUI/RTLabel.m; sourceTree = SOURCE_ROOT; };
+		71DF747B1C57608F00F2789C /* SimpleGrid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SimpleGrid.h; path = common/customUI/SimpleGrid.h; sourceTree = SOURCE_ROOT; };
+		71DF747C1C57608F00F2789C /* SimpleGrid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SimpleGrid.m; path = common/customUI/SimpleGrid.m; sourceTree = SOURCE_ROOT; };
+		71DF747D1C57608F00F2789C /* StrikethroughLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StrikethroughLabel.h; path = common/customUI/StrikethroughLabel.h; sourceTree = SOURCE_ROOT; };
+		71DF747E1C57608F00F2789C /* StrikethroughLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = StrikethroughLabel.m; path = common/customUI/StrikethroughLabel.m; sourceTree = SOURCE_ROOT; };
+		71DF747F1C57608F00F2789C /* TouchLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TouchLabel.h; path = common/customUI/TouchLabel.h; sourceTree = SOURCE_ROOT; };
+		71DF74801C57608F00F2789C /* TouchLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TouchLabel.m; path = common/customUI/TouchLabel.m; sourceTree = SOURCE_ROOT; };
+		71DF74811C57608F00F2789C /* UILabel+FontAppearance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UILabel+FontAppearance.h"; path = "common/customUI/UILabel+FontAppearance.h"; sourceTree = SOURCE_ROOT; };
+		71DF74821C57608F00F2789C /* UILabel+FontAppearance.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UILabel+FontAppearance.m"; path = "common/customUI/UILabel+FontAppearance.m"; sourceTree = SOURCE_ROOT; };
+		71DF748F1C57614C00F2789C /* PhotoBorder.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = PhotoBorder.png; path = common/photoStack/PhotoBorder.png; sourceTree = SOURCE_ROOT; };
+		71DF74901C57614C00F2789C /* PhotoBorder@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "PhotoBorder@2x.png"; path = "common/photoStack/PhotoBorder@2x.png"; sourceTree = SOURCE_ROOT; };
+		71DF74911C57614C00F2789C /* PhotoStackView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhotoStackView.h; path = common/photoStack/PhotoStackView.h; sourceTree = SOURCE_ROOT; };
+		71DF74921C57614C00F2789C /* PhotoStackView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PhotoStackView.m; path = common/photoStack/PhotoStackView.m; sourceTree = SOURCE_ROOT; };
+		71DF74931C57614C00F2789C /* PhotoStackViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PhotoStackViewController.h; path = common/photoStack/PhotoStackViewController.h; sourceTree = SOURCE_ROOT; };
+		71DF74941C57614C00F2789C /* PhotoStackViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PhotoStackViewController.m; path = common/photoStack/PhotoStackViewController.m; sourceTree = SOURCE_ROOT; };
+		71E5A00F1DC99370005BF655 /* config.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = config.plist; sourceTree = "<group>"; };
+		71E9F6BA1F8B52DC0052C78E /* NetworkUtils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = NetworkUtils.m; path = ../../common/NetworkUtils.m; sourceTree = "<group>"; };
+		71E9F6BB1F8B52DC0052C78E /* NetworkUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NetworkUtils.h; path = ../../common/NetworkUtils.h; sourceTree = "<group>"; };
+		71E9F6C01F8B57E30052C78E /* RANetworkTaskDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RANetworkTaskDelegate.m; path = ../../common/upload/RANetworkTaskDelegate.m; sourceTree = "<group>"; };
+		71E9F6C11F8B57E40052C78E /* RANetworkTaskDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RANetworkTaskDelegate.h; path = ../../common/upload/RANetworkTaskDelegate.h; sourceTree = "<group>"; };
+		71FFBBE51C60894900D91DC2 /* iSalesDB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = iSalesDB.h; path = common/data_provider/iSalesDB.h; sourceTree = SOURCE_ROOT; };
+		71FFBBE61C60894900D91DC2 /* iSalesDB.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = iSalesDB.m; path = common/data_provider/iSalesDB.m; sourceTree = SOURCE_ROOT; };
+		71FFBBE71C60894900D91DC2 /* RANetwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RANetwork.h; path = common/data_provider/RANetwork.h; sourceTree = SOURCE_ROOT; };
+		71FFBBE81C60894900D91DC2 /* RANetwork.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RANetwork.m; path = common/data_provider/RANetwork.m; sourceTree = SOURCE_ROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		713F76A31929F4A7006A7305 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				42D9A0251EB03994008AF7AF /* libAdIdAccess.a in Frameworks */,
+				42D9A0231EB02DA6008AF7AF /* AdSupport.framework in Frameworks */,
+				42BEF35F1E89FEE300632AB6 /* CoreData.framework in Frameworks */,
+				42BEF35D1E89FECD00632AB6 /* SystemConfiguration.framework in Frameworks */,
+				71BBA2291CEAC17E00C91DED /* libz.tbd in Frameworks */,
+				7187162C1C43428100F25860 /* libScanApiCore.a in Frameworks */,
+				42BEF3551E89FE1200632AB6 /* GGLCore.framework in Frameworks */,
+				718716291C433DA400F25860 /* AVFoundation.framework in Frameworks */,
+				718716271C433D9700F25860 /* AudioToolbox.framework in Frameworks */,
+				42BEF3541E89FE1200632AB6 /* GGLAnalytics.framework in Frameworks */,
+				42BEF3501E89FE1100632AB6 /* FirebaseCore.framework in Frameworks */,
+				718716251C433D8B00F25860 /* ExternalAccessory.framework in Frameworks */,
+				716961B519594E1000B19FB4 /* libsqlite3.dylib in Frameworks */,
+				42BEF3521E89FE1200632AB6 /* FirebaseInstanceID.framework in Frameworks */,
+				71DEE876192DE00E003F645F /* Accelerate.framework in Frameworks */,
+				71DEE874192DE003003F645F /* QuartzCore.framework in Frameworks */,
+				713F76AC1929F4A7006A7305 /* CoreGraphics.framework in Frameworks */,
+				713F76AE1929F4A7006A7305 /* UIKit.framework in Frameworks */,
+				713F76AA1929F4A7006A7305 /* Foundation.framework in Frameworks */,
+				42BEF34F1E89FE1100632AB6 /* FirebaseAnalytics.framework in Frameworks */,
+				42BEF3571E89FE1200632AB6 /* libGoogleAnalytics.a in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		4254CCDB1FB1AB6600C8B4B6 /* Order Editor */ = {
+			isa = PBXGroup;
+			children = (
+				4254CCDC1FB1AC2B00C8B4B6 /* RAOrderEditorViewController.h */,
+				4254CCDD1FB1AC2B00C8B4B6 /* RAOrderEditorViewController.m */,
+			);
+			name = "Order Editor";
+			sourceTree = "<group>";
+		};
+		4289800E1E24924D005F1BD8 /* sort */ = {
+			isa = PBXGroup;
+			children = (
+				4289800F1E24924D005F1BD8 /* SortButton.h */,
+				428980101E24924D005F1BD8 /* SortButton.m */,
+				428980111E24924D005F1BD8 /* SortItemCell.h */,
+				428980121E24924D005F1BD8 /* SortItemCell.m */,
+				428980131E24924D005F1BD8 /* SortItemViewController.h */,
+				428980141E24924D005F1BD8 /* SortItemViewController.m */,
+			);
+			name = sort;
+			path = common/sort;
+			sourceTree = SOURCE_ROOT;
+		};
+		428980221E2492D2005F1BD8 /* Price Setting */ = {
+			isa = PBXGroup;
+			children = (
+				428980231E2492D2005F1BD8 /* CategoryPriceCell.h */,
+				428980241E2492D2005F1BD8 /* CategoryPriceCell.m */,
+				428980251E2492D2005F1BD8 /* CategoryPriceViewController.h */,
+				428980261E2492D2005F1BD8 /* CategoryPriceViewController.m */,
+				428980271E2492D2005F1BD8 /* PriceSettingViewController.h */,
+				428980281E2492D2005F1BD8 /* PriceSettingViewController.m */,
+				428980291E2492D2005F1BD8 /* SetCategoryPriceController.h */,
+				4289802A1E2492D2005F1BD8 /* SetCategoryPriceController.m */,
+			);
+			name = "Price Setting";
+			path = "common/Price Setting";
+			sourceTree = SOURCE_ROOT;
+		};
+		4289803C1E249339005F1BD8 /* JKLock */ = {
+			isa = PBXGroup;
+			children = (
+				4289803D1E249339005F1BD8 /* JKDotView.h */,
+				4289803E1E249339005F1BD8 /* JKDotView.m */,
+				4289803F1E249339005F1BD8 /* JKLockButton.h */,
+				428980401E249339005F1BD8 /* JKLockButton.m */,
+				428980411E249339005F1BD8 /* JKLockController.h */,
+				428980421E249339005F1BD8 /* JKLockController.m */,
+				428980431E249339005F1BD8 /* JKMessageBoxController.h */,
+				428980441E249339005F1BD8 /* JKMessageBoxController.m */,
+			);
+			name = JKLock;
+			path = common/JKLock;
+			sourceTree = SOURCE_ROOT;
+		};
+		4289805A1E249375005F1BD8 /* UIColor+HEX */ = {
+			isa = PBXGroup;
+			children = (
+				4289805B1E249375005F1BD8 /* UIColor+JK_HEX.h */,
+				4289805C1E249375005F1BD8 /* UIColor+JK_HEX.m */,
+			);
+			name = "UIColor+HEX";
+			path = "common/UIColor+HEX";
+			sourceTree = SOURCE_ROOT;
+		};
+		4289809B1E24B526005F1BD8 /* JKTimer */ = {
+			isa = PBXGroup;
+			children = (
+				4289809C1E24B526005F1BD8 /* JKTimerManager.h */,
+				4289809D1E24B526005F1BD8 /* JKTimerManager.m */,
+			);
+			name = JKTimer;
+			path = common/JKTimer;
+			sourceTree = SOURCE_ROOT;
+		};
+		4295AE181FE74D26007BE365 /* AutoComplete */ = {
+			isa = PBXGroup;
+			children = (
+				4295AE191FE74D46007BE365 /* CommonEditorAutoCompleteView.h */,
+				4295AE1A1FE74D46007BE365 /* CommonEditorAutoCompleteView.m */,
+				4295AE1B1FE74D46007BE365 /* CommonEditorAutoCompleteView.xib */,
+			);
+			name = AutoComplete;
+			sourceTree = "<group>";
+		};
+		42BEAB2D1FA1D23A0024D647 /* EnumSelectAndSort */ = {
+			isa = PBXGroup;
+			children = (
+				42BEAB2E1FA1D23A0024D647 /* EnumModel.h */,
+				42BEAB2F1FA1D23A0024D647 /* EnumModel.m */,
+				42BEAB301FA1D23A0024D647 /* EnumSelectAndSort.storyboard */,
+				42BEAB311FA1D23A0024D647 /* EnumSelectAndSortCell.h */,
+				42BEAB321FA1D23A0024D647 /* EnumSelectAndSortCell.m */,
+				42BEAB331FA1D23A0024D647 /* EnumSelectAndSortViewController.h */,
+				42BEAB341FA1D23A0024D647 /* EnumSelectAndSortViewController.m */,
+			);
+			name = EnumSelectAndSort;
+			path = common/CommonEditor/EnumSelectAndSort;
+			sourceTree = SOURCE_ROOT;
+		};
+		42BEF3211E89FE1100632AB6 /* GoogleAnalytics */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3601E8A005800632AB6 /* GoogleAnalyst.h */,
+				42BEF3611E8A005800632AB6 /* GoogleAnalyst.m */,
+				42BEF3221E89FE1100632AB6 /* FirebaseAnalytics */,
+				42BEF3251E89FE1100632AB6 /* FirebaseCore */,
+				42BEF3281E89FE1100632AB6 /* FirebaseInstanceID */,
+				42BEF32D1E89FE1100632AB6 /* Google */,
+				42BEF33A1E89FE1100632AB6 /* GoogleAnalytics */,
+				42BEF3481E89FE1100632AB6 /* GoogleToolboxForMac */,
+			);
+			path = GoogleAnalytics;
+			sourceTree = SOURCE_ROOT;
+		};
+		42BEF3221E89FE1100632AB6 /* FirebaseAnalytics */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3231E89FE1100632AB6 /* Frameworks */,
+			);
+			path = FirebaseAnalytics;
+			sourceTree = "<group>";
+		};
+		42BEF3231E89FE1100632AB6 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3241E89FE1100632AB6 /* FirebaseAnalytics.framework */,
+			);
+			path = Frameworks;
+			sourceTree = "<group>";
+		};
+		42BEF3251E89FE1100632AB6 /* FirebaseCore */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3261E89FE1100632AB6 /* Frameworks */,
+			);
+			path = FirebaseCore;
+			sourceTree = "<group>";
+		};
+		42BEF3261E89FE1100632AB6 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3271E89FE1100632AB6 /* FirebaseCore.framework */,
+			);
+			path = Frameworks;
+			sourceTree = "<group>";
+		};
+		42BEF3281E89FE1100632AB6 /* FirebaseInstanceID */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3291E89FE1100632AB6 /* CHANGELOG.md */,
+				42BEF32A1E89FE1100632AB6 /* Frameworks */,
+				42BEF32C1E89FE1100632AB6 /* README.md */,
+			);
+			path = FirebaseInstanceID;
+			sourceTree = "<group>";
+		};
+		42BEF32A1E89FE1100632AB6 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF32B1E89FE1100632AB6 /* FirebaseInstanceID.framework */,
+			);
+			path = Frameworks;
+			sourceTree = "<group>";
+		};
+		42BEF32D1E89FE1100632AB6 /* Google */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF32E1E89FE1100632AB6 /* Frameworks */,
+				42BEF3311E89FE1100632AB6 /* Headers */,
+				42BEF3391E89FE1100632AB6 /* README.md */,
+			);
+			path = Google;
+			sourceTree = "<group>";
+		};
+		42BEF32E1E89FE1100632AB6 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF32F1E89FE1100632AB6 /* GGLAnalytics.framework */,
+				42BEF3301E89FE1100632AB6 /* GGLCore.framework */,
+			);
+			path = Frameworks;
+			sourceTree = "<group>";
+		};
+		42BEF3311E89FE1100632AB6 /* Headers */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3321E89FE1100632AB6 /* Analytics.h */,
+				42BEF3331E89FE1100632AB6 /* Core.h */,
+				42BEF3341E89FE1100632AB6 /* module.modulemap */,
+				42BEF3351E89FE1100632AB6 /* ModuleHeaders */,
+			);
+			path = Headers;
+			sourceTree = "<group>";
+		};
+		42BEF3351E89FE1100632AB6 /* ModuleHeaders */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3361E89FE1100632AB6 /* Analytics-Module.h */,
+				42BEF3371E89FE1100632AB6 /* Core-Module.h */,
+				42BEF3381E89FE1100632AB6 /* SignIn-Module.h */,
+			);
+			path = ModuleHeaders;
+			sourceTree = "<group>";
+		};
+		42BEF33A1E89FE1100632AB6 /* GoogleAnalytics */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF33B1E89FE1100632AB6 /* Libraries */,
+				42BEF33D1E89FE1100632AB6 /* Sources */,
+			);
+			path = GoogleAnalytics;
+			sourceTree = "<group>";
+		};
+		42BEF33B1E89FE1100632AB6 /* Libraries */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF33C1E89FE1100632AB6 /* libGoogleAnalytics.a */,
+				42D9A0241EB03994008AF7AF /* libAdIdAccess.a */,
+			);
+			path = Libraries;
+			sourceTree = "<group>";
+		};
+		42BEF33D1E89FE1100632AB6 /* Sources */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF33E1E89FE1100632AB6 /* GAI.h */,
+				42BEF33F1E89FE1100632AB6 /* GAIDictionaryBuilder.h */,
+				42BEF3401E89FE1100632AB6 /* GAIEcommerceFields.h */,
+				42BEF3411E89FE1100632AB6 /* GAIEcommerceProduct.h */,
+				42BEF3421E89FE1100632AB6 /* GAIEcommerceProductAction.h */,
+				42BEF3431E89FE1100632AB6 /* GAIEcommercePromotion.h */,
+				42BEF3441E89FE1100632AB6 /* GAIFields.h */,
+				42BEF3451E89FE1100632AB6 /* GAILogger.h */,
+				42BEF3461E89FE1100632AB6 /* GAITrackedViewController.h */,
+				42BEF3471E89FE1100632AB6 /* GAITracker.h */,
+			);
+			path = Sources;
+			sourceTree = "<group>";
+		};
+		42BEF3481E89FE1100632AB6 /* GoogleToolboxForMac */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF3491E89FE1100632AB6 /* Foundation */,
+				42BEF34C1E89FE1100632AB6 /* GTMDefines.h */,
+				42BEF34D1E89FE1100632AB6 /* LICENSE */,
+				42BEF34E1E89FE1100632AB6 /* README.md */,
+			);
+			path = GoogleToolboxForMac;
+			sourceTree = "<group>";
+		};
+		42BEF3491E89FE1100632AB6 /* Foundation */ = {
+			isa = PBXGroup;
+			children = (
+				42BEF34A1E89FE1100632AB6 /* GTMNSData+zlib.h */,
+				42BEF34B1E89FE1100632AB6 /* GTMNSData+zlib.m */,
+			);
+			path = Foundation;
+			sourceTree = "<group>";
+		};
+		42BEF35B1E89FECC00632AB6 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				42D9A0221EB02DA6008AF7AF /* AdSupport.framework */,
+				42BEF35E1E89FEE300632AB6 /* CoreData.framework */,
+				42BEF35C1E89FECD00632AB6 /* SystemConfiguration.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		42D3A4981EFA6D36007A54C1 /* PhotoList */ = {
+			isa = PBXGroup;
+			children = (
+				42D3A4991EFA6D36007A54C1 /* Controller */,
+				42D3A49C1EFA6D36007A54C1 /* Storyboard */,
+				42D3A49E1EFA6D36007A54C1 /* View */,
+			);
+			name = PhotoList;
+			path = ../common/PhotoList;
+			sourceTree = "<group>";
+		};
+		42D3A4991EFA6D36007A54C1 /* Controller */ = {
+			isa = PBXGroup;
+			children = (
+				42D3A49A1EFA6D36007A54C1 /* ContentPreviewController.h */,
+				42D3A49B1EFA6D36007A54C1 /* ContentPreviewController.m */,
+			);
+			path = Controller;
+			sourceTree = "<group>";
+		};
+		42D3A49C1EFA6D36007A54C1 /* Storyboard */ = {
+			isa = PBXGroup;
+			children = (
+				42D3A49D1EFA6D36007A54C1 /* PhotoList.storyboard */,
+			);
+			path = Storyboard;
+			sourceTree = "<group>";
+		};
+		42D3A49E1EFA6D36007A54C1 /* View */ = {
+			isa = PBXGroup;
+			children = (
+				42D3A49F1EFA6D36007A54C1 /* PhotoPreviewCell.h */,
+				42D3A4A01EFA6D36007A54C1 /* PhotoPreviewCell.m */,
+				42D3A4A41EFA7346007A54C1 /* VideoPreviewCell.h */,
+				42D3A4A51EFA7346007A54C1 /* VideoPreviewCell.m */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
+		42FD1A001FBD19B800C5D9A8 /* Order Preview */ = {
+			isa = PBXGroup;
+			children = (
+				42FD1A011FBD1A3000C5D9A8 /* RAOrderPreviewController.h */,
+				42FD1A021FBD1A3000C5D9A8 /* RAOrderPreviewController.m */,
+				424A02CF1FFB3A0B0088DC56 /* RABackOrderSubmitAlertController.h */,
+				424A02D01FFB3A0B0088DC56 /* RABackOrderSubmitAlertController.m */,
+			);
+			name = "Order Preview";
+			sourceTree = "<group>";
+		};
+		710212821B8D59DE00E1788B /* watchlist */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5E11C5877CE00AB630E /* WatchListViewController.h */,
+				7162A5E21C5877CE00AB630E /* WatchListViewController.m */,
+			);
+			name = watchlist;
+			sourceTree = "<group>";
+		};
+		711A551F1C153AA800EF5FDA /* portfolio */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5A21C58735900AB630E /* PDFListTableViewCell.h */,
+				7162A5A31C58735900AB630E /* PDFListTableViewCell.m */,
+				7162A5A41C58735900AB630E /* PDFListViewController.h */,
+				7162A5A51C58735900AB630E /* PDFListViewController.m */,
+				7162A5A61C58735900AB630E /* PortfolioViewController.h */,
+				7162A5A71C58735900AB630E /* PortfolioViewController.m */,
+				7162A5A81C58735900AB630E /* TearSheetParamViewController.h */,
+				7162A5A91C58735900AB630E /* TearSheetParamViewController.m */,
+				71D0344D1C9BF3C400E0F7AD /* PortfolioEditQTYViewController.h */,
+				71D0344E1C9BF3C400E0F7AD /* PortfolioEditQTYViewController.m */,
+			);
+			name = portfolio;
+			sourceTree = "<group>";
+		};
+		712AFEC41DBA044C00254965 /* pdfCreator */ = {
+			isa = PBXGroup;
+			children = (
+				712AFEC51DBA050200254965 /* BasicDrawable.h */,
+				712AFEC61DBA050200254965 /* BasicDrawable.m */,
+				715671311E10A0EF006324A0 /* RectDrawable.h */,
+				715671321E10A0EF006324A0 /* RectDrawable.m */,
+				712AFEC71DBA050200254965 /* GridDrawable.h */,
+				712AFEC81DBA050200254965 /* GridDrawable.m */,
+				712AFEC91DBA050200254965 /* GroupDrawable.h */,
+				712AFECA1DBA050200254965 /* GroupDrawable.m */,
+				712AFECB1DBA050200254965 /* ImageDrawable.h */,
+				712AFECC1DBA050200254965 /* ImageDrawable.m */,
+				712AFECD1DBA050200254965 /* LineDrawable.h */,
+				712AFECE1DBA050200254965 /* LineDrawable.m */,
+				712AFECF1DBA050200254965 /* PDFDrawable.h */,
+				712AFED01DBA050200254965 /* PDFDrawable.m */,
+				712AFED11DBA050200254965 /* RAPDFPage.h */,
+				712AFED21DBA050200254965 /* RAPDFPage.m */,
+				712AFED31DBA050200254965 /* TableDrawable.h */,
+				712AFED41DBA050200254965 /* TableDrawable.m */,
+				712AFED51DBA050200254965 /* TextDrawable.h */,
+				712AFED61DBA050200254965 /* TextDrawable.m */,
+				712AFEE01DBA077F00254965 /* pdfCreator.h */,
+				712AFEE11DBA077F00254965 /* pdfCreator.m */,
+			);
+			name = pdfCreator;
+			sourceTree = "<group>";
+		};
+		712AFEE31DBDAEA000254965 /* PDFResource */ = {
+			isa = PBXGroup;
+			children = (
+				7142E8471DBF01A10077EFA2 /* font */,
+				712AFEE41DBDAF0300254965 /* pdfcreator.xcassets */,
+				7142E8481DBF01AC0077EFA2 /* template */,
+			);
+			name = PDFResource;
+			sourceTree = "<group>";
+		};
+		713393FE19936C980075BBAC /* Signature */ = {
+			isa = PBXGroup;
+			children = (
+				71D01ADC1E08CB1C006620CE /* signature.storyboard */,
+				7162A5C61C58761500AB630E /* SignatureView.h */,
+				7162A5C71C58761500AB630E /* SignatureView.m */,
+				7162A5C81C58761500AB630E /* SignatureViewController.h */,
+				7162A5C91C58761500AB630E /* SignatureViewController.m */,
+			);
+			name = Signature;
+			sourceTree = "<group>";
+		};
+		713F769D1929F4A7006A7305 = {
+			isa = PBXGroup;
+			children = (
+				713F76AF1929F4A7006A7305 /* iSales-USAI */,
+				42BEF35B1E89FECC00632AB6 /* Frameworks */,
+			);
+			sourceTree = "<group>";
+		};
+		713F76A71929F4A7006A7305 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				713F76A61929F4A7006A7305 /* USAI Mobile.app */,
+			);
+			name = Products;
+			path = ..;
+			sourceTree = "<group>";
+		};
+		713F76A81929F4A7006A7305 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				71BBA2281CEAC17E00C91DED /* libz.tbd */,
+				7187162A1C43406300F25860 /* libScanApiCore.a */,
+				718716281C433DA400F25860 /* AVFoundation.framework */,
+				718716261C433D9700F25860 /* AudioToolbox.framework */,
+				718716241C433D8B00F25860 /* ExternalAccessory.framework */,
+				718716221C433D5000F25860 /* libScanApiCore.a */,
+				716961B419594E1000B19FB4 /* libsqlite3.dylib */,
+				71DEE875192DE00E003F645F /* Accelerate.framework */,
+				71DEE873192DE003003F645F /* QuartzCore.framework */,
+				713F76A91929F4A7006A7305 /* Foundation.framework */,
+				713F76AB1929F4A7006A7305 /* CoreGraphics.framework */,
+				713F76AD1929F4A7006A7305 /* UIKit.framework */,
+				713F76C81929F4A7006A7305 /* XCTest.framework */,
+			);
+			name = Frameworks;
+			path = ..;
+			sourceTree = "<group>";
+		};
+		713F76AF1929F4A7006A7305 /* iSales-USAI */ = {
+			isa = PBXGroup;
+			children = (
+				71DF742C1C57567800F2789C /* USAI */,
+				712AFEE31DBDAEA000254965 /* PDFResource */,
+				716387C71953CDB4006E65E6 /* utils */,
+				71DF74311C5757C800F2789C /* CommonUI */,
+				718716141C433B4300F25860 /* ScanAPI */,
+				7190F1091BBBCAF100B2F243 /* PDF+Web */,
+				714C6ADA1B83016A000123E3 /* address */,
+				71F731FC192F395000F2CF76 /* AutoScrollImage */,
+				7143E0C919414E4B00B2EB1A /* cartView */,
+				7191A67319650A11007DC977 /* cagegory */,
+				716BA58D195AB4170007093A /* categoryMenu */,
+				714C6ADE1B83069A000123E3 /* creditcard */,
+				7185C3CE1B919C7200B4823C /* contact */,
+				719E45D71B63883100FD098B /* modelDetail */,
+				71DBACEE1B5E401A00D8BD7E /* HomeView */,
+				714C6AE21B83107A000123E3 /* order */,
+				4254CCDB1FB1AB6600C8B4B6 /* Order Editor */,
+				42FD1A001FBD19B800C5D9A8 /* Order Preview */,
+				717AE10B1D1A5E99007DC5CA /* offline */,
+				711A551F1C153AA800EF5FDA /* portfolio */,
+				714A52061995E90300627D23 /* cam_scan */,
+				71A2478A1B955448000E1F84 /* search */,
+				713393FE19936C980075BBAC /* Signature */,
+				716387CC1953D693006E65E6 /* sideMenu */,
+				710212821B8D59DE00E1788B /* watchlist */,
+				428980221E2492D2005F1BD8 /* Price Setting */,
+				713F76B81929F4A7006A7305 /* AppDelegate.h */,
+				713F76B91929F4A7006A7305 /* AppDelegate.m */,
+				428980701E24B1E9005F1BD8 /* Singleton.h */,
+				428980711E24B1E9005F1BD8 /* Singleton.m */,
+				428980021E2490C1005F1BD8 /* NotificationNameCenter.h */,
+				428980031E2490C1005F1BD8 /* NotificationNameCenter.m */,
+				7162A5E71C5899F700AB630E /* MainViewController.h */,
+				7162A5E81C5899F700AB630E /* MainViewController.m */,
+				7162A5E41C58781000AB630E /* iSalesNavigationController.h */,
+				7162A5E51C58781000AB630E /* iSalesNavigationController.m */,
+				7143E20A202FCEEC00451903 /* Main.storyboard */,
+				7143E208202FCEEB00451903 /* OLM.storyboard */,
+				7143E20E202FCEF600451903 /* CUL.storyboard */,
+				713F76C11929F4A7006A7305 /* Images.xcassets */,
+				713F76B01929F4A7006A7305 /* Supporting Files */,
+				713F76B11929F4A7006A7305 /* iSales-USAI-Info.plist */,
+				42BEF3A51E8A57F600632AB6 /* GoogleService-Info.plist */,
+				713F76B21929F4A7006A7305 /* InfoPlist.strings */,
+				713F76B51929F4A7006A7305 /* main.m */,
+				713F76B71929F4A7006A7305 /* iSales-USAI-Prefix.pch */,
+				713F76A81929F4A7006A7305 /* Frameworks */,
+				713F76A71929F4A7006A7305 /* Products */,
+			);
+			path = "iSales-USAI";
+			sourceTree = "<group>";
+		};
+		713F76B01929F4A7006A7305 /* Supporting Files */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			name = "Supporting Files";
+			sourceTree = "<group>";
+		};
+		7142E8471DBF01A10077EFA2 /* font */ = {
+			isa = PBXGroup;
+			children = (
+				7142E8781DBF57510077EFA2 /* KALINGA.TTF */,
+				7142E8791DBF57510077EFA2 /* KALINGAB.TTF */,
+				7142E87C1DC300010077EFA2 /* DejaVuSans-Bold.ttf */,
+				7142E87D1DC300010077EFA2 /* DejaVuSans.ttf */,
+			);
+			name = font;
+			sourceTree = "<group>";
+		};
+		7142E8481DBF01AC0077EFA2 /* template */ = {
+			isa = PBXGroup;
+			children = (
+				7143E224202FD2CA00451903 /* portfolio_2x3.json */,
+				7143E223202FD2CA00451903 /* portfolio_3x2.json */,
+				7143E222202FD2CA00451903 /* so_thumb.json */,
+				7143E225202FD2CA00451903 /* so.json */,
+				42E489601EE63F4E007256A0 /* more_color_64.png */,
+			);
+			name = template;
+			sourceTree = "<group>";
+		};
+		7143E0C919414E4B00B2EB1A /* cartView */ = {
+			isa = PBXGroup;
+			children = (
+				7162A50C1C58704600AB630E /* BundleModelCell.h */,
+				7162A50D1C58704600AB630E /* BundleModelCell.m */,
+				7162A50E1C58704600AB630E /* BundleModelViewController.h */,
+				7162A50F1C58704600AB630E /* BundleModelViewController.m */,
+				7162A5101C58704600AB630E /* CartViewController.h */,
+				7162A5111C58704600AB630E /* CartViewController.m */,
+				7162A5121C58704600AB630E /* EditModelPriceViewController.h */,
+				7162A5131C58704600AB630E /* EditModelPriceViewController.m */,
+				7162A5141C58704600AB630E /* ModelItemCell.h */,
+				7162A5151C58704600AB630E /* ModelItemCell.m */,
+				712C40B71C731126000E6831 /* ItemNotesViewController.h */,
+				712C40B81C731126000E6831 /* ItemNotesViewController.m */,
+				712C40B41C7310F4000E6831 /* CartGeneralNotesViewController.h */,
+				712C40B51C7310F4000E6831 /* CartGeneralNotesViewController.m */,
+			);
+			name = cartView;
+			sourceTree = "<group>";
+		};
+		7143E215202FD12B00451903 /* json */ = {
+			isa = PBXGroup;
+			children = (
+				7143E213202FCFC000451903 /* debug_category_filter.json */,
+				7143E216202FD15A00451903 /* category.json */,
+				7143E218202FD1DC00451903 /* contactAdvanceSearch.json */,
+				7143E219202FD1DC00451903 /* createContact.json */,
+				7143E21C202FD21F00451903 /* editContact.json */,
+				7143E21F202FD28900451903 /* placeOrderTemplate.json */,
+				7143E21E202FD28800451903 /* TearSheet.json */,
+				7143E22A202FD37500451903 /* orderDetail.json */,
+			);
+			name = json;
+			sourceTree = "<group>";
+		};
+		714A52061995E90300627D23 /* cam_scan */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5AE1C58738600AB630E /* ScannerControllerView.h */,
+				7162A5AF1C58738600AB630E /* ScannerControllerView.m */,
+				7162A5B01C58738600AB630E /* ScannerViewController.h */,
+				7162A5B11C58738600AB630E /* ScannerViewController.m */,
+				7162A5B21C58738600AB630E /* SCShapeView.h */,
+				7162A5B31C58738600AB630E /* SCShapeView.m */,
+			);
+			name = cam_scan;
+			sourceTree = "<group>";
+		};
+		714C6ADA1B83016A000123E3 /* address */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5001C586F5B00AB630E /* AddressEditorViewController.h */,
+				7162A5011C586F5B00AB630E /* AddressEditorViewController.m */,
+			);
+			name = address;
+			sourceTree = "<group>";
+		};
+		714C6ADE1B83069A000123E3 /* creditcard */ = {
+			isa = PBXGroup;
+			children = (
+				7162A54C1C58722200AB630E /* CreditCardEditorViewController.h */,
+				7162A54D1C58722200AB630E /* CreditCardEditorViewController.m */,
+			);
+			name = creditcard;
+			sourceTree = "<group>";
+		};
+		714C6AE21B83107A000123E3 /* order */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5861C58733400AB630E /* CreateOrderViewController.h */,
+				7162A5871C58733400AB630E /* CreateOrderViewController.m */,
+				7162A5881C58733400AB630E /* OrderDetailHtmlCell.h */,
+				7162A5891C58733400AB630E /* OrderDetailHtmlCell.m */,
+				7162A58A1C58733400AB630E /* OrderDetailInfoCell.h */,
+				7162A58B1C58733400AB630E /* OrderDetailInfoCell.m */,
+				7162A58C1C58733400AB630E /* OrderDetailModelCell.h */,
+				7162A58D1C58733400AB630E /* OrderDetailModelCell.m */,
+				7162A58E1C58733400AB630E /* OrderDetailPriceCell.h */,
+				7162A58F1C58733400AB630E /* OrderDetailPriceCell.m */,
+				42DC12EF1F0CD98E00A4C011 /* OrderDetailPickInfoCell.h */,
+				42DC12F01F0CD98E00A4C011 /* OrderDetailPickInfoCell.m */,
+				7162A5901C58733400AB630E /* OrderDetailViewController.h */,
+				7162A5911C58733400AB630E /* OrderDetailViewController.m */,
+				7162A5921C58733400AB630E /* OrderListTableViewCell.h */,
+				7162A5931C58733400AB630E /* OrderListTableViewCell.m */,
+				7162A5941C58733400AB630E /* OrderListViewController.h */,
+				7162A5951C58733400AB630E /* OrderListViewController.m */,
+				7162A5961C58733400AB630E /* status_filter_cadedate_open.json */,
+				42B309781E45BA32007AFC62 /* status_filter_cadedate_po.json */,
+				7162A5971C58733400AB630E /* offline_status_filter_cadedate.json */,
+				714B1F3E1C7BF74100539193 /* OrderDetailSignatureCell.h */,
+				714B1F3F1C7BF74100539193 /* OrderDetailSignatureCell.m */,
+			);
+			name = order;
+			sourceTree = "<group>";
+		};
+		715EB9A6193866F2006D16A5 /* photoStack */ = {
+			isa = PBXGroup;
+			children = (
+				71DF748F1C57614C00F2789C /* PhotoBorder.png */,
+				71DF74901C57614C00F2789C /* PhotoBorder@2x.png */,
+				7165662C1EF3ACD900CB897F /* photostack_image.html */,
+				7165662D1EF3ACD900CB897F /* photostack_video.html */,
+				71DF74911C57614C00F2789C /* PhotoStackView.h */,
+				71DF74921C57614C00F2789C /* PhotoStackView.m */,
+				71DF74931C57614C00F2789C /* PhotoStackViewController.h */,
+				71DF74941C57614C00F2789C /* PhotoStackViewController.m */,
+			);
+			name = photoStack;
+			sourceTree = "<group>";
+		};
+		716387C71953CDB4006E65E6 /* utils */ = {
+			isa = PBXGroup;
+			children = (
+				71C1D84C1F456CAA00CEA1C9 /* HWWeakTimer.h */,
+				71C1D84D1F456CAA00CEA1C9 /* HWWeakTimer.m */,
+				42BEF3211E89FE1100632AB6 /* GoogleAnalytics */,
+				4289809B1E24B526005F1BD8 /* JKTimer */,
+				4289805A1E249375005F1BD8 /* UIColor+HEX */,
+				4289803C1E249339005F1BD8 /* JKLock */,
+				712AFEC41DBA044C00254965 /* pdfCreator */,
+				71BBA2171CEAC10200C91DED /* zip */,
+				71B1250B1C55BD4600118904 /* QRCODE */,
+				71E9F6BD1F8B53AB0052C78E /* upload */,
+				71BE066E1BA1607400FA6544 /* AES */,
+				71DF74291C57560600F2789C /* Reachability.h */,
+				71DF742A1C57560600F2789C /* Reachability.m */,
+				71CB70761F99E337009FDCB7 /* RAConvertor.h */,
+				71CB70771F99E338009FDCB7 /* RAConvertor.m */,
+				71CB70741F99DF02009FDCB7 /* FileCache.h */,
+				71CB70731F99DF01009FDCB7 /* FileCache.m */,
+				71DF742E1C57572600F2789C /* RAUtils.h */,
+				71DF742F1C57572600F2789C /* RAUtils.m */,
+				71D01B141E0A2055006620CE /* ImageUtils.h */,
+				71D01B151E0A2055006620CE /* ImageUtils.m */,
+				428980081E24918F005F1BD8 /* CartUtils.h */,
+				428980091E24918F005F1BD8 /* CartUtils.m */,
+				71D01B161E0A2055006620CE /* PDFUtils.h */,
+				71D01B171E0A2055006620CE /* PDFUtils.m */,
+				71D01B181E0A2055006620CE /* TextUtils.h */,
+				71D01B191E0A2055006620CE /* TextUtils.m */,
+				42BF67CA1E5179970081F90A /* ERPUtils.h */,
+				42BF67CB1E5179970081F90A /* ERPUtils.m */,
+				71FFBBE51C60894900D91DC2 /* iSalesDB.h */,
+				71FFBBE61C60894900D91DC2 /* iSalesDB.m */,
+				71E9F6BB1F8B52DC0052C78E /* NetworkUtils.h */,
+				71E9F6BA1F8B52DC0052C78E /* NetworkUtils.m */,
+				71E9F6C11F8B57E40052C78E /* RANetworkTaskDelegate.h */,
+				71E9F6C01F8B57E30052C78E /* RANetworkTaskDelegate.m */,
+				71FFBBE71C60894900D91DC2 /* RANetwork.h */,
+				71FFBBE81C60894900D91DC2 /* RANetwork.m */,
+				71BF06F91D2F3CAC00981938 /* OLDataProvider.h */,
+				71BF06FA1D2F3CAC00981938 /* OLDataProvider.m */,
+				7143E22C202FD3CC00451903 /* more_info.html */,
+				7143E22D202FD3CC00451903 /* order_info.html */,
+			);
+			name = utils;
+			sourceTree = "<group>";
+		};
+		716387CC1953D693006E65E6 /* sideMenu */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5CC1C5876E300AB630E /* AboutViewController.h */,
+				7162A5CD1C5876E300AB630E /* AboutViewController.m */,
+				7162A5CE1C5876E300AB630E /* CacheViewController.h */,
+				7162A5CF1C5876E300AB630E /* CacheViewController.m */,
+				7162A5D01C5876E300AB630E /* LoginViewController.h */,
+				7162A5D11C5876E300AB630E /* LoginViewController.m */,
+				7162A5D21C5876E300AB630E /* PopupNavigationController.h */,
+				7162A5D31C5876E300AB630E /* PopupNavigationController.m */,
+				7162A5D41C5876E300AB630E /* RetrievePassViewController.h */,
+				7162A5D51C5876E300AB630E /* RetrievePassViewController.m */,
+				7162A5D61C5876E300AB630E /* ScannerSettingViewController.h */,
+				7162A5D71C5876E300AB630E /* ScannerSettingViewController.m */,
+				7162A5D81C5876E300AB630E /* SettingViewController.h */,
+				7162A5D91C5876E300AB630E /* SettingViewController.m */,
+				7186C25B1C97A6EE00CB43F4 /* FunctionTestViewController.h */,
+				7186C25C1C97A6EE00CB43F4 /* FunctionTestViewController.m */,
+				71131F901CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.h */,
+				71131F911CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.m */,
+				710274231CC606C4009FD219 /* UserListViewController.h */,
+				710274241CC606C4009FD219 /* UserListViewController.m */,
+			);
+			name = sideMenu;
+			sourceTree = "<group>";
+		};
+		716387D2195408DA006E65E6 /* config */ = {
+			isa = PBXGroup;
+			children = (
+				716387D3195408E7006E65E6 /* config.h */,
+				71E5A00F1DC99370005BF655 /* config.plist */,
+				71DF742D1C5756C600F2789C /* const.h */,
+			);
+			name = config;
+			sourceTree = "<group>";
+		};
+		716BA58D195AB4170007093A /* categoryMenu */ = {
+			isa = PBXGroup;
+			children = (
+				7162A52B1C58719D00AB630E /* RATreeNode.h */,
+				7162A52C1C58719D00AB630E /* RATreeNode.m */,
+				7162A52D1C58719D00AB630E /* RATreeNodeCollectionController.h */,
+				7162A52E1C58719D00AB630E /* RATreeNodeCollectionController.m */,
+				7162A52F1C58719D00AB630E /* RATreeNodeInfo.h */,
+				7162A5301C58719D00AB630E /* RATreeNodeInfo.m */,
+				7162A5311C58719D00AB630E /* RATreeNodeInfo+Private.h */,
+				7162A5321C58719D00AB630E /* RATreeNodeInfo+Private.m */,
+				7162A5331C58719D00AB630E /* RATreeView.h */,
+				7162A5341C58719D00AB630E /* RATreeView.m */,
+				7162A5351C58719D00AB630E /* RATreeView+Enums.h */,
+				7162A5361C58719D00AB630E /* RATreeView+Enums.m */,
+				7162A5371C58719D00AB630E /* RATreeView+Private.h */,
+				7162A5381C58719D00AB630E /* RATreeView+Private.m */,
+				7162A5391C58719D00AB630E /* RATreeView+TableViewDataSource.h */,
+				7162A53A1C58719D00AB630E /* RATreeView+TableViewDataSource.m */,
+				7162A53B1C58719D00AB630E /* RATreeView+TableViewDelegate.h */,
+				7162A53C1C58719D00AB630E /* RATreeView+TableViewDelegate.m */,
+				7162A53D1C58719D00AB630E /* RATreeView+UIScrollView.h */,
+				7162A53E1C58719D00AB630E /* RATreeView+UIScrollView.m */,
+				7162A53F1C58719D00AB630E /* RAViewController.h */,
+				7162A5401C58719D00AB630E /* RAViewController.m */,
+			);
+			name = categoryMenu;
+			sourceTree = "<group>";
+		};
+		717AE10B1D1A5E99007DC5CA /* offline */ = {
+			isa = PBXGroup;
+			children = (
+				7161FEB21D61B24900157EE1 /* creditcardpayment.html */,
+				7161FEB31D61B24900157EE1 /* normalpayment.html */,
+				7161FEB41D61B24900157EE1 /* orderinfo.html */,
+				71BF06FC1D2F3CBA00981938 /* OfflineSettingViewController.h */,
+				71BF06FD1D2F3CBA00981938 /* OfflineSettingViewController.m */,
+				71BF07061D2F3D2800981938 /* SyncControlPanelViewController.h */,
+				71BF07071D2F3D2800981938 /* SyncControlPanelViewController.m */,
+				716AF8DF1D7AA0E0001188E0 /* SelectUploadOrderViewController.h */,
+				716AF8E01D7AA0E0001188E0 /* SelectUploadOrderViewController.m */,
+				716AF8E61D7AA398001188E0 /* SelectOrderTableViewCell.h */,
+				716AF8E51D7AA398001188E0 /* SelectOrderTableViewCell.m */,
+				715F30BB1DAB37EB00490EED /* OfflineUnlockViewController.h */,
+				715F30BC1DAB37EB00490EED /* OfflineUnlockViewController.m */,
+			);
+			name = offline;
+			sourceTree = "<group>";
+		};
+		7185C3CE1B919C7200B4823C /* contact */ = {
+			isa = PBXGroup;
+			children = (
+				7162A54F1C58724700AB630E /* ContactAdvanceSearchViewController.h */,
+				7162A5501C58724700AB630E /* ContactAdvanceSearchViewController.m */,
+				7162A5511C58724700AB630E /* ContactListTableViewCell.h */,
+				7162A5521C58724700AB630E /* ContactListTableViewCell.m */,
+				7162A5531C58724700AB630E /* ContactListViewController.h */,
+				7162A5541C58724700AB630E /* ContactListViewController.m */,
+				7162A5551C58724700AB630E /* customer_advanced_search.json */,
+				7162A5561C58724700AB630E /* customer_info_template.json */,
+				7111E5711C76C557004763B3 /* customer_info_template_edit.json */,
+				7162A5571C58724700AB630E /* CustomerEditViewController.h */,
+				7162A5581C58724700AB630E /* CustomerEditViewController.m */,
+				7162A5591C58724700AB630E /* CustomerInfoViewController.h */,
+				7162A55A1C58724700AB630E /* CustomerInfoViewController.m */,
+			);
+			name = contact;
+			sourceTree = "<group>";
+		};
+		718600B31936C385004B6CDE /* customUI */ = {
+			isa = PBXGroup;
+			children = (
+				71D99D2E1CEF02E700CA32DE /* CustomIOSAlertView.h */,
+				71D99D2F1CEF02E700CA32DE /* CustomIOSAlertView.m */,
+				71DF746B1C57608F00F2789C /* ImageScrollerView.h */,
+				71DF746C1C57608F00F2789C /* ImageScrollerView.m */,
+				71DF746D1C57608F00F2789C /* ImageScrollerViewController.h */,
+				71DF746E1C57608F00F2789C /* ImageScrollerViewController.m */,
+				71DF746F1C57608F00F2789C /* ImageUploadViewController.h */,
+				71DF74701C57608F00F2789C /* ImageUploadViewController.m */,
+				71DF74711C57608F00F2789C /* ImageViewController.h */,
+				71DF74721C57608F00F2789C /* ImageViewController.m */,
+				71DF74731C57608F00F2789C /* NIDropDown.h */,
+				71DF74741C57608F00F2789C /* NIDropDown.m */,
+				71DF74751C57608F00F2789C /* PulldownMenu.h */,
+				71DF74761C57608F00F2789C /* PulldownMenu.m */,
+				71DF74771C57608F00F2789C /* RadioButton.h */,
+				71DF74781C57608F00F2789C /* RadioButton.m */,
+				71DF74791C57608F00F2789C /* RTLabel.h */,
+				71DF747A1C57608F00F2789C /* RTLabel.m */,
+				71DF747B1C57608F00F2789C /* SimpleGrid.h */,
+				71DF747C1C57608F00F2789C /* SimpleGrid.m */,
+				71DF747D1C57608F00F2789C /* StrikethroughLabel.h */,
+				71DF747E1C57608F00F2789C /* StrikethroughLabel.m */,
+				71DF747F1C57608F00F2789C /* TouchLabel.h */,
+				71DF74801C57608F00F2789C /* TouchLabel.m */,
+				718B91811C75638100265FFF /* TouchImageView.h */,
+				718B91821C75638100265FFF /* TouchImageView.m */,
+				71DF74811C57608F00F2789C /* UILabel+FontAppearance.h */,
+				71DF74821C57608F00F2789C /* UILabel+FontAppearance.m */,
+			);
+			name = customUI;
+			sourceTree = "<group>";
+		};
+		718716141C433B4300F25860 /* ScanAPI */ = {
+			isa = PBXGroup;
+			children = (
+				7141DD351C5726B700F7DF59 /* DeviceInfo.h */,
+				7141DD361C5726B700F7DF59 /* DeviceInfo.m */,
+				7141DD371C5726B700F7DF59 /* ScanApiHelper.h */,
+				7141DD381C5726B700F7DF59 /* ScanApiHelper.mm */,
+				7141DD391C5726B700F7DF59 /* ScanApiIncludes.h */,
+				7141DD3A1C5726B700F7DF59 /* softScanBeep.wav */,
+				7141DD331C57269B00F7DF59 /* include */,
+			);
+			name = ScanAPI;
+			sourceTree = "<group>";
+		};
+		7190F1091BBBCAF100B2F243 /* PDF+Web */ = {
+			isa = PBXGroup;
+			children = (
+				7162A4FA1C585FFB00AB630E /* RAPDFViewController.h */,
+				7162A4FB1C585FFB00AB630E /* RAPDFViewController.m */,
+				7162A4FC1C585FFB00AB630E /* WebViewController.h */,
+				7162A4FD1C585FFB00AB630E /* WebViewController.m */,
+			);
+			name = "PDF+Web";
+			sourceTree = "<group>";
+		};
+		7191A67319650A11007DC977 /* cagegory */ = {
+			isa = PBXGroup;
+			children = (
+				7143E210202FCF7600451903 /* CategoryCellNPD.h */,
+				7143E211202FCF7600451903 /* CategoryCellNPD.m */,
+				7162A51F1C58706C00AB630E /* CategoryCellSmall.h */,
+				7162A5201C58706C00AB630E /* CategoryCellSmall.m */,
+				712BABF11C897E3A0007466B /* CategorySearchFilterViewController.h */,
+				712BABF21C897E3A0007466B /* CategorySearchFilterViewController.m */,
+				7162A5211C58706C00AB630E /* CategoryViewController.h */,
+				7162A5221C58706C00AB630E /* CategoryViewController.m */,
+				7195623A1CF57D1800C74A49 /* CategoryHeaderView.h */,
+				7195623B1CF57D1800C74A49 /* CategoryHeaderView.m */,
+			);
+			name = cagegory;
+			sourceTree = "<group>";
+		};
+		719562351CF5733500C74A49 /* appearance */ = {
+			isa = PBXGroup;
+			children = (
+				715850441CF6F0E500856B20 /* DefaultAppearance.h */,
+				715850451CF6F0E500856B20 /* DefaultAppearance.m */,
+				71D30A201CFBEDC6006F9477 /* default_appearance.json */,
+			);
+			name = appearance;
+			sourceTree = "<group>";
+		};
+		719E45D71B63883100FD098B /* modelDetail */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5621C58728D00AB630E /* DetailHeaderCell.h */,
+				7162A5631C58728D00AB630E /* DetailHeaderCell.m */,
+				7162A5641C58728D00AB630E /* DetailImageCell.h */,
+				7162A5651C58728D00AB630E /* DetailImageCell.m */,
+				7162A5661C58728D00AB630E /* DetailKVCell.h */,
+				7162A5671C58728D00AB630E /* DetailKVCell.m */,
+				7162A5681C58728D00AB630E /* DetailTopicCell.h */,
+				7162A5691C58728D00AB630E /* DetailTopicCell.m */,
+				7162A56A1C58728D00AB630E /* DetailViewController.h */,
+				7162A56B1C58728D00AB630E /* DetailViewController.m */,
+				7162A56C1C58728D00AB630E /* LineView.h */,
+				7162A56D1C58728D00AB630E /* LineView.m */,
+				71C1D8521F456D2700CEA1C9 /* ModelDescriptionController.h */,
+				71C1D8531F456D2700CEA1C9 /* ModelDescriptionController.m */,
+			);
+			name = modelDetail;
+			sourceTree = "<group>";
+		};
+		71A2478A1B955448000E1F84 /* search */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5B71C5873BB00AB630E /* FilterCellCadedate.h */,
+				7162A5B81C5873BB00AB630E /* FilterCellCadedate.m */,
+				7162A5B91C5873BB00AB630E /* FilterCellValue.h */,
+				7162A5BA1C5873BB00AB630E /* FilterCellValue.m */,
+				7162A5BB1C5873BB00AB630E /* ItemSearchFilterViewController.h */,
+				7162A5BC1C5873BB00AB630E /* ItemSearchFilterViewController.m */,
+				7162A5BD1C5873BB00AB630E /* ItemSearchViewController.h */,
+				7162A5BE1C5873BB00AB630E /* ItemSearchViewController.m */,
+				7162A5BF1C5873BB00AB630E /* SearchViewController.h */,
+				7162A5C01C5873BB00AB630E /* SearchViewController.m */,
+			);
+			name = search;
+			sourceTree = "<group>";
+		};
+		71B1250B1C55BD4600118904 /* QRCODE */ = {
+			isa = PBXGroup;
+			children = (
+				7141DD3E1C57459B00F7DF59 /* bitstream.c */,
+				7141DD3F1C57459B00F7DF59 /* bitstream.h */,
+				7141DD401C57459B00F7DF59 /* mask.c */,
+				7141DD411C57459B00F7DF59 /* mask.h */,
+				7141DD421C57459B00F7DF59 /* QRCodeGenerator.h */,
+				7141DD431C57459B00F7DF59 /* QRCodeGenerator.m */,
+				7141DD441C57459B00F7DF59 /* qrencode.c */,
+				7141DD451C57459B00F7DF59 /* qrencode.h */,
+				7141DD461C57459B00F7DF59 /* qrinput.c */,
+				7141DD471C57459B00F7DF59 /* qrinput.h */,
+				7141DD481C57459B00F7DF59 /* qrspec.c */,
+				7141DD491C57459B00F7DF59 /* qrspec.h */,
+				7141DD4A1C57459B00F7DF59 /* rscode.c */,
+				7141DD4B1C57459B00F7DF59 /* rscode.h */,
+				7141DD4C1C57459B00F7DF59 /* split.c */,
+				7141DD4D1C57459B00F7DF59 /* split.h */,
+			);
+			name = QRCODE;
+			sourceTree = "<group>";
+		};
+		71BBA2171CEAC10200C91DED /* zip */ = {
+			isa = PBXGroup;
+			children = (
+				71BBA2371CEAEF0700C91DED /* crypt.h */,
+				71BBA2381CEAEF0700C91DED /* ioapi.c */,
+				71BBA2391CEAEF0700C91DED /* ioapi.h */,
+				71BBA23A1CEAEF0700C91DED /* mztools.c */,
+				71BBA23B1CEAEF0700C91DED /* mztools.h */,
+				71BBA23C1CEAEF0700C91DED /* unzip.c */,
+				71BBA23D1CEAEF0700C91DED /* unzip.h */,
+				71BBA23E1CEAEF0700C91DED /* zip.c */,
+				71BBA23F1CEAEF0700C91DED /* zip.h */,
+				71BBA2211CEAC16000C91DED /* ZipArchive.h */,
+				71BBA2221CEAC16000C91DED /* ZipArchive.mm */,
+			);
+			name = zip;
+			sourceTree = "<group>";
+		};
+		71BE066E1BA1607400FA6544 /* AES */ = {
+			isa = PBXGroup;
+			children = (
+				7141DD561C5747CE00F7DF59 /* AESCrypt.h */,
+				7141DD571C5747CE00F7DF59 /* AESCrypt.m */,
+				7141DD581C5747CE00F7DF59 /* LICENSE */,
+				7141DD591C5747CE00F7DF59 /* NSData+Base64.h */,
+				7141DD5A1C5747CE00F7DF59 /* NSData+Base64.m */,
+				7141DD5B1C5747CE00F7DF59 /* NSData+CommonCrypto.h */,
+				7141DD5C1C5747CE00F7DF59 /* NSData+CommonCrypto.m */,
+				7141DD5D1C5747CE00F7DF59 /* NSString+Base64.h */,
+				7141DD5E1C5747CE00F7DF59 /* NSString+Base64.m */,
+			);
+			name = AES;
+			sourceTree = "<group>";
+		};
+		71BF32FA1EFA1C0700842CB4 /* youtube player */ = {
+			isa = PBXGroup;
+			children = (
+				71BF32FB1EFA1D6100842CB4 /* Assets.bundle */,
+				71BF32FC1EFA1D6100842CB4 /* YouTubeiOSPlayerHelper.h */,
+				71BF32FD1EFA1D6100842CB4 /* YTPlayerView.h */,
+				71BF32FE1EFA1D6100842CB4 /* YTPlayerView.m */,
+				71BF32FF1EFA1D6100842CB4 /* YTViewController.h */,
+				71BF33001EFA1D6100842CB4 /* YTViewController.m */,
+			);
+			name = "youtube player";
+			sourceTree = "<group>";
+		};
+		71DBACEE1B5E401A00D8BD7E /* HomeView */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5771C5872EF00AB630E /* HomeTableViewCellBanner.h */,
+				7162A5781C5872EF00AB630E /* HomeTableViewCellBanner.m */,
+				7162A5791C5872EF00AB630E /* HomeTableViewCellButtonBanner.h */,
+				7162A57A1C5872EF00AB630E /* HomeTableViewCellButtonBanner.m */,
+				7162A57B1C5872EF00AB630E /* HomeTableViewCellSlide.h */,
+				7162A57C1C5872EF00AB630E /* HomeTableViewCellSlide.m */,
+				7162A57D1C5872EF00AB630E /* HomeTableViewCellTopic.h */,
+				7162A57E1C5872EF00AB630E /* HomeTableViewCellTopic.m */,
+				7162A57F1C5872EF00AB630E /* HomeViewController.h */,
+				7162A5801C5872EF00AB630E /* HomeViewController.m */,
+			);
+			name = HomeView;
+			sourceTree = "<group>";
+		};
+		71DF742C1C57567800F2789C /* USAI */ = {
+			isa = PBXGroup;
+			children = (
+				7143E215202FD12B00451903 /* json */,
+				719562351CF5733500C74A49 /* appearance */,
+				716387D2195408DA006E65E6 /* config */,
+			);
+			name = USAI;
+			sourceTree = "<group>";
+		};
+		71DF74311C5757C800F2789C /* CommonUI */ = {
+			isa = PBXGroup;
+			children = (
+				42D3A4981EFA6D36007A54C1 /* PhotoList */,
+				71BF32FA1EFA1C0700842CB4 /* youtube player */,
+				4289800E1E24924D005F1BD8 /* sort */,
+				715EB9A6193866F2006D16A5 /* photoStack */,
+				718600B31936C385004B6CDE /* customUI */,
+				71DF743A1C575E6600F2789C /* CommonEditor */,
+				71DF74321C5757DA00F2789C /* ActiveViewController.h */,
+				71DF74331C5757DA00F2789C /* ActiveViewController.m */,
+				71DF74351C575D6600F2789C /* CommonGridViewController.h */,
+				71DF74361C575D6600F2789C /* CommonGridViewController.m */,
+				71D30A2B1CFC0EF8006F9477 /* DefaultImageButton.h */,
+				71D30A2C1CFC0EF8006F9477 /* DefaultImageButton.m */,
+				719562401CF5828200C74A49 /* DefaultTableHeaderView.h */,
+				719562411CF5828200C74A49 /* DefaultTableHeaderView.m */,
+				715001FD1D114D9100F5927F /* BundleDetailButton.h */,
+				715001FE1D114D9100F5927F /* BundleDetailButton.m */,
+			);
+			name = CommonUI;
+			sourceTree = "<group>";
+		};
+		71DF743A1C575E6600F2789C /* CommonEditor */ = {
+			isa = PBXGroup;
+			children = (
+				4295AE181FE74D26007BE365 /* AutoComplete */,
+				71DF743B1C575E7900F2789C /* CommonEditorCellAction.h */,
+				71DF743C1C575E7900F2789C /* CommonEditorCellAction.m */,
+				71DF743D1C575E7900F2789C /* CommonEditorCellEdit.h */,
+				71DF743E1C575E7900F2789C /* CommonEditorCellEdit.m */,
+				71DF743F1C575E7900F2789C /* CommonEditorCellEnum.h */,
+				71DF74401C575E7900F2789C /* CommonEditorCellEnum.m */,
+				71DF74411C575E7900F2789C /* CommonEditorCellImg.h */,
+				71DF74421C575E7900F2789C /* CommonEditorCellImg.m */,
+				71DF74431C575E7900F2789C /* CommonEditorCellLabel.h */,
+				71DF74441C575E7900F2789C /* CommonEditorCellLabel.m */,
+				71DF74451C575E7900F2789C /* CommonEditorCellMAction.h */,
+				71DF74461C575E7900F2789C /* CommonEditorCellMAction.m */,
+				71DF74471C575E7900F2789C /* CommonEditorCellModel.h */,
+				71DF74481C575E7900F2789C /* CommonEditorCellModel.m */,
+				71DF74491C575E7900F2789C /* CommonEditorCellSignature.h */,
+				71DF744A1C575E7900F2789C /* CommonEditorCellSignature.m */,
+				71DF744B1C575E7900F2789C /* CommonEditorCellSwitch.h */,
+				71DF744C1C575E7900F2789C /* CommonEditorCellSwitch.m */,
+				71DF744D1C575E7900F2789C /* CommonEditorCellTextView.h */,
+				71DF744E1C575E7900F2789C /* CommonEditorCellTextView.m */,
+				71DF744F1C575E7900F2789C /* CommonEditorViewController.h */,
+				71DF74501C575E7900F2789C /* CommonEditorViewController.m */,
+				42E153C61FC57A3D00C36077 /* CommonEditorTableContainerView.h */,
+				42E153C71FC57A3D00C36077 /* CommonEditorTableContainerView.m */,
+				71DF74511C575E7900F2789C /* DatePickerViewController.h */,
+				71DF74521C575E7900F2789C /* DatePickerViewController.m */,
+				71DF74531C575E7900F2789C /* EnumSelectorCell.h */,
+				71DF74541C575E7900F2789C /* EnumSelectorCell.m */,
+				71DF74551C575E7900F2789C /* EnumSelectViewController.h */,
+				71DF74561C575E7900F2789C /* EnumSelectViewController.m */,
+				71DF74571C575E7900F2789C /* MonthPickerViewController.h */,
+				71DF74581C575E7900F2789C /* MonthPickerViewController.m */,
+				71DF74591C575E7900F2789C /* SRMonthPicker.h */,
+				71DF745A1C575E7900F2789C /* SRMonthPicker.m */,
+				7115D45C1E16317600EF4E4C /* CommonEditor.storyboard */,
+				42BEAB2D1FA1D23A0024D647 /* EnumSelectAndSort */,
+			);
+			name = CommonEditor;
+			sourceTree = "<group>";
+		};
+		71E9F6BD1F8B53AB0052C78E /* upload */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			name = upload;
+			sourceTree = "<group>";
+		};
+		71F731FC192F395000F2CF76 /* AutoScrollImage */ = {
+			isa = PBXGroup;
+			children = (
+				7162A5031C586FC100AB630E /* CycleScrollView.h */,
+				7162A5041C586FC100AB630E /* CycleScrollView.m */,
+				7162A5051C586FC100AB630E /* NSTimer+Addition.h */,
+				7162A5061C586FC100AB630E /* NSTimer+Addition.m */,
+				7162A5071C586FC100AB630E /* SliderPage.h */,
+				7162A5081C586FC100AB630E /* SliderPage.m */,
+			);
+			name = AutoScrollImage;
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		713F76A51929F4A7006A7305 /* iSales-USAI */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 713F76D81929F4A7006A7305 /* Build configuration list for PBXNativeTarget "iSales-USAI" */;
+			buildPhases = (
+				713F76A21929F4A7006A7305 /* Sources */,
+				713F76A31929F4A7006A7305 /* Frameworks */,
+				713F76A41929F4A7006A7305 /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = "iSales-USAI";
+			productName = "iSales-USAI";
+			productReference = 713F76A61929F4A7006A7305 /* USAI Mobile.app */;
+			productType = "com.apple.product-type.application";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		713F769E1929F4A7006A7305 /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				LastUpgradeCheck = 0900;
+				ORGANIZATIONNAME = "United Software Applications, Inc";
+				TargetAttributes = {
+					713F76A51929F4A7006A7305 = {
+						DevelopmentTeam = HXWLAA5YN5;
+						ProvisioningStyle = Automatic;
+					};
+				};
+			};
+			buildConfigurationList = 713F76A11929F4A7006A7305 /* Build configuration list for PBXProject "iSales-USAI" */;
+			compatibilityVersion = "Xcode 3.2";
+			developmentRegion = English;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				en,
+				Base,
+			);
+			mainGroup = 713F769D1929F4A7006A7305;
+			productRefGroup = 713F76A71929F4A7006A7305 /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				713F76A51929F4A7006A7305 /* iSales-USAI */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		713F76A41929F4A7006A7305 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				7143E217202FD15A00451903 /* category.json in Resources */,
+				7143E22B202FD37500451903 /* orderDetail.json in Resources */,
+				7143E20F202FCEF600451903 /* CUL.storyboard in Resources */,
+				7143E20C202FCEEC00451903 /* OLM.storyboard in Resources */,
+				7143E20D202FCEEC00451903 /* Main.storyboard in Resources */,
+				42BEF3591E89FE1200632AB6 /* LICENSE in Resources */,
+				7142E87E1DC300690077EFA2 /* DejaVuSans-Bold.ttf in Resources */,
+				7142E87F1DC300690077EFA2 /* DejaVuSans.ttf in Resources */,
+				7115D45D1E16317600EF4E4C /* CommonEditor.storyboard in Resources */,
+				7142E87A1DBF577A0077EFA2 /* KALINGA.TTF in Resources */,
+				7142E87B1DBF577A0077EFA2 /* KALINGAB.TTF in Resources */,
+				7143E228202FD2CA00451903 /* portfolio_2x3.json in Resources */,
+				713F76C21929F4A7006A7305 /* Images.xcassets in Resources */,
+				42E489611EE63F4E007256A0 /* more_color_64.png in Resources */,
+				71BF33011EFA1D6100842CB4 /* Assets.bundle in Resources */,
+				713F76B41929F4A7006A7305 /* InfoPlist.strings in Resources */,
+				7165662F1EF3ACD900CB897F /* photostack_video.html in Resources */,
+				7162A5A01C58733400AB630E /* status_filter_cadedate_open.json in Resources */,
+				71D30A211CFBEDC6006F9477 /* default_appearance.json in Resources */,
+				7161FEB71D61B24900157EE1 /* orderinfo.html in Resources */,
+				7143E221202FD28900451903 /* placeOrderTemplate.json in Resources */,
+				7161FEB51D61B24900157EE1 /* creditcardpayment.html in Resources */,
+				42BEAB361FA1D23B0024D647 /* EnumSelectAndSort.storyboard in Resources */,
+				7143E227202FD2CA00451903 /* portfolio_3x2.json in Resources */,
+				7143E21A202FD1DC00451903 /* contactAdvanceSearch.json in Resources */,
+				71E5A0101DC99370005BF655 /* config.plist in Resources */,
+				71DF74951C57614C00F2789C /* PhotoBorder.png in Resources */,
+				7143E229202FD2CA00451903 /* so.json in Resources */,
+				7162A55F1C58724700AB630E /* customer_info_template.json in Resources */,
+				42D3A4A21EFA6D36007A54C1 /* PhotoList.storyboard in Resources */,
+				7141DD3D1C5726B700F7DF59 /* softScanBeep.wav in Resources */,
+				4295AE1D1FE74D46007BE365 /* CommonEditorAutoCompleteView.xib in Resources */,
+				7141DD341C57269B00F7DF59 /* include in Resources */,
+				7141DD601C5747CE00F7DF59 /* LICENSE in Resources */,
+				71D01ADD1E08CB1C006620CE /* signature.storyboard in Resources */,
+				7143E22F202FD3CD00451903 /* order_info.html in Resources */,
+				7111E5721C76C557004763B3 /* customer_info_template_edit.json in Resources */,
+				7161FEB61D61B24900157EE1 /* normalpayment.html in Resources */,
+				7143E214202FCFC000451903 /* debug_category_filter.json in Resources */,
+				7143E220202FD28900451903 /* TearSheet.json in Resources */,
+				71DF74961C57614C00F2789C /* PhotoBorder@2x.png in Resources */,
+				7143E226202FD2CA00451903 /* so_thumb.json in Resources */,
+				7165662E1EF3ACD900CB897F /* photostack_image.html in Resources */,
+				712AFEE51DBDAF0300254965 /* pdfcreator.xcassets in Resources */,
+				7143E21B202FD1DC00451903 /* createContact.json in Resources */,
+				7162A55E1C58724700AB630E /* customer_advanced_search.json in Resources */,
+				7143E22E202FD3CD00451903 /* more_info.html in Resources */,
+				7143E21D202FD21F00451903 /* editContact.json in Resources */,
+				7162A5A11C58733400AB630E /* offline_status_filter_cadedate.json in Resources */,
+				42B309791E45BA32007AFC62 /* status_filter_cadedate_po.json in Resources */,
+				42BEF3A61E8A57F600632AB6 /* GoogleService-Info.plist in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		713F76A21929F4A7006A7305 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				7141DD531C57459B00F7DF59 /* qrspec.c in Sources */,
+				71BF07081D2F3D2800981938 /* SyncControlPanelViewController.m in Sources */,
+				4289802D1E2492D2005F1BD8 /* PriceSettingViewController.m in Sources */,
+				71FFBBEA1C60894900D91DC2 /* RANetwork.m in Sources */,
+				428980161E24924D005F1BD8 /* SortItemCell.m in Sources */,
+				7162A59D1C58733400AB630E /* OrderDetailViewController.m in Sources */,
+				7141DD3B1C5726B700F7DF59 /* DeviceInfo.m in Sources */,
+				71DF74671C575E7900F2789C /* EnumSelectorCell.m in Sources */,
+				712AFEDC1DBA050200254965 /* PDFDrawable.m in Sources */,
+				7195623C1CF57D1800C74A49 /* CategoryHeaderView.m in Sources */,
+				712AFED81DBA050200254965 /* GridDrawable.m in Sources */,
+				424A02D11FFB3A0B0088DC56 /* RABackOrderSubmitAlertController.m in Sources */,
+				7162A5C11C5873BB00AB630E /* FilterCellCadedate.m in Sources */,
+				71DF748A1C57608F00F2789C /* RTLabel.m in Sources */,
+				42BEF3581E89FE1200632AB6 /* GTMNSData+zlib.m in Sources */,
+				71DF742B1C57560600F2789C /* Reachability.m in Sources */,
+				7162A5701C58728D00AB630E /* DetailHeaderCell.m in Sources */,
+				71BBA2271CEAC16000C91DED /* ZipArchive.mm in Sources */,
+				7162A5491C58719D00AB630E /* RATreeView+TableViewDelegate.m in Sources */,
+				428980451E249339005F1BD8 /* JKDotView.m in Sources */,
+				7162A5B41C58738600AB630E /* ScannerControllerView.m in Sources */,
+				7162A5831C5872EF00AB630E /* HomeTableViewCellSlide.m in Sources */,
+				4289800A1E24918F005F1BD8 /* CartUtils.m in Sources */,
+				7162A5851C5872EF00AB630E /* HomeViewController.m in Sources */,
+				7162A5E31C5877CE00AB630E /* WatchListViewController.m in Sources */,
+				715001FF1D114D9100F5927F /* BundleDetailButton.m in Sources */,
+				7162A5421C58719D00AB630E /* RATreeNodeCollectionController.m in Sources */,
+				42BEAB351FA1D23B0024D647 /* EnumModel.m in Sources */,
+				71DF74631C575E7900F2789C /* CommonEditorCellSwitch.m in Sources */,
+				7162A5DE1C5876E300AB630E /* RetrievePassViewController.m in Sources */,
+				428980461E249339005F1BD8 /* JKLockButton.m in Sources */,
+				71C1D8541F456D2700CEA1C9 /* ModelDescriptionController.m in Sources */,
+				7143E212202FCF7600451903 /* CategoryCellNPD.m in Sources */,
+				7141DD541C57459B00F7DF59 /* rscode.c in Sources */,
+				42BEAB371FA1D23B0024D647 /* EnumSelectAndSortCell.m in Sources */,
+				42BEAB381FA1D23B0024D647 /* EnumSelectAndSortViewController.m in Sources */,
+				71DF74621C575E7900F2789C /* CommonEditorCellSignature.m in Sources */,
+				7162A5E01C5876E300AB630E /* SettingViewController.m in Sources */,
+				712AFEDB1DBA050200254965 /* LineDrawable.m in Sources */,
+				71DF748B1C57608F00F2789C /* SimpleGrid.m in Sources */,
+				42BEF3621E8A005800632AB6 /* GoogleAnalyst.m in Sources */,
+				71DF74651C575E7900F2789C /* CommonEditorViewController.m in Sources */,
+				7162A5171C58704600AB630E /* BundleModelViewController.m in Sources */,
+				71DF745B1C575E7900F2789C /* CommonEditorCellAction.m in Sources */,
+				7162A5411C58719D00AB630E /* RATreeNode.m in Sources */,
+				7162A5251C58706C00AB630E /* CategoryCellSmall.m in Sources */,
+				712AFEDA1DBA050200254965 /* ImageDrawable.m in Sources */,
+				428980721E24B1E9005F1BD8 /* Singleton.m in Sources */,
+				71E9F6C21F8B57E40052C78E /* RANetworkTaskDelegate.m in Sources */,
+				712C40B91C731126000E6831 /* ItemNotesViewController.m in Sources */,
+				7162A5AD1C58735900AB630E /* TearSheetParamViewController.m in Sources */,
+				7141DD611C5747CE00F7DF59 /* NSData+Base64.m in Sources */,
+				71BBA2431CEAEF0700C91DED /* zip.c in Sources */,
+				7141DD5F1C5747CE00F7DF59 /* AESCrypt.m in Sources */,
+				7162A5991C58733400AB630E /* OrderDetailHtmlCell.m in Sources */,
+				7162A5091C586FC100AB630E /* CycleScrollView.m in Sources */,
+				715F30BD1DAB37EB00490EED /* OfflineUnlockViewController.m in Sources */,
+				7162A5161C58704600AB630E /* BundleModelCell.m in Sources */,
+				42DC12F11F0CD98E00A4C011 /* OrderDetailPickInfoCell.m in Sources */,
+				7141DD621C5747CE00F7DF59 /* NSData+CommonCrypto.m in Sources */,
+				712AFED71DBA050200254965 /* BasicDrawable.m in Sources */,
+				71DF74891C57608F00F2789C /* RadioButton.m in Sources */,
+				7162A5DF1C5876E300AB630E /* ScannerSettingViewController.m in Sources */,
+				71DF74661C575E7900F2789C /* DatePickerViewController.m in Sources */,
+				71DF74831C57608F00F2789C /* ImageScrollerView.m in Sources */,
+				71DF74871C57608F00F2789C /* NIDropDown.m in Sources */,
+				710274251CC606C4009FD219 /* UserListViewController.m in Sources */,
+				71DF74881C57608F00F2789C /* PulldownMenu.m in Sources */,
+				7141DD551C57459B00F7DF59 /* split.c in Sources */,
+				719562421CF5828200C74A49 /* DefaultTableHeaderView.m in Sources */,
+				716AF8E11D7AA0E0001188E0 /* SelectUploadOrderViewController.m in Sources */,
+				42D3A4A61EFA7346007A54C1 /* VideoPreviewCell.m in Sources */,
+				712AFEDF1DBA050200254965 /* TextDrawable.m in Sources */,
+				7162A5611C58724700AB630E /* CustomerInfoViewController.m in Sources */,
+				7162A5AB1C58735900AB630E /* PDFListViewController.m in Sources */,
+				71DF74681C575E7900F2789C /* EnumSelectViewController.m in Sources */,
+				42BEF3531E89FE1200632AB6 /* README.md in Sources */,
+				428980471E249339005F1BD8 /* JKLockController.m in Sources */,
+				71D99D301CEF02E700CA32DE /* CustomIOSAlertView.m in Sources */,
+				7162A5731C58728D00AB630E /* DetailTopicCell.m in Sources */,
+				71BBA2421CEAEF0700C91DED /* unzip.c in Sources */,
+				7162A5AA1C58735900AB630E /* PDFListTableViewCell.m in Sources */,
+				7162A5AC1C58735900AB630E /* PortfolioViewController.m in Sources */,
+				71D01B1C1E0A2055006620CE /* TextUtils.m in Sources */,
+				71DF748C1C57608F00F2789C /* StrikethroughLabel.m in Sources */,
+				7162A5981C58733400AB630E /* CreateOrderViewController.m in Sources */,
+				4289809E1E24B526005F1BD8 /* JKTimerManager.m in Sources */,
+				7162A5021C586F5B00AB630E /* AddressEditorViewController.m in Sources */,
+				71131F921CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.m in Sources */,
+				7162A55C1C58724700AB630E /* ContactListTableViewCell.m in Sources */,
+				71DF745C1C575E7900F2789C /* CommonEditorCellEdit.m in Sources */,
+				7186C25D1C97A6EE00CB43F4 /* FunctionTestViewController.m in Sources */,
+				71DF74691C575E7900F2789C /* MonthPickerViewController.m in Sources */,
+				71DF74371C575D6600F2789C /* CommonGridViewController.m in Sources */,
+				71C1D84E1F456CAA00CEA1C9 /* HWWeakTimer.m in Sources */,
+				71D0344F1C9BF3C400E0F7AD /* PortfolioEditQTYViewController.m in Sources */,
+				7162A5B51C58738600AB630E /* ScannerViewController.m in Sources */,
+				716AF8E71D7AA398001188E0 /* SelectOrderTableViewCell.m in Sources */,
+				713F76BA1929F4A7006A7305 /* AppDelegate.m in Sources */,
+				71BF06FB1D2F3CAC00981938 /* OLDataProvider.m in Sources */,
+				7162A59B1C58733400AB630E /* OrderDetailModelCell.m in Sources */,
+				7162A5E91C5899F700AB630E /* MainViewController.m in Sources */,
+				71D01B1B1E0A2055006620CE /* PDFUtils.m in Sources */,
+				42E153C81FC57A3D00C36077 /* CommonEditorTableContainerView.m in Sources */,
+				7141DD4F1C57459B00F7DF59 /* mask.c in Sources */,
+				7162A54E1C58722200AB630E /* CreditCardEditorViewController.m in Sources */,
+				7162A5C31C5873BB00AB630E /* ItemSearchFilterViewController.m in Sources */,
+				71D30A2D1CFC0EF8006F9477 /* DefaultImageButton.m in Sources */,
+				7162A5841C5872EF00AB630E /* HomeTableViewCellTopic.m in Sources */,
+				7162A59F1C58733400AB630E /* OrderListViewController.m in Sources */,
+				4254CCDE1FB1AC2B00C8B4B6 /* RAOrderEditorViewController.m in Sources */,
+				712AFEE21DBA077F00254965 /* pdfCreator.m in Sources */,
+				71BBA2401CEAEF0700C91DED /* ioapi.c in Sources */,
+				71DF74641C575E7900F2789C /* CommonEditorCellTextView.m in Sources */,
+				7162A5461C58719D00AB630E /* RATreeView+Enums.m in Sources */,
+				7162A54B1C58719D00AB630E /* RAViewController.m in Sources */,
+				71BBA2411CEAEF0700C91DED /* mztools.c in Sources */,
+				7162A59C1C58733400AB630E /* OrderDetailPriceCell.m in Sources */,
+				715850461CF6F0E500856B20 /* DefaultAppearance.m in Sources */,
+				71DF74301C57572600F2789C /* RAUtils.m in Sources */,
+				4295AE1C1FE74D46007BE365 /* CommonEditorAutoCompleteView.m in Sources */,
+				7162A5B61C58738600AB630E /* SCShapeView.m in Sources */,
+				71CB70751F99DF02009FDCB7 /* FileCache.m in Sources */,
+				7162A54A1C58719D00AB630E /* RATreeView+UIScrollView.m in Sources */,
+				7162A55D1C58724700AB630E /* ContactListViewController.m in Sources */,
+				7162A5751C58728D00AB630E /* LineView.m in Sources */,
+				712AFEDD1DBA050200254965 /* RAPDFPage.m in Sources */,
+				428980481E249339005F1BD8 /* JKMessageBoxController.m in Sources */,
+				7162A5741C58728D00AB630E /* DetailViewController.m in Sources */,
+				71DF748E1C57608F00F2789C /* UILabel+FontAppearance.m in Sources */,
+				712C40B61C7310F4000E6831 /* CartGeneralNotesViewController.m in Sources */,
+				712AFEDE1DBA050200254965 /* TableDrawable.m in Sources */,
+				7162A5CB1C58761500AB630E /* SignatureViewController.m in Sources */,
+				7162A5DD1C5876E300AB630E /* PopupNavigationController.m in Sources */,
+				7162A59E1C58733400AB630E /* OrderListTableViewCell.m in Sources */,
+				71DF746A1C575E7900F2789C /* SRMonthPicker.m in Sources */,
+				714B1F401C7BF74100539193 /* OrderDetailSignatureCell.m in Sources */,
+				4289802E1E2492D2005F1BD8 /* SetCategoryPriceController.m in Sources */,
+				71DF745D1C575E7900F2789C /* CommonEditorCellEnum.m in Sources */,
+				71D01B1A1E0A2055006620CE /* ImageUtils.m in Sources */,
+				7141DD521C57459B00F7DF59 /* qrinput.c in Sources */,
+				7162A5601C58724700AB630E /* CustomerEditViewController.m in Sources */,
+				718B91831C75638100265FFF /* TouchImageView.m in Sources */,
+				7162A5DC1C5876E300AB630E /* LoginViewController.m in Sources */,
+				42BEF3561E89FE1200632AB6 /* README.md in Sources */,
+				4289805D1E249375005F1BD8 /* UIColor+JK_HEX.m in Sources */,
+				7162A5811C5872EF00AB630E /* HomeTableViewCellBanner.m in Sources */,
+				7162A5E61C58781000AB630E /* iSalesNavigationController.m in Sources */,
+				7141DD631C5747CE00F7DF59 /* NSString+Base64.m in Sources */,
+				71E9F6BC1F8B52DD0052C78E /* NetworkUtils.m in Sources */,
+				7162A5C41C5873BB00AB630E /* ItemSearchViewController.m in Sources */,
+				7162A5481C58719D00AB630E /* RATreeView+TableViewDataSource.m in Sources */,
+				71CB70781F99E338009FDCB7 /* RAConvertor.m in Sources */,
+				42D3A4A31EFA6D36007A54C1 /* PhotoPreviewCell.m in Sources */,
+				7162A5DB1C5876E300AB630E /* CacheViewController.m in Sources */,
+				7162A5C21C5873BB00AB630E /* FilterCellValue.m in Sources */,
+				71DF74971C57614C00F2789C /* PhotoStackView.m in Sources */,
+				7162A50B1C586FC100AB630E /* SliderPage.m in Sources */,
+				712BABF31C897E3A0007466B /* CategorySearchFilterViewController.m in Sources */,
+				71DF74981C57614C00F2789C /* PhotoStackViewController.m in Sources */,
+				428980151E24924D005F1BD8 /* SortButton.m in Sources */,
+				7162A59A1C58733400AB630E /* OrderDetailInfoCell.m in Sources */,
+				7162A5471C58719D00AB630E /* RATreeView+Private.m in Sources */,
+				428980041E2490C1005F1BD8 /* NotificationNameCenter.m in Sources */,
+				4289802C1E2492D2005F1BD8 /* CategoryPriceViewController.m in Sources */,
+				42BEF3511E89FE1200632AB6 /* CHANGELOG.md in Sources */,
+				42BEF35A1E89FE1200632AB6 /* README.md in Sources */,
+				71DF748D1C57608F00F2789C /* TouchLabel.m in Sources */,
+				71BF33031EFA1D6100842CB4 /* YTViewController.m in Sources */,
+				428980171E24924D005F1BD8 /* SortItemViewController.m in Sources */,
+				42D3A4A11EFA6D36007A54C1 /* ContentPreviewController.m in Sources */,
+				7162A5711C58728D00AB630E /* DetailImageCell.m in Sources */,
+				7162A51A1C58704600AB630E /* ModelItemCell.m in Sources */,
+				7141DD511C57459B00F7DF59 /* qrencode.c in Sources */,
+				7162A5451C58719D00AB630E /* RATreeView.m in Sources */,
+				7162A4FE1C585FFB00AB630E /* RAPDFViewController.m in Sources */,
+				71DF74841C57608F00F2789C /* ImageScrollerViewController.m in Sources */,
+				71DF74861C57608F00F2789C /* ImageViewController.m in Sources */,
+				7162A5821C5872EF00AB630E /* HomeTableViewCellButtonBanner.m in Sources */,
+				713F76B61929F4A7006A7305 /* main.m in Sources */,
+				71BF06FE1D2F3CBA00981938 /* OfflineSettingViewController.m in Sources */,
+				71DF74611C575E7900F2789C /* CommonEditorCellModel.m in Sources */,
+				71DF74341C5757DA00F2789C /* ActiveViewController.m in Sources */,
+				7162A5431C58719D00AB630E /* RATreeNodeInfo.m in Sources */,
+				7162A4FF1C585FFB00AB630E /* WebViewController.m in Sources */,
+				71FFBBE91C60894900D91DC2 /* iSalesDB.m in Sources */,
+				7162A55B1C58724700AB630E /* ContactAdvanceSearchViewController.m in Sources */,
+				7162A5441C58719D00AB630E /* RATreeNodeInfo+Private.m in Sources */,
+				7162A5C51C5873BB00AB630E /* SearchViewController.m in Sources */,
+				7162A5191C58704600AB630E /* EditModelPriceViewController.m in Sources */,
+				7162A5721C58728D00AB630E /* DetailKVCell.m in Sources */,
+				7141DD501C57459B00F7DF59 /* QRCodeGenerator.m in Sources */,
+				715671331E10A0EF006324A0 /* RectDrawable.m in Sources */,
+				4289802B1E2492D2005F1BD8 /* CategoryPriceCell.m in Sources */,
+				7162A5DA1C5876E300AB630E /* AboutViewController.m in Sources */,
+				7141DD4E1C57459B00F7DF59 /* bitstream.c in Sources */,
+				71DF74851C57608F00F2789C /* ImageUploadViewController.m in Sources */,
+				7162A5CA1C58761500AB630E /* SignatureView.m in Sources */,
+				7162A5181C58704600AB630E /* CartViewController.m in Sources */,
+				71DF74601C575E7900F2789C /* CommonEditorCellMAction.m in Sources */,
+				42BF67CC1E5179970081F90A /* ERPUtils.m in Sources */,
+				42FD1A031FBD1A3000C5D9A8 /* RAOrderPreviewController.m in Sources */,
+				71DF745F1C575E7900F2789C /* CommonEditorCellLabel.m in Sources */,
+				7141DD3C1C5726B700F7DF59 /* ScanApiHelper.mm in Sources */,
+				7162A5261C58706C00AB630E /* CategoryViewController.m in Sources */,
+				7162A50A1C586FC100AB630E /* NSTimer+Addition.m in Sources */,
+				71BF33021EFA1D6100842CB4 /* YTPlayerView.m in Sources */,
+				71DF745E1C575E7900F2789C /* CommonEditorCellImg.m in Sources */,
+				712AFED91DBA050200254965 /* GroupDrawable.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+		713F76B21929F4A7006A7305 /* InfoPlist.strings */ = {
+			isa = PBXVariantGroup;
+			children = (
+				713F76B31929F4A7006A7305 /* en */,
+			);
+			name = InfoPlist.strings;
+			sourceTree = "<group>";
+		};
+		7143E208202FCEEB00451903 /* OLM.storyboard */ = {
+			isa = PBXVariantGroup;
+			children = (
+				7143E209202FCEEB00451903 /* Base */,
+			);
+			name = OLM.storyboard;
+			sourceTree = "<group>";
+		};
+		7143E20A202FCEEC00451903 /* Main.storyboard */ = {
+			isa = PBXVariantGroup;
+			children = (
+				7143E20B202FCEEC00451903 /* Base */,
+			);
+			name = Main.storyboard;
+			sourceTree = "<group>";
+		};
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+		713F76D61929F4A7006A7305 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_TESTABILITY = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				HEADER_SEARCH_PATHS = (
+					"$(PROJECT_DIR)/ScanApiSDK-10.2.227-2/include",
+					"$(PROJECT_DIR)/common/qrcode",
+					"$(PROJECT_DIR)/common/CommonEditor",
+				);
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/ScanApiSDK-10.2.227-2/lib";
+				ONLY_ACTIVE_ARCH = YES;
+				SDKROOT = iphoneos;
+				TARGETED_DEVICE_FAMILY = 2;
+			};
+			name = Debug;
+		};
+		713F76D71929F4A7006A7305 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_EMPTY_BODY = YES;
+				CLANG_WARN_ENUM_CONVERSION = YES;
+				CLANG_WARN_INFINITE_RECURSION = YES;
+				CLANG_WARN_INT_CONVERSION = YES;
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				COPY_PHASE_STRIP = YES;
+				ENABLE_NS_ASSERTIONS = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu99;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				HEADER_SEARCH_PATHS = (
+					"$(PROJECT_DIR)/ScanApiSDK-10.2.227-2/include",
+					"$(PROJECT_DIR)/common/qrcode",
+					"$(PROJECT_DIR)/common/CommonEditor",
+				);
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/ScanApiSDK-10.2.227-2/lib";
+				SDKROOT = iphoneos;
+				TARGETED_DEVICE_FAMILY = 2;
+				VALIDATE_PRODUCT = YES;
+			};
+			name = Release;
+		};
+		713F76D91929F4A7006A7305 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CODE_SIGN_IDENTITY = "iPhone Developer";
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				DEVELOPMENT_TEAM = HXWLAA5YN5;
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/GoogleAnalytics/FirebaseAnalytics/Frameworks",
+					"$(PROJECT_DIR)/GoogleAnalytics/FirebaseCore/Frameworks",
+					"$(PROJECT_DIR)/GoogleAnalytics/FirebaseInstanceID/Frameworks",
+					"$(PROJECT_DIR)/GoogleAnalytics/Google/Frameworks",
+				);
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "iSales-USAI/iSales-USAI-Prefix.pch";
+				INFOPLIST_FILE = "$(SRCROOT)/iSales-USAI/iSales-USAI-Info.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				LIBRARY_SEARCH_PATHS = (
+					"$(PROJECT_DIR)/ScanApiSDK-10.2.227-2/lib",
+					"$(PROJECT_DIR)/GoogleAnalytics/GoogleAnalytics/Libraries",
+				);
+				OTHER_LDFLAGS = (
+					"$(inherited)",
+					"-ObjC",
+					"-framework",
+					"\"CoreGraphics\"",
+					"-framework",
+					"\"MobileCoreServices\"",
+					"-framework",
+					"\"Security\"",
+					"-framework",
+					"\"SystemConfiguration\"",
+					"-v",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = "usai.apex.USAI-Mobile";
+				PRODUCT_NAME = "USAI Mobile";
+				PROVISIONING_PROFILE = "";
+				WRAPPER_EXTENSION = app;
+			};
+			name = Debug;
+		};
+		713F76DA1929F4A7006A7305 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CODE_SIGN_IDENTITY = "iPhone Developer";
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				DEVELOPMENT_TEAM = HXWLAA5YN5;
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/GoogleAnalytics/FirebaseAnalytics/Frameworks",
+					"$(PROJECT_DIR)/GoogleAnalytics/FirebaseCore/Frameworks",
+					"$(PROJECT_DIR)/GoogleAnalytics/FirebaseInstanceID/Frameworks",
+					"$(PROJECT_DIR)/GoogleAnalytics/Google/Frameworks",
+				);
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "iSales-USAI/iSales-USAI-Prefix.pch";
+				INFOPLIST_FILE = "$(SRCROOT)/iSales-USAI/iSales-USAI-Info.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+				LIBRARY_SEARCH_PATHS = (
+					"$(PROJECT_DIR)/ScanApiSDK-10.2.227-2/lib",
+					"$(PROJECT_DIR)/GoogleAnalytics/GoogleAnalytics/Libraries",
+				);
+				OTHER_LDFLAGS = (
+					"$(inherited)",
+					"-ObjC",
+					"-framework",
+					"\"CoreGraphics\"",
+					"-framework",
+					"\"MobileCoreServices\"",
+					"-framework",
+					"\"Security\"",
+					"-framework",
+					"\"SystemConfiguration\"",
+					"-v",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = "usai.apex.USAI-Mobile";
+				PRODUCT_NAME = "USAI Mobile";
+				PROVISIONING_PROFILE = "";
+				WRAPPER_EXTENSION = app;
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		713F76A11929F4A7006A7305 /* Build configuration list for PBXProject "iSales-USAI" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				713F76D61929F4A7006A7305 /* Debug */,
+				713F76D71929F4A7006A7305 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		713F76D81929F4A7006A7305 /* Build configuration list for PBXNativeTarget "iSales-USAI" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				713F76D91929F4A7006A7305 /* Debug */,
+				713F76DA1929F4A7006A7305 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 713F769E1929F4A7006A7305 /* Project object */;
+}

+ 7 - 0
RedAnt ERP Mobile/iSales-USAI.xcodeproj/project.xcworkspace/contents.xcworkspacedata

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "self:RedAnt ERP Mobile.xcodeproj">
+   </FileRef>
+</Workspace>

+ 46 - 0
RedAnt ERP Mobile/iSales-USAI.xcodeproj/project.xcworkspace/xcshareddata/RedAnt ERP Mobile.xccheckout

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IDESourceControlProjectFavoriteDictionaryKey</key>
+	<false/>
+	<key>IDESourceControlProjectIdentifier</key>
+	<string>866EDB29-E53F-4947-AAD8-0106EEF96A27</string>
+	<key>IDESourceControlProjectName</key>
+	<string>RedAnt ERP Mobile</string>
+	<key>IDESourceControlProjectOriginsDictionary</key>
+	<dict>
+		<key>67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455</key>
+		<string>svn://209.49.111.29/ERPSuiteIOS</string>
+	</dict>
+	<key>IDESourceControlProjectPath</key>
+	<string>RedAnt ERP Suite/RedAnt ERP Mobile.xcodeproj</string>
+	<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
+	<dict>
+		<key>67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455</key>
+		<string>../../..</string>
+	</dict>
+	<key>IDESourceControlProjectRepositoryRootDictionary</key>
+	<dict>
+		<key>67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455</key>
+		<string>svn://209.49.111.29</string>
+	</dict>
+	<key>IDESourceControlProjectURL</key>
+	<string>svn://209.49.111.29/ERPSuiteIOS/RedAnt%20ERP%20Suite/RedAnt%20ERP%20Mobile.xcodeproj</string>
+	<key>IDESourceControlProjectVersion</key>
+	<integer>111</integer>
+	<key>IDESourceControlProjectWCCIdentifier</key>
+	<string>67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455</string>
+	<key>IDESourceControlProjectWCConfigurations</key>
+	<array>
+		<dict>
+			<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
+			<string>public.vcs.subversion</string>
+			<key>IDESourceControlWCCIdentifierKey</key>
+			<string>67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455</string>
+			<key>IDESourceControlWCCName</key>
+			<string>ERPSuiteIOS</string>
+		</dict>
+	</array>
+</dict>
+</plist>

+ 25 - 0
RedAnt ERP Mobile/iSales-USAI.xcodeproj/project.xcworkspace/xcshareddata/RedAnt ERP Mobile.xcscmblueprint

@@ -0,0 +1,25 @@
+{
+  "DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455",
+  "DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : {
+    "67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455" : {
+
+    }
+  },
+  "DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : {
+    "67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455" : 0
+  },
+  "DVTSourceControlWorkspaceBlueprintIdentifierKey" : "866EDB29-E53F-4947-AAD8-0106EEF96A27",
+  "DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : {
+    "67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455" : "ERPSuiteIOS"
+  },
+  "DVTSourceControlWorkspaceBlueprintNameKey" : "RedAnt ERP Mobile",
+  "DVTSourceControlWorkspaceBlueprintVersion" : 204,
+  "DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "RedAnt ERP Suite\/RedAnt ERP Mobile.xcodeproj",
+  "DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey" : [
+    {
+      "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "svn:\/\/209.49.111.29",
+      "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Subversion",
+      "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "67e474b5-b905-4d42-b5e5-8f9a51e6c439++6455"
+    }
+  ]
+}

+ 46 - 0
RedAnt ERP Mobile/iSales-USAI.xcodeproj/project.xcworkspace/xcshareddata/RedAnt ERP Suite.xccheckout

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IDESourceControlProjectFavoriteDictionaryKey</key>
+	<false/>
+	<key>IDESourceControlProjectIdentifier</key>
+	<string>D67AF69E-B377-4778-B4B4-700FF77C6795</string>
+	<key>IDESourceControlProjectName</key>
+	<string>RedAnt ERP Suite</string>
+	<key>IDESourceControlProjectOriginsDictionary</key>
+	<dict>
+		<key>20B88275-06DC-4903-B545-CE87ABCF55EB</key>
+		<string>svn://209.49.111.29/ERPSuiteIOS/RedAnt%20ERP%20Suite</string>
+	</dict>
+	<key>IDESourceControlProjectPath</key>
+	<string>RedAnt ERP Suite/RedAnt ERP Suite.xcodeproj/project.xcworkspace</string>
+	<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
+	<dict>
+		<key>20B88275-06DC-4903-B545-CE87ABCF55EB</key>
+		<string>../..</string>
+	</dict>
+	<key>IDESourceControlProjectRepositoryRootDictionary</key>
+	<dict>
+		<key>20B88275-06DC-4903-B545-CE87ABCF55EB</key>
+		<string>svn://209.49.111.29</string>
+	</dict>
+	<key>IDESourceControlProjectURL</key>
+	<string>svn://209.49.111.29/ERPSuiteIOS/RedAnt%20ERP%20Suite/RedAnt%20ERP%20Suite.xcodeproj</string>
+	<key>IDESourceControlProjectVersion</key>
+	<integer>110</integer>
+	<key>IDESourceControlProjectWCCIdentifier</key>
+	<string>20B88275-06DC-4903-B545-CE87ABCF55EB</string>
+	<key>IDESourceControlProjectWCConfigurations</key>
+	<array>
+		<dict>
+			<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
+			<string>public.vcs.subversion</string>
+			<key>IDESourceControlWCCIdentifierKey</key>
+			<string>20B88275-06DC-4903-B545-CE87ABCF55EB</string>
+			<key>IDESourceControlWCCName</key>
+			<string>RedAnt ERP Suite</string>
+		</dict>
+	</array>
+</dict>
+</plist>

BIN
RedAnt ERP Mobile/iSales-USAI.xcodeproj/project.xcworkspace/xcuserdata/Ray.xcuserdatad/UserInterfaceState.xcuserstate


+ 10 - 0
RedAnt ERP Mobile/iSales-USAI.xcodeproj/project.xcworkspace/xcuserdata/Ray.xcuserdatad/WorkspaceSettings.xcsettings

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges</key>
+	<true/>
+	<key>SnapshotAutomaticallyBeforeSignificantChanges</key>
+	<true/>
+</dict>
+</plist>

+ 82 - 0
RedAnt ERP Mobile/iSales-USAI.xcodeproj/project.xcworkspace/xcuserdata/Ray.xcuserdatad/xcdebugger/Expressions.xcexplist

@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<VariablesViewState
+   version = "1.0">
+   <ContextStates>
+      <ContextState
+         contextName = "-[OrderListViewController LongPress:row:]:OrderListViewController.m">
+         <PersistentStrings>
+            <PersistentString
+               value = "view.frame">
+            </PersistentString>
+         </PersistentStrings>
+      </ContextState>
+      <ContextState
+         contextName = "-[MainViewController switchToCagegory:]:MainViewController.m">
+         <PersistentStrings>
+            <PersistentString
+               value = "self.categoryViewController.cagegoryLabel.text">
+            </PersistentString>
+         </PersistentStrings>
+      </ContextState>
+      <ContextState
+         contextName = "-[TopicViewController collectionView:didSelectItemAtIndexPath:]:TopicViewController.m">
+         <PersistentStrings>
+            <PersistentString
+               value = "self.parentViewController">
+            </PersistentString>
+         </PersistentStrings>
+      </ContextState>
+      <ContextState
+         contextName = "__58-[CategoryViewController tableView:cellForRowAtIndexPath:]_block_invoke:CategoryViewController.m">
+         <PersistentStrings>
+            <PersistentString
+               value = "_detail_data">
+            </PersistentString>
+         </PersistentStrings>
+      </ContextState>
+      <ContextState
+         contextName = "-[MainViewController categoryString:node:]:MainViewController.m">
+      </ContextState>
+      <ContextState
+         contextName = "-[OrderListViewController gestureRecognizer:shouldReceiveTouch:]:OrderListViewController.m">
+         <PersistentStrings>
+            <PersistentString
+               value = "[touch.view class]">
+            </PersistentString>
+         </PersistentStrings>
+      </ContextState>
+      <ContextState
+         contextName = "-[CommonEditorViewController tableView:cellForRowAtIndexPath:]:CommonEditorViewController.m">
+         <PersistentStrings>
+            <PersistentString
+               value = "UIKeyboardTypeDecimalPad">
+            </PersistentString>
+         </PersistentStrings>
+      </ContextState>
+      <ContextState
+         contextName = "-[CategoryViewController scrollViewDidScroll:]:CategoryViewController.m">
+         <PersistentStrings>
+            <PersistentString
+               value = "_collectionview.contentSize">
+            </PersistentString>
+            <PersistentString
+               value = "frame.size">
+            </PersistentString>
+         </PersistentStrings>
+      </ContextState>
+      <ContextState
+         contextName = "-[CategoryViewController tableView:cellForRowAtIndexPath:]:CategoryViewController.m">
+         <PersistentStrings>
+            <PersistentString
+               value = "section_json">
+            </PersistentString>
+            <PersistentString
+               value = "indexPath">
+            </PersistentString>
+         </PersistentStrings>
+      </ContextState>
+      <ContextState
+         contextName = "-[CommonEditorViewController keyboardWillShow:]:CommonEditorViewController.m">
+      </ContextState>
+   </ContextStates>
+</VariablesViewState>

+ 14 - 0
RedAnt ERP Mobile/iSales-USAI.xcodeproj/xcuserdata/ray.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>SchemeUserState</key>
+	<dict>
+		<key>iSales-USAI.xcscheme</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>5</integer>
+		</dict>
+	</dict>
+</dict>
+</plist>

+ 149 - 0
RedAnt ERP Mobile/iSales-USAI/AppDelegate.h

@@ -0,0 +1,149 @@
+//
+//  AppDelegate.h
+//  RedAnt ERP Suite
+//
+//  Created by Ray on 14-5-19.
+//  Copyright (c) 2014年 United Software Applications, Inc. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "iSalesDB.h"
+#import "ScanApiHelper.h"
+//#import "MainViewController.h"
+#import "ActiveViewController.h"
+#import "SyncControlPanelViewController.h"
+
+
+@interface AppDelegate : UIResponder <UIApplicationDelegate,ScanApiHelperDelegate , NSURLConnectionDataDelegate>
+
+@property (strong, nonatomic) UIWindow *window;
+@property (strong,nonatomic) NSString* user;
+@property (strong,nonatomic) NSString * password;
+@property (strong,nonatomic) NSString * user_icon;
+//@property (strong,nonatomic) NSString * sessionid;
+@property (strong,nonatomic) NSString * duid;
+@property bool bLogin;
+@property bool bEnable_Cache;
+@property long user_type;
+@property (strong , nonatomic) NSString* contact_id;
+
+
+@property (strong , nonatomic) NSString* order_customer_id;
+//@property (strong , nonatomic) NSString* contact_name;
+@property (strong,nonatomic)NSDictionary* categoryMenu;
+
+@property (strong,nonatomic)UIViewController* active_controller;
+
+@property (strong,nonatomic)NSMutableDictionary* customerInfo;
+@property (strong,nonatomic)NSMutableDictionary* recent_model;
+
+@property (strong,nonatomic) NSString* order_code;
+@property  int order_status;
+//@property (strong,nonatomic) NSString* so;
+@property (strong,nonatomic) UIViewController* main_vc;
+
+@property (strong,nonatomic) NSString* build;
+-(void) Logout;
+-(void) SetMode:(NSString*)mode;
+@property (strong,nonatomic) NSString* mode;
+-(void) SetSo:(NSString*)So;
+
+-(void) switchToPreviousVC;
+
+-(void) closeOrder;
+
+@property long wish_count;
+@property long cart_count;
+@property long port_count;
+
+@property (nonatomic,assign) bool offline_mode;
+
+@property bool can_show_price;
+@property (nonatomic,assign) bool can_see_price;
+@property bool can_create_portfolio;
+@property bool can_cancel_order;
+@property bool can_set_cart_price;
+@property bool can_create_order;
+@property bool can_delete_order;
+@property bool can_submit_order;
+@property bool can_set_tearsheet_price;
+@property bool can_update_contact_info;
+@property bool submit_order_logout;
+@property bool save_order_logout;
+@property bool alert_sold_in_quantities;
+@property(readonly) bool price_hidden;
+
+
+-(void) set_priceHidden:(bool)price_hidden;
+
+-(void) set_main_button_panel;
+
+//@property bool can_show_price;
+//@property bool can_show_price;
+//@property bool can_show_price;
+
+@property (strong , nonatomic) NSString* ipad_perm;
+
+-(void) update_count_mark;
+// downloader
+-(void) check_offline:(NSString*) ver useInternalAddress:(bool)buseinternaladdress parentvc:(UIViewController*) parent;
+@property bool disable_trigger;
+
+@property (nonatomic, strong) SyncControlPanelViewController *settingUI;
+@property (nonatomic, strong) NSFileHandle *fileHandle;
+//@property (nonatomic, assign) long long currentLength; //>>写入文件的长度
+//@property (nonatomic, assign) long long fileLength; //>>文件长度
+//@property (nonatomic, strong) NSString *fileName;   //>>文件名
+@property (nonatomic, strong) NSURLConnection *connection;
+@property double file_progress;
+@property double overall_progress;
+@property (strong, nonatomic) NSString* downloadlog;
+@property (strong, nonatomic) NSString* vid;
+@property bool downloading;
+-(void) add_downloadlog:(NSString*) newtext;
+@property (strong, nonatomic) NSMutableDictionary* download_task;
+@property int current_task;
+//scanner
+#define API_START 1
+#define API_STOP 3
+#define API_INIT 0
+#define API_CLOSING 2
+
+
+@property (strong, nonatomic) ScanApiHelper* ScanApi;
+@property (strong, nonatomic) NSTimer* ScanApiConsumer;
+@property (nonatomic) BOOL doAppDataConfirmation;
+@property (strong, nonatomic) NSString *scanApiVersion;
+@property (strong, nonatomic) NSString* log;
+@property BOOL softScannerEnabled;
+-(void) addlog:(NSString*) newtext;
+@property bool enable_ScannerLog;
+@property (strong,nonatomic) NSMutableArray* devices;
+- (void)enableScanner:(bool)enable ;
+@property int api_Status;
+@property (strong, nonatomic) NSString* Status_Text;
+
+//-(void) didRotated;
+
+// scanner test
+-(void) test_onDecodedDataResult:(NSString*) value;
+
+// printer
+
+@property (strong, nonatomic) NSString * printerURL;
+-(void) printPdf:(NSString*) url company:(NSString*)company send_to:(NSString*)send_to soid:(NSString*)soid content:(NSString*)content;
+@property (strong, nonatomic) NSMutableDictionary* OrderFilter;
+
+@property (nonatomic,strong) NSMutableDictionary *urgencyDic;///<程序闪退需要保存的数据
+
+@property (nonatomic,assign) BOOL can_create_backorder;
+
+#pragma mark - Global Param Begin
+
+- (void)setGlobalParameter:(id)param forKey:(NSString *)key;
+- (id)globalParameterForKey:(NSString *)key;
+
+#pragma mark - Globale Param End
+
+
+@end

+ 3161 - 0
RedAnt ERP Mobile/iSales-USAI/AppDelegate.m

@@ -0,0 +1,3161 @@
+//
+//  AppDelegate.m
+//  RedAnt ERP Suite
+//
+//  Created by Ray on 14-5-19.
+//  Copyright (c) 2014年 United Software Applications, Inc. All rights reserved.
+//
+
+#import "AppDelegate.h"
+#import "UILabel+FontAppearance.h"
+#import "MainViewController.h"
+#import "RAPDFViewController.h"
+#import "ZipArchive.h"
+#import "DefaultAppearance.h"
+#import "OLDataProvider.h"
+//#import "AFHTTPSessionManager.h"
+#import "SelectUploadOrderViewController.h"
+#import "iSalesDB.h"
+#import "RANetwork.h"
+#import "NotificationNameCenter.h"
+#import "CustomerEditViewController.h"
+#import "CreateOrderViewController.h"
+#import "OrderDetailViewController.h"
+#import "AddressEditorViewController.h"
+#import "config.h"
+#import "Singleton.h"
+#import "Analytics.h"
+#import "GoogleAnalyst.h"
+#import "ERPUtils.h"
+#import "RANetwork.h"
+#ifdef BACKORDER_PROCESS
+#import "RAOrderEditorViewController.h"
+#endif
+#import "RAConvertor.h"
+
+#define UNZIP_OPEN_FAILED 0
+#define UNZIP_SUCCESS 1
+#define UNZIP_NO_SPACE 2
+#define UNZIP_FILE_DAMAGE 3
+
+
+
+@interface AppDelegate ()
+
+@property (nonatomic,strong) NSMutableDictionary *globalParameters;
+
+@property (nonatomic,strong) NSDate *forgroundDate;
+
+@end
+
+@implementation AppDelegate
+{
+#ifdef USE_SOFTSCAN
+    DeviceInfo* _softScanDeviceInfo;
+#endif
+    DeviceInfo* _deviceInfoToTrigger;
+}
+@synthesize price_hidden = _price_hidden;
+@synthesize ScanApi;
+@synthesize ScanApiConsumer;
+@synthesize scanApiVersion;
+//@synthesize devices;
+
+#pragma mark - Global Parameter
+
+- (NSMutableDictionary *)globalParameters {
+    if (!_globalParameters) {
+        _globalParameters = [NSMutableDictionary dictionary];
+    }
+    return _globalParameters;
+}
+
+
+- (void)setGlobalParameter:(id)param forKey:(NSString *)key {
+    if (param == nil || key == nil) {
+        return;
+    }
+    [self.globalParameters setObject:param forKey:key];
+}
+
+- (id)globalParameterForKey:(NSString *)key {
+    if (key == nil) {
+        return nil;
+    }
+    return [self.globalParameters objectForKey:key];
+}
+
+#pragma mark - Setter
+
+- (void)setUrgencyDic:(NSMutableDictionary *)urgencyDic {
+    _urgencyDic = urgencyDic;
+    [self setGlobalParameter:_urgencyDic forKey:@"urgencyDic"];
+}
+
+- (void)setCan_see_price:(bool)can_see_price {
+    _can_see_price = can_see_price;
+    [self setGlobalParameter:@(_can_see_price) forKey:@"can_see_price"];
+}
+
+- (void)setPrice_hidden:(bool)price_hidden {
+    _price_hidden = price_hidden;
+    [self setGlobalParameter:@(_price_hidden) forKey:@"price_hidden"];
+    
+    ActiveViewController* avc=(ActiveViewController*)self.active_controller;
+    
+    [avc showHidePrice];
+    
+}
+
+- (void)setOffline_mode:(bool)offline_mode {
+    _offline_mode = offline_mode;
+    [self setGlobalParameter:@(_offline_mode) forKey:@"offline_mode"];
+}
+
+- (void)setUser:(NSString *)user {
+    _user = user;
+    [self setGlobalParameter:_user forKey:@"user"];
+}
+
+- (void)setPassword:(NSString *)password {
+    _password = password;
+    [self setGlobalParameter:_password forKey:@"password"];
+}
+
+#pragma mark - Normal
+
+-(void) set_priceHidden:(bool)price_hidden
+{
+    [self setPrice_hidden:price_hidden];
+}
+
+-(void) setCustomerInfo:(NSMutableDictionary*)customerInfo
+{
+    if (self.user_type == USER_ROLE_CUSTOMER && _customerInfo) {
+        return;
+    }
+    [((MainViewController*)self.main_vc) reloadContact:false immediately:false];
+    [(MainViewController*)self.main_vc reloadWish:YES immediately:NO];
+    _customerInfo=customerInfo;
+    
+//    DebugLog(@"%@",_customerInfo.class);
+//    DebugLog(@"%@",customerInfo.class);
+    int count=customerInfo[@"count"];
+    //assert(count==0);
+    
+}
+-(void) set_main_button_panel
+{
+    dispatch_async(dispatch_get_main_queue(), ^{
+        if(self.main_vc==nil)
+            return;
+        MainViewController * main_vc= (MainViewController*)self.main_vc;
+        if(self.user_type==USER_ROLE_CUSTOMER)
+        {
+            main_vc.customer_bp.hidden=false;
+            main_vc.employee_bp.hidden = true;
+        }
+        else
+        {
+            main_vc.customer_bp.hidden=true;
+            main_vc.employee_bp.hidden = false;
+        }
+    });
+}
+-(void) update_count_mark
+{
+    
+    dispatch_async(dispatch_get_main_queue(), ^{
+        if(self.main_vc==nil)
+            return;
+        
+        MainViewController * main_vc= (MainViewController*)self.main_vc;
+        
+        //contact button
+        
+        
+        
+        if(self.user==nil)
+        {
+            
+            
+            [main_vc.btnContact setTitle:@"" forState:UIControlStateNormal];
+            
+            [main_vc.btnContact setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
+            main_vc.btnContact.hidden = YES;
+            
+        }
+        else
+        {
+            
+            
+            
+            NSString * contact =[self.customerInfo valueForKey:@"customer_contact"];
+            NSString * customer=[self.customerInfo valueForKey:@"customer_name"];
+            if(self.customerInfo==nil)
+            {
+                //                contact=@"No Name";    if(customerinfo==nil)
+                //                {
+                contact=@"Select Contact";
+                [main_vc.btnContact setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
+            }
+            else
+            {
+                
+                if(contact==nil||contact.length==0)
+                {
+                    contact=@"No Name";
+                    [main_vc.btnContact setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
+                }
+                else
+                {
+                    [main_vc.btnContact setTitleColor:UIColorFromRGB(0x009900) forState:UIControlStateNormal];
+                }
+            }
+            
+            NSMutableArray* arr_contact = [[NSMutableArray alloc] init];
+            if(contact.length>0)
+                [arr_contact addObject:contact];
+            if(customer.length>0)
+                [arr_contact addObject:customer];
+            
+            NSString *contact_string = [arr_contact componentsJoinedByString:@" @"];
+            
+            
+            [main_vc.btnContact setTitle:contact_string forState:UIControlStateNormal];
+            
+            
+        }
+        //cart
+        if(self.user==nil||self.cart_count==0)
+        {
+            main_vc.label_ccount.hidden = true;
+            main_vc.label_cccount.hidden=true;
+        }
+        else
+        {
+            
+            NSString* strcount;
+            if(self.cart_count>999)
+                strcount=@"999+";
+            else
+                strcount=[NSString stringWithFormat:@"%ld",self.cart_count];
+            
+            main_vc.label_ccount.text = strcount;
+            if(strcount.length==1)
+                main_vc.label_ccount.frame = CGRectMake(128, 0, 21, 21);
+            if(strcount.length==2)
+                main_vc.label_ccount.frame = CGRectMake(122, 0, 25, 21);
+            if(strcount.length==3)
+                main_vc.label_ccount.frame = CGRectMake(118, 0, 31, 21);
+            if(strcount.length==4)
+                main_vc.label_ccount.frame = CGRectMake(103, 0, 42, 21);
+            
+            main_vc.label_ccount.hidden = false;
+            
+            
+            main_vc.label_cccount.text = strcount;
+            if(strcount.length==1)
+                main_vc.label_cccount.frame = CGRectMake(128, 0, 21, 21);
+            if(strcount.length==2)
+                main_vc.label_cccount.frame = CGRectMake(122, 0, 25, 21);
+            if(strcount.length==3)
+                main_vc.label_cccount.frame = CGRectMake(118, 0, 31, 21);
+            if(strcount.length==4)
+                main_vc.label_cccount.frame = CGRectMake(103, 0, 42, 21);
+            
+            main_vc.label_cccount.hidden = false;
+            
+            
+        }
+        
+        //wishlist
+        if(self.user==nil||self.wish_count==0)
+        {
+            main_vc.label_wcount.hidden = true;
+            main_vc.label_cwcount.hidden = true;
+            
+        }
+        else
+        {
+            
+            NSString* strcount;
+            if(self.wish_count>999)
+                strcount=@"999+";
+            else
+                strcount=[NSString stringWithFormat:@"%ld",self.wish_count];
+            
+            main_vc.label_wcount.text = strcount;
+            if(strcount.length==1)
+                main_vc.label_wcount.frame = CGRectMake(433, 0, 21, 21);
+            if(strcount.length==2)
+                main_vc.label_wcount.frame = CGRectMake(433-6, 0, 25, 21);//-6
+            if(strcount.length==3)
+                main_vc.label_wcount.frame = CGRectMake(433-10, 0, 31, 21);//-10
+            if(strcount.length==4)
+                main_vc.label_wcount.frame = CGRectMake(433-21, 0, 42, 21);//-21
+            
+            
+            main_vc.label_wcount.hidden = false;
+            
+            
+            
+            main_vc.label_cwcount.text = strcount;
+            if(strcount.length==1)
+                main_vc.label_cwcount.frame = CGRectMake(433-79, 0, 21, 21);
+            if(strcount.length==2)
+                main_vc.label_cwcount.frame = CGRectMake(433-6-79, 0, 25, 21);//-6
+            if(strcount.length==3)
+                main_vc.label_cwcount.frame = CGRectMake(433-10-79, 0, 31, 21);//-10
+            if(strcount.length==4)
+                main_vc.label_cwcount.frame = CGRectMake(433-21-79, 0, 42, 21);//-21
+            
+            
+            main_vc.label_cwcount.hidden = false;
+            
+            
+        }
+    });
+    
+    
+}
+-(void) closeOrder
+{
+    self.order_code = nil;
+    self.order_customer_id = nil;
+    
+    
+    if(self.user_type!=USER_ROLE_CUSTOMER)
+    {
+        self.customerInfo = nil;
+        self.contact_id = nil;
+    }
+
+    //   [self SetMode:nil];
+    //   [self SetSo:nil];
+    
+    
+    
+    [((MainViewController*)self.main_vc) reloadCart:true immediately:false];
+    [((MainViewController*)self.main_vc) reloadOrder:true immediately:false];
+}
+-(void) switchToPreviousVC
+{
+    MainViewController * main_vc= (MainViewController*)self.main_vc;
+    
+    [main_vc switchToPreviousVC];
+}
+
+-(void) SetMode:(NSString*)mode1
+{
+    
+    __block NSString* blockmode= mode1;
+    dispatch_async(dispatch_get_main_queue(), ^{
+        
+        if(self.offline_mode)
+            blockmode =@"Regular Mode";
+        
+        if(self.main_vc==nil)
+            return;
+        
+        MainViewController * main_vc= (MainViewController*)self.main_vc;
+        
+        if(self.user==nil)
+        {
+            
+            NSString* title = [NSString stringWithFormat:@"Sign in"];
+            [main_vc.buttonUser setTitle:title forState:UIControlStateNormal];
+            
+            [main_vc.btnContact setTitle:@"" forState:UIControlStateNormal];
+            
+            [main_vc.btnContact setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
+            main_vc.btnContact.hidden = YES;
+            
+            main_vc.labelMode.text=nil;
+            [main_vc.labelMode setTextColor:UIColorFromRGB(0x336699)];
+            //        [main_vc.buttonUser setTitleColor:UIColorFromRGB(0x996633) forState:UIControlStateNormal];
+            //        main_vc.buttonUser.hidden=true;
+            //        main_vc.buttonUser.hidden=false;
+            //         [main_vc.headerView setNeedsDisplay];
+            //        [main_vc.headerView setNeedsLayout];
+            return;
+        }
+        else
+        {
+            if(self.user_type==USER_ROLE_CUSTOMER)
+            {
+                NSString* title = [NSString stringWithFormat:@"%@",self.user];
+                [main_vc.buttonUser setTitle:title forState:UIControlStateNormal];
+                main_vc.labelMode.text=nil;
+                [main_vc.labelMode setTextColor:UIColorFromRGB(0x336699)];
+                
+                //            [main_vc.buttonUser setTitleColor:UIColorFromRGB(0x996633) forState:UIControlStateNormal];
+                //            main_vc.buttonUser.hidden=true;
+                //            main_vc.buttonUser.hidden=false;
+                //             [main_vc.headerView setNeedsDisplay];
+                //            [main_vc.headerView setNeedsLayout];
+            }
+            else
+            {
+                if([blockmode isEqualToString:@"Regular Mode"])
+                {
+                    self.mode=@"RM";
+                    NSString* title = self.user;
+                    [main_vc.buttonUser setTitle:title forState:UIControlStateNormal];
+                    
+                    main_vc.labelMode.text=self.mode;
+                    [main_vc.labelMode setTextColor:UIColorFromRGB(0x336699)];
+                    //                [main_vc.buttonUser setTitleColor:UIColorFromRGB(0x996633) forState:UIControlStateNormal];
+                    //                main_vc.buttonUser.hidden=true;
+                    //                main_vc.buttonUser.hidden=false;
+                    //                 [main_vc.headerView setNeedsDisplay];
+                    //                [main_vc.headerView setNeedsLayout];
+                }
+                else
+                {
+                    
+                    self.mode=@"TM";
+                    NSString* title = self.user;
+                    [main_vc.buttonUser setTitle:title forState:UIControlStateNormal];
+                    
+                    main_vc.labelMode.text=self.mode;
+                    [main_vc.labelMode setTextColor:UIColorFromRGB(0x009966)];
+                    //                [main_vc.buttonUser setTitleColor:UIColorFromRGB(0x009966) forState:UIControlStateNormal];
+                    //                main_vc.buttonUser.hidden=true;
+                    //                main_vc.buttonUser.hidden=false;
+                    //                 [main_vc.headerView setNeedsDisplay];
+                    //                [main_vc.headerView setNeedsLayout];
+                }
+                
+
+                
+            }
+            
+            NSString * contact =[self.customerInfo valueForKey:@"customer_contact"];
+            NSString * customer=[self.customerInfo valueForKey:@"customer_name"];
+            if(self.customerInfo==nil)
+            {
+                //                contact=@"No Name";    if(customerinfo==nil)
+                //                {
+                contact=@"Select Contact";
+                [main_vc.btnContact setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
+            }
+            else
+            {
+                
+                if(contact==nil||contact.length==0)
+                {
+                    contact=@"No Name";
+                    [main_vc.btnContact setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
+                }
+                else
+                {
+                    [main_vc.btnContact setTitleColor:UIColorFromRGB(0x009900) forState:UIControlStateNormal];
+                }
+            }
+            
+            NSMutableArray* arr_contact = [[NSMutableArray alloc] init];
+            if(contact.length>0)
+                [arr_contact addObject:contact];
+            if(customer.length>0)
+                [arr_contact addObject:customer];
+            
+            NSString *contact_string = [arr_contact componentsJoinedByString:@" @"];
+            
+            
+            [main_vc.btnContact setTitle:contact_string forState:UIControlStateNormal];
+        }
+    });
+}
+
+
+-(void) SetSo:(NSString *)So
+{
+    
+    dispatch_async(dispatch_get_main_queue(), ^{
+        if(self.main_vc==nil)
+            return;
+        
+        MainViewController * main_vc= (MainViewController*)self.main_vc;
+        
+        if (self.user_type == USER_ROLE_CUSTOMER) {
+            if (So == nil) {
+                // 释放订单
+                [Singleton sharedInstance].currentOrderIsMerged = NO;
+            }
+        }
+        
+        if(self.user==nil)
+        {
+            
+            //            NSString* title = [NSString stringWithFormat:@"Sign in"];
+            main_vc.labelSo.text=nil;
+            
+            return;
+        }
+        else
+        {
+//            if(self.user_type==USER_ROLE_CUSTOMER)
+//            {
+//                
+//                
+//                main_vc.labelSo.text=nil;
+//                //            main_vc.buttonUser.hidden=true;
+//                //            main_vc.buttonUser.hidden=false;
+//                //             [main_vc.headerView setNeedsDisplay];
+//                //            [main_vc.headerView setNeedsLayout];
+//            }
+//            else
+            {
+                if(So.length==0)
+                    main_vc.labelSo.text=nil;
+                else
+                {
+                    NSString* text =[NSString stringWithFormat:@"SO#: %@",So];
+                    main_vc.labelSo.text=text;
+                }
+            }
+        }
+    });
+}
+//- (UIViewController*)topViewControllerWithRootViewController:(UIViewController*)rootViewController {
+//    if ([rootViewController isKindOfClass:[UITabBarController class]]) {
+//        UITabBarController* tabBarController = (UITabBarController*)rootViewController;
+//        return [self topViewControllerWithRootViewController:tabBarController.selectedViewController];
+//    } else if ([rootViewController isKindOfClass:[UINavigationController class]]) {
+//        UINavigationController* navigationController = (UINavigationController*)rootViewController;
+//        return [self topViewControllerWithRootViewController:navigationController.visibleViewController];
+//    } else if (rootViewController.presentedViewController) {
+//        UIViewController* presentedViewController = rootViewController.presentedViewController;
+//        return [self topViewControllerWithRootViewController:presentedViewController];
+//    } else {
+//        return rootViewController;
+//    }
+//}
+//- (UIViewController*)topViewController {
+//    return [self topViewControllerWithRootViewController:[UIApplication sharedApplication].keyWindow.rootViewController];
+//}
+//-(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
+////      // Get topmost/visible view controller
+//    UIViewController *currentViewController = [self topViewController];
+//
+//    if ([currentViewController respondsToSelector:@selector(lockPortrait)]) {
+//
+//        return UIInterfaceOrientationMaskPortrait;
+//    }
+////
+////      // Only allow portrait (standard behaviour)
+//    return UIInterfaceOrientationMaskAll;
+//}
+
+void UncaughtExceptionHandler(NSException *exception) {
+    
+    NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary];
+    NSString* build =[infoDict objectForKey:@"CFBundleVersion"];
+    NSString* version =[infoDict objectForKey:@"CFBundleShortVersionString"];
+    NSString *versionNum = @"";
+#ifdef BUILD_NPD
+    versionNum = [NSString stringWithFormat:@"Version: npd %@ Build %@",version,build];
+#endif
+    
+#ifdef BUILD_HMLG
+    versionNum = [NSString stringWithFormat:@"Version: HOMELEGANCE %@ Build %@",version,build];
+#endif
+    
+    versionNum = [versionNum stringByReplacingOccurrencesOfString:@"'" withString:@"''"];
+    /**
+     *  获取异常崩溃信息
+     */
+    NSArray *callStack = [exception callStackSymbols];
+    NSString *reason = [exception reason];
+    NSString *name = [exception name];
+    NSString *content = [NSString stringWithFormat:@"异常错误报告\n exception_name:  %@\n exception_reason:  \n%@ \n exception_callStackSymbols:  \n%@ \n",name,reason,[callStack componentsJoinedByString:@"\n"]];
+    
+    content = [content stringByReplacingOccurrencesOfString:@"'" withString:@"''"];
+    
+    
+    NSString *sql = [NSString stringWithFormat:@"insert into errlog (errmsg,params) values ('%@','%@');",versionNum,content];
+    if ([Singleton sharedInstance].currentDB) {
+        [iSalesDB close_db:[Singleton sharedInstance].currentDB];
+    }
+    [iSalesDB execSql:sql];
+    
+    AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
+    [appDelegate writeUrgencyCache];
+}
+
+- (void)handleErrorLog {
+    
+    __block NSMutableArray *err_array = [NSMutableArray array];
+    [iSalesDB jk_query:@"select errmsg,params,create_time from errlog;" completion:^(sqlite3_stmt *stmt, NSMutableDictionary *container, long *count) {
+        
+        const char *version_char = (char *)sqlite3_column_text(stmt, 0);
+        const char *errlog_char = (char *)sqlite3_column_text(stmt, 1);
+        const char *dateTime_char = (char *)sqlite3_column_text(stmt, 2);
+        
+        if (version_char == NULL)
+            version_char = "";
+        if (errlog_char == NULL)
+            errlog_char = "";
+        if (dateTime_char == NULL)
+            dateTime_char = "";
+        
+        NSString *version_str = [NSString stringWithUTF8String:version_char];
+        NSString *errlog_str = [NSString stringWithUTF8String:errlog_char];
+        NSString *dateTime_str = [NSString stringWithUTF8String:dateTime_char];
+        
+        NSDictionary *err_dic = @{
+                                  @"version" : version_str,
+                                  @"errlog" : errlog_str,
+                                  @"time" : dateTime_str
+                                  };
+        
+        [err_array addObject:err_dic];
+        
+        
+    }];
+    
+    if (err_array.count) {
+        // 首先上传
+        for (NSDictionary *err_dic in err_array) {
+            
+            NSString *version = [err_dic objectForKey:@"version"];
+            NSString *errlog = [err_dic objectForKey:@"errlog"];
+            NSString *time = [err_dic objectForKey:@"time"];
+            
+            NSString *result = [NSString stringWithFormat:@"version: %@ \n crash_datetime: %@ \n",version,time];
+            
+            NSDictionary *ret = [RANetwork err_log:errlog result:result module:@"crash" code:0];
+            
+            // 上传成功之后清除纪录
+            if ([[ret objectForKey:@"result"] integerValue] == 2) {
+                
+                [iSalesDB execSql:[NSString stringWithFormat:@"delete from errlog where create_time = '%@';",time]];
+            }
+        }
+        
+        
+    }
+    
+    
+}
+
+- (void)dealWithUrgencyFile {
+    
+    NSDictionary *tmp_urgencyDic = [self readUrgencyCache];
+    
+    if (tmp_urgencyDic.allKeys.count > 2) {
+        
+        [self.urgencyDic removeAllObjects];
+        [self.urgencyDic setObject:[NSNumber numberWithInt:0] forKey:@"count"];
+        
+        MainViewController *mainVC = [self.window.rootViewController.childViewControllers lastObject];
+        UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
+        
+        NSString *user = [tmp_urgencyDic objectForKey:@"user"];
+        if (![user isEqualToString:self.user]) {
+            return;
+        }
+        
+        BOOL offline_mode = [[tmp_urgencyDic objectForKey:@"offline_mode"] boolValue];
+        if (!((self.offline_mode && offline_mode) || (!self.offline_mode && !offline_mode))) {
+            return;
+        }
+        
+        id count = [tmp_urgencyDic objectForKey:@"count"];
+        int level_count = count ? [count integerValue] : 0;
+        
+        if (!level_count) {
+            return;
+        }
+        
+        for (int i = 0; i < level_count; i++) {
+            
+            NSString *level_key = [NSString stringWithFormat:@"level_%d",i];
+            
+            NSDictionary *urgencyDic = [tmp_urgencyDic objectForKey:level_key];
+            
+            NSString *className = [urgencyDic objectForKey:@"class_name"];
+            
+            NSString *restored_data_key = [NSString stringWithFormat:@"%@_restored_data",className];
+            
+            NSMutableDictionary *restored_data = [urgencyDic objectForKey:restored_data_key];
+            
+            dispatch_async(dispatch_get_main_queue(), ^{
+               
+                if ([className isEqualToString:@"CustomerEditViewController"]) {
+                    // CustomerEditViewController
+                    
+                    NSString *contact_id = [urgencyDic objectForKey:@"contact_id"];
+                    BOOL new_customer = [urgencyDic objectForKey:@"new_customer"];
+                    
+                    NSMutableDictionary *params = [NSMutableDictionary dictionary];
+                    
+                    [params setValue:contact_id forKey:@"contact_id"];
+                    CustomerEditViewController * cuseditVC =[mainStoryBoard instantiateViewControllerWithIdentifier:@"CustomerEditViewController"];
+                    
+                    cuseditVC.bnewcustomer=new_customer;
+                    cuseditVC.url_type = URL_RESTORE;
+                    cuseditVC.request_url= new_customer ? URL_NEW_CUSTOMER : URL_EDIT_CUSTOMER;
+                    
+                    cuseditVC.params = params;
+                    cuseditVC.content_data_download = restored_data;
+                    
+                    //            cuseditVC.delegate=self;
+                    
+                    
+                    [[mainVC navigationController] setNavigationBarHidden:NO animated:NO];
+                    [mainVC.navigationController pushViewController:cuseditVC animated:false];
+                    
+                    
+                    
+                } else if ([className isEqualToString:@"CreateOrderViewController"] || [className isEqualToString:@"RAOrderEditorViewController"]) {
+                    // CreateOrderViewController
+                    
+                    NSString *order_code = [urgencyDic objectForKey:@"order_code"];
+                    int order_status = [[urgencyDic objectForKey:@"order_status"] intValue];
+                    NSString *order_customer_id = [urgencyDic objectForKey:@"order_customer_id"];
+                    NSInteger userType = [[[NSUserDefaults standardUserDefaults] objectForKey:@"urgency_userType"] integerValue];
+                    NSString *so = [urgencyDic objectForKey:@"order_so"];
+                    self.order_customer_id = order_customer_id;
+                    
+                    // 首先通过order code 打开订单
+                    NSDictionary* order_json = [RANetwork open_Order:order_code];
+                    
+                    dispatch_async(dispatch_get_main_queue(), ^{
+                        //                [waitalert dismissWithClickedButtonIndex:0 animated:FALSE];
+                        if([[order_json valueForKey:@"result"] intValue]==2)
+                        {
+                            
+                            self.order_code = order_code;
+                            self.order_status = order_status;
+                            [self SetSo:so];
+                            
+                            if (userType != USER_ROLE_CUSTOMER) {
+                                self.customerInfo = [[[RANetwork request_CustomerInfo:order_customer_id] objectForKey:@"customerInfo"] mutableCopy];
+                                
+                                self.contact_id=[self.customerInfo valueForKey:@"customer_cid"];
+                            }
+                           
+                            
+                            [mainVC reloadOrder:true immediately:false];
+                            [mainVC reloadCart:true immediately:false];
+                            
+                            
+                        }
+                        else
+                        {
+                            [RAUtils message_alert:[order_json valueForKey:@"err_msg"] title:@"Open Order" controller:mainVC] ;
+                        }
+                    });
+                    
+                    
+                    
+                    // 再place order
+                    NSMutableDictionary *params = [NSMutableDictionary dictionary];
+                    
+                    if ([className isEqualToString:@"CreateOrderViewController"]) {
+                        CreateOrderViewController * orderinfoVC =[mainStoryBoard instantiateViewControllerWithIdentifier:@"CreateOrderViewController"];
+                        
+                        orderinfoVC.disable_dropdown_refresh=true;
+                        orderinfoVC.url_type = URL_RESTORE;
+                        orderinfoVC.request_url=URL_CARTDELIVERY;
+                        orderinfoVC.params = params;
+                        orderinfoVC.content_data_download = restored_data;
+                        orderinfoVC.resumeOrder = YES;
+                        
+                        [mainVC.navigationController pushViewController:orderinfoVC animated:true];
+                    }
+#ifdef BACKORDER_PROCESS
+                    else if ([className isEqualToString:@"RAOrderEditorViewController"]) {
+                        
+                        RAOrderEditorViewController *orderEditorVC = [mainStoryBoard instantiateViewControllerWithIdentifier:@"RAOrderEditorViewController"];
+                        [orderEditorVC recoveryFromUrgencyDic:urgencyDic];
+                        [mainVC.navigationController pushViewController:orderEditorVC animated:YES];
+                    }
+#endif
+                    
+                    
+                } else  if ([className isEqualToString:@"AddressEditorViewController"]) {
+                    // AddressEditorViewController
+                    
+                    AddressEditorViewController * addressVC =[mainStoryBoard instantiateViewControllerWithIdentifier:@"AddressEditorViewController"];
+                    
+                    addressVC.url_type = URL_RESTORE;
+                    addressVC.request_url=URL_ADDRESS_EDOTOR;
+                    
+                    NSMutableDictionary * params= [[NSMutableDictionary alloc] init];
+                    
+                    params[@"is_subaction"]=@"true";
+                    addressVC.params = params;
+                    addressVC.content_data_download = restored_data;
+                    
+                    
+                    [mainVC.navigationController pushViewController:addressVC animated:true];
+                    
+                }// class_name
+                
+            });
+            
+        }
+        
+        
+    }
+}
+
+- (void)handleUrgencyFile {
+    
+    __weak typeof(self) weakself = self;
+    
+    dispatch_async(dispatch_get_global_queue(0, 0), ^{
+       
+        if (weakself) {
+            
+            __strong typeof(weakself) strongself = weakself;
+            
+            [strongself dealWithUrgencyFile];
+        }
+        
+        
+
+        
+    });
+    
+}
+
+- (void)writeUrgencyCache {
+    if (!self.user) {
+        return;
+    }
+    
+    NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
+    NSString *urgencyFile = [cachePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@_urgency",self.user]];
+
+//    [NSKeyedArchiver archiveRootObject:self.urgencyDic toFile:urgencyFile];
+    [self.urgencyDic writeToFile:urgencyFile atomically:NO];
+    
+    // Place Order恢复是否能提交订单
+    [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:YES] forKey:@"urgency_resume"];
+    [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInteger:self.user_type] forKey:@"urgency_userType"];
+    if ([Singleton sharedInstance].currentOrderIsMerged && [Singleton sharedInstance].permissions_submit_order) {
+        [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:YES] forKey:@"urgency_submitOrder"];
+    }
+}
+
+- (NSMutableDictionary *)readUrgencyCache {
+    // 检查本地urgency文件,存在则加载进_urgencyDic
+    NSFileManager *manager = [NSFileManager defaultManager];
+    NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
+    NSString *urgencyFile = [cachePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@_urgency",self.user]];
+    NSMutableDictionary *resultDic = [NSMutableDictionary dictionary];
+    if ([manager fileExistsAtPath:urgencyFile]) {
+        
+        resultDic = [NSMutableDictionary dictionaryWithContentsOfFile:urgencyFile];
+        [manager removeItemAtPath:urgencyFile error:nil];
+        
+    }
+    
+    self.urgencyDic = [NSMutableDictionary dictionary];
+
+    return resultDic;
+}
+
+- (void)initialExceptionHandler {
+    if (exception_switch == 1) {
+        NSSetUncaughtExceptionHandler(&UncaughtExceptionHandler);
+    }
+    
+}
+
+- (void)becomeObserver {
+    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleUrgencyFile) name:LoginOK_HandleUrgencyFile_Notification object:nil];
+}
+
+- (void)dealloc {
+    [[NSNotificationCenter defaultCenter] removeObserver:self];
+}
+
+- (void)setUpGoogleAnalytics {
+    
+    // 初始化Google Analytics
+    NSError *configureError;
+    [[GGLContext sharedInstance] configureWithError:&configureError];
+    
+    if (configureError) {
+        DebugLog(@"congigure googleAnalytics error: %@",configureError);
+    }
+    
+    GAI *gai = [GAI sharedInstance];
+    gai.trackUncaughtExceptions = YES;
+    
+    id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
+    // Enable IDFA collection.
+    tracker.allowIDFACollection = YES;
+//    gai.dispatchInterval = 120;// 每隔 2 分钟调度一次数据
+    
+    // 调试使用
+//    gai.logger.logLevel = kGAILogLevelVerbose;
+//    [[GAI sharedInstance] setDryRun:YES];
+//
+}
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
+{
+
+    self.window.backgroundColor = [UIColor whiteColor];
+    
+//    [RAUtils expression_varable:nil regex:nil];
+    self.disable_trigger = false;
+    [self initialExceptionHandler];
+    [self becomeObserver];
+#ifdef BUILD_NPD
+    [self setUpGoogleAnalytics];
+#endif
+    
+    [DefaultAppearance init_appearance];
+    
+    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
+    NSString *cachefolder = [paths objectAtIndex:0];
+    
+    NSString *upfolder = [cachefolder stringByAppendingPathComponent:@"upload_data"];
+    //   upfolder = [upfolder stringByAppendingPathComponent:serial];
+    
+    NSFileManager* fileManager = [NSFileManager defaultManager];
+    BOOL bdir=YES;
+    if(!  [fileManager fileExistsAtPath:upfolder isDirectory:&bdir])
+    {
+        
+        NSError *error = nil;
+        bool bsuccess=[fileManager createDirectoryAtPath:upfolder withIntermediateDirectories:YES attributes:nil error:&error];
+        
+        if(!bsuccess)
+            DebugLog(@"Create UPLOAD folder failed");
+        
+    }
+    
+    NSString *pdfFolder = [cachefolder stringByAppendingPathComponent:@"pdf_cache"];
+    
+    if(![fileManager fileExistsAtPath:pdfFolder isDirectory:&bdir])
+    {
+        NSError *error = nil;
+        bool bsuccess=[fileManager createDirectoryAtPath:pdfFolder withIntermediateDirectories:YES attributes:nil error:&error];
+        
+        if(!bsuccess)
+            DebugLog(@"Create PDF Cache folder failed");
+        
+    }
+
+    
+    //    if ([[NSFileManager defaultManager] fileExistsAtPath:dist_path]) {
+    //
+    //        DebugLog(@"文件已经存在了");
+    //
+    //    }
+    
+    
+    
+    
+    
+    //    NSString* order_filter_source_path =[[NSBundle mainBundle]  pathForResource:@"status_filter_cadedate" ofType:@"json" ];
+    //    /var/folders/65/j0_0c8rx66zb29cjnjndr11r0000gn/T/AppIconMaker/appicon.png
+    //
+    //
+    //    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
+    //    NSString *documents = [paths objectAtIndex:0];
+    //    NSString *dist_path = [documents stringByAppendingPathComponent:@"status_filter_cadedate.json"];
+    //
+    //
+    //    if ([[NSFileManager defaultManager] fileExistsAtPath:dist_path]) {
+    //
+    //        DebugLog(@"文件已经存在了");
+    //
+    //    }
+    //    else
+    //    {
+    //
+    //
+    //
+    //        //        DebugLog(@"resourceSampleImagesFolderPath=%@",resourceFolderPath);
+    //
+    //        NSData *mainBundleFile = [NSData dataWithContentsOfFile:order_filter_source_path];
+    //
+    //        //        DebugLog(@"mainBundleFile==%@",mainBundleFile);
+    //
+    //        [[NSFileManager defaultManager] createFileAtPath:dist_path
+    //
+    //                                                contents:mainBundleFile
+    //
+    //                                              attributes:nil];
+    //
+    //    }
+    
+    
+    self.recent_model = [[NSMutableDictionary alloc]init];
+    NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
+    bool  offline = [defaults boolForKey:@"EnableOfflineMode"] ;
+    self.offline_mode = offline;
+    // Override point for customization after application launch.
+    
+    if ( [iSalesDB initializeDb]!=0)
+        DebugLog(@"init db failed");
+    // disable apn
+    //    [[UIApplication sharedApplication] registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert];
+    self.contact_id=nil;
+    
+    //   NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
+    NSString * enable_cache = [defaults stringForKey:@"enable_cache"];
+    if([enable_cache isEqualToString:@"false"])
+        self.bEnable_Cache = false;
+    else
+        self.bEnable_Cache = true;
+    
+    NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary];
+    self.build =[infoDict objectForKey:@"CFBundleVersion"];
+    
+    
+    
+    //scanner
+    
+    self.devices=[[NSMutableArray alloc]init];
+    
+    // change this to YES if you want SingleEntry to
+    // confirm the decoded data
+    _doAppDataConfirmation=NO;
+    
+    if(ScanApi==nil){
+#ifdef USE_SOFTSCAN
+        // this is useful for SoftScan to keep a handle
+        // that is used in the trigger button
+        _softScanDeviceInfo=nil;
+#endif
+        
+        ScanApi=[[ScanApiHelper alloc]init];
+        [ScanApi setDelegate:self];
+        self.enable_ScannerLog = true;
+        self.api_Status= API_STOP;
+        
+        
+        
+        //        UIApplication * app = [UIApplication sharedApplication];
+        //        AppDelegate *appDelegate = (AppDelegate *)[app delegate];
+        //
+        NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
+        bool  autolaunch = [defaults boolForKey:@"EnableScannerOnLaunch"] ;
+        if(autolaunch==true)
+            [self enableScanner:autolaunch];
+        
+    }
+    
+    
+    //    [self test_descrypt];
+    //    [self test_descrypt1];
+    //UILabel * appearanceLabel = [UILabel appearanceWhenContainedIn:uialertcontroller.class, nil];
+    //  [appearanceLabel setAppearanceFont:[UIFont boldSystemFontOfSize:10]]; //for example
+    
+    
+    
+    dispatch_async(dispatch_get_global_queue(0, 0), ^{
+        [self handleErrorLog];
+    });
+    
+    return YES;
+}
+//-(void)test_descrypt
+//{
+//    sqlite3 *db = [iSalesDB get_db];
+//
+//   int result= [iSalesDB AddExFunction:db];
+//
+//    NSString *sqlQuery = [NSString stringWithFormat:@"select decrypt(company_name) from offline_contact;"];
+//    sqlite3_stmt * statement;
+//
+//
+//    if (sqlite3_prepare_v2(db, [sqlQuery UTF8String], -1, &statement, nil) == SQLITE_OK)
+//    {
+//
+//
+//        while (sqlite3_step(statement) == SQLITE_ROW)
+//        {
+//
+//
+//            char *url = (char*)sqlite3_column_text(statement, 0);
+//            if(url==nil)
+//                url="";
+//            NSString *nsurl = [[NSString alloc]initWithUTF8String:url];
+//            DebugLog(nsurl);
+//
+//
+//
+//
+//        }
+//      //  [ret setValue:[NSString stringWithFormat:@"%d",i] forKey:@"img_count"];
+//
+//
+//        sqlite3_finalize(statement);
+//    }
+//
+//    [iSalesDB close_db:db];
+//}
+//
+//-(void)test_descrypt1
+//{
+//    sqlite3 *db = [iSalesDB get_db];
+//
+//    int result= [iSalesDB AddExFunction:db];
+//
+//    NSString* sqlindex= @"CREATE INDEX hijk ON offline_contact (lower(company_name));";
+//
+//    [iSalesDB execSql:sqlindex];
+////
+////    NSString *sqlQuery = [NSString stringWithFormat:@"select decrypt(company_name) from offline_contact;"];
+////    sqlite3_stmt * statement;
+////
+////
+////
+////    if (sqlite3_prepare_v2(db, [sqlQuery UTF8String], -1, &statement, nil) == SQLITE_OK)
+////    {
+////
+////
+////        while (sqlite3_step(statement) == SQLITE_ROW)
+////        {
+////
+////
+////            char *url = (char*)sqlite3_column_text(statement, 0);
+////            if(url==nil)
+////                url="";
+////            NSString *nsurl = [[NSString alloc]initWithUTF8String:url];
+////            DebugLog(nsurl);
+////
+////
+////
+////
+////        }
+////        //  [ret setValue:[NSString stringWithFormat:@"%d",i] forKey:@"img_count"];
+////
+////
+////        sqlite3_finalize(statement);
+////    }
+//
+//    [iSalesDB close_db:db];
+//}
+
+- (void)applicationWillResignActive:(UIApplication *)application
+{
+    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
+    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+}
+
+- (void)applicationDidEnterBackground:(UIApplication *)application
+{
+    [self download_offline:false checkdiskspace:false];
+    
+    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
+    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
+    NSTimeInterval timing = [[NSDate date] timeIntervalSinceDate:self.forgroundDate];
+    self.forgroundDate = nil;
+#ifdef BUILD_NPD
+    [GoogleAnalyst trackTimingWithCategory:@"foreground" interval:timing name:@"user used time" label:nil];
+#endif
+}
+
+- (void)applicationWillEnterForeground:(UIApplication *)application
+{
+    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
+}
+
+- (void)applicationDidBecomeActive:(UIApplication *)application
+{
+    if(self.download_task!=nil)
+        [self download_offline:true checkdiskspace:false];
+    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
+    
+    self.forgroundDate = [NSDate date];
+    
+    
+}
+-(void)applicationDidReceiveMemoryWarning:(UIApplication *)application
+{
+    DebugLog(@"======================================");
+    DebugLog(@"=====    MEMORY WORRING !   ==========");
+    DebugLog(@"======================================");
+}
+- (void)applicationWillTerminate:(UIApplication *)application
+{
+    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
+}
+-(void) Logout
+{
+    MainViewController * main_vc= (MainViewController*)self.main_vc;
+    [main_vc logoutOrder];
+    [main_vc logoutCart];
+    [main_vc logoutWish];
+    [main_vc logoutContact];
+    [main_vc logoutCategory];
+    [main_vc logoutDocuments];
+    [main_vc logoutPortfolio];
+    
+    [main_vc hideMenu];
+    [main_vc switchToHome];
+    self.user = nil;
+    self.password=nil;
+    self.user_icon=nil;
+    self.user_type = USER_ROLE_UNKNOWN;
+    self.bLogin = false;
+    self.contact_id=nil;
+    self.customerInfo = nil;
+    self.order_code = nil;
+    
+    [self.recent_model removeAllObjects];
+    
+    [self SetMode:nil];
+    
+}
+//disable apn
+//-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
+//{
+//    self.duid = [[[[NSString stringWithFormat:@"%@",deviceToken] substringWithRange:NSMakeRange(0, 72)] substringWithRange:NSMakeRange(1, 71)] stringByReplacingOccurrencesOfString:@" " withString:@""];
+//    DebugLog(@"regisger success:%@",deviceToken);
+//
+//    //注册成功,将deviceToken保存到应用服务器数据库中
+//}
+#pragma mark - background download
+-(bool)isdownloading:(NSString*) file
+{
+    return true;
+}
+-(long long)getcurrentLength:(int) taskidx
+{
+    
+    int position=[self.download_task [[NSString stringWithFormat:@"item_%d",taskidx]][@"position"] intValue];
+    return position;
+}
+
+-(void)handle_download:(NSString *)url start:(bool) start type:(NSString*) type taskid:(int)taskidx
+{
+    //操作有两种,start stop;
+    //结果有四种, wait , downloading, pause, finish
+    
+    dispatch_async(dispatch_get_main_queue(), ^{
+        
+        NSString* file_name=[url lastPathComponent];
+        //暂停<->开始转换
+        
+        //   bool isdownloading = [self isdownloading:file_name];
+        if (start)
+        {//开始下载
+            
+            
+            
+            
+            
+            
+            DebugLog(@"%d start",taskidx);
+            
+            self.current_task=taskidx;
+            
+            
+            
+            NSURL* _url = [NSURL URLWithString:url];//@"http://localhost/test.zip"];
+            
+            //        _url = [NSURL URLWithString:@"https://rate.apexshipping.com/temp/apache-tomcat-8.0.22.zip"];
+            //
+            //
+            //        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:_url];
+            //
+            //        //设置请求头(GET)
+            //        NSString *range = [NSString stringWithFormat:@"bytes=%lld-", [self getcurrentLength:taskidx]];
+            //        [request setValue:range forHTTPHeaderField:@"Range"];
+            //
+            //        self.connection = [NSURLConnection connectionWithRequest:request delegate:self];
+            
+            
+            NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:_url];
+            
+            //设置请求头(GET)
+            NSString *range = [NSString stringWithFormat:@"bytes=%lld-",  [self getcurrentLength:taskidx]];
+            [request setValue:range forHTTPHeaderField:@"Range"];
+            
+            
+            self.connection = [NSURLConnection connectionWithRequest:request delegate:self];
+            
+        }else{ //暂停
+            DebugLog(@"%d pause",taskidx);
+            [self.connection cancel];
+            self.connection = nil;
+        }
+    });
+}
+-(void) upload_offline:(NSString*) ver useInternalAddress:(bool)buseinternaladdress orderid:(NSArray*)arr_order
+{
+    [self add_downloadlog:@"Begin sync, please wait."];
+    [self add_downloadlog:@"Prepare upload data."];
+    //   NSArray* arr_order=[OLDataProvider enumOfflineOrder];
+    NSDictionary* upjson=[OLDataProvider prepareUpload:arr_order];
+    
+    NSString* upfile=upjson[@"file"];
+    
+    {
+        NSData* data = [NSData dataWithContentsOfFile: upfile];
+        UIApplication * app = [UIApplication sharedApplication];
+        AppDelegate *appDelegate = (AppDelegate *)[app delegate];
+        
+        [ERPUtils googleAnalyticsSendRequestString:nil WithScreen:ScreenCodeOfflineSync Action:nil Extra:nil];
+        
+        NSMutableDictionary* params = [[NSMutableDictionary alloc] init];
+        
+        if(appDelegate.user!=nil)
+            [params setValue:appDelegate.user forKey:@"user"];
+        //    if(appDelegate.contact_id!=nil)
+        //        [params setValue:appDelegate.contact_id forKey:@"contactId"];
+        if(appDelegate.password!=nil)
+            [params setValue:appDelegate.password forKey:@"password"];
+        
+        
+#if TARGET_IPHONE_SIMULATOR//模拟器
+        [params setValue:@"simulator_uuid" forKey:@"idfv"];
+#elif TARGET_OS_IPHONE//真机
+        UIDevice * dev = [UIDevice currentDevice];
+        NSUUID* uuid =dev.identifierForVendor;
+        [params setValue:uuid.UUIDString forKey:@"idfv"];
+#endif
+        __weak typeof(self) weakSelf = self;
+        [NetworkUtils upload:data FileName:[upfile lastPathComponent] Params:params ToHost:URL_UPLOAD_OFFLINE Result:^(NSMutableDictionary *json) {
+            
+            if([[json valueForKey:@"result"] intValue]==2)
+            {
+                NSString *out_of_stock_ids = [json valueForKey:@"stock_out_so_id"];
+                if (out_of_stock_ids) {
+                    [RAUtils message_alert:[NSString stringWithFormat:@"Below orders were not submitted because some models were out of stock. You can check from order history under online mode.\n %@",out_of_stock_ids] title:@"Warning" controller:self.main_vc];
+                }
+                
+                [weakSelf add_downloadlog:@"Upload successful."];
+                appDelegate.disable_trigger=true;
+                NSString* so_id=[RAConvertor arr2string:arr_order separator:@"," trim:true brackets:@"'"];
+                
+                [iSalesDB execSql:@"delete from offline_contact where not sync_data is null"];
+                [iSalesDB execSql:@"delete from wishlist"];
+                [iSalesDB execSql:[NSString stringWithFormat:@"delete from offline_order where so_id in(%@)",so_id]];
+                [iSalesDB execSql:[NSString stringWithFormat:@"delete from offline_cart where so_no in(%@)",so_id]];
+                [iSalesDB execSql:@"delete from offline_portfolio"];
+                [iSalesDB execSql:@"delete from offline_pdf"];
+                [OLDataProvider offline_clear_PDFCache];
+                
+                NSString* contactMap = json[@"contactMap"];
+                if(contactMap.length>0)
+                {
+                    NSDictionary* contactjson = [RAConvertor string2dict:contactMap];
+                    NSArray *keys= [contactjson allKeys];
+                    //遍历keys
+                    for(int i=0;i<[keys count];i++)
+                    {
+                        //得到当前key
+                        NSString *key=[keys objectAtIndex:i];
+                        //如果key不是pic,说明value是字符类型,比如name:Boris
+                        NSString* value = [contactjson valueForKey:key];
+                        
+                        [iSalesDB execSql:[NSString stringWithFormat:@"update offline_order set customer_cid='%@' where customer_cid='%@' and order_id is null",value,key]];
+                        [iSalesDB execSql:[NSString stringWithFormat:@"update offline_order set customer_cid='%@' where receive_cid='%@' and order_id is null",value,key]];
+                        [iSalesDB execSql:[NSString stringWithFormat:@"update offline_order set customer_cid='%@' where sender_cid='%@' and order_id is null",value,key]];
+                        [iSalesDB execSql:[NSString stringWithFormat:@"update offline_order set customer_cid='%@' where shipping_billto_cid='%@' and order_id is null",value,key]];
+                        [iSalesDB execSql:[NSString stringWithFormat:@"update offline_order set customer_cid='%@' where billing_cid='%@' and order_id is null",value,key]];
+                        [iSalesDB execSql:[NSString stringWithFormat:@"update offline_order set customer_cid='%@' where returnto_cid='%@' and order_id is null",value,key]];
+                        
+                    }
+                }
+                //                    NSDictionary* contactjson= upjson[@"contact"];
+                //                    NSDictionary* wishlistjson= upjson[@"wishlist"];
+                //                    NSDictionary* orderjson= upjson[@"order"];
+                
+                appDelegate.disable_trigger=false;
+                NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
+                [defaults removeObjectForKey:@"Forcedownload"];
+                [defaults setBool:true forKey:@"Forcedownload"];
+                [defaults synchronize];
+                
+                [weakSelf download_offline:ver useInternalAddress:buseinternaladdress];
+                
+            }
+            else
+            {
+                [weakSelf add_downloadlog:[json valueForKey:@"msg"]];
+                [weakSelf add_downloadlog:@"Sync canceled."];
+                [weakSelf.settingUI onSyncFinish];
+            }
+            
+        } Progress:^(NSURLSessionTask *task, double progress) {
+            
+        } DecryptHandler:nil];
+        
+        
+//        AFHTTPRequestSerializer* serializer=[AFHTTPRequestSerializer serializer] ;
+//
+//        serializer.timeoutInterval=300;
+//
+//        NSMutableURLRequest *request = [serializer multipartFormRequestWithMethod:@"POST" URLString:URL_UPLOAD_OFFLINE parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
+//            [formData appendPartWithFileData:data name:@"upfile" fileName:[upfile lastPathComponent] mimeType:@"application/zip"];
+//        } error:nil];
+//
+//
+//
+//        AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
+//
+//        NSProgress *progress = nil;
+//
+//        NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithStreamedRequest:request progress:&progress completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
+//
+//
+//
+//            if (error) {
+//
+//                NSString* err_msg = [error localizedDescription];
+//                DebugLog(@"%@",err_msg);// [self.view updateWithMessage:[NSString stringWithFormat:@"Error : %@!", error.debugDescription]];
+//
+//
+//                NSMutableString *str = [[NSMutableString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
+//
+//                DebugLog(@"data string: %@",str);
+//                [self add_downloadlog:err_msg];
+//                [self add_downloadlog:@"Can not connect to server please try again."];
+//                [self.settingUI onSyncFinish];
+//
+//            } else {
+//                DebugLog(@"response ");
+//
+//
+//
+//                NSData *data = [NSJSONSerialization dataWithJSONObject:(NSDictionary*)responseObject options:kNilOptions error:nil];
+//
+//                // 再将NSData转为字符串
+//                NSString *jsonStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
+//
+//                //            NSMutableString *str = [[NSMutableString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
+//
+//                DebugLog(@"data string: %@",jsonStr);
+//
+//                NSDictionary* json = responseObject;
+//
+//
+//                if([[json valueForKey:@"result"] intValue]==2)
+//                {
+//                    NSString *out_of_stock_ids = [json valueForKey:@"stock_out_so_id"];
+//                    if (out_of_stock_ids) {
+//                        [RAUtils message_alert:[NSString stringWithFormat:@"Below orders were not submitted because some models were out of stock. You can check from order history under online mode.\n %@",out_of_stock_ids] title:@"Warning" controller:self.main_vc];
+//                    }
+//
+//                    [self add_downloadlog:@"Upload successful."];
+//                    appDelegate.disable_trigger=true;
+//                    NSString* so_id=[RAUtils arr2string:arr_order separator:@"," trim:true brackets:@"'"];
+//
+//                    [iSalesDB execSql:@"delete from offline_contact where not sync_data is null"];
+//                    [iSalesDB execSql:@"delete from wishlist"];
+//                    [iSalesDB execSql:[NSString stringWithFormat:@"delete from offline_order where so_id in(%@)",so_id]];
+//                    [iSalesDB execSql:[NSString stringWithFormat:@"delete from offline_cart where so_no in(%@)",so_id]];
+//                    [iSalesDB execSql:@"delete from offline_portfolio"];
+//                    [iSalesDB execSql:@"delete from offline_pdf"];
+//                    [OLDataProvider offline_clear_PDFCache];
+//
+//                    NSString* contactMap = json[@"contactMap"];
+//                    if(contactMap.length>0)
+//                    {
+//                        NSDictionary* contactjson = [RAUtils string2dict:contactMap];
+//                        NSArray *keys= [contactjson allKeys];
+//                        //遍历keys
+//                        for(int i=0;i<[keys count];i++)
+//                        {
+//                            //得到当前key
+//                            NSString *key=[keys objectAtIndex:i];
+//                            //如果key不是pic,说明value是字符类型,比如name:Boris
+//                            NSString* value = [contactjson valueForKey:key];
+//
+//                            [iSalesDB execSql:[NSString stringWithFormat:@"update offline_order set customer_cid='%@' where customer_cid='%@' and order_id is null",value,key]];
+//                            [iSalesDB execSql:[NSString stringWithFormat:@"update offline_order set customer_cid='%@' where receive_cid='%@' and order_id is null",value,key]];
+//                            [iSalesDB execSql:[NSString stringWithFormat:@"update offline_order set customer_cid='%@' where sender_cid='%@' and order_id is null",value,key]];
+//                            [iSalesDB execSql:[NSString stringWithFormat:@"update offline_order set customer_cid='%@' where shipping_billto_cid='%@' and order_id is null",value,key]];
+//                            [iSalesDB execSql:[NSString stringWithFormat:@"update offline_order set customer_cid='%@' where billing_cid='%@' and order_id is null",value,key]];
+//                            [iSalesDB execSql:[NSString stringWithFormat:@"update offline_order set customer_cid='%@' where returnto_cid='%@' and order_id is null",value,key]];
+//
+//                        }
+//                    }
+//                    //                    NSDictionary* contactjson= upjson[@"contact"];
+//                    //                    NSDictionary* wishlistjson= upjson[@"wishlist"];
+//                    //                    NSDictionary* orderjson= upjson[@"order"];
+//
+//                    appDelegate.disable_trigger=false;
+//                    NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
+//                    [defaults removeObjectForKey:@"Forcedownload"];
+//                    [defaults setBool:true forKey:@"Forcedownload"];
+//                    [defaults synchronize];
+//
+//                    [self download_offline:ver useInternalAddress:buseinternaladdress];
+//
+//                }
+//                else
+//                {
+//                    [self add_downloadlog:[json valueForKey:@"msg"]];
+//                    [self add_downloadlog:@"Sync canceled."];
+//                    [self.settingUI onSyncFinish];
+//                }
+//
+//
+//            }
+//            //  [waitalert dismissWithClickedButtonIndex:0 animated:FALSE];
+//        }];
+//
+//
+//
+//
+//
+//
+//
+//        [uploadTask resume];
+        
+    }
+    
+    
+    
+    return;
+}
+-(void) download_offline:(NSString*) ver useInternalAddress:(bool)buseinternaladdress
+{
+    NSString *plistPath = [RAUtils get_config_path];
+    NSMutableDictionary *config_list = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];
+    if([config_list[@"NEED_FULLY_SYNC"] boolValue])
+    {
+        ver= nil;
+        [self add_downloadlog:@"App required a fully sync."];
+    }
+    
+    
+    if(self.downloading)
+        return;
+    
+    self.downloading=true;
+    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
+        
+        
+        
+        NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
+        
+        NSString*  pvid = [defaults stringForKey:@"vid"] ;
+        
+        
+        
+        [self add_downloadlog:@"Checking offline data, this will take a few minute, please wait."];
+        
+        NSMutableDictionary* json=[[RANetwork  check_Offline:ver useInternalAddress:buseinternaladdress vid:pvid] mutableCopy];
+        
+        
+        if([json[@"result"] intValue]!=2)
+        {
+            [self add_downloadlog:@"Can not get offline data version, please try again later."];
+            [self.settingUI onSyncFinish];
+            dispatch_async(dispatch_get_main_queue(), ^{
+                //    self.downloadlog=nil;
+                self.downloading=false;
+            });
+            return;
+        }
+        
+        [ [ UIApplication sharedApplication] setIdleTimerDisabled:YES ] ;
+        NSMutableDictionary* download_json=nil;
+        
+        //        NSString* vid=@"31f4d59d-c229-47e3-9270-e15425777186";
+        NSString* downSerial=[json valueForKey:@"downSerial"];
+        
+        [defaults removeObjectForKey:@"downSerial"];
+        [defaults setValue:downSerial forKey:@"downSerial"];
+        
+        [defaults synchronize];
+        
+        //                        sleep(3);
+        //UIAlertView * waitalert1 = [RAUtils waiting_alert:@"Please wait..." title:@"Server is preparing data for you"];
+        
+        
+        //     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
+        int count=0;
+        //  __block bool preparing = true;
+        while ([[download_json valueForKey:@"result"] intValue]!=2&&count<REQUEST_DOWNLOAD_RETRY_TIMES) //超过60分钟还没准被好数据就视为服务器出错。
+        {
+            sleep(RETRY_DELAY);
+            
+            
+            count++;
+            download_json=[[RANetwork  download_Offline:downSerial] mutableCopy];
+            
+            
+            
+            
+        }
+        
+        //服务器准备数据完毕,进入处理数据逻辑。
+        if(count>=REQUEST_DOWNLOAD_RETRY_TIMES)
+        {
+            [self add_downloadlog:@"Can not get offline data version, please try again later."];
+            dispatch_async(dispatch_get_main_queue(), ^{
+                //                self.downloadlog=nil;
+                self.downloading=false;
+            });
+            [ [ UIApplication sharedApplication] setIdleTimerDisabled:NO ] ;
+            [self.settingUI onSyncFinish];
+            return;
+            //一直没取到json,出错处理
+        }
+        else
+        {
+            if([download_json[@"count"] intValue]==0)
+            {
+                //没有找到更新包,当前是最新版本
+                [self add_downloadlog:@"You are up-to-date!"];
+                dispatch_async(dispatch_get_main_queue(), ^{
+                    //                    self.downloadlog=nil;
+                    self.downloading=false;
+                });
+                [ [ UIApplication sharedApplication] setIdleTimerDisabled:NO ] ;
+                [self.settingUI onSyncFinish];
+                return;
+            }
+            else
+            {
+                [self add_downloadlog:@"Find a new version, downloading..."];
+                self.download_task = [download_json mutableCopy];
+                //  self.download_task[@"abcdef"]=@"abcdef";
+                long long size= [[self.download_task valueForKey:@"size"] longLongValue] /1024/1024;
+                [self add_downloadlog:[NSString stringWithFormat:@"Total size %lldMB",size]];
+                [self download_offline:true checkdiskspace:true];
+                return;
+            }
+            
+        }
+        
+    });
+}
+-(void) check_offline:(NSString*) ver useInternalAddress:(bool)buseinternaladdress parentvc:(UIViewController*) parent
+{
+    
+    
+    
+    NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
+    bool forcedownload = [defaults boolForKey:@"Forcedownload"];
+    
+    if(forcedownload|| ver==nil)
+    {
+        [self download_offline:ver useInternalAddress:buseinternaladdress];
+        SyncControlPanelViewController * syncVC =[ [UIStoryboard storyboardWithName:@"OLM" bundle:nil] instantiateViewControllerWithIdentifier:@"SyncControlPanelViewController"];
+        syncVC.action_string=@"Download";
+        UINavigationController* navi = [[UINavigationController alloc] initWithRootViewController:syncVC] ;
+        
+        
+        
+        
+        
+        //    [self hackModalSheetSize:CGSizeMake(450, 200) ofVC:navi];
+        
+        navi.modalPresentationStyle = UIModalTransitionStyleCrossDissolve;//有三种状态,自己看看是哪种
+        [parent presentViewController:navi animated:YES completion:^{
+            
+            //        navi.view.superview.bounds = CGRectMake(0, 0, 480, 320);
+            
+            DebugLog(@"about present.........");
+            
+            //   self.btop = false;
+            //  <#code#>
+        }];
+
+    }
+    else
+    {
+        NSArray* arr_order=nil;
+        arr_order=[OLDataProvider enumOfflineOrder];
+        
+//        if(arr_order.count>0)
+//        {
+//            
+//            {
+//                SelectUploadOrderViewController * vc =[ [UIStoryboard storyboardWithName:@"OLM" bundle:nil] instantiateViewControllerWithIdentifier:@"SelectUploadOrderViewController"];
+//                vc.returnValue = ^(NSArray* SelectedOrder){
+//                    
+//                    [self upload_offline:ver useInternalAddress:buseinternaladdress orderid:SelectedOrder];
+//                    SyncControlPanelViewController * syncVC =[ [UIStoryboard storyboardWithName:@"OLM" bundle:nil] instantiateViewControllerWithIdentifier:@"SyncControlPanelViewController"];
+//                    syncVC.action_string=@"Download";
+//                    UINavigationController* navi = [[UINavigationController alloc] initWithRootViewController:syncVC] ;
+//                    
+//                    
+//                    
+//                    
+//                    
+//                    //    [self hackModalSheetSize:CGSizeMake(450, 200) ofVC:navi];
+//                    
+//                    navi.modalPresentationStyle = UIModalTransitionStyleCrossDissolve;//有三种状态,自己看看是哪种
+//                    [parent presentViewController:navi animated:YES completion:^{
+//                        
+//                        //        navi.view.superview.bounds = CGRectMake(0, 0, 480, 320);
+//                        
+//                        DebugLog(@"about present.........");
+//                        
+//                        //   self.btop = false;
+//                        //  <#code#>
+//                    }];
+//                };
+//                
+//                UINavigationController* navi = [[UINavigationController alloc] initWithRootViewController:vc] ;
+//                
+//                
+//                
+//                
+//                
+//                
+//                navi.modalPresentationStyle = UIModalTransitionStyleCrossDissolve;//有三种状态,自己看看是哪种
+//                [parent presentViewController:navi animated:YES completion:^{
+//                    
+//                    
+//                }];
+//            }
+//            
+//            
+//        }
+//        else
+        {
+            [self upload_offline:ver useInternalAddress:buseinternaladdress orderid:arr_order];
+            SyncControlPanelViewController * syncVC =[ [UIStoryboard storyboardWithName:@"OLM" bundle:nil] instantiateViewControllerWithIdentifier:@"SyncControlPanelViewController"];
+            syncVC.action_string=@"Download";
+            UINavigationController* navi = [[UINavigationController alloc] initWithRootViewController:syncVC] ;
+            navi.modalPresentationStyle = UIModalTransitionStyleCrossDissolve;//有三种状态,自己看看是哪种
+            [parent presentViewController:navi animated:YES completion:^{
+                
+                //        navi.view.superview.bounds = CGRectMake(0, 0, 480, 320);
+                
+                DebugLog(@"about present.........");
+                
+                //   self.btop = false;
+                //  <#code#>
+            }];
+        }
+        
+    }
+    
+    
+    
+    
+    
+    
+    
+}
+-(void) download_offline:(bool) start checkdiskspace:(bool) checkdiskspace
+{
+    [ERPUtils googleAnalyticsSendRequestString:nil WithScreen:ScreenCodeOfflineSync Action:nil Extra:nil];
+    if(start)
+    {
+        [ [ UIApplication sharedApplication] setIdleTimerDisabled:YES ] ;
+        
+        long long size= [[self.download_task valueForKey:@"size"] longLongValue] /1024/1024;
+        //        [self add_downloadlog:[NSString stringWithFormat:@"Total size %lldMB",size]];
+        long long freespace=[RAUtils freeDiskSpaceInMegaBytes];
+        long long needsize = size+500;
+        if(needsize>freespace &&checkdiskspace)
+        {
+            //size not enough.
+            NSString* space=[NSString stringWithFormat:@"Disk space not enough, need %lldMB free space at least, current free space %lldMB",needsize,freespace];
+            
+            [self add_downloadlog:space];
+            [self.settingUI onSyncFinish];
+            
+            
+            return ;
+        }
+        
+        NSString* temp = NSTemporaryDirectory();
+        
+        
+        NSString * ver = self.download_task[@"ver"];
+        
+        NSString *tempfolder = [temp stringByAppendingPathComponent:ver];
+        
+        //创建版本临时目录
+        NSFileManager* fileManager = [NSFileManager defaultManager];
+        BOOL bdir=YES;
+        if(!  [fileManager fileExistsAtPath:tempfolder isDirectory:&bdir])
+        {
+            
+            NSError *error = nil;
+            bool bsuccess=[fileManager createDirectoryAtPath:tempfolder withIntermediateDirectories:YES attributes:nil error:&error];
+            
+            if(!bsuccess)
+                DebugLog(@"Create temp folder failed");
+            
+            //        if(bsuccess)
+            //        {
+            //            sqlite3 *db = [self get_db];
+            //
+            //            [self execSql:[NSString stringWithFormat:@"insert into img_cache(name) values('%@')",name] db:db];
+            //            [iSalesDB close_db:db];
+            //        }
+        }
+        
+        NSString* cachefolder=[NSString stringWithFormat:@"%@/image_cache/",ver];
+        
+        NSString *imagecache = [temp stringByAppendingPathComponent:cachefolder];
+        if(!  [fileManager fileExistsAtPath:imagecache isDirectory:&bdir])
+        {
+            
+            NSError *error = nil;
+            bool bsuccess=[fileManager createDirectoryAtPath:imagecache withIntermediateDirectories:YES attributes:nil error:&error];
+            
+            if(!bsuccess)
+                DebugLog(@"Create cache folder failed");
+            
+        }
+        
+        
+        NSString* resourcefolder=[NSString stringWithFormat:@"%@/offline_data/",ver];
+        
+        NSString *resource = [temp stringByAppendingPathComponent:resourcefolder];
+        //    if(!  [fileManager fileExistsAtPath:resource isDirectory:&bdir])
+        //    {
+        //
+        //        NSError *error = nil;
+        //        bool bsuccess=[fileManager createDirectoryAtPath:resource withIntermediateDirectories:YES attributes:nil error:&error];
+        //
+        //        if(!bsuccess)
+        //            DebugLog(@"Create resource folder failed");
+        //
+        //    }
+        
+        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
+        NSString *documents = /*[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];*/[paths objectAtIndex:0];
+        NSString *database_path = [documents stringByAppendingPathComponent:DBNAME];
+        
+        NSString* tempdb=[NSString stringWithFormat:@"%@%@/%@",temp,ver,DBNAME];
+        //    tempdb=[documents stringByAppendingPathComponent:DBNAME];
+        NSError *error = nil;
+        bdir=NO;
+        if(!  [fileManager fileExistsAtPath:tempdb isDirectory:&bdir])
+        {
+            //    [iSalesDB execSql:@"PRAGMA journal_mode = DELETE;"];
+            
+            if(![fileManager copyItemAtPath:database_path toPath:tempdb error:&error])
+            {
+                DebugLog(@"copy database failed");
+            }
+        }
+        bdir=YES;
+        error=nil;
+        int count = [[self.download_task valueForKey:@"count"] intValue];
+        bool alldone=true;
+        bool trouble=false;
+        bool response = false;
+        for (int i = 0;i<count;i++)
+        {
+            NSMutableDictionary* itemjson = [[self.download_task objectForKey:[NSString stringWithFormat:@"item_%d",i]] mutableCopy];
+            NSString* url = [itemjson valueForKey:@"url"];
+            NSString* type = [itemjson valueForKey:@"type"];
+            
+            {
+                #ifdef DEBUG
+                //调试模式下跳过下载图片
+                if([type isEqualToString:@"img"])
+                {
+                    itemjson[@"status"]=@"finish";
+                    continue;
+                }
+                #endif
+            }
+            
+            NSString* status = itemjson[@"status"];
+            //bool finish = [[itemjson valueForKey:@"finish"] boolValue];
+            if(! [status isEqualToString:@"finish"])
+            {
+                
+                if([itemjson[@"retry"] intValue]<DOWNLOAD_RETRY_TIMES)
+                {
+                    [self handle_download:url start:start  type:type taskid:i];
+                    alldone=false;
+                    break;
+                }
+                else
+                {
+                    alldone=false;
+                    trouble=true;
+                    response = [itemjson[@"response"] boolValue];
+                    break;
+                }
+            }
+            
+        }
+        if(trouble)
+        {
+            NSString* msg =@"offline sync got some trouble, sync canceled.";
+            if(response==false)
+            {
+                msg=@"Cannot connect to server, please check your network.";
+            }
+            [self add_downloadlog:msg];
+            dispatch_async(dispatch_get_main_queue(), ^{
+                //        self.downloadlog=nil;
+                self.downloading=false;
+            });
+            [self.settingUI onSyncFinish];
+        }
+        else if(alldone)
+        {
+            
+            [self add_downloadlog:@"Finalizing download..."];
+            //全部下载完成;
+            //写入当前版本
+            
+            
+            NSDateFormatter* formatter = [[NSDateFormatter alloc]init];
+            [formatter setDateFormat:@"MM/dd/yyyy HH:mm:ss"];
+            NSString* lastsync = [formatter stringFromDate:[NSDate date]];
+            
+            
+            
+            NSString* ver= self.download_task[@"ver"];
+            
+            
+            
+            
+            NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
+            NSString *cachefolder = [paths objectAtIndex:0];
+            NSString *img_cache = [cachefolder stringByAppendingPathComponent:@"img_cache"];
+            //NSString *cached_offline_data = [cachefolder stringByAppendingPathComponent:@"offline_data"];
+            
+            if(![RAUtils mergeContentsOfPath:imagecache intoPath:img_cache error:&error])
+            {
+                DebugLog(@"move image folder failed");
+                [self add_downloadlog:@"move image folder failed"];
+                trouble=true;
+            }
+            else
+            {
+                DebugLog(@"move image folder successful");
+            }
+            error=nil;
+            
+            
+            // copy temp db to cache.
+            if( [fileManager fileExistsAtPath:database_path isDirectory:&bdir])
+            {
+                
+                if(![fileManager removeItemAtPath:database_path error:nil])
+                {
+                    DebugLog(@"delete database failed");
+                }
+                else
+                {
+                    if(![fileManager copyItemAtPath:tempdb toPath:database_path error:&error])
+                    {
+                        DebugLog(@"copy database failed");
+                        [self add_downloadlog:@"copy database failed"];
+                        trouble=true;
+                        
+                    }
+                    else{
+                        BOOL blDele= [fileManager removeItemAtPath:tempdb error:nil];
+                        //     [iSalesDB execSql:@"PRAGMA journal_mode = WAL;"];
+                    }
+                }
+            }
+            else if(![fileManager copyItemAtPath:tempdb toPath:database_path error:&error])
+            {
+                DebugLog(@"copy database failed");
+                BOOL blDele= [fileManager removeItemAtPath:tempdb error:nil];
+                [self add_downloadlog:@"copy database failed"];
+                trouble=true;
+            }
+            
+            //        if(![RAUtils mergeContentsOfPath:tempdb intoPath:database_path error:&error])
+            //        {
+            //            DebugLog(@"move db file failed");
+            //        }
+            //        else
+            //        {
+            //            DebugLog(@"move db file successful");
+            //        }
+            error=nil;
+            if(![RAUtils mergeContentsOfPath:resource intoPath:cachefolder error:&error])
+            {
+                DebugLog(@"move data folder failed");
+                [self add_downloadlog:@"move data folder failed"];
+                trouble=true;
+            }
+            else
+            {
+                DebugLog(@"move data folder successful");
+            }
+            
+            
+            [ [ UIApplication sharedApplication] setIdleTimerDisabled:NO ] ;
+            
+            
+            if(trouble)
+            {
+                [self add_downloadlog:@"offline sync failed."];
+                // 尚缺更新失败还原逻辑。
+            }
+            else
+            {
+                [self add_downloadlog:@"offline sync complete."];
+                
+                
+                NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
+                [defaults removeObjectForKey:@"OfflineVer"];
+                [defaults setValue:ver forKey:@"OfflineVer"];
+                [defaults removeObjectForKey:@"LastSync"];
+                [defaults setValue:lastsync forKey:@"LastSync"];
+                [defaults removeObjectForKey:@"vid"];
+                [defaults setValue:self.vid forKey:@"vid"];
+                [defaults removeObjectForKey:@"Forcedownload"];
+                NSString * downSerial = [defaults valueForKey:@"downSerial"];
+                [defaults removeObjectForKey:@"downSerial"];
+                [defaults removeObjectForKey:@"OFFLINE_DIRTY"];
+                [defaults setBool:FALSE forKey:@"OFFLINE_DIRTY"];
+                [defaults synchronize];
+                
+                NSString *plistPath = [RAUtils get_config_path];
+                NSMutableDictionary *config_list = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];
+                if([config_list[@"NEED_FULLY_SYNC"] boolValue])
+                {
+                    config_list[@"NEED_FULLY_SYNC"] = @"false";
+                    [config_list writeToFile:plistPath atomically:YES];
+                }
+                
+                dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
+                    
+                    
+                    
+                    NSDictionary* editor_json = [RANetwork finish_download_Offline:downSerial];
+                    
+
+                });
+            }
+            
+            dispatch_async(dispatch_get_main_queue(), ^{
+                //        self.downloadlog=nil;
+                self.downloading=false;
+                self.download_task=nil;
+                self.vid=nil;
+                
+                
+                [self.settingUI onSyncFinish];
+            });
+        }
+    }
+    else
+    {
+        int count = [[self.download_task valueForKey:@"count"] intValue];
+        for (int i = 0;i<count;i++)
+        {
+            NSDictionary* itemjson = [self.download_task objectForKey:[NSString stringWithFormat:@"item_%d",i]];
+            NSString* url = [itemjson valueForKey:@"url"];
+            NSString* type = [itemjson valueForKey:@"type"];
+            
+            NSString* status = itemjson[@"status"];
+            //bool finish = [[itemjson valueForKey:@"finish"] boolValue];
+            if(! [status isEqualToString:@"finish"])
+            {
+                
+                if([itemjson[@"retry"] intValue]<DOWNLOAD_RETRY_TIMES)
+                {
+                    [self handle_download:url start:start  type:type taskid:i];
+                    
+                    break;
+                }
+                
+            }
+            
+        }
+        dispatch_async(dispatch_get_main_queue(), ^{
+            self.downloading=false;
+        });
+    }
+}
+-(void) add_downloadlog:(NSString*) newtext
+{
+    //    if(!self.downloading)
+    //        return;
+    
+    dispatch_async(dispatch_get_main_queue(), ^{
+        NSString* date;
+        NSDateFormatter* formatter = [[NSDateFormatter alloc]init];
+        [formatter setDateFormat:@"MM/dd/yyyy HH:mm:ss"];
+        date = [formatter stringFromDate:[NSDate date]];
+        
+        
+        if(newtext.length<=0)
+            return;
+        NSString* text = self.downloadlog;
+        if(text.length==0)
+            text=@"";
+        text = [NSString stringWithFormat:@"%@%@----------%@\n",text,date,newtext];
+        self.downloadlog = text;
+        
+        
+        [self.settingUI onLogUpdate];
+    });
+}
+-(int)unpack
+{
+    
+    //return;
+    
+    //DebugLog(_fileName);
+    ///Users/Ray/Library/Developer/CoreSimulator/Devices/0852B217-599B-41C2-95BA-4755B02B7FA0/data/Containers/Data/Application/FC6AC5D0-2ADF-4A3B-935D-059078622031/Library/Caches/apache-tomcat-8.0.22.zip
+    //文件路径
+    //    NSString *caches = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
+    NSString* temp = NSTemporaryDirectory();
+    
+    NSString* filename = self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]][@"fileName"];
+    
+    [self add_downloadlog:[NSString stringWithFormat:@"Unpack file %@.",filename]];
+    
+    NSString * ver = self.download_task[@"ver"];
+    NSString* location=[NSString stringWithFormat:@"%@/%@",ver,filename];
+    
+    
+    NSString *zipFile = [temp stringByAppendingPathComponent:location];
+    ZipArchive* zip = [[ZipArchive alloc] init];
+    
+    // filename stringByDeletingPathExtension
+    //    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
+    //    NSString *cachefolder = [paths objectAtIndex:0];
+    
+    NSString* unziplocation=[NSString stringWithFormat:@"%@/%@",ver,[filename stringByDeletingPathExtension]];
+    
+    NSString *unZipTo = [temp stringByAppendingPathComponent:unziplocation];
+    //
+    //    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
+    //    NSString *documentPath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
+    //NSString* zipFile = [documentPath stringByAppendingString:@"/images.zip"] ;
+    // NSString* unZipTo = img_cache;//[documentPath stringByAppendingString:@"/images"] ;
+    
+    DebugLog(@"path: %@",unZipTo);
+    if( [zip UnzipOpenFile:zipFile Password:@"#UL$dc01"] ){
+        BOOL result = [zip UnzipFileTo:unZipTo overWrite:YES];
+        if( NO==result )
+        {
+            //            int aaa=0;
+            //解压失败
+            long long freespace=[RAUtils freeDiskSpaceInMegaBytes];
+            if(freespace<=10)
+            {
+                return UNZIP_NO_SPACE;
+            }
+            [zip UnzipCloseFile];
+            //文件损坏,删除文件重试
+            
+            
+            NSFileManager* fileManager=[NSFileManager defaultManager];
+            BOOL blDele= [fileManager removeItemAtPath:zipFile error:nil];
+            
+            [fileManager removeItemAtPath:unZipTo error:nil];
+            
+            
+            
+            return UNZIP_FILE_DAMAGE;
+            
+            
+            
+        }
+        else
+        {
+            [zip UnzipCloseFile];
+            
+            [self add_downloadlog:[NSString stringWithFormat:@"Unpack file %@ successful.",filename]];
+            NSFileManager *fileManager = [NSFileManager defaultManager];
+            [fileManager removeItemAtPath:zipFile error:nil];
+            return UNZIP_SUCCESS;
+            //NSString *imageDir = [NSString stringWithFormat:@"%@/Caches/%@", NSHomeDirectory(), dirName];
+            
+            
+        }
+        //[zip UnzipCloseFile];
+    }
+    else
+    {
+        //打开文件失败,通常是文件路径有问题或密码错误。
+        
+        return UNZIP_OPEN_FAILED;
+        NSFileManager *fileManager = [NSFileManager defaultManager];
+        [fileManager removeItemAtPath:zipFile error:nil];
+    }
+    // [zip release];
+}
+
+
+#pragma mark - NSURLConnectionDelegate
+-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{
+    
+    
+    DebugLog(@"%d error message:%@",self.current_task,error);
+    
+    
+    NSMutableDictionary* currenttask=[self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]] mutableCopy];
+    
+    
+    
+    
+    
+    
+    
+    
+    //    self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]][@"position"] = [NSNumber numberWithLongLong:0];
+    currenttask[@"status"] = @"pause";
+    int retry=[self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]][@"retry"] intValue];
+    currenttask[@"retry"]= [NSNumber numberWithInt:retry+1];
+    self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]]=currenttask;
+    
+    //    self.currentLength = 0;
+    //    self.fileLength = 0;
+    [self.fileHandle closeFile];
+    self.fileHandle = nil;
+    [self.connection cancel];
+    self.connection = nil;
+    
+    [self download_offline:true checkdiskspace:false];
+}
+
+#pragma mark - NSURLConnectionDataDelegate
+
+/**
+ *请求失败
+ */
+/**
+ *接收到服务器的响应
+ */
+- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
+    
+    NSHTTPURLResponse* httpresponse = (NSHTTPURLResponse *)response;
+    
+    if (httpresponse.statusCode == 206) {//!!!断点续传的状态码为206
+        
+        
+        DebugLog(@"%d begin",self.current_task);
+        
+        long long position=[self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]][@"position"] longLongValue];
+        
+        
+        //获取下载文件大小
+        //        self.fileLength = response.expectedContentLength;
+        NSMutableDictionary* currenttask=[self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]] mutableCopy];
+        
+        
+        //获取文件名
+        //self.fileName = response.suggestedFilename;
+        
+        currenttask[@"fileName"] = response.suggestedFilename;
+        currenttask[@"response"] = @"true";
+        [self add_downloadlog:[NSString stringWithFormat:@"Begin download file %@.",currenttask[@"fileName"]]];
+        
+        self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]]=currenttask;
+        
+        //文件路径
+        NSString *temp = NSTemporaryDirectory();//[NSSearchPathForDirectoriesInDomains(NSTemporaryDirectory(), NSUserDomainMask, YES) lastObject];
+        
+        NSString * ver = self.download_task[@"ver"];
+        NSString* location=[NSString stringWithFormat:@"%@/%@",ver,response.suggestedFilename];
+        NSString *filePath = [temp stringByAppendingPathComponent:location];
+        DebugLog(@"save to: %@",filePath);
+        
+        if (position>0) {
+            //不需要创建文件;
+            //创建一个用来写数据的文件句柄
+            self.fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];
+            return;
+        }
+        // 第一次获取的才是文件正确大小
+        currenttask[@"fileLength"] = [NSNumber numberWithLongLong:response.expectedContentLength];
+        //创建一个空的文件到沙盒
+        NSFileManager *fileManager = [NSFileManager defaultManager];
+        [fileManager createFileAtPath:filePath contents:nil attributes:nil];
+        
+        //创建一个用来写数据的文件句柄
+        self.fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];
+    }else{
+        
+        //debug 这里缺少文件的情况还没处理
+        
+        [self.connection cancel];
+        self.connection = nil;
+        DebugLog(@"该文件不存在");
+        NSString* str_status=[NSString stringWithFormat:@"Server return %d.",httpresponse.statusCode];
+        
+        [self add_downloadlog:@"Offline file does not exist,please contact your administrator."];
+        [self add_downloadlog:str_status];
+    }
+    
+}
+
+/**
+ *接收到服务器返回的数据(可能被调用多次)
+ */
+- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
+    
+    
+    
+    //移动到文件末尾
+    [self.fileHandle seekToEndOfFile];
+    
+    //写入数据到文件
+    [self.fileHandle writeData:data];
+    
+    NSMutableDictionary* currenttask=[self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]] mutableCopy];
+    
+    long long position=[self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]][@"position"] longLongValue];
+    position += data.length;
+    currenttask[@"position"] = [NSNumber numberWithLongLong:position];
+    
+    
+    self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]]=currenttask;
+    
+    //更新画面中的进度
+    int fileLength=[self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]][@"fileLength"] intValue];
+    
+    
+    
+    
+    
+    double progress = (double)position/fileLength;
+    
+    self.file_progress = progress;
+    [self.settingUI onProgressUpdate];
+}
+
+/**
+ *服务器返回数据完了
+ */
+- (void)connectionDidFinishLoading:(NSURLConnection *)connection{
+    
+    NSMutableDictionary* currenttask=[self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]] mutableCopy];
+    
+    
+    
+    
+    [self add_downloadlog:[NSString stringWithFormat:@"Finish download file %@.",currenttask[@"fileName"]]];
+    
+    DebugLog(@"%d finish",self.current_task);
+    currenttask[@"position"] = [NSNumber numberWithLongLong:0];
+    
+    self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]]=currenttask;
+    //    self.currentLength = 0;
+    //    self.fileLength = 0;
+    [self.fileHandle closeFile];
+    self.fileHandle = nil;
+    int result=[self unpack];
+    NSString* temp = NSTemporaryDirectory();
+    
+    NSString* filename = self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]][@"fileName"];
+    
+    
+    
+    NSString * ver = self.download_task[@"ver"];
+    
+    NSString* unziplocation=[NSString stringWithFormat:@"%@/%@",ver,[filename stringByDeletingPathExtension]];
+    
+    NSString *unZipTo = [temp stringByAppendingPathComponent:unziplocation];
+    
+    switch (result) {
+        case UNZIP_FILE_DAMAGE:
+        {
+            NSMutableDictionary* currenttask=[self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]] mutableCopy];
+            currenttask[@"status"] = @"pause";
+            int retry=[self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]][@"retry"] intValue];
+            currenttask[@"retry"]= [NSNumber numberWithInt:retry+1];
+            self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]]=currenttask;
+            
+            //    self.currentLength = 0;
+            //    self.fileLength = 0;
+            [self.fileHandle closeFile];
+            self.fileHandle = nil;
+            [self.connection cancel];
+            self.connection = nil;
+            break;
+        }
+        case UNZIP_SUCCESS:
+        {
+            NSString* type = self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]][@"type"];
+            
+            if([type isEqualToString:@"img"])
+            {
+                
+                NSString* parent_path = self.download_task[@"path"];
+                if(parent_path.length==0)
+                    parent_path=@"";
+                parent_path = [parent_path stringByReplacingOccurrencesOfString:@"http://" withString:@""];
+                parent_path = [parent_path stringByReplacingOccurrencesOfString:@"https://" withString:@""];
+                NSString* cachefolder=[NSString stringWithFormat:@"%@/image_cache/%@",ver,parent_path];
+                
+                
+                
+                NSString *imagecache = [temp stringByAppendingPathComponent:cachefolder];
+                
+                BOOL bdir=YES;
+                NSError *error = nil;
+                if(!  [[NSFileManager defaultManager] fileExistsAtPath:imagecache isDirectory:&bdir])
+                {
+                    
+                    bool bsuccess=[[NSFileManager defaultManager] createDirectoryAtPath:imagecache withIntermediateDirectories:YES attributes:nil error:&error];
+                    
+                    if(!bsuccess)
+                        DebugLog(@"Create temp folder failed");
+                }
+                
+                error=nil;
+                //                NSString* backupfolder=[NSString stringWithFormat:@"%@/test.xml",ver];
+                //                NSString* backup=[temp stringByAppendingPathComponent:backupfolder];
+                
+                //                NSError *error = nil;
+                //                NSURL* uf=[NSURL fileURLWithPath:imagecache];
+                //               if( [[NSFileManager defaultManager] replaceItemAtURL:[NSURL fileURLWithPath:imagecache]
+                //                               withItemAtURL:[NSURL fileURLWithPath:unZipTo]
+                //                              backupItemName:backup
+                //                                     options:NSFileManagerItemReplacementWithoutDeletingBackupItem
+                //                            resultingItemURL:nil error:&error])
+                if(![RAUtils mergeContentsOfPath:unZipTo intoPath:imagecache error:&error])
+                    //   if([[NSFileManager defaultManager] moveItemAtPath:unZipTo toPath:imagecache error:&error]!=YES)// prePath 为原路径、     cenPath 为目标路径
+                {
+                    DebugLog(@"move image folder failed");
+                }
+                else
+                {
+                    currenttask[@"status"] = @"finish";
+                    DebugLog(@"move image folder successful");
+                }
+                
+            }
+            else if([type isEqualToString:@"sql"])
+            {
+                AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
+                NSString * ver = self.download_task[@"ver"];
+                NSString* tempdb=[NSString stringWithFormat:@"%@/%@",ver,DBNAME];
+                tempdb=[temp stringByAppendingPathComponent:tempdb];
+                sqlite3* tdb=[iSalesDB get_db_at:tempdb];
+                
+                
+                [self add_downloadlog:@"updating local database..."];
+                
+                
+                @try {
+                    char *errmsg=NULL;
+                    appDelegate.disable_trigger=true;
+                    if (sqlite3_exec(tdb, "begin", NULL, NULL, &errmsg)==SQLITE_OK)
+                    {
+                        
+                        sqlite3_exec(tdb, "drop trigger if exists wishlist_insert;drop trigger if exists wishlist_update;drop trigger if exists wishlist_delete;drop trigger if exists offline_portfolio_insert;drop trigger if exists offline_portfolio_update;drop trigger if exists offline_portfolio_delete;drop trigger if exists offline_pdf_insert;drop trigger if exists offline_pdf_update;drop trigger if exists offline_pdf_delete;offline_pdf;", NULL, NULL, &errmsg);
+                        
+                        sqlite3_free(errmsg);
+                        DebugLog(@"开启事务");
+                        NSString* jsonpath =[NSString stringWithFormat:@"%@/offLineSql/%@",unZipTo,@"SqlJson.txt"];
+                        
+                        NSDictionary* orderjson=[RAUtils dictfromfile:jsonpath];
+                        int count = [orderjson[@"count"] intValue];
+                        for(int i=0;i<count;i++)
+                        {
+                            NSString* sqlfile=orderjson[[NSString stringWithFormat:@"item_%d",i]];
+                            NSString* sqlpath =[NSString stringWithFormat:@"%@/offLineSql/%@",unZipTo,sqlfile];
+                            NSError *error = nil;
+                            NSString* sql = [NSString stringWithContentsOfFile:sqlpath encoding:NSUTF8StringEncoding error:&error];
+                            //DebugLog(@"NSString类方法读取的内容是:\n%@",content);
+                            
+                            
+                            
+                            
+                            if(sqlite3_exec(tdb, [sql UTF8String], NULL, NULL, &errmsg)!=SQLITE_OK)
+                            {
+                                //throw exception;
+                                if(errmsg==nil)
+                                    errmsg="Unknown error.";
+                                NSString *nsmsg = [[NSString alloc]initWithUTF8String:errmsg];
+                                [NSException raise:@"offline update sql error" format:@"FILE:%@  MSG:%@",sqlfile,nsmsg];
+                            }
+                            
+                            sqlite3_free(errmsg);
+                        }
+                        
+                        
+                        sqlite3_exec(tdb, "CREATE TRIGGER  if not exists wishlist_insert after insert on wishlist BEGIN select offline_dirty();  UPDATE wishlist SET modify_time= datetime('now', 'localtime') WHERE _id=new._id;END;CREATE TRIGGER  if not exists wishlist_update after update on wishlist BEGIN select offline_dirty();  UPDATE wishlist SET modify_time= datetime('now', 'localtime'), is_dirty = 1 WHERE _id=new._id; END;CREATE TRIGGER if not exists wishlist_delete after DELETE ON wishlist BEGIN select offline_dirty(); END;CREATE TRIGGER  if not exists offline_pdf_insert after insert on offline_pdf BEGIN select offline_dirty();  UPDATE offline_pdf SET modify_time= datetime('now', 'localtime') WHERE _id=new._id;END;CREATE TRIGGER  if not exists offline_pdf_update after update on offline_pdf BEGIN select offline_dirty();  UPDATE offline_pdf SET modify_time= datetime('now', 'localtime'), is_dirty = 1 WHERE _id=new._id; END;CREATE TRIGGER if not exists offline_pdf_delete after DELETE ON offline_pdf BEGIN select offline_dirty(); END;CREATE TRIGGER  if not exists offline_portfolio_insert after insert on offline_portfolio BEGIN select offline_dirty();  UPDATE offline_portfolio SET modify_time= datetime('now', 'localtime') WHERE _id=new._id;END;CREATE TRIGGER  if not exists offline_portfolio_update after update on offline_portfolio BEGIN select offline_dirty();  UPDATE offline_portfolio SET modify_time= datetime('now', 'localtime'), is_dirty = 1 WHERE _id=new._id; END;CREATE TRIGGER if not exists offline_portfolio_delete after DELETE ON offline_portfolio BEGIN select offline_dirty(); END;", NULL, NULL, &errmsg);
+                    }
+                    //提交事务
+                    if (sqlite3_exec(tdb, "commit", NULL, NULL, &errmsg)==SQLITE_OK) {
+                        
+                        DebugLog(@"提交事务");
+                        
+                        sqlite3_free(errmsg);
+                    }
+                    
+                    [self add_downloadlog:@"updating local database successful"];
+                    currenttask[@"status"] = @"finish";
+                    
+                }
+                
+                
+                @catch (NSException *exception) {
+                    char *errmsg=NULL;
+                    [self add_downloadlog:[NSString stringWithFormat:@"updating local database error, %@",exception.description]];
+                    [self add_downloadlog:@"updating local database failed rollback..."];
+                    if (sqlite3_exec(tdb, "rollback", NULL, NULL, &errmsg)==SQLITE_OK) {
+                        DebugLog(@"回滚事务");
+                        
+                        
+                        
+                        
+                        
+                        
+                    }
+                    else
+                    {
+                        [self add_downloadlog:@"rollback failed."];
+                    }
+                    
+                    
+                    NSMutableDictionary* currenttask=[self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]] mutableCopy];
+                    currenttask[@"status"] = @"pause";
+                    //int retry=[self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]][@"retry"] intValue];
+                    currenttask[@"retry"]= [NSNumber numberWithInt:DOWNLOAD_RETRY_TIMES];
+                    self.download_task [[NSString stringWithFormat:@"item_%d",self.current_task]]=currenttask;
+                    
+                    //    self.currentLength = 0;
+                    //    self.fileLength = 0;
+                    [self.fileHandle closeFile];
+                    self.fileHandle = nil;
+                    [self.connection cancel];
+                    self.connection = nil;
+                    //break;
+                }
+                @finally {
+                    
+                    appDelegate.disable_trigger=false;
+                    sqlite3_close(tdb);
+                    // [iSalesDB close_db:tdb];
+                    //  [self SelectData];
+                }
+                
+            }
+            else if([type isEqualToString:@"script"])
+            {
+                currenttask[@"status"] = @"finish";
+            }
+            else if([type isEqualToString:@"resource"])
+            {
+                currenttask[@"status"] = @"finish";
+            }
+            int c=self.current_task+1;
+            double t=[ self.download_task[@"count"] doubleValue];
+            double oprogress=(self.current_task+1) / [ self.download_task[@"count"] doubleValue];
+            self.overall_progress = oprogress;
+            [self.settingUI onProgressUpdate];
+            break;
+        }
+        case UNZIP_NO_SPACE:
+        {
+            [self add_downloadlog:@"Disk space not enough."];
+            
+            break;
+        }
+        case UNZIP_OPEN_FAILED:
+        {
+            [self add_downloadlog:[NSString stringWithFormat:@"Unpack file %@ failed, error: cannot unpack zip.",filename]];
+            break;
+        }
+        default:
+            break;
+    }
+    [self download_offline:true checkdiskspace:false];
+}
+#pragma mark - Scaner
+-(void)onTimer: (NSTimer*)theTimer{
+    if(theTimer==ScanApiConsumer){
+        
+        //  [self addlog:@"ScanApi::doScanApiReceive:"];
+        [ScanApi doScanApiReceive];
+    }
+}
+-(void) addlog:(NSString*) newtext
+{
+    if(!self.enable_ScannerLog)
+        return;
+    
+    dispatch_async(dispatch_get_main_queue(), ^{
+        NSString* date;
+        NSDateFormatter* formatter = [[NSDateFormatter alloc]init];
+        [formatter setDateFormat:@"MM/dd/yyyy HH:mm:ss"];
+        date = [formatter stringFromDate:[NSDate date]];
+        
+        
+        if(newtext.length<=0)
+            return;
+        NSString* text = self.log;
+        if(text.length==0)
+            text=@"";
+        text = [NSString stringWithFormat:@"%@%@----------%@\n",text,date,newtext];
+        self.log = text;
+        
+        ActiveViewController* avc=(ActiveViewController*)self.active_controller;
+        [avc onLogUpdate];
+    });
+}
+- (void)enableScanner:(bool)enable {
+    
+    [self addlog:@"Enable scanner:"];
+    
+    if(enable)
+    {
+        [self addlog:@"Enable"];
+        
+        self.api_Status =  API_INIT;
+        ActiveViewController* avc=(ActiveViewController*)self.active_controller;
+        self.Status_Text = @"Initialize...";
+        [avc onStatusChanged:@"Initialize..."];
+        [ScanApi open];
+        [self addlog:@"ScanApi open"];
+        
+        ScanApiConsumer=[NSTimer scheduledTimerWithTimeInterval:.2 target:self selector:@selector(onTimer:) userInfo:nil repeats:YES];
+        [self addlog:@"ScanApiConsumer init"];
+        
+        //        [ScanApi close];
+        //        [self addlog:@"ScanApi opent"];
+    }
+    else
+    {
+        [self addlog:@"Disable"];
+        
+        
+        //        [ScanApiConsumer invalidate];
+        //        ScanApiConsumer= nil;
+        //        [self addlog:@"ScanApiConsumer invalidate"];
+        
+        
+        self.api_Status =  API_CLOSING;
+        ActiveViewController* avc=(ActiveViewController*)self.active_controller;
+        self.Status_Text = @"Stoping...";
+        [avc onStatusChanged:@"Stoping..."];
+        [ScanApi close];
+        
+        
+        [self addlog:@"ScanApi close"];
+        
+        
+    }
+}
+
+#pragma mark - Device Info List management
+-(void) updateDevicesList:(DeviceInfo*) deviceInfo Add:(BOOL)add{
+    
+    [self addlog:@"updateDevicesList:"];
+    
+    if(add==YES){
+        [self.devices addObject:deviceInfo];
+    }
+    else{
+        [self.devices removeObject:deviceInfo];
+    }
+    
+    NSMutableString* temp=[[NSMutableString alloc]init];
+    for (DeviceInfo* info in self.devices) {
+        [temp appendString:[info getName]];
+        [temp appendString:@"\n"];
+    }
+    if(self.devices.count>0)
+        [temp appendString:@"ready to scan"];
+    else
+        [temp appendString:@"Waiting for Scanner..."];
+    
+    
+    // _Status.text=temp ;
+    [self addlog:temp];
+    ActiveViewController* avc=(ActiveViewController*)self.active_controller;
+    self.Status_Text = temp;
+    [avc onStatusChanged:temp];
+    [avc OnUpdateDevicesList];
+    
+    // if ([self.active_controller respondsToSelector:@selector(lockPortrait)])
+    // [self.dev_table reloadData];
+    
+}
+#pragma mark - ScanApiHelper complete delegates
+// THE 2 FOLLOWING CALLBACKS ARE FOR DEMO ONLY FOR SHOWING HOW
+// TO CHECK IF A SYMBOLOGY IS ALREADY ENABLED AND IF NOT IT ENABLES
+// IT RIGHT THERE. THE GOAL IS TO CONFIGURE ONCE THE SCANNER WHEN IT
+// CONNECTS TO THE DEVICE. IF THERE IS NO SPECIFIC NEED TO CONFIGURE
+// THE SCANNER, THESE CALLBACKS CAN BE REMOVED
+
+// callback received when the Get Symbology Status is completed
+-(void)onGetSymbologyDpm:(ISktScanObject*)scanObj{
+    [self addlog:@"onGetSymbologyDpm:"];
+    
+    SKTRESULT result=[[scanObj Msg]Result];
+    if(SKTSUCCESS(result)){
+        DeviceInfo* deviceInfo=[ScanApi getDeviceInfoFromScanObject:scanObj];
+        if(deviceInfo!=nil){
+            ISktScanSymbology* symbology=[[scanObj Property]Symbology];
+            if([symbology getStatus]==kSktScanSymbologyStatusDisable){
+                [ScanApi postSetSymbologyInfo:deviceInfo SymbologyId:kSktScanSymbologyDirectPartMarking Status:TRUE Target:self Response:@selector(onSetSymbology:)];
+            }
+        }
+    }
+    else{
+        // an error message should be displayed here
+        // indicating that the DPM symbology status cannot be retrieved
+    }
+}
+
+// callback received when the Set Symbology Status is completed
+-(void)onSetSymbology:(ISktScanObject*)scanObj{
+    [self addlog:@"onSetSymbology:"];
+    
+    SKTRESULT result=[[scanObj Msg]Result];
+    if(!SKTSUCCESS(result)){
+        // display an error message saying a symbology cannot be set
+    }
+}
+
+/**
+ *
+ */
+-(void) onSetDataConfirmationMode:(ISktScanObject*)scanObj{
+    
+    [self addlog:@"onSetDataConfirmationMode:"];
+    SKTRESULT result=[[scanObj Msg]Result];
+    if(SKTSUCCESS(result)){
+        
+        [self addlog:@"DataConfirmation Mode OK"];
+        
+    }
+    else{
+        [self addlog:[NSString stringWithFormat:@"DataConfirmation Mode Error %ld",result]];
+    }
+}
+
+
+/**
+ *
+ */
+-(void) onDataConfirmation:(ISktScanObject*)scanObj{
+    [self addlog:@"onDataConfirmation:"];
+    SKTRESULT result=[[scanObj Msg]Result];
+    if(SKTSUCCESS(result)){
+        [self addlog:@"Data Confirmed OK"];
+    }
+    else{
+        [self addlog:[NSString stringWithFormat:@"Data Confirmed Error %ld",result]];
+    }
+}
+
+/**
+ *
+ */
+-(void) onSetLocalDecodeAction:(ISktScanObject*)scanObj{
+    [self addlog:@"onSetLocalDecodeAction:"];
+    SKTRESULT result=[[scanObj Msg]Result];
+    if(SKTSUCCESS(result)){
+        [self addlog:@"Local Decode Action OK"];
+    }
+    else{
+        [self addlog:[NSString stringWithFormat:@"Local Decode Action Error %ld",result]];
+    }
+}
+
+/**
+ *
+ */
+-(void) onGetSoftScanStatus:(ISktScanObject*)scanObj{
+    SKTRESULT result=[[scanObj Msg]Result];
+    if(SKTSUCCESS(result)){
+        ISktScanProperty* property=[scanObj Property];
+        
+        [self addlog:@"SoftScan status:"];
+        if([property getByte]==kSktScanEnableSoftScan){
+            [self addlog:@"SoftScan is ENABLED"];
+            _softScannerEnabled=TRUE;
+        }
+        else{
+            _softScannerEnabled=FALSE;
+            [self addlog:@"SoftScan is DISABLED"];
+        }
+        
+        
+    }
+    else{
+        [self addlog:[ NSString stringWithFormat:@"getting SoftScanStatus returned the error %ld",result]];
+    }
+}
+
+/**
+ *
+ */
+-(void) onSetSoftScanStatus:(ISktScanObject*)scanObj{
+    [self addlog:@"onSetSoftScanStatus:"];
+    SKTRESULT result=[[scanObj Msg]Result];
+    if(SKTSUCCESS(result)){
+        [self addlog:@"SoftScan set status success"];
+    }
+    else{
+        [self addlog:[NSString stringWithFormat:@"SoftScan set status returned the error %ld",result]];
+    }
+}
+
+/**
+ *
+ */
+-(void) onSetTrigger:(ISktScanObject*)scanObj{
+    [self addlog:@"onSetTrigger:"];
+    SKTRESULT result=[[scanObj Msg]Result];
+    if(SKTSUCCESS(result)){
+        [self addlog:@"Trigger set success"];
+    }
+    else{
+        
+        
+        [self addlog:[NSString stringWithFormat:@"Trigger set returned the error %ld",result]];
+    }
+}
+
+/**
+ *
+ */
+-(void) onGetScanApiVersion:(ISktScanObject*)scanObj{
+    [self addlog:@"onGetScanApiVersion:"];
+    SKTRESULT result=[[scanObj Msg]Result];
+    if(SKTSUCCESS(result))
+    {
+        ISktScanProperty*property=[scanObj Property];
+        if([property getType]==kSktScanPropTypeVersion)
+        {
+            scanApiVersion=[NSString stringWithFormat:@"%lx.%lx.%lx.%ld",
+                            [[property Version]getMajor],
+                            [[property Version]getMiddle],
+                            [[property Version]getMinor],
+                            [[property Version]getBuild]];
+        }
+    }
+    else{
+        scanApiVersion=[NSString stringWithFormat:@"Get ScanAPI version Error: %ld",result];
+    }
+    
+    
+    [self addlog:[NSString stringWithFormat:@"ver: %@",scanApiVersion]];
+}
+
+/**
+ *
+ */
+#ifdef USE_SOFTSCAN
+-(void) onSetOverlayView:(ISktScanObject*)scanObj{
+    SKTRESULT result=[[scanObj Msg]Result];
+    if(SKTSUCCESS(result)){
+        [self addlog:@"Overlay view set success"];
+    }
+    else{
+        [self addlog:[NSString stringWithFormat:@"Overlay view set returned the error %ld",result]];
+        
+        
+    }
+}
+#endif
+/**
+ * called each time a device connects to the host
+ * @param result contains the result of the connection
+ * @param newDevice contains the device information
+ */
+-(void)onDeviceArrival:(SKTRESULT)result device:(DeviceInfo*)deviceInfo{
+    [self addlog:@"onDeviceArrival:"];
+    
+    [self updateDevicesList:deviceInfo Add:YES];
+    
+    
+#ifdef USE_SOFTSCAN
+    // if the scanner is a SoftScan scanner
+    if([deviceInfo.getTypeString compare:@"SoftScan"]==NSOrderedSame){
+        //  _softScannerTriggerBtn.hidden=NO;
+        _softScanDeviceInfo=deviceInfo;
+        if(_deviceInfoToTrigger==nil)
+            _deviceInfoToTrigger=deviceInfo;
+        NSMutableDictionary* overlayParameter=[[NSMutableDictionary alloc]init];
+        [overlayParameter setValue:self forKey:[NSString stringWithCString:kSktScanSoftScanContext encoding:NSASCIIStringEncoding]];
+        [ScanApi postSetOverlayView:deviceInfo OverlayView:overlayParameter Target:self Response:@selector(onSetOverlayView:)];
+    }
+    else
+#endif
+    {
+        if([deviceInfo.getTypeString compare:@"CHS 8Ci Scanner"]==NSOrderedSame){
+            //            _softScannerTriggerBtn.hidden=NO;
+            _deviceInfoToTrigger=deviceInfo;
+        }
+        if(_doAppDataConfirmation==YES){
+            // switch the comment between the 2 following lines for handling the
+            // data confirmation beep from the scanner (local)
+            // if none is set, the scanner will beep only once when SingleEntry actually
+            // confirm the decoded data, otherwise the scanner will beep twice, one locally,
+            // and one when SingleEntry will confirm the decoded data
+            [ScanApi postSetDecodeAction:deviceInfo DecodeAction:kSktScanLocalDecodeActionNone Target:self Response:@selector(onSetLocalDecodeAction:)];
+            
+            //        [ScanApi postSetDecodeAction:deviceInfo DecodeAction:kSktScanLocalDecodeActionBeep|kSktScanLocalDecodeActionFlash|kSktScanLocalDecodeActionRumble Target:self Response:@selector(onSetLocalDecodeAction:)];
+        }
+        
+        // for demonstration only, let's make sure the DPM is enabled
+        // first interrogate the scanner to see if it's already enabled
+        // and in the onGetSymbologyDpm callback, if the DPM is not already set
+        // then we send a Symbology property to enable it.
+        [ScanApi postGetSymbologyInfo:deviceInfo SymbologyId:kSktScanSymbologyDirectPartMarking Target:self Response:@selector(onGetSymbologyDpm:)];
+    }
+    
+    
+}
+
+
+/**
+ * called each time a device disconnect from the host
+ * @param deviceRemoved contains the device information
+ */
+-(void) onDeviceRemoval:(DeviceInfo*) deviceRemoved{
+    
+    [self addlog:@"onDeviceRemoval:"];
+    [self updateDevicesList:deviceRemoved Add:NO];
+    if(_deviceInfoToTrigger==deviceRemoved){
+        _deviceInfoToTrigger=nil;
+    }
+#ifdef USE_SOFTSCAN
+    if(_softScanDeviceInfo==deviceRemoved){
+        _softScanDeviceInfo=nil;
+    }
+    if(_deviceInfoToTrigger==nil)
+        _deviceInfoToTrigger=_softScanDeviceInfo;
+#endif
+    if(_deviceInfoToTrigger==nil){
+        //        _softScannerTriggerBtn.hidden=YES;
+    }
+}
+
+/**
+ * called each time ScanAPI is reporting an error
+ * @param result contains the error code
+ */
+-(void) onError:(SKTRESULT) result{
+    [self addlog:@"onError:"];
+    
+    [self addlog:[NSString stringWithFormat:@"ScanAPI is reporting an error: %ld",result]];
+    ActiveViewController* avc=(ActiveViewController*)self.active_controller;
+    [avc onErrorInfo:[NSString stringWithFormat:@"ScanAPI is reporting an error: %ld",result]];
+    
+    //   _Status.text=[NSString stringWithFormat:@"ScanAPI is reporting an error: %ld",result];
+    
+}
+
+/**
+ * called each time ScanAPI receives decoded data from scanner
+ * @param deviceInfo contains the device information from which
+ * the data has been decoded
+ * @param decodedData contains the decoded data information
+ */
+-(void) onDecodedDataResult:(long)result device:(DeviceInfo *)device decodedData:(ISktScanDecodedData*)decodedData{
+    
+    [self addlog:@"onDecodedDataResult:"];
+    //-(void) onDecodedData:(DeviceInfo *)device decodedData:(ISktScanDecodedData*)decodedData{
+    if(SKTSUCCESS(result)){
+        
+        
+        NSString *cleanString = [[NSString stringWithUTF8String:(const char *)[decodedData getData]] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
+        ActiveViewController* avc=(ActiveViewController*)self.active_controller;
+        [avc onDecodedData:cleanString];
+        //_Entry.text=[NSString stringWithUTF8String:(const char *)[decodedData getData]];
+        [self addlog:[NSString stringWithUTF8String:(const char *)[decodedData getData]]];
+        if(_doAppDataConfirmation==YES){
+            [ScanApi postSetDataConfirmation:device Target:self Response:@selector(onDataConfirmation:)];
+        }
+    }
+}
+
+-(void) test_onDecodedDataResult:(NSString*) value
+{
+    
+    [self addlog:@"onDecodedDataResult:"];
+    //-(void) onDecodedData:(DeviceInfo *)device decodedData:(ISktScanDecodedData*)decodedData{
+    if(true){
+        
+        ActiveViewController* avc=(ActiveViewController*)self.active_controller;
+        [avc onDecodedData:value];
+        //_Entry.text=[NSString stringWithUTF8String:(const char *)[decodedData getData]];
+        [self addlog:value];
+        //        if(_doAppDataConfirmation==YES){
+        //            [ScanApi postSetDataConfirmation:device Target:self Response:@selector(onDataConfirmation:)];
+        //        }
+    }
+}
+//-(void) didRotated
+//{
+//    
+//}
+
+
+/**
+ * called when ScanAPI initialization has been completed
+ * @param result contains the initialization result
+ */
+-(void) onScanApiInitializeComplete:(SKTRESULT) result{
+    
+    [self addlog:@"onScanApiInitializeComplete:"];
+    
+    if(SKTSUCCESS(result))
+    {
+        self.api_Status =  API_START;
+        
+        NSString* strlog =[NSString stringWithFormat:@"onScanApiInitialize SUCCESS result:%ld",result];
+        [self addlog:strlog];
+        
+#ifdef USE_SOFTSCAN
+        // make sure we support SoftScan
+        [ScanApi postSetSoftScanStatus:kSktScanSoftScanSupported Target:self Response:@selector(onSetSoftScanStatus:)];
+        
+        // check if SoftScan is enabled
+        [ScanApi postGetSoftScanStatus:self Response:@selector(onGetSoftScanStatus:)];
+#else
+        // disable support SoftScan (Default, not really needed if it was never activated)
+        [ScanApi postSetSoftScanStatus:kSktScanSoftScanNotSupported Target:self Response:@selector(onSetSoftScanStatus:)];
+#endif
+        
+        // ask for ScanAPI version (not a requirement but always nice to know)
+        [ScanApi postGetScanApiVersion:self Response:@selector(onGetScanApiVersion:)];
+        
+        // configure ScanAPI for doing App Data confirmation,
+        // if TRUE then SingleEntry will confirm the decoded data
+        if(_doAppDataConfirmation==YES){
+            [ScanApi postSetConfirmationMode:kSktScanDataConfirmationModeApp Target:self Response:@selector(onSetDataConfirmationMode:)];
+        }
+        
+        ActiveViewController* avc=(ActiveViewController*)self.active_controller;
+        [avc onStatusChanged:@"Waiting for scanner..."];
+        self.Status_Text = @"Waiting for scanner...";
+        //   _Status.text=@"Waiting for scanner...";
+    }
+    else{
+        ActiveViewController* avc=(ActiveViewController*)self.active_controller;
+        [avc onStatusChanged:[NSString stringWithFormat:@"Error initializing ScanAPI:%ld",result]];
+        self.Status_Text =[NSString stringWithFormat:@"Error initializing ScanAPI:%ld",result];
+        // _Status.text=[NSString stringWithFormat:@"Error initializing ScanAPI:%ld",result];
+        NSString* strlog =[NSString stringWithFormat:@"Error initializing ScanAPI:%ld",result];
+        [self addlog:strlog];
+    }
+}
+
+/**
+ * called when ScanAPI has been terminated. This will be
+ * the last message received from ScanAPI
+ */
+-(void) onScanApiTerminated{
+    
+    [self addlog:@"onScanApiTerminated:"];
+    
+    
+    [ScanApiConsumer invalidate];
+    ScanApiConsumer= nil;
+    [self addlog:@"ScanApiConsumer invalidate"];
+    
+    self.api_Status =  API_STOP;
+    
+    ActiveViewController* avc=(ActiveViewController*)self.active_controller;
+    [avc onStatusChanged:@"Off"];
+    self.Status_Text =@"Off";
+    //   _Status.text = @"Off";
+    
+}
+
+/**
+ * called when an error occurs during the retrieval
+ * of a ScanObject from ScanAPI.
+ * @param result contains the retrieval error code
+ */
+-(void) onErrorRetrievingScanObject:(SKTRESULT) result{
+    
+    [self addlog:@"onErrorRetrievingScanObject:"];
+    [self addlog:[NSString stringWithFormat:@"Error retrieving ScanObject:%ld",result]];
+    //_Status.text=[NSString stringWithFormat:@"Error retrieving ScanObject:%ld",result];
+    ActiveViewController* avc=(ActiveViewController*)self.active_controller;
+    [avc onErrorInfo:[NSString stringWithFormat:@"Error retrieving ScanObject:%ld",result]];
+}
+
+
+
+-(void) printPdf:(NSString*) url company:(NSString*)company send_to:(NSString*)send_to soid:(NSString*)soid content:(NSString*)content
+{
+    RAPDFViewController *ViewController = [self.main_vc.storyboard instantiateViewControllerWithIdentifier:@"RAPDFViewController"];
+    ViewController.url = url;
+    ViewController.canSave = false;
+    
+    
+    
+    ViewController.mail_content = content;
+    
+    
+    if(soid==nil)
+        soid =@"";
+    
+    if(company==nil)
+        company =@"";
+    
+    
+    ViewController.save_name =soid;
+    
+    
+    
+    
+    NSMutableArray* arrsend_to = [[NSMutableArray alloc]init];
+    if(send_to.length>0)
+    {
+        arrsend_to=[[send_to componentsSeparatedByString:NSLocalizedString(@";", nil)] mutableCopy];
+        //                            customer_email compo
+        //                            [send_to addObject:customer_email];
+    }
+    ViewController.mail_to = arrsend_to;
+
+#ifdef BUILD_NPD
+    
+    NSString* subject=[NSString stringWithFormat:@"%@ -- SO# %@ from NEW PACIFIC DIRECT,INC.",company,soid];//[arr_subject componentsJoinedByString:@" : "];
+    
+    if (self.user_type == USER_ROLE_CUSTOMER && ![Singleton sharedInstance].currentOrderIsMerged) {
+        NSString *companyName = [self.customerInfo objectForKey:@"customer_name"];
+        subject=[NSString stringWithFormat:@"%@ -- SO# %@ from %@",company,soid,companyName];
+    }
+#else
+    
+    NSString* subject=[NSString stringWithFormat:@"%@ -- SO# %@ from Homelegance.",company,soid];
+    
+#endif
+    
+    ViewController.mail_subject = subject;
+    
+    
+    
+    //    NSString* subject;
+    //                    if (company.length==0) {
+    
+    //    NSString* cur_time =[RAUtils current_date];
+    //   subject =name;//[NSString stringWithFormat:@"NPD Product List %@",cur_time];
+    
+    //    AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
+    //    NSString* customer_email=    [appDelegate.customerInfo valueForKey:@"customer_email"];
+    //
+    //
+    //    NSMutableArray* send_to = [[NSMutableArray alloc]init];
+    //    if(customer_email.length>0)
+    //    {
+    //        send_to=[[customer_email componentsSeparatedByString:NSLocalizedString(@";", nil)] mutableCopy];
+    //        //                            customer_email compo
+    //        //                            [send_to addObject:customer_email];
+    //    }
+    //    ViewController.mail_to = send_to;
+    
+    //                    }
+    //                    else
+    //                    {
+    //                        subject = [NSString stringWithFormat:@"Tear sheet for %@",company ];
+    //                    }
+    //    ViewController.attachment_name = [NSString stringWithFormat:@"NPD_Product_List %@.pdf",cur_time];
+    //    ViewController.mail_subject = subject;
+    ViewController.autoPrint=true;
+    ViewController.hidenavi = false;
+    [self.main_vc.navigationController pushViewController:ViewController animated:YES];
+    //  [ViewController.navigationController setNavigationBarHidden:NO animated:NO];
+    
+    
+}
+
+@end

BIN
RedAnt ERP Mobile/iSales-USAI/DejaVuSans-Bold.ttf


BIN
RedAnt ERP Mobile/iSales-USAI/DejaVuSans.ttf


+ 26 - 0
RedAnt ERP Mobile/iSales-USAI/GoogleService-Info.plist

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>TRACKING_ID</key>
+	<string>UA-61172313-2</string>
+	<key>PLIST_VERSION</key>
+	<string>1</string>
+	<key>BUNDLE_ID</key>
+	<string>usai.apex.iSales-NPD</string>
+	<key>PROJECT_ID</key>
+	<string>npd-mobile</string>
+	<key>IS_ADS_ENABLED</key>
+	<false/>
+	<key>IS_ANALYTICS_ENABLED</key>
+	<true/>
+	<key>IS_APPINVITE_ENABLED</key>
+	<false/>
+	<key>IS_GCM_ENABLED</key>
+	<false/>
+	<key>IS_SIGNIN_ENABLED</key>
+	<false/>
+	<key>GOOGLE_APP_ID</key>
+	<string>1:943128505895:ios:a8e066dbaab3a1d6</string>
+</dict>
+</plist>

+ 66 - 0
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/Contents.json

@@ -0,0 +1,66 @@
+{
+  "images" : [
+    {
+      "idiom" : "ipad",
+      "size" : "20x20",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "ipad",
+      "size" : "20x20",
+      "scale" : "2x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "ipad",
+      "filename" : "Icon-Small.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "29x29",
+      "idiom" : "ipad",
+      "filename" : "Icon-Small@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "ipad",
+      "filename" : "Icon-Spotlight-40.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "40x40",
+      "idiom" : "ipad",
+      "filename" : "Icon-Spotlight-40@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "76x76",
+      "idiom" : "ipad",
+      "filename" : "Icon-76.png",
+      "scale" : "1x"
+    },
+    {
+      "size" : "76x76",
+      "idiom" : "ipad",
+      "filename" : "Icon-76@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "83.5x83.5",
+      "idiom" : "ipad",
+      "filename" : "Icon-iPadPro@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "size" : "1024x1024",
+      "idiom" : "ios-marketing",
+      "filename" : "appicon-7.png",
+      "scale" : "1x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/Icon-76.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/Icon-Small.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/Icon-iPadPro@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/appicon-1.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/appicon-2.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/appicon-3.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/appicon-4.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/appicon-5.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/appicon-6.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/appicon-7.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/AppIcon.appiconset/appicon.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Assembly icon.imageset/Assembly icon.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Assembly icon.imageset/Assembly icon@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Assembly icon.imageset/Assembly icon@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Assembly icon.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "Assembly icon.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "Assembly icon@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "Assembly icon@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combine.imageset/Combine.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combine.imageset/Combine@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combine.imageset/Combine@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combine.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "Combine.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "Combine@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "Combine@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combinegray.imageset/Combinegray.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combinegray.imageset/Combinegray@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combinegray.imageset/Combinegray@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combinegray.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "Combinegray.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "Combinegray@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "Combinegray@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combinegreen.imageset/Combinegreen.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combinegreen.imageset/Combinegreen@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combinegreen.imageset/Combinegreen@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Combinegreen.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "Combinegreen.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "Combinegreen@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "Combinegreen@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 6 - 0
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 23 - 0
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/DX_18.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "DX_18.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "DX_18@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "DX_18@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/DX_18.imageset/DX_18.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/DX_18.imageset/DX_18@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/DX_18.imageset/DX_18@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/DX_22.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "DX_22.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "DX_22@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "DX_22@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/DX_22.imageset/DX_22.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/DX_22.imageset/DX_22@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/DX_22.imageset/DX_22@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IS_18.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "IS_18.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "IS_18@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "IS_18@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IS_18.imageset/IS_18.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IS_18.imageset/IS_18@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IS_18.imageset/IS_18@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IS_22.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "IS_22.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "IS_22@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "IS_22@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IS_22.imageset/IS_22.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IS_22.imageset/IS_22@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IS_22.imageset/IS_22@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IX_18.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "IX_18.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "IX_18@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "IX_18@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IX_18.imageset/IX_18.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IX_18.imageset/IX_18@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IX_18.imageset/IX_18@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IX_22.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "IX_22.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "IX_22@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "IX_22@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IX_22.imageset/IX_22.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IX_22.imageset/IX_22@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/IX_22.imageset/IX_22@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TS_18.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "TS_18.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "TS_18@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "TS_18@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TS_18.imageset/TS_18.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TS_18.imageset/TS_18@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TS_18.imageset/TS_18@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TS_22.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "TS_22.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "TS_22@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "TS_22@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TS_22.imageset/TS_22.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TS_22.imageset/TS_22@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TS_22.imageset/TS_22@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TX_18.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "TX_18.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "TX_18@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "TX_18@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TX_18.imageset/TX_18.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TX_18.imageset/TX_18@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TX_18.imageset/TX_18@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TX_22.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "TX_22.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "TX_22@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "TX_22@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TX_22.imageset/TX_22.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TX_22.imageset/TX_22@2x.png


BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/TX_22.imageset/TX_22@3x.png


+ 23 - 0
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/about.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "NPD1(2).png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "NPD1(2)@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "NPD1(2)@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RedAnt ERP Mobile/iSales-USAI/Images.xcassets/about.imageset/NPD1(2).png


この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません