diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat
index 571f27d..8dead4c 100644
Binary files a/data/DB_PropExchange.dat and b/data/DB_PropExchange.dat differ
diff --git a/data/DB_Skin.dat b/data/DB_Skin.dat
index bb067c8..9f74014 100644
--- a/data/DB_Skin.dat
+++ b/data/DB_Skin.dat
@@ -1,11 +1,11 @@
 
 6�juese"icon_300001*
 活力-黄2mg_01J0R0Z0
-o�juese"icon_300002*财神送福2mg_068B�J福气东来RSkillIcon-30002Z排位赛积分提升
-|�juese"icon_300003*
-活力-粉2mg_028B�J活力满满RSkillIcon-30003Z$VIP赛每日免费报名次数提升
-v�juese"icon_300004*
-活力-青2mg_038B�J金币满满RSkillIcon-30004Z每日礼包金币奖励提升
-x�juese"icon_300005*摇滚小子2mg_048B�J金币加成RSkillIcon-30005Z每日任务金币奖励加成
-?�juese"icon_300006*	潜水员2mg_058B�J0R0Z0
-{�juese"icon_300007*冲浪健将2mg_078B�J好运加成RSkillIcon-30007Z!每次钻石抽奖幸运值提升
\ No newline at end of file
+q�juese"icon_300002*财神送福2mg_068B300000,1J福气东来RSkillIcon-30002Z排位赛积分提升
+�juese"icon_300003*
+活力-粉2mg_028B	300003,20J活力满满RSkillIcon-30003Z$VIP赛每日免费报名次数提升
+y�juese"icon_300004*
+活力-青2mg_038B	300004,20J金币满满RSkillIcon-30004Z每日礼包金币奖励提升
+{�juese"icon_300005*摇滚小子2mg_048B	300005,20J金币加成RSkillIcon-30005Z每日任务金币奖励加成
+B�juese"icon_300006*	潜水员2mg_058B	300006,20J0R0Z0
+~�juese"icon_300007*冲浪健将2mg_078B	300007,20J好运加成RSkillIcon-30007Z!每次钻石抽奖幸运值提升
\ No newline at end of file
diff --git a/data/DB_Skin.json b/data/DB_Skin.json
index 33d4665..62236d2 100644
--- a/data/DB_Skin.json
+++ b/data/DB_Skin.json
@@ -19,9 +19,7 @@
 			"SkinName": "财神送福",
 			"SkinType": "mg_06",
 			"UnlockType": 1,
-			"UnlockItem": {
-				"300000": 1
-			},
+			"UnlockItem": "300000,1",
 			"SkinSkillName": "福气东来",
 			"SkinSkillIcon": "SkillIcon-30002",
 			"SkinSkillDes": "排位赛积分提升"
@@ -34,9 +32,7 @@
 			"SkinName": "活力-粉",
 			"SkinType": "mg_02",
 			"UnlockType": 2,
-			"UnlockItem": {
-				"300003": 20
-			},
+			"UnlockItem": "300003,20",
 			"SkinSkillName": "活力满满",
 			"SkinSkillIcon": "SkillIcon-30003",
 			"SkinSkillDes": "VIP赛每日免费报名次数提升"
@@ -49,9 +45,7 @@
 			"SkinName": "活力-青",
 			"SkinType": "mg_03",
 			"UnlockType": 2,
-			"UnlockItem": {
-				"300004": 20
-			},
+			"UnlockItem": "300004,20",
 			"SkinSkillName": "金币满满",
 			"SkinSkillIcon": "SkillIcon-30004",
 			"SkinSkillDes": "每日礼包金币奖励提升"
@@ -64,9 +58,7 @@
 			"SkinName": "摇滚小子",
 			"SkinType": "mg_04",
 			"UnlockType": 2,
-			"UnlockItem": {
-				"300005": 20
-			},
+			"UnlockItem": "300005,20",
 			"SkinSkillName": "金币加成",
 			"SkinSkillIcon": "SkillIcon-30005",
 			"SkinSkillDes": "每日任务金币奖励加成"
@@ -79,9 +71,7 @@
 			"SkinName": "潜水员",
 			"SkinType": "mg_05",
 			"UnlockType": 2,
-			"UnlockItem": {
-				"300006": 20
-			},
+			"UnlockItem": "300006,20",
 			"SkinSkillName": "0",
 			"SkinSkillIcon": "0",
 			"SkinSkillDes": "0"
@@ -94,9 +84,7 @@
 			"SkinName": "冲浪健将",
 			"SkinType": "mg_07",
 			"UnlockType": 2,
-			"UnlockItem": {
-				"300007": 20
-			},
+			"UnlockItem": "300007,20",
 			"SkinSkillName": "好运加成",
 			"SkinSkillIcon": "SkillIcon-30007",
 			"SkinSkillDes": "每次钻石抽奖幸运值提升"
diff --git a/data/DB_Task.dat b/data/DB_Task.dat
index 604c1af..ea218b8 100644
Binary files a/data/DB_Task.dat and b/data/DB_Task.dat differ
diff --git a/protocol/server/pbdata.pb.go b/protocol/server/pbdata.pb.go
index 8506909..04d92e4 100644
--- a/protocol/server/pbdata.pb.go
+++ b/protocol/server/pbdata.pb.go
@@ -9362,18 +9362,18 @@ type DB_Skin struct {
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 
-	Id            int32           `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
-	SkinClass     int32           `protobuf:"varint,2,opt,name=SkinClass,proto3" json:"SkinClass,omitempty"`
-	Model         string          `protobuf:"bytes,3,opt,name=Model,proto3" json:"Model,omitempty"`
-	SkinPic       string          `protobuf:"bytes,4,opt,name=SkinPic,proto3" json:"SkinPic,omitempty"`
-	SkinName      string          `protobuf:"bytes,5,opt,name=SkinName,proto3" json:"SkinName,omitempty"`
-	SkinType      string          `protobuf:"bytes,6,opt,name=SkinType,proto3" json:"SkinType,omitempty"`
-	UnlockType    int32           `protobuf:"varint,7,opt,name=UnlockType,proto3" json:"UnlockType,omitempty"`
-	UnlockItem    map[int64]int64 `protobuf:"bytes,8,rep,name=UnlockItem,proto3" json:"UnlockItem,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
-	SkinSkillName string          `protobuf:"bytes,9,opt,name=SkinSkillName,proto3" json:"SkinSkillName,omitempty"`
-	SkinSkillIcon string          `protobuf:"bytes,10,opt,name=SkinSkillIcon,proto3" json:"SkinSkillIcon,omitempty"`
-	SkinSkillDes  string          `protobuf:"bytes,11,opt,name=SkinSkillDes,proto3" json:"SkinSkillDes,omitempty"`
-	SkinSkillType int32           `protobuf:"varint,12,opt,name=SkinSkillType,proto3" json:"SkinSkillType,omitempty"`
+	Id            int32  `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
+	SkinClass     int32  `protobuf:"varint,2,opt,name=SkinClass,proto3" json:"SkinClass,omitempty"`
+	Model         string `protobuf:"bytes,3,opt,name=Model,proto3" json:"Model,omitempty"`
+	SkinPic       string `protobuf:"bytes,4,opt,name=SkinPic,proto3" json:"SkinPic,omitempty"`
+	SkinName      string `protobuf:"bytes,5,opt,name=SkinName,proto3" json:"SkinName,omitempty"`
+	SkinType      string `protobuf:"bytes,6,opt,name=SkinType,proto3" json:"SkinType,omitempty"`
+	UnlockType    int32  `protobuf:"varint,7,opt,name=UnlockType,proto3" json:"UnlockType,omitempty"`
+	UnlockItem    string `protobuf:"bytes,8,opt,name=UnlockItem,proto3" json:"UnlockItem,omitempty"`
+	SkinSkillName string `protobuf:"bytes,9,opt,name=SkinSkillName,proto3" json:"SkinSkillName,omitempty"`
+	SkinSkillIcon string `protobuf:"bytes,10,opt,name=SkinSkillIcon,proto3" json:"SkinSkillIcon,omitempty"`
+	SkinSkillDes  string `protobuf:"bytes,11,opt,name=SkinSkillDes,proto3" json:"SkinSkillDes,omitempty"`
+	SkinSkillType int32  `protobuf:"varint,12,opt,name=SkinSkillType,proto3" json:"SkinSkillType,omitempty"`
 }
 
 func (x *DB_Skin) Reset() {
@@ -9457,11 +9457,11 @@ func (x *DB_Skin) GetUnlockType() int32 {
 	return 0
 }
 
-func (x *DB_Skin) GetUnlockItem() map[int64]int64 {
+func (x *DB_Skin) GetUnlockItem() string {
 	if x != nil {
 		return x.UnlockItem
 	}
-	return nil
+	return ""
 }
 
 func (x *DB_Skin) GetSkinSkillName() string {
@@ -11913,7 +11913,7 @@ var file_pbdata_proto_rawDesc = []byte{
 	0x72, 0x72, 0x61, 0x79, 0x12, 0x2c, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28,
 	0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x65,
 	0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x03, 0x41,
-	0x72, 0x72, 0x22, 0xd5, 0x03, 0x0a, 0x07, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x12, 0x0e,
+	0x72, 0x72, 0x22, 0xf5, 0x02, 0x0a, 0x07, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x12, 0x0e,
 	0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1c,
 	0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
 	0x05, 0x52, 0x09, 0x53, 0x6b, 0x69, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05,
@@ -11925,24 +11925,18 @@ var file_pbdata_proto_rawDesc = []byte{
 	0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x6b, 0x69, 0x6e,
 	0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79,
 	0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
-	0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74,
-	0x65, 0x6d, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65,
-	0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
-	0x49, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63,
-	0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69,
-	0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x53, 0x6b,
-	0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x53,
-	0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x63, 0x6f,
-	0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65,
-	0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69,
-	0x6c, 0x6c, 0x44, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69,
-	0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x53, 0x6b,
-	0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x3d, 0x0a, 0x0f, 0x55,
-	0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
-	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79,
-	0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
-	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x31, 0x0a, 0x0c, 0x44, 0x42,
+	0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74,
+	0x65, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
+	0x49, 0x74, 0x65, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c,
+	0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x53, 0x6b, 0x69,
+	0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x6b,
+	0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x63, 0x6f, 0x6e,
+	0x12, 0x22, 0x0a, 0x0c, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x73,
+	0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c,
+	0x6c, 0x44, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c,
+	0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x53, 0x6b, 0x69,
+	0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x22, 0x31, 0x0a, 0x0c, 0x44, 0x42,
 	0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x03, 0x41, 0x72,
 	0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
 	0x2e, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xd7, 0x02,
@@ -12140,7 +12134,7 @@ func file_pbdata_proto_rawDescGZIP() []byte {
 	return file_pbdata_proto_rawDescData
 }
 
-var file_pbdata_proto_msgTypes = make([]protoimpl.MessageInfo, 151)
+var file_pbdata_proto_msgTypes = make([]protoimpl.MessageInfo, 150)
 var file_pbdata_proto_goTypes = []interface{}{
 	(*DB_ActSign)(nil),                         // 0: server.DB_ActSign
 	(*DB_ActSignArray)(nil),                    // 1: server.DB_ActSignArray
@@ -12288,11 +12282,10 @@ var file_pbdata_proto_goTypes = []interface{}{
 	nil,                                        // 143: server.DB_PetSkill.ItemConsumEntry
 	nil,                                        // 144: server.DB_PropExchange.CostEntry
 	nil,                                        // 145: server.DB_PropExchange.GainEntry
-	nil,                                        // 146: server.DB_Skin.UnlockItemEntry
-	nil,                                        // 147: server.DB_SkinLevel.UpItemEntry
-	nil,                                        // 148: server.DB_Task.AwardEntry
-	nil,                                        // 149: server.DB_VIP.Privilege7Entry
-	nil,                                        // 150: server.DB_VIP.AwardEntry
+	nil,                                        // 146: server.DB_SkinLevel.UpItemEntry
+	nil,                                        // 147: server.DB_Task.AwardEntry
+	nil,                                        // 148: server.DB_VIP.Privilege7Entry
+	nil,                                        // 149: server.DB_VIP.AwardEntry
 }
 var file_pbdata_proto_depIdxs = []int32{
 	0,   // 0: server.DB_ActSignArray.Arr:type_name -> server.DB_ActSign
@@ -12364,24 +12357,23 @@ var file_pbdata_proto_depIdxs = []int32{
 	116, // 66: server.DB_RankLevelArray.Arr:type_name -> server.DB_RankLevel
 	118, // 67: server.DB_RankRewardArray.Arr:type_name -> server.DB_RankReward
 	120, // 68: server.DB_Sensitive_WordsArray.Arr:type_name -> server.DB_Sensitive_Words
-	146, // 69: server.DB_Skin.UnlockItem:type_name -> server.DB_Skin.UnlockItemEntry
-	122, // 70: server.DB_SkinArray.Arr:type_name -> server.DB_Skin
-	147, // 71: server.DB_SkinLevel.UpItem:type_name -> server.DB_SkinLevel.UpItemEntry
-	124, // 72: server.DB_SkinLevelArray.Arr:type_name -> server.DB_SkinLevel
-	126, // 73: server.DB_SlotRateWeightArray.Arr:type_name -> server.DB_SlotRateWeight
-	128, // 74: server.DB_SystemChanceArray.Arr:type_name -> server.DB_SystemChance
-	148, // 75: server.DB_Task.Award:type_name -> server.DB_Task.AwardEntry
-	130, // 76: server.DB_TaskArray.Arr:type_name -> server.DB_Task
-	132, // 77: server.DB_ThirdPlatformGameMappingArray.Arr:type_name -> server.DB_ThirdPlatformGameMapping
-	134, // 78: server.DB_TipsArray.Arr:type_name -> server.DB_Tips
-	149, // 79: server.DB_VIP.Privilege7:type_name -> server.DB_VIP.Privilege7Entry
-	150, // 80: server.DB_VIP.Award:type_name -> server.DB_VIP.AwardEntry
-	136, // 81: server.DB_VIPArray.Arr:type_name -> server.DB_VIP
-	82,  // [82:82] is the sub-list for method output_type
-	82,  // [82:82] is the sub-list for method input_type
-	82,  // [82:82] is the sub-list for extension type_name
-	82,  // [82:82] is the sub-list for extension extendee
-	0,   // [0:82] is the sub-list for field type_name
+	122, // 69: server.DB_SkinArray.Arr:type_name -> server.DB_Skin
+	146, // 70: server.DB_SkinLevel.UpItem:type_name -> server.DB_SkinLevel.UpItemEntry
+	124, // 71: server.DB_SkinLevelArray.Arr:type_name -> server.DB_SkinLevel
+	126, // 72: server.DB_SlotRateWeightArray.Arr:type_name -> server.DB_SlotRateWeight
+	128, // 73: server.DB_SystemChanceArray.Arr:type_name -> server.DB_SystemChance
+	147, // 74: server.DB_Task.Award:type_name -> server.DB_Task.AwardEntry
+	130, // 75: server.DB_TaskArray.Arr:type_name -> server.DB_Task
+	132, // 76: server.DB_ThirdPlatformGameMappingArray.Arr:type_name -> server.DB_ThirdPlatformGameMapping
+	134, // 77: server.DB_TipsArray.Arr:type_name -> server.DB_Tips
+	148, // 78: server.DB_VIP.Privilege7:type_name -> server.DB_VIP.Privilege7Entry
+	149, // 79: server.DB_VIP.Award:type_name -> server.DB_VIP.AwardEntry
+	136, // 80: server.DB_VIPArray.Arr:type_name -> server.DB_VIP
+	81,  // [81:81] is the sub-list for method output_type
+	81,  // [81:81] is the sub-list for method input_type
+	81,  // [81:81] is the sub-list for extension type_name
+	81,  // [81:81] is the sub-list for extension extendee
+	0,   // [0:81] is the sub-list for field type_name
 }
 
 func init() { file_pbdata_proto_init() }
@@ -14053,7 +14045,7 @@ func file_pbdata_proto_init() {
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 			RawDescriptor: file_pbdata_proto_rawDesc,
 			NumEnums:      0,
-			NumMessages:   151,
+			NumMessages:   150,
 			NumExtensions: 0,
 			NumServices:   0,
 		},
diff --git a/protocol/server/pbdata.proto b/protocol/server/pbdata.proto
index 252bed3..4abca06 100644
--- a/protocol/server/pbdata.proto
+++ b/protocol/server/pbdata.proto
@@ -1531,7 +1531,7 @@ message DB_Skin {
 
 	int32 UnlockType = 7;
 
-	map<int64, int64> UnlockItem = 8;
+	string UnlockItem = 8;
 
 	string SkinSkillName = 9;
 
diff --git a/public b/public
index c7b319a..1c1ffc2 160000
--- a/public
+++ b/public
@@ -1 +1 @@
-Subproject commit c7b319a4d738012ad02b129c3176c8f8eb77c44f
+Subproject commit 1c1ffc27d12db8a5c3e6a141bf910a80a99e3a13
diff --git a/xlsx/DB_Skin.xlsx b/xlsx/DB_Skin.xlsx
index 5f8da3c..88b7168 100644
Binary files a/xlsx/DB_Skin.xlsx and b/xlsx/DB_Skin.xlsx differ
