Browse Source

开发完毕灯光和镜子

100Years 3 months ago
commit
719132be8d
100 changed files with 1652 additions and 0 deletions
  1. 843 0
      Girly.xcodeproj/project.pbxproj
  2. 7 0
      Girly.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  3. 14 0
      Girly.xcodeproj/xcuserdata/100years.xcuserdatad/xcschemes/xcschememanagement.plist
  4. 10 0
      Girly.xcworkspace/contents.xcworkspacedata
  5. 26 0
      Girly/AppDelegate.swift
  6. 11 0
      Girly/Assets.xcassets/AccentColor.colorset/Contents.json
  7. 120 0
      Girly/Assets.xcassets/AppIcon.appiconset/Contents.json
  8. BIN
      Girly/Assets.xcassets/AppIcon.appiconset/icon-1024.png
  9. BIN
      Girly/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png
  10. BIN
      Girly/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png
  11. BIN
      Girly/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
  12. BIN
      Girly/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
  13. BIN
      Girly/Assets.xcassets/AppIcon.appiconset/icon-38@2x.png
  14. BIN
      Girly/Assets.xcassets/AppIcon.appiconset/icon-38@3x.png
  15. BIN
      Girly/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
  16. BIN
      Girly/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
  17. BIN
      Girly/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
  18. BIN
      Girly/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
  19. BIN
      Girly/Assets.xcassets/AppIcon.appiconset/icon-64@2x.png
  20. BIN
      Girly/Assets.xcassets/AppIcon.appiconset/icon-64@3x.png
  21. BIN
      Girly/Assets.xcassets/AppIcon.appiconset/icon-68@2x.png
  22. BIN
      Girly/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
  23. BIN
      Girly/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
  24. 6 0
      Girly/Assets.xcassets/Contents.json
  25. 6 0
      Girly/Assets.xcassets/Light/Contents.json
  26. 22 0
      Girly/Assets.xcassets/Light/lightBg.imageset/Contents.json
  27. BIN
      Girly/Assets.xcassets/Light/lightBg.imageset/ightBg@2x.png
  28. BIN
      Girly/Assets.xcassets/Light/lightBg.imageset/ightBg@3x.png
  29. 6 0
      Girly/Assets.xcassets/Light/shape/Contents.json
  30. 21 0
      Girly/Assets.xcassets/Light/shape/bold_roundness_shape.imageset/Contents.json
  31. BIN
      Girly/Assets.xcassets/Light/shape/bold_roundness_shape.imageset/bold_roundness_shape.png
  32. 21 0
      Girly/Assets.xcassets/Light/shape/flowers_shape.imageset/Contents.json
  33. BIN
      Girly/Assets.xcassets/Light/shape/flowers_shape.imageset/flowers_shape.png
  34. 21 0
      Girly/Assets.xcassets/Light/shape/heart_shape.imageset/Contents.json
  35. BIN
      Girly/Assets.xcassets/Light/shape/heart_shape.imageset/heart_shape.png
  36. 21 0
      Girly/Assets.xcassets/Light/shape/hexagon_shape.imageset/Contents.json
  37. BIN
      Girly/Assets.xcassets/Light/shape/hexagon_shape.imageset/hexagon_shape.png
  38. 21 0
      Girly/Assets.xcassets/Light/shape/lightning_shape.imageset/Contents.json
  39. BIN
      Girly/Assets.xcassets/Light/shape/lightning_shape.imageset/lightning_shape.png
  40. 21 0
      Girly/Assets.xcassets/Light/shape/moon_shape.imageset/Contents.json
  41. BIN
      Girly/Assets.xcassets/Light/shape/moon_shape.imageset/moon_shape.png
  42. 21 0
      Girly/Assets.xcassets/Light/shape/pentagon_shape.imageset/Contents.json
  43. BIN
      Girly/Assets.xcassets/Light/shape/pentagon_shape.imageset/pentagon_shape.png
  44. 21 0
      Girly/Assets.xcassets/Light/shape/quadrangle_shape.imageset/Contents.json
  45. BIN
      Girly/Assets.xcassets/Light/shape/quadrangle_shape.imageset/quadrangle_shape.png
  46. 21 0
      Girly/Assets.xcassets/Light/shape/x_shape.imageset/Contents.json
  47. BIN
      Girly/Assets.xcassets/Light/shape/x_shape.imageset/x_shape.png
  48. 6 0
      Girly/Assets.xcassets/Mirror/Contents.json
  49. 22 0
      Girly/Assets.xcassets/Mirror/mirror_oval_entity.imageset/Contents.json
  50. BIN
      Girly/Assets.xcassets/Mirror/mirror_oval_entity.imageset/mirror_oval_entity@2x.png
  51. BIN
      Girly/Assets.xcassets/Mirror/mirror_oval_entity.imageset/mirror_oval_entity@3x.png
  52. 22 0
      Girly/Assets.xcassets/Mirror/mirror_rectangle_entity.imageset/Contents.json
  53. BIN
      Girly/Assets.xcassets/Mirror/mirror_rectangle_entity.imageset/mirror_rectangle_entity@2x.png
  54. BIN
      Girly/Assets.xcassets/Mirror/mirror_rectangle_entity.imageset/mirror_rectangle_entity@3x.png
  55. 22 0
      Girly/Assets.xcassets/Mirror/mirror_round_entity.imageset/Contents.json
  56. BIN
      Girly/Assets.xcassets/Mirror/mirror_round_entity.imageset/mirror_round_entity@2x.png
  57. BIN
      Girly/Assets.xcassets/Mirror/mirror_round_entity.imageset/mirror_round_entity@3x.png
  58. 22 0
      Girly/Assets.xcassets/Mirror/mirror_square_entity.imageset/Contents.json
  59. BIN
      Girly/Assets.xcassets/Mirror/mirror_square_entity.imageset/mirror_square_entity@2x.png
  60. BIN
      Girly/Assets.xcassets/Mirror/mirror_square_entity.imageset/mirror_square_entity@3x.png
  61. 6 0
      Girly/Assets.xcassets/Mirror/shape/Contents.json
  62. 22 0
      Girly/Assets.xcassets/Mirror/shape/mirror_oval.imageset/Contents.json
  63. BIN
      Girly/Assets.xcassets/Mirror/shape/mirror_oval.imageset/mirror_oval@2x.png
  64. BIN
      Girly/Assets.xcassets/Mirror/shape/mirror_oval.imageset/mirror_oval@3x.png
  65. 22 0
      Girly/Assets.xcassets/Mirror/shape/mirror_rectangle.imageset/Contents.json
  66. BIN
      Girly/Assets.xcassets/Mirror/shape/mirror_rectangle.imageset/mirror_rectangle@2x.png
  67. BIN
      Girly/Assets.xcassets/Mirror/shape/mirror_rectangle.imageset/mirror_rectangle@3x.png
  68. 22 0
      Girly/Assets.xcassets/Mirror/shape/mirror_round.imageset/Contents.json
  69. BIN
      Girly/Assets.xcassets/Mirror/shape/mirror_round.imageset/mirror_round@2x.png
  70. BIN
      Girly/Assets.xcassets/Mirror/shape/mirror_round.imageset/mirror_round@3x.png
  71. 22 0
      Girly/Assets.xcassets/Mirror/shape/mirror_square.imageset/Contents.json
  72. BIN
      Girly/Assets.xcassets/Mirror/shape/mirror_square.imageset/mirror_square@2x.png
  73. BIN
      Girly/Assets.xcassets/Mirror/shape/mirror_square.imageset/mirror_square@3x.png
  74. 6 0
      Girly/Assets.xcassets/icon/Contents.json
  75. 22 0
      Girly/Assets.xcassets/icon/brightness.imageset/Contents.json
  76. BIN
      Girly/Assets.xcassets/icon/brightness.imageset/brightness@2x.png
  77. BIN
      Girly/Assets.xcassets/icon/brightness.imageset/brightness@3x.png
  78. 22 0
      Girly/Assets.xcassets/icon/fullScreen.imageset/Contents.json
  79. BIN
      Girly/Assets.xcassets/icon/fullScreen.imageset/fullScreen@2x.png
  80. BIN
      Girly/Assets.xcassets/icon/fullScreen.imageset/fullScreen@3x.png
  81. 22 0
      Girly/Assets.xcassets/icon/high_frequency.imageset/Contents.json
  82. BIN
      Girly/Assets.xcassets/icon/high_frequency.imageset/high_frequency@2x.png
  83. BIN
      Girly/Assets.xcassets/icon/high_frequency.imageset/high_frequency@3x.png
  84. 22 0
      Girly/Assets.xcassets/icon/low_frequency.imageset/Contents.json
  85. BIN
      Girly/Assets.xcassets/icon/low_frequency.imageset/low_frequency@2x.png
  86. BIN
      Girly/Assets.xcassets/icon/low_frequency.imageset/low_frequency@3x.png
  87. 22 0
      Girly/Assets.xcassets/icon/saturation.imageset/Contents.json
  88. BIN
      Girly/Assets.xcassets/icon/saturation.imageset/saturation@2x.png
  89. BIN
      Girly/Assets.xcassets/icon/saturation.imageset/saturation@3x.png
  90. 22 0
      Girly/Assets.xcassets/icon/select.imageset/Contents.json
  91. BIN
      Girly/Assets.xcassets/icon/select.imageset/select@2x.png
  92. BIN
      Girly/Assets.xcassets/icon/select.imageset/select@3x.png
  93. 22 0
      Girly/Assets.xcassets/icon/soundOff.imageset/Contents.json
  94. BIN
      Girly/Assets.xcassets/icon/soundOff.imageset/soundOff@2x.png
  95. BIN
      Girly/Assets.xcassets/icon/soundOff.imageset/soundOff@3x.png
  96. 22 0
      Girly/Assets.xcassets/icon/vip.imageset/Contents.json
  97. BIN
      Girly/Assets.xcassets/icon/vip.imageset/vip@2x.png
  98. BIN
      Girly/Assets.xcassets/icon/vip.imageset/vip@3x.png
  99. 22 0
      Girly/Assets.xcassets/icon/volume.imageset/Contents.json
  100. BIN
      Girly/Assets.xcassets/icon/volume.imageset/volume@2x.png

+ 843 - 0
Girly.xcodeproj/project.pbxproj

@@ -0,0 +1,843 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 77;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		760BC9A135CDA0AF907107A6 /* Pods_Girly.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBACC86FF0E1F3F5E9AAF63F /* Pods_Girly.framework */; };
+		A8BA8CF42D2D061B006CB966 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A8BA8CEB2D2D061B006CB966 /* Assets.xcassets */; };
+		A8BA8CF62D2D061B006CB966 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A8BA8CEE2D2D061B006CB966 /* LaunchScreen.storyboard */; };
+		A8BA8CF82D2D061B006CB966 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8CEA2D2D061B006CB966 /* AppDelegate.swift */; };
+		A8BA8CFC2D2D0623006CB966 /* TSTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8CFB2D2D0623006CB966 /* TSTabBarController.swift */; };
+		A8BA8D172D2D06B7006CB966 /* UIViewController+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D022D2D06B7006CB966 /* UIViewController+Ex.swift */; };
+		A8BA8D182D2D06B7006CB966 /* Date+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D062D2D06B7006CB966 /* Date+Ex.swift */; };
+		A8BA8D192D2D06B7006CB966 /* CGFloat+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D142D2D06B7006CB966 /* CGFloat+Ex.swift */; };
+		A8BA8D1A2D2D06B7006CB966 /* UICollectionView+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D0A2D2D06B7006CB966 /* UICollectionView+Ex.swift */; };
+		A8BA8D1B2D2D06B7006CB966 /* UITableView+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D0C2D2D06B7006CB966 /* UITableView+Ex.swift */; };
+		A8BA8D1C2D2D06B7006CB966 /* UIImage+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D082D2D06B7006CB966 /* UIImage+Ex.swift */; };
+		A8BA8D1D2D2D06B7006CB966 /* UIScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D152D2D06B7006CB966 /* UIScreen.swift */; };
+		A8BA8D1E2D2D06B7006CB966 /* UIDevice+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D0B2D2D06B7006CB966 /* UIDevice+Extension.swift */; };
+		A8BA8D1F2D2D06B7006CB966 /* UserDefault+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D032D2D06B7006CB966 /* UserDefault+Ex.swift */; };
+		A8BA8D202D2D06B7006CB966 /* AVAsset+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D042D2D06B7006CB966 /* AVAsset+Ex.swift */; };
+		A8BA8D212D2D06B7006CB966 /* NSString+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D0F2D2D06B7006CB966 /* NSString+Ex.swift */; };
+		A8BA8D222D2D06B7006CB966 /* Array+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D092D2D06B7006CB966 /* Array+Ex.swift */; };
+		A8BA8D232D2D06B7006CB966 /* UILabel+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D132D2D06B7006CB966 /* UILabel+Ex.swift */; };
+		A8BA8D242D2D06B7006CB966 /* UIFont+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D0D2D2D06B7006CB966 /* UIFont+Ex.swift */; };
+		A8BA8D252D2D06B7006CB966 /* UIButton+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D122D2D06B7006CB966 /* UIButton+Ex.swift */; };
+		A8BA8D262D2D06B7006CB966 /* View+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D052D2D06B7006CB966 /* View+Ex.swift */; };
+		A8BA8D272D2D06B7006CB966 /* UIColor+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D0E2D2D06B7006CB966 /* UIColor+Ex.swift */; };
+		A8BA8D282D2D06B7006CB966 /* Int+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D102D2D06B7006CB966 /* Int+Ex.swift */; };
+		A8BA8D292D2D06B7006CB966 /* Dictionary+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D072D2D06B7006CB966 /* Dictionary+Ex.swift */; };
+		A8BA8D2A2D2D06B7006CB966 /* UIImageView+Ex.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D112D2D06B7006CB966 /* UIImageView+Ex.swift */; };
+		A8BA8D2D2D2D06C1006CB966 /* GlobalImports.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D2B2D2D06C1006CB966 /* GlobalImports.swift */; };
+		A8BA8D372D2D06C8006CB966 /* TSBaseNavigationC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D342D2D06C8006CB966 /* TSBaseNavigationC.swift */; };
+		A8BA8D382D2D06C8006CB966 /* TSBaseModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D2E2D2D06C8006CB966 /* TSBaseModel.swift */; };
+		A8BA8D392D2D06C8006CB966 /* TSBaseNavigationBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D332D2D06C8006CB966 /* TSBaseNavigationBarView.swift */; };
+		A8BA8D3A2D2D06C8006CB966 /* TSBasicItemModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D322D2D06C8006CB966 /* TSBasicItemModel.swift */; };
+		A8BA8D3B2D2D06C8006CB966 /* TSBaseCollectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D312D2D06C8006CB966 /* TSBaseCollectionCell.swift */; };
+		A8BA8D3C2D2D06C8006CB966 /* TSBaseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D2F2D2D06C8006CB966 /* TSBaseView.swift */; };
+		A8BA8D3D2D2D06C8006CB966 /* TSBaseVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D352D2D06C8006CB966 /* TSBaseVC.swift */; };
+		A8BA8D3E2D2D06C8006CB966 /* TSBaseTabViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D302D2D06C8006CB966 /* TSBaseTabViewCell.swift */; };
+		A8BA8D402D2D1F2F006CB966 /* TSSettingVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D3F2D2D1F2A006CB966 /* TSSettingVC.swift */; };
+		A8BA8D422D2D1F6B006CB966 /* TSFlashVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D412D2D1F63006CB966 /* TSFlashVC.swift */; };
+		A8BA8D442D2D1F77006CB966 /* TSMirrorVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D432D2D1F72006CB966 /* TSMirrorVC.swift */; };
+		A8BA8D462D2D1F82006CB966 /* TSLightVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D452D2D1F7C006CB966 /* TSLightVC.swift */; };
+		A8BA8D492D2D37EB006CB966 /* TSConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D482D2D37EB006CB966 /* TSConfig.swift */; };
+		A8BA8D4C2D2D3D16006CB966 /* TSLightSolidColorVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D4B2D2D3D15006CB966 /* TSLightSolidColorVC.swift */; };
+		A8BA8D4E2D2D3D34006CB966 /* TSLightGradientVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D4D2D2D3D33006CB966 /* TSLightGradientVC.swift */; };
+		A8BA8D502D2D3D56006CB966 /* TSLightShapeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D4F2D2D3D55006CB966 /* TSLightShapeVC.swift */; };
+		A8BA8D532D2D4598006CB966 /* TSLightColorPaletteView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D522D2D4597006CB966 /* TSLightColorPaletteView.swift */; };
+		A8BA8D5E2D2E0932006CB966 /* PreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D5C2D2E0932006CB966 /* PreviewView.swift */; };
+		A8BA8D5F2D2E0932006CB966 /* Gradient.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D562D2E0932006CB966 /* Gradient.swift */; };
+		A8BA8D602D2E0932006CB966 /* ColorSliderExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D552D2E0932006CB966 /* ColorSliderExtensions.swift */; };
+		A8BA8D612D2E0932006CB966 /* DefaultPreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D5A2D2E0932006CB966 /* DefaultPreviewView.swift */; };
+		A8BA8D622D2E0932006CB966 /* GradientView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D5B2D2E0932006CB966 /* GradientView.swift */; };
+		A8BA8D632D2E0932006CB966 /* ColorSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D592D2E0932006CB966 /* ColorSlider.swift */; };
+		A8BA8D642D2E0932006CB966 /* HSBColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D572D2E0932006CB966 /* HSBColor.swift */; };
+		A8BA8D662D2E09A7006CB966 /* TSLightShapeToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D652D2E099E006CB966 /* TSLightShapeToolView.swift */; };
+		A8BA8D682D2E09B7006CB966 /* TSLightSolidColorToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D672D2E09AC006CB966 /* TSLightSolidColorToolView.swift */; };
+		A8BA8D6A2D2E09E9006CB966 /* TSLightGradientToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D692D2E09D8006CB966 /* TSLightGradientToolView.swift */; };
+		A8BA8D6C2D2E2F30006CB966 /* TSColorPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D6B2D2E2F2B006CB966 /* TSColorPickerView.swift */; };
+		A8BA8D6F2D2E2FB7006CB966 /* TSLightModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D6E2D2E2FAE006CB966 /* TSLightModel.swift */; };
+		A8BA8D732D2E4863006CB966 /* SolidColors.json in Resources */ = {isa = PBXBuildFile; fileRef = A8BA8D722D2E4863006CB966 /* SolidColors.json */; };
+		A8BA8D752D2E49FA006CB966 /* GradientColors.json in Resources */ = {isa = PBXBuildFile; fileRef = A8BA8D742D2E49FA006CB966 /* GradientColors.json */; };
+		A8BA8D772D2E6B16006CB966 /* TSFullScreenVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D762D2E6B0E006CB966 /* TSFullScreenVC.swift */; };
+		A8BA8D792D2E7122006CB966 /* TSLightShapeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D782D2E711C006CB966 /* TSLightShapeView.swift */; };
+		A8BA8D7B2D2E746A006CB966 /* LightShape.json in Resources */ = {isa = PBXBuildFile; fileRef = A8BA8D7A2D2E746A006CB966 /* LightShape.json */; };
+		A8BA8D7E2D2E99B8006CB966 /* TSViewTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D7D2D2E99B8006CB966 /* TSViewTool.swift */; };
+		A8BA8D812D2F714A006CB966 /* TSMirrorToolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D802D2F7148006CB966 /* TSMirrorToolView.swift */; };
+		A8BA8D832D2F7392006CB966 /* TSMirrorShapePickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D822D2F7391006CB966 /* TSMirrorShapePickerView.swift */; };
+		A8BA8D872D2F7752006CB966 /* TSMirrorModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D862D2F774F006CB966 /* TSMirrorModel.swift */; };
+		A8BA8D892D2F77BF006CB966 /* MirrorShape.json in Resources */ = {isa = PBXBuildFile; fileRef = A8BA8D882D2F77BF006CB966 /* MirrorShape.json */; };
+		A8BA8D8C2D2F9B40006CB966 /* CameraManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D8B2D2F9B40006CB966 /* CameraManager.swift */; };
+		A8BA8D8E2D2F9BBB006CB966 /* TSMirrorCameraView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8BA8D8D2D2F9BAE006CB966 /* TSMirrorCameraView.swift */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+		72D5AAABB0D35BB7CA33149C /* Pods-Girly.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Girly.release.xcconfig"; path = "Target Support Files/Pods-Girly/Pods-Girly.release.xcconfig"; sourceTree = "<group>"; };
+		888A53BFB6685C3FC45AD91C /* Pods-Girly.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Girly.debug.xcconfig"; path = "Target Support Files/Pods-Girly/Pods-Girly.debug.xcconfig"; sourceTree = "<group>"; };
+		A8BA8CD02D2D0558006CB966 /* Girly.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Girly.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		A8BA8CEA2D2D061B006CB966 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
+		A8BA8CEB2D2D061B006CB966 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
+		A8BA8CEC2D2D061B006CB966 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+		A8BA8CED2D2D061B006CB966 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
+		A8BA8CFB2D2D0623006CB966 /* TSTabBarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSTabBarController.swift; sourceTree = "<group>"; };
+		A8BA8D022D2D06B7006CB966 /* UIViewController+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D032D2D06B7006CB966 /* UserDefault+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefault+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D042D2D06B7006CB966 /* AVAsset+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AVAsset+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D052D2D06B7006CB966 /* View+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D062D2D06B7006CB966 /* Date+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Date+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D072D2D06B7006CB966 /* Dictionary+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Dictionary+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D082D2D06B7006CB966 /* UIImage+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D092D2D06B7006CB966 /* Array+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Array+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D0A2D2D06B7006CB966 /* UICollectionView+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UICollectionView+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D0B2D2D06B7006CB966 /* UIDevice+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIDevice+Extension.swift"; sourceTree = "<group>"; };
+		A8BA8D0C2D2D06B7006CB966 /* UITableView+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITableView+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D0D2D2D06B7006CB966 /* UIFont+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIFont+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D0E2D2D06B7006CB966 /* UIColor+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D0F2D2D06B7006CB966 /* NSString+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSString+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D102D2D06B7006CB966 /* Int+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Int+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D112D2D06B7006CB966 /* UIImageView+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImageView+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D122D2D06B7006CB966 /* UIButton+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIButton+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D132D2D06B7006CB966 /* UILabel+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UILabel+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D142D2D06B7006CB966 /* CGFloat+Ex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CGFloat+Ex.swift"; sourceTree = "<group>"; };
+		A8BA8D152D2D06B7006CB966 /* UIScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIScreen.swift; sourceTree = "<group>"; };
+		A8BA8D2B2D2D06C1006CB966 /* GlobalImports.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlobalImports.swift; sourceTree = "<group>"; };
+		A8BA8D2E2D2D06C8006CB966 /* TSBaseModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSBaseModel.swift; sourceTree = "<group>"; };
+		A8BA8D2F2D2D06C8006CB966 /* TSBaseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSBaseView.swift; sourceTree = "<group>"; };
+		A8BA8D302D2D06C8006CB966 /* TSBaseTabViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSBaseTabViewCell.swift; sourceTree = "<group>"; };
+		A8BA8D312D2D06C8006CB966 /* TSBaseCollectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSBaseCollectionCell.swift; sourceTree = "<group>"; };
+		A8BA8D322D2D06C8006CB966 /* TSBasicItemModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSBasicItemModel.swift; sourceTree = "<group>"; };
+		A8BA8D332D2D06C8006CB966 /* TSBaseNavigationBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSBaseNavigationBarView.swift; sourceTree = "<group>"; };
+		A8BA8D342D2D06C8006CB966 /* TSBaseNavigationC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSBaseNavigationC.swift; sourceTree = "<group>"; };
+		A8BA8D352D2D06C8006CB966 /* TSBaseVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSBaseVC.swift; sourceTree = "<group>"; };
+		A8BA8D3F2D2D1F2A006CB966 /* TSSettingVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSSettingVC.swift; sourceTree = "<group>"; };
+		A8BA8D412D2D1F63006CB966 /* TSFlashVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSFlashVC.swift; sourceTree = "<group>"; };
+		A8BA8D432D2D1F72006CB966 /* TSMirrorVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSMirrorVC.swift; sourceTree = "<group>"; };
+		A8BA8D452D2D1F7C006CB966 /* TSLightVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSLightVC.swift; sourceTree = "<group>"; };
+		A8BA8D482D2D37EB006CB966 /* TSConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSConfig.swift; sourceTree = "<group>"; };
+		A8BA8D4B2D2D3D15006CB966 /* TSLightSolidColorVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSLightSolidColorVC.swift; sourceTree = "<group>"; };
+		A8BA8D4D2D2D3D33006CB966 /* TSLightGradientVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSLightGradientVC.swift; sourceTree = "<group>"; };
+		A8BA8D4F2D2D3D55006CB966 /* TSLightShapeVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSLightShapeVC.swift; sourceTree = "<group>"; };
+		A8BA8D522D2D4597006CB966 /* TSLightColorPaletteView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSLightColorPaletteView.swift; sourceTree = "<group>"; };
+		A8BA8D552D2E0932006CB966 /* ColorSliderExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorSliderExtensions.swift; sourceTree = "<group>"; };
+		A8BA8D562D2E0932006CB966 /* Gradient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Gradient.swift; sourceTree = "<group>"; };
+		A8BA8D572D2E0932006CB966 /* HSBColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HSBColor.swift; sourceTree = "<group>"; };
+		A8BA8D592D2E0932006CB966 /* ColorSlider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorSlider.swift; sourceTree = "<group>"; };
+		A8BA8D5A2D2E0932006CB966 /* DefaultPreviewView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultPreviewView.swift; sourceTree = "<group>"; };
+		A8BA8D5B2D2E0932006CB966 /* GradientView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GradientView.swift; sourceTree = "<group>"; };
+		A8BA8D5C2D2E0932006CB966 /* PreviewView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreviewView.swift; sourceTree = "<group>"; };
+		A8BA8D652D2E099E006CB966 /* TSLightShapeToolView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSLightShapeToolView.swift; sourceTree = "<group>"; };
+		A8BA8D672D2E09AC006CB966 /* TSLightSolidColorToolView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSLightSolidColorToolView.swift; sourceTree = "<group>"; };
+		A8BA8D692D2E09D8006CB966 /* TSLightGradientToolView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSLightGradientToolView.swift; sourceTree = "<group>"; };
+		A8BA8D6B2D2E2F2B006CB966 /* TSColorPickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSColorPickerView.swift; sourceTree = "<group>"; };
+		A8BA8D6E2D2E2FAE006CB966 /* TSLightModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSLightModel.swift; sourceTree = "<group>"; };
+		A8BA8D722D2E4863006CB966 /* SolidColors.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = SolidColors.json; sourceTree = "<group>"; };
+		A8BA8D742D2E49FA006CB966 /* GradientColors.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = GradientColors.json; sourceTree = "<group>"; };
+		A8BA8D762D2E6B0E006CB966 /* TSFullScreenVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSFullScreenVC.swift; sourceTree = "<group>"; };
+		A8BA8D782D2E711C006CB966 /* TSLightShapeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSLightShapeView.swift; sourceTree = "<group>"; };
+		A8BA8D7A2D2E746A006CB966 /* LightShape.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = LightShape.json; sourceTree = "<group>"; };
+		A8BA8D7D2D2E99B8006CB966 /* TSViewTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSViewTool.swift; sourceTree = "<group>"; };
+		A8BA8D802D2F7148006CB966 /* TSMirrorToolView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSMirrorToolView.swift; sourceTree = "<group>"; };
+		A8BA8D822D2F7391006CB966 /* TSMirrorShapePickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSMirrorShapePickerView.swift; sourceTree = "<group>"; };
+		A8BA8D862D2F774F006CB966 /* TSMirrorModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSMirrorModel.swift; sourceTree = "<group>"; };
+		A8BA8D882D2F77BF006CB966 /* MirrorShape.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = MirrorShape.json; sourceTree = "<group>"; };
+		A8BA8D8B2D2F9B40006CB966 /* CameraManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraManager.swift; sourceTree = "<group>"; };
+		A8BA8D8D2D2F9BAE006CB966 /* TSMirrorCameraView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TSMirrorCameraView.swift; sourceTree = "<group>"; };
+		BBACC86FF0E1F3F5E9AAF63F /* Pods_Girly.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Girly.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		A8BA8CCD2D2D0558006CB966 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				760BC9A135CDA0AF907107A6 /* Pods_Girly.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		045A2348DC4D312F9E437640 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				BBACC86FF0E1F3F5E9AAF63F /* Pods_Girly.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		2003E69A5F05CE184D003197 /* Pods */ = {
+			isa = PBXGroup;
+			children = (
+				888A53BFB6685C3FC45AD91C /* Pods-Girly.debug.xcconfig */,
+				72D5AAABB0D35BB7CA33149C /* Pods-Girly.release.xcconfig */,
+			);
+			path = Pods;
+			sourceTree = "<group>";
+		};
+		A8BA8CC72D2D0558006CB966 = {
+			isa = PBXGroup;
+			children = (
+				A8BA8CF32D2D061B006CB966 /* Girly */,
+				A8BA8CD12D2D0558006CB966 /* Products */,
+				2003E69A5F05CE184D003197 /* Pods */,
+				045A2348DC4D312F9E437640 /* Frameworks */,
+			);
+			sourceTree = "<group>";
+		};
+		A8BA8CD12D2D0558006CB966 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8CD02D2D0558006CB966 /* Girly.app */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		A8BA8CE92D2D061B006CB966 /* Business */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D002D2D066F006CB966 /* Setting */,
+				A8BA8CFF2D2D0664006CB966 /* Flash */,
+				A8BA8CFE2D2D0656006CB966 /* Mirror */,
+				A8BA8CFD2D2D0647006CB966 /* Light */,
+				A8BA8CFB2D2D0623006CB966 /* TSTabBarController.swift */,
+			);
+			path = Business;
+			sourceTree = "<group>";
+		};
+		A8BA8CF32D2D061B006CB966 /* Girly */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D472D2D37D6006CB966 /* DataManger */,
+				A8BA8D012D2D06A6006CB966 /* Common */,
+				A8BA8CE92D2D061B006CB966 /* Business */,
+				A8BA8CEA2D2D061B006CB966 /* AppDelegate.swift */,
+				A8BA8CEB2D2D061B006CB966 /* Assets.xcassets */,
+				A8BA8CEC2D2D061B006CB966 /* Info.plist */,
+				A8BA8CEE2D2D061B006CB966 /* LaunchScreen.storyboard */,
+			);
+			path = Girly;
+			sourceTree = "<group>";
+		};
+		A8BA8CFD2D2D0647006CB966 /* Light */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D4A2D2D3CCF006CB966 /* VC */,
+				A8BA8D452D2D1F7C006CB966 /* TSLightVC.swift */,
+			);
+			path = Light;
+			sourceTree = "<group>";
+		};
+		A8BA8CFE2D2D0656006CB966 /* Mirror */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D852D2F7742006CB966 /* Model */,
+				A8BA8D7F2D2F7139006CB966 /* View */,
+				A8BA8D432D2D1F72006CB966 /* TSMirrorVC.swift */,
+			);
+			path = Mirror;
+			sourceTree = "<group>";
+		};
+		A8BA8CFF2D2D0664006CB966 /* Flash */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D412D2D1F63006CB966 /* TSFlashVC.swift */,
+			);
+			path = Flash;
+			sourceTree = "<group>";
+		};
+		A8BA8D002D2D066F006CB966 /* Setting */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D3F2D2D1F2A006CB966 /* TSSettingVC.swift */,
+			);
+			path = Setting;
+			sourceTree = "<group>";
+		};
+		A8BA8D012D2D06A6006CB966 /* Common */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D7C2D2E99A6006CB966 /* ViewTool */,
+				A8BA8D542D2E08C8006CB966 /* ThirdParty */,
+				A8BA8D362D2D06C8006CB966 /* BaseClass */,
+				A8BA8D2C2D2D06C1006CB966 /* GlobalImports */,
+				A8BA8D162D2D06B7006CB966 /* Ex */,
+			);
+			path = Common;
+			sourceTree = "<group>";
+		};
+		A8BA8D162D2D06B7006CB966 /* Ex */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D022D2D06B7006CB966 /* UIViewController+Ex.swift */,
+				A8BA8D032D2D06B7006CB966 /* UserDefault+Ex.swift */,
+				A8BA8D042D2D06B7006CB966 /* AVAsset+Ex.swift */,
+				A8BA8D052D2D06B7006CB966 /* View+Ex.swift */,
+				A8BA8D062D2D06B7006CB966 /* Date+Ex.swift */,
+				A8BA8D072D2D06B7006CB966 /* Dictionary+Ex.swift */,
+				A8BA8D082D2D06B7006CB966 /* UIImage+Ex.swift */,
+				A8BA8D092D2D06B7006CB966 /* Array+Ex.swift */,
+				A8BA8D0A2D2D06B7006CB966 /* UICollectionView+Ex.swift */,
+				A8BA8D0B2D2D06B7006CB966 /* UIDevice+Extension.swift */,
+				A8BA8D0C2D2D06B7006CB966 /* UITableView+Ex.swift */,
+				A8BA8D0D2D2D06B7006CB966 /* UIFont+Ex.swift */,
+				A8BA8D0E2D2D06B7006CB966 /* UIColor+Ex.swift */,
+				A8BA8D0F2D2D06B7006CB966 /* NSString+Ex.swift */,
+				A8BA8D102D2D06B7006CB966 /* Int+Ex.swift */,
+				A8BA8D112D2D06B7006CB966 /* UIImageView+Ex.swift */,
+				A8BA8D122D2D06B7006CB966 /* UIButton+Ex.swift */,
+				A8BA8D132D2D06B7006CB966 /* UILabel+Ex.swift */,
+				A8BA8D142D2D06B7006CB966 /* CGFloat+Ex.swift */,
+				A8BA8D152D2D06B7006CB966 /* UIScreen.swift */,
+			);
+			path = Ex;
+			sourceTree = "<group>";
+		};
+		A8BA8D2C2D2D06C1006CB966 /* GlobalImports */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D2B2D2D06C1006CB966 /* GlobalImports.swift */,
+			);
+			path = GlobalImports;
+			sourceTree = "<group>";
+		};
+		A8BA8D362D2D06C8006CB966 /* BaseClass */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D2E2D2D06C8006CB966 /* TSBaseModel.swift */,
+				A8BA8D2F2D2D06C8006CB966 /* TSBaseView.swift */,
+				A8BA8D302D2D06C8006CB966 /* TSBaseTabViewCell.swift */,
+				A8BA8D312D2D06C8006CB966 /* TSBaseCollectionCell.swift */,
+				A8BA8D322D2D06C8006CB966 /* TSBasicItemModel.swift */,
+				A8BA8D332D2D06C8006CB966 /* TSBaseNavigationBarView.swift */,
+				A8BA8D342D2D06C8006CB966 /* TSBaseNavigationC.swift */,
+				A8BA8D352D2D06C8006CB966 /* TSBaseVC.swift */,
+			);
+			path = BaseClass;
+			sourceTree = "<group>";
+		};
+		A8BA8D472D2D37D6006CB966 /* DataManger */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D482D2D37EB006CB966 /* TSConfig.swift */,
+			);
+			path = DataManger;
+			sourceTree = "<group>";
+		};
+		A8BA8D4A2D2D3CCF006CB966 /* VC */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D762D2E6B0E006CB966 /* TSFullScreenVC.swift */,
+				A8BA8D6D2D2E2F73006CB966 /* Model */,
+				A8BA8D512D2D456B006CB966 /* View */,
+				A8BA8D4B2D2D3D15006CB966 /* TSLightSolidColorVC.swift */,
+				A8BA8D4D2D2D3D33006CB966 /* TSLightGradientVC.swift */,
+				A8BA8D4F2D2D3D55006CB966 /* TSLightShapeVC.swift */,
+			);
+			path = VC;
+			sourceTree = "<group>";
+		};
+		A8BA8D512D2D456B006CB966 /* View */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D782D2E711C006CB966 /* TSLightShapeView.swift */,
+				A8BA8D6B2D2E2F2B006CB966 /* TSColorPickerView.swift */,
+				A8BA8D672D2E09AC006CB966 /* TSLightSolidColorToolView.swift */,
+				A8BA8D692D2E09D8006CB966 /* TSLightGradientToolView.swift */,
+				A8BA8D652D2E099E006CB966 /* TSLightShapeToolView.swift */,
+				A8BA8D522D2D4597006CB966 /* TSLightColorPaletteView.swift */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
+		A8BA8D542D2E08C8006CB966 /* ThirdParty */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D8A2D2F9B35006CB966 /* CameraManager */,
+				A8BA8D5D2D2E0932006CB966 /* ColorSlider */,
+			);
+			path = ThirdParty;
+			sourceTree = "<group>";
+		};
+		A8BA8D582D2E0932006CB966 /* Internal */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D552D2E0932006CB966 /* ColorSliderExtensions.swift */,
+				A8BA8D562D2E0932006CB966 /* Gradient.swift */,
+				A8BA8D572D2E0932006CB966 /* HSBColor.swift */,
+			);
+			path = Internal;
+			sourceTree = "<group>";
+		};
+		A8BA8D5D2D2E0932006CB966 /* ColorSlider */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D582D2E0932006CB966 /* Internal */,
+				A8BA8D592D2E0932006CB966 /* ColorSlider.swift */,
+				A8BA8D5A2D2E0932006CB966 /* DefaultPreviewView.swift */,
+				A8BA8D5B2D2E0932006CB966 /* GradientView.swift */,
+				A8BA8D5C2D2E0932006CB966 /* PreviewView.swift */,
+			);
+			path = ColorSlider;
+			sourceTree = "<group>";
+		};
+		A8BA8D6D2D2E2F73006CB966 /* Model */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D6E2D2E2FAE006CB966 /* TSLightModel.swift */,
+				A8BA8D742D2E49FA006CB966 /* GradientColors.json */,
+				A8BA8D7A2D2E746A006CB966 /* LightShape.json */,
+				A8BA8D722D2E4863006CB966 /* SolidColors.json */,
+			);
+			path = Model;
+			sourceTree = "<group>";
+		};
+		A8BA8D7C2D2E99A6006CB966 /* ViewTool */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D7D2D2E99B8006CB966 /* TSViewTool.swift */,
+			);
+			path = ViewTool;
+			sourceTree = "<group>";
+		};
+		A8BA8D7F2D2F7139006CB966 /* View */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D8D2D2F9BAE006CB966 /* TSMirrorCameraView.swift */,
+				A8BA8D822D2F7391006CB966 /* TSMirrorShapePickerView.swift */,
+				A8BA8D802D2F7148006CB966 /* TSMirrorToolView.swift */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
+		A8BA8D852D2F7742006CB966 /* Model */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D882D2F77BF006CB966 /* MirrorShape.json */,
+				A8BA8D862D2F774F006CB966 /* TSMirrorModel.swift */,
+			);
+			path = Model;
+			sourceTree = "<group>";
+		};
+		A8BA8D8A2D2F9B35006CB966 /* CameraManager */ = {
+			isa = PBXGroup;
+			children = (
+				A8BA8D8B2D2F9B40006CB966 /* CameraManager.swift */,
+			);
+			path = CameraManager;
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		A8BA8CCF2D2D0558006CB966 /* Girly */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = A8BA8CE32D2D0559006CB966 /* Build configuration list for PBXNativeTarget "Girly" */;
+			buildPhases = (
+				40B6C27EDF9C59FAAE7B1A15 /* [CP] Check Pods Manifest.lock */,
+				A8BA8CCC2D2D0558006CB966 /* Sources */,
+				A8BA8CCD2D2D0558006CB966 /* Frameworks */,
+				A8BA8CCE2D2D0558006CB966 /* Resources */,
+				0D74786C6018821C97E8AA10 /* [CP] Embed Pods Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = Girly;
+			productName = Girly;
+			productReference = A8BA8CD02D2D0558006CB966 /* Girly.app */;
+			productType = "com.apple.product-type.application";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		A8BA8CC82D2D0558006CB966 /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				BuildIndependentTargetsInParallel = 1;
+				LastSwiftUpdateCheck = 1620;
+				LastUpgradeCheck = 1620;
+				TargetAttributes = {
+					A8BA8CCF2D2D0558006CB966 = {
+						CreatedOnToolsVersion = 16.2;
+					};
+				};
+			};
+			buildConfigurationList = A8BA8CCB2D2D0558006CB966 /* Build configuration list for PBXProject "Girly" */;
+			developmentRegion = en;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				en,
+				Base,
+			);
+			mainGroup = A8BA8CC72D2D0558006CB966;
+			minimizedProjectReferenceProxies = 1;
+			preferredProjectObjectVersion = 77;
+			productRefGroup = A8BA8CD12D2D0558006CB966 /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				A8BA8CCF2D2D0558006CB966 /* Girly */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		A8BA8CCE2D2D0558006CB966 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				A8BA8D892D2F77BF006CB966 /* MirrorShape.json in Resources */,
+				A8BA8D732D2E4863006CB966 /* SolidColors.json in Resources */,
+				A8BA8CF42D2D061B006CB966 /* Assets.xcassets in Resources */,
+				A8BA8CF62D2D061B006CB966 /* LaunchScreen.storyboard in Resources */,
+				A8BA8D752D2E49FA006CB966 /* GradientColors.json in Resources */,
+				A8BA8D7B2D2E746A006CB966 /* LightShape.json in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+		0D74786C6018821C97E8AA10 /* [CP] Embed Pods Frameworks */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+				"${PODS_ROOT}/Target Support Files/Pods-Girly/Pods-Girly-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+			);
+			name = "[CP] Embed Pods Frameworks";
+			outputFileListPaths = (
+				"${PODS_ROOT}/Target Support Files/Pods-Girly/Pods-Girly-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Girly/Pods-Girly-frameworks.sh\"\n";
+			showEnvVarsInLog = 0;
+		};
+		40B6C27EDF9C59FAAE7B1A15 /* [CP] Check Pods Manifest.lock */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+				"${PODS_ROOT}/Manifest.lock",
+			);
+			name = "[CP] Check Pods Manifest.lock";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+				"$(DERIVED_FILE_DIR)/Pods-Girly-checkManifestLockResult.txt",
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+			showEnvVarsInLog = 0;
+		};
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		A8BA8CCC2D2D0558006CB966 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				A8BA8D6C2D2E2F30006CB966 /* TSColorPickerView.swift in Sources */,
+				A8BA8D172D2D06B7006CB966 /* UIViewController+Ex.swift in Sources */,
+				A8BA8D182D2D06B7006CB966 /* Date+Ex.swift in Sources */,
+				A8BA8D6A2D2E09E9006CB966 /* TSLightGradientToolView.swift in Sources */,
+				A8BA8D192D2D06B7006CB966 /* CGFloat+Ex.swift in Sources */,
+				A8BA8D2D2D2D06C1006CB966 /* GlobalImports.swift in Sources */,
+				A8BA8D1A2D2D06B7006CB966 /* UICollectionView+Ex.swift in Sources */,
+				A8BA8D1B2D2D06B7006CB966 /* UITableView+Ex.swift in Sources */,
+				A8BA8D1C2D2D06B7006CB966 /* UIImage+Ex.swift in Sources */,
+				A8BA8D372D2D06C8006CB966 /* TSBaseNavigationC.swift in Sources */,
+				A8BA8D5E2D2E0932006CB966 /* PreviewView.swift in Sources */,
+				A8BA8D5F2D2E0932006CB966 /* Gradient.swift in Sources */,
+				A8BA8D792D2E7122006CB966 /* TSLightShapeView.swift in Sources */,
+				A8BA8D602D2E0932006CB966 /* ColorSliderExtensions.swift in Sources */,
+				A8BA8D612D2E0932006CB966 /* DefaultPreviewView.swift in Sources */,
+				A8BA8D622D2E0932006CB966 /* GradientView.swift in Sources */,
+				A8BA8D632D2E0932006CB966 /* ColorSlider.swift in Sources */,
+				A8BA8D642D2E0932006CB966 /* HSBColor.swift in Sources */,
+				A8BA8D382D2D06C8006CB966 /* TSBaseModel.swift in Sources */,
+				A8BA8D832D2F7392006CB966 /* TSMirrorShapePickerView.swift in Sources */,
+				A8BA8D7E2D2E99B8006CB966 /* TSViewTool.swift in Sources */,
+				A8BA8D392D2D06C8006CB966 /* TSBaseNavigationBarView.swift in Sources */,
+				A8BA8D3A2D2D06C8006CB966 /* TSBasicItemModel.swift in Sources */,
+				A8BA8D402D2D1F2F006CB966 /* TSSettingVC.swift in Sources */,
+				A8BA8D772D2E6B16006CB966 /* TSFullScreenVC.swift in Sources */,
+				A8BA8D3B2D2D06C8006CB966 /* TSBaseCollectionCell.swift in Sources */,
+				A8BA8D3C2D2D06C8006CB966 /* TSBaseView.swift in Sources */,
+				A8BA8D3D2D2D06C8006CB966 /* TSBaseVC.swift in Sources */,
+				A8BA8D3E2D2D06C8006CB966 /* TSBaseTabViewCell.swift in Sources */,
+				A8BA8D532D2D4598006CB966 /* TSLightColorPaletteView.swift in Sources */,
+				A8BA8D1D2D2D06B7006CB966 /* UIScreen.swift in Sources */,
+				A8BA8D1E2D2D06B7006CB966 /* UIDevice+Extension.swift in Sources */,
+				A8BA8D502D2D3D56006CB966 /* TSLightShapeVC.swift in Sources */,
+				A8BA8D1F2D2D06B7006CB966 /* UserDefault+Ex.swift in Sources */,
+				A8BA8D462D2D1F82006CB966 /* TSLightVC.swift in Sources */,
+				A8BA8D492D2D37EB006CB966 /* TSConfig.swift in Sources */,
+				A8BA8D202D2D06B7006CB966 /* AVAsset+Ex.swift in Sources */,
+				A8BA8D212D2D06B7006CB966 /* NSString+Ex.swift in Sources */,
+				A8BA8D222D2D06B7006CB966 /* Array+Ex.swift in Sources */,
+				A8BA8D442D2D1F77006CB966 /* TSMirrorVC.swift in Sources */,
+				A8BA8D232D2D06B7006CB966 /* UILabel+Ex.swift in Sources */,
+				A8BA8D682D2E09B7006CB966 /* TSLightSolidColorToolView.swift in Sources */,
+				A8BA8D242D2D06B7006CB966 /* UIFont+Ex.swift in Sources */,
+				A8BA8D252D2D06B7006CB966 /* UIButton+Ex.swift in Sources */,
+				A8BA8D262D2D06B7006CB966 /* View+Ex.swift in Sources */,
+				A8BA8D8E2D2F9BBB006CB966 /* TSMirrorCameraView.swift in Sources */,
+				A8BA8D872D2F7752006CB966 /* TSMirrorModel.swift in Sources */,
+				A8BA8D6F2D2E2FB7006CB966 /* TSLightModel.swift in Sources */,
+				A8BA8D4C2D2D3D16006CB966 /* TSLightSolidColorVC.swift in Sources */,
+				A8BA8D272D2D06B7006CB966 /* UIColor+Ex.swift in Sources */,
+				A8BA8D8C2D2F9B40006CB966 /* CameraManager.swift in Sources */,
+				A8BA8D422D2D1F6B006CB966 /* TSFlashVC.swift in Sources */,
+				A8BA8D282D2D06B7006CB966 /* Int+Ex.swift in Sources */,
+				A8BA8D292D2D06B7006CB966 /* Dictionary+Ex.swift in Sources */,
+				A8BA8D2A2D2D06B7006CB966 /* UIImageView+Ex.swift in Sources */,
+				A8BA8CF82D2D061B006CB966 /* AppDelegate.swift in Sources */,
+				A8BA8D812D2F714A006CB966 /* TSMirrorToolView.swift in Sources */,
+				A8BA8D4E2D2D3D34006CB966 /* TSLightGradientVC.swift in Sources */,
+				A8BA8D662D2E09A7006CB966 /* TSLightShapeToolView.swift in Sources */,
+				A8BA8CFC2D2D0623006CB966 /* TSTabBarController.swift in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+		A8BA8CEE2D2D061B006CB966 /* LaunchScreen.storyboard */ = {
+			isa = PBXVariantGroup;
+			children = (
+				A8BA8CED2D2D061B006CB966 /* Base */,
+			);
+			name = LaunchScreen.storyboard;
+			sourceTree = "<group>";
+		};
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+		A8BA8CE42D2D0559006CB966 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 888A53BFB6685C3FC45AD91C /* Pods-Girly.debug.xcconfig */;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+				CODE_SIGN_STYLE = Automatic;
+				CURRENT_PROJECT_VERSION = 1;
+				DEVELOPMENT_TEAM = 65UD255J84;
+				ENABLE_USER_SCRIPT_SANDBOXING = NO;
+				GENERATE_INFOPLIST_FILE = YES;
+				INFOPLIST_FILE = Girly/Info.plist;
+				INFOPLIST_KEY_NSCameraUsageDescription = "App will use your camera to take pictures";
+				INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
+				INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
+				INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
+				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait";
+				IPHONEOS_DEPLOYMENT_TARGET = 14.0;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+				);
+				MARKETING_VERSION = 1.0;
+				PRODUCT_BUNDLE_IDENTIFIER = com.tsyh.Girly;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
+				SUPPORTS_MACCATALYST = NO;
+				SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
+				SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
+				SWIFT_EMIT_LOC_STRINGS = YES;
+				SWIFT_VERSION = 5.0;
+				TARGETED_DEVICE_FAMILY = 1;
+			};
+			name = Debug;
+		};
+		A8BA8CE52D2D0559006CB966 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 72D5AAABB0D35BB7CA33149C /* Pods-Girly.release.xcconfig */;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+				CODE_SIGN_STYLE = Automatic;
+				CURRENT_PROJECT_VERSION = 1;
+				DEVELOPMENT_TEAM = 65UD255J84;
+				ENABLE_USER_SCRIPT_SANDBOXING = NO;
+				GENERATE_INFOPLIST_FILE = YES;
+				INFOPLIST_FILE = Girly/Info.plist;
+				INFOPLIST_KEY_NSCameraUsageDescription = "App will use your camera to take pictures";
+				INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
+				INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
+				INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
+				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait";
+				IPHONEOS_DEPLOYMENT_TARGET = 14.0;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+				);
+				MARKETING_VERSION = 1.0;
+				PRODUCT_BUNDLE_IDENTIFIER = com.tsyh.Girly;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
+				SUPPORTS_MACCATALYST = NO;
+				SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
+				SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
+				SWIFT_EMIT_LOC_STRINGS = YES;
+				SWIFT_VERSION = 5.0;
+				TARGETED_DEVICE_FAMILY = 1;
+			};
+			name = Release;
+		};
+		A8BA8CE62D2D0559006CB966 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
+				CLANG_ANALYZER_NONNULL = YES;
+				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_ENABLE_OBJC_WEAK = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+				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_IMPLICIT_RETAIN_SELF = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = dwarf;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_TESTABILITY = YES;
+				ENABLE_USER_SCRIPT_SANDBOXING = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu17;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				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;
+				IPHONEOS_DEPLOYMENT_TARGET = 18.2;
+				LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
+				MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+				MTL_FAST_MATH = YES;
+				ONLY_ACTIVE_ARCH = YES;
+				SDKROOT = iphoneos;
+				SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+			};
+			name = Debug;
+		};
+		A8BA8CE72D2D0559006CB966 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
+				CLANG_ANALYZER_NONNULL = YES;
+				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_ENABLE_OBJC_WEAK = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				CLANG_WARN_BOOL_CONVERSION = YES;
+				CLANG_WARN_COMMA = YES;
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+				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_IMPLICIT_RETAIN_SELF = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				ENABLE_NS_ASSERTIONS = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_USER_SCRIPT_SANDBOXING = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu17;
+				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;
+				IPHONEOS_DEPLOYMENT_TARGET = 18.2;
+				LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
+				MTL_ENABLE_DEBUG_INFO = NO;
+				MTL_FAST_MATH = YES;
+				SDKROOT = iphoneos;
+				SWIFT_COMPILATION_MODE = wholemodule;
+				VALIDATE_PRODUCT = YES;
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		A8BA8CCB2D2D0558006CB966 /* Build configuration list for PBXProject "Girly" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				A8BA8CE62D2D0559006CB966 /* Debug */,
+				A8BA8CE72D2D0559006CB966 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		A8BA8CE32D2D0559006CB966 /* Build configuration list for PBXNativeTarget "Girly" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				A8BA8CE42D2D0559006CB966 /* Debug */,
+				A8BA8CE52D2D0559006CB966 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = A8BA8CC82D2D0558006CB966 /* Project object */;
+}

+ 7 - 0
Girly.xcodeproj/project.xcworkspace/contents.xcworkspacedata

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

+ 14 - 0
Girly.xcodeproj/xcuserdata/100years.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>Girly.xcscheme_^#shared#^_</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>17</integer>
+		</dict>
+	</dict>
+</dict>
+</plist>

+ 10 - 0
Girly.xcworkspace/contents.xcworkspacedata

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "group:Girly.xcodeproj">
+   </FileRef>
+   <FileRef
+      location = "group:Pods/Pods.xcodeproj">
+   </FileRef>
+</Workspace>

+ 26 - 0
Girly/AppDelegate.swift

@@ -0,0 +1,26 @@
+//
+//  AppDelegate.swift
+//  Girly
+//
+//  Created by 100Years on 2025/1/6.
+//
+
+import UIKit
+
+@main
+class AppDelegate: UIResponder, UIApplicationDelegate {
+
+    var window: UIWindow?
+
+    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
+        window = UIWindow(frame: UIScreen.main.bounds)
+        window?.backgroundColor = UIColor.white
+        window?.makeKeyAndVisible()
+        window?.rootViewController = TSTabBarController()
+
+        return true
+    }
+
+
+}
+

+ 11 - 0
Girly/Assets.xcassets/AccentColor.colorset/Contents.json

@@ -0,0 +1,11 @@
+{
+  "colors" : [
+    {
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 120 - 0
Girly/Assets.xcassets/AppIcon.appiconset/Contents.json

@@ -0,0 +1,120 @@
+{
+    "images": [
+        {
+            "size": "20x20",
+            "idiom": "universal",
+            "filename": "icon-20@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "20x20",
+            "idiom": "universal",
+            "filename": "icon-20@3x.png",
+            "scale": "3x",
+            "platform": "ios"
+        },
+        {
+            "size": "29x29",
+            "idiom": "universal",
+            "filename": "icon-29@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "29x29",
+            "idiom": "universal",
+            "filename": "icon-29@3x.png",
+            "scale": "3x",
+            "platform": "ios"
+        },
+        {
+            "size": "38x38",
+            "idiom": "universal",
+            "filename": "icon-38@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "38x38",
+            "idiom": "universal",
+            "filename": "icon-38@3x.png",
+            "scale": "3x",
+            "platform": "ios"
+        },
+        {
+            "size": "40x40",
+            "idiom": "universal",
+            "filename": "icon-40@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "40x40",
+            "idiom": "universal",
+            "filename": "icon-40@3x.png",
+            "scale": "3x",
+            "platform": "ios"
+        },
+        {
+            "size": "60x60",
+            "idiom": "universal",
+            "filename": "icon-60@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "60x60",
+            "idiom": "universal",
+            "filename": "icon-60@3x.png",
+            "scale": "3x",
+            "platform": "ios"
+        },
+        {
+            "size": "64x64",
+            "idiom": "universal",
+            "filename": "icon-64@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "64x64",
+            "idiom": "universal",
+            "filename": "icon-64@3x.png",
+            "scale": "3x",
+            "platform": "ios"
+        },
+        {
+            "size": "68x68",
+            "idiom": "universal",
+            "filename": "icon-68@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "76x76",
+            "idiom": "universal",
+            "filename": "icon-76@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "83.5x83.5",
+            "idiom": "universal",
+            "filename": "icon-83.5@2x.png",
+            "scale": "2x",
+            "platform": "ios"
+        },
+        {
+            "size": "1024x1024",
+            "idiom": "universal",
+            "filename": "icon-1024.png",
+            "scale": "1x",
+            "platform": "ios"
+        }
+    ],
+    "info": {
+        "version": 1,
+        "author": "icon.wuruihong.com"
+    }
+}

BIN
Girly/Assets.xcassets/AppIcon.appiconset/icon-1024.png


BIN
Girly/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png


BIN
Girly/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png


BIN
Girly/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png


BIN
Girly/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png


BIN
Girly/Assets.xcassets/AppIcon.appiconset/icon-38@2x.png


BIN
Girly/Assets.xcassets/AppIcon.appiconset/icon-38@3x.png


BIN
Girly/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png


BIN
Girly/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png


BIN
Girly/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png


BIN
Girly/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png


BIN
Girly/Assets.xcassets/AppIcon.appiconset/icon-64@2x.png


BIN
Girly/Assets.xcassets/AppIcon.appiconset/icon-64@3x.png


BIN
Girly/Assets.xcassets/AppIcon.appiconset/icon-68@2x.png


BIN
Girly/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png


BIN
Girly/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png


+ 6 - 0
Girly/Assets.xcassets/Contents.json

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

+ 6 - 0
Girly/Assets.xcassets/Light/Contents.json

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

+ 22 - 0
Girly/Assets.xcassets/Light/lightBg.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Light/lightBg.imageset/ightBg@2x.png


BIN
Girly/Assets.xcassets/Light/lightBg.imageset/ightBg@3x.png


+ 6 - 0
Girly/Assets.xcassets/Light/shape/Contents.json

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

+ 21 - 0
Girly/Assets.xcassets/Light/shape/bold_roundness_shape.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Light/shape/bold_roundness_shape.imageset/bold_roundness_shape.png


+ 21 - 0
Girly/Assets.xcassets/Light/shape/flowers_shape.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Light/shape/flowers_shape.imageset/flowers_shape.png


+ 21 - 0
Girly/Assets.xcassets/Light/shape/heart_shape.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Light/shape/heart_shape.imageset/heart_shape.png


+ 21 - 0
Girly/Assets.xcassets/Light/shape/hexagon_shape.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Light/shape/hexagon_shape.imageset/hexagon_shape.png


+ 21 - 0
Girly/Assets.xcassets/Light/shape/lightning_shape.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Light/shape/lightning_shape.imageset/lightning_shape.png


+ 21 - 0
Girly/Assets.xcassets/Light/shape/moon_shape.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Light/shape/moon_shape.imageset/moon_shape.png


+ 21 - 0
Girly/Assets.xcassets/Light/shape/pentagon_shape.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Light/shape/pentagon_shape.imageset/pentagon_shape.png


+ 21 - 0
Girly/Assets.xcassets/Light/shape/quadrangle_shape.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Light/shape/quadrangle_shape.imageset/quadrangle_shape.png


+ 21 - 0
Girly/Assets.xcassets/Light/shape/x_shape.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Light/shape/x_shape.imageset/x_shape.png


+ 6 - 0
Girly/Assets.xcassets/Mirror/Contents.json

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

+ 22 - 0
Girly/Assets.xcassets/Mirror/mirror_oval_entity.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Mirror/mirror_oval_entity.imageset/mirror_oval_entity@2x.png


BIN
Girly/Assets.xcassets/Mirror/mirror_oval_entity.imageset/mirror_oval_entity@3x.png


+ 22 - 0
Girly/Assets.xcassets/Mirror/mirror_rectangle_entity.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Mirror/mirror_rectangle_entity.imageset/mirror_rectangle_entity@2x.png


BIN
Girly/Assets.xcassets/Mirror/mirror_rectangle_entity.imageset/mirror_rectangle_entity@3x.png


+ 22 - 0
Girly/Assets.xcassets/Mirror/mirror_round_entity.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Mirror/mirror_round_entity.imageset/mirror_round_entity@2x.png


BIN
Girly/Assets.xcassets/Mirror/mirror_round_entity.imageset/mirror_round_entity@3x.png


+ 22 - 0
Girly/Assets.xcassets/Mirror/mirror_square_entity.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Mirror/mirror_square_entity.imageset/mirror_square_entity@2x.png


BIN
Girly/Assets.xcassets/Mirror/mirror_square_entity.imageset/mirror_square_entity@3x.png


+ 6 - 0
Girly/Assets.xcassets/Mirror/shape/Contents.json

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

+ 22 - 0
Girly/Assets.xcassets/Mirror/shape/mirror_oval.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Mirror/shape/mirror_oval.imageset/mirror_oval@2x.png


BIN
Girly/Assets.xcassets/Mirror/shape/mirror_oval.imageset/mirror_oval@3x.png


+ 22 - 0
Girly/Assets.xcassets/Mirror/shape/mirror_rectangle.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Mirror/shape/mirror_rectangle.imageset/mirror_rectangle@2x.png


BIN
Girly/Assets.xcassets/Mirror/shape/mirror_rectangle.imageset/mirror_rectangle@3x.png


+ 22 - 0
Girly/Assets.xcassets/Mirror/shape/mirror_round.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Mirror/shape/mirror_round.imageset/mirror_round@2x.png


BIN
Girly/Assets.xcassets/Mirror/shape/mirror_round.imageset/mirror_round@3x.png


+ 22 - 0
Girly/Assets.xcassets/Mirror/shape/mirror_square.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/Mirror/shape/mirror_square.imageset/mirror_square@2x.png


BIN
Girly/Assets.xcassets/Mirror/shape/mirror_square.imageset/mirror_square@3x.png


+ 6 - 0
Girly/Assets.xcassets/icon/Contents.json

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

+ 22 - 0
Girly/Assets.xcassets/icon/brightness.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/icon/brightness.imageset/brightness@2x.png


BIN
Girly/Assets.xcassets/icon/brightness.imageset/brightness@3x.png


+ 22 - 0
Girly/Assets.xcassets/icon/fullScreen.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/icon/fullScreen.imageset/fullScreen@2x.png


BIN
Girly/Assets.xcassets/icon/fullScreen.imageset/fullScreen@3x.png


+ 22 - 0
Girly/Assets.xcassets/icon/high_frequency.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/icon/high_frequency.imageset/high_frequency@2x.png


BIN
Girly/Assets.xcassets/icon/high_frequency.imageset/high_frequency@3x.png


+ 22 - 0
Girly/Assets.xcassets/icon/low_frequency.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/icon/low_frequency.imageset/low_frequency@2x.png


BIN
Girly/Assets.xcassets/icon/low_frequency.imageset/low_frequency@3x.png


+ 22 - 0
Girly/Assets.xcassets/icon/saturation.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/icon/saturation.imageset/saturation@2x.png


BIN
Girly/Assets.xcassets/icon/saturation.imageset/saturation@3x.png


+ 22 - 0
Girly/Assets.xcassets/icon/select.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/icon/select.imageset/select@2x.png


BIN
Girly/Assets.xcassets/icon/select.imageset/select@3x.png


+ 22 - 0
Girly/Assets.xcassets/icon/soundOff.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/icon/soundOff.imageset/soundOff@2x.png


BIN
Girly/Assets.xcassets/icon/soundOff.imageset/soundOff@3x.png


+ 22 - 0
Girly/Assets.xcassets/icon/vip.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/icon/vip.imageset/vip@2x.png


BIN
Girly/Assets.xcassets/icon/vip.imageset/vip@3x.png


+ 22 - 0
Girly/Assets.xcassets/icon/volume.imageset/Contents.json

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

BIN
Girly/Assets.xcassets/icon/volume.imageset/volume@2x.png


Some files were not shown because too many files changed in this diff