From 4394e4248455637ab7836756058ac872fdf4af10 Mon Sep 17 00:00:00 2001
From: wayne <wayne8692wayne8692@gmail.com>
Date: 星期四, 17 二月 2022 11:39:43 +0800
Subject: [PATCH] Merge branch 'pollex-dev' into sit

---
 PAMapp/components/Ui/UiField.vue                                                          |    4 
 pamapi/src/doc/滿意度/查詢登入者所有的滿意度問卷.txt                                                      |   68 
 pamapi/src/main/java/com/pollex/pam/domain/Satisfaction.java                              |   14 
 pamapi/src/main/java/com/pollex/pam/web/rest/AppointmentResource.java                     |   16 
 PAMapp/assets/images/satisfaction/satisfactionBtn_s_mob.svg                               |  222 +++++
 PAMapp/pages/accountSetting/index.vue                                                     |  319 ++++++-
 PAMapp/pages/agentInfo/edit/_agentNo.vue                                                  |  144 ++-
 PAMapp/components/Appointment/AppointmentClosedInfo.vue                                   |    9 
 pamapi/src/main/java/com/pollex/pam/service/dto/StrictQueryConsultantParam.java           |    6 
 pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDetailDTO.java                  |   15 
 pamapi/src/main/java/com/pollex/pam/service/PersonalNotificationService.java              |    4 
 PAMapp/assets/images/satisfaction/satisfactionBtn_s_web.svg                               |  274 ++++++
 PAMapp/assets/scss/_common.scss                                                           |    2 
 pamapi/src/main/java/com/pollex/pam/service/SatisfactionService.java                      |   52 
 pamapi/src/doc/sql/20220215_w.sql                                                         |    2 
 PAMapp/shared/models/appointment.model.ts                                                 |   23 
 pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantDTOMapper.java               |    5 
 PAMapp/shared/models/reviews.model.ts                                                     |   15 
 pamapi/src/main/java/com/pollex/pam/enums/SatisfactionTypeEnum.java                       |    6 
 pamapi/src/main/java/com/pollex/pam/service/dto/SatisfactionDTO.java                      |   12 
 pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java                |   20 
 PAMapp/pages/questionnaire/_agentNo.vue                                                   |   81 +
 pamapi/src/doc/sql/20220126_w.sql                                                         |    6 
 PAMapp/pages/satisfactionList.vue                                                         |   34 
 pamapi/src/main/java/com/pollex/pam/service/ConsultantQuerySpec.java                      |   31 
 pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantMapper.java                  |    4 
 PAMapp/pages/agentInfo/_agentNo.vue                                                       |    2 
 pamapi/src/doc/顧問API/嚴選配對.txt                                                             |    2 
 pamapi/src/main/java/com/pollex/pam/service/mapper/SatisfactionDTOMapper.java             |   26 
 PAMapp/components/Interview/InterviewCard.vue                                             |    6 
 PAMapp/components/Client/ClientCard.vue                                                   |    1 
 PAMapp/shared/services/query-consultant.service.ts                                        |    2 
 PAMapp/store/localStorage.ts                                                              |   13 
 PAMapp/shared/models/strict-query.model.ts                                                |    3 
 PAMapp/shared/const/quickFilter-questionList.ts                                           |   14 
 PAMapp/pages/notification/index.vue                                                       |    7 
 PAMapp/assets/scss/vendors/elementUI/_textarea.scss                                       |    4 
 PAMapp/components/multiSelectBtn.vue                                                      |    2 
 pamapi/src/doc/sql/20220216_w.sql                                                         |   22 
 pamapi/src/main/resources/config/application-prod.yml                                     |    2 
 PAMapp/store/login.store.ts                                                               |    5 
 PAMapp/pages/login/index.vue                                                              |    9 
 PAMapp/store/index.ts                                                                     |    9 
 pamapi/src/doc/sql/20220210_w.sql                                                         |   10 
 PAMapp/pages/recommendConsultant/result.vue                                               |   68 +
 pamapi/src/doc/預約單/預約前詢問.txt                                                              |   27 
 pamapi/src/doc/滿意度/客戶填寫滿意度問卷.txt                                                          |   56 +
 pamapi/src/main/java/com/pollex/pam/service/mapper/AppointmentMapper.java                 |    9 
 PAMapp/pages/myConsultantList.vue                                                         |    3 
 PAMapp/plugins/filters/serve-area.filter.ts                                               |   16 
 PAMapp/components/QuickFilter/QuickFilterConsultantList.vue                               |    1 
 pamapi/src/main/resources/config/application-sit.yml                                      |    2 
 PAMapp/shared/services/appointment.service.ts                                             |   11 
 PAMapp/components/ReviewRecords/ReviewRecords.vue                                         |    2 
 PAMapp/components/Consultant/ConsultantSwiper.vue                                         |    3 
 PAMapp/pages/index.vue                                                                    |  114 +-
 pamapi/src/main/java/com/pollex/pam/service/dto/SatisfactionCustomerScoreDTO.java         |   15 
 pamapi/src/doc/sql/20220122_w.sql                                                         |    1 
 PAMapp/shared/models/account.model.ts                                                     |   14 
 PAMapp/nuxt.config.js                                                                     |    1 
 PAMapp/shared/const/hide-reviews.ts                                                       |    2 
 PAMapp/shared/models/enum/satisfaction-type.ts                                            |    5 
 PAMapp/pages/appointment/_appointmentId/index.vue                                         |   20 
 pamapi/src/doc/顧問API/指定顧問詳細資訊.txt                                                         |    6 
 PAMapp/components/Interview/InterviewAdd.vue                                              |    7 
 PAMapp/components/editConsultantAvatar.vue                                                |   14 
 PAMapp/pages/quickFilter/index.vue                                                        |    3 
 pamapi/src/main/java/com/pollex/pam/service/mapper/SatisfactionMapper.java                |   11 
 pamapi/src/main/java/com/pollex/pam/repository/SatisfactionRepository.java                |   12 
 pamapi/src/main/java/com/pollex/pam/appointment/process/DoneProcess.java                  |   16 
 pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDTO.java                        |    9 
 PAMapp/pages/myAppointmentList.vue                                                        |   36 
 pamapi/src/main/java/com/pollex/pam/service/ScheduleTaskService.java                      |    8 
 PAMapp/pages/appointment/_appointmentId/close/index.vue                                   |   37 
 PAMapp/components/Consultant/ConsultantCard.vue                                           |   60 
 /dev/null                                                                                 |   54 -
 pamapi/src/main/java/com/pollex/pam/config/SecurityConfiguration.java                     |    2 
 PAMapp/assets/scss/vendors/elementUI/_input.scss                                          |    6 
 pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java                       |    4 
 PAMapp/components/Appointment/AppointmentInterviewList.vue                                |   23 
 PAMapp/pages/recommendConsultant/index.vue                                                |    7 
 PAMapp/shared/models/consultant.model.ts                                                  |   33 
 PAMapp/shared/services/reviews.service.ts                                                 |   11 
 pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java                        |   78 +
 pamapi/src/main/resources/config/application-uat.yml                                      |    2 
 pamapi/src/main/java/com/pollex/pam/security/provider/EServiceAuthenticationProvider.java |    5 
 pamapi/src/main/java/com/pollex/pam/web/rest/SatisfactionResource.java                    |   16 
 87 files changed, 1,756 insertions(+), 601 deletions(-)

diff --git a/PAMapp/assets/images/satisfaction/satisfactionBtn_s_mob.svg b/PAMapp/assets/images/satisfaction/satisfactionBtn_s_mob.svg
new file mode 100644
index 0000000..0fa08fe
--- /dev/null
+++ b/PAMapp/assets/images/satisfaction/satisfactionBtn_s_mob.svg
@@ -0,0 +1,222 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="335" height="60" viewBox="0 0 335 60">
+  <g id="satisfaction_s_mob" data-name="satisfaction �� s �� mob" transform="translate(0 -3.95)">
+    <g id="Component_22_11" data-name="Component 22 11">
+      <g id="Group_3319" data-name="Group 3319">
+        <g id="Group_3896" data-name="Group 3896">
+          <path id="Path_8566" data-name="Path 8566" d="M55.271,23.671V22.7H46.483q5.124,2.022,9.833,4.256c-.016-.857-.023-1.38-.023-1.38a1.11,1.11,0,0,1,.1-.424A1.753,1.753,0,0,1,55.271,23.671Z" fill="#8db9ca"/>
+          <path id="Path_8567" data-name="Path 8567" d="M83.59,45.675a45.2,45.2,0,0,1,4.042,5.03c-.016-.1-.027-.208-.048-.312A6.452,6.452,0,0,0,83.59,45.675Z" fill="#8db9ca"/>
+          <path id="Path_8568" data-name="Path 8568" d="M59.29,22.7H58.279a1.787,1.787,0,0,0,.3.055C58.75,22.752,59.006,22.728,59.29,22.7Z" fill="#8db9ca"/>
+          <path id="Path_8569" data-name="Path 8569" d="M230.734,3.95H10A10,10,0,0,0,.722,10.232c3.038.529,6.057,1.09,9.032,1.711V7.688A1.758,1.758,0,0,1,11.512,5.93H68.585a1.758,1.758,0,0,1,1.758,1.758V20.939A1.758,1.758,0,0,1,68.585,22.7H64.349a1.791,1.791,0,0,1,.1,1.156c-.119,1.073-1.013,1.523-2.077,1.759.46,1.131,1.061,3.058,1.7,5.33A80.66,80.66,0,0,1,82.775,44.81,7.053,7.053,0,0,1,88.273,51a6.969,6.969,0,0,1,.032.719A30.048,30.048,0,0,1,92.971,63.95H325a10,10,0,0,0,10-10V40.3C290.872,38.918,245.273,24.736,230.734,3.95Z" fill="#8db9ca"/>
+          <path id="Path_8570" data-name="Path 8570" d="M43.541,22.7a3.576,3.576,0,0,1,.6,1.171s6.3-1.186,6.94,8.371l0,.009a28,28,0,0,1-.339,5.173v.007c.067.03.134.06.226.108,1.51.794.381,4.906-.14,6.9l.007-.005c-.27,1.065-1.162.425-1.07.984a10.474,10.474,0,0,1-1.11,6.3c.194.67.414,1.482.612,2.3-.109.241-.229.476-.344.714.063-.092.131-.182.193-.275.082-.136.146-.239.2-.318-.016-.045-.025-.091-.042-.135.043,0,.087,0,.13,0l.016-.025.006.024a6.966,6.966,0,0,1,2.525.374c2.7-2.771,5.221-12.111,5.221-12.111-.566-2.542-.79-11.784-.856-15.306q-4.7-2.23-9.833-4.256Z" fill="#8db9ca"/>
+          <path id="Path_8571" data-name="Path 8571" d="M43.541,22.7a3.576,3.576,0,0,1,.6,1.171s6.3-1.186,6.94,8.371l0,.009a28,28,0,0,1-.339,5.173v.007c.067.03.134.06.226.108,1.51.794.381,4.906-.14,6.9l.007-.005c-.27,1.065-1.162.425-1.07.984a10.474,10.474,0,0,1-1.11,6.3c.194.67.414,1.482.612,2.3-.109.241-.229.476-.344.714.063-.092.131-.182.193-.275.082-.136.146-.239.2-.318-.016-.045-.025-.091-.042-.135.043,0,.087,0,.13,0l.016-.025.006.024a6.966,6.966,0,0,1,2.525.374c2.7-2.771,5.221-12.111,5.221-12.111-.566-2.542-.79-11.784-.856-15.306q-4.7-2.23-9.833-4.256Z" fill="#fff" opacity="0.5" style="isolation: isolate"/>
+          <path id="Path_8572" data-name="Path 8572" d="M30.953,48.108a3.119,3.119,0,0,1-1.98-1.585C27.942,44,27.332,41.592,27.8,40.834a16.469,16.469,0,0,0,1.962,3.924.311.311,0,0,0,.086.078.65.65,0,0,1-.086-.083A16.462,16.462,0,0,1,27.8,40.83c-.422-1.012-.8-2.035-1.19-2.824-2.676-5.508,2.05-7.155,1.807-7.4C26.3,28.483,30,24.872,33.282,22.7H25.563a10.782,10.782,0,0,1-.853,2.166,1.922,1.922,0,0,1-.566.61c-.024,2.991-.163,16.355-.786,19.158,0,0,2.775,7.957,5.425,11.485a11.771,11.771,0,0,1,4.454-1.1,8.885,8.885,0,0,1,.154-.9,1.794,1.794,0,0,0,.251.377c.05.065.11.139.176.218-.061-.511-.126-1-.189-1.441C32.3,51.793,31.095,48.319,30.953,48.108Z" fill="#8db9ca"/>
+          <path id="Path_8573" data-name="Path 8573" d="M30.953,48.108a3.119,3.119,0,0,1-1.98-1.585C27.942,44,27.332,41.592,27.8,40.834a16.469,16.469,0,0,0,1.962,3.924.311.311,0,0,0,.086.078.65.65,0,0,1-.086-.083A16.462,16.462,0,0,1,27.8,40.83c-.422-1.012-.8-2.035-1.19-2.824-2.676-5.508,2.05-7.155,1.807-7.4C26.3,28.483,30,24.872,33.282,22.7H25.563a10.782,10.782,0,0,1-.853,2.166,1.922,1.922,0,0,1-.566.61c-.024,2.991-.163,16.355-.786,19.158,0,0,2.775,7.957,5.425,11.485a11.771,11.771,0,0,1,4.454-1.1,8.885,8.885,0,0,1,.154-.9,1.794,1.794,0,0,0,.251.377c.05.065.11.139.176.218-.061-.511-.126-1-.189-1.441C32.3,51.793,31.095,48.319,30.953,48.108Z" fill="#fff" opacity="0.5" style="isolation: isolate"/>
+          <path id="Path_8574" data-name="Path 8574" d="M82.652,58.608c-.231.046-.467.082-.707.106a7.053,7.053,0,1,1,.83-13.9A80.66,80.66,0,0,0,64.069,30.942c1.763,6.287,3.805,15.208,3.923,17.2.176,2.986-1.4,7.026-4.039,14.052-.242.646-.489,1.227-.738,1.754H92.971a30.048,30.048,0,0,0-4.666-12.227A7.052,7.052,0,0,1,82.652,58.608Z" fill="#8db9ca"/>
+          <path id="Path_8575" data-name="Path 8575" d="M82.652,58.608c-.231.046-.467.082-.707.106a7.053,7.053,0,1,1,.83-13.9A80.66,80.66,0,0,0,64.069,30.942c1.763,6.287,3.805,15.208,3.923,17.2.176,2.986-1.4,7.026-4.039,14.052-.242.646-.489,1.227-.738,1.754H92.971a30.048,30.048,0,0,0-4.666-12.227A7.052,7.052,0,0,1,82.652,58.608Z" fill="#fff" opacity="0.5" style="isolation: isolate"/>
+          <path id="Path_8576" data-name="Path 8576" d="M14.641,27.192a1.112,1.112,0,0,0-1.508.112l-.428.442-.422-.436a1.115,1.115,0,0,0-.825-.362h0a1.1,1.1,0,0,0-.694.246,1.178,1.178,0,0,0-.113,1.655.514.514,0,0,0,.038.042l2,2.064h.029l2-2.063a1.178,1.178,0,0,0-.037-1.663Z" fill="#8db9ca"/>
+          <path id="Path_8577" data-name="Path 8577" d="M14.641,27.192a1.112,1.112,0,0,0-1.508.112l-.428.442-.422-.436a1.115,1.115,0,0,0-.825-.362h0a1.1,1.1,0,0,0-.694.246,1.178,1.178,0,0,0-.113,1.655.514.514,0,0,0,.038.042l2,2.064h.029l2-2.063a1.178,1.178,0,0,0-.037-1.663Z" fill="#fff" opacity="0.5" style="isolation: isolate"/>
+          <path id="Path_8578" data-name="Path 8578" d="M13.518,50.78c.174-2.932,2.63-22.359,4.049-24.895-.434-.159-.749-.372-.749-.655a3.006,3.006,0,0,1,.714-2.533h-6.02a1.758,1.758,0,0,1-1.758-1.758v-9C6.779,11.322,3.76,10.761.722,10.232A9.968,9.968,0,0,0,0,13.95v40a10,10,0,0,0,10,10h7.227C14.79,57.467,13.349,53.639,13.518,50.78ZM9.7,46.134a.383.383,0,0,1-.366.192l-1.6-.119-1,1.252a.388.388,0,0,1-.31.145.4.4,0,0,1-.085-.009.386.386,0,0,1-.3-.289l-.383-1.559-1.5-.569a.391.391,0,0,1-.067-.7l1.365-.845.077-1.6a.391.391,0,0,1,.643-.28L7.405,42.79l1.549-.422a.391.391,0,0,1,.465.524l-.608,1.487.88,1.343A.388.388,0,0,1,9.7,46.134Zm3-14.562a.627.627,0,0,1-.456-.2l-2-2.061c-.022-.023-.043-.045-.062-.069a1.788,1.788,0,0,1,.183-2.521,1.724,1.724,0,0,1,2.33.142,1.718,1.718,0,0,1,2.322-.148h.006l.071.065a1.786,1.786,0,0,1,.054,2.525h0l-2.023,2.087A.619.619,0,0,1,12.7,31.572Z" fill="#8db9ca"/>
+          <path id="Path_8579" data-name="Path 8579" d="M13.518,50.78c.174-2.932,2.63-22.359,4.049-24.895-.434-.159-.749-.372-.749-.655a3.006,3.006,0,0,1,.714-2.533h-6.02a1.758,1.758,0,0,1-1.758-1.758v-9C6.779,11.322,3.76,10.761.722,10.232A9.968,9.968,0,0,0,0,13.95v40a10,10,0,0,0,10,10h7.227C14.79,57.467,13.349,53.639,13.518,50.78ZM9.7,46.134a.383.383,0,0,1-.366.192l-1.6-.119-1,1.252a.388.388,0,0,1-.31.145.4.4,0,0,1-.085-.009.386.386,0,0,1-.3-.289l-.383-1.559-1.5-.569a.391.391,0,0,1-.067-.7l1.365-.845.077-1.6a.391.391,0,0,1,.643-.28L7.405,42.79l1.549-.422a.391.391,0,0,1,.465.524l-.608,1.487.88,1.343A.388.388,0,0,1,9.7,46.134Zm3-14.562a.627.627,0,0,1-.456-.2l-2-2.061c-.022-.023-.043-.045-.062-.069a1.788,1.788,0,0,1,.183-2.521,1.724,1.724,0,0,1,2.33.142,1.718,1.718,0,0,1,2.322-.148h.006l.071.065a1.786,1.786,0,0,1,.054,2.525h0l-2.023,2.087A.619.619,0,0,1,12.7,31.572Z" fill="#fff" opacity="0.5" style="isolation: isolate"/>
+          <path id="Path_8580" data-name="Path 8580" d="M8.2,44.254l.483-1.182-1.232.335a.39.39,0,0,1-.355-.079L6.118,42.5l-.062,1.275a.39.39,0,0,1-.185.314l-1.08.672,1.194.452a.391.391,0,0,1,.241.275l.3,1.238.8-.995a.384.384,0,0,1,.333-.145l1.273.094-.7-1.068A.388.388,0,0,1,8.2,44.254Z" fill="#8db9ca"/>
+          <path id="Path_8581" data-name="Path 8581" d="M8.2,44.254l.483-1.182-1.232.335a.39.39,0,0,1-.355-.079L6.118,42.5l-.062,1.275a.39.39,0,0,1-.185.314l-1.08.672,1.194.452a.391.391,0,0,1,.241.275l.3,1.238.8-.995a.384.384,0,0,1,.333-.145l1.273.094-.7-1.068A.388.388,0,0,1,8.2,44.254Z" fill="#fff" opacity="0.5" style="isolation: isolate"/>
+          <path id="Path_8582" data-name="Path 8582" d="M80.611,45.272c-.222.024-.439.057-.654.1h0a6.456,6.456,0,1,0,7.674,5.333,45.2,45.2,0,0,0-4.042-5.03A6.427,6.427,0,0,0,80.611,45.272Zm-2.253,4.971a.6.6,0,1,1,.549-.648v0h0A.6.6,0,0,1,78.358,50.243Zm3.528,5.878a1.506,1.506,0,0,1-.2.029,1.9,1.9,0,0,1-1.979-1.415.152.152,0,0,1,.3-.069.172.172,0,0,1,0,.039,1.619,1.619,0,0,0,1.651,1.142,2.016,2.016,0,0,0,1.571-1.363.154.154,0,0,1,.3.068A2.326,2.326,0,0,1,81.886,56.121Zm2.19-7.549a.6.6,0,0,1,.648.548v0h0a.6.6,0,1,1-.649-.55Z" fill="#8db9ca"/>
+          <path id="Path_8583" data-name="Path 8583" d="M80.611,45.272c-.222.024-.439.057-.654.1h0a6.456,6.456,0,1,0,7.674,5.333,45.2,45.2,0,0,0-4.042-5.03A6.427,6.427,0,0,0,80.611,45.272Zm-2.253,4.971a.6.6,0,1,1,.549-.648v0h0A.6.6,0,0,1,78.358,50.243Zm3.528,5.878a1.506,1.506,0,0,1-.2.029,1.9,1.9,0,0,1-1.979-1.415.152.152,0,0,1,.3-.069.172.172,0,0,1,0,.039,1.619,1.619,0,0,0,1.651,1.142,2.016,2.016,0,0,0,1.571-1.363.154.154,0,0,1,.3.068A2.326,2.326,0,0,1,81.886,56.121Zm2.19-7.549a.6.6,0,0,1,.648.548v0h0a.6.6,0,1,1-.649-.55Z" fill="#fff" opacity="0.5" style="isolation: isolate"/>
+          <path id="Path_8584" data-name="Path 8584" d="M266.189,19.017l.4-.969-1.01.276a.325.325,0,0,1-.292-.065l-.8-.676-.05,1.045a.324.324,0,0,1-.152.258l-.895.554.979.371a.319.319,0,0,1,.2.225l.249,1.015.656-.816a.32.32,0,0,1,.273-.119l1.044.077-.574-.876A.323.323,0,0,1,266.189,19.017Z" fill="#8db9ca"/>
+          <path id="Path_8585" data-name="Path 8585" d="M266.189,19.017l.4-.969-1.01.276a.325.325,0,0,1-.292-.065l-.8-.676-.05,1.045a.324.324,0,0,1-.152.258l-.895.554.979.371a.319.319,0,0,1,.2.225l.249,1.015.656-.816a.32.32,0,0,1,.273-.119l1.044.077-.574-.876A.323.323,0,0,1,266.189,19.017Z" fill="#fff" opacity="0.5" style="isolation: isolate"/>
+          <path id="Path_8586" data-name="Path 8586" d="M325,3.95H230.734C245.273,24.736,290.872,38.918,335,40.3V13.95A10,10,0,0,0,325,3.95ZM267.406,20.57a.315.315,0,0,1-.3.156l-1.313-.1-.824,1.026a.319.319,0,0,1-.24.116.327.327,0,0,1-.07-.008.32.32,0,0,1-.242-.237L264.1,20.25l-1.231-.467a.321.321,0,0,1-.055-.572l1.119-.693L264,17.2a.321.321,0,0,1,.528-.23l1,.85,1.27-.345a.324.324,0,0,1,.382.434l-.5,1.218.722,1.1A.321.321,0,0,1,267.406,20.57Zm28.764-4.758-7.589,3.074a1.271,1.271,0,0,1-1.658-.7l-2.306-5.692a1.28,1.28,0,0,1,.7-1.658l7.589-3.075a1.28,1.28,0,0,1,1.658.7l.005.012a.16.16,0,0,1,.009.023l2.292,5.657A1.281,1.281,0,0,1,296.17,15.812Zm27.51,10.632a5.787,5.787,0,0,1-7.11,3.106q-.275-.093-.546-.214a5.787,5.787,0,1,1,7.656-2.892Z" fill="#8db9ca"/>
+          <path id="Path_8587" data-name="Path 8587" d="M325,3.95H230.734C245.273,24.736,290.872,38.918,335,40.3V13.95A10,10,0,0,0,325,3.95ZM267.406,20.57a.315.315,0,0,1-.3.156l-1.313-.1-.824,1.026a.319.319,0,0,1-.24.116.327.327,0,0,1-.07-.008.32.32,0,0,1-.242-.237L264.1,20.25l-1.231-.467a.321.321,0,0,1-.055-.572l1.119-.693L264,17.2a.321.321,0,0,1,.528-.23l1,.85,1.27-.345a.324.324,0,0,1,.382.434l-.5,1.218.722,1.1A.321.321,0,0,1,267.406,20.57Zm28.764-4.758-7.589,3.074a1.271,1.271,0,0,1-1.658-.7l-2.306-5.692a1.28,1.28,0,0,1,.7-1.658l7.589-3.075a1.28,1.28,0,0,1,1.658.7l.005.012a.16.16,0,0,1,.009.023l2.292,5.657A1.281,1.281,0,0,1,296.17,15.812Zm27.51,10.632a5.787,5.787,0,0,1-7.11,3.106q-.275-.093-.546-.214a5.787,5.787,0,1,1,7.656-2.892Z" fill="#fff" opacity="0.5" style="isolation: isolate"/>
+          <path id="Path_8588" data-name="Path 8588" d="M294.04,8.549a.769.769,0,0,0-.94-.324L285.512,11.3h-.005a.77.77,0,0,0-.448.894l5.763,1.323Z" fill="#8db9ca"/>
+          <path id="Path_8589" data-name="Path 8589" d="M294.04,8.549a.769.769,0,0,0-.94-.324L285.512,11.3h-.005a.77.77,0,0,0-.448.894l5.763,1.323Z" fill="#fff" opacity="0.5" style="isolation: isolate"/>
+          <path id="Path_8590" data-name="Path 8590" d="M320.577,19.25a3.938,3.938,0,0,0-.5-.208v.008a5.285,5.285,0,1,0,.5.2Zm-3.868,1.941a.493.493,0,0,1,.892.42h0a.493.493,0,0,1-.891-.422Zm2.138,5.832a1.907,1.907,0,0,1-1.8.444,1.511,1.511,0,0,1-.157-.063,1.556,1.556,0,0,1-.826-1.816.122.122,0,0,1,.162-.063h0a.125.125,0,0,1,.063.165,1.327,1.327,0,0,0,.7,1.487,1.651,1.651,0,0,0,1.673-.325.125.125,0,1,1,.184.17Zm3.081-3.365a.494.494,0,1,1-.237-.657h0a.493.493,0,0,1,.235.656Z" fill="#8db9ca"/>
+          <path id="Path_8591" data-name="Path 8591" d="M320.577,19.25a3.938,3.938,0,0,0-.5-.208v.008a5.285,5.285,0,1,0,.5.2Zm-3.868,1.941a.493.493,0,0,1,.892.42h0a.493.493,0,0,1-.891-.422Zm2.138,5.832a1.907,1.907,0,0,1-1.8.444,1.511,1.511,0,0,1-.157-.063,1.556,1.556,0,0,1-.826-1.816.122.122,0,0,1,.162-.063h0a.125.125,0,0,1,.063.165,1.327,1.327,0,0,0,.7,1.487,1.651,1.651,0,0,0,1.673-.325.125.125,0,1,1,.184.17Zm3.081-3.365a.494.494,0,1,1-.237-.657h0a.493.493,0,0,1,.235.656Z" fill="#fff" opacity="0.5" style="isolation: isolate"/>
+          <path id="Path_8592" data-name="Path 8592" d="M290.937,14.05a.259.259,0,0,1-.056-.006l-5.621-1.292L287.386,18a.78.78,0,0,0,1.008.427l7.588-3.074a.78.78,0,0,0,.426-1.009l-2.123-5.253-3.144,4.846A.249.249,0,0,1,290.937,14.05Z" fill="#8db9ca"/>
+          <path id="Path_8593" data-name="Path 8593" d="M290.937,14.05a.259.259,0,0,1-.056-.006l-5.621-1.292L287.386,18a.78.78,0,0,0,1.008.427l7.588-3.074a.78.78,0,0,0,.426-1.009l-2.123-5.253-3.144,4.846A.249.249,0,0,1,290.937,14.05Z" fill="#fff" opacity="0.5" style="isolation: isolate"/>
+          <path id="Path_8594" data-name="Path 8594" d="M266.676,19.131l.5-1.218a.324.324,0,0,0-.382-.434l-1.27.345-1-.85a.321.321,0,0,0-.528.23l-.063,1.314-1.119.693a.321.321,0,0,0,.055.572l1.231.467.317,1.273a.32.32,0,0,0,.242.237.327.327,0,0,0,.07.008.319.319,0,0,0,.24-.116l.824-1.026,1.313.1a.315.315,0,0,0,.3-.156.321.321,0,0,0-.008-.339Zm-.929.985a.32.32,0,0,0-.273.119l-.656.816-.249-1.015a.319.319,0,0,0-.2-.225l-.979-.371.895-.554a.324.324,0,0,0,.152-.258l.05-1.045.8.676a.325.325,0,0,0,.292.065l1.01-.276-.4.969a.323.323,0,0,0,.028.3l.574.876Z" fill="#8db9ca"/>
+          <path id="Path_8595" data-name="Path 8595" d="M8.811,44.379l.608-1.487a.391.391,0,0,0-.465-.524l-1.549.422L6.179,41.753a.391.391,0,0,0-.643.28l-.077,1.6-1.365.845a.391.391,0,0,0,.067.7l1.5.569.383,1.559a.386.386,0,0,0,.3.289.4.4,0,0,0,.085.009.388.388,0,0,0,.31-.145l1-1.252,1.6.119a.383.383,0,0,0,.366-.192.388.388,0,0,0-.009-.412ZM7.659,45.59a.384.384,0,0,0-.333.145l-.8.995-.3-1.238a.391.391,0,0,0-.241-.275l-1.194-.452,1.08-.672a.39.39,0,0,0,.185-.314L6.118,42.5l.975.824a.39.39,0,0,0,.355.079l1.232-.335L8.2,44.254a.388.388,0,0,0,.035.362l.7,1.068Z" fill="#8db9ca"/>
+          <path id="Path_8596" data-name="Path 8596" d="M38.407,34.563c.117-.017.228-.031.348-.051.232-.038.45-.079.668-.12-.217.038-.434.076-.665.114Z" fill="#8db9ca"/>
+          <path id="Path_8597" data-name="Path 8597" d="M38.407,34.563c.117-.017.228-.031.348-.051.232-.038.45-.079.668-.12-.217.038-.434.076-.665.114Z" fill="#fff" opacity="0.5" style="isolation: isolate"/>
+          <path id="Path_8598" data-name="Path 8598" d="M45.3,59.8h-.007a9.259,9.259,0,0,1,1.437,1.025c.07.055.153.128.226.187h0c-.073-.061-.157-.134-.226-.189A9.244,9.244,0,0,0,45.3,59.8Z" fill="#8db9ca"/>
+          <path id="Path_8599" data-name="Path 8599" d="M45.3,59.8h-.007a9.259,9.259,0,0,1,1.437,1.025c.07.055.153.128.226.187h0c-.073-.061-.157-.134-.226-.189A9.244,9.244,0,0,0,45.3,59.8Z" fill="#fff" opacity="0.5" style="isolation: isolate"/>
+          <path id="Path_8600" data-name="Path 8600" d="M30.135,42.917c-.025-1.237-.137-2.9-.247-4.486,0,.138,0,.281-.007.435C29.854,39.989,30.036,41.625,30.135,42.917Z" fill="#8db9ca"/>
+          <path id="Path_8601" data-name="Path 8601" d="M30.135,42.917c-.025-1.237-.137-2.9-.247-4.486,0,.138,0,.281-.007.435C29.854,39.989,30.036,41.625,30.135,42.917Z" fill="#fff" opacity="0.5" style="isolation: isolate"/>
+          <path id="Path_8602" data-name="Path 8602" d="M49.316,54.136,49.4,54c-.043,0-.087,0-.13,0C49.291,54.045,49.3,54.091,49.316,54.136Z" fill="#1b365d"/>
+          <path id="Path_8603" data-name="Path 8603" d="M47.345,61.333c-.139-.12-.261-.219-.386-.321h0C47.084,61.115,47.206,61.213,47.345,61.333Z" fill="#1b365d"/>
+          <path id="Path_8604" data-name="Path 8604" d="M38.991,51.527,39.3,53.3l2.482-.439C40.292,53.121,39,51.536,38.991,51.527Z" fill="#fceada"/>
+          <path id="Path_8605" data-name="Path 8605" d="M39.821,46.02a.249.249,0,0,1,.076-.111l-.468.083.238,1.346A8.111,8.111,0,0,1,39.821,46.02Z" fill="#fceada"/>
+          <path id="Path_8606" data-name="Path 8606" d="M40.335,46.122a3.792,3.792,0,0,0-.036,1.962,3.123,3.123,0,0,0,1.68-.19.244.244,0,0,1,.243.067L41.8,45.573l-1.607.284A.252.252,0,0,1,40.335,46.122Z" fill="#fceada"/>
+          <path id="Path_8607" data-name="Path 8607" d="M42.291,48.353l-.014-.079a.25.25,0,0,1-.121.1Z" fill="#fceada"/>
+          <path id="Path_8608" data-name="Path 8608" d="M43.966,50.645s-.676,1.946-2.172,2.214l2.49-.44-.313-1.775Z" fill="#fceada"/>
+          <path id="Path_8609" data-name="Path 8609" d="M39.843,48.334l.077.438.65-.115A1.089,1.089,0,0,1,40,48.512.551.551,0,0,1,39.843,48.334Z" fill="#fceada"/>
+          <path id="Path_8610" data-name="Path 8610" d="M38.991,51.524h0l4.019-.711Z" fill="#fceada"/>
+          <path id="Path_8611" data-name="Path 8611" d="M44.952,59.586l.041-.041a34.879,34.879,0,0,0,3.934-4.816c.115-.238.235-.473.344-.714-.2-.818-.418-1.63-.612-2.3a10.474,10.474,0,0,0,1.11-6.3c-.092-.559.8.081,1.07-.984l-.007.005c.521-1.994,1.65-6.106.14-6.9-.092-.048-.159-.078-.226-.108a20.392,20.392,0,0,1-.988,4.316c-.482,1.2-1.627-7.4-2.4-8.461-1.66-2.257,1.037-.474-7.935,1.109-.218.041-.436.082-.668.12-.12.02-.231.034-.348.051-8.989,1.466-8.5.967-8.519,3.868.11,1.586.222,3.249.247,4.486.1,1.335.114,2.286-.284,1.919a.311.311,0,0,1-.086-.078A16.469,16.469,0,0,1,27.8,40.834c-.471.758.139,3.162,1.17,5.689a3.119,3.119,0,0,0,1.98,1.585c.142.211,1.35,3.685,2.676,5.165.063.439.128.93.189,1.441C34.677,55.735,37,57.889,42.5,59.46l.007,0,2.48.082-.044.044c.12.064.231.143.348.212H45.3C45.184,59.73,45.073,59.65,44.952,59.586Zm-11.8-19.02a.262.262,0,1,1-.172-.494,3.64,3.64,0,0,1,2.777.146.262.262,0,0,1-.112.5.251.251,0,0,1-.112-.026A3.117,3.117,0,0,0,33.148,40.566Zm2.765,3.222a.9.9,0,1,1,.731-1.047v.007h0A.9.9,0,0,1,35.913,43.788Zm7.243-4.733a3.638,3.638,0,0,1,2.431-1.35.262.262,0,0,1,.062.52,3.114,3.114,0,0,0-2.085,1.156.261.261,0,1,1-.408-.326ZM39.9,45.909l.3-.052,1.607-.284.422,2.388.055.313.014.079-.135.024-1.586.28-.65.115-.077-.438-.176-1-.238-1.346Zm1.9,6.95h-.008L39.3,53.3l-.313-1.772v0h0l4.019-.71.956-.169h.005l.313,1.775Zm2.757-10.6a.9.9,0,1,1,.731-1.047v.007h0A.9.9,0,0,1,44.551,42.262Z" fill="#fceada"/>
+          <path id="Path_8612" data-name="Path 8612" d="M47.438,61.414l-.093-.081c-.139-.12-.261-.218-.387-.321-.073-.059-.156-.132-.226-.187A9.259,9.259,0,0,0,45.295,59.8c-.117-.069-.228-.148-.348-.212l.044-.044-2.48-.082c.06.022.12.041.182.062h0s-.1.091-.365.334c-.354.332-1.018.97-2.159,2.109l-.176.176-.712.712h0l0,0L40.1,63.95H46.8a18.29,18.29,0,0,1,1.351-1.89C47.893,61.817,47.659,61.607,47.438,61.414Z" fill="#d9232e"/>
+          <path id="Path_8613" data-name="Path 8613" d="M39.987,62.144l.177-.176c1.143-1.14,1.806-1.777,2.159-2.109.26-.243.364-.333.364-.333-.064-.022-.126-.041-.189-.064h.013l-.007,0c-5.5-1.571-7.827-3.725-8.686-4.746-.066-.079-.126-.153-.176-.218a1.794,1.794,0,0,1-.251-.377,8.885,8.885,0,0,0-.154.9A12.221,12.221,0,0,0,36.2,63.95h1.97c.4-.4.779-.767,1.106-1.094Z" fill="#fff"/>
+          <path id="Path_8614" data-name="Path 8614" d="M40.164,61.968h0c1.141-1.139,1.805-1.777,2.159-2.109h0C41.97,60.191,41.307,60.828,40.164,61.968Z" fill="#fff"/>
+          <path id="Path_8615" data-name="Path 8615" d="M39.987,62.144l-.71.712h0l.712-.712.176-.176h0Z" fill="#fff"/>
+          <path id="Path_8616" data-name="Path 8616" d="M42.687,59.526s-.1.09-.364.333h0c.26-.243.365-.334.365-.334h0c-.062-.021-.122-.04-.182-.062H42.5C42.561,59.485,42.623,59.5,42.687,59.526Z" fill="#fff"/>
+          <path id="Path_8617" data-name="Path 8617" d="M49.4,54h.022l-.006-.024Z" fill="#fff"/>
+          <path id="Path_8618" data-name="Path 8618" d="M48.927,54.729a35,35,0,0,1-2.9,4.977L45.3,59.8a9.244,9.244,0,0,1,1.431,1.023c.069.055.153.128.226.189a7.087,7.087,0,0,0,1.254-1.156,5.7,5.7,0,0,0,1.1-5.72c-.05.079-.114.182-.2.318C49.058,54.547,48.99,54.637,48.927,54.729Z" fill="#fff"/>
+          <path id="Path_8619" data-name="Path 8619" d="M49.426,54H49.4l-.088.139a5.7,5.7,0,0,1-1.1,5.72,7.087,7.087,0,0,1-1.254,1.156c.125.1.247.2.386.321l.093.081c.221.193.456.4.718.644.563.517,1.239,1.145,2.005,1.892h1.027C51.324,62.36,50.43,58.337,49.426,54Z" fill="#fff"/>
+          <path id="Path_8620" data-name="Path 8620" d="M44.952,59.586c.121.064.232.144.35.214l.721-.094a35,35,0,0,0,2.9-4.977,34.879,34.879,0,0,1-3.934,4.816Z" fill="#fff"/>
+          <path id="Path_8621" data-name="Path 8621" d="M29.851,44.836c.4.367.387-.584.284-1.919C30.16,44.163,30.1,44.975,29.851,44.836Z" fill="#221e1f"/>
+          <path id="Path_8622" data-name="Path 8622" d="M28.42,30.606c.243.245-4.483,1.892-1.807,7.4.39.789.768,1.812,1.19,2.824a16.462,16.462,0,0,0,1.962,3.923.65.65,0,0,0,.086.083c.245.139.309-.673.284-1.919-.1-1.292-.281-2.928-.254-4.051,0-.154.006-.3.007-.435.017-2.9-.47-2.4,8.519-3.868l.351-.057c.231-.038.448-.076.665-.114,8.972-1.583,6.275-3.366,7.935-1.109.773,1.061,1.918,9.661,2.4,8.461a20.392,20.392,0,0,0,.988-4.316v-.007a28,28,0,0,0,.339-5.173l0-.009c-.64-9.557-6.94-8.371-6.94-8.371a3.576,3.576,0,0,0-.6-1.171H33.282C30,24.872,26.3,28.483,28.42,30.606Z" fill="#221e1f"/>
+          <path id="Path_8623" data-name="Path 8623" d="M35.641,40.716a.262.262,0,0,0,.112-.5,3.64,3.64,0,0,0-2.777-.146.262.262,0,1,0,.172.494,3.117,3.117,0,0,1,2.381.124A.251.251,0,0,0,35.641,40.716Z" fill="#221e1f"/>
+          <path id="Path_8624" data-name="Path 8624" d="M43.36,39.479a.262.262,0,0,0,.2-.1,3.114,3.114,0,0,1,2.085-1.156.262.262,0,0,0-.062-.52,3.638,3.638,0,0,0-2.431,1.35.26.26,0,0,0,.2.424Z" fill="#221e1f"/>
+          <path id="Path_8625" data-name="Path 8625" d="M43.966,50.645l-.956.169-4.019.711v0c.008.009,1.3,1.594,2.795,1.333h.008C43.29,52.591,43.966,50.646,43.966,50.645Z" fill="#e3727c"/>
+          <path id="Path_8626" data-name="Path 8626" d="M39.667,47.338l.176,1a.551.551,0,0,0,.156.178,1.089,1.089,0,0,0,.571.145l1.586-.28a.25.25,0,0,0,.121-.1l-.055-.313a.244.244,0,0,0-.243-.067,3.123,3.123,0,0,1-1.68.19,3.792,3.792,0,0,1,.036-1.962.252.252,0,0,0-.142-.265l-.3.052a.249.249,0,0,0-.076.111A8.111,8.111,0,0,0,39.667,47.338Z" fill="#ce9c6b"/>
+          <path id="Path_8627" data-name="Path 8627" d="M36.644,42.741a.75.75,0,1,0,0,.007h0Z" fill="#221e1f"/>
+          <path id="Path_8628" data-name="Path 8628" d="M45.285,41.222h0v-.007a.75.75,0,1,0,0,.007Z" fill="#221e1f"/>
+          <path id="Path_8629" data-name="Path 8629" d="M33.237,55.015a11.771,11.771,0,0,0-4.454,1.1c-2.65-3.528-5.425-11.485-5.425-11.485.623-2.8.762-16.167.786-19.158-1.355.986-4.022.858-4.022.858a11.1,11.1,0,0,1-2.555-.446c-1.419,2.536-3.875,21.963-4.049,24.895-.169,2.859,1.272,6.687,3.709,13.17H36.2A12.221,12.221,0,0,1,33.237,55.015Z" fill="#1b365d"/>
+          <path id="Path_8630" data-name="Path 8630" d="M39.277,62.856c-.327.327-.7.7-1.106,1.094H40.1l-.822-1.092Z" fill="#1b365d"/>
+          <path id="Path_8631" data-name="Path 8631" d="M47.438,61.414c.221.193.455.4.717.646A18.29,18.29,0,0,0,46.8,63.95h3.357c-.766-.747-1.442-1.375-2.005-1.892C47.894,61.817,47.659,61.607,47.438,61.414Z" fill="#1b365d"/>
+          <path id="Path_8632" data-name="Path 8632" d="M67.992,48.144c-.118-1.994-2.16-10.915-3.923-17.2-.637-2.272-1.238-4.2-1.7-5.33a16.794,16.794,0,0,1-1.777.259,8.428,8.428,0,0,1-4.206-.722,1.11,1.11,0,0,0-.1.424s.007.523.023,1.38c.066,3.522.29,12.764.856,15.306,0,0-2.521,9.34-5.221,12.111A6.966,6.966,0,0,0,49.426,54c1,4.341,1.9,8.364,1.762,9.954H63.215c.249-.527.5-1.108.738-1.754C66.591,55.17,68.168,51.13,67.992,48.144Z" fill="#1b365d"/>
+          <path id="Path_8633" data-name="Path 8633" d="M87.584,50.393c.021.1.032.208.048.312.232.338.455.678.673,1.018A6.969,6.969,0,0,0,88.273,51a7.053,7.053,0,0,0-5.5-6.194q.416.43.815.865A6.452,6.452,0,0,1,87.584,50.393Z" fill="#8db9ca"/>
+          <path id="Path_8634" data-name="Path 8634" d="M80.563,44.676a7.053,7.053,0,1,0,1.382,14.038c.24-.024.476-.06.707-.106a7.052,7.052,0,0,0,5.653-6.885c-.218-.34-.441-.68-.673-1.018a6.452,6.452,0,1,1-7.674-5.333h0c.215-.043.432-.076.654-.1a6.427,6.427,0,0,1,2.979.4q-.4-.433-.815-.865A7.045,7.045,0,0,0,80.563,44.676Z" fill="#8db9ca"/>
+          <path id="Path_8635" data-name="Path 8635" d="M78.907,49.6a.6.6,0,1,0-.549.648.6.6,0,0,0,.549-.648h0Z" fill="#8db9ca"/>
+          <path id="Path_8636" data-name="Path 8636" d="M84.175,49.768a.6.6,0,0,0,.55-.646h0v0a.6.6,0,1,0-.549.648Z" fill="#8db9ca"/>
+          <path id="Path_8637" data-name="Path 8637" d="M83.413,54.368a.154.154,0,0,0-.184.116,2.016,2.016,0,0,1-1.571,1.363,1.619,1.619,0,0,1-1.651-1.142.172.172,0,0,0,0-.039.152.152,0,0,0-.3.069,1.9,1.9,0,0,0,1.979,1.415,1.506,1.506,0,0,0,.2-.029,2.326,2.326,0,0,0,1.643-1.569A.154.154,0,0,0,83.413,54.368Z" fill="#8db9ca"/>
+          <path id="Path_8638" data-name="Path 8638" d="M320.788,18.788a5.787,5.787,0,1,0-4.764,10.548q.271.121.546.214a5.787,5.787,0,0,0,4.218-10.762Zm2.579,6.973a5.285,5.285,0,1,1-3.29-6.711v-.008a3.938,3.938,0,0,1,.5.208A5.284,5.284,0,0,1,323.367,25.761Z" fill="#8db9ca"/>
+          <path id="Path_8639" data-name="Path 8639" d="M316.943,21.847a.493.493,0,0,0,.657-.234h0a.493.493,0,1,0-.658.236Z" fill="#8db9ca"/>
+          <path id="Path_8640" data-name="Path 8640" d="M321.692,23h0a.494.494,0,1,0,.237.657h0A.493.493,0,0,0,321.692,23Z" fill="#8db9ca"/>
+          <path id="Path_8641" data-name="Path 8641" d="M318.663,26.853a1.651,1.651,0,0,1-1.673.325,1.327,1.327,0,0,1-.7-1.487.125.125,0,0,0-.063-.165h0a.122.122,0,0,0-.162.063,1.556,1.556,0,0,0,.826,1.816,1.511,1.511,0,0,0,.157.063,1.907,1.907,0,0,0,1.8-.444.125.125,0,1,0-.184-.17Z" fill="#8db9ca"/>
+          <path id="Path_8642" data-name="Path 8642" d="M15.15,29.305A1.786,1.786,0,0,0,15.1,26.78l-.071-.065h-.006a1.718,1.718,0,0,0-2.322.148,1.724,1.724,0,0,0-2.33-.142,1.788,1.788,0,0,0-.183,2.521c.019.024.04.046.062.069l2,2.061a.627.627,0,0,0,.456.2.619.619,0,0,0,.424-.179l2.023-2.087Zm-.432-.413-2,2.063h-.029l-2-2.064a.514.514,0,0,1-.038-.042,1.178,1.178,0,0,1,.113-1.655,1.1,1.1,0,0,1,.694-.246h0a1.115,1.115,0,0,1,.825.362l.422.436.428-.442a1.112,1.112,0,0,1,1.508-.112l.04.037A1.178,1.178,0,0,1,14.718,28.892Z" fill="#8db9ca"/>
+          <path id="Path_8643" data-name="Path 8643" d="M11.512,22.7h6.02a3.569,3.569,0,0,1,1.029-.679c2.02-.917,4.864-.091,4.864-.091a6.605,6.605,0,0,1,1.836-2.02c.844-.241.735,1.262.3,2.79H55.271v-1.23s0-2.387.734-2.387.919.919.919,1.836A1.809,1.809,0,0,0,58.279,22.7H59.29a20.564,20.564,0,0,1,3.873-.312c.562.113.984.022,1.186.312h4.236a1.758,1.758,0,0,0,1.758-1.758V7.688A1.758,1.758,0,0,0,68.585,5.93H11.512A1.758,1.758,0,0,0,9.754,7.688V20.939A1.758,1.758,0,0,0,11.512,22.7Zm46.217-9.254a.116.116,0,0,1,.071-.036l2.306-.336a.115.115,0,0,0,.089-.064l1.031-2.09a.117.117,0,0,1,.16-.043.113.113,0,0,1,.045.047l1.031,2.09a.118.118,0,0,0,.087.064l1.533.223v0l.774.112a.116.116,0,0,1,.073.038l0,.007,0,.006a.108.108,0,0,1,.021.075l0,0a.121.121,0,0,1-.038.073l-1.664,1.623a.116.116,0,0,0-.034.1l.394,2.3c0,.015-.006.027-.009.04a.135.135,0,0,1,0,.035l0,0a.31.31,0,0,1-.073.055l-.005,0a.108.108,0,0,1-.056-.008c-.007,0-.014,0-.021,0l-2.062-1.085a.121.121,0,0,0-.108,0l-2.06,1.084h0a.124.124,0,0,1-.076.012l-.007,0c-.007,0-.011-.008-.017-.011a.106.106,0,0,1-.053-.044h0a.109.109,0,0,1,0-.025.11.11,0,0,1-.011-.05l.046-.264h0l.35-2.036a.116.116,0,0,0-.034-.1l-1.67-1.627A.117.117,0,0,1,57.729,13.443Zm-10.327,0a.116.116,0,0,1,.071-.036l2.306-.336a.115.115,0,0,0,.089-.064l1.031-2.09a.117.117,0,0,1,.158-.05.115.115,0,0,1,.05.05l1.031,2.09a.118.118,0,0,0,.087.064l1.531.223v0l.774.112a.116.116,0,0,1,.073.038l0,.006a.091.091,0,0,1,.014.04.122.122,0,0,1,.012.04l0,.006a.121.121,0,0,1-.038.073l-1.668,1.627a.116.116,0,0,0-.034.1l.394,2.3c0,.008,0,.014,0,.021a.105.105,0,0,1-.007.05l-.005,0a.108.108,0,0,1-.052.044c-.006,0-.009.008-.015.009s-.006.007-.011.007a.112.112,0,0,1-.074-.011l-2.062-1.085a.117.117,0,0,0-.109,0l-2.062,1.085a.1.1,0,0,1-.052.005c-.008,0-.016,0-.024,0l0,0a.108.108,0,0,1-.052-.033c-.008-.007-.017-.01-.022-.018l-.005-.005a.116.116,0,0,1-.011-.069l0-.009.046-.264h0l.348-2.033a.115.115,0,0,0-.032-.1l-1.67-1.627A.117.117,0,0,1,47.4,13.447Zm-10.325,0a.116.116,0,0,1,.071-.036l2.306-.336a.115.115,0,0,0,.089-.064l1.031-2.09a.117.117,0,0,1,.157-.052.114.114,0,0,1,.052.052l1.031,2.09a.118.118,0,0,0,.087.064l1.533.223v0l.774.112a.116.116,0,0,1,.073.038l0,.007,0,.007a.112.112,0,0,1,.021.074l0,0a.116.116,0,0,1-.038.073L42.6,15.238a.116.116,0,0,0-.033.1l.394,2.3a.126.126,0,0,1-.011.074l-.007.006a.11.11,0,0,1-.045.037c-.008,0-.013.012-.022.014s-.006.006-.011.007a.112.112,0,0,1-.074-.011l-2.062-1.085a.117.117,0,0,0-.109,0l-2.062,1.085a.106.106,0,0,1-.047,0,.128.128,0,0,1-.027,0l0,0a.112.112,0,0,1-.062-.039s-.008-.006-.011-.01l-.008-.007a.115.115,0,0,1-.012-.075l.394-2.3a.113.113,0,0,0-.033-.1l-1.67-1.627A.117.117,0,0,1,37.077,13.447Zm-10.324,0a.116.116,0,0,1,.071-.036l2.306-.336a.115.115,0,0,0,.089-.064l1.031-2.09a.117.117,0,0,1,.157-.052.114.114,0,0,1,.052.052l1.031,2.09a.118.118,0,0,0,.087.064l1.533.223v0l.774.112a.116.116,0,0,1,.073.038l0,.007,0,.007a.112.112,0,0,1,.021.074l0,0a.121.121,0,0,1-.038.073L32.28,15.238a.116.116,0,0,0-.033.1l.394,2.3a.126.126,0,0,1-.011.074l-.007.006a.123.123,0,0,1-.044.037c-.009,0-.014.012-.023.014s-.006.006-.011.007a.112.112,0,0,1-.074-.011l-2.062-1.085a.117.117,0,0,0-.109,0l-.542.285-1.52.8a.106.106,0,0,1-.047,0,.128.128,0,0,1-.027,0l0,0a.106.106,0,0,1-.061-.039s-.009-.006-.012-.01l-.008-.007a.115.115,0,0,1-.012-.075l.191-1.113.2-1.187a.113.113,0,0,0-.033-.1l-1.67-1.627A.117.117,0,0,1,26.753,13.447Zm-10.324,0c.008-.008.019-.009.028-.014a.11.11,0,0,1,.043-.022l2.306-.336a.115.115,0,0,0,.089-.064l1.031-2.09a.117.117,0,0,1,.157-.052.114.114,0,0,1,.052.052l1.031,2.09a.118.118,0,0,0,.087.064l1.533.223v0l.774.112a.116.116,0,0,1,.073.038.113.113,0,0,1,.025.091v0a.111.111,0,0,1-.036.07L22.313,14.89l-.357.348a.116.116,0,0,0-.033.1l.394,2.3a.126.126,0,0,1-.011.074l-.007.006a.11.11,0,0,1-.045.037c-.008,0-.013.012-.022.014s-.006.006-.011.007a.112.112,0,0,1-.074-.011l-2.062-1.085a.117.117,0,0,0-.109,0l-2.062,1.085a.106.106,0,0,1-.047,0,.128.128,0,0,1-.027,0l0,0a.112.112,0,0,1-.062-.039s-.008-.006-.011-.01l-.008-.007a.115.115,0,0,1-.012-.075l.394-2.3a.113.113,0,0,0-.033-.1l-1.67-1.627A.117.117,0,0,1,16.429,13.447Z" fill="#fff"/>
+          <path id="Path_8644" data-name="Path 8644" d="M18.866,13.349a.306.306,0,0,0,.245-.165l.919-1.78-.756,2.027a.306.306,0,0,1-.3.2l-2.1-.1q2.463.585,4.883,1.213A8.9,8.9,0,0,0,22.786,13.3l-1.533-.223a.118.118,0,0,1-.087-.064l-1.031-2.09a.114.114,0,0,0-.052-.052.117.117,0,0,0-.157.052L18.9,13.011a.115.115,0,0,1-.089.064l-2.306.336a.11.11,0,0,0-.043.022l.412.1Z" fill="#ffc801"/>
+          <path id="Path_8645" data-name="Path 8645" d="M22.311,14.889h0l1.311-1.279a.111.111,0,0,0,.036-.07v0a.116.116,0,0,1-.034.071Z" fill="#ffc801"/>
+          <path id="Path_8646" data-name="Path 8646" d="M20.086,16.674a.117.117,0,0,0-.109,0l-2.062,1.085a.11.11,0,0,1-.048.007.106.106,0,0,0,.047,0l2.062-1.085a.117.117,0,0,1,.109,0l2.062,1.085a.112.112,0,0,0,.074.011s.007-.005.011-.007a.112.112,0,0,1-.084-.007Z" fill="#ffc801"/>
+          <path id="Path_8647" data-name="Path 8647" d="M21.957,15.235a.116.116,0,0,0-.034.1h0a.116.116,0,0,1,.033-.1l.357-.348h0Z" fill="#ffc801"/>
+          <path id="Path_8648" data-name="Path 8648" d="M18.1,15.238a.113.113,0,0,1,.033.1l-.394,2.3a.115.115,0,0,0,.012.075l.008.007a.11.11,0,0,1-.019-.085l.046-.264a8.9,8.9,0,0,0,3.964-2.627q-2.421-.627-4.883-1.213h0l-.412-.1c-.009.005-.02.006-.028.014a.117.117,0,0,0,.006.164Z" fill="#ffc801"/>
+          <path id="Path_8649" data-name="Path 8649" d="M19.274,13.431,20.03,11.4l-.919,1.78a.306.306,0,0,1-.245.165l-2,.182h0l2.1.1A.306.306,0,0,0,19.274,13.431Z" fill="#ffd753"/>
+          <path id="Path_8650" data-name="Path 8650" d="M16.866,13.531h0Z" fill="#ffd753"/>
+          <path id="Path_8651" data-name="Path 8651" d="M23.659,13.537a.113.113,0,0,0-.025-.091.116.116,0,0,0-.073-.038l-.774-.112v0l.774.113A.115.115,0,0,1,23.659,13.537Z" fill="#f8b911"/>
+          <path id="Path_8652" data-name="Path 8652" d="M17.84,17.771a.128.128,0,0,0,.027,0,.1.1,0,0,1-.03,0Z" fill="#f8b911"/>
+          <path id="Path_8653" data-name="Path 8653" d="M22.316,17.638a.115.115,0,0,1-.017.077l.007-.006a.126.126,0,0,0,.011-.074l-.394-2.3v0Z" fill="#f8b911"/>
+          <path id="Path_8654" data-name="Path 8654" d="M22.311,14.889l1.314-1.281a.116.116,0,0,0-.065-.2l-.774-.113a8.9,8.9,0,0,1-1.031,1.446Z" fill="#f8b911"/>
+          <path id="Path_8655" data-name="Path 8655" d="M21.957,15.235l.354-.346-.556-.145a8.9,8.9,0,0,1-3.964,2.627l-.046.264a.11.11,0,0,0,.019.085s.008.006.011.01a.112.112,0,0,0,.062.039.1.1,0,0,0,.03,0,.11.11,0,0,0,.048-.007l2.062-1.085a.117.117,0,0,1,.109,0l2.062,1.085a.112.112,0,0,0,.084.007c.009,0,.014-.01.022-.014a.11.11,0,0,0,.045-.037.115.115,0,0,0,.017-.077l-.394-2.3v0h0A.116.116,0,0,1,21.957,15.235Z" fill="#f8b911"/>
+          <path id="Path_8656" data-name="Path 8656" d="M30.41,16.674a.117.117,0,0,0-.109,0l-.546.287h0l.542-.285a.117.117,0,0,1,.109,0l2.062,1.085a.112.112,0,0,0,.074.011c.005,0,.007-.005.011-.007a.112.112,0,0,1-.084-.007Z" fill="#ffc801"/>
+          <path id="Path_8657" data-name="Path 8657" d="M28.429,15.238a.113.113,0,0,1,.033.1l-.2,1.187q.555.159,1.106.322A8.9,8.9,0,0,0,33.11,13.3l-1.533-.223a.118.118,0,0,1-.087-.064l-1.031-2.09a.114.114,0,0,0-.052-.052.117.117,0,0,0-.157.052l-1.031,2.09a.115.115,0,0,1-.089.064l-2.306.336a.116.116,0,0,0-.065.2Zm.761-1.889a.306.306,0,0,0,.245-.165l.919-1.78L29.6,13.431a.306.306,0,0,1-.3.2l-2.108-.1Z" fill="#ffc801"/>
+          <path id="Path_8658" data-name="Path 8658" d="M32.281,15.235a.116.116,0,0,0-.034.1h0a.116.116,0,0,1,.033-.1l1.668-1.627a.121.121,0,0,0,.038-.073l0,0a.11.11,0,0,1-.035.074Z" fill="#ffc801"/>
+          <path id="Path_8659" data-name="Path 8659" d="M28.239,17.759a.11.11,0,0,1-.048.007.106.106,0,0,0,.047,0l1.52-.8h0Z" fill="#ffc801"/>
+          <path id="Path_8660" data-name="Path 8660" d="M28.115,17.371a8.867,8.867,0,0,0,1.25-.524q-.552-.162-1.106-.322l-.191,1.113a.115.115,0,0,0,.012.075l.008.007a.114.114,0,0,1-.019-.085Z" fill="#ffc801"/>
+          <path id="Path_8661" data-name="Path 8661" d="M29.6,13.431l.756-2.027-.919,1.78a.306.306,0,0,1-.245.165l-2,.182,2.108.1A.306.306,0,0,0,29.6,13.431Z" fill="#ffd753"/>
+          <path id="Path_8662" data-name="Path 8662" d="M33.961,13.453l0-.007a.116.116,0,0,0-.073-.038l-.774-.112v0l.774.113A.114.114,0,0,1,33.961,13.453Z" fill="#f8b911"/>
+          <path id="Path_8663" data-name="Path 8663" d="M32.64,17.638a.115.115,0,0,1-.017.077l.007-.006a.126.126,0,0,0,.011-.074l-.394-2.3v0Z" fill="#f8b911"/>
+          <path id="Path_8664" data-name="Path 8664" d="M28.164,17.771a.128.128,0,0,0,.027,0,.1.1,0,0,1-.03,0Z" fill="#f8b911"/>
+          <path id="Path_8665" data-name="Path 8665" d="M29.365,16.847l.39.114.546-.287a.117.117,0,0,1,.109,0l2.062,1.085a.112.112,0,0,0,.084.007c.009,0,.014-.01.023-.014a.123.123,0,0,0,.044-.037.115.115,0,0,0,.017-.077l-.394-2.3v0h0a.116.116,0,0,1,.034-.1l1.668-1.627a.11.11,0,0,0,.035-.074.112.112,0,0,0-.021-.074l0-.007a.114.114,0,0,0-.077-.042L33.11,13.3A8.9,8.9,0,0,1,29.365,16.847Z" fill="#f8b911"/>
+          <path id="Path_8666" data-name="Path 8666" d="M29.755,16.961l-.39-.114a8.867,8.867,0,0,1-1.25.524l-.046.264a.114.114,0,0,0,.019.085s.008.006.012.01a.106.106,0,0,0,.061.039.1.1,0,0,0,.03,0,.11.11,0,0,0,.048-.007Z" fill="#f8b911"/>
+          <path id="Path_8667" data-name="Path 8667" d="M42.6,15.235a.116.116,0,0,0-.034.1h0a.116.116,0,0,1,.033-.1l1.668-1.627a.116.116,0,0,0,.038-.073l0,0a.11.11,0,0,1-.035.074Z" fill="#ffc801"/>
+          <path id="Path_8668" data-name="Path 8668" d="M40.734,16.674a.117.117,0,0,0-.109,0l-2.062,1.085a.11.11,0,0,1-.048.007.106.106,0,0,0,.047,0l2.062-1.085a.117.117,0,0,1,.109,0l2.062,1.085a.112.112,0,0,0,.074.011c.005,0,.007-.005.011-.007a.112.112,0,0,1-.084-.007Z" fill="#ffc801"/>
+          <path id="Path_8669" data-name="Path 8669" d="M38.753,15.238a.113.113,0,0,1,.033.1l-.394,2.3a.115.115,0,0,0,.012.075l.008.007a.114.114,0,0,1-.019-.085l.046-.264A8.907,8.907,0,0,0,43.434,13.3L41.9,13.075a.118.118,0,0,1-.087-.064l-1.031-2.09a.114.114,0,0,0-.052-.052.117.117,0,0,0-.157.052l-1.031,2.09a.115.115,0,0,1-.089.064l-2.306.336a.116.116,0,0,0-.065.2Zm.761-1.889a.306.306,0,0,0,.245-.165l.919-1.78-.756,2.027a.306.306,0,0,1-.3.2l-2.108-.1Z" fill="#ffc801"/>
+          <path id="Path_8670" data-name="Path 8670" d="M39.922,13.431l.756-2.027-.919,1.78a.306.306,0,0,1-.245.165l-2,.182,2.108.1A.306.306,0,0,0,39.922,13.431Z" fill="#ffd753"/>
+          <path id="Path_8671" data-name="Path 8671" d="M42.964,17.638a.115.115,0,0,1-.017.077l.007-.006a.126.126,0,0,0,.011-.074l-.394-2.3v0Z" fill="#f8b911"/>
+          <path id="Path_8672" data-name="Path 8672" d="M44.285,13.453l0-.007a.116.116,0,0,0-.073-.038l-.774-.112v0l.774.113A.114.114,0,0,1,44.285,13.453Z" fill="#f8b911"/>
+          <path id="Path_8673" data-name="Path 8673" d="M38.488,17.771a.128.128,0,0,0,.027,0,.1.1,0,0,1-.03,0Z" fill="#f8b911"/>
+          <path id="Path_8674" data-name="Path 8674" d="M38.439,17.371l-.046.264a.114.114,0,0,0,.019.085s.008.006.011.01a.112.112,0,0,0,.062.039.1.1,0,0,0,.03,0,.11.11,0,0,0,.048-.007l2.062-1.085a.117.117,0,0,1,.109,0L42.8,17.759a.112.112,0,0,0,.084.007c.009,0,.014-.01.022-.014a.11.11,0,0,0,.045-.037.115.115,0,0,0,.017-.077l-.394-2.3v0h0a.116.116,0,0,1,.034-.1l1.668-1.627a.11.11,0,0,0,.035-.074.112.112,0,0,0-.021-.074l0-.007a.114.114,0,0,0-.077-.042l-.774-.113A8.907,8.907,0,0,1,38.439,17.371Z" fill="#f8b911"/>
+          <path id="Path_8675" data-name="Path 8675" d="M52.927,15.235a.116.116,0,0,0-.034.1l.394,2.3a.1.1,0,0,1,0,.024c0-.007.006-.013,0-.021l-.394-2.3a.116.116,0,0,1,.034-.1L54.6,13.611a.121.121,0,0,0,.038-.073l0-.006a.115.115,0,0,1-.037.076Z" fill="#ffc801"/>
+          <path id="Path_8676" data-name="Path 8676" d="M51.056,16.674a.117.117,0,0,0-.109,0l-2.062,1.085a.124.124,0,0,1-.051.008.1.1,0,0,0,.052-.005l2.062-1.085a.117.117,0,0,1,.109,0l2.062,1.085a.112.112,0,0,0,.074.011c.005,0,.006-.005.011-.007a.117.117,0,0,1-.086-.007Z" fill="#ffc801"/>
+          <path id="Path_8677" data-name="Path 8677" d="M48.728,17.713l.005.005a.123.123,0,0,1-.016-.074A.116.116,0,0,0,48.728,17.713Z" fill="#ffc801"/>
+          <path id="Path_8678" data-name="Path 8678" d="M49.078,15.238a.115.115,0,0,1,.032.1l-.348,2.033A8.912,8.912,0,0,0,53.756,13.3l-1.531-.223a.118.118,0,0,1-.087-.064l-1.031-2.09a.115.115,0,0,0-.05-.05.117.117,0,0,0-.158.05l-1.031,2.09a.115.115,0,0,1-.089.064l-2.306.336a.116.116,0,0,0-.065.2Zm.76-1.889a.306.306,0,0,0,.245-.165L51,11.4l-.756,2.027a.306.306,0,0,1-.3.2l-2.108-.1Z" fill="#ffc801"/>
+          <path id="Path_8679" data-name="Path 8679" d="M50.246,13.431,51,11.4l-.919,1.78a.306.306,0,0,1-.245.165l-2,.182,2.108.1A.306.306,0,0,0,50.246,13.431Z" fill="#ffd753"/>
+          <path id="Path_8680" data-name="Path 8680" d="M53.276,17.709a.105.105,0,0,0,.007-.05.11.11,0,0,1-.012.054Z" fill="#f8b911"/>
+          <path id="Path_8681" data-name="Path 8681" d="M48.81,17.771c.008,0,.016,0,.024,0a.123.123,0,0,1-.027,0Z" fill="#f8b911"/>
+          <path id="Path_8682" data-name="Path 8682" d="M54.606,13.452l0-.006a.116.116,0,0,0-.073-.038l-.774-.112v0l.776.113A.111.111,0,0,1,54.606,13.452Z" fill="#f8b911"/>
+          <path id="Path_8683" data-name="Path 8683" d="M48.762,17.371h0l-.046.264,0,.009v-.006Z" fill="#f8b911"/>
+          <path id="Path_8684" data-name="Path 8684" d="M48.762,17.371l-.046.267v.006a.123.123,0,0,0,.016.074c0,.008.014.011.022.018a.108.108,0,0,0,.052.033.123.123,0,0,0,.027,0,.124.124,0,0,0,.051-.008l2.062-1.085a.117.117,0,0,1,.109,0l2.062,1.085a.117.117,0,0,0,.086.007c.006,0,.009-.006.015-.009a.108.108,0,0,0,.052-.044.11.11,0,0,0,.012-.054.1.1,0,0,0,0-.024l-.394-2.3a.116.116,0,0,1,.034-.1L54.6,13.608a.115.115,0,0,0,.037-.076.122.122,0,0,0-.012-.04.091.091,0,0,0-.014-.04.111.111,0,0,0-.074-.041l-.776-.113A8.912,8.912,0,0,1,48.762,17.371Z" fill="#f8b911"/>
+          <path id="Path_8685" data-name="Path 8685" d="M59.4,15.234a.116.116,0,0,1,.034.1l-.35,2.036A8.908,8.908,0,0,0,64.082,13.3l-1.533-.223a.118.118,0,0,1-.087-.064l-1.031-2.09a.113.113,0,0,0-.045-.047.117.117,0,0,0-.16.043l-1.031,2.09a.115.115,0,0,1-.089.064l-2.306.336a.116.116,0,0,0-.065.2Zm.757-1.885a.306.306,0,0,0,.245-.165l.919-1.78-.756,2.027a.306.306,0,0,1-.3.2l-2.108-.1Z" fill="#ffc801"/>
+          <path id="Path_8686" data-name="Path 8686" d="M59.056,17.71h0a.076.076,0,0,1-.006-.026A.109.109,0,0,0,59.056,17.71Z" fill="#ffc801"/>
+          <path id="Path_8687" data-name="Path 8687" d="M59.213,17.758h0l2.06-1.084h0Z" fill="#ffc801"/>
+          <path id="Path_8688" data-name="Path 8688" d="M63.253,15.235a.116.116,0,0,0-.034.1l.394,2.3a.132.132,0,0,1-.006.039c0-.013.012-.025.009-.04l-.394-2.3a.116.116,0,0,1,.034-.1l1.664-1.623a.121.121,0,0,0,.038-.073l0,0a.114.114,0,0,1-.035.074Z" fill="#ffc801"/>
+          <path id="Path_8689" data-name="Path 8689" d="M63.521,17.769l.005,0a.117.117,0,0,1-.061-.005A.108.108,0,0,0,63.521,17.769Z" fill="#ffc801"/>
+          <path id="Path_8690" data-name="Path 8690" d="M60.57,13.431l.756-2.027-.919,1.78a.306.306,0,0,1-.245.165l-2,.182,2.108.1A.306.306,0,0,0,60.57,13.431Z" fill="#ffd753"/>
+          <path id="Path_8691" data-name="Path 8691" d="M59.135,17.771a.124.124,0,0,0,.076-.012h0a.115.115,0,0,1-.085.008Z" fill="#f8b911"/>
+          <path id="Path_8692" data-name="Path 8692" d="M59.089,17.37h0l-.046.264a.11.11,0,0,0,.011.05.114.114,0,0,1-.008-.051Z" fill="#f8b911"/>
+          <path id="Path_8693" data-name="Path 8693" d="M61.385,16.673a.117.117,0,0,0-.109,0h0a.121.121,0,0,1,.108,0l2.062,1.085c.007,0,.014,0,.021,0s-.012,0-.018,0Z" fill="#f8b911"/>
+          <path id="Path_8694" data-name="Path 8694" d="M64.933,13.453l0-.007a.116.116,0,0,0-.073-.038l-.774-.112v0l.774.113A.114.114,0,0,1,64.933,13.453Z" fill="#f8b911"/>
+          <path id="Path_8695" data-name="Path 8695" d="M63.6,17.709a.135.135,0,0,0,0-.035.143.143,0,0,1-.008.037Z" fill="#f8b911"/>
+          <path id="Path_8696" data-name="Path 8696" d="M59.089,17.37l-.045.264a.114.114,0,0,0,.008.051.076.076,0,0,0,.006.026.106.106,0,0,0,.053.044c.006,0,.01.009.017.011a.115.115,0,0,0,.085-.008l2.06-1.084h0a.117.117,0,0,1,.109,0l2.062,1.085c.006,0,.012,0,.018,0a.117.117,0,0,0,.061.005.31.31,0,0,0,.073-.055.143.143,0,0,0,.008-.037.132.132,0,0,0,.006-.039l-.394-2.3a.116.116,0,0,1,.034-.1l1.668-1.627a.114.114,0,0,0,.035-.074.108.108,0,0,0-.021-.075l0-.006a.114.114,0,0,0-.077-.042l-.774-.113A8.908,8.908,0,0,1,59.089,17.37Z" fill="#f8b911"/>
+          <path id="Path_8697" data-name="Path 8697" d="M59.29,22.7h5.059c-.2-.29-.624-.2-1.186-.312A20.564,20.564,0,0,0,59.29,22.7Z" fill="#fceada"/>
+          <path id="Path_8698" data-name="Path 8698" d="M58.574,22.752a1.787,1.787,0,0,1-.3-.055,1.809,1.809,0,0,1-1.356-1.781c0-.917-.185-1.836-.919-1.836s-.734,2.387-.734,2.387v2.2a1.753,1.753,0,0,0,1.117,1.478,8.428,8.428,0,0,0,4.206.722,16.794,16.794,0,0,0,1.777-.259c1.064-.236,1.958-.686,2.077-1.759a1.791,1.791,0,0,0-.1-1.156H59.29C59.006,22.728,58.75,22.752,58.574,22.752Z" fill="#fceada"/>
+          <path id="Path_8699" data-name="Path 8699" d="M24.71,24.863a10.782,10.782,0,0,0,.853-2.166c.433-1.528.542-3.031-.3-2.79a6.605,6.605,0,0,0-1.836,2.02s-2.844-.826-4.864.091a3.569,3.569,0,0,0-1.029.679,3.006,3.006,0,0,0-.714,2.533c0,.283.315.5.749.655a11.1,11.1,0,0,0,2.555.446s2.667.128,4.022-.858A1.922,1.922,0,0,0,24.71,24.863Z" fill="#fceada"/>
+          <path id="Path_8700" data-name="Path 8700" d="M294.578,8.5a.248.248,0,0,1-.025.18l-.012.018-.256.395,2.123,5.253a.78.78,0,0,1-.426,1.009l-7.588,3.074A.78.78,0,0,1,287.386,18l-2.126-5.246-.468-.108a.25.25,0,0,1,.112-.487l.155.036a.77.77,0,0,1,.448-.894h.005L293.1,8.225a.769.769,0,0,1,.94.324l.082-.127a.244.244,0,0,1,.447.051l-.005-.012a1.28,1.28,0,0,0-1.658-.7l-7.589,3.075a1.28,1.28,0,0,0-.7,1.658l2.306,5.692a1.271,1.271,0,0,0,1.658.7l7.589-3.074a1.281,1.281,0,0,0,.7-1.659Z" fill="#8db9ca"/>
+          <path id="Path_8701" data-name="Path 8701" d="M294.04,8.549l-3.218,4.967-5.763-1.323a.762.762,0,0,0,.021.114l.18.445,5.621,1.292a.259.259,0,0,0,.056.006.249.249,0,0,0,.2-.115l3.144-4.846-.177-.438A.7.7,0,0,0,294.04,8.549Z" fill="#8db9ca"/>
+          <path id="Path_8702" data-name="Path 8702" d="M285.059,12.193l-.155-.036a.25.25,0,0,0-.112.487l.468.108-.18-.445A.762.762,0,0,1,285.059,12.193Z" fill="#8db9ca"/>
+          <path id="Path_8703" data-name="Path 8703" d="M294.122,8.422l-.082.127a.7.7,0,0,1,.068.1l.177.438.256-.395.012-.018a.248.248,0,0,0,.025-.18.16.16,0,0,0-.009-.023.244.244,0,0,0-.447-.051Z" fill="#8db9ca"/>
+        </g>
+        <g id="Group_3106" data-name="Group 3106">
+          <path id="Path_8704" data-name="Path 8704" d="M215.724,40.114V36.708a2.493,2.493,0,0,0,.983-.673l1.36-1.52a2.5,2.5,0,0,0-.361-3.666,2.514,2.514,0,0,0,.138-.822v-1.92a2.5,2.5,0,0,0-2.5-2.5H210.4a2.5,2.5,0,0,0-2.341-1.621h-2.041a2.5,2.5,0,0,0-2.34,1.621H198.74a2.5,2.5,0,0,0-.964.194,2.492,2.492,0,0,0-2.112-1.174h-10.8a2.484,2.484,0,0,0-1.39.423,2.5,2.5,0,0,0-2.707-.995l-1.981.54a2.5,2.5,0,0,0-1.576,1.3,2.475,2.475,0,0,0-1.523-.531h-5.009l-.015-.031a2.5,2.5,0,0,0-2.678-1.438l-2.22.361a2.5,2.5,0,0,0-1.7,1.108H159.3a2.489,2.489,0,0,0-2.161,1.265,2.5,2.5,0,0,0-2.315-1.565h-5.185a2.5,2.5,0,0,0-2.53-1.17l-2.261.361a2.5,2.5,0,0,0-1.476.809h-4.191a2.49,2.49,0,0,0-1.756.723,2.483,2.483,0,0,0-1.441-.463h-.5a2.5,2.5,0,0,0-2.2-1.32H131.3a2.5,2.5,0,0,0-1.94.923,2.5,2.5,0,0,0-1.941-.923h-1.98a2.5,2.5,0,0,0-2.205,1.32h-.476a2.494,2.494,0,0,0-.956.191c-.288-.243-.582-.484-.886-.722a2.5,2.5,0,0,0-3.265.163l-1.341,1.28A2.5,2.5,0,0,0,116.481,30c.145.115.27.224.407.337l-.736.7a2.5,2.5,0,0,0,.254,3.825,24.806,24.806,0,0,1,2.075,1.673,55.712,55.712,0,0,1-2.608,6.316,2.5,2.5,0,0,0,1.205,3.368l1.92.88a2.428,2.428,0,0,0,2.528-.276,2.479,2.479,0,0,0,1.635.623h1.86a2.49,2.49,0,0,0,1.838-.805,2.485,2.485,0,0,0,1.583.566h1.841a2.581,2.581,0,0,0,.485-.047A2.5,2.5,0,0,0,132,47.49h1.781a4.2,4.2,0,0,0,3.433-1.57l1.046.663a2.471,2.471,0,0,0,3.243-.52,5.163,5.163,0,0,0,3.436,1.148h4.881a5.77,5.77,0,0,0,3.12-.771c.08-.05.145-.114.219-.17a2.484,2.484,0,0,0,.851.379A2.5,2.5,0,0,0,156,46.258l.511-.359,1.058.951a2.5,2.5,0,0,0,1.671.64,2.458,2.458,0,0,0,.459-.042,2.5,2.5,0,0,0,.527-.163,2.5,2.5,0,0,0,1.354.4,2.437,2.437,0,0,0,.415-.034,31.377,31.377,0,0,0,6.5-1.774,28.934,28.934,0,0,0,6.417,1.774,2.486,2.486,0,0,0,2.229-.755,2.464,2.464,0,0,0,1.217.329h1.921a2.492,2.492,0,0,0,1.921-.9h1.071l.577.519a2.5,2.5,0,0,0,3.969-.874c.183-.427.343-.88.492-1.345h.943l.225.892A2.5,2.5,0,0,0,191.9,47.41h1.781a4.579,4.579,0,0,0,3.012-1.029,2.482,2.482,0,0,0,1.644.63h17.344a2.5,2.5,0,0,0,2.5-2.5v-1.9A2.5,2.5,0,0,0,215.724,40.114ZM176.1,35.886v.187c-.043-.062-.1-.116-.143-.173C176.005,35.9,176.054,35.894,176.1,35.886Zm-19.3-1.447a29.952,29.952,0,0,1-.356,4.456c-.056-.071-.12-.148-.178-.221V34.618A2.5,2.5,0,0,0,156.8,34.439Zm19.062,6.312v.024l-.018,0Zm22.3-.623V36.991c.066.02.13.048.2.063V40.11h-.021C198.28,40.11,198.223,40.124,198.164,40.128Z" fill="#fff"/>
+          <g id="Group_3897" data-name="Group 3897">
+            <path id="Path_8705" data-name="Path 8705" d="M133.784,26.507H131.8v1.32h-3.881v-1.32h-1.98v1.32h-2.681v1.86h2.681v2.721h3v.96h-5.281V44.95h1.86V41.97l.521.98a8.632,8.632,0,0,0,1.38-2.961,6.046,6.046,0,0,0,1.08,2.781l.44-.6v2.541h1.841V41.25l.68,1.3a8.009,8.009,0,0,0,1.24-2.7,5.7,5.7,0,0,0,1.041,2.58l.5-.68v.96a.478.478,0,0,1-.54.54l-1.681-.08.48,1.82h1.781a1.652,1.652,0,0,0,1.84-1.88V33.368h-5.341v-.96h3V29.687h2.7v-1.86h-2.7ZM128.942,41.03a8.9,8.9,0,0,1-.9-4.481h-2.08v1.38h.82a7.472,7.472,0,0,1-1.261,3.341v-6.1h3.421Zm5.3-5.861V40.79a7.805,7.805,0,0,1-.921-4.241h-2.06v1.38h.78a6.511,6.511,0,0,1-1.26,3.121V35.169Zm-2.441-4.4h-3.881V29.687H131.8Z" fill="#68737a"/>
+            <path id="Path_8706" data-name="Path 8706" d="M121.8,35.829l1.36-1.36a24.457,24.457,0,0,0-3.4-2.942l-1.38,1.321A20.889,20.889,0,0,1,121.8,35.829Z" fill="#68737a"/>
+            <path id="Path_8707" data-name="Path 8707" d="M118.62,43.95l1.921.881a75.245,75.245,0,0,0,2.76-7.2l-1.8-.72A57.752,57.752,0,0,1,118.62,43.95Z" fill="#68737a"/>
+            <path id="Path_8708" data-name="Path 8708" d="M121.761,31.128l1.34-1.36a23.625,23.625,0,0,0-3.221-3l-1.34,1.28A20.077,20.077,0,0,1,121.761,31.128Z" fill="#68737a"/>
+            <path id="Path_8709" data-name="Path 8709" d="M156.264,30.367h-4.581l.52-1.04h3.121v-1.76h-6.862c-.16-.44-.3-.84-.46-1.2l-2.26.361c.14.259.28.54.42.84h-6.481v1.76h3.06l.42,1.04H138.74v1.8h17.524Zm-6.762,0h-4.16l-.421-1.04h5.1Z" fill="#68737a"/>
+            <path id="Path_8710" data-name="Path 8710" d="M138.3,43.33l1.8,1.141a13.633,13.633,0,0,0,1.92-4.1l-2.041-.421A9.709,9.709,0,0,1,138.3,43.33Z" fill="#68737a"/>
+            <path id="Path_8711" data-name="Path 8711" d="M154.264,32.868H140.741v6.361h7.321l-1.74,1.081a18.182,18.182,0,0,1,1.8,2.16l1.741-1.22a15.213,15.213,0,0,0-1.741-2.021h6.142Zm-2.041,4.8h-9.442v-.88h9.442Zm0-2.36h-9.442v-.861h9.442Z" fill="#68737a"/>
+            <path id="Path_8712" data-name="Path 8712" d="M150.643,42.63a.918.918,0,0,1-.72.24h-3.881c-.6,0-.9-.26-.9-.74V40.05h-2.121v2.54c0,1.4.8,2.121,2.421,2.121h4.881a3.412,3.412,0,0,0,1.78-.381q.66-.419.9-2.52l-1.98-.661C150.963,41.97,150.843,42.47,150.643,42.63Z" fill="#68737a"/>
+            <path id="Path_8713" data-name="Path 8713" d="M152.623,40.67a29.1,29.1,0,0,1,2.441,3.541l1.74-1.221a29.3,29.3,0,0,0-2.5-3.381Z" fill="#68737a"/>
+            <path id="Path_8714" data-name="Path 8714" d="M174.543,39.029v-1.54H162.621V39.27H164a13.685,13.685,0,0,0,2.941,2.7,27.065,27.065,0,0,1-5.761,1.36l.9,1.86a27.464,27.464,0,0,0,6.941-2.04,24.787,24.787,0,0,0,6.8,2.04l.9-1.839a26.807,26.807,0,0,1-5.682-1.3A15.1,15.1,0,0,0,174.543,39.029Zm-5.66,2.08a11.381,11.381,0,0,1-2.6-1.839H171.7A16.776,16.776,0,0,1,168.883,41.109Z" fill="#68737a"/>
+            <path id="Path_8715" data-name="Path 8715" d="M161.881,33.428h2.841v3.081h8.5V33.428h2.961v-1.92h-2.961V30.247H171.2v1.261h-4.441v-1.24h-2.04v1.24h-2.841V29.827h14.3v-1.96H169.5c-.2-.56-.42-1.06-.619-1.5l-2.221.361a10.6,10.6,0,0,1,.66,1.14H159.8v6.5a22.55,22.55,0,0,1-1.64,9.2l1.58,1.42c1.361-2.68,2.061-6.22,2.141-10.622Zm4.881,0H171.2v1.36h-4.441Z" fill="#68737a"/>
+            <path id="Path_8716" data-name="Path 8716" d="M178.86,44.73h1.921v-.9h3.52V37.649H178.86Zm1.921-5.361H182.4v2.7h-1.619Z" fill="#68737a"/>
+            <path id="Path_8717" data-name="Path 8717" d="M185.361,37.509a17.657,17.657,0,0,1-.939,6.042l1.6,1.439a19.907,19.907,0,0,0,1.282-7.621V29.007h6.881v13.3c0,.52-.2.8-.6.8-.521,0-1.061-.04-1.661-.1l.48,1.9h1.781c1.32,0,1.98-.64,1.98-1.9V27.127h-10.8Z" fill="#68737a"/>
+            <path id="Path_8718" data-name="Path 8718" d="M188.082,36.789V42.13H193.4V36.789h-1.719v-1.28h2.04V33.788h-2.04v-1.38h2.04V30.647h-2.04v-1.14h-1.841v1.14H187.8v1.761h2.04v1.38H187.8v1.721h2.04v1.28Zm3.641,1.641v2.04h-1.94V38.43Z" fill="#68737a"/>
+            <path id="Path_8719" data-name="Path 8719" d="M184.6,28.848h-1.9a20.167,20.167,0,0,0-.78-2.381l-1.981.54c.281.6.54,1.221.781,1.841h-2.3v1.88H184.6Z" fill="#68737a"/>
+            <rect id="Rectangle_4163" data-name="Rectangle 4163" width="4.94" height="1.761" transform="translate(179.101 34.668)" fill="#68737a"/>
+            <rect id="Rectangle_4164" data-name="Rectangle 4164" width="4.94" height="1.761" transform="translate(179.101 31.888)" fill="#68737a"/>
+            <path id="Path_8720" data-name="Path 8720" d="M199.381,34.608a17.415,17.415,0,0,0,7.14-4.421v3.721h-5.16V41.57h12.363V33.908h-5.162v-2.1c2.3.74,4.561,1.6,6.782,2.56l1.36-1.52a81.431,81.431,0,0,0-8.142-2.481v-.34h7.282v-1.92h-7.282V26.486h-2.041v1.621H199.24v1.92h5.5a20.237,20.237,0,0,1-6.5,2.741Zm12.3,5.121H203.4v-1.08h8.283Zm0-3.98v1.14H203.4v-1.14Z" fill="#68737a"/>
+            <rect id="Rectangle_4165" data-name="Rectangle 4165" width="17.344" height="1.9" transform="translate(198.84 42.61)" fill="#68737a"/>
+          </g>
+        </g>
+        <g id="Component_1_1235" data-name="Component 1 1235">
+          <g id="Group_2063" data-name="Group 2063">
+            <g id="Rectangle_7" data-name="Rectangle 7">
+              <path id="Path_8721" data-name="Path 8721" d="M251,14.95h42a19,19,0,0,1,19,19h0a19,19,0,0,1-19,19H251a19,19,0,0,1-19-19h0A19,19,0,0,1,251,14.95Z" fill="#fff"/>
+              <path id="Path_8722" data-name="Path 8722" d="M293,52.95H251a19,19,0,0,1,0-38h42a19,19,0,0,1,0,38Zm-42-36a17,17,0,1,0,0,34h42a17,17,0,0,0,0-34Z" fill="#009cbd"/>
+            </g>
+            <g id="憛怠神" style="isolation: isolate">
+              <g id="Group_3898" data-name="Group 3898" style="isolation: isolate">
+                <path id="Path_8723" data-name="Path 8723" d="M263.922,25.787v-1.32h2.021v1.32h4.7v1.78h-4.7v.88h3.7v9.122h1.7V39.41H267.6a22.193,22.193,0,0,1,3.541,2.32l-1.261,1.46a22.288,22.288,0,0,0-3.8-2.76l1.1-1.02h-4.5l1.18,1.04a16.935,16.935,0,0,1-4.28,2.74l-1.221-1.56a17.169,17.169,0,0,0,3.9-2.22h-3.741v-1.4a42.137,42.137,0,0,1-5.3,1.679L252.7,37.67a21.682,21.682,0,0,0,2.22-.481V31.168h-2v-1.96h2v-4.6h2.021v4.6h1.821v1.96h-1.821v5.421c.6-.22,1.18-.46,1.741-.7v1.68h1.56V28.447h3.68v-.88h-4.7v-1.78Zm3.762,5.061v-.8H262.2v.8Zm0,2.22v-.8H262.2v.8Zm0,2.221v-.8H262.2v.8Zm0,2.28v-.86H262.2v.86Z" fill="#009cbd"/>
+                <path id="Path_8724" data-name="Path 8724" d="M284.062,41.17c.721.04,1.42.06,2.081.06a1.435,1.435,0,0,0,1.42-.66,8.53,8.53,0,0,0,.46-2.94h-10.7c-.341.26-.68.5-1,.72l1.421.379a20.725,20.725,0,0,1-1.24,3.942l-1.88-.681a15.5,15.5,0,0,0,1.3-3.381c-.46.281-.941.561-1.421.821l-1.26-1.54a15.1,15.1,0,0,0,4.281-2.8h-1.74v-6.3a18.043,18.043,0,0,0,4.961-.78l.88,1.54a22.576,22.576,0,0,1-3.981.82v.72h3.582v1.56h-3.582v.8h8.722v-.78h-3.3v-1.56h3.3v-.82h-3.6v-1.62h5.482v6.421H279.9c-.24.28-.48.56-.72.82h10.862c-.06,1.721-.16,3.1-.3,4.181a4.687,4.687,0,0,1-.84,2.221,2.732,2.732,0,0,1-1.861.66h-2.481Zm6.461-11.382h-1.96v-2.06h-13.1v2.08H273.5V25.887h7.222a11.351,11.351,0,0,0-.7-1.1l2.161-.36a14.107,14.107,0,0,1,.68,1.46h7.661ZM281.1,41.811l-1.86.439a30.087,30.087,0,0,0-.6-3.42l1.7-.381C280.622,39.49,280.861,40.61,281.1,41.811Zm3.121-.8-1.781.421a15.743,15.743,0,0,0-.84-2.822l1.68-.339A21.867,21.867,0,0,1,284.223,41.01Zm2.961-.86-1.58.68a17.587,17.587,0,0,0-.961-2.32l1.541-.641A17.166,17.166,0,0,1,287.184,40.15Z" fill="#009cbd"/>
+              </g>
+            </g>
+          </g>
+        </g>
+        <g id="Group_3900" data-name="Group 3900">
+          <g id="Group_3899" data-name="Group 3899">
+            <path id="Icon_awesome-hand-pointer-3" data-name="Icon awesome-hand-pointer-3" d="M318.93,44.572V49.62a2.115,2.115,0,0,1-.056.482l-1.683,7.148a2.1,2.1,0,0,1-2.048,1.622H304.2a2.1,2.1,0,0,1-1.7-.866L295.77,48.75a2.1,2.1,0,0,1,3.4-2.475l1.664,2.289V34.05a2.1,2.1,0,0,1,4.207,0V44.572h.429v-2.1a2.1,2.1,0,1,1,4.207,0v2.1h.421V43.309a2.1,2.1,0,0,1,4.207,0h0v1.262h.421a2.1,2.1,0,0,1,4.207,0Z" fill="#f8f9fa"/>
+            <path id="Path_8725" data-name="Path 8725" d="M315.145,59.872H304.2a3.11,3.11,0,0,1-2.509-1.278l-6.735-9.255a3.1,3.1,0,0,1,4.873-3.836V34.05a3.1,3.1,0,1,1,6.207,0v5.723a3.1,3.1,0,0,1,4.207,1.125,3.1,3.1,0,0,1,4.786,1.143,3.1,3.1,0,0,1,4.9,2.53l0,5.049a3.132,3.132,0,0,1-.082.711l-1.683,7.148A3.089,3.089,0,0,1,315.145,59.872ZM297.468,46.409a1.094,1.094,0,0,0-.647.212,1.106,1.106,0,0,0-.243,1.541l6.735,9.255a1.108,1.108,0,0,0,.892.455h10.939a1.1,1.1,0,0,0,1.074-.85l1.682-7.15a1.053,1.053,0,0,0,.03-.252V44.49a1.1,1.1,0,0,0-2.2.081v1H313.3V43.309a1.1,1.1,0,1,0-2.207,0v2.263h-2.421v-3.1a1.1,1.1,0,1,0-2.207,0v3.1h-2.429V34.05a1.1,1.1,0,1,0-2.207,0V51.641l-3.473-4.778a1.1,1.1,0,0,0-.719-.44A1.154,1.154,0,0,0,297.468,46.409Z" fill="#20375a"/>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g id="Group_3106-2" data-name="Group 3106-2">
+      <path id="Path_8726" data-name="Path 8726" d="M215.724,40.11v-3.4a2.493,2.493,0,0,0,.983-.673l1.36-1.52a2.5,2.5,0,0,0-.361-3.666,2.514,2.514,0,0,0,.138-.822v-1.92a2.5,2.5,0,0,0-2.5-2.5H210.4a2.5,2.5,0,0,0-2.341-1.621h-2.041a2.5,2.5,0,0,0-2.34,1.621H198.74a2.5,2.5,0,0,0-.964.194,2.492,2.492,0,0,0-2.112-1.174h-10.8a2.493,2.493,0,0,0-1.383.417,2.5,2.5,0,0,0-2.714-.989l-1.981.54a2.5,2.5,0,0,0-1.576,1.3,2.475,2.475,0,0,0-1.523-.531h-5.009l-.015-.031a2.5,2.5,0,0,0-2.678-1.438l-2.22.361a2.5,2.5,0,0,0-1.7,1.108H159.3a2.489,2.489,0,0,0-2.161,1.265,2.5,2.5,0,0,0-2.315-1.565h-5.185a2.5,2.5,0,0,0-2.53-1.17l-2.261.361a2.5,2.5,0,0,0-1.476.809h-4.191a2.49,2.49,0,0,0-1.756.723,2.483,2.483,0,0,0-1.441-.463h-.5a2.5,2.5,0,0,0-2.2-1.32H131.3a2.5,2.5,0,0,0-1.94.923,2.5,2.5,0,0,0-1.941-.923h-1.98a2.5,2.5,0,0,0-2.205,1.32h-.476a2.506,2.506,0,0,0-.955.189q-.431-.365-.887-.72a2.5,2.5,0,0,0-3.265.163l-1.341,1.28A2.5,2.5,0,0,0,116.481,30q.211.17.411.333l-.74.707a2.5,2.5,0,0,0,.254,3.825,25.583,25.583,0,0,1,2.082,1.669,55.715,55.715,0,0,1-2.615,6.32,2.5,2.5,0,0,0,1.205,3.368l1.92.88a2.5,2.5,0,0,0,1.924.067,2.433,2.433,0,0,0,.6-.328,2.493,2.493,0,0,0,1.635.608h1.86a2.49,2.49,0,0,0,1.838-.805,2.485,2.485,0,0,0,1.583.566h1.841a2.581,2.581,0,0,0,.485-.047A2.5,2.5,0,0,0,132,47.49h1.781a4.2,4.2,0,0,0,3.433-1.57l1.046.663a2.5,2.5,0,0,0,3.246-.5,5.192,5.192,0,0,0,3.433,1.125h4.881a5.77,5.77,0,0,0,3.12-.771c.078-.048.153-.1.224-.155A2.507,2.507,0,0,0,156,46.258l.511-.359,1.058.951a2.5,2.5,0,0,0,2.13.6,2.54,2.54,0,0,0,.524-.159,2.49,2.49,0,0,0,1.357.4,2.437,2.437,0,0,0,.415-.034,31.377,31.377,0,0,0,6.5-1.774,28.949,28.949,0,0,0,6.417,1.774,2.486,2.486,0,0,0,2.229-.755,2.464,2.464,0,0,0,1.217.329h1.921a2.492,2.492,0,0,0,1.921-.9h1.071l.577.519a2.5,2.5,0,0,0,3.969-.874q.276-.643.5-1.345h.936l.225.892A2.5,2.5,0,0,0,191.9,47.41h1.781a4.579,4.579,0,0,0,3.012-1.029,2.482,2.482,0,0,0,1.644.63h17.344a2.5,2.5,0,0,0,2.5-2.5v-1.9A2.5,2.5,0,0,0,215.724,40.11Zm-39.864.665-.018,0,.018-.021Zm.241-4.691c-.04-.058-.075-.119-.12-.174.041-.005.079-.019.12-.025Zm-19.837-1.466a2.438,2.438,0,0,0,.534-.182,29.86,29.86,0,0,1-.356,4.459c-.061-.077-.115-.148-.178-.227Zm41.9,5.51V36.991c.066.02.13.048.2.063V40.11h-.021C198.28,40.11,198.223,40.124,198.164,40.128Z" fill="#fff"/>
+      <g id="皛踵�漲隤踵-4" style="isolation: isolate">
+        <g id="Group_3901" data-name="Group 3901" style="isolation: isolate">
+          <path id="Path_8727" data-name="Path 8727" d="M123.161,34.469l-1.36,1.36a20.889,20.889,0,0,0-3.421-2.981l1.38-1.321A24.457,24.457,0,0,1,123.161,34.469Zm-.06-4.7-1.34,1.36a20.077,20.077,0,0,0-3.221-3.081l1.34-1.28A23.625,23.625,0,0,1,123.1,29.768Zm.2,7.861a75.245,75.245,0,0,1-2.76,7.2l-1.921-.881a57.752,57.752,0,0,0,2.881-7.041Zm2.641-9.8v-1.32h1.98v1.32H131.8v-1.32h1.981v1.32h2.7v1.861h-2.7v2.72h-3v.96h5.341V43.11a1.652,1.652,0,0,1-1.84,1.88H132.5l-.48-1.82,1.681.08a.478.478,0,0,0,.54-.54v-.96l-.5.68a5.7,5.7,0,0,1-1.041-2.58,8.009,8.009,0,0,1-1.24,2.7l-.68-1.3v3.461h-1.841V42.17l-.44.6a6.055,6.055,0,0,1-1.08-2.782,8.632,8.632,0,0,1-1.38,2.961l-.521-.98v2.98h-1.86V33.368h5.281v-.96h-3v-2.72h-2.681V27.827Zm.84,10.1h-.82v-1.38h2.08a8.9,8.9,0,0,0,.9,4.481V35.169h-3.421v6.1A7.472,7.472,0,0,0,126.782,37.929Zm1.14-7.161H131.8v-1.08h-3.881Zm4.121,7.161h-.78v-1.38h2.06a7.805,7.805,0,0,0,.921,4.241V35.169h-3.461V41.05A6.511,6.511,0,0,0,132.043,37.929Z" fill="#68737a"/>
+          <path id="Path_8728" data-name="Path 8728" d="M142.021,40.37a13.633,13.633,0,0,1-1.92,4.1l-1.8-1.141a9.7,9.7,0,0,0,1.68-3.381Zm-2.34-11.043v-1.76h6.481c-.14-.3-.28-.581-.42-.84l2.26-.361c.16.361.3.761.46,1.2h6.862v1.76H152.2l-.52,1.04h4.581v1.8H138.74v-1.8h4.421l-.42-1.04Zm14.583,3.541v6.361h-6.142a15.213,15.213,0,0,1,1.741,2.021l-1.741,1.22a18.182,18.182,0,0,0-1.8-2.16l1.74-1.081h-7.321V32.868Zm-2.041,2.441v-.861h-9.442v.861Zm0,1.48h-9.442v.88h9.442Zm-6.781,7.922c-1.621,0-2.421-.721-2.421-2.121V40.05h2.121v2.08c0,.48.3.74.9.74h3.881a.918.918,0,0,0,.72-.24c.2-.16.32-.66.38-1.481l1.98.661q-.24,2.1-.9,2.52a3.412,3.412,0,0,1-1.78.381Zm4.06-14.344.52-1.04h-5.1l.421,1.04Zm7.3,12.623-1.74,1.221a29.1,29.1,0,0,0-2.441-3.541l1.681-1.061A29.3,29.3,0,0,1,156.8,42.99Z" fill="#68737a"/>
+          <path id="Path_8729" data-name="Path 8729" d="M161.881,34.368c-.08,4.4-.78,7.942-2.141,10.622l-1.58-1.42a22.55,22.55,0,0,0,1.64-9.2v-6.5h7.522a10.6,10.6,0,0,0-.66-1.14l2.221-.361c.2.441.42.941.619,1.5h6.682v1.96h-14.3v1.681h2.841v-1.24h2.04v1.24H171.2V30.247h2.02v1.261h2.961v1.92h-2.961v3.081h-8.5V33.428h-2.841Zm12.662,3.121v1.54a15.1,15.1,0,0,1-3.5,3.021,26.807,26.807,0,0,0,5.682,1.3l-.9,1.839a24.787,24.787,0,0,1-6.8-2.04,27.464,27.464,0,0,1-6.941,2.04l-.9-1.86a27.065,27.065,0,0,0,5.761-1.36A13.685,13.685,0,0,1,164,39.27h-1.38V37.489Zm-5.66,3.62a16.776,16.776,0,0,0,2.82-1.839h-5.421A11.381,11.381,0,0,0,168.883,41.109Zm-2.121-6.321H171.2v-1.36h-4.441Z" fill="#68737a"/>
+          <path id="Path_8730" data-name="Path 8730" d="M180.721,28.848c-.241-.62-.5-1.242-.781-1.841l1.981-.54a20.167,20.167,0,0,1,.78,2.381h1.9v1.88H178.42v-1.88ZM184.3,43.83h-3.52v.9H178.86V37.649H184.3Zm-.26-11.942v1.76H179.1v-1.76Zm0,2.78v1.761H179.1V34.668Zm-1.641,7.4v-2.7h-1.619v2.7Zm13.764.94c0,1.261-.66,1.9-1.98,1.9H192.4l-.48-1.9c.6.06,1.14.1,1.661.1.4,0,.6-.28.6-.8v-13.3H187.3v8.362a19.907,19.907,0,0,1-1.282,7.621l-1.6-1.439a17.657,17.657,0,0,0,.939-6.042V27.127h10.8Zm-6.321-6.221v-1.28H187.8V33.788h2.04v-1.38H187.8V30.647h2.04v-1.14h1.841v1.14h2.04v1.761h-2.04v1.38h2.04v1.721h-2.04v1.28H193.4V42.13h-5.321V36.789Zm1.88,1.641h-1.94v2.04h1.94Z" fill="#68737a"/>
+          <path id="Path_8731" data-name="Path 8731" d="M206.521,33.908v-3.72a17.425,17.425,0,0,1-7.14,4.42l-1.141-1.84a20.237,20.237,0,0,0,6.5-2.741h-5.5v-1.92h7.281V26.486h2.041v1.621h7.282v1.92h-7.282v.34a81.431,81.431,0,0,1,8.142,2.481l-1.36,1.52c-2.221-.96-4.481-1.82-6.782-2.56v2.1h5.162V41.57H201.361V33.908Zm9.663,8.7v1.9H198.84v-1.9Zm-4.5-5.721v-1.14H203.4v1.14Zm0,1.76H203.4v1.08h8.283Z" fill="#68737a"/>
+        </g>
+      </g>
+    </g>
+    <g id="Component_1_1236" data-name="Component 1 1236">
+      <g id="Group_2063-2" data-name="Group 2063-2">
+        <g id="Rectangle_7-2" data-name="Rectangle 7-2">
+          <path id="Path_8732" data-name="Path 8732" d="M251,14.95h42a19,19,0,0,1,19,19h0a19,19,0,0,1-19,19H251a19,19,0,0,1-19-19h0A19,19,0,0,1,251,14.95Z" fill="#fff"/>
+          <path id="Path_8733" data-name="Path 8733" d="M293,52.95H251a19,19,0,0,1,0-38h42a19,19,0,0,1,0,38Zm-42-36a17,17,0,1,0,0,34h42a17,17,0,0,0,0-34Z" fill="#009cbd"/>
+        </g>
+        <g id="憛怠神-2" style="isolation: isolate">
+          <g id="Group_3902" data-name="Group 3902" style="isolation: isolate">
+            <path id="Path_8734" data-name="Path 8734" d="M263.922,25.787v-1.32h2.021v1.32h4.7v1.78h-4.7v.88h3.7v9.122h1.7V39.41H267.6a22.193,22.193,0,0,1,3.541,2.32l-1.261,1.46a22.288,22.288,0,0,0-3.8-2.76l1.1-1.02h-4.5l1.18,1.04a16.935,16.935,0,0,1-4.28,2.74l-1.221-1.56a17.169,17.169,0,0,0,3.9-2.22h-3.741v-1.4a42.137,42.137,0,0,1-5.3,1.679L252.7,37.67a21.682,21.682,0,0,0,2.22-.481V31.168h-2v-1.96h2v-4.6h2.021v4.6h1.821v1.96h-1.821v5.421c.6-.22,1.18-.46,1.741-.7v1.68h1.56V28.447h3.68v-.88h-4.7v-1.78Zm3.762,5.061v-.8H262.2v.8Zm0,2.22v-.8H262.2v.8Zm0,2.221v-.8H262.2v.8Zm0,2.28v-.86H262.2v.86Z" fill="#009cbd"/>
+            <path id="Path_8735" data-name="Path 8735" d="M284.062,41.17c.721.04,1.42.06,2.081.06a1.435,1.435,0,0,0,1.42-.66,8.53,8.53,0,0,0,.46-2.94h-10.7c-.341.26-.68.5-1,.72l1.421.379a20.725,20.725,0,0,1-1.24,3.942l-1.88-.681a15.5,15.5,0,0,0,1.3-3.381c-.46.281-.941.561-1.421.821l-1.26-1.54a15.1,15.1,0,0,0,4.281-2.8h-1.74v-6.3a18.043,18.043,0,0,0,4.961-.78l.88,1.54a22.576,22.576,0,0,1-3.981.82v.72h3.582v1.56h-3.582v.8h8.722v-.78h-3.3v-1.56h3.3v-.82h-3.6v-1.62h5.482v6.421H279.9c-.24.28-.48.56-.72.82h10.862c-.06,1.721-.16,3.1-.3,4.181a4.687,4.687,0,0,1-.84,2.221,2.732,2.732,0,0,1-1.861.66h-2.481Zm6.461-11.382h-1.96v-2.06h-13.1v2.08H273.5V25.887h7.222a11.351,11.351,0,0,0-.7-1.1l2.161-.36a14.107,14.107,0,0,1,.68,1.46h7.661ZM281.1,41.811l-1.86.439a30.087,30.087,0,0,0-.6-3.42l1.7-.381C280.622,39.49,280.861,40.61,281.1,41.811Zm3.121-.8-1.781.421a15.743,15.743,0,0,0-.84-2.822l1.68-.339A21.867,21.867,0,0,1,284.223,41.01Zm2.961-.86-1.58.68a17.587,17.587,0,0,0-.961-2.32l1.541-.641A17.166,17.166,0,0,1,287.184,40.15Z" fill="#009cbd"/>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g id="Group_3903" data-name="Group 3903">
+      <path id="Path_8736" data-name="Path 8736" d="M316.829,43.468a1.1,1.1,0,0,0-1.1,1.1v1H313.3V43.309a1.1,1.1,0,1,0-2.207,0v2.263h-2.421v-3.1a1.1,1.1,0,1,0-2.207,0v3.1h-2.429V34.05a1.1,1.1,0,1,0-2.207,0V51.641l-3.473-4.778a1.1,1.1,0,0,0-.719-.44,1.154,1.154,0,0,0-.174-.014,1.094,1.094,0,0,0-.647.212,1.106,1.106,0,0,0-.243,1.541l6.735,9.255a1.108,1.108,0,0,0,.892.455h10.939a1.1,1.1,0,0,0,1.074-.85l1.682-7.15a1.053,1.053,0,0,0,.03-.252V44.49A1.106,1.106,0,0,0,316.829,43.468Z" fill="#f8f9fa"/>
+      <path id="Path_8737" data-name="Path 8737" d="M316.829,41.468a3.092,3.092,0,0,0-1.8.573,3.1,3.1,0,0,0-4.786-1.143,3.1,3.1,0,0,0-4.207-1.125V34.05a3.1,3.1,0,1,0-6.207,0V45.5a3.1,3.1,0,0,0-4.873,3.836l6.735,9.255a3.11,3.11,0,0,0,2.509,1.278h10.94a3.089,3.089,0,0,0,3.02-2.393l1.683-7.148a3.132,3.132,0,0,0,.082-.711l0-5.049A3.107,3.107,0,0,0,316.829,41.468Zm-1.685,16.4H304.2a1.108,1.108,0,0,1-.892-.455l-6.735-9.255a1.106,1.106,0,0,1,.243-1.541,1.094,1.094,0,0,1,.647-.212,1.154,1.154,0,0,1,.174.014,1.1,1.1,0,0,1,.719.44l3.473,4.778V34.05a1.1,1.1,0,1,1,2.207,0V45.572h2.429v-3.1a1.1,1.1,0,1,1,2.207,0v3.1H311.1V43.309a1.1,1.1,0,1,1,2.207,0v2.262h2.421v-1a1.1,1.1,0,0,1,2.2-.081v5.13a1.053,1.053,0,0,1-.03.252l-1.682,7.15A1.1,1.1,0,0,1,315.144,57.872Z" fill="#20375a"/>
+    </g>
+  </g>
+</svg>
diff --git a/PAMapp/assets/images/satisfaction/satisfactionBtn_s_web.svg b/PAMapp/assets/images/satisfaction/satisfactionBtn_s_web.svg
new file mode 100644
index 0000000..5c12d34
--- /dev/null
+++ b/PAMapp/assets/images/satisfaction/satisfactionBtn_s_web.svg
@@ -0,0 +1,274 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="700" height="110" viewBox="0 0 700 110">
+  <defs>
+    <clipPath id="clip-path">
+      <path id="Path_7862" data-name="Path 7862" d="M822.069-1297.8v-91.667c0-5.062,4.677-9.166,10.448-9.166h679.1c5.77,0,10.448,4.1,10.448,9.166v91.667c0,5.062-4.678,9.167-10.448,9.167h-679.1C826.746-1288.632,822.069-1292.737,822.069-1297.8Z" fill="none"/>
+    </clipPath>
+    <clipPath id="clip-path-2">
+      <rect id="Rectangle_3891" data-name="Rectangle 3891" width="3.112" height="8.732" transform="translate(1390.038 -1320.255) rotate(-76.982)" fill="none"/>
+    </clipPath>
+    <clipPath id="clip-path-4">
+      <rect id="Rectangle_3893" data-name="Rectangle 3893" width="4.874" height="2.825" transform="matrix(0.174, -0.985, 0.985, 0.174, 1391.363, -1326.489)" fill="none"/>
+    </clipPath>
+    <clipPath id="clip-path-6">
+      <rect id="Rectangle_3895" data-name="Rectangle 3895" width="8.476" height="3.02" transform="translate(927.453 -1310.899) rotate(-10.018)" fill="none"/>
+    </clipPath>
+    <clipPath id="clip-path-8">
+      <rect id="Rectangle_3897" data-name="Rectangle 3897" width="4.036" height="4.731" transform="translate(928.187 -1320.171) rotate(-10.018)" fill="none"/>
+    </clipPath>
+  </defs>
+  <g id="satisfaction_s_web" data-name="satisfaction �� s �� web" transform="translate(-822.069 1398.632)">
+    <g id="Group_3243" data-name="Group 3243" clip-path="url(#clip-path)">
+      <g id="Group_3104" data-name="Group 3104">
+        <g id="Group_3103" data-name="Group 3103">
+          <rect id="Rectangle_3818" data-name="Rectangle 3818" width="710.448" height="140.522" transform="translate(817.89 -1402.812)" fill="#8db9ca"/>
+          <path id="Path_7126" data-name="Path 7126" d="M564.595-1350.771s-74.6,73.017,18.44,116.651c11.3,5.3,24.977,8.966,49.851-2.645s56.626,4.843,74.561,28.884,53.215,106.964,166.9,124.955,163.858-70.936,160.494-180.538S698.3-1435.787,564.595-1350.771Z" fill="#fff" opacity="0.5" style="isolation: isolate"/>
+          <path id="Path_7126-2" data-name="Path 7126-2" d="M1679.807-1350.669s61.159-59.866-15.12-95.641c-9.265-4.346-20.478-7.353-40.872,2.167s-46.423-3.97-61.131-23.681-43.63-87.7-136.837-102.446-134.348,58.16-131.589,148.028S1570.183-1280.966,1679.807-1350.669Z" fill="#fff" opacity="0.5" style="isolation: isolate"/>
+          <path id="Path_7834" data-name="Path 7834" d="M1375.234-1357.222a.717.717,0,0,1-.146-.016.668.668,0,0,1-.506-.5l-.662-2.66-2.573-.975a.672.672,0,0,1-.386-.867.678.678,0,0,1,.271-.329l2.339-1.448.131-2.745a.672.672,0,0,1,.7-.639.671.671,0,0,1,.4.158l2.089,1.776,2.654-.721a.661.661,0,0,1,.677.209.666.666,0,0,1,.121.7l-1.045,2.545,1.509,2.3a.672.672,0,0,1,.017.708.66.66,0,0,1-.627.326l-2.744-.209-1.722,2.144A.661.661,0,0,1,1375.234-1357.222Zm-2.8-4.864,2.046.775a.67.67,0,0,1,.418.47l.52,2.121,1.371-1.705a.667.667,0,0,1,.57-.249l2.182.161-1.2-1.83a.671.671,0,0,1-.058-.627l.836-2.025-2.111.577a.677.677,0,0,1-.61-.136l-1.672-1.412-.1,2.183a.677.677,0,0,1-.318.539Zm5.165,2.319,2.694-.683-6.415-.14,5.332-2.319-5.466-1.212,1.009-2.6" fill="#8db9ca"/>
+          <path id="Path_7835" data-name="Path 7835" d="M853.492-1303.236a.8.8,0,0,1-.177-.019.809.809,0,0,1-.617-.6l-.8-3.257-3.135-1.189a.817.817,0,0,1-.479-1.051.813.813,0,0,1,.339-.412l2.853-1.766.161-3.343a.816.816,0,0,1,.855-.777.813.813,0,0,1,.488.192l2.562,2.167,3.237-.882a.817.817,0,0,1,1,.574.817.817,0,0,1-.031.521l-1.27,3.107,1.839,2.806a.813.813,0,0,1,.019.861.8.8,0,0,1-.765.4l-3.344-.249-2.089,2.616A.815.815,0,0,1,853.492-1303.236Zm-3.412-5.932,2.495.944a.818.818,0,0,1,.5.575l.627,2.587,1.672-2.079a.8.8,0,0,1,.7-.3l2.66.2-1.463-2.232a.809.809,0,0,1-.073-.756l1.009-2.47-2.574.7a.815.815,0,0,1-.742-.165l-2.037-1.722-.13,2.664a.819.819,0,0,1-.386.657Zm6.3,2.823,3.285-.836-7.826-.171,6.505-2.83.769-2.77-6.958-1.543.752-.328" fill="#8db9ca"/>
+          <g id="Group_1862" data-name="Group 1862">
+            <g id="Ellipse_525" data-name="Ellipse 525">
+              <path id="Path_7838" data-name="Path 7838" d="M1012.775-1280.243q-.725.146-1.478.222a14.738,14.738,0,0,1-16.11-13.223,14.738,14.738,0,0,1,13.223-16.111,14.737,14.737,0,0,1,16.11,13.223A14.736,14.736,0,0,1,1012.775-1280.243Zm-5.63-27.657a13.491,13.491,0,0,0-10.491,15.935,13.491,13.491,0,0,0,15.935,10.491,13.492,13.492,0,0,0,10.491-15.935,13.491,13.491,0,0,0-14.57-10.7h0c-.464.05-.918.119-1.367.209Z" fill="#8db9ca"/>
+            </g>
+            <g id="Group_1781" data-name="Group 1781">
+              <path id="Path_6910" data-name="Path 6910" d="M1004.951-1299.072a1.253,1.253,0,0,1-1.15,1.35,1.253,1.253,0,0,1-1.349-1.15,1.254,1.254,0,0,1,1.143-1.349h0a1.255,1.255,0,0,1,1.354,1.145v0h0" fill="#8db9ca"/>
+              <path id="Path_6911" data-name="Path 6911" d="M1017.106-1300.064a1.254,1.254,0,0,1-1.15,1.35,1.254,1.254,0,0,1-1.349-1.15,1.253,1.253,0,0,1,1.143-1.349h0a1.254,1.254,0,0,1,1.354,1.145v0h0" fill="#8db9ca"/>
+              <path id="Path_7839" data-name="Path 7839" d="M1011.174-1285.439a3.272,3.272,0,0,1-.418.06,3.97,3.97,0,0,1-4.135-2.956.319.319,0,0,1,.237-.382.319.319,0,0,1,.382.238.366.366,0,0,1,.008.081,3.382,3.382,0,0,0,3.45,2.386,4.212,4.212,0,0,0,3.282-2.848.321.321,0,0,1,.385-.242.321.321,0,0,1,.242.384h0A4.859,4.859,0,0,1,1011.174-1285.439Z" fill="#8db9ca"/>
+            </g>
+          </g>
+          <g id="Group_1862-2" data-name="Group 1862-2">
+            <g id="Ellipse_525-2" data-name="Ellipse 525-2">
+              <path id="Path_7840" data-name="Path 7840" d="M1483.558-1340.961q-.574-.193-1.14-.447a12.092,12.092,0,0,1-6.043-16,12.093,12.093,0,0,1,16-6.043,12.093,12.093,0,0,1,6.042,16A12.091,12.091,0,0,1,1483.558-1340.961Zm7.328-21.94a11.042,11.042,0,0,0-14.022,6.875,11.043,11.043,0,0,0,6.875,14.023,11.044,11.044,0,0,0,14.023-6.875,11.043,11.043,0,0,0-5.831-13.6h0a8.252,8.252,0,0,0-1.045-.435Z" fill="#8db9ca"/>
+            </g>
+            <g id="Group_1781-2" data-name="Group 1781-2">
+              <path id="Path_6910-2" data-name="Path 6910-2" d="M1485.711-1357.546a1.03,1.03,0,0,1-1.373.49,1.03,1.03,0,0,1-.489-1.372,1.029,1.029,0,0,1,1.371-.49h0a1.028,1.028,0,0,1,.492,1.368v0h0" fill="#8db9ca"/>
+              <path id="Path_6911-2" data-name="Path 6911-2" d="M1494.754-1353.272a1.032,1.032,0,0,1-1.373.494,1.033,1.033,0,0,1-.495-1.373,1.033,1.033,0,0,1,1.374-.495h0a1.029,1.029,0,0,1,.491,1.37h0" fill="#8db9ca"/>
+              <path id="Path_7841" data-name="Path 7841" d="M1484.551-1345.313a3.2,3.2,0,0,1-.328-.132,3.252,3.252,0,0,1-1.726-3.8.256.256,0,0,1,.338-.132l.007,0a.261.261,0,0,1,.131.345,2.774,2.774,0,0,0,1.463,3.107,3.452,3.452,0,0,0,3.5-.679.261.261,0,0,1,.37-.015.262.262,0,0,1,.014.37A3.987,3.987,0,0,1,1484.551-1345.313Z" fill="#8db9ca"/>
+            </g>
+          </g>
+          <path id="Path_7842" data-name="Path 7842" d="M866.61-1336.736a1.309,1.309,0,0,1-.952-.418l-4.18-4.306c-.046-.048-.089-.094-.129-.144a3.739,3.739,0,0,1,.382-5.268,3.6,3.6,0,0,1,4.869.3,3.59,3.59,0,0,1,4.852-.31h.012l.149.136a3.733,3.733,0,0,1,.112,5.277h0l-4.227,4.361A1.3,1.3,0,0,1,866.61-1336.736Zm-2.6-9.662a2.3,2.3,0,0,0-1.45.514,2.461,2.461,0,0,0-.236,3.458.926.926,0,0,0,.079.088l4.179,4.313h.061l4.179-4.311a2.462,2.462,0,0,0-.077-3.475l-.084-.077a2.321,2.321,0,0,0-3.151.234l-.894.924-.882-.911a2.335,2.335,0,0,0-1.724-.757Z" fill="#8db9ca"/>
+          <g id="Icon_feather-mail" data-name="Icon feather-mail">
+            <path id="Path_7860" data-name="Path 7860" d="M1424.083-1363.047a2.671,2.671,0,0,1-2.474-1.66l-4.818-11.893a2.674,2.674,0,0,1,1.463-3.465h0l15.857-6.425a2.674,2.674,0,0,1,3.465,1.463l4.818,11.893a2.677,2.677,0,0,1-1.462,3.467l-15.858,6.423A2.671,2.671,0,0,1,1424.083-1363.047Zm-5.432-16.05a1.628,1.628,0,0,0-.893,2.106l4.819,11.892a1.629,1.629,0,0,0,2.106.892l15.856-6.423a1.628,1.628,0,0,0,.89-2.109l-4.806-11.891a1.627,1.627,0,0,0-2.106-.891l-15.856,6.424Z" fill="#8db9ca"/>
+            <path id="Path_7861" data-name="Path 7861" d="M1430-1373.349a.578.578,0,0,1-.117-.012l-12.723-2.926a.522.522,0,0,1-.371-.639.522.522,0,0,1,.6-.378l12.366,2.839,6.9-10.644a.523.523,0,0,1,.716-.184.523.523,0,0,1,.184.715l-.024.037-7.1,10.952A.52.52,0,0,1,1430-1373.349Z" fill="#8db9ca"/>
+          </g>
+          <rect id="Rectangle_3828" data-name="Rectangle 3828" width="391.791" height="125.373" transform="translate(1019.009 -1397.588)" fill="none"/>
+          <g id="Group_3200" data-name="Group 3200">
+            <path id="Path_7909" data-name="Path 7909" d="M1321.587-1332.958a1.551,1.551,0,0,1-.728-.175l-12.087-6.353-12.088,6.353a1.559,1.559,0,0,1-2.109-.642,1.557,1.557,0,0,1-.161-1l2.308-13.46-9.776-9.532a1.561,1.561,0,0,1-.027-2.207,1.557,1.557,0,0,1,.9-.456l13.514-1.964,6.044-12.245a1.561,1.561,0,0,1,2.093-.7,1.565,1.565,0,0,1,.7.7h0l6.051,12.23,13.514,1.964a1.56,1.56,0,0,1,1.328,1.762,1.561,1.561,0,0,1-.455.9l-9.777,9.532,2.308,13.46a1.571,1.571,0,0,1-1.3,1.805,1.627,1.627,0,0,1-.241.021Zm-33.15-25.806,9.581,9.338a1.556,1.556,0,0,1,.448,1.383l-2.261,13.185,11.844-6.225a1.549,1.549,0,0,1,1.452,0l11.84,6.225-2.269-13.185a1.57,1.57,0,0,1,.448-1.381l9.581-9.339-13.238-1.92a1.558,1.558,0,0,1-1.175-.855l-5.92-12-5.916,12a1.562,1.562,0,0,1-1.175.854Z" fill="#f5a817"/>
+          </g>
+          <g id="Group_1544" data-name="Group 1544">
+            <path id="Path_7916" data-name="Path 7916" d="M1357.664-1333.978a16.633,16.633,0,0,1-3.475-8.129,26.832,26.832,0,0,1,1.236-9.013s1.232-2.281,1.843-.053-.183,5.789,1.072,7.8,1.389,3.251,2.539,1.579,1.656-3.14,2.775-2.368-.182,5.789-1.072,7.811-.03,2.445.241,4.931,2.25,19.287.935,22.168c0,0,10.3,3.535,13.741,5.232s-3.118,11.831-5.263,11.842-19.041-11.483-19.229-14.571S1356.491-1329.854,1357.664-1333.978Z" fill="#fceada"/>
+            <path id="Path_6890" data-name="Path 6890" d="M1380.931-1290.512c4.192,1.677,19.28,1.257,24.31-5.449l4.19-8.383s-4.19.839-4.19-3.354a5.975,5.975,0,0,1,1.282-3.575c7.414-1.936,13.577-8.552,15.166-17.28,2.106-11.615-4.665-22.577-15.143-24.485s-20.683,5.962-22.8,17.576c-1.641,9.01,2.073,17.631,8.711,21.928.131,2.3-.228,6.323-3.994,8.351-5.447,2.934-3.771,2.514-5.867,2.934S1376.74-1292.188,1380.931-1290.512Z" fill="#fceada"/>
+            <path id="Path_6891" data-name="Path 6891" d="M1406.7-1351.081c5.449.42,4.191,7.963,4.191,9.64s.42,3.354,3.354,4.6,3.773,2.514,5.029,5.449.838,7.966-1.258,9.641-3.772,3.772-2.1,7.963a5.736,5.736,0,0,0,7.125,3.354c1.258-.419,1.677-.837,2.935.42s3.772,3.772,7.963-1.258-.837-10.058-.837-10.058c1.258,0,6.287,0,5.867-6.289s-5.449-7.544-8.383-9.221a8.814,8.814,0,0,1-3.772-5.03c-2.934-7.963-4.606-10.478-4.606-10.478-6.286-8.8-16.764-5.868-16.764-5.868-.838-1.675-3.771-1.675-3.771-1.675-9.64-1.677-13.414,6.71-16.347,8.8a7.17,7.17,0,0,0-2.513,7.544c.419,2.1-4.193,5.87-6.71,6.288s-2.933,5.448.419,10.06,7.125,3.353,7.125,3.353c1.677.42,0-2.514,0-2.514a14.159,14.159,0,0,1,3.354-12.994,17.683,17.683,0,0,0,5.865-7.96c2.1-5.449,10.479-3.773,10.479-3.773A4.271,4.271,0,0,0,1406.7-1351.081Z" fill="#221e1f"/>
+            <path id="Path_6892" data-name="Path 6892" d="M1406.289-1302.037a21.08,21.08,0,0,1-4.6,6.711c-3.353,3.352-12.9,1.209-15.013.3-1.927-.827.492-9.661.91-10.921s-3.026-2.124-4.55-2.124a21.541,21.541,0,0,0-4.549.606c-4.95,1.073-1.7,4.153-2.122,6.369a11.9,11.9,0,0,1-3.027,6.368c-1.257,1.258-2.53,1.785-2.728,2.729-1.214,5.762,5.761,7.278,5.761,7.278-.835,1.983-.218,10.044.3,12.13.909,3.639,4.82,17.8,3.033,24.261a90.794,90.794,0,0,0-2.426,34.573c2.012,15.423,4.548,31.236,4.548,31.236l42.764,1.516,2.124-15.77a66.637,66.637,0,0,0-2.731-40.637c-3.772-10.061-13.343-16.376-13.646-18.2a16.794,16.794,0,0,1-.3-6.974c.489-2.94.909-6.974,1.819-10.613,1.675,3.354,16.68-4.852,16.68-4.852,6.71-9.221-5.905-19.7-7.582-23.047s-8.575-4.086-9.833-3.666a15.571,15.571,0,0,1-3.7.412C1406.844-1304.149,1406.289-1302.037,1406.289-1302.037Z" fill="#eb1b2e"/>
+            <path id="Path_7917" data-name="Path 7917" d="M1415.983-1272.679s8.439-3.1,10.263-4.309c0,0,1.82,7.278.607,10.921s-3.948,13.948-6.672,20.016a33.908,33.908,0,0,0-2.275,6.824c-.3,2.426-2.729,11.221-5.155,13.041s-3.947,3.336-6.671,3.336-4.853,0-3.64-1.516a22.626,22.626,0,0,0,2.729-5.458s-1.819,1.213-2.729.606.607-2.729,1.516-3.947a34.349,34.349,0,0,0,3.027-3.947,4.162,4.162,0,0,1,3.335-2.425c1.82-.3,1.82-5.762,2.123-8.189.31-2.481.91-13.647,2.122-17.9A25.109,25.109,0,0,0,1415.983-1272.679Z" fill="#fceada"/>
+            <ellipse id="Ellipse_493" data-name="Ellipse 493" cx="1.676" cy="1.258" rx="1.676" ry="1.258" transform="translate(1393.411 -1298.603) rotate(-69.571)" fill="#eb1b2e"/>
+            <path id="Path_6894" data-name="Path 6894" d="M1395.132-1301.2c-3.539-.843-5.111-4.984-5.177-5.16a.211.211,0,0,1,.124-.271.212.212,0,0,1,.271.125h0c.01.04,1.556,4.108,4.876,4.9,4.317,1.028,8.421-2.281,10.491-4.342a.209.209,0,0,1,.3,0,.209.209,0,0,1,0,.3c-1.842,1.842-5.292,4.661-9.127,4.661A7.574,7.574,0,0,1,1395.132-1301.2Z" fill="#68737a"/>
+            <g id="Group_1783" data-name="Group 1783">
+              <path id="Path_7918" data-name="Path 7918" d="M1405.341-1337a.329.329,0,0,1-.329-.329.329.329,0,0,1,.182-.295,6.214,6.214,0,0,1,4.714-.246.33.33,0,0,1,.194.423.328.328,0,0,1-.423.194,5.558,5.558,0,0,0-4.194.219A.328.328,0,0,1,1405.341-1337Z" fill="#221e1f"/>
+              <path id="Path_7919" data-name="Path 7919" d="M1392.017-1339.131a.328.328,0,0,1-.264-.131,5.555,5.555,0,0,0-3.672-2.039.33.33,0,0,1-.3-.361.329.329,0,0,1,.362-.3,6.2,6.2,0,0,1,4.128,2.289.33.33,0,0,1-.066.461.333.333,0,0,1-.2.065Z" fill="#221e1f"/>
+              <g id="Group_1764-3" data-name="Group 1764-3" opacity="0.8">
+                <g id="Group_1763-3" data-name="Group 1763-3">
+                  <g id="Group_3220" data-name="Group 3220">
+                    <g id="Group_3230" data-name="Group 3230">
+                      <g id="Group_3229" data-name="Group 3229" clip-path="url(#clip-path-2)">
+                        <g id="Group_3219" data-name="Group 3219">
+                          <g id="Group_1762-3" data-name="Group 1762-3">
+                            <g id="Group_1761-3" data-name="Group 1761-3">
+                              <g id="Group_3218" data-name="Group 3218">
+                                <g id="Group_3228" data-name="Group 3228">
+                                  <g id="Group_3227" data-name="Group 3227" clip-path="url(#clip-path-2)">
+                                    <g id="Group_3217" data-name="Group 3217">
+                                      <g id="Group_1760-3" data-name="Group 1760-3">
+                                        <path id="Path_6902-3" data-name="Path 6902-3" d="M1390.743-1323.286s.976,3.421,3.553,4.015,4.952-2.049,4.952-2.049" fill="#e3727c"/>
+                                      </g>
+                                    </g>
+                                  </g>
+                                </g>
+                              </g>
+                            </g>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+              <g id="Group_1768-3" data-name="Group 1768-3">
+                <g id="Group_3224" data-name="Group 3224">
+                  <g id="Group_3234" data-name="Group 3234">
+                    <g id="Group_3233" data-name="Group 3233" clip-path="url(#clip-path-4)">
+                      <g id="Group_3223" data-name="Group 3223">
+                        <g id="Group_1767-3" data-name="Group 1767-3">
+                          <g id="Group_1766-3" data-name="Group 1766-3">
+                            <g id="Group_3222" data-name="Group 3222">
+                              <g id="Group_3232" data-name="Group 3232">
+                                <g id="Group_3231" data-name="Group 3231" clip-path="url(#clip-path-4)">
+                                  <g id="Group_3221" data-name="Group 3221">
+                                    <g id="Group_1765-3" data-name="Group 1765-3">
+                                      <path id="Path_6903-3" data-name="Path 6903-3" d="M1394-1326.456s-1.821.041-2.15-.7,1.029-3.684,1.029-3.684" fill="none" stroke="#ce9c6b" stroke-linecap="round" stroke-miterlimit="10.003" stroke-width="0.523"/>
+                                    </g>
+                                  </g>
+                                </g>
+                              </g>
+                            </g>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+              <path id="Path_6904-3" data-name="Path 6904-3" d="M1403.608-1333.365h0a1.56,1.56,0,0,1,1.809-1.263h0a1.562,1.562,0,0,1,1.266,1.809,1.561,1.561,0,0,1-1.809,1.267,1.562,1.562,0,0,1-1.267-1.81v0" fill="#221e1f"/>
+              <path id="Path_6905-3" data-name="Path 6905-3" d="M1388.693-1336h0a1.559,1.559,0,0,1,1.807-1.263h0a1.562,1.562,0,0,1,1.264,1.81,1.561,1.561,0,0,1-1.81,1.263,1.559,1.559,0,0,1-1.263-1.809h0" fill="#221e1f"/>
+            </g>
+          </g>
+          <g id="Group_1543" data-name="Group 1543">
+            <path id="Path_6879" data-name="Path 6879" d="M962.437-1231a368.788,368.788,0,0,1,13.428,48.013l-32.55,1.222-2.849-12.614-3.255,13.427s-34.18,0-34.18-.406c0-11.808,4.882-49.234,4.882-49.234Z" fill="#a5a4a4"/>
+            <path id="Path_6880" data-name="Path 6880" d="M918.087-1305.056s-11.24-.023-13.889,8.809c0,0-5.074,8.883-5.888,12.953s-.31,2.886,2.945,7.361,6.255,48.179,6.255,48.179,16.274,4.07,25.633,4.07,27.261-3.257,30.11-5.7c0,0,2.77-38.9.711-50.968,1.173-3.533,3.154-7.685,3.826-10.306,0,0-12.783-16.943-23.1-16.09a9.563,9.563,0,0,1-1.778,9.813,12.021,12.021,0,0,1-15.054,2.849C922.974-1296.517,918.087-1305.056,918.087-1305.056Z" fill="#1b365d"/>
+            <path id="Path_6881" data-name="Path 6881" d="M947.311-1322.787c-.453,1.785-1.948.713-1.794,1.649a17.555,17.555,0,0,1-1.86,10.559c.325,1.123.694,2.484,1.025,3.855a58.724,58.724,0,0,1-5.443,9.539l-4.145.538c-10.268-1.192-14.619-4.5-16.006-5.8-.138-1.936-.394-3.924-.622-5.521-2.223-2.481-4.247-8.3-4.485-8.657a5.231,5.231,0,0,1-3.319-2.657c-1.728-4.235-2.75-8.264-1.961-9.535a27.578,27.578,0,0,0,3.289,6.577c1.558,1.916-.28-14.043-.185-18.01.154-5.754-1.165,3.536,15.252.838,16.389-2.7,10.915-10.015,13.757-6.14,1.289,1.78,3.868,20.29,4.675,18.269a34.168,34.168,0,0,0,1.657-7.245c.116.05.23.1.387.184,2.531,1.331.639,8.223-.234,11.565" fill="#fceada"/>
+            <path id="Path_6882" data-name="Path 6882" d="M943.315-1239.141l-6.505,8.952-6.51-9.361s-.652-40.134,1.914-46.562c-.385-.6-2.773-3.789-4.285-5.79l1.193-1.2c3.582-3.582,4.525-4.388,4.525-4.388-.107-.037-.211-.069-.316-.107l4.178.137-.074.074a15.577,15.577,0,0,1,2.992,2.073c.67.526,1.44,1.192,2.385,2.07a30.785,30.785,0,0,0-3.756,5.761c4.036,4.071,4.666,43.863,4.666,43.863" fill="#d9232e"/>
+            <path id="Path_6883" data-name="Path 6883" d="M933.651-1297.489s-.947.807-4.526,4.39l-1.193,1.193c-.949.949-2.1,2.07-3.406,3.371-1.475-.49-8.566-8.918-6.459-18.014a3,3,0,0,0,.421.632c1.158,1.508,4.917,5.482,14.853,8.319.1.039.209.071.316.108" fill="#fff"/>
+            <path id="Path_6884" data-name="Path 6884" d="M947.379-1288.885c-1.793-1.792-3.337-3.23-4.565-4.358-.947-.872-1.722-1.544-2.385-2.07a15.509,15.509,0,0,0-2.985-2.073l.068-.069a58.515,58.515,0,0,0,6.917-8.533c.317-.526.5-.808.5-.808,2.1,9.095,3.932,17.383,2.457,17.909" fill="#fff"/>
+            <path id="Path_6885" data-name="Path 6885" d="M947.724-1343.206a46.863,46.863,0,0,1-.568,8.67,34.161,34.161,0,0,1-1.657,7.246c-.808,2.011-2.727-12.4-4.023-14.181-2.849-3.875,1.973-.646-14.414,2.05-16.425,2.7-14.72,1.552-14.878,7.307-.1,3.966,1.369,11.783-.194,9.867a27.679,27.679,0,0,1-3.289-6.575c-.707-1.7-1.341-3.411-1.994-4.733-4.485-9.232,3.436-11.992,3.028-12.4-5.185-5.186,10.373-15.671,14.247-16.278,10.537-1.7,12.106,4.985,12.106,4.985s10.559-1.988,11.631,14.03" fill="#221e1f"/>
+            <path id="Path_6889" data-name="Path 6889" d="M964.066-1227.749l1.222,2.85a99.166,99.166,0,0,1-28.889,5.7,114.929,114.929,0,0,1-29.7-3.662l.355-3.246s16.734,4.468,28.939,3.655A161.2,161.2,0,0,0,964.066-1227.749Z" fill="#72502b"/>
+            <g id="Group_1770" data-name="Group 1770">
+              <path id="Path_6900" data-name="Path 6900" d="M917.516-1329.679a5.711,5.711,0,0,1,4.322.227" fill="none" stroke="#221e1f" stroke-linecap="round" stroke-miterlimit="10.003" stroke-width="0.523"/>
+              <path id="Path_6901" data-name="Path 6901" d="M934.775-1331.524a5.7,5.7,0,0,1,3.785-2.1" fill="none" stroke="#221e1f" stroke-linecap="round" stroke-miterlimit="10.003" stroke-width="0.523"/>
+              <g id="Group_1764" data-name="Group 1764" opacity="0.8">
+                <g id="Group_1763" data-name="Group 1763">
+                  <g id="Group_3086" data-name="Group 3086">
+                    <g id="Group_3238" data-name="Group 3238">
+                      <g id="Group_3237" data-name="Group 3237" clip-path="url(#clip-path-6)">
+                        <g id="Group_3085" data-name="Group 3085">
+                          <g id="Group_1762" data-name="Group 1762">
+                            <g id="Group_1761" data-name="Group 1761">
+                              <g id="Group_3084" data-name="Group 3084">
+                                <g id="Group_3236" data-name="Group 3236">
+                                  <g id="Group_3235" data-name="Group 3235" clip-path="url(#clip-path-6)">
+                                    <g id="Group_3083" data-name="Group 3083">
+                                      <g id="Group_1760" data-name="Group 1760">
+                                        <path id="Path_6902" data-name="Path 6902" d="M927.451-1310.9s2.179,2.682,4.693,2.238,3.647-3.713,3.647-3.713" fill="#e3727c"/>
+                                      </g>
+                                    </g>
+                                  </g>
+                                </g>
+                              </g>
+                            </g>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+              <g id="Group_1769" data-name="Group 1769" opacity="0.8">
+                <g id="Group_1768" data-name="Group 1768">
+                  <g id="Group_3090" data-name="Group 3090">
+                    <g id="Group_3242" data-name="Group 3242">
+                      <g id="Group_3241" data-name="Group 3241" clip-path="url(#clip-path-8)">
+                        <g id="Group_3089" data-name="Group 3089">
+                          <g id="Group_1767" data-name="Group 1767">
+                            <g id="Group_1766" data-name="Group 1766">
+                              <g id="Group_3088" data-name="Group 3088">
+                                <g id="Group_3240" data-name="Group 3240">
+                                  <g id="Group_3239" data-name="Group 3239" clip-path="url(#clip-path-8)">
+                                    <g id="Group_3087" data-name="Group 3087">
+                                      <g id="Group_1765" data-name="Group 1765">
+                                        <path id="Path_6903" data-name="Path 6903" d="M929.275-1320.038s-.631,3.206.119,3.732,3.2-.259,3.2-.259" fill="none" stroke="#ce9c6b" stroke-linecap="round" stroke-miterlimit="10.003" stroke-width="0.523"/>
+                                      </g>
+                                    </g>
+                                  </g>
+                                </g>
+                              </g>
+                            </g>
+                          </g>
+                        </g>
+                      </g>
+                    </g>
+                  </g>
+                </g>
+              </g>
+              <path id="Path_6904" data-name="Path 6904" d="M923.524-1325.608a1.509,1.509,0,0,1-1.229,1.744,1.509,1.509,0,0,1-1.744-1.23,1.508,1.508,0,0,1,1.215-1.74h0a1.508,1.508,0,0,1,1.753,1.215l0,.011h0" fill="#221e1f"/>
+              <path id="Path_6905" data-name="Path 6905" d="M938-1328.165a1.508,1.508,0,0,1-1.23,1.743,1.508,1.508,0,0,1-1.743-1.229,1.508,1.508,0,0,1,1.215-1.741h0a1.508,1.508,0,0,1,1.752,1.216l0,.011h0" fill="#221e1f"/>
+            </g>
+            <path id="Path_7836" data-name="Path 7836" d="M902.575-1355.572s-.146,27.822-1.324,33.12c0,0,6.771,19.429,11.776,21.789s-11.776,23.257-11.776,23.257-5.3.59-9.721-11.188-7.068-18.545-6.771-23.552,4.564-38.716,6.919-41.953S902.575-1358.517,902.575-1355.572Z" fill="#1b365d"/>
+            <path id="Path_7837" data-name="Path 7837" d="M956.452-1354.394s.293,22.669,1.473,27.967c0,0-5.125,18.989-10.132,21.344s11.776,23.259,11.776,23.259,5.3.588,9.721-11.188,7.065-18.547,6.77-23.552-7.828-36.065-10.184-39.3S956.452-1357.338,956.452-1354.394Z" fill="#1b365d"/>
+          </g>
+          <g id="Group_3102" data-name="Group 3102">
+            <rect id="Rectangle_3827" data-name="Rectangle 3827" width="101.55" height="28.102" rx="2.946" transform="translate(878.45 -1387.316)" fill="#fff"/>
+            <g id="Group_3101" data-name="Group 3101">
+              <g id="Group_3092" data-name="Group 3092">
+                <path id="Path_7843" data-name="Path 7843" d="M895.849-1378.951l1.728,3.5a.193.193,0,0,0,.146.107l3.867.563a.2.2,0,0,1,.167.218.193.193,0,0,1-.06.118l-2.8,2.727a.2.2,0,0,0-.057.167l.661,3.855a.2.2,0,0,1-.16.227.194.194,0,0,1-.123-.019l-3.456-1.819a.2.2,0,0,0-.183,0l-3.456,1.819a.2.2,0,0,1-.265-.081.194.194,0,0,1-.02-.127l.66-3.855a.186.186,0,0,0-.055-.167l-2.8-2.727a.2.2,0,0,1-.01-.275.2.2,0,0,1,.119-.061l3.865-.563a.19.19,0,0,0,.149-.107l1.728-3.5a.2.2,0,0,1,.263-.087A.2.2,0,0,1,895.849-1378.951Z" fill="#ffc801"/>
+                <g id="Group_3091" data-name="Group 3091">
+                  <path id="Path_7844" data-name="Path 7844" d="M895.673-1378.141l-1.54,2.983a.511.511,0,0,1-.411.276l-3.352.306,3.533.167a.513.513,0,0,0,.5-.335Z" fill="#ffd753"/>
+                </g>
+                <path id="Path_7845" data-name="Path 7845" d="M891.921-1368.14l-.077.442a.2.2,0,0,0,.158.228.207.207,0,0,0,.127-.02l3.455-1.819a.2.2,0,0,1,.183,0l3.456,1.819a.2.2,0,0,0,.264-.084.191.191,0,0,0,.019-.124l-.66-3.855a.2.2,0,0,1,.057-.168l2.8-2.726a.194.194,0,0,0,.015-.273.2.2,0,0,0-.123-.063l-1.3-.187A14.928,14.928,0,0,1,891.921-1368.14Z" fill="#f8b911"/>
+              </g>
+              <g id="Group_3094" data-name="Group 3094">
+                <path id="Path_7846" data-name="Path 7846" d="M913.153-1378.951l1.728,3.5a.191.191,0,0,0,.146.107l3.866.563a.194.194,0,0,1,.171.213.2.2,0,0,1-.064.123l-2.795,2.727a.192.192,0,0,0-.057.167l.66,3.855a.2.2,0,0,1-.159.227.2.2,0,0,1-.124-.019l-3.456-1.819a.2.2,0,0,0-.183,0l-3.456,1.819a.2.2,0,0,1-.265-.081.207.207,0,0,1-.02-.127l.661-3.855a.19.19,0,0,0-.056-.167l-2.8-2.727a.2.2,0,0,1-.009-.275.194.194,0,0,1,.118-.061l3.865-.563a.193.193,0,0,0,.15-.107l1.728-3.5a.2.2,0,0,1,.263-.087A.2.2,0,0,1,913.153-1378.951Z" fill="#ffc801"/>
+                <g id="Group_3093" data-name="Group 3093">
+                  <path id="Path_7847" data-name="Path 7847" d="M912.977-1378.141l-1.541,2.983a.511.511,0,0,1-.41.276l-3.352.306,3.533.167a.515.515,0,0,0,.5-.335Z" fill="#ffd753"/>
+                </g>
+                <path id="Path_7848" data-name="Path 7848" d="M909.224-1368.14l-.077.442a.2.2,0,0,0,.158.228.206.206,0,0,0,.127-.02l3.456-1.819a.2.2,0,0,1,.183,0l3.456,1.819a.2.2,0,0,0,.264-.084.2.2,0,0,0,.019-.124l-.66-3.855a.2.2,0,0,1,.056-.168l2.8-2.726a.194.194,0,0,0,.015-.273.2.2,0,0,0-.122-.063l-1.3-.187A14.933,14.933,0,0,1,909.224-1368.14Z" fill="#f8b911"/>
+              </g>
+              <g id="Group_3096" data-name="Group 3096">
+                <path id="Path_7849" data-name="Path 7849" d="M930.456-1378.951l1.728,3.5a.193.193,0,0,0,.146.107l3.867.563a.193.193,0,0,1,.17.213.2.2,0,0,1-.063.123l-2.8,2.727a.2.2,0,0,0-.057.167l.661,3.855a.2.2,0,0,1-.16.227.2.2,0,0,1-.124-.019l-3.456-1.819a.2.2,0,0,0-.182,0l-3.456,1.819a.2.2,0,0,1-.265-.081.194.194,0,0,1-.02-.127l.66-3.855a.186.186,0,0,0-.055-.167l-2.8-2.727a.2.2,0,0,1-.01-.275.194.194,0,0,1,.119-.061l3.865-.563a.192.192,0,0,0,.149-.107l1.728-3.5a.2.2,0,0,1,.263-.087A.2.2,0,0,1,930.456-1378.951Z" fill="#ffc801"/>
+                <g id="Group_3095" data-name="Group 3095">
+                  <path id="Path_7850" data-name="Path 7850" d="M930.28-1378.141l-1.54,2.983a.511.511,0,0,1-.411.276l-3.352.306,3.533.167a.513.513,0,0,0,.5-.335Z" fill="#ffd753"/>
+                </g>
+                <path id="Path_7851" data-name="Path 7851" d="M926.528-1368.14l-.078.442a.2.2,0,0,0,.159.228.2.2,0,0,0,.126-.02l3.456-1.819a.2.2,0,0,1,.183,0l3.456,1.819a.2.2,0,0,0,.264-.084.191.191,0,0,0,.019-.124l-.66-3.855a.2.2,0,0,1,.057-.168l2.8-2.726a.194.194,0,0,0,.015-.273.2.2,0,0,0-.123-.063l-1.3-.187A14.928,14.928,0,0,1,926.528-1368.14Z" fill="#f8b911"/>
+              </g>
+              <g id="Group_3098" data-name="Group 3098">
+                <path id="Path_7852" data-name="Path 7852" d="M947.76-1378.951l1.728,3.5a.19.19,0,0,0,.146.107l3.866.563a.192.192,0,0,1,.17.213.191.191,0,0,1-.063.123l-2.795,2.727a.192.192,0,0,0-.057.167l.66,3.855a.2.2,0,0,1-.159.227.2.2,0,0,1-.124-.019l-3.456-1.819a.2.2,0,0,0-.183,0l-3.456,1.819a.2.2,0,0,1-.265-.081.207.207,0,0,1-.02-.127l.661-3.855a.191.191,0,0,0-.054-.167l-2.8-2.727a.2.2,0,0,1-.01-.275.2.2,0,0,1,.119-.061l3.865-.563a.19.19,0,0,0,.149-.107l1.728-3.5a.2.2,0,0,1,.264-.084A.192.192,0,0,1,947.76-1378.951Z" fill="#ffc801"/>
+                <g id="Group_3097" data-name="Group 3097">
+                  <path id="Path_7853" data-name="Path 7853" d="M947.584-1378.141l-1.541,2.983a.511.511,0,0,1-.41.276l-3.352.306,3.533.167a.515.515,0,0,0,.5-.335Z" fill="#ffd753"/>
+                </g>
+                <path id="Path_7854" data-name="Path 7854" d="M943.828-1368.14l-.077.442a.2.2,0,0,0,.158.228.2.2,0,0,0,.126-.02l3.456-1.819a.2.2,0,0,1,.183,0l3.456,1.819a.2.2,0,0,0,.264-.084.191.191,0,0,0,.019-.124l-.66-3.855a.2.2,0,0,1,.057-.168l2.8-2.726a.194.194,0,0,0,.015-.273.2.2,0,0,0-.123-.063l-1.3-.187A14.927,14.927,0,0,1,943.828-1368.14Z" fill="#f8b911"/>
+              </g>
+              <g id="Group_3100" data-name="Group 3100">
+                <path id="Path_7855" data-name="Path 7855" d="M965.063-1378.951l1.728,3.5a.193.193,0,0,0,.146.107l3.867.563a.193.193,0,0,1,.17.213.2.2,0,0,1-.063.123l-2.789,2.72a.193.193,0,0,0-.057.167l.66,3.855a.2.2,0,0,1-.159.227.191.191,0,0,1-.124-.019l-3.456-1.818a.2.2,0,0,0-.183,0l-3.456,1.818a.2.2,0,0,1-.265-.081.206.206,0,0,1-.02-.127l.662-3.855a.193.193,0,0,0-.057-.167l-2.8-2.727a.2.2,0,0,1-.009-.275.193.193,0,0,1,.118-.06l3.865-.563a.193.193,0,0,0,.149-.108l1.728-3.5a.2.2,0,0,1,.268-.072A.193.193,0,0,1,965.063-1378.951Z" fill="#ffc801"/>
+                <g id="Group_3099" data-name="Group 3099">
+                  <path id="Path_7856" data-name="Path 7856" d="M964.887-1378.141l-1.54,2.983a.512.512,0,0,1-.411.276l-3.352.306,3.533.167a.513.513,0,0,0,.5-.335Z" fill="#ffd753"/>
+                </g>
+                <path id="Path_7857" data-name="Path 7857" d="M961.134-1368.14l-.077.442a.2.2,0,0,0,.159.228.2.2,0,0,0,.126-.02l3.456-1.819a.2.2,0,0,1,.183,0l3.456,1.819a.2.2,0,0,0,.264-.084.19.19,0,0,0,.019-.124l-.66-3.855a.2.2,0,0,1,.057-.168l2.8-2.726a.194.194,0,0,0,.015-.273.2.2,0,0,0-.123-.063l-1.3-.187A14.926,14.926,0,0,1,961.134-1368.14Z" fill="#f8b911"/>
+              </g>
+            </g>
+            <path id="Path_7858" data-name="Path 7858" d="M954.737-1361.275s0-4,1.23-4,1.541,1.54,1.541,3.077a3.034,3.034,0,0,0,2.767,3.077c1.54,0,6.154-.923,7.691-.615s2.46-.308,2.154,2.461-3.688,3.077-6.46,3.382-8.921-.614-8.921-3.687Z" fill="#fceada"/>
+            <path id="Path_7859" data-name="Path 7859" d="M895.828-1353.123s6.151.305,7.689-2.461,3.077-8.921.924-8.306a11.076,11.076,0,0,0-3.078,3.386s-4.766-1.385-8.152.152-2.921,3.845-2.921,5.384S895.828-1353.123,895.828-1353.123Z" fill="#fceada"/>
+          </g>
+        </g>
+      </g>
+    </g>
+    <g id="Group_3906" data-name="Group 3906" transform="translate(3171.069 8787.829)">
+      <g id="Group_3106-2" data-name="Group 3106-2" transform="translate(-2204.933 -10168.411)">
+        <path id="Path_8726" data-name="Path 8726" d="M215.724,40.11v-3.4a2.493,2.493,0,0,0,.983-.673l1.36-1.52a2.5,2.5,0,0,0-.361-3.666,2.514,2.514,0,0,0,.138-.822v-1.92a2.5,2.5,0,0,0-2.5-2.5H210.4a2.5,2.5,0,0,0-2.341-1.621h-2.041a2.5,2.5,0,0,0-2.34,1.621H198.74a2.5,2.5,0,0,0-.964.194,2.492,2.492,0,0,0-2.112-1.174h-10.8a2.493,2.493,0,0,0-1.383.417,2.5,2.5,0,0,0-2.714-.989l-1.981.54a2.5,2.5,0,0,0-1.576,1.3,2.475,2.475,0,0,0-1.523-.531h-5.009l-.015-.031a2.5,2.5,0,0,0-2.678-1.438l-2.22.361a2.5,2.5,0,0,0-1.7,1.108H159.3a2.489,2.489,0,0,0-2.161,1.265,2.5,2.5,0,0,0-2.315-1.565h-5.185a2.5,2.5,0,0,0-2.53-1.17l-2.261.361a2.5,2.5,0,0,0-1.476.809h-4.191a2.49,2.49,0,0,0-1.756.723,2.483,2.483,0,0,0-1.441-.463h-.5a2.5,2.5,0,0,0-2.2-1.32H131.3a2.5,2.5,0,0,0-1.94.923,2.5,2.5,0,0,0-1.941-.923h-1.98a2.5,2.5,0,0,0-2.205,1.32h-.476a2.506,2.506,0,0,0-.955.189q-.431-.365-.887-.72a2.5,2.5,0,0,0-3.265.163l-1.341,1.28A2.5,2.5,0,0,0,116.481,30q.211.17.411.333l-.74.707a2.5,2.5,0,0,0,.254,3.825,25.583,25.583,0,0,1,2.082,1.669,55.715,55.715,0,0,1-2.615,6.32,2.5,2.5,0,0,0,1.205,3.368l1.92.88a2.5,2.5,0,0,0,1.924.067,2.433,2.433,0,0,0,.6-.328,2.493,2.493,0,0,0,1.635.608h1.86a2.49,2.49,0,0,0,1.838-.805,2.485,2.485,0,0,0,1.583.566h1.841a2.581,2.581,0,0,0,.485-.047A2.5,2.5,0,0,0,132,47.49h1.781a4.2,4.2,0,0,0,3.433-1.57l1.046.663a2.5,2.5,0,0,0,3.246-.5,5.192,5.192,0,0,0,3.433,1.125h4.881a5.77,5.77,0,0,0,3.12-.771c.078-.048.153-.1.224-.155A2.507,2.507,0,0,0,156,46.258l.511-.359,1.058.951a2.5,2.5,0,0,0,2.13.6,2.54,2.54,0,0,0,.524-.159,2.49,2.49,0,0,0,1.357.4,2.437,2.437,0,0,0,.415-.034,31.377,31.377,0,0,0,6.5-1.774,28.949,28.949,0,0,0,6.417,1.774,2.486,2.486,0,0,0,2.229-.755,2.464,2.464,0,0,0,1.217.329h1.921a2.492,2.492,0,0,0,1.921-.9h1.071l.577.519a2.5,2.5,0,0,0,3.969-.874q.276-.643.5-1.345h.936l.225.892A2.5,2.5,0,0,0,191.9,47.41h1.781a4.579,4.579,0,0,0,3.012-1.029,2.482,2.482,0,0,0,1.644.63h17.344a2.5,2.5,0,0,0,2.5-2.5v-1.9A2.5,2.5,0,0,0,215.724,40.11Zm-39.864.665-.018,0,.018-.021Zm.241-4.691c-.04-.058-.075-.119-.12-.174.041-.005.079-.019.12-.025Zm-19.837-1.466a2.438,2.438,0,0,0,.534-.182,29.86,29.86,0,0,1-.356,4.459c-.061-.077-.115-.148-.178-.227Zm41.9,5.51V36.991c.066.02.13.048.2.063V40.11h-.021C198.28,40.11,198.223,40.124,198.164,40.128Z" fill="#fff"/>
+        <g id="皛踵�漲隤踵-4" style="isolation: isolate">
+          <g id="Group_3901" data-name="Group 3901" style="isolation: isolate">
+            <path id="Path_8727" data-name="Path 8727" d="M123.161,34.469l-1.36,1.36a20.889,20.889,0,0,0-3.421-2.981l1.38-1.321A24.457,24.457,0,0,1,123.161,34.469Zm-.06-4.7-1.34,1.36a20.077,20.077,0,0,0-3.221-3.081l1.34-1.28A23.625,23.625,0,0,1,123.1,29.768Zm.2,7.861a75.245,75.245,0,0,1-2.76,7.2l-1.921-.881a57.752,57.752,0,0,0,2.881-7.041Zm2.641-9.8v-1.32h1.98v1.32H131.8v-1.32h1.981v1.32h2.7v1.861h-2.7v2.72h-3v.96h5.341V43.11a1.652,1.652,0,0,1-1.84,1.88H132.5l-.48-1.82,1.681.08a.478.478,0,0,0,.54-.54v-.96l-.5.68a5.7,5.7,0,0,1-1.041-2.58,8.009,8.009,0,0,1-1.24,2.7l-.68-1.3v3.461h-1.841V42.17l-.44.6a6.055,6.055,0,0,1-1.08-2.782,8.632,8.632,0,0,1-1.38,2.961l-.521-.98v2.98h-1.86V33.368h5.281v-.96h-3v-2.72h-2.681V27.827Zm.84,10.1h-.82v-1.38h2.08a8.9,8.9,0,0,0,.9,4.481V35.169h-3.421v6.1A7.472,7.472,0,0,0,126.782,37.929Zm1.14-7.161H131.8v-1.08h-3.881Zm4.121,7.161h-.78v-1.38h2.06a7.805,7.805,0,0,0,.921,4.241V35.169h-3.461V41.05A6.511,6.511,0,0,0,132.043,37.929Z" fill="#68737a"/>
+            <path id="Path_8728" data-name="Path 8728" d="M142.021,40.37a13.633,13.633,0,0,1-1.92,4.1l-1.8-1.141a9.7,9.7,0,0,0,1.68-3.381Zm-2.34-11.043v-1.76h6.481c-.14-.3-.28-.581-.42-.84l2.26-.361c.16.361.3.761.46,1.2h6.862v1.76H152.2l-.52,1.04h4.581v1.8H138.74v-1.8h4.421l-.42-1.04Zm14.583,3.541v6.361h-6.142a15.213,15.213,0,0,1,1.741,2.021l-1.741,1.22a18.182,18.182,0,0,0-1.8-2.16l1.74-1.081h-7.321V32.868Zm-2.041,2.441v-.861h-9.442v.861Zm0,1.48h-9.442v.88h9.442Zm-6.781,7.922c-1.621,0-2.421-.721-2.421-2.121V40.05h2.121v2.08c0,.48.3.74.9.74h3.881a.918.918,0,0,0,.72-.24c.2-.16.32-.66.38-1.481l1.98.661q-.24,2.1-.9,2.52a3.412,3.412,0,0,1-1.78.381Zm4.06-14.344.52-1.04h-5.1l.421,1.04Zm7.3,12.623-1.74,1.221a29.1,29.1,0,0,0-2.441-3.541l1.681-1.061A29.3,29.3,0,0,1,156.8,42.99Z" fill="#68737a"/>
+            <path id="Path_8729" data-name="Path 8729" d="M161.881,34.368c-.08,4.4-.78,7.942-2.141,10.622l-1.58-1.42a22.55,22.55,0,0,0,1.64-9.2v-6.5h7.522a10.6,10.6,0,0,0-.66-1.14l2.221-.361c.2.441.42.941.619,1.5h6.682v1.96h-14.3v1.681h2.841v-1.24h2.04v1.24H171.2V30.247h2.02v1.261h2.961v1.92h-2.961v3.081h-8.5V33.428h-2.841Zm12.662,3.121v1.54a15.1,15.1,0,0,1-3.5,3.021,26.807,26.807,0,0,0,5.682,1.3l-.9,1.839a24.787,24.787,0,0,1-6.8-2.04,27.464,27.464,0,0,1-6.941,2.04l-.9-1.86a27.065,27.065,0,0,0,5.761-1.36A13.685,13.685,0,0,1,164,39.27h-1.38V37.489Zm-5.66,3.62a16.776,16.776,0,0,0,2.82-1.839h-5.421A11.381,11.381,0,0,0,168.883,41.109Zm-2.121-6.321H171.2v-1.36h-4.441Z" fill="#68737a"/>
+            <path id="Path_8730" data-name="Path 8730" d="M180.721,28.848c-.241-.62-.5-1.242-.781-1.841l1.981-.54a20.167,20.167,0,0,1,.78,2.381h1.9v1.88H178.42v-1.88ZM184.3,43.83h-3.52v.9H178.86V37.649H184.3Zm-.26-11.942v1.76H179.1v-1.76Zm0,2.78v1.761H179.1V34.668Zm-1.641,7.4v-2.7h-1.619v2.7Zm13.764.94c0,1.261-.66,1.9-1.98,1.9H192.4l-.48-1.9c.6.06,1.14.1,1.661.1.4,0,.6-.28.6-.8v-13.3H187.3v8.362a19.907,19.907,0,0,1-1.282,7.621l-1.6-1.439a17.657,17.657,0,0,0,.939-6.042V27.127h10.8Zm-6.321-6.221v-1.28H187.8V33.788h2.04v-1.38H187.8V30.647h2.04v-1.14h1.841v1.14h2.04v1.761h-2.04v1.38h2.04v1.721h-2.04v1.28H193.4V42.13h-5.321V36.789Zm1.88,1.641h-1.94v2.04h1.94Z" fill="#68737a"/>
+            <path id="Path_8731" data-name="Path 8731" d="M206.521,33.908v-3.72a17.425,17.425,0,0,1-7.14,4.42l-1.141-1.84a20.237,20.237,0,0,0,6.5-2.741h-5.5v-1.92h7.281V26.486h2.041v1.621h7.282v1.92h-7.282v.34a81.431,81.431,0,0,1,8.142,2.481l-1.36,1.52c-2.221-.96-4.481-1.82-6.782-2.56v2.1h5.162V41.57H201.361V33.908Zm9.663,8.7v1.9H198.84v-1.9Zm-4.5-5.721v-1.14H203.4v1.14Zm0,1.76H203.4v1.08h8.283Z" fill="#68737a"/>
+          </g>
+        </g>
+      </g>
+      <g id="Component_1_1236" data-name="Component 1 1236" transform="translate(-2204.933 -10168.411)">
+        <g id="Group_2063-2" data-name="Group 2063-2">
+          <g id="Rectangle_7-2" data-name="Rectangle 7-2">
+            <path id="Path_8732" data-name="Path 8732" d="M251,14.95h42a19,19,0,0,1,19,19h0a19,19,0,0,1-19,19H251a19,19,0,0,1-19-19h0A19,19,0,0,1,251,14.95Z" fill="#fff"/>
+            <path id="Path_8733" data-name="Path 8733" d="M293,52.95H251a19,19,0,0,1,0-38h42a19,19,0,0,1,0,38Zm-42-36a17,17,0,1,0,0,34h42a17,17,0,0,0,0-34Z" fill="#009cbd"/>
+          </g>
+          <g id="憛怠神-2" style="isolation: isolate">
+            <g id="Group_3902" data-name="Group 3902" style="isolation: isolate">
+              <path id="Path_8734" data-name="Path 8734" d="M263.922,25.787v-1.32h2.021v1.32h4.7v1.78h-4.7v.88h3.7v9.122h1.7V39.41H267.6a22.193,22.193,0,0,1,3.541,2.32l-1.261,1.46a22.288,22.288,0,0,0-3.8-2.76l1.1-1.02h-4.5l1.18,1.04a16.935,16.935,0,0,1-4.28,2.74l-1.221-1.56a17.169,17.169,0,0,0,3.9-2.22h-3.741v-1.4a42.137,42.137,0,0,1-5.3,1.679L252.7,37.67a21.682,21.682,0,0,0,2.22-.481V31.168h-2v-1.96h2v-4.6h2.021v4.6h1.821v1.96h-1.821v5.421c.6-.22,1.18-.46,1.741-.7v1.68h1.56V28.447h3.68v-.88h-4.7v-1.78Zm3.762,5.061v-.8H262.2v.8Zm0,2.22v-.8H262.2v.8Zm0,2.221v-.8H262.2v.8Zm0,2.28v-.86H262.2v.86Z" fill="#009cbd"/>
+              <path id="Path_8735" data-name="Path 8735" d="M284.062,41.17c.721.04,1.42.06,2.081.06a1.435,1.435,0,0,0,1.42-.66,8.53,8.53,0,0,0,.46-2.94h-10.7c-.341.26-.68.5-1,.72l1.421.379a20.725,20.725,0,0,1-1.24,3.942l-1.88-.681a15.5,15.5,0,0,0,1.3-3.381c-.46.281-.941.561-1.421.821l-1.26-1.54a15.1,15.1,0,0,0,4.281-2.8h-1.74v-6.3a18.043,18.043,0,0,0,4.961-.78l.88,1.54a22.576,22.576,0,0,1-3.981.82v.72h3.582v1.56h-3.582v.8h8.722v-.78h-3.3v-1.56h3.3v-.82h-3.6v-1.62h5.482v6.421H279.9c-.24.28-.48.56-.72.82h10.862c-.06,1.721-.16,3.1-.3,4.181a4.687,4.687,0,0,1-.84,2.221,2.732,2.732,0,0,1-1.861.66h-2.481Zm6.461-11.382h-1.96v-2.06h-13.1v2.08H273.5V25.887h7.222a11.351,11.351,0,0,0-.7-1.1l2.161-.36a14.107,14.107,0,0,1,.68,1.46h7.661ZM281.1,41.811l-1.86.439a30.087,30.087,0,0,0-.6-3.42l1.7-.381C280.622,39.49,280.861,40.61,281.1,41.811Zm3.121-.8-1.781.421a15.743,15.743,0,0,0-.84-2.822l1.68-.339A21.867,21.867,0,0,1,284.223,41.01Zm2.961-.86-1.58.68a17.587,17.587,0,0,0-.961-2.32l1.541-.641A17.166,17.166,0,0,1,287.184,40.15Z" fill="#009cbd"/>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g id="Group_3905" data-name="Group 3905" transform="translate(-2204.933 -10168.411)">
+        <path id="Path_8736" data-name="Path 8736" d="M316.829,43.468a1.1,1.1,0,0,0-1.1,1.1v1H313.3V43.309a1.1,1.1,0,1,0-2.207,0v2.263h-2.421v-3.1a1.1,1.1,0,1,0-2.207,0v3.1h-2.429V34.05a1.1,1.1,0,1,0-2.207,0V51.641l-3.473-4.778a1.1,1.1,0,0,0-.719-.44,1.154,1.154,0,0,0-.174-.014,1.094,1.094,0,0,0-.647.212,1.106,1.106,0,0,0-.243,1.541l6.735,9.255a1.108,1.108,0,0,0,.892.455h10.939a1.1,1.1,0,0,0,1.074-.85l1.682-7.15a1.053,1.053,0,0,0,.03-.252V44.49A1.106,1.106,0,0,0,316.829,43.468Z" fill="#f8f9fa"/>
+        <path id="Path_8737" data-name="Path 8737" d="M316.829,41.468a3.092,3.092,0,0,0-1.8.573,3.1,3.1,0,0,0-4.786-1.143,3.1,3.1,0,0,0-4.207-1.125V34.05a3.1,3.1,0,1,0-6.207,0V45.5a3.1,3.1,0,0,0-4.873,3.836l6.735,9.255a3.11,3.11,0,0,0,2.509,1.278h10.94a3.089,3.089,0,0,0,3.02-2.393l1.683-7.148a3.132,3.132,0,0,0,.082-.711l0-5.049A3.107,3.107,0,0,0,316.829,41.468Zm-1.685,16.4H304.2a1.108,1.108,0,0,1-.892-.455l-6.735-9.255a1.106,1.106,0,0,1,.243-1.541,1.094,1.094,0,0,1,.647-.212,1.154,1.154,0,0,1,.174.014,1.1,1.1,0,0,1,.719.44l3.473,4.778V34.05a1.1,1.1,0,1,1,2.207,0V45.572h2.429v-3.1a1.1,1.1,0,1,1,2.207,0v3.1H311.1V43.309a1.1,1.1,0,1,1,2.207,0v2.262h2.421v-1a1.1,1.1,0,0,1,2.2-.081v5.13a1.053,1.053,0,0,1-.03.252l-1.682,7.15A1.1,1.1,0,0,1,315.144,57.872Z" fill="#20375a"/>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/PAMapp/assets/scss/_common.scss b/PAMapp/assets/scss/_common.scss
index 1898ed7..ee6f5d2 100644
--- a/PAMapp/assets/scss/_common.scss
+++ b/PAMapp/assets/scss/_common.scss
@@ -103,6 +103,7 @@
           align-items: center;
           font-weight: bold;
           width: 70px;
+          background-color: #fff;
           border-radius: 6px;
           border-bottom: 1px solid #CCCCCC;
           border-right: 1px solid #CCCCCC;
@@ -115,6 +116,7 @@
         flex:1;
         border-radius: 5px;
         padding: 10px;
+        background-color: #fff;
       }
       .mb-3{
         margin-bottom: 3px;
diff --git a/PAMapp/assets/scss/vendors/elementUI/_input.scss b/PAMapp/assets/scss/vendors/elementUI/_input.scss
index f861086..917ac76 100644
--- a/PAMapp/assets/scss/vendors/elementUI/_input.scss
+++ b/PAMapp/assets/scss/vendors/elementUI/_input.scss
@@ -6,6 +6,10 @@
   border-radius: 10px;
 }
 
+.el-input__inner {
+  font-size: 18px;
+}
+
 .pam-appointment-textarea {
   &.is-disabled {
     .el-textarea__inner {
@@ -30,4 +34,4 @@
           border: solid 1px $SKY_BLUE;
       }
   }
-}
\ No newline at end of file
+}
diff --git a/PAMapp/assets/scss/vendors/elementUI/_textarea.scss b/PAMapp/assets/scss/vendors/elementUI/_textarea.scss
index 4b26b33..33743b0 100644
--- a/PAMapp/assets/scss/vendors/elementUI/_textarea.scss
+++ b/PAMapp/assets/scss/vendors/elementUI/_textarea.scss
@@ -1,8 +1,8 @@
 .el-textarea__inner {
     border: 1px solid #707070;
     padding: 10px 20px;
-    font-size: 20px;
+    font-size: 18px;
     &::placeholder {
-        font-size: 20px;
+        font-size: 18px;
     }
 }
diff --git a/PAMapp/components/Appointment/AppointmentClosedInfo.vue b/PAMapp/components/Appointment/AppointmentClosedInfo.vue
index dc92814..ec701c4 100644
--- a/PAMapp/components/Appointment/AppointmentClosedInfo.vue
+++ b/PAMapp/components/Appointment/AppointmentClosedInfo.vue
@@ -6,25 +6,24 @@
           <div class="mdTxt text--primary text--underline cursor--pointer" @click="editAppointmentHasClosed">蝺刻摩</div>
         </div>
         <span class="mt-10 mb-30">{{ displayClosedType }}</span>
-
-        <template v-if="appointmentDetail.appointmentClosedInfo.policyholderIdentityId">
+        <template v-if="appointmentDetail.appointmentClosedInfo.policyholderIdentityId && appointmentDetail.communicateStatus === 'done'">
           <div class="mdTxt mb-10">靽頨思遢霅���</div>
           <div class="mb-30">{{ appointmentDetail.appointmentClosedInfo.policyholderIdentityId }}</div>
         </template>
 
-        <template v-if="appointmentDetail.appointmentClosedInfo.planCode">
+        <template v-if="appointmentDetail.appointmentClosedInfo.planCode && appointmentDetail.communicateStatus === 'done'">
           <div class="mdTxt mb-10">���誨蝣噗lan Code</div>
           <div class="mb-30">{{ appointmentDetail.appointmentClosedInfo.planCode }}</div>
         </template>
 
-        <template v-if="appointmentDetail.appointmentClosedInfo.closedReason">
+        <template v-if="appointmentDetail.appointmentClosedInfo.closedReason && appointmentDetail.communicateStatus !== 'done'">
           <div class="mdTxt mb-10">���漱����</div>
           <div >{{ appointmentDetail.appointmentClosedInfo.closedReason | toFailReasonLabel }}</div>
           <div v-if="appointmentDetail.appointmentClosedInfo.closedOtherReason" class="mt-10">{{ appointmentDetail.appointmentClosedInfo.closedOtherReason }}</div>
           <div class="mb-30"></div>
         </template>
 
-        <template v-if="appointmentDetail.appointmentClosedInfo.policyEntryDate">
+        <template v-if="appointmentDetail.appointmentClosedInfo.policyEntryDate && appointmentDetail.communicateStatus === 'done'">
           <div class="mdTxt mb-10">�脖辣����</div>
           <div class="mb-30">{{ appointmentDetail.appointmentClosedInfo.policyEntryDate | formatDate }}</div>
         </template>
diff --git a/PAMapp/components/Appointment/AppointmentInterviewList.vue b/PAMapp/components/Appointment/AppointmentInterviewList.vue
index 8366632..92fe2cc 100644
--- a/PAMapp/components/Appointment/AppointmentInterviewList.vue
+++ b/PAMapp/components/Appointment/AppointmentInterviewList.vue
@@ -5,28 +5,37 @@
             <div class="pam-link-button"
             @click="addInterview">+�憓�</div>
         </div>
-        <InterviewCard :interviewList="displayList.slice(0, 3)"></InterviewCard>
+
+        <InterviewCard :interviewList="displayAppointmentList"></InterviewCard>
 
         <section class="text--right mt-30 interview-check-more" v-if="interviewList.length > 3">
-                <div class="pam-link-button" @click="readMoreBtn">
-                  撅��憭�
-                  <i class="icon-expand"></i>
+                <div class="pam-link-button" @click="readAllList = !readAllList">
+                  {{ readAllList ?  '憿舐內頛��' : '撅��憭�' }}
+                  <i :class="readAllList ? 'icon-top' : 'icon-down'"></i>
                   </div>
         </section>
     </div>
 </template>
 
 <script lang="ts">
-import { Vue, Component, Prop, Watch } from 'nuxt-property-decorator';
+import { Vue, Component, Prop, Watch, namespace } from 'nuxt-property-decorator';
+
 import { InterviewRecord } from '~/shared/models/appointment.model';
 
 @Component
 export default class AppointmentInterviewList extends Vue {
+
   @Prop()
   interviewList!: InterviewRecord[];
 
   appointmentId!: string;
   displayList: InterviewRecord[] = [];
+  readAllList = false;
+
+  get displayAppointmentList(): InterviewRecord[] {
+    return this.readAllList ? this.displayList : this.displayList.slice(0, 3);
+  }
+
 
   //////////////////////////////////////////////////////////////////////
 
@@ -49,10 +58,6 @@
 
   addInterview(): void {
     this.$router.push(`/appointment/${this.appointmentId}/interview/new`);
-  }
-
-  readMoreBtn() {
-      this.$router.push(`/appointment/${this.appointmentId}/interviewList`);
   }
 
 }
diff --git a/PAMapp/components/Client/ClientCard.vue b/PAMapp/components/Client/ClientCard.vue
index 70510bf..7cbde5d 100644
--- a/PAMapp/components/Client/ClientCard.vue
+++ b/PAMapp/components/Client/ClientCard.vue
@@ -54,7 +54,6 @@
                 ></el-avatar>
                 <div class="satisfaction" v-if="!hideReviews">
                     <template v-if="client.satisfactionScore">
-                        TODO:���遛��漲
                         <i class="icon-star pam-icon icon--yellow satisfaction"></i>
                         <span>{{client.satisfactionScore}}</span>
                     </template>
diff --git a/PAMapp/components/Consultant/ConsultantCard.vue b/PAMapp/components/Consultant/ConsultantCard.vue
index b154bf8..642c210 100644
--- a/PAMapp/components/Consultant/ConsultantCard.vue
+++ b/PAMapp/components/Consultant/ConsultantCard.vue
@@ -7,16 +7,27 @@
                     :agentNo="agentInfo.agentNo"
                     @click.native="showAgentDetail(agentInfo.agentNo)"
                 ></UiAvatar>
-                <!-- TODO:���遛��漲 -->
-                <div v-if="!hideReviews">
-                    <i class="icon-star pam-icon icon--yellow satisfaction"  v-if="notScoreAppointmentYet"></i>
-                    <span v-if="notScoreAppointmentYet">
-                        {{ agentInfo.satisfactionScore }}
-                    </span>
-                    <div class="unfilled text--center "
-                        style="display:flex"
-                        v-if="notScoreAppointmentYet">�憛�<br />皛踵�漲</div>
-                    <span v-if="agentInfo.contactStatus !== 'contacted'">{{ agentInfo.avgScore }}</span>
+                <div v-if="!hideReviews" style="display: flex; justify-content: flex-start; align-items: center; margin-top: 6px; font-size: 12px">
+                    <i v-if="isAppointment ? agentInfo.appointmentScore : agentInfo.avgScore"
+                      class="icon-star pam-icon icon--yellow satisfaction"
+                       style="margin-top: 0"></i>
+                    <template v-if="isAppointment">
+                      <template v-if="agentInfo.appointmentStatus === 'closed'
+                                    || agentInfo.appointmentStatus === 'done'">
+                        <span v-if="agentInfo.appointmentScore">
+                            {{ agentInfo.appointmentScore }}
+                        </span>
+                        <div class="unfilled text--center "
+                            style="display:flex"
+                            v-else>�憛�<br />皛踵�漲</div>
+                      </template>
+                    </template>
+                    <template v-else>
+                      <span v-if="agentInfo.avgScore">{{ agentInfo.avgScore }}</span>
+                      <span class="unfilled text--center "
+                          style="display:flex" v-else>撠<br />皛踵�漲</span>
+                    </template>
+
                 </div>
             </el-col>
             <el-col :xs="10" :sm="15">
@@ -34,7 +45,7 @@
                     @click="isRemoveAgentPopup = true"
                 >蝘駁</div>
                 <div
-                    v-if="notScoreAppointmentYet"
+                    v-if="notScoreAppointmentYet && (agentInfo.appointmentStatus === 'closed' || agentInfo.appointmentStatus === 'done')"
                     class="text--primary text--underline cursor--pointer xsTxt text--bold"
                     @click="reviewsBtn = true">蝯虫�遛��漲閰��</div>
             </el-col>
@@ -45,7 +56,7 @@
                     :class="actionBtnStyle"
                 >{{ actionBtnLabel }}</el-button>
                 <div class="updateTime mt-10">
-                    {{ agentInfo.updateTime | formatDate }}
+                    {{ (isAppointment ? agentInfo.appointmentLastModifiedDate : agentInfo.updateTime)  | formatDate }}
                 </div>
             </el-col>
         </el-row>
@@ -57,7 +68,7 @@
         >
             <div v-if="appointmentDetail">
                 <h5 class="subTitle text--center mb-30">������</h5>
-                <p class="smTxt">{{appointmentDetail.appointmentDate | formatDate}}</p>
+                <p class="smTxt">{{appointmentDetail.appointmentDate | formatDate}} 撱箇��</p>
                 <div class="reserved-info">
                     <p>憪��{appointmentDetail.name}}</p>
                     <p>�閰梧�{appointmentDetail.phone}}</p>
@@ -70,17 +81,17 @@
                         v-for="(item, index) in hopeContactTime"
                         :key="index"
                     >��蝯⊥�挾{{index + 1 | formatNumber}}嚗{ item | formatHopeContactTime }}</p>
-                    <div v-if="appointmentDetail.satisfactionScore">
+                    <div v-if="appointmentDetail.appointmentScore">
                         <div class="mdTxt mt-10 mb-10">皛踵�漲</div>
                         <el-rate
-                        :value="appointmentDetail.satisfactionScore"
+                        :value="appointmentDetail.appointmentScore"
                         class="pam-myDemand-dialog__rate"
                         disabled>
                         </el-rate>
                     </div>
                 </div>
 
-                <div v-if="notScoreAppointmentYet" class="reserved-btn">
+                <div v-if="notScoreAppointmentYet && (agentInfo.appointmentStatus === 'closed' || agentInfo.appointmentStatus === 'done')" class="reserved-btn">
                     <el-button type="primary"
                         @click.native="reviewsBtn = true">蝯虫�遛��漲閰��</el-button>
                 </div>
@@ -151,7 +162,8 @@
 import { hideReviews } from '~/shared/const/hide-reviews';
 import { Consultant, ConsultantWithAppointmentId } from '~/shared/models/consultant.model';
 import { Appointment } from '~/shared/models/appointment.model';
-import { UserReviewsConsultantsParams } from '~/shared/models/reviews.model';
+import { SatisfactionType } from '~/shared/models/enum/satisfaction-type';
+import { UserReviewParams } from '~/shared/models/reviews.model';
 
 const localStorage = namespace('localStorage');
 @Component({
@@ -212,13 +224,14 @@
         otherRequirement  : null,
         phone             : "",
         requirement       : '',
-        satisfactionScore : 0,
+        appointmentScore : 0,
     };
 
     get notScoreAppointmentYet(): boolean {
       const isAppointment = !!this.agentInfo['appointmentStatus'];
-      if (!isAppointment) return false;
-      return this.agentInfo['appointmentStatus'] !== 'contacted' ? !this.agentInfo['appointmentScore'] : false;
+      return isAppointment
+            ? !this.agentInfo['appointmentScore']
+            : !this.agentInfo.avgScore
     }
 
     get isAppointment(): boolean {
@@ -340,7 +353,7 @@
         appointmentService.getAppointmentDetail(appointmentId!).then(res => {
             this.appointmentDetail = {
                 ...res,
-                satisfactionScore:  this.agentInfo['appointmentScore'],
+                appointmentScore:  this.agentInfo['appointmentScore'],
             };
             this.width = UtilsService.isMobileDevice() ? '80%' : '';
             this.isVisibleDialog = true;
@@ -368,11 +381,12 @@
                           ? this.agentInfo['appointmentId']
                           : this.latestNotClosedAppointment.id;
 
-        const reviewParams: UserReviewsConsultantsParams = {
+        const reviewParams: UserReviewParams = {
             appointmentId: appointmentId,
             score: this.inputScore,
+            type : SatisfactionType.APPOINTMENT,
         }
-        this.appointmentDetail.satisfactionScore = this.inputScore;
+        this.appointmentDetail.appointmentScore = this.inputScore;
 
         reviewsService.userReviewsConsultants(reviewParams).then((res) => {
             this.reviewsBtn = false;
diff --git a/PAMapp/components/Consultant/ConsultantSwiper.vue b/PAMapp/components/Consultant/ConsultantSwiper.vue
index 01f568b..ae61981 100644
--- a/PAMapp/components/Consultant/ConsultantSwiper.vue
+++ b/PAMapp/components/Consultant/ConsultantSwiper.vue
@@ -17,8 +17,7 @@
               >
               </UiAvatar>
               <div class="name">{{agentInfo.name}}</div>
-              <div v-if="!hideReviews">
-                <!-- TODO:���遛��漲 -->
+              <div v-if="!hideReviews" style="display: flex; align-items: center; justify-content: center; margin-top: 4px">
                 <i class="icon-star pam-icon icon--yellow"></i>
                 <span class="satisfaction">{{agentInfo.avgScore}}</span>
               </div>
diff --git a/PAMapp/components/Interview/InterviewAdd.vue b/PAMapp/components/Interview/InterviewAdd.vue
index 511920e..145c41f 100644
--- a/PAMapp/components/Interview/InterviewAdd.vue
+++ b/PAMapp/components/Interview/InterviewAdd.vue
@@ -79,7 +79,7 @@
         @closePopUp="closePopup">
         <div class="text--center mdTxt">{{confirmTxt}}嚗�</div>
         <div class="text--center mdTxt">蝡���赤�嚗�</div>
-        <div class="text--center mt-30" style="display:flex">
+        <div class="text--center mt-30 confirm-btn">
             <el-button @click="closePopup">�����</el-button>
             <el-button @click="showInterviewMsgPopup = true" type="primary">���赤�</el-button>
         </div>
@@ -262,5 +262,8 @@
         z-index: 5;
       }
     }
-
+.confirm-btn{
+  display: flex;
+  justify-content: center;
+}
 </style>
diff --git a/PAMapp/components/Interview/InterviewCard.vue b/PAMapp/components/Interview/InterviewCard.vue
index c0e9a0f..5c39f5f 100644
--- a/PAMapp/components/Interview/InterviewCard.vue
+++ b/PAMapp/components/Interview/InterviewCard.vue
@@ -25,7 +25,7 @@
                 </div>
               <div class="p mt-5">
                 <UiDateFormat
-                            class="date bold"
+                            class="mt-5 line-space time"
                             :date="item.interviewDate"
                             onlyShowSection="DATE" />
               </div>
@@ -33,7 +33,7 @@
             <div class="remind-content-txt">
               <div style="display:flex">
                 <UiDateFormat
-                            class="date bold "
+                            class="mt-5 line-space mb-3 time"
                             :date="item.interviewDate"
                             onlyShowSection="TIME" />
               </div>
@@ -56,7 +56,7 @@
                   <div class="mb-3 smTxt bgc-primary-red date-year">
                     <div class="mb-3 mt-2">
                       <UiDateFormat
-                            class="bold date"
+                            class=" date"
                             :date="item.interviewDate"
                             onlyShowSection="YEAR" />
                     </div>
diff --git a/PAMapp/components/QuickFilter/QuickFilterConsultantList.vue b/PAMapp/components/QuickFilter/QuickFilterConsultantList.vue
index 71555ba..7daefd9 100644
--- a/PAMapp/components/QuickFilter/QuickFilterConsultantList.vue
+++ b/PAMapp/components/QuickFilter/QuickFilterConsultantList.vue
@@ -32,7 +32,6 @@
                         <div class="mb-10">{{item.seniority}}</div>
                     </el-col>
                     <el-col :span="12" v-if="!hideReviews">
-                        <!-- TODO:���遛��漲 -->
                         <div class="smTxt_bold mb-10 text--prudential_grey">摰X皛踵�漲</div>
                         <div>
                             <i class="icon-star pam-icon icon--yellow "></i>
diff --git a/PAMapp/components/ReviewRecords/ReviewRecords.vue b/PAMapp/components/ReviewRecords/ReviewRecords.vue
index 5258e5e..e1c3fb0 100644
--- a/PAMapp/components/ReviewRecords/ReviewRecords.vue
+++ b/PAMapp/components/ReviewRecords/ReviewRecords.vue
@@ -18,7 +18,7 @@
                 v-for="(appointmentLog, index) in reviewLogList"
                 :key="index">
                 <div class="user-reviews-card-content" v-if="isUserLogin">
-                    �撠�<span class="mdTxt">{{ ` ${appointmentLog.agentName} ` }}</span>���� <UiReviewScore :score="appointmentLog.score" /> 閰嚗�
+                    �撠�<span class="mdTxt">{{ ` ${appointmentLog.type === 'APPOINTMENT' ? appointmentLog.agentName : '撟喳'} ` }}</span>���� <UiReviewScore :score="appointmentLog.score" /> 閰嚗�
                 </div>
                 <div class="user-reviews-card-content" v-else>
                     {{ `${appointmentLog.customerName} `}} 撠���� <UiReviewScore :score="appointmentLog.score" /> 閰嚗�
diff --git a/PAMapp/components/Ui/UiField.vue b/PAMapp/components/Ui/UiField.vue
index dfa1512..8845d85 100644
--- a/PAMapp/components/Ui/UiField.vue
+++ b/PAMapp/components/Ui/UiField.vue
@@ -86,7 +86,9 @@
   }
   .pam-field__content {
     display    : flex;
-    padding-top: 10px;
+    // padding-top: 10px;
+    white-space: pre-line;
+    line-height: 1.5;
   }
 }
 </style>
diff --git a/PAMapp/components/editConsultantAvatar.vue b/PAMapp/components/editConsultantAvatar.vue
index 02d61c9..0b3832c 100644
--- a/PAMapp/components/editConsultantAvatar.vue
+++ b/PAMapp/components/editConsultantAvatar.vue
@@ -10,18 +10,24 @@
       :show-file-list="false"
       accept="image/png, image/jpeg, image/jpg">
         <el-avatar
-
           :size="150"
           :src="imgSrc"
           class="pam-avatar cursor--pointer fix-chrome-click--issue"
         ></el-avatar>
-        <div  class="pam-avatar-uploader__action-label mt-10 cursor--pointer" >閮剖����</div>
+            <div class="text--center mt-10">
+              <el-button
+              >閮剖����</el-button>
+            </div>
     </el-upload>
       <div
         v-if="showResetAvatarBtn"
         class="pam-avatar-uploader__action-label text--center mt-10 cursor--pointer"
-        @click="resetAvatar">
-        ��������
+        style="line-height: 1.5"
+        >
+        <i class="icon-information"></i>
+        隢����銝�������������
+        <span class="text--primary cursor--pointer text--underline" @click="resetAvatar">���迨����</span>
+
       </div>
 
   </div>
diff --git a/PAMapp/components/multiSelectBtn.vue b/PAMapp/components/multiSelectBtn.vue
index 0abc66e..707a96f 100644
--- a/PAMapp/components/multiSelectBtn.vue
+++ b/PAMapp/components/multiSelectBtn.vue
@@ -88,7 +88,7 @@
 
 <style lang="scss" scoped>
   .pam-selectAll-btn{
-    padding         : 6px 20px;
+    padding         : 10px 20px;
     border          : 1px $LIGHT_GREY solid;
     background-color: $PRIMARY_WHITE;
     border-radius   : 30px;
diff --git a/PAMapp/nuxt.config.js b/PAMapp/nuxt.config.js
index d4252d5..73033a1 100644
--- a/PAMapp/nuxt.config.js
+++ b/PAMapp/nuxt.config.js
@@ -40,6 +40,7 @@
     '~/plugins/filters/date.filter.ts',
     '~/plugins/filters/age.filter.ts',
     '~/plugins/filters/appointment-fail-reason.filter.ts',
+    '~/plugins/filters/serve-area.filter.ts',
   ],
 
   // Auto import components: https://go.nuxtjs.dev/config-components
diff --git a/PAMapp/pages/accountSetting/index.vue b/PAMapp/pages/accountSetting/index.vue
index b9ab04d..bf3a713 100644
--- a/PAMapp/pages/accountSetting/index.vue
+++ b/PAMapp/pages/accountSetting/index.vue
@@ -1,5 +1,5 @@
 <template>
-  <div>
+  <div class="pam-account-setting">
     <div class="pam-paragraph text--middle">�犖撣唾�身摰�</div>
     <div class="pam-paragraph account-info " >
       <div class="account-info__title text--middle">憪��</div>
@@ -17,7 +17,9 @@
         <i class="icon-edit" @click="editField('userName')" :class="{'icon-color-change': !userNameDisabled}"></i>
       </div>
     </div>
-    <div class="pam-paragraph account-info" v-if="phoneValue">
+
+    <!-- NOTE: 銝餉�蝯⊥撘� -->
+    <div class="pam-paragraph account-info" v-if="!isPrimaryContactTypeEmail">
       <div class="account-info__title text--middle">蝬��</div>
       <div class="account-info__input " :class="{'edit': !userPhoneDisabled }">
         <div class="text--middle mb-10">����Ⅳ</div>
@@ -32,35 +34,125 @@
         </div>
       </div>
     </div>
-    <div class="pam-paragraph account-info" v-if="emailValue">
+
+    <div class="pam-paragraph account-info" v-if="isPrimaryContactTypeEmail">
       <div class="account-info__title text--middle">蝬��</div>
       <div class="account-info__input" :class="{'edit': !userEmailDisabled }">
         <div class="text--middle mb-10">Email</div>
-        <input :disabled="userEmailDisabled"
-          v-model="emailValue"
-          :class="{'is-invalid': !emailValid }"
-          ref="userEmail"
-          class="account-info__input-text"
-          :placeholder="emailValue || '撠���� Email'">
+        <el-input
+              :disabled ="userEmailDisabled"
+              type="textarea"
+              autosize
+              resize="none"
+              v-model="emailValue"
+              :class="{'is-invalid': !emailValid }"
+              ref="userEmail"
+              class="account-info__input-text text--break-all"
+              style="margin-left:-10px"
+              :placeholder="emailValue || '撠���� Email'">
+          </el-input>
         <div class="account-info__input-error">
             <span v-show="!emailValue" class="error">靽∠拳�撘�炊</span>
         </div>
       </div>
     </div>
 
+    <!-- NOTE: ���蝯⊥撘� -->
+
+    <div
+      v-if="(!defaultUserSetting.phone || !defaultUserSetting.email) && !otherContactType"
+      class="text--underline text--primary"
+      @click="editOtherContactType">+�隞��蝜急撘�</div>
+
+    <template v-if="(defaultUserSetting.phone && defaultUserSetting.email) || otherContactType">
+
+      <div v-if="!isPrimaryContactTypeEmail">
+
+         <div class="pam-paragraph account-info">
+        <div class="account-info__title text--middle">��</div>
+          <div class="account-info__input " :class="{'edit': !userEmailDisabled }" >
+          <div class="text--middle mb-10 account-info-dele-other-contact-type">
+            <div>Email</div>
+            <div class="account-info__icon text--middle">
+              <i class="icon-delet" v-if="defaultUserSetting.mail" @click="isShowDeleteDialog = true"></i>
+              <i class="icon-edit"  @click="editField('userEmail')" :class="{'icon-color-change': !userEmailDisabled}"></i>
+            </div>
+          </div>
+          <el-input
+              type="textarea"
+              autosize
+              :disabled="userEmailDisabled"
+              resize="none"
+              v-model="emailValue"
+              :class="{'is-invalid': !emailValid }"
+              ref="userEmail"
+              class="account-info__input-text text--break-all"
+              style="margin-left:-10px"
+              :placeholder="emailValue || '撠���� Email'">
+          </el-input>
+            <div class="account-info__input-error">
+              <span v-show="!emailValid" class="error">靽∠拳�撘�炊</span>
+            </div>
+        </div>
+          </div>
+
+      </div>
+
+      <div class="pam-paragraph account-info" v-if="isPrimaryContactTypeEmail">
+
+        <div class="account-info__title text--middle">��</div>
+          <div class="account-info__input" :class="{'edit': !userPhoneDisabled }">
+          <div class="text--middle mb-10 account-info-dele-other-contact-type">
+            <div>����Ⅳ</div>
+            <div class="account-info__icon text--middle">
+              <i class="icon-delet" v-if="defaultUserSetting.phone" @click="isShowDeleteDialog = true"></i>
+              <i class="icon-edit" @click="editField('userPhone')" :class="{'icon-color-change': !userPhoneDisabled}"></i>
+            </div>
+          </div>
+          <input
+            v-model="phoneValue"
+            :disabled="userPhoneDisabled"
+            :class="{'is-invalid': !phoneValid}"
+            ref="userPhone"
+            class="account-info__input-text"
+            :placeholder="phoneValue ||'撠������Ⅳ'">
+          <div class="account-info__input-error">
+              <span v-show="!phoneValid" class="error">����Ⅳ�撘�炊</span>
+          </div>
+        </div>
+          </div>
+
+    </template>
+
+
     <PopUpFrame :isOpen.sync="updateDone">
       <div class="text--center mdTxt fs-18">
         <p class="mt-20 text--center ">撣唾��������</p>
         <el-button
                 type="primary"
-                @click="updateDone = false"
+                @click="confirmUpdateAndBackToHome"
                 class="mt-20"
               >������</el-button>
       </div>
     </PopUpFrame>
 
+    <PopUpFrame :isOpen.sync="isShowDeleteDialog">
+      <div class="text--center mdTxt fs-18">
+      <p class="mt-20 text--center ">��蝣箄����甈���</p>
+          <el-button
+              @click="isShowDeleteDialog = false"
+              class="mt-20"
+            >����</el-button>
+        <el-button
+                type="primary"
+                @click="deleteOtherContactType"
+                class="mt-20"
+              >蝣箄��</el-button>
+      </div>
+    </PopUpFrame>
+
     <div class="pam-paragraph account-confirm">
-      <el-button :disabled="isSubmitBtnDisabled"
+      <el-button :disabled="isSubmitBtnDisabled "
         @click.native="updateAccountSetting">
           �
       </el-button>
@@ -70,18 +162,34 @@
 
 <script lang="ts">
 import { Vue,Component } from 'vue-property-decorator'
-import { UserSetting } from '~/shared/models/account.model';
+import { namespace } from 'vuex-class';
+
+import _ from 'lodash';
 
 import accountSettingService from '~/shared/services/account-setting.service';
+import { UserSetting } from '~/shared/models/account.model';
+
+const localStorageStore = namespace('localStorage');
 
 @Component
 export default class AccountSetting extends Vue {
 
-  _userSetting!: UserSetting;
+  @localStorageStore.Getter
+  isPrimaryContactTypeEmail!: boolean;
+
+
+  defaultUserSetting: UserSetting = {
+    name :  '',
+    phone:  '',
+    email:  '',
+  };
+
   userNameDisabled  = true;
   userPhoneDisabled = true;
   userEmailDisabled = true ;
-  onEditMode        = false;
+  otherContactType = false;
+  isShowDeleteDialog = false;
+
   updateDone        = false;
   userNameValue     = '';
   phoneValue        = '' ;
@@ -95,20 +203,19 @@
 ////////////////////////////////////////////////////////////
   mounted(){
             accountSettingService.getUserAccountSetting().then((userInfo: UserSetting)=>{
-                this._userSetting = {
+                this.defaultUserSetting = _.cloneDeep({
                     name : userInfo.name || '',
                     phone: userInfo.phone || '',
                     email: userInfo.email || '',
-                };
-                this.phoneValue    = this._userSetting.phone!;
-                this.userNameValue = this._userSetting.name!;
-                this.emailValue    = this._userSetting.email!;
+                });
+                this.phoneValue    = this.defaultUserSetting.phone!;
+                this.userNameValue = this.defaultUserSetting.name!;
+                this.emailValue    = this.defaultUserSetting.email!;
             })
         }
 ////////////////////////////////////////////////////////////
 
   editField(fieldName: string): void {
-            this.onEditMode = true;
             const enablePromise = new Promise((resolve, reject) => { // 甇斤promise隤��
                 resolve((this as any)[`${fieldName}Disabled`] = false);
             });
@@ -118,26 +225,63 @@
             });
         }
   updateAccountSetting(): void {
-            if (!this.onEditMode) return;
-            const editSettingInfo: UserSetting = {
-                name: this.userNameValue,
-                phone: this.phoneValue,
-                email: this.emailValue
-            }
-            accountSettingService.updateAccountSetting(editSettingInfo).then((res: any) => {
-                console.log('updateRes:', res);
-                this.resetSettingForm();
-                this.updateDone = true;
-
-            });
-        }
+      const editSettingInfo: UserSetting = {
+          name: this.userNameValue,
+          phone: this.phoneValue,
+          email: this.emailValue
+      }
+      accountSettingService.updateAccountSetting(editSettingInfo).then((res: any) => {
+          this.resetSettingForm();
+          this.updateDone = true;
+          this.defaultUserSetting = editSettingInfo;
+      });
+  }
 
   private resetSettingForm(): void {
-            this.onEditMode = false;
             this.userNameDisabled = true;
             this.userPhoneDisabled = true;
             this.userEmailDisabled = true ;
         }
+
+  editOtherContactType(){
+    this.otherContactType = true;
+    setTimeout(() => {
+      if (this.isPrimaryContactTypeEmail) {
+        this.editField('userPhone');
+      } else {
+        this.editField('userEmail');
+      }
+    }, 0);
+  }
+
+  deleteOtherContactType(): void {
+    const editSettingInfo: UserSetting = {
+        name: this.userNameValue,
+        phone: '',
+        email: '',
+    };
+
+    if (this.isPrimaryContactTypeEmail) {
+      editSettingInfo.email = this.emailValue;
+    } else {
+      editSettingInfo.phone = this.phoneValue;
+    }
+
+    accountSettingService.updateAccountSetting(editSettingInfo).then((res: any) => {
+        this.resetSettingForm();
+        this.updateDone = true;
+        if (this.isPrimaryContactTypeEmail) {
+          this.phoneValue = '';
+          this.defaultUserSetting.phone = '';
+        } else {
+          this.emailValue = '';
+          this.defaultUserSetting.email = '';
+        }
+        this.isShowDeleteDialog = false;
+        this.otherContactType = false;
+    });
+
+  }
 
 ////////////////////////////////////////////////////////////
 
@@ -154,66 +298,87 @@
 
   get emailValid(): boolean {
             const rule = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
-            this.formValidStatus.email = this.emailValue ? rule.test(this.emailValue) : true;;
+            this.formValidStatus.email = this.emailValue ? rule.test(this.emailValue) : true;
             return this.formValidStatus.email;
         }
   get isSubmitBtnDisabled(): boolean {
             const isFormValid = this.formValidStatus.name && this.formValidStatus.phone && this.formValidStatus.email;
-            return !isFormValid || !this.onEditMode
-                || (!this.phoneValue && !this.emailValue);
+            const isOtherContactTypeChange = this.isPrimaryContactTypeEmail
+                                            ? this.defaultUserSetting.phone !== this.phoneValue
+                                            : this.defaultUserSetting.email !== this.emailValue;
+            return !isFormValid
+                  || (this.userNameValue === this.defaultUserSetting.name
+                  && !isOtherContactTypeChange);
         }
+
+  confirmUpdateAndBackToHome():void{
+      this.updateDone = false
+      this.$router.push('/accountSetting')
+  }
 
 }
 
 
 </script>
 
-<style lang="scss" scoped>
-.account-info{
-  display: flex;
-  align-items: baseline;
-  border-bottom: 1px gray solid;
-  padding: 15px 15px 15px 30px;
-  .account-info__title{
-    width: 58px;
-  }
-  .account-info__input{
-    flex: 1;
-
-    &.edit {
+<style lang="scss">
+.pam-account-setting {
+  .account-info{
+    display: flex;
+    align-items: baseline;
+    border-bottom: 1px gray solid;
+    padding: 15px 15px 15px 30px;
+    .account-info__title{
+      width: 58px;
+    }
+    .account-info__input{
+      flex: 1;
+      &.edit {
+        .account-info__input-text{
+          border: 1px solid lightgray;
+          background-color: #fff;
+        }
+      }
       .account-info__input-text{
-        border: 1px solid lightgray;
-        background-color: #fff;
+        border: 0;
+        background-color: rgba(0,0,0,0) ;
+        outline-color: gainsboro;
+        box-sizing: border-box;
+        -webkit-box-sizing: border-box;
+        -moz-box-sizing: border-box;
+        padding: 3px 10px;
+        width: 100%;
+        font-size: 20px;
+        &:disabled{
+          padding: 0px;
+        }
+      }
+      .account-info__input-error{
+        @extend .smTxt_bold,.text--primary;
+        margin-top: 10px;
       }
     }
-    .account-info__input-text{
-      border: 0;
-      background-color: rgba(0,0,0,0) ;
-      outline-color: gainsboro;
-      box-sizing: border-box;
-      -webkit-box-sizing: border-box;
-      -moz-box-sizing: border-box;
-      padding: 3px 10px;
-      width: 100%;
-      font-size: 20px;
-      &:disabled{
-        padding: 0px;
+    .account-info__icon{
+      margin-left: 20px;
+      .icon-color-change{
+        color:$PRIMARY_RED;
       }
     }
-    .account-info__input-error{
-      @extend .smTxt_bold,.text--primary;
-      margin-top: 10px;
-    }
   }
-  .account-info__icon{
-    margin-left: 20px;
-    .icon-color-change{
-      color:$PRIMARY_RED;
-    }
+  .account-confirm{
+    display: flex;
+    justify-content: center;
+  }
+  .account-info-dele-other-contact-type{
+    display: flex;
+    justify-content: space-between;
+  }
+
+  .el-textarea__inner{
+    background-color: rgba(0,0,0,0) ;
+    border: none !important;
+    padding:1px !important;
   }
 }
-.account-confirm{
-  display: flex;
-  justify-content: center;
-}
+
 </style>
diff --git a/PAMapp/pages/agentInfo/_agentNo.vue b/PAMapp/pages/agentInfo/_agentNo.vue
index 5b948c9..9313a1a 100644
--- a/PAMapp/pages/agentInfo/_agentNo.vue
+++ b/PAMapp/pages/agentInfo/_agentNo.vue
@@ -47,7 +47,7 @@
         type="flex"
         class="pam-paragraph">
         <UiField icon="company" label="�����">
-          {{ agentInfo.serveArea }}
+          {{ agentInfo.serveArea | toServeArea }}
         </UiField>
       </el-row>
 
diff --git a/PAMapp/pages/agentInfo/edit/_agentNo.vue b/PAMapp/pages/agentInfo/edit/_agentNo.vue
index 93b4dce..ae47457 100644
--- a/PAMapp/pages/agentInfo/edit/_agentNo.vue
+++ b/PAMapp/pages/agentInfo/edit/_agentNo.vue
@@ -1,5 +1,6 @@
 <template>
     <div class="edit-agent-info-page">
+
       <el-row
         type="flex"
         justify="center">
@@ -7,21 +8,42 @@
           :agentNo="agentInfo.agentNo"
           :photoBase64.sync="editInfoValue.photoBase64"/>
       </el-row>
-      <el-row
+
+      <!-- NOTE: ���蝺刻摩��銝�閬*蝷� avgScore嚗���� [Tomas, 2022/2/10 13:55] -->
+      <!-- <el-row
         type="flex"
         class="pt-10"
         justify="center"
         align="middle" v-if="!hideReviews">
-        <!-- TODO:���遛��漲 -->
           <i class="pam-icon icon--primary icon-star"></i>
           <h3 class="mdTxt">{{ agentInfo.avgScore }}</h3>
-      </el-row>
+      </el-row> -->
 
-      <el-row
+      <!-- <el-row
         type="flex"
         class="pam-paragraph"
         justify="center">
         <el-input class="mdTxt" v-model="editInfoValue.name"></el-input>
+      </el-row> -->
+       <el-row
+        type="flex"
+        class="pam-paragraph">
+        <el-col :span="24" class="pam-field">
+          <div class="pam-field__label pam-progress__label">
+            <div>
+              <div class="pam-field__title mb-10">
+                <i class="pam-icon icon-avatar"
+                  ></i>憿舐內��迂
+                  <span class="hint text--bold" v-show="!editInfoValue.name">憿舐內��迂�敹‵</span>
+              </div>
+            </div>
+            <el-input
+              v-model="editInfoValue.name"
+              :class="{'is-invalid': !nameValid}"
+              maxlength="10"
+              minlength="10"></el-input>
+          </div>
+        </el-col>
       </el-row>
 
       <el-row
@@ -50,8 +72,8 @@
       <el-row
         type="flex"
         class="pam-paragraph">
-        <UiField :span="12" icon="agent" label="����">
-          <el-input  v-model="editInfoValue.title"></el-input>
+        <UiField :span="24" icon="agent" label="����">
+          <el-input  v-model="editInfoValue.title" class="mt-10"></el-input>
         </UiField>
       </el-row>
 
@@ -59,7 +81,12 @@
         type="flex"
         class="pam-paragraph">
         <UiField icon="company" label="�����">
-          <el-input  v-model="editInfoValue.serveArea"></el-input>
+          <MultiSelectBtn class="mt-30"
+            :mutiSelect.sync="editInfoValue.serveArea"
+            :nameOfSelectAll="'��'"
+            :options="serveAreaOptions"
+            >
+          </MultiSelectBtn>
         </UiField>
       </el-row>
 
@@ -67,7 +94,7 @@
         type="flex"
         class="pam-paragraph">
         <UiField icon="address" label="�����">
-          <el-input  v-model="editInfoValue.companyAddress"></el-input>
+          <el-input  v-model="editInfoValue.companyAddress" class="mt-10"></el-input>
         </UiField>
       </el-row>
 
@@ -77,20 +104,22 @@
         <UiField :span="12" icon="time" label="��敺�����">
           {{ agentInfo.latestLoginTime | formatDate }}
         </UiField>
-        <UiField :span="12" icon="calender" label="����風" style="display:flex">
-          <el-input  v-model="editInfoValue.seniorityYear" class="seniority-input"></el-input>撟�
-          <el-select  style="width:60px" v-model="editInfoValue.seniorityMonth" class="seniority-input">
-            <el-option
-              v-for="(month) in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]"
-              :value="month"
-              :key="month">
-              {{ month }}
-            </el-option>
-          </el-select>���
+        <UiField :span="12" icon="calender" label="����風">
+          <div class="mt-10" style="display: flex; align-items: center">
+            <el-input  v-model="editInfoValue.seniorityYear" class="seniority-input" ></el-input>撟�
+            <el-select  style="width:60px" v-model="editInfoValue.seniorityMonth" class="seniority-input">
+              <el-option
+                v-for="(month) in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]"
+                :value="month"
+                :key="month">
+                {{ month }}
+              </el-option>
+            </el-select>���
+          </div>
         </UiField>
       </el-row>
 
-      <el-row
+      <!-- <el-row
         type="flex"
         class="pam-paragraph">
         <el-col :span="24" class="pam-field">
@@ -109,7 +138,7 @@
             <el-progress :show-text="false" :stroke-width="15" :percentage="agentInfo.evaluation * 2"></el-progress>
           </div>
         </el-col>
-      </el-row>
+      </el-row> -->
 
       <el-row
         type="flex"
@@ -123,9 +152,9 @@
               </div>
             </div>
             <MultiSelectBtn class="mt-30"
-            :mutiSelect.sync="editInfoValue.communicationStyle"
-            :options="agentCommunicationStyleList"
-            :maxLength="2"
+              :mutiSelect.sync="editInfoValue.communicationStyle"
+              :options="agentCommunicationStyleList"
+              :maxLength="2"
             >
             </MultiSelectBtn>
           </div>
@@ -144,8 +173,8 @@
               </div>
             </div>
             <MultiSelectBtn class="mt-30"
-            :mutiSelect.sync="editInfoValue.expertise"
-            :options="agentExpertList"
+              :mutiSelect.sync="editInfoValue.expertise"
+              :options="agentExpertList"
             >
             </MultiSelectBtn>
           </div>
@@ -156,7 +185,7 @@
         type="flex"
         class="pam-paragraph">
         <UiField icon="comment" label="�犖��艙">
-          <el-input type="textarea" autosize v-model="editInfoValue.concept"></el-input>
+          <el-input type="textarea" autosize v-model="editInfoValue.concept" class="mt-10"></el-input>
         </UiField>
       </el-row>
 
@@ -164,7 +193,12 @@
         type="flex"
         class="pam-paragraph">
         <UiField icon="school" label="�犖��">
-            <el-input type="textarea" autosize v-model="editInfoValue.experiences"></el-input>
+            <el-input
+              autosize
+              type="textarea"
+              class="mt-10"
+              v-model="editInfoValue.experiences">
+            </el-input>
         </UiField>
       </el-row>
 
@@ -172,7 +206,7 @@
         type="flex"
         class="pam-paragraph">
         <UiField icon="trophy" label="敺��風">
-          <el-input type="textarea" autosize style="height:70%" v-model="editInfoValue.awards"></el-input>
+          <el-input type="textarea" autosize style="height:70%" v-model="editInfoValue.awards" class="mt-10"></el-input>
         </UiField>
       </el-row>
 
@@ -223,29 +257,35 @@
 import { AgentInfoSetting } from '~/shared/models/account.model';
 import { Role } from '~/shared/models/enum/Role';
 import { agentCommunicationStyleList } from '~/shared/const/agent-communication-style-list';
+import { taiwanCities } from '~/shared/const/taiwan-cities';
 
 const localStorageTest = namespace('localStorage');
+const loginStore = namespace('login.store');
 
 @Component
-export default class AgentInfoComponent extends Vue {
+export default class AgentInfoEditComponent extends Vue {
 
-  @localStorageTest.State('current_role')
-  currentRole!:string | null;
+  @localStorageTest.State
+  current_role: any;
 
-  _agentInfoSetting!: AgentInfoSetting;
+  @loginStore.Action
+  updateConsultantDetail!: (agentNo: string) => Promise<AgentInfo>;
+
+  defaultAgentInfoSetting!: AgentInfoSetting;
   agentInfo!      : AgentInfo
   fieldInfoDesc   : string = '';
   fieldInfoTitle  : string = '';
   hideReviews     : boolean = hideReviews ;
   isAlertFieldInfo: boolean = false;
   isInfoUpdate    : boolean = false;
+  serveAreaOptions: any[] = taiwanCities.map((city) => ({ title: city, label: city }));
 
   editInfoValue = {
     agentNo           : '',
     name              : '',
     expertise         : [] as string[],
     title             : '',
-    serveArea         : '',
+    serveArea         : [] as string[],
     companyAddress    : '',
     seniorityYear     : 1,
     seniorityMonth    : 0,
@@ -319,13 +359,13 @@
 
   private setAgentInfo(agentInfo: AgentInfo): void {
     const [agentYear, _yearUnit , agentMonth, _monthUnit] =  agentInfo.seniority.split(" ");
-    this._agentInfoSetting = {
+    this.defaultAgentInfoSetting = {
       agentNo           : agentInfo.agentNo||'',
       name              : agentInfo.name || '',
       expertise         : agentInfo.expertise || [],
       title             : agentInfo.title || '',
       role              : agentInfo.role||'',
-      serveArea         : agentInfo.serveArea || '',
+      serveArea         : agentInfo?.serveArea.split('��'),
       gender            : agentInfo.gender||'',
       phoneNumber       : agentInfo.phoneNumber||'',
       companyAddress    : agentInfo.companyAddress || '',
@@ -339,10 +379,10 @@
     };
 
     this.editInfoValue = {
-      ...this._agentInfoSetting,
-      expertise          : _.cloneDeep(this._agentInfoSetting.expertise),
+      ...this.defaultAgentInfoSetting,
+      expertise          : _.cloneDeep(this.defaultAgentInfoSetting.expertise),
       // TODO: 蝣箄��垢甇斗���垢���隞�" , "���� [Tomas, 2021/12/28]
-      communicationStyle : this._agentInfoSetting.communicationStyle.split('��'),
+      communicationStyle : this.defaultAgentInfoSetting.communicationStyle.split('��'),
     }
   }
 
@@ -352,9 +392,11 @@
     const editSettingInfo: any = {
       ...this.editInfoValue,
       communicationStyle: this.editInfoValue.communicationStyle.join('��'),
+      serveArea: this.editInfoValue.serveArea.join('��'),
     }
     accountSettingService.editAgentInfoSetting(editSettingInfo).then((res: AgentInfoSetting) => {
       this.isInfoUpdate = true;
+      this.updateConsultantDetail(editSettingInfo.agentNo);
     });
   }
 
@@ -376,13 +418,18 @@
         this.fieldInfoTitle = '���漲';
         this.fieldInfoDesc = '���漲��������翰�祟�敺����雿�憿批����脰�������蝯行�����潘��隞乩������“������潦��';
         break;
-      case 'evaluation':
-        this.fieldInfoTitle = '隢株岷摨西”�';
-        this.fieldInfoDesc = '隢株岷摨西”��撠��雿�憿批�������垣閰X���脰�������蝯行�����潦��';
-        break;
+      // case 'evaluation':
+      //   this.fieldInfoTitle = '隢株岷摨西”�';
+      //   this.fieldInfoDesc = '隢株岷摨西”��撠��雿�憿批�������垣閰X���脰�������蝯行�����潦��';
+      //   break;
     }
   }
+
   ////////////////////////////////////////////////////////////
+  get nameValid(): boolean {
+    return !!this.defaultAgentInfoSetting?.name;
+  }
+
   get phoneValid(): boolean {
             const rule = /^09[0-9]{8}$/;
             return this.editInfoValue.phoneNumber
@@ -407,12 +454,8 @@
 
 </script>
 
-<style lang="scss" >
-.edit-agent-info-page{
-  .el-textarea__inner{
-  font-size: 15px;
-}
-}
+<style lang="scss">
+
 .pam-icon {
   font-size    : 15px;
   padding-right: 8px;
@@ -467,14 +510,11 @@
 }
 
 .seniority-input{
-  width       : 50px;
+  width       : 60px;
   margin-right: 5px;
 }
 .el-input--suffix .el-input__inner {
   padding-right: 20px;
 }
 
-.el-textarea__inner{
-  font-size: 18px;
-}
 </style>
diff --git a/PAMapp/pages/appointment/_appointmentId/close/index.vue b/PAMapp/pages/appointment/_appointmentId/close/index.vue
index c6a924c..3fe2dae 100644
--- a/PAMapp/pages/appointment/_appointmentId/close/index.vue
+++ b/PAMapp/pages/appointment/_appointmentId/close/index.vue
@@ -209,20 +209,17 @@
     this.$router.push(`/myAppointmentList/contactedList`);
   }
 
-  checkIdentityId (id) {
-    const tab = "ABCDEFGHJKLMNPQRSTUVXYWZIO";
-    const A1 = [ 1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3 ];
-    const A2 = [ 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5 ];
-    const Mx = [ 9,8,7,6,5,4,3,2,1,1 ];
-
-    if ( id.length != 10 ) return false;
-    let i = tab.indexOf( id.charAt(0) );
-    if ( i === -1 ) return false;
-    let sum = A1[i] + A2[i]*9;
-    for ( i=1; i<10; i+=1 ) {
-      let v = parseInt( id.charAt(i) );
-      if (i === 1 && isNaN(v)) {
-        switch(id.charAt(i)) {
+  checkIdentityId(id) {
+    const tab = 'ABCDEFGHJKLMNPQRSTUVXYWZIO';
+    const weight = [9, 8, 7, 6, 5, 4, 3, 2, 1, 1];
+    if (id.length !== 10) return false;
+    let i = tab.indexOf(id.charAt(0)) + 10;
+    if (i === 9) return false;
+    let sum = Math.floor((i % 100) / 10) + (i % 10) * 9;
+    for (i = 1; i < 10; i += 1) {
+      let v = parseInt(id.charAt(i), 10);
+      if (i === 1 && Number.isNaN(v)) {
+        switch (id.charAt(i)) {
           case 'A':
             v = 0;
             break;
@@ -236,16 +233,16 @@
             v = 3;
             break;
           default:
-            return false
+            return false;
         }
-      } else if ( i === 1  && ([1,2,8,9].indexOf(v) === -1) ) {
-        return false
+      } else if (i === 1 && ([1, 2, 8, 9].indexOf(v) === -1)) {
+        return false;
       }
-      if ( i > 1 && isNaN(v) ) return false;
-      sum = sum + v * Mx[i];
+      if (i > 1 && Number.isNaN(v)) return false;
+      sum += v * weight[i];
     }
 
-    if ( sum % 10 != 0 ) return false;
+    if (sum % 10 !== 0) return false;
     return true;
   }
 
diff --git a/PAMapp/pages/appointment/_appointmentId/index.vue b/PAMapp/pages/appointment/_appointmentId/index.vue
index ce81ede..ec303f0 100644
--- a/PAMapp/pages/appointment/_appointmentId/index.vue
+++ b/PAMapp/pages/appointment/_appointmentId/index.vue
@@ -55,20 +55,20 @@
         </div>
       </div>
 
-      <div class="client-detail-action" v-if="showWhenAppointmentHasClosed">
+      <div class=" btn-center" v-if="showWhenAppointmentHasClosed">
         <el-button @click="inviteReview">��遛��漲</el-button>
       </div>
 
       <div class="client-detail-action" v-if="showWhenAppointmentHasContacted">
-        <el-button @click="closeAppointment" >蝯��</el-button>
+        <el-button @click="closeAppointment" class="desktop-client-detail-action-btn" >蝯��</el-button>
         <el-button @click="sendMsg" style="margin-left: 0px">�蝝赤</el-button>
       </div>
 
-    </section>
-
-     <div class="client-detail-action btn-center" v-if="showWhenAppointmentHasCreate">
+     <div class=" btn-center" v-if="showWhenAppointmentHasCreate">
         <el-button @click="sendMsg">���赤�</el-button>
       </div>
+    </section>
+
 
     <template v-if="showWhenAppointmentHasClosed">
       <AppointmentClosedInfo :appointmentDetail="appointmentDetail" />
@@ -291,4 +291,14 @@
     justify-content: center;
   }
 
+  @include desktop {
+    .client-detail-action {
+    display: flex;
+    justify-content: center;
+    }
+    .desktop-client-detail-action-btn{
+      margin-right: 10px;
+    }
+  }
+
 </style>
diff --git a/PAMapp/pages/index.vue b/PAMapp/pages/index.vue
index e424a82..31d46cb 100644
--- a/PAMapp/pages/index.vue
+++ b/PAMapp/pages/index.vue
@@ -45,41 +45,46 @@
         :width="appointmentDialogWidth"
         class="pam-myDemand-dialog pam-dialog-reserved"
       >
-        <div v-if="appointmentDetail">
-            <h5 class="subTitle text--center mb-30">������</h5>
-            <p class="smTxt">{{appointmentDetail.appointmentDate | formatDate}}</p>
-            <div class="reserved-info">
-                <p>憪��{appointmentDetail.name}}</p>
-                <p>�閰梧�{appointmentDetail.phone}}</p>
-                <p>Email嚗{appointmentDetail.email}}</p>
-                <p>�批嚗{gender}}</p>
-                <p>撟湧翩嚗{appointmentDetail.age | toAgeLabel }}</p>
-                <p>�璆哨�{appointmentDetail.job}}</p>
-                <p>��瘙�{appointmentDetail.requirement.split(',').join('��')}}</p>
-                <p
-                    v-for="(item, index) in hopeContactTime"
-                    :key="index"
-                >��蝯⊥�挾{{index + 1 | formatNumber}}嚗{ item | formatHopeContactTime }}</p>
-                <div v-if="appointmentDetail.satisfactionScore">
-                    <div class="mdTxt mt-10 mb-10">皛踵�漲</div>
-                    <el-rate
-                    :value="appointmentDetail.satisfactionScore"
-                    class="pam-myDemand-dialog__rate"
-                    disabled>
-                    </el-rate>
-                </div>
-            </div>
+          <div v-if="appointmentDetail">
+              <h5 class="subTitle text--center mb-30">������</h5>
+              <p class="smTxt">{{appointmentDetail.appointmentDate | formatDate}}</p>
+              <div class="reserved-info">
+                  <p>憪��{appointmentDetail.name}}</p>
+                  <p>�閰梧�{appointmentDetail.phone}}</p>
+                  <p>Email嚗{appointmentDetail.email}}</p>
+                  <p>�批嚗{gender}}</p>
+                  <p>撟湧翩嚗{appointmentDetail.age | toAgeLabel }}</p>
+                  <p>�璆哨�{appointmentDetail.job}}</p>
+                  <p>��瘙�{appointmentDetail.requirement.split(',').join('��')}}</p>
+                  <p
+                      v-for="(item, index) in hopeContactTime"
+                      :key="index"
+                  >��蝯⊥�挾{{index + 1 | formatNumber}}嚗{ item | formatHopeContactTime }}</p>
+                  <div v-if="appointmentDetail.satisfactionScore">
+                      <div class="mdTxt mt-10 mb-10">皛踵�漲</div>
+                      <el-rate
+                      :value="appointmentDetail.satisfactionScore"
+                      class="pam-myDemand-dialog__rate"
+                      disabled>
+                      </el-rate>
+                  </div>
+              </div>
 
-            <div v-if="notScoreAppointmentYet" class="reserved-btn">
-                <el-button type="primary"
-                    @click.native="isShowReviewDialog = true">蝯虫�遛��漲閰��</el-button>
-            </div>
-        </div>
+              <div v-if="notScoreAppointmentYet" class="reserved-btn">
+                  <el-button type="primary"
+                      @click.native="reviewsBtn = true">蝯虫�遛��漲閰��</el-button>
+              </div>
+
+              <div v-if="appointmentDetail.communicateStatus === 'reserved'" class="text--center mt-10">
+                  <el-button @click="isCancelPopup = true">������</el-button>
+                  <el-button @click="edit" type="primary">蝺刻摩</el-button>
+              </div>
+          </div>
       </Ui-Dialog>
 
       <PopUpFrame
         :isOpen.sync="isShowReAppointmentDialog"
-        @closePopUp="removeUrlQueryParameter('notContactAppointmentIdFromMsg')"
+        @closePopUp="removeUrlQueryParameter('notContactAppointmentId')"
       >
           <div class="pam-dialog-review">
               <div class="mt-30 text--middle" v-if="agentInfo">
@@ -137,16 +142,18 @@
 
 <script lang="ts">
   import { Vue, Component, State, Action, Watch, namespace } from 'nuxt-property-decorator';
-  import { Appointment, AppointmentClosedInfo } from '~/shared/models/appointment.model';
-  import { Consultant } from '~/shared/models/consultant.model';
-  import { ContactStatus } from '~/shared/models/enum/contact-status';
-  import { UserReviewsConsultantsParams } from '~/shared/models/reviews.model';
-  import { StrictQueryParams } from '~/shared/models/strict-query.model';
+
   import appointmentService from '~/shared/services/appointment.service';
   import reviewsService from '~/shared/services/reviews.service';
   import UtilsService from '~/shared/services/utils.service';
   import myConsultantService from '~/shared/services/my-consultant.service';
-import { AgentInfo } from '~/shared/models/agent-info.model';
+  import { Appointment, AppointmentClosedInfo } from '~/shared/models/appointment.model';
+  import { Consultant } from '~/shared/models/consultant.model';
+  import { UserReviewParams } from '~/shared/models/reviews.model';
+  import { StrictQueryParams } from '~/shared/models/strict-query.model';
+  import { AgentInfo } from '~/shared/models/agent-info.model';
+  import { ContactStatus } from '~/shared/models/enum/contact-status';
+import { SatisfactionType } from '~/shared/models/enum/satisfaction-type';
 
   const localStorage = namespace('localStorage');
   const roleStorage = namespace('localStorage');
@@ -164,6 +171,9 @@
 
     @roleStorage.Getter
     isAdminLogin!: boolean;
+
+    @roleStorage.Getter
+    isUserLogin!: boolean;
 
     @Action
     storeRecommendList!: any;
@@ -257,6 +267,16 @@
         this.storeConsultantList();
         this.storageClearQuickFilter();
         this.storageClearRecommendConsultant();
+
+        if (this.isUserLogin) {
+          appointmentService.getNotContactAppointment().then((appointment) => {
+            if (appointment) {
+              this.$router.push({ query: { notContactAppointmentId: appointment.id + ''}});
+              this.autoOpenAppointmentBy('askReAppointment', appointment.id);
+            }
+          });
+        }
+
       }
 
     }
@@ -331,13 +351,18 @@
       this.$router.push(path);
     }
 
+    edit() {
+        this.isShowAppointmentDialog = false;
+        this.$router.push({path: `/questionnaire/${this.agentInfo.agentNo}`, query: {'edit': 'true'}});
+    }
+
     reAppointment(): void {
       appointmentService.cancelAppointment(this.appointmentDetail.id).then(() => {
         const requirements = this.appointmentDetail.requirement.split(',');
         this.storeConsultantList();
         this.storageStrickQueryItem({ requirements: requirements });
         this.storageClearNotContactAppointmentIdFromMsg();
-        this.removeUrlQueryParameter('notContactAppointmentIdFromMsg');
+        this.removeUrlQueryParameter('notContactAppointmentId');
         this.$router.push('/recommendConsultant');
       });
     }
@@ -346,15 +371,18 @@
       appointmentService.cancelAppointment(this.appointmentDetail.id).then(() => {
         this.storeConsultantList();
         this.storageClearNotContactAppointmentIdFromMsg();
-        this.removeUrlQueryParameter('notContactAppointmentIdFromMsg');
-        this.$router.push('');
+        this.removeUrlQueryParameter('notContactAppointmentId');
+        this.isShowReAppointmentDialog = false;
+        this.isShowAppointmentDialog = false;
+        this.$router.push('/');
       });
     }
 
     userReviewsConsultants() {
-      const reviewParams: UserReviewsConsultantsParams = {
+      const reviewParams: UserReviewParams = {
             appointmentId: this.appointmentDetail.id,
             score: this.inputScore,
+            type: SatisfactionType.APPOINTMENT
         }
         this.appointmentDetail.satisfactionScore = this.inputScore;
 
@@ -375,18 +403,20 @@
           })
         }
         this.$router.push(newRouteQuery);
+        this.storageClearSatisfactionIdFromMsg();
+        this.storageClearNotContactAppointmentIdFromMsg();
     }
 
     ///////////////////////////////////////////////////////////////////////////////
 
-    get gender() {
+    get gender(): string {
         if (this.appointmentDetail.gender) {
             return this.appointmentDetail.gender === 'male' ? '���' : '憟單��';
         }
         return ''
     }
 
-    get hopeContactTime() {
+    get hopeContactTime(): string[] {
         const contactList = this.appointmentDetail.hopeContactTime
             .split("'").map((item: any) => item.slice(0, item.length));
         return contactList.filter((item: any) => !!item && item !== ",")
diff --git a/PAMapp/pages/login/index.vue b/PAMapp/pages/login/index.vue
index 64a188b..2aacaec 100644
--- a/PAMapp/pages/login/index.vue
+++ b/PAMapp/pages/login/index.vue
@@ -355,6 +355,9 @@
   @roleStorage.Mutation
   storageRole!: (role:string) => void;
 
+  @roleStorage.Mutation
+  storageUserInfo!: (userInfo: RegisterInfo) => void;
+
   @Ref('contract') readonly contract!: any;
 
   connectDevice: 'MOBILE' | 'EMAIL' = 'MOBILE';
@@ -396,7 +399,6 @@
 
   beforeRouteEnter (to, from, next) {
       next(vm => {
-        console.log(from.path, 'beforeRouteEnter');
         vm.previousPath = from.path;
       })
   }
@@ -498,7 +500,6 @@
   private redirect() {
     const backToPrevious = ['questionnaire', 'myConsultantList'];
     const find = backToPrevious.findIndex(item => this.previousPath.includes(item));
-    console.log(this.previousPath, find, 'redirect');
     find > -1 ? this.$router.go(-1) : this.$router.push('/');
   }
 
@@ -636,7 +637,9 @@
 
   private storagePhoneOrEmail(registerInfo:RegisterInfo):void{
     const info = {...registerInfo, time: new Date()}
-    localStorage.setItem('userInfo',JSON.stringify(info));
+  // storageUserInfo!: (userInfo: RegisterInfo) => void;
+    this.storageUserInfo(info);
+    // localStorage.setItem('userInfo',JSON.stringify(info));
   }
 
   private removeOtpTime() {
diff --git a/PAMapp/pages/myAppointmentList.vue b/PAMapp/pages/myAppointmentList.vue
index c013cd9..646cede 100644
--- a/PAMapp/pages/myAppointmentList.vue
+++ b/PAMapp/pages/myAppointmentList.vue
@@ -32,26 +32,41 @@
 
         <!-- DIALOG -->
         <PopUpFrame
-             :isOpen.sync="showNewAppointmentHint"
+             :isOpen.sync="isShowNewAppointmentHint"
         >
             <div class="text--center mdTxt">
                 <p class="mb-50">���� <span class="text--primary">{{ newAppointmentSum }}</span> �������</p>
                 <div class="text--center">
                     <el-button
                         type="primary"
-                        @click="showNewAppointmentHint = false"
+                        @click="isShowNewAppointmentHint = false"
                     >������</el-button>
                 </div>
             </div>
         </PopUpFrame>
+
+      <PopUpFrame
+        :isOpen.sync="isShowRemindAppointmentDialog"
+      >
+          <div class="text--center mdTxt">
+              <p class="mb-50">���� <span class="text--primary">{{ pendingAppointmentSum }}</span> ������脰�蝜恬������</p>
+              <div class="text--center">
+                  <el-button
+                      type="primary"
+                      @click="isShowRemindAppointmentDialog = false"
+                  >������</el-button>
+              </div>
+          </div>
+      </PopUpFrame>
     </div>
 </template>
 
 <script lang="ts">
-import { Vue, Component, State, Action, Watch, namespace } from 'nuxt-property-decorator';
+import { Vue, Component, Watch, namespace } from 'nuxt-property-decorator';
 
 import * as _ from 'lodash';
 
+import appointmentService from '~/shared/services/appointment.service';
 import { Appointment } from '~/shared/models/appointment.model';
 import { ContactStatus } from '~/shared/models/enum/contact-status';
 
@@ -88,14 +103,23 @@
     @localStorage.Getter
     currentAppointmentIdFromMsg!: string;
 
-    activeTabName          : string        = 'appointmentList';
     contactStatus          = ContactStatus;
-    showNewAppointmentHint: boolean        = false;
+
+    activeTabName                 = 'appointmentList';
+    isShowNewAppointmentHint      = false;
+    isShowRemindAppointmentDialog = false;
+    pendingAppointmentSum         = 0;
 
     //////////////////////////////////////////////////////////////////////
 
     mounted() {
       this.getMyAppointmentList();
+        appointmentService.getPendingAppointmentSum().then((pendingAppointmentSum) => {
+        this.pendingAppointmentSum = pendingAppointmentSum;
+        if (this.pendingAppointmentSum) {
+          this.isShowRemindAppointmentDialog = true;
+        }
+      });
     }
 
     destroyed() {
@@ -134,7 +158,7 @@
 
     @Watch('newAppointmentSum')
     newAppointmentSumChange(): void {
-      this.showNewAppointmentHint = this.newAppointmentSum > 0;
+      this.isShowNewAppointmentHint = this.newAppointmentSum > 0;
     }
 
     @Watch('$route', {immediate: true})
diff --git a/PAMapp/pages/myConsultantList.vue b/PAMapp/pages/myConsultantList.vue
index e1e993d..33caf53 100644
--- a/PAMapp/pages/myConsultantList.vue
+++ b/PAMapp/pages/myConsultantList.vue
@@ -90,6 +90,7 @@
                 appointmentDate: appointment.appointmentDate,
                 appointmentScore: appointment.satisfactionScore,
                 appointmentStatus: appointment.communicateStatus,
+                appointmentLastModifiedDate: appointment.lastModifiedDate
               };
               this.contactedList.push(consultantWithAppointmentId);
             })
@@ -97,7 +98,7 @@
 
         this.contactedList = this.contactedList
           .filter((appointment) => appointment['appointmentStatus'] !== 'reserved')
-          .map((appointment) => ({ ...appointment, sortTime: new Date(appointment.appointmentDate)}))
+          .map((appointment) => ({ ...appointment, sortTime: new Date(appointment.appointmentLastModifiedDate)}))
           .sort((preAppointment, nextAppointment) => +nextAppointment.sortTime - +preAppointment.sortTime);
       }
 
diff --git a/PAMapp/pages/notification/index.vue b/PAMapp/pages/notification/index.vue
index 0dd2509..c6c9ac9 100644
--- a/PAMapp/pages/notification/index.vue
+++ b/PAMapp/pages/notification/index.vue
@@ -5,7 +5,6 @@
             class="satisfaction-banner my-10 cursor--pointer"
             @click="$router.push('/satisfactionList')"
         >
-            <p class="satisfaction-text text--center">隢‵撖急遛��漲隤踵</p>
         </div>
         <el-row
             v-for="(item, index) in notificationList"
@@ -70,7 +69,7 @@
     .satisfaction-banner {
         width: 100%;
         height: 60px;
-        background-image: url('~/assets/images/satisfaction/satisfactionBtn_mob.svg');
+        background-image: url('~/assets/images/satisfaction/satisfactionBtn_s_mob.svg');
         background-repeat: no-repeat;
         background-size: cover;
         background-position: center;
@@ -84,7 +83,7 @@
 
         @include desktop {
             height: 110px;
-            background-image: url('~/assets/images/satisfaction/satisfactionBtn_web.svg');
+            background-image: url('~/assets/images/satisfaction/satisfactionBtn_s_web.svg');
 
             .satisfaction-text {
                 font-size: 24px;
@@ -122,4 +121,4 @@
         font-size: 24px;
         @extend .cursor--pointer;
     }
-</style>
\ No newline at end of file
+</style>
diff --git a/PAMapp/pages/questionnaire/_agentNo.vue b/PAMapp/pages/questionnaire/_agentNo.vue
index 120c844..213a636 100644
--- a/PAMapp/pages/questionnaire/_agentNo.vue
+++ b/PAMapp/pages/questionnaire/_agentNo.vue
@@ -23,7 +23,7 @@
               <div class="mdTxt">�隞��蝜急撘�</div>
               <div class="ques-header__input-block">
                   <span>Email嚗�</span>
-                  <input class="ques-header__input"
+                  <input class="ques-header__input  break"
                     :class="{ 'is-invalid': !emailValid}"
                     placeholder="隢撓�"
                     v-model="myRequest.email">
@@ -38,14 +38,14 @@
               <div class="mdTxt">�����蝜急撘�</div>
               <div class="mt-10 ques-header__input-block">
                   <span>Email嚗�</span>
-                  <span>{{myRequest.email}}</span>
+                  <span class=" break">{{myRequest.email}}</span>
               </div>
           </div>
           <div class="mt-30">
               <div class="mdTxt">�隞��蝜急撘�</div>
               <div class="ques-header__input-block">
-                  <span>�����</span>
-                  <input class="ques-header__input"
+                  <span>���� : </span>
+                  <input class="ques-header__input ml-4"
                     :class="{'is-invalid': !phoneValid}"
                     placeholder="隢撓�"
                     maxlength="10"
@@ -121,24 +121,19 @@
     <PopUpFrame :isOpen.sync="sendReserve" @update:isOpen="closeReservePopUp">
         <div class="mdTxt mt-30 sendReserve-txt">�������</div>
         <div class="mdTxt sendReserve-txt mb-30">�����“�������蝯∴��</div>
-        <!-- TODO: �銝脫 api, ���像�皛踵�漲 -->
-        <!-- <div class="pam-app-review mb-10">
+        <div class="pam-app-review mb-10">
           <div class="mdTxt mb-10">撠
                 <span class="mdTxt text--primary text--bold ">������</span>
                 撟喳��擃����
             </div>
           <div class="mdTxt">�蝯虫�嗾憿��嚗�</div>
         </div>
-        <el-rate v-model="score" class="pam-satisfaction-rate fix-chrome-click--issue"></el-rate> -->
+        <el-rate v-model="score" class="pam-satisfaction-rate fix-chrome-click--issue"></el-rate>
         <div class="text--center mdTxt">
-          <!-- <el-button @click="closeReservePopUp">����</el-button>
+          <el-button @click="closeReservePopUp">����</el-button>
           <el-button type="primary"
-            @click="closeReservePopUp">
+            @click="reviewPlatform">
             �
-          </el-button> -->
-          <el-button type="primary"
-            @click="closeReservePopUp">
-            ������
           </el-button>
         </div>
     </PopUpFrame>
@@ -161,14 +156,19 @@
 import { getRequestsFromStorage, removeRequestQuestionFromStorage, setRequestsToStorage } from '~/shared/storageRequests';
 import _ from 'lodash';
 
+import accountSettingService from '~/shared/services/account-setting.service';
 import appointmentService from '~/shared/services/appointment.service';
 import authService from '~/shared/services/auth.service';
 import queryConsultantService from '~/shared/services/query-consultant.service';
+import reviewsService from '~/shared/services/reviews.service';
 import { Consultant } from '~/shared/models/consultant.model';
 import { ContactType } from '~/shared/models/enum/ContactType';
 import { Gender } from '~/shared/models/enum/Gender';
 import { RegisterInfo } from '~/shared/models/registerInfo';
 import { AppointmentParams, AppointmentRequests } from '~/shared/models/appointment.model';
+import { UserSetting } from '~/shared/models/account.model';
+import { SatisfactionType } from '~/shared/models/enum/satisfaction-type';
+import { UserReviewParams } from '~/shared/models/reviews.model';
 
   const roleStorage = namespace('localStorage');
   @Component
@@ -185,7 +185,10 @@
     @roleStorage.State
     recommendConsultantItem!:string;
 
-    score ="" ;
+    @roleStorage.Mutation
+    storageUserInfo!: (params: RegisterInfo) => void;
+
+    score = 0;
 
     genderOptions=[
       {
@@ -284,8 +287,9 @@
     ];
 
     myRequest: AppointmentRequests = {
-      phone          : this.userInfo?.phone ? this.userInfo.phone                               : '',
-      email          : this.userInfo?.email ? this.userInfo.email                               : '',
+      name           : '',
+      phone          : '',
+      email          : '',
       contactType    : _.isEqual(this.userInfo?.contactType,ContactType.SMS) ? ContactType.PHONE: ContactType.EMAIL,
       gender         : '',
       age            : '',
@@ -332,6 +336,7 @@
     private setMyRequest(): void {
       const storageMyRequest = getRequestsFromStorage();
       const storageMyRequirement = this.recommendConsultantItem ? JSON.parse(this.recommendConsultantItem).requirements:[];
+      const contactTypePromise = accountSettingService.getUserAccountSetting();
 
       if (storageMyRequest) {
         this.myRequest = {
@@ -352,6 +357,14 @@
         }
         removeRequestQuestionFromStorage();
       }
+
+      contactTypePromise.then((contactTypeDetail) => {
+            this.myRequest = {
+              ...this.myRequest,
+              ...contactTypeDetail
+            }
+      })
+
     }
 
     ////////////////////////////////////////////////////////////////////////////
@@ -422,6 +435,15 @@
       } else {
         queryConsultantService.addFavoriteConsultant([this.$route.params.agentNo]).then(res => this.sentAppointmentDemand());
       }
+       const editSettingInfo: UserSetting = {
+          name: this.myRequest.name,
+          phone: this.myRequest.phone,
+          email: this.myRequest.email,
+      }
+
+      accountSettingService.updateAccountSetting(editSettingInfo).then((_) => {
+          this.storageUserInfo(this.userInfo);
+      });
     }
 
     private editAppointmentDemand() {
@@ -450,6 +472,7 @@
         queryConsultantService.appointmentDemand(data).then(res => {
             this.sendReserve = true;
             this.myRequest.hopeContactTime = [];
+            this.appointmentId = res['id'];
             setRequestsToStorage(this.myRequest);
         });
     }
@@ -459,6 +482,17 @@
         return selectedHopeContactTime.map(i => {
             return `'${i.selectWeekOptions}��${i.selectTimesOptions}'`}
         ).toString();
+    }
+
+    reviewPlatform(): void {
+      const reviewPlatformParams: UserReviewParams = {
+        appointmentId: this.appointmentId,
+        score: this.score,
+        type: SatisfactionType.SYSTEM
+      };
+      reviewsService.reviewPlatform(reviewPlatformParams).then((_) => {
+        this.closeReservePopUp();
+      });
     }
 
     closeReservePopUp() {
@@ -513,7 +547,9 @@
   color: #ED1B2E;
   cursor: pointer;
 }
-
+.error {
+  color:$PRIMARY_RED
+}
 //����見撘����
 .ques-footer{
   justify-content: center;
@@ -575,7 +611,10 @@
       transform: translate(-12px, 0);
   }
 }
-
+.break{
+  word-break: break-all;
+  line-height: 1.2;
+}
 .ques-page--reset.pam-page-container {
   margin: 0px auto;
 }
@@ -608,7 +647,7 @@
     @extend .text--middle,.mt-10 ;
     .ques-header__input{
       &.is-invalid{
-        border: 2px solid $PRIMARY_RED !important;
+        border: 1px solid $PRIMARY_RED !important;
       }
       flex: 1;
       height: 50px;
@@ -621,7 +660,9 @@
       -moz-box-sizing: border-box;
     }
   }
-
+  .ml-4{
+    margin-left: 4px;
+  }
   .ques-container {
     position: relative;
     margin: 0px 20px;
diff --git a/PAMapp/pages/quickFilter/index.vue b/PAMapp/pages/quickFilter/index.vue
index dcd7795..5ec1194 100644
--- a/PAMapp/pages/quickFilter/index.vue
+++ b/PAMapp/pages/quickFilter/index.vue
@@ -22,8 +22,7 @@
               {{item.value | formatSeniorityTitle}}
               <span class="smTxt">{{item.value | formatSenioritySubTitle}}</span>
             </span>
-            <!-- TODO:���遛��漲 -->
-            <!-- <span v-else-if="item.option === 'avgScore'">{{item.value + '��誑銝遛��漲'}}</span> -->
+            <span v-else-if="item.option === 'avgScore' && !hideReviews">{{item.value + '��誑銝遛��漲'}}</span>
             <span v-else>{{item.value}}</span>
           </UiTags>
         </template>
diff --git a/PAMapp/pages/recommendConsultant/index.vue b/PAMapp/pages/recommendConsultant/index.vue
index 937de58..0a405f6 100644
--- a/PAMapp/pages/recommendConsultant/index.vue
+++ b/PAMapp/pages/recommendConsultant/index.vue
@@ -35,12 +35,11 @@
       <SingleSelectBtn :singleSelected.sync="strictQueryDto.seniority"
         :options="seniorityOptions" />
     </div>
-    <!-- <div class="pam-paragraph">
-      TODO:���遛��漲
+    <div class="pam-paragraph" v-if="!hideReviews">
       <div class="pb-10 mdTxt">憿批�遛��漲</div>
       <el-rate class="pam-consultant-rate" v-model="strictQueryDto.avgScore">
       </el-rate>
-    </div> -->
+    </div>
     <div class="pam-paragraph">
       <div class="rec-popular">
         <div class="pb-10 mdTxt">���瑼Y揣</div>
@@ -96,12 +95,14 @@
   import { StrictQueryDto } from "~/shared/models/strictQueryDto.model";
   import { Gender } from "~/shared/models/enum/Gender";
   import { Seniority } from "~/shared/models/enum/seniority";
+  import { hideReviews } from '~/shared/const/hide-reviews';
 
 
   const localStorage = namespace('localStorage');
   @Component
   export default class RecommendConsultant extends Vue {
     isVisiblePopUp = false;
+    hideReviews = hideReviews;
     strictQueryDto: StrictQueryDto = {
       gender: '',
       area: '',
diff --git a/PAMapp/pages/recommendConsultant/result.vue b/PAMapp/pages/recommendConsultant/result.vue
index c92a75e..1bbf19f 100644
--- a/PAMapp/pages/recommendConsultant/result.vue
+++ b/PAMapp/pages/recommendConsultant/result.vue
@@ -4,6 +4,20 @@
     <ul class="pam-rec-agent__list">
         <li class="pam-rec-agent-card" v-for="(info,index) in pageList" :key="index">
             <div class="pam-rec-agent-card__content">
+
+              <div
+                class="pam-rec-agent-card-suitability"
+                :class="{
+                  'match--level1': info.suitability === 100,
+                  'match--level2': 50 < info.suitability && info.suitability < 100,
+                  'match--level3': info.suitability < 51
+                }">
+                </div>
+
+                <div class="pam-rec-agent-card-suitability-text">
+                  <div class="label">���漲</div>
+                  <div class="value">{{info.suitability}}%</div>
+                </div>
                 <div class="pam-rec-agent-card__content-header">
                     <div class="pam-rec-agent-card__avatar">
                         <UiAvatar
@@ -37,7 +51,6 @@
                             {{ info.seniority }}
                             </div>
                         </el-col>
-                        <!-- TODO:���遛��漲 -->
                         <el-col :span="12" v-if="!hideReviews">
                             <div class="field__label">
                             摰X皛踵�漲
@@ -63,7 +76,7 @@
 
     <UiPagination
         class="mb-30"
-        :totalList="strictQueryList"
+        :totalList="strictResultList"
         @changePage="changePage"
         :pageSize = 6
     ></UiPagination>
@@ -86,24 +99,27 @@
 <script lang="ts">
 import { AgentOfStrictQuery } from '~/shared/models/strict-query.model';
 import { hideReviews } from '~/shared/const/hide-reviews';
-import { Vue,Component, State, namespace, Action} from 'nuxt-property-decorator';
+import { Vue,Component, State, namespace, Action, Getter} from 'nuxt-property-decorator';
 
 const localStorage = namespace('localStorage');
 
 @Component
-export default class Reslut extends Vue{
+export default class Result extends Vue{
     @State('strictQueryList')
     strictQueryList!: AgentOfStrictQuery[];
 
     @Action
     storeStrictQueryList!: (data: any) => Promise<number>;
 
+    @Getter('strictResultList')
+    strictResultList!: AgentOfStrictQuery[];
+
     @localStorage.State
     recommendConsultantItem!: string;
 
     pageList: any[] = [];
     isVisiblePopUp = false;
-    popUpTxt = '';
+    popUpTxt = '撌脣�憿批��';
     hideReviews = hideReviews;
 
     //////////////////////////////////////////////////////////////////////
@@ -112,6 +128,7 @@
             const strictQueryDto = JSON.parse(this.recommendConsultantItem);
             this.storeStrictQueryList(strictQueryDto);
         }
+
     }
 
     //////////////////////////////////////////////////////////////////////
@@ -124,7 +141,6 @@
     }
 
     openPopUp(txt: string) {
-        this.popUpTxt = txt;
         this.isVisiblePopUp = true;
     }
 }
@@ -136,8 +152,48 @@
     border-radius: 10px;
     border: 1px solid $LIGHT_GREY;
     padding: 20px 33px;
+    overflow: hidden;
 
     .pam-rec-agent-card__content {
+      position: relative;
+        .pam-rec-agent-card-suitability{
+          left: -125px;
+          top: -108px;
+          width: 150px;
+          height: 150px;
+          transform: rotate(45deg);
+          position:absolute;
+          &.match--level3 {
+            background-color: #C3A787;
+          }
+          &.match--level2 {
+            background-color: #D0D0CE;
+          }
+          &.match--level1 {
+            background-color: #F2C75C;
+          }
+        }
+        .pam-rec-agent-card-suitability-text{
+          position: absolute;
+          left: -25px;
+          top: -10px;
+          z-index: 5;
+          line-height: 1.3;
+          .label {
+            font-size: 10px;
+            color: #68737A;
+            @include desktop {
+              display: none;
+            }
+          }
+          .value {
+            font-size: 12px;
+            color: #222222;
+            @include desktop {
+              padding-left: 8px;
+            }
+          }
+        }
         .pam-rec-agent-card__content-header {
             display: flex;
             .pam-rec-agent-card__avatar {
diff --git a/PAMapp/pages/satisfactionList.vue b/PAMapp/pages/satisfactionList.vue
index 99ef165..dbf2330 100644
--- a/PAMapp/pages/satisfactionList.vue
+++ b/PAMapp/pages/satisfactionList.vue
@@ -8,11 +8,20 @@
       </div>
       <template v-if="mapUnReviewLogList.length">
         <div class="satisfaction-card" v-for="(item, index) in mapUnReviewLogList" :key="index">
-          <div class="satisfaction-card-content">
+          <div class="satisfaction-card-content"  v-if="item.agentName">
             <UiAvatar :size="80" :agentNo="item.agentNo"></UiAvatar>
             <div class="satisfaction-card-text">撠憿批��
                 <span class="text--primary text--bold">{{item.agentName}}</span>
                 ��擃���蝯虫�嗾憿��嚗�
+            </div>
+          </div>
+           <div class="satisfaction-card-content"  v-else>
+            <div class="pam-satisfaction-avatar">
+              <span class="pam-satisfaction-avatar-txt">撟喳</span>
+              </div>
+            <div class="satisfaction-card-text" >撠
+                <span class="text--primary text--bold">������</span>
+                撟喳��擃���蝯虫�嗾憿��嚗�
             </div>
           </div>
           <el-rate
@@ -46,9 +55,10 @@
 
 <script lang="ts">
 import { Vue, Component, Action, State, Watch } from 'nuxt-property-decorator';
-import { AppointmentLog } from '~/shared/models/appointment.model';
-import { UserReviewsConsultantsParams } from '~/shared/models/reviews.model';
+
 import reviewsService from '~/shared/services/reviews.service';
+import { AppointmentLog } from '~/shared/models/appointment.model';
+import { UserReviewParams } from '~/shared/models/reviews.model';
 
 @Component({
   layout: 'home'
@@ -80,12 +90,13 @@
   ///////////////////////////////////////////////////////
 
   sent() {
-    const reviewParams: UserReviewsConsultantsParams[] = this.mapUnReviewLogList
+    const reviewParams: UserReviewParams[] = this.mapUnReviewLogList
                 .filter(item => item.satisfaction > 0)
                 .map(item => {
                   return {
                     appointmentId: item.appointmentId,
-                    score: item.satisfaction
+                    score: item.satisfaction,
+                    type: item.type
                   }
                 })
 
@@ -147,6 +158,19 @@
       font-size: 20px;
       padding-left: 10px;
     }
+    .pam-satisfaction-avatar{
+      height: 80px;
+      width: 80px;
+      border-radius: 50%;
+      background-color:#F09491;
+      justify-content: center;
+      align-items: center;
+      display: flex;
+      .pam-satisfaction-avatar-txt{
+        font-size: 18px;
+        color: #fff;
+      }
+    }
 
     @include desktop {
         justify-content: flex-start;
diff --git a/PAMapp/plugins/filters/serve-area.filter.ts b/PAMapp/plugins/filters/serve-area.filter.ts
new file mode 100644
index 0000000..fea5751
--- /dev/null
+++ b/PAMapp/plugins/filters/serve-area.filter.ts
@@ -0,0 +1,16 @@
+import { taiwanCities } from '~/shared/const/taiwan-cities';
+
+import Vue from 'vue'
+
+Vue.filter('toServeArea', (value: string): string => {
+
+  if (!value || typeof value !== 'string') {
+    return '--';
+  }
+
+  const serveAreaLength = value.split('��').length;
+
+  return serveAreaLength === taiwanCities.length
+        ? '��'
+        : value;
+})
diff --git a/PAMapp/shared/const/hide-reviews.ts b/PAMapp/shared/const/hide-reviews.ts
index e8a6eb8..35d2e34 100644
--- a/PAMapp/shared/const/hide-reviews.ts
+++ b/PAMapp/shared/const/hide-reviews.ts
@@ -1 +1 @@
-export const hideReviews = true;
\ No newline at end of file
+export const hideReviews = false;
diff --git a/PAMapp/shared/const/quickFilter-questionList.ts b/PAMapp/shared/const/quickFilter-questionList.ts
index d6c08f0..3539755 100644
--- a/PAMapp/shared/const/quickFilter-questionList.ts
+++ b/PAMapp/shared/const/quickFilter-questionList.ts
@@ -12,12 +12,12 @@
         ],
         type: 'radio'
     },
-    // { TODO:���遛��漲
-    //     name: 'avgScore',
-    //     title: '憿批�遛��漲',
-    //     detail: [],
-    //     type: ''
-    // },
+    {
+        name: 'avgScore',
+        title: '憿批�遛��漲',
+        detail: [],
+        type: ''
+    },
     {
         name: 'communicationStyles',
         title: '皞�◢�',
@@ -45,4 +45,4 @@
     //     detail: [],
     //     type: 'radio'
     // }
-];
\ No newline at end of file
+];
diff --git a/PAMapp/shared/models/account.model.ts b/PAMapp/shared/models/account.model.ts
index 0076a64..f2e0e03 100644
--- a/PAMapp/shared/models/account.model.ts
+++ b/PAMapp/shared/models/account.model.ts
@@ -7,18 +7,18 @@
 export interface AgentInfoSetting{
     agentNo           : string;
     name              : string;
-    expertise         : string[];  
+    expertise         : string[];
     title             : string;
     role              : string;
-    serveArea         : string;
-    gender            : string;  
+    serveArea         : string[];
+    gender            : string;
     phoneNumber       : string;
     companyAddress    : string;
-    seniorityYear     : number; 
-    seniorityMonth    : number; 
+    seniorityYear     : number;
+    seniorityMonth    : number;
     concept           : string;
-    experiences        : string;  
+    experiences        : string;
     awards           : string;
-    communicationStyle: string; 
+    communicationStyle: string;
     photoBase64       : string;
 }
diff --git a/PAMapp/shared/models/appointment.model.ts b/PAMapp/shared/models/appointment.model.ts
index 9a66ebe..9bb43ba 100644
--- a/PAMapp/shared/models/appointment.model.ts
+++ b/PAMapp/shared/models/appointment.model.ts
@@ -1,16 +1,18 @@
 import { ContactStatus } from "./enum/contact-status";
+import { SatisfactionType } from "./enum/satisfaction-type";
 
 export interface AppointmentLog {
-    agentName       : string;
-    agentNo         : string;
-    appointmentId   : number;
-    createdDate     : string;
-    customerId      : number;
-    customerName    : string;
-    id              : number;
-    lastModifiedDate: string;
-    score           : number;
-    status          : 'UNFILLED' | 'FILLED';
+  id              : number;
+  createdDate     : string;
+  lastModifiedDate: string;
+  customerId      : number;
+  agentNo         : string;
+  status          : 'UNFILLED' | 'FILLED';
+  score           : number;
+  appointmentId   : number;
+  customerName    : string;
+  agentName       : string;
+  type            : SatisfactionType;
 }
 
 export interface Appointment {
@@ -115,6 +117,7 @@
   agentNo        : string;
   contactType    : string;
   email          : string;
+  name           : string;
   gender         : string;
   hopeContactTime: ContactTime[];
   job            : string;
diff --git a/PAMapp/shared/models/consultant.model.ts b/PAMapp/shared/models/consultant.model.ts
index 596d61b..69bb11c 100644
--- a/PAMapp/shared/models/consultant.model.ts
+++ b/PAMapp/shared/models/consultant.model.ts
@@ -1,24 +1,25 @@
 import { Appointment } from "./appointment.model";
 
 export interface Consultant {
-    agentNo            : string;
-    name               : string;
-    img                : string;
-    expertise          : string[];
-    avgScore           : number;
-    contactStatus?     : string;
-    createTime         : Date | string;
-    updateTime         : Date | string;
-    customerViewTime?  : Date | string;
-    role               : string;
-    seniority          : string,
-    appointments?      : Appointment[];
+    agentNo          : string;
+    appointments?    : Appointment[];
+    avgScore         : number;
+    contactStatus?   : string;
+    createTime       : string;
+    customerViewTime?: string;
+    expertise        : string[];
+    img              : string;
+    name             : string;
+    role             : string;
+    seniority        : string;
+    updateTime       : string;
 }
 
 export interface ConsultantWithAppointmentId extends Consultant {
-  appointmentId    : number;
-  appointmentDate  : string;
-  appointmentScore?: number;
-  appointmentStatus: string;
+  appointmentDate            : string;
+  appointmentId              : number;
+  appointmentLastModifiedDate: string;
+  appointmentScore?          : number;
+  appointmentStatus          : string;
 }
 
diff --git a/PAMapp/shared/models/enum/satisfaction-type.ts b/PAMapp/shared/models/enum/satisfaction-type.ts
new file mode 100644
index 0000000..56cd162
--- /dev/null
+++ b/PAMapp/shared/models/enum/satisfaction-type.ts
@@ -0,0 +1,5 @@
+export enum SatisfactionType {
+  SYSTEM = 'SYSTEM',
+  APPOINTMENT = 'APPOINTMENT',
+}
+
diff --git a/PAMapp/shared/models/reviews.model.ts b/PAMapp/shared/models/reviews.model.ts
index 7e5941e..e8eba03 100644
--- a/PAMapp/shared/models/reviews.model.ts
+++ b/PAMapp/shared/models/reviews.model.ts
@@ -1,6 +1,8 @@
-export interface UserReviewsConsultantsParams{
+import { SatisfactionType } from './enum/satisfaction-type';
+export interface UserReviewParams{
   appointmentId: number,
   score        : number,
+  type         : SatisfactionType,
 }
 
 export interface NotificationList {
@@ -18,4 +20,13 @@
   createdDate: string;
   /** 撌脰����� */
   readDate: string;
-}
\ No newline at end of file
+}
+
+export interface UserReviewPlatformRes {
+  agentNo?     : string;
+  appointmentId: number;
+  customerId   : string;
+  id           : number,
+  score        : string;
+  type         : SatisfactionType;
+}
diff --git a/PAMapp/shared/models/strict-query.model.ts b/PAMapp/shared/models/strict-query.model.ts
index 45a5f31..a0e4738 100644
--- a/PAMapp/shared/models/strict-query.model.ts
+++ b/PAMapp/shared/models/strict-query.model.ts
@@ -16,9 +16,12 @@
   name         : string;
   img          : string;
   expertise    : string[];
+  suitability  : number;
   avgScore     : number;
   contactStatus: null;
   updateTime   : null;
   seniority    : string;
+  role         : string;
   new          : boolean;
+  latestAppointmentId :null
 }
diff --git a/PAMapp/shared/services/appointment.service.ts b/PAMapp/shared/services/appointment.service.ts
index 9f07fe9..6ba2c18 100644
--- a/PAMapp/shared/services/appointment.service.ts
+++ b/PAMapp/shared/services/appointment.service.ts
@@ -79,6 +79,17 @@
   async deleteInterviewRecord(interviewRecordId) {
     return http.delete(`/interview_record/${interviewRecordId}`);
   }
+
+  // 摰X��������������
+  async getNotContactAppointment(): Promise<Appointment> {
+    return http.get(`/appointment/customer/expiring/newest`).then((res) => res.data);
+  }
+
+  // 憿批������������
+  async getPendingAppointmentSum(): Promise<number> {
+    return http.get(`/appointment/consultant/pending/sum`).then((res) => res.data)
+  }
+
 }
 
 export default new AppointmentService();
diff --git a/PAMapp/shared/services/query-consultant.service.ts b/PAMapp/shared/services/query-consultant.service.ts
index a11cd13..8a5a139 100644
--- a/PAMapp/shared/services/query-consultant.service.ts
+++ b/PAMapp/shared/services/query-consultant.service.ts
@@ -29,7 +29,7 @@
 
   // ����岷���
   async appointmentDemand(data: AppointmentParams) {
-    return http.post('/appointment/customer/create', data);
+    return http.post('/appointment/customer/create', data).then((res) => res.data);
   }
 
 }
diff --git a/PAMapp/shared/services/reviews.service.ts b/PAMapp/shared/services/reviews.service.ts
index a4dcbb4..48a55a0 100644
--- a/PAMapp/shared/services/reviews.service.ts
+++ b/PAMapp/shared/services/reviews.service.ts
@@ -1,17 +1,17 @@
 import { http } from "./httpClient";
 
-import { NotificationList, UserReviewsConsultantsParams } from "../models/reviews.model";
+import { NotificationList, UserReviewPlatformRes, UserReviewParams } from "../models/reviews.model";
 import { AppointmentLog } from "../models/appointment.model";
 
 class ReviewsService {
 
   //摰X�脰�遛��漲閰��(�蝑�)
-  userReviewsConsultants(data: UserReviewsConsultantsParams) {
+  userReviewsConsultants(data: UserReviewParams) {
     return http.post('/satisfaction/score', data);
   }
 
   // 摰X�脰�遛��漲(憭��)
-  allUserReviewsConsultants(data: UserReviewsConsultantsParams[]) {
+  allUserReviewsConsultants(data: UserReviewParams[]) {
     return http.post('/satisfaction/score/all', data);
   }
 
@@ -35,6 +35,11 @@
   readAllMyNotification() {
     return http.post('/personal_notification/readAllMyNotification')
   }
+
+  // 摰X憛怠神撟喳皛踵�漲
+  reviewPlatform(params: UserReviewParams): Promise<UserReviewPlatformRes> {
+    return http.post('/satisfaction/score', params);
+  }
 }
 
 export default new ReviewsService();
diff --git a/PAMapp/store/index.ts b/PAMapp/store/index.ts
index 3fe527f..b4cd250 100644
--- a/PAMapp/store/index.ts
+++ b/PAMapp/store/index.ts
@@ -23,6 +23,13 @@
         return this.context.getters['localStorage/isUserLogin'];
     }
 
+    get strictResultList(): AgentOfStrictQuery[] {
+      const perfectMatchList = this.strictQueryList.filter((i) => i.suitability === 100);
+      return perfectMatchList.length > 5
+            ? perfectMatchList
+            : this.strictQueryList;
+    }
+
     @Mutation
     updateRecommend(data: Consultant[]) {
       this.recommendList = data;
@@ -35,7 +42,7 @@
 
     @Mutation
     updateStrictQueryList(data: AgentOfStrictQuery[]) {
-        this.strictQueryList = data;
+        this.strictQueryList = data.sort((a, b) => b.suitability - a.suitability);
     }
 
     @Mutation
diff --git a/PAMapp/store/localStorage.ts b/PAMapp/store/localStorage.ts
index a08b69a..6fd79e3 100644
--- a/PAMapp/store/localStorage.ts
+++ b/PAMapp/store/localStorage.ts
@@ -1,12 +1,15 @@
 import { Module, Mutation, VuexModule ,Action } from 'vuex-module-decorators';
+import { ContactType } from '~/shared/models/enum/ContactType';
 import { Role } from '~/shared/models/enum/Role';
 import { Selected } from '~/shared/models/quick-filter.model';
+import { RegisterInfo } from '~/shared/models/registerInfo';
 import { StrictQueryParams } from '~/shared/models/strict-query.model';
 @Module
 export default class LocalStorage extends VuexModule {
   id_token = localStorage.getItem('id_token');
   current_role= localStorage.getItem('current_role');
   consultant_id = localStorage.getItem('consultant_id');
+  userInfo = JSON.parse(localStorage.getItem('userInfo')!);
   quickFilterSelectedItem = localStorage.getItem('quickFilter');
   recommendConsultantItem = localStorage.getItem('recommendConsultantItem');
   appointmentIdFromMsg = localStorage.getItem('appointmentIdFromMsg');
@@ -24,6 +27,11 @@
   get consultantId():string|null{
     return this.consultant_id;
   }
+
+  get isPrimaryContactTypeEmail(): boolean {
+    return this.userInfo.contactType === ContactType.EMAIL;
+  }
+
 
   get quickFilterSelectedData(): Selected[] {
     return JSON.parse(this.quickFilterSelectedItem || '[]') as Selected[];
@@ -49,6 +57,11 @@
     return this.notContactAppointmentIdFromMsg;
   }
 
+  @Mutation storageUserInfo(userInfo: RegisterInfo): void {
+    localStorage.setItem('userInfo', JSON.stringify(userInfo));
+    this.userInfo = JSON.parse(localStorage.getItem('userInfo')!);
+  }
+
   @Mutation storageIdToken(token: string): void {
     localStorage.setItem('id_token', token);
     this.id_token = localStorage.getItem('id_token') ;
diff --git a/PAMapp/store/login.store.ts b/PAMapp/store/login.store.ts
index a26fc2f..8ca0fae 100644
--- a/PAMapp/store/login.store.ts
+++ b/PAMapp/store/login.store.ts
@@ -25,4 +25,9 @@
     return await myConsultantService.getConsultantDetail(agentNo).then((res) => res);
   }
 
+  @Action({ commit: 'SET_LOGIN_CONSULTANT' })
+  async updateConsultantDetail(agentNo: string): Promise<AgentInfo> {
+    return await myConsultantService.getConsultantDetail(agentNo).then((res) => res);
+  }
+
 }
diff --git a/pamapi/src/doc/sql/20220122_w.sql b/pamapi/src/doc/sql/20220122_w.sql
index 39a28b8..09e5acd 100644
--- a/pamapi/src/doc/sql/20220122_w.sql
+++ b/pamapi/src/doc/sql/20220122_w.sql
@@ -1,3 +1,4 @@
+-- 撱箇�� 撌脩��摰X������������ table
 CREATE TABLE public.appointment_expiring_notify_record (
    id bigserial NOT NULL,
    appointment_id bigserial NOT NULL,
diff --git a/pamapi/src/doc/sql/20220126_w.sql b/pamapi/src/doc/sql/20220126_w.sql
new file mode 100644
index 0000000..7b79825
--- /dev/null
+++ b/pamapi/src/doc/sql/20220126_w.sql
@@ -0,0 +1,6 @@
+ALTER TABLE public.satisfaction ALTER COLUMN customer_id DROP NOT NULL;
+ALTER TABLE public.satisfaction ADD "type" varchar NULL;
+
+-- Auto-generated SQL script #202201261717
+UPDATE public.satisfaction SET "type"='APPOINTMENT';
+
diff --git a/pamapi/src/doc/sql/20220210_w.sql b/pamapi/src/doc/sql/20220210_w.sql
new file mode 100644
index 0000000..fa65143
--- /dev/null
+++ b/pamapi/src/doc/sql/20220210_w.sql
@@ -0,0 +1,10 @@
+update public.consultant set "role" = '����蝬�鈭�' where agent_no = 'A183619275';
+update public.consultant set "role" = '��陸靽蝬�鈭�' where agent_no = 'AGAM11249699';
+update public.consultant set "role" = '憭扯��蝬�鈭�' where agent_no = 'Z152717443';
+update public.consultant set "role" = '����蝬�鈭�' where agent_no = 'D265260662';
+update public.consultant set "role" = '甈��靽蝬�鈭�' where agent_no = 'AG0109051204';
+update public.consultant set "role" = '憭扯��蝬�鈭�' where agent_no = 'B282677963';
+update public.consultant set "role" = '憡��蝬�鈭�' where agent_no = 'AG0101234567';
+update public.consultant set "role" = '甈��靽蝬�鈭�' where agent_no = 'X147309614';
+update public.consultant set "role" = '����蝬�鈭�' where agent_no = 'J149388015';
+update public.consultant set "role" = '����蝬�鈭�' where agent_no = 'R221444250';
diff --git a/pamapi/src/doc/sql/20220215_w.sql b/pamapi/src/doc/sql/20220215_w.sql
new file mode 100644
index 0000000..9117f1f
--- /dev/null
+++ b/pamapi/src/doc/sql/20220215_w.sql
@@ -0,0 +1,2 @@
+update public.consultant set serve_area = '�����' where agent_no = 'AG0109051204';
+update public.consultant set serve_area = '���蝮�' where agent_no = 'R221444250';
diff --git a/pamapi/src/doc/sql/20220216_w.sql b/pamapi/src/doc/sql/20220216_w.sql
new file mode 100644
index 0000000..4c9ee45
--- /dev/null
+++ b/pamapi/src/doc/sql/20220216_w.sql
@@ -0,0 +1,22 @@
+update public.consultant set avg_score = 1 where agent_no = 'A183619275';
+update public.consultant set avg_score = 2 where agent_no = 'AGAM11249699';
+update public.consultant set avg_score = 3 where agent_no = 'Z152717443';
+update public.consultant set avg_score = 4 where agent_no = 'D265260662';
+update public.consultant set avg_score = 5 where agent_no = 'AG0109051204';
+update public.consultant set avg_score = 1 where agent_no = 'B282677963';
+update public.consultant set avg_score = 2 where agent_no = 'AG0101234567';
+update public.consultant set avg_score = 3 where agent_no = 'X147309614';
+update public.consultant set avg_score = 4 where agent_no = 'J149388015';
+update public.consultant set avg_score = 5 where agent_no = 'R221444250';
+
+do
+$$
+declare
+avg_row record;
+begin
+for avg_row in select round(cast(avg(score) as numeric), 1) as avg_score, agent_no from public.satisfaction where "type" = 'APPOINTMENT' and score is not null group by agent_no
+    loop
+update public.consultant set avg_score = avg_row.avg_score where agent_no = avg_row.agent_no;
+end loop;
+end
+$$
diff --git "a/pamapi/src/doc/\346\273\277\346\204\217\345\272\246/\345\256\242\346\210\266\345\241\253\345\257\253\346\273\277\346\204\217\345\272\246.txt" "b/pamapi/src/doc/\346\273\277\346\204\217\345\272\246/\345\256\242\346\210\266\345\241\253\345\257\253\346\273\277\346\204\217\345\272\246.txt"
deleted file mode 100644
index 631f860..0000000
--- "a/pamapi/src/doc/\346\273\277\346\204\217\345\272\246/\345\256\242\346\210\266\345\241\253\345\257\253\346\273\277\346\204\217\345\272\246.txt"
+++ /dev/null
@@ -1,54 +0,0 @@
-http post :
-
-http://localhost:8080/api/satisfaction/score
-
-
-憛怠神銝�蝑�: 
-
-request body:
-
-{
-    "appointmentId": 67,
-    "score":4
-}
-
-
-
-response body:
-
-{
-    "id": 3,
-    "customerId": 2,
-    "agentNo": "admin",
-    "status": "UNFILLED",
-    "score": 4
-}
-
-=====================================================
-
-憛怠神憭�遛��漲:
-
-http post :
-
-http://localhost:8080/api/satisfaction/score/all
-
-request body:
-
-[{
-    "appointmentId": 67,
-    "score":4
-}]
-
-
-
-response body:
-
-
-[{
-    "id": 3,
-    "customerId": 2,
-    "agentNo": "admin",
-    "status": "UNFILLED",
-    "score": 4
-}]
-
diff --git "a/pamapi/src/doc/\346\273\277\346\204\217\345\272\246/\345\256\242\346\210\266\345\241\253\345\257\253\346\273\277\346\204\217\345\272\246\345\225\217\345\215\267.txt" "b/pamapi/src/doc/\346\273\277\346\204\217\345\272\246/\345\256\242\346\210\266\345\241\253\345\257\253\346\273\277\346\204\217\345\272\246\345\225\217\345\215\267.txt"
new file mode 100644
index 0000000..97a5e8f
--- /dev/null
+++ "b/pamapi/src/doc/\346\273\277\346\204\217\345\272\246/\345\256\242\346\210\266\345\241\253\345\257\253\346\273\277\346\204\217\345\272\246\345\225\217\345\215\267.txt"
@@ -0,0 +1,56 @@
+http post :
+
+http://localhost:8080/api/satisfaction/score
+
+
+憛怠神銝�蝑�:
+
+request body:
+
+{
+    "appointmentId": 482,
+    "score":4,
+    "type": "APPOINTMENT"   // "APPOINTMENT" 銵券��迨甈⊿���“��遛��漲�� "SYSTEM" �����像���遛��漲
+}
+
+response body:
+{
+    "id": 84,
+    "customerId": 165,
+    "agentNo": "AGAM11249699",
+    "status": "FILLED",
+    "score": 4.0,
+    "appointmentId": 482,
+    "type": "APPOINTMENT"
+}
+=====================================================
+
+憛怠神憭�遛��漲:
+
+http post :
+
+http://localhost:8080/api/satisfaction/score/all
+
+request body:
+
+[{
+    "appointmentId": 482,
+    "score":4,
+    "type": "APPOINTMENT"   // "APPOINTMENT" 銵券��迨甈⊿���“��遛��漲�� "SYSTEM" �����像���遛��漲
+}]
+
+
+
+response body:
+
+
+[{
+     "id": 84,
+     "customerId": 165,
+     "agentNo": "AGAM11249699",
+     "status": "FILLED",
+     "score": 4.0,
+     "appointmentId": 482,
+     "type": "APPOINTMENT"
+}]
+
diff --git "a/pamapi/src/doc/\346\273\277\346\204\217\345\272\246/\346\237\245\350\251\242\347\231\273\345\205\245\350\200\205\346\211\200\346\234\211\347\232\204\346\273\277\346\204\217\345\272\246\345\225\217\345\215\267.txt" "b/pamapi/src/doc/\346\273\277\346\204\217\345\272\246/\346\237\245\350\251\242\347\231\273\345\205\245\350\200\205\346\211\200\346\234\211\347\232\204\346\273\277\346\204\217\345\272\246\345\225\217\345\215\267.txt"
index 73ae4c7..920f61e 100644
--- "a/pamapi/src/doc/\346\273\277\346\204\217\345\272\246/\346\237\245\350\251\242\347\231\273\345\205\245\350\200\205\346\211\200\346\234\211\347\232\204\346\273\277\346\204\217\345\272\246\345\225\217\345\215\267.txt"
+++ "b/pamapi/src/doc/\346\273\277\346\204\217\345\272\246/\346\237\245\350\251\242\347\231\273\345\205\245\350\200\205\346\211\200\346\234\211\347\232\204\346\273\277\346\204\217\345\272\246\345\225\217\345\215\267.txt"
@@ -7,39 +7,41 @@
 
 [
     {
-        "id": 11,
-        "createdDate": "2021-12-03T03:59:07.854Z",
-        "lastModifiedDate": "2021-12-03T03:59:07.854Z",
-        "customerId": 90,
-        "agentNo": "B282677963",
-        "status": "FILLED",
-        "score": 4.0,
-        "appointmentId": 134,
-        "customerName": "Jack",
-        "agentName": "�憒�"
+        "id" : 85,
+        "createdDate" : "2022-01-24T11:48:58.039Z",
+        "lastModifiedDate" : "2022-01-24T11:48:58.039Z",
+        "customerId" : 165,
+        "agentNo" : "AGAM11249699",
+        "status" : "UNFILLED",
+        "score" : null,
+        "appointmentId" : 483,
+        "customerName" : "Mila la",
+        "agentName" : "���� lala",
+        "type" : "APPOINTMENT"      // "APPOINTMENT"�撠“�����遛��漲嚗�"SYSTEM"�撠像���遛��漲
     },
     {
-        "id": 12,
-        "createdDate": "2021-12-03T04:00:43.181Z",
-        "lastModifiedDate": "2021-12-03T04:00:43.181Z",
-        "customerId": 90,
-        "agentNo": "B282677963",
-        "status": "FILLED",
-        "score": 4.0,
-        "appointmentId": 135,
-        "customerName": "Jack",
-        "agentName": "�憒�"
-    },
-    {
-        "id": 13,
-        "createdDate": "2021-12-03T04:01:20.095Z",
-        "lastModifiedDate": "2021-12-03T04:01:20.095Z",
-        "customerId": 90,
-        "agentNo": "B282677963",
-        "status": "FILLED",
-        "score": 2.0,
-        "appointmentId": 136,
-        "customerName": "Jack",
-        "agentName": "�憒�"
+      "id" : 84,
+      "createdDate" : "2022-01-24T10:31:03.799Z",
+      "lastModifiedDate" : "2022-01-24T10:31:03.799Z",
+      "customerId" : 165,
+      "agentNo" : "AGAM11249699",
+      "status" : "FILLED",
+      "score" : 1.0,
+      "appointmentId" : 482,
+      "customerName" : "Mila la",
+      "agentName" : "���� lala",
+      "type" : "APPOINTMENT"
+    }, {
+      "id" : 95,
+      "createdDate" : "2022-02-10T07:28:39.095Z",
+      "lastModifiedDate" : "2022-02-10T07:28:39.095Z",
+      "customerId" : 165,
+      "agentNo" : null,
+      "status" : "UNFILLED",
+      "score" : null,
+      "appointmentId" : 527,
+      "customerName" : "Mila la",
+      "agentName" : null,
+      "type" : "SYSTEM"
     }
-]
\ No newline at end of file
+]
diff --git "a/pamapi/src/doc/\351\240\220\347\264\204\345\226\256/\351\240\220\347\264\204\345\211\215\350\251\242\345\225\217.txt" "b/pamapi/src/doc/\351\240\220\347\264\204\345\226\256/\351\240\220\347\264\204\345\211\215\350\251\242\345\225\217.txt"
index 77a306f..ef19a01 100644
--- "a/pamapi/src/doc/\351\240\220\347\264\204\345\226\256/\351\240\220\347\264\204\345\211\215\350\251\242\345\225\217.txt"
+++ "b/pamapi/src/doc/\351\240\220\347\264\204\345\226\256/\351\240\220\347\264\204\345\211\215\350\251\242\345\225\217.txt"
@@ -4,7 +4,7 @@
 
 
 contactType: email,phone
-gender: male, female 
+gender: male, female
 
 request body:
 
@@ -19,4 +19,27 @@
     "hopeContactTime":"'����~�����, 12:00~14:00, 18:00~21:00'",
     "otherRequirement":"憭馳����",
     "agentNo":"admin"
-}
\ No newline at end of file
+}
+
+�����鞈��
+response body:
+{
+  "id" : 493,
+  "phone" : "",
+  "email" : "wayne8692wayne8692@gmail.com",
+  "contactType" : "EMAIL",
+  "gender" : "female",
+  "age" : "31-40",
+  "job" : "��",
+  "requirement" : "����,鞈閬��",
+  "communicateStatus" : "reserved",
+  "hopeContactTime" : "",
+  "otherRequirement" : null,
+  "appointmentDate" : "2022-02-08T06:57:05.661Z",
+  "lastModifiedDate" : "2022-02-08T06:57:05.661Z",
+  "agentNo" : "AG0101234567",
+  "customerId" : 167,
+  "consultantViewTime" : null,
+  "consultantReadTime" : null,
+  "contactTime" : null
+}
diff --git "a/pamapi/src/doc/\351\241\247\345\225\217API/\345\232\264\351\201\270\351\205\215\345\260\215.txt" "b/pamapi/src/doc/\351\241\247\345\225\217API/\345\232\264\351\201\270\351\205\215\345\260\215.txt"
index ed11335..40de4b8 100644
--- "a/pamapi/src/doc/\351\241\247\345\225\217API/\345\232\264\351\201\270\351\205\215\345\260\215.txt"
+++ "b/pamapi/src/doc/\351\241\247\345\225\217API/\345\232\264\351\201\270\351\205\215\345\260\215.txt"
@@ -23,6 +23,7 @@
             "鞎∪����",
             "鞈頧宏"
         ],
+        "suitability": 50       // ���漲
         "avgScore": 4.7,
         "contactStatus": null,
         "updateTime": null,
@@ -40,6 +41,7 @@
             "蝭�蝔�",
             "璅暑��隡�"
         ],
+        "suitability": 100         // ���漲
         "avgScore": 3.8,
         "contactStatus": null,
         "updateTime": null,
diff --git "a/pamapi/src/doc/\351\241\247\345\225\217API/\346\214\207\345\256\232\351\241\247\345\225\217\350\251\263\347\264\260\350\263\207\350\250\212.txt" "b/pamapi/src/doc/\351\241\247\345\225\217API/\346\214\207\345\256\232\351\241\247\345\225\217\350\251\263\347\264\260\350\263\207\350\250\212.txt"
index e99e2ba..9e345bd 100644
--- "a/pamapi/src/doc/\351\241\247\345\225\217API/\346\214\207\345\256\232\351\241\247\345\225\217\350\251\263\347\264\260\350\263\207\350\250\212.txt"
+++ "b/pamapi/src/doc/\351\241\247\345\225\217API/\346\214\207\345\256\232\351\241\247\345\225\217\350\251\263\347\264\260\350\263\207\350\250\212.txt"
@@ -5,15 +5,13 @@
   "name" : "撏祠",
   "agentNo" : "R221444250",
   "role" : "����蝬�鈭�",
-  "img" : "avatar10.jpg",
   "avgScore" : 3.1,
   "title" : "�����(DM)",
   "phoneNumber" : "0987168787",
-  "serveArea" : "��",
+  "serveArea" : "���腦������蝮�",
   "companyAddress" : "��蝮����銝剜迤頝�30���9璅�",
   "latestLoginTime" : "2021-12-24T08:48:21.497Z",
   "seniority" : "38 撟� ",
-  "suitability" : 50,
   "evaluation" : 50,
   "expertise" : [ "�摨瑁����", "摮戊��", "鞈閬��", "璅暑��隡�", "靽�瑼�/閬��", "����" ],
   "concept" : "瘥遢靽閬������\r\n�敹�敹�票敹����恥�\r\n\r\n����之靽∪艙\r\n��� 擃p�� ���祥�����r\n��� 蝪∪��� ��������r\n��� 摰Zˊ��� �銝�隞賡������r\n\r\n���������風�������犖",
@@ -21,4 +19,4 @@
   "awards" : "20甈∪��匱蝥���(IQA)\r\n30甈∠�������(MDRT)��\r\n��瓷閬�“�����(CFP)",
   "gender" : "female",
   "communicationStyle" : "雓寞��祕��翰銝餃������隢◢頞�"
-}
\ No newline at end of file
+}
diff --git a/pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java b/pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java
index b6c70ce..69dbd24 100644
--- a/pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java
+++ b/pamapi/src/main/java/com/pollex/pam/appointment/process/ClosedProcess.java
@@ -18,29 +18,29 @@
 @Service
 @Transactional
 public class ClosedProcess implements AppointmentProcessInterface{
-	
+
 	@Autowired
 	AppointmentClosedInfoRepository appointmentClosedInfoRepository;
-	
+
 	@Autowired
 	AppointmentService appointmentService;
-	
+
 	@Autowired
 	AppointmentClosedInfoService appointmentClosedInfoService;
-	
+
 	@Autowired
 	SatisfactionService satisfactionService;
-	
+
 	@Override
 	public AppointmentClosedInfo create(AbstractAppointmentProcessDTO processDTO) {
 		ClosedProcessDTO closeProcess = toClosedProcessDTO(processDTO);
 		AppointmentClosedInfo closedInfo = new AppointmentClosedInfo();
 		BeanUtils.copyProperties(closeProcess, closedInfo);
 		Appointment appointment = appointmentService.findById(processDTO.getAppointmentId());
-		satisfactionService.createSatisfaction(appointment);
+		satisfactionService.createAppointmentSatisfaction(appointment);
 		return appointmentClosedInfoRepository.save(closedInfo);
 	}
-	
+
 	private ClosedProcessDTO toClosedProcessDTO(AbstractAppointmentProcessDTO processDTO) {
 		ClosedProcessDTO closeProcess = (ClosedProcessDTO)processDTO;
 		BeanUtils.copyProperties(processDTO, closeProcess);
@@ -51,7 +51,7 @@
 	public ContactStatusEnum getProcessType() {
 		return ContactStatusEnum.CLOSED;
 	}
-	
+
 	@Override
 	public AppointmentClosedInfo editClosedInfo(
 			AbstractAppointmentProcessDTO abstractDTO
@@ -60,6 +60,6 @@
 		BeanUtils.copyProperties(closeProcess, closedInfo);
 		return appointmentClosedInfoRepository.save(closedInfo);
 	}
-	
-	
+
+
 }
diff --git a/pamapi/src/main/java/com/pollex/pam/appointment/process/DoneProcess.java b/pamapi/src/main/java/com/pollex/pam/appointment/process/DoneProcess.java
index b4d628f..f42257e 100644
--- a/pamapi/src/main/java/com/pollex/pam/appointment/process/DoneProcess.java
+++ b/pamapi/src/main/java/com/pollex/pam/appointment/process/DoneProcess.java
@@ -18,26 +18,26 @@
 @Service
 @Transactional
 public class DoneProcess implements AppointmentProcessInterface{
-	
+
 	@Autowired
 	AppointmentClosedInfoRepository appointmentClosedInfoRepository;
-	
+
 	@Autowired
 	AppointmentClosedInfoService appointmentClosedInfoService;
-	
+
 	@Autowired
 	SatisfactionService satisfactionService;
-	
+
 	@Autowired
 	AppointmentService appointmentService;
-	
+
 	@Override
 	public AppointmentClosedInfo create(AbstractAppointmentProcessDTO processDTO) {
 		DoneProcessDTO doneProcess = toDoneProcessDTO(processDTO);
 		AppointmentClosedInfo closedInfo = new AppointmentClosedInfo();
 		BeanUtils.copyProperties(doneProcess, closedInfo);
 		Appointment appointment = appointmentService.findById(processDTO.getAppointmentId());
-		satisfactionService.createSatisfaction(appointment);
+		satisfactionService.createAppointmentSatisfaction(appointment);
 		return appointmentClosedInfoRepository.save(closedInfo);
 	}
 
@@ -45,7 +45,7 @@
 	public ContactStatusEnum getProcessType() {
 		return ContactStatusEnum.DONE;
 	}
-	
+
 	@Override
 	public AppointmentClosedInfo editClosedInfo(
 			AbstractAppointmentProcessDTO abstractDTO
@@ -60,5 +60,5 @@
 		BeanUtils.copyProperties(abstractDTO, doneProcess);
 		return doneProcess;
 	}
-	
+
 }
diff --git a/pamapi/src/main/java/com/pollex/pam/config/SecurityConfiguration.java b/pamapi/src/main/java/com/pollex/pam/config/SecurityConfiguration.java
index 45c2e6d..0b995e0 100644
--- a/pamapi/src/main/java/com/pollex/pam/config/SecurityConfiguration.java
+++ b/pamapi/src/main/java/com/pollex/pam/config/SecurityConfiguration.java
@@ -75,7 +75,7 @@
             .deny()
         .and()
             .sessionManagement()
-            .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
+            .sessionCreationPolicy(SessionCreationPolicy.IF_REQUIRED)
         .and()
             .authorizeRequests()
             .antMatchers("/api/authenticate").permitAll()
diff --git a/pamapi/src/main/java/com/pollex/pam/domain/Satisfaction.java b/pamapi/src/main/java/com/pollex/pam/domain/Satisfaction.java
index 95a0944..530bc06 100644
--- a/pamapi/src/main/java/com/pollex/pam/domain/Satisfaction.java
+++ b/pamapi/src/main/java/com/pollex/pam/domain/Satisfaction.java
@@ -12,6 +12,8 @@
 import javax.persistence.Id;
 import javax.persistence.Table;
 
+import com.pollex.pam.enums.PersonalNotificationRoleEnum;
+import com.pollex.pam.enums.SatisfactionTypeEnum;
 import org.springframework.data.annotation.CreatedDate;
 import org.springframework.data.annotation.LastModifiedDate;
 
@@ -56,6 +58,10 @@
 
     @Column(name = "appointment_id")
     private Long appointmentId;
+
+    @Enumerated(EnumType.STRING)
+    @Column(name = "type")
+    private SatisfactionTypeEnum type;
 
 	public Long getId() {
 		return id;
@@ -120,4 +126,12 @@
     public void setAppointmentId(Long appointmentId) {
         this.appointmentId = appointmentId;
     }
+
+    public SatisfactionTypeEnum getType() {
+        return type;
+    }
+
+    public void setType(SatisfactionTypeEnum type) {
+        this.type = type;
+    }
 }
diff --git a/pamapi/src/main/java/com/pollex/pam/enums/SatisfactionTypeEnum.java b/pamapi/src/main/java/com/pollex/pam/enums/SatisfactionTypeEnum.java
new file mode 100644
index 0000000..a15dfc0
--- /dev/null
+++ b/pamapi/src/main/java/com/pollex/pam/enums/SatisfactionTypeEnum.java
@@ -0,0 +1,6 @@
+package com.pollex.pam.enums;
+
+public enum SatisfactionTypeEnum {
+    APPOINTMENT,        // 撠“�����遛��漲
+    SYSTEM              // 撠像���遛��漲
+}
diff --git a/pamapi/src/main/java/com/pollex/pam/repository/SatisfactionRepository.java b/pamapi/src/main/java/com/pollex/pam/repository/SatisfactionRepository.java
index 5b0a284..fa37237 100644
--- a/pamapi/src/main/java/com/pollex/pam/repository/SatisfactionRepository.java
+++ b/pamapi/src/main/java/com/pollex/pam/repository/SatisfactionRepository.java
@@ -4,6 +4,7 @@
 import java.util.Optional;
 
 import com.pollex.pam.enums.SatisfactionStatusEnum;
+import com.pollex.pam.enums.SatisfactionTypeEnum;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.repository.query.Param;
@@ -14,16 +15,17 @@
 @Repository
 public interface SatisfactionRepository extends JpaRepository<Satisfaction, Long>{
 
-	List<Satisfaction> findByAgentNo(String agentNo);
+	List<Satisfaction> findByAgentNoAndType(String agentNo, SatisfactionTypeEnum type);
 
 	List<Satisfaction> findByCustomerId(Long customerId);
 
-	Optional<Satisfaction> findOneByAppointmentId(Long appointmentId);
+	Optional<Satisfaction> findOneByAppointmentIdAndType(Long appointmentId, SatisfactionTypeEnum type);
 
-    List<Satisfaction> findAllByStatus(SatisfactionStatusEnum status);
+    List<Satisfaction> findAllByStatusAndType(SatisfactionStatusEnum status, SatisfactionTypeEnum type);
 
-	@Query(value = "SELECT avg(score) FROM satisfaction where agent_no=:agent_no"
+	@Query(value = "SELECT avg(score) FROM satisfaction where type='APPOINTMENT'"
+            + " and agent_no=:agent_no"
 			+ " and score is not null"
 			, nativeQuery = true)
-	Float getAgentScoreAvg(@Param("agent_no") String agentNo);
+	Optional<Float> getAgentScoreAvg(@Param("agent_no") String agentNo);
 }
diff --git a/pamapi/src/main/java/com/pollex/pam/security/provider/EServiceAuthenticationProvider.java b/pamapi/src/main/java/com/pollex/pam/security/provider/EServiceAuthenticationProvider.java
index 06c3fe0..54391f0 100644
--- a/pamapi/src/main/java/com/pollex/pam/security/provider/EServiceAuthenticationProvider.java
+++ b/pamapi/src/main/java/com/pollex/pam/security/provider/EServiceAuthenticationProvider.java
@@ -8,7 +8,6 @@
 import com.pollex.pam.security.token.EServiceAuthenticationToken;
 import com.pollex.pam.service.LoginRecordService;
 import com.pollex.pam.service.dto.EServiceResponse;
-import com.pollex.pam.service.util.HttpRequestUtil;
 import com.pollex.pam.web.rest.errors.EServiceErrorException;
 import org.apache.http.conn.ssl.NoopHostnameVerifier;
 import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
@@ -43,7 +42,7 @@
 @Component
 public class EServiceAuthenticationProvider {
 
-    private static final String E_SERVICE_LOGIN_SUCCESS_CODE = "0";
+    private static final String E_SERVICE_LOGIN_SUCCESS_CODE = "true";
     private static final Logger log = LoggerFactory.getLogger(EServiceAuthenticationProvider.class);
 
     @Autowired
@@ -70,7 +69,7 @@
                 EServiceResponse eServiceResponse = responseEntity.getBody();
                 log.debug("eService response = {}", eServiceResponse);
 
-                if(E_SERVICE_LOGIN_SUCCESS_CODE.equals(eServiceResponse.getCode())){
+                if(E_SERVICE_LOGIN_SUCCESS_CODE.equals(eServiceResponse.getIssuccess())){
                     loginRecordService.saveEServiceLoginSuccessRecord(account);
                     return getConsultantToken(account, credentials);
                 }
diff --git a/pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java b/pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java
index 3ae99c4..fe55f38 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/AppointmentService.java
@@ -12,8 +12,8 @@
 import com.pollex.pam.appointment.process.AppointmentProcess;
 import com.pollex.pam.config.ApplicationProperties;
 import com.pollex.pam.config.Constants;
+import com.pollex.pam.enums.SatisfactionTypeEnum;
 import com.pollex.pam.service.dto.*;
-import com.pollex.pam.web.rest.errors.NotFoundExpiringAppointmentException;
 import com.pollex.pam.web.rest.errors.SendEmailFailException;
 import com.pollex.pam.web.rest.errors.SendSMSFailException;
 import io.jsonwebtoken.lang.Assert;
@@ -159,7 +159,7 @@
     }
 
     public void setSatisfactionScore(AppointmentCustomerViewDTO dto, Long appointmentId) {
-        satisfactionService.getByAppointmentId(appointmentId).ifPresent(satisfaction -> {
+        satisfactionService.getByAppointmentIdAndType(appointmentId, SatisfactionTypeEnum.APPOINTMENT).ifPresent(satisfaction -> {
             dto.setSatisfactionScore(satisfaction.getScore());
         });
     }
diff --git a/pamapi/src/main/java/com/pollex/pam/service/ConsultantQuerySpec.java b/pamapi/src/main/java/com/pollex/pam/service/ConsultantQuerySpec.java
index 9613973..8e14d66 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/ConsultantQuerySpec.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/ConsultantQuerySpec.java
@@ -65,38 +65,9 @@
                     set.add(criteriaBuilder.equal(root.get("gender"), param.getGender()));
                 }
 
-                if(Objects.nonNull(param.getAvgScore()) && param.getAvgScore().intValue() != 0) {
-                    set.add(criteriaBuilder.greaterThanOrEqualTo(root.get("avgScore"), param.getAvgScore().intValue()));
-                }
-
-                if(StringUtils.isNotEmpty(param.getSeniority()) && !StringUtils.equals(UNLIMITED, param.getSeniority())) {
-                    if(YOUNG.equals(param.getSeniority())) {
-                        set.add(criteriaBuilder.lessThanOrEqualTo(root.get("seniorityYear"), 5));
-                    }
-                    else if(SENIOR.equals(param.getSeniority())) {
-                        set.add(criteriaBuilder.greaterThan(root.get("seniorityYear"), 5));
-                    }
-                }
-
                 if(StringUtils.isNotEmpty(param.getArea())) {
-                    Predicate predicate1 = criteriaBuilder.like(root.get("serveArea"), "%" + param.getArea() + "%");
-                    Predicate predicate2 = criteriaBuilder.like(root.get("serveArea"), "%��%");
-
-                    Predicate finalPredicate = criteriaBuilder.or(predicate1, predicate2);
-                    set.add(finalPredicate);
+                    set.add(criteriaBuilder.like(root.get("serveArea"), "%" + param.getArea() + "%"));
                 }
-
-                List<String> allRequirements = Objects.nonNull(param.getRequirements()) ? param.getRequirements() : new ArrayList<>();
-                if(StringUtils.isNotEmpty(param.getOtherPopularTags())) {
-                    allRequirements.add(param.getOtherRequirement());
-                }
-                allRequirements.forEach(requirement -> set.add(criteriaBuilder.like(root.get("expertise"), "%" + requirement + "%")));
-
-                List<String> allPopularTags = Objects.nonNull(param.getPopularTags()) ? param.getPopularTags() : new ArrayList<>();
-                if(StringUtils.isNotEmpty(param.getOtherPopularTags())) {
-                    allPopularTags.add(param.getOtherPopularTags());
-                }
-                allPopularTags.forEach(popularTag -> set.add(criteriaBuilder.like(root.get("concept"), "%" + popularTag + "%")));
 
                 Predicate[] predicates = new Predicate[set.size()];
                 predicates = set.toArray(predicates);
diff --git a/pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java b/pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java
index 0179b54..58c96d9 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java
@@ -30,15 +30,16 @@
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.IOException;
 import java.io.InputStream;
 import java.math.BigDecimal;
 import java.time.Instant;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Objects;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
+import static com.pollex.pam.consts.SeniorityQueryConst.*;
 import static com.pollex.pam.enums.ContactStatusEnum.*;
 
 @Service
@@ -159,8 +160,60 @@
     public List<ConsultantDTO> strictQueryConsultant(StrictQueryConsultantParam param) {
         return consultantRepository.findAll(ConsultantQuerySpec.getStrictQuerySpec(param))
             .stream()
-            .map(consultantMapper::toDto)
+            .map(consultant -> {
+                int suitabilityScore = getStrictQuerySuitabilityScore(param, consultant);
+
+                ConsultantDTO dto = consultantMapper.toDto(consultant);
+                dto.setSuitability(suitabilityScore);
+
+                return dto;
+            })
             .collect(Collectors.toList());
+    }
+
+    private int getStrictQuerySuitabilityScore(StrictQueryConsultantParam param, Consultant consultant) {
+        Float queryAvgScore = param.getAvgScore();
+        String querySeniority = param.getSeniority();
+        List<String> queryRequirements = param.getRequirements();
+
+        int score = 0;
+        if(isConsultantGreaterThanScore(queryAvgScore, consultant.getAvgScore())) {
+            score += 30;
+        }
+
+        if(isConsultantInSeniority(querySeniority, consultant.getSeniorityYear())) {
+            score += 20;
+        }
+
+        if(isAllRequirementsIncludeConsultant(queryRequirements, consultant.getExpertise())) {
+            score += 50;
+        }
+
+        return score;
+    }
+
+    private boolean isAllRequirementsIncludeConsultant(List<String> queryRequirements, String consultantExpertise) {
+        return queryRequirements
+            .stream()
+            .allMatch(queryRequirement -> consultantExpertise.matches(".*"+queryRequirement+".*"));
+    }
+
+    private boolean isConsultantInSeniority(String querySeniority, Long consultantSeniorityYear) {
+        switch (querySeniority == null ? "" : querySeniority) {
+            case YOUNG:
+                return consultantSeniorityYear < 5;
+            case SENIOR:
+                return consultantSeniorityYear > 5;
+            case UNLIMITED:
+            case "":
+                return true;
+            default:
+                return false;
+        }
+    }
+
+    private boolean isConsultantGreaterThanScore(Float queryAvgScore, Float consultantAvgScore) {
+        return Objects.isNull(queryAvgScore) || queryAvgScore < consultantAvgScore;
     }
 
     public List<ConsultantDTO> fastQueryConsultant(FastQueryConsultantParam param) {
@@ -306,17 +359,18 @@
     }
 
 	public void setConsultantAvgScore(Satisfaction satisfaction) {
-		float avgScore = getAgentAvgScore(satisfaction.getAgentNo());
-		Consultant consultant = consultantRepository.findOneByAgentNo(satisfaction.getAgentNo())
-				.get();
-		consultant.setAvgScore(avgScore);
-		consultantRepository.save(consultant);
+		Optional<Float> avgScore = getAgentAvgScore(satisfaction.getAgentNo());
+
+        if(avgScore.isPresent()) {
+            BigDecimal bigDecimal = BigDecimal.valueOf(avgScore.get());
+
+            Consultant consultant = consultantRepository.findOneByAgentNo(satisfaction.getAgentNo()).get();
+            consultant.setAvgScore(bigDecimal.setScale(1, BigDecimal.ROUND_HALF_UP).floatValue());
+            consultantRepository.save(consultant);
+        }
 	}
 
-	public float getAgentAvgScore(String agentNo) {
-		Float avgScore = satisfactionRepository.getAgentScoreAvg(agentNo);
-		if(avgScore==null)return 0;
-		BigDecimal bigDecimal = new BigDecimal(avgScore);
-		return avgScore = bigDecimal.setScale(1,BigDecimal.ROUND_HALF_UP).floatValue();
+	public Optional<Float> getAgentAvgScore(String agentNo) {
+		return satisfactionRepository.getAgentScoreAvg(agentNo);
 	}
 }
diff --git a/pamapi/src/main/java/com/pollex/pam/service/PersonalNotificationService.java b/pamapi/src/main/java/com/pollex/pam/service/PersonalNotificationService.java
index 5a4d09a..3fa7b67 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/PersonalNotificationService.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/PersonalNotificationService.java
@@ -73,7 +73,7 @@
 		personalNotificationRepository.save(entity);
 	}
 
-    public void createNotFillSatisfactionSumToCustomer(Long customerId, int notFillSatisfactionSum) {
+    public void createNotFillAppointmentSatisfactionNumberToCustomer(Long customerId, int notFillSatisfactionSum) {
         PersonalNotification entity = new PersonalNotification();
 
         String content = "���� "+notFillSatisfactionSum+" 蝑“���遛��漲��閬‵撖�";
@@ -144,7 +144,7 @@
 			readAllNotification(PersonalNotificationRoleEnum.CUSTOMER, SecurityUtils.getCustomerDBId());
 		}
 	}
-	
+
 	public void readAllNotification(PersonalNotificationRoleEnum ownerRole
 			, Long ownerId) {
 		List<PersonalNotification> allNotification = personalNotificationRepository.findAllByOwnerRoleAndOwnerId(ownerRole, ownerId);
diff --git a/pamapi/src/main/java/com/pollex/pam/service/SatisfactionService.java b/pamapi/src/main/java/com/pollex/pam/service/SatisfactionService.java
index 9911f04..1bf3c20 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/SatisfactionService.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/SatisfactionService.java
@@ -4,6 +4,10 @@
 import java.util.List;
 import java.util.Optional;
 
+import com.pollex.pam.enums.SatisfactionTypeEnum;
+import com.pollex.pam.security.SecurityUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -21,10 +25,13 @@
 import com.pollex.pam.service.mapper.SatisfactionMapper;
 import com.pollex.pam.web.rest.errors.SatisfactionAlreadyExistException;
 import com.pollex.pam.web.rest.errors.SatisfactionNotFoundException;
+import org.springframework.util.Assert;
 
 @Service
 @Transactional
 public class SatisfactionService {
+
+    private static final Logger log = LoggerFactory.getLogger(SatisfactionService.class);
 
 	@Autowired
 	SatisfactionRepository satisfactionRepository;
@@ -52,26 +59,35 @@
 
 	public Satisfaction save(Satisfaction satisfaction) {
 		satisfaction = satisfactionRepository.save(satisfaction);
-		consultantService.setConsultantAvgScore(satisfaction);
+        if(satisfaction.getType() == SatisfactionTypeEnum.APPOINTMENT) {
+            consultantService.setConsultantAvgScore(satisfaction);
+        }
 		return satisfaction;
 	}
 
 	public Satisfaction scorefaction(SatisfactionCustomerScoreDTO scoreDTO) {
-		Optional<Satisfaction> satisfactionOP = getByAppointmentId(scoreDTO.getAppointmentId());
+		Optional<Satisfaction> satisfactionOP = satisfactionRepository.findOneByAppointmentIdAndType(scoreDTO.getAppointmentId(), scoreDTO.getType());
 		Satisfaction satisfaction = satisfactionOP.orElseThrow(SatisfactionNotFoundException::new);
+
+        boolean isSameCustomer = satisfaction.getCustomerId().equals(SecurityUtils.getCustomerDBId());
+        Assert.isTrue(isSameCustomer, "The currently logged in customer has a different ID than the customer on Satisfaction");
+
 		satisfaction.setScore(scoreDTO.getScore());
 		satisfaction.setStatus(SatisfactionStatusEnum.FILLED);
 		save(satisfaction);
-		personalNotificationService.createScorefactionToConsultant(satisfaction);
-		return satisfaction;
+
+        if(satisfaction.getType() == SatisfactionTypeEnum.APPOINTMENT) {
+            personalNotificationService.createScorefactionToConsultant(satisfaction);
+        }
+        return satisfaction;
 	}
 
-	public Satisfaction createSatisfaction(Appointment appointment) {
-		boolean isexist = getByAppointmentId(appointment.getId()).isPresent();
+	public Satisfaction createAppointmentSatisfaction(Appointment appointment) {
+		boolean isexist = getByAppointmentIdAndType(appointment.getId(), SatisfactionTypeEnum.APPOINTMENT).isPresent();
 		if(isexist) {
 			throw new SatisfactionAlreadyExistException();
 		}
-		Satisfaction satisfaction = appointmentMapper.toSatisfaction(appointment);
+		Satisfaction satisfaction = appointmentMapper.toAppointmentSatisfaction(appointment);
 		return save(satisfaction);
 	}
 //
@@ -80,8 +96,8 @@
 //		return save(satisfaction);
 //	}
 
-	public List<SatisfactionDTO> getByAgentNo(String agentNo) {
-		List<Satisfaction> satisfactionList = satisfactionRepository.findByAgentNo(agentNo);
+	public List<SatisfactionDTO> getByAgentNoAndType(String agentNo, SatisfactionTypeEnum type) {
+		List<Satisfaction> satisfactionList = satisfactionRepository.findByAgentNoAndType(agentNo, type);
 		return satisfactionMapper.toDTO(satisfactionList);
 	}
 
@@ -90,12 +106,12 @@
 		return satisfactionMapper.toDTO(satisfactionList);
 	}
 
-    public Optional<Satisfaction> getByAppointmentId(Long appointmentId) {
-        return satisfactionRepository.findOneByAppointmentId(appointmentId);
+    public Optional<Satisfaction> getByAppointmentIdAndType(Long appointmentId, SatisfactionTypeEnum type) {
+        return satisfactionRepository.findOneByAppointmentIdAndType(appointmentId, type);
     }
 
-    public List<Satisfaction> getByStatus(SatisfactionStatusEnum status) {
-        return satisfactionRepository.findAllByStatus(status);
+    public List<Satisfaction> getByStatusAndType(SatisfactionStatusEnum status, SatisfactionTypeEnum type) {
+        return satisfactionRepository.findAllByStatusAndType(status, type);
     }
 
 	public List<Satisfaction> scoreAllfaction(List<SatisfactionCustomerScoreDTO> scoreDTO) {
@@ -105,4 +121,14 @@
 		});
 		return satisfactionList;
 	}
+
+    public void createUnfilledSystemSatisfaction(Appointment appointment) {
+        Satisfaction satisfaction = new Satisfaction();
+        satisfaction.setAppointmentId(appointment.getId());
+        satisfaction.setCustomerId(SecurityUtils.getCustomerDBId());
+        satisfaction.setStatus(SatisfactionStatusEnum.UNFILLED);
+        satisfaction.setType(SatisfactionTypeEnum.SYSTEM);
+
+        satisfactionRepository.save(satisfaction);
+    }
 }
diff --git a/pamapi/src/main/java/com/pollex/pam/service/ScheduleTaskService.java b/pamapi/src/main/java/com/pollex/pam/service/ScheduleTaskService.java
index 57324b5..627aeb4 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/ScheduleTaskService.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/ScheduleTaskService.java
@@ -6,6 +6,7 @@
 import com.pollex.pam.enums.AppointmentStatusEnum;
 import com.pollex.pam.enums.ContactStatusEnum;
 import com.pollex.pam.enums.SatisfactionStatusEnum;
+import com.pollex.pam.enums.SatisfactionTypeEnum;
 import com.pollex.pam.repository.AppointmentCustomerViewRepository;
 import com.pollex.pam.repository.AppointmentExpiringNotifyRecordRepository;
 import org.slf4j.Logger;
@@ -127,13 +128,14 @@
 
     // todo ��蝣箄�府����, otis todo=134497
     @Scheduled(cron = "0 30 8 * * *")
-    public void sendNotFillSatisfactionToPersonalNotification() {
-        Map<Long, List<Satisfaction>> customerNotFillSatisfactions = satisfactionService.getByStatus(SatisfactionStatusEnum.UNFILLED)
+    public void sendNotFillAppointmentSatisfactionToPersonalNotification() {
+        Map<Long, List<Satisfaction>> customerNotFillSatisfactions =
+            satisfactionService.getByStatusAndType(SatisfactionStatusEnum.UNFILLED, SatisfactionTypeEnum.APPOINTMENT)
                 .stream()
                 .collect(Collectors.groupingBy(Satisfaction::getCustomerId));
 
         customerNotFillSatisfactions.forEach((customerId, notFillSatisfactions) ->
-            personalNotificationService.createNotFillSatisfactionSumToCustomer(customerId, notFillSatisfactions.size())
+            personalNotificationService.createNotFillAppointmentSatisfactionNumberToCustomer(customerId, notFillSatisfactions.size())
         );
     }
 
diff --git a/pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDTO.java b/pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDTO.java
index c358d53..f847769 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDTO.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDTO.java
@@ -20,6 +20,7 @@
     private Instant updateTime;
     private String role;
     private String seniority;
+    private int suitability;
 
     public boolean isNewConsultant() {
         if(updateTime != null){
@@ -104,4 +105,12 @@
     public void setNewConsultant(boolean newConsultant) {
         this.newConsultant = newConsultant;
     }
+
+    public int getSuitability() {
+        return suitability;
+    }
+
+    public void setSuitability(int suitability) {
+        this.suitability = suitability;
+    }
 }
diff --git a/pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDetailDTO.java b/pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDetailDTO.java
index 3e4d3f6..ea92f3f 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDetailDTO.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDetailDTO.java
@@ -18,7 +18,6 @@
     private String companyAddress;
     private Instant latestLoginTime;
     private String seniority;
-    private Number suitability;
     private Number evaluation;
     private List<String> expertise;
     private String concept;
@@ -116,14 +115,6 @@
         this.seniority = seniority;
     }
 
-    public Number getSuitability() {
-        return suitability;
-    }
-
-    public void setSuitability(Number suitability) {
-        this.suitability = suitability;
-    }
-
     public Number getEvaluation() {
         return evaluation;
     }
@@ -187,7 +178,7 @@
 	public void setEmail(String email) {
 		this.email = email;
 	}
-	
-	
-    
+
+
+
 }
diff --git a/pamapi/src/main/java/com/pollex/pam/service/dto/SatisfactionCustomerScoreDTO.java b/pamapi/src/main/java/com/pollex/pam/service/dto/SatisfactionCustomerScoreDTO.java
index ea43bdb..1cbf0e3 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/dto/SatisfactionCustomerScoreDTO.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/dto/SatisfactionCustomerScoreDTO.java
@@ -1,10 +1,13 @@
 package com.pollex.pam.service.dto;
 
+import com.pollex.pam.enums.SatisfactionTypeEnum;
+
 public class SatisfactionCustomerScoreDTO {
-	
+
 	private Long appointmentId;
 	private Float score;
-	
+    private SatisfactionTypeEnum type;
+
 	public Long getAppointmentId() {
 		return appointmentId;
 	}
@@ -17,6 +20,10 @@
 	public void setScore(Float score) {
 		this.score = score;
 	}
-	
-	
+    public SatisfactionTypeEnum getType() {
+        return type;
+    }
+    public void setType(SatisfactionTypeEnum type) {
+        this.type = type;
+    }
 }
diff --git a/pamapi/src/main/java/com/pollex/pam/service/dto/SatisfactionDTO.java b/pamapi/src/main/java/com/pollex/pam/service/dto/SatisfactionDTO.java
index 5a6c4ae..152a82d 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/dto/SatisfactionDTO.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/dto/SatisfactionDTO.java
@@ -3,6 +3,7 @@
 import java.time.Instant;
 
 import com.pollex.pam.enums.SatisfactionStatusEnum;
+import com.pollex.pam.enums.SatisfactionTypeEnum;
 
 public class SatisfactionDTO {
 
@@ -16,7 +17,8 @@
     private Long appointmentId;
     private String customerName;
     private String agentName;
-    
+    private SatisfactionTypeEnum type;
+
 	public Long getId() {
 		return id;
 	}
@@ -77,6 +79,10 @@
 	public void setAgentName(String agentName) {
 		this.agentName = agentName;
 	}
-	
-
+    public SatisfactionTypeEnum getType() {
+        return type;
+    }
+    public void setType(SatisfactionTypeEnum type) {
+        this.type = type;
+    }
 }
diff --git a/pamapi/src/main/java/com/pollex/pam/service/dto/StrictQueryConsultantParam.java b/pamapi/src/main/java/com/pollex/pam/service/dto/StrictQueryConsultantParam.java
index a62c19d..7a7afcf 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/dto/StrictQueryConsultantParam.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/dto/StrictQueryConsultantParam.java
@@ -7,7 +7,7 @@
 public class StrictQueryConsultantParam {
 
     private GenderEnum gender;
-    private Number avgScore;
+    private Float avgScore;
     private String status;
     private String area;
     private List<String> requirements;
@@ -24,11 +24,11 @@
         this.gender = gender;
     }
 
-    public Number getAvgScore() {
+    public Float getAvgScore() {
         return avgScore;
     }
 
-    public void setAvgScore(Number avgScore) {
+    public void setAvgScore(Float avgScore) {
         this.avgScore = avgScore;
     }
 
diff --git a/pamapi/src/main/java/com/pollex/pam/service/mapper/AppointmentMapper.java b/pamapi/src/main/java/com/pollex/pam/service/mapper/AppointmentMapper.java
index f92aac5..5526738 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/mapper/AppointmentMapper.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/mapper/AppointmentMapper.java
@@ -4,6 +4,7 @@
 
 import java.util.List;
 
+import com.pollex.pam.enums.SatisfactionTypeEnum;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -13,7 +14,6 @@
 import com.pollex.pam.enums.SatisfactionStatusEnum;
 import com.pollex.pam.repository.AppointmentRepository;
 import com.pollex.pam.service.dto.AppointmentDTO;
-import com.pollex.pam.service.dto.SatisfactionCustomerScoreDTO;
 
 @Service
 public class AppointmentMapper {
@@ -32,18 +32,19 @@
 				.map(s -> toAppointmentDTO(s)).collect(toList());
 	}
 
-	public Satisfaction toSatisfaction(Appointment appointment) {
+	public Satisfaction toAppointmentSatisfaction(Appointment appointment) {
 		Satisfaction target = new Satisfaction();
         target.setAppointmentId(appointment.getId());
 		target.setAgentNo(appointment.getAgentNo());
 		target.setCustomerId(appointment.getCustomerId());
+        target.setType(SatisfactionTypeEnum.APPOINTMENT);
 		target.setStatus(SatisfactionStatusEnum.UNFILLED);
 		return target;
 	}
 
-	public Satisfaction toSatisfaction(Long appointmentId) {
+	public Satisfaction toAppointmentSatisfaction(Long appointmentId) {
 		Appointment appointment = appointmentRepository.findById(appointmentId).get();
-		return toSatisfaction(appointment);
+		return toAppointmentSatisfaction(appointment);
 	}
 
 
diff --git a/pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantDTOMapper.java b/pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantDTOMapper.java
index 0628ca2..48987fc 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantDTOMapper.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantDTOMapper.java
@@ -12,7 +12,7 @@
 
 @Service
 public class ConsultantDTOMapper {
-	
+
 	@Autowired
     ApplicationProperties applicationProperty;
 
@@ -24,7 +24,6 @@
 		target.setAward(source.getAwards());
 		target.setExperience(source.getExperiences());
 	}
-	
-	
+
 
 }
diff --git a/pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantMapper.java b/pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantMapper.java
index 275d246..a04507a 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantMapper.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantMapper.java
@@ -42,6 +42,7 @@
         consultantDTO.setImg(source.getPhotoPath());
         consultantDTO.setRole(source.getRole());
 
+        consultantDTO.setSuitability(0);
         consultantDTO.setContactStatus(null);
         consultantDTO.setUpdateTime(null);
 //        consultantDTO.setLatestAppointmentId(null);
@@ -67,8 +68,7 @@
         consultantDetailDTO.setExpertise(splitStringWithChar(source.getExpertise()));
         consultantDetailDTO.setExperiences(source.getExperience());
 
-        // todo 瘙箏����漲
-        consultantDetailDTO.setSuitability(50);
+        // todo ��蝣箄�垣閰W漲銵函
         consultantDetailDTO.setEvaluation(50);
 
         return consultantDetailDTO;
diff --git a/pamapi/src/main/java/com/pollex/pam/service/mapper/SatisfactionDTOMapper.java b/pamapi/src/main/java/com/pollex/pam/service/mapper/SatisfactionDTOMapper.java
index 4fb7434..fe1eaa2 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/mapper/SatisfactionDTOMapper.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/mapper/SatisfactionDTOMapper.java
@@ -5,22 +5,22 @@
 
 import com.pollex.pam.domain.Satisfaction;
 import com.pollex.pam.enums.SatisfactionStatusEnum;
-import com.pollex.pam.service.dto.SatisfactionCustomerScoreDTO;
+// import com.pollex.pam.service.dto.SatisfactionCustomerScoreDTO;
 
 @Service
 public class SatisfactionDTOMapper {
-	
+
 	@Autowired
 	AppointmentMapper appointmentMapper;
-	
-	public Satisfaction toSatisfaction(SatisfactionCustomerScoreDTO source) {
-		Satisfaction satisfaction = appointmentMapper.toSatisfaction(source.getAppointmentId());
-		satisfaction.setScore(source.getScore());
-		if(satisfaction.getScore()!=null) {
-			satisfaction.setStatus(SatisfactionStatusEnum.FILLED);
-		}else {
-			satisfaction.setStatus(SatisfactionStatusEnum.UNFILLED);
-		}
-		return satisfaction;
-	}
+
+//	public Satisfaction toSatisfaction(SatisfactionCustomerScoreDTO source) {
+//		Satisfaction satisfaction = appointmentMapper.toAppointmentSatisfaction(source.getAppointmentId());
+//		satisfaction.setScore(source.getScore());
+//		if(satisfaction.getScore()!=null) {
+//			satisfaction.setStatus(SatisfactionStatusEnum.FILLED);
+//		}else {
+//			satisfaction.setStatus(SatisfactionStatusEnum.UNFILLED);
+//		}
+//		return satisfaction;
+//	}
 }
diff --git a/pamapi/src/main/java/com/pollex/pam/service/mapper/SatisfactionMapper.java b/pamapi/src/main/java/com/pollex/pam/service/mapper/SatisfactionMapper.java
index 97669a7..8a757a4 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/mapper/SatisfactionMapper.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/mapper/SatisfactionMapper.java
@@ -3,6 +3,7 @@
 import static java.util.stream.Collectors.toList;
 
 import java.util.List;
+import java.util.Objects;
 
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -17,19 +18,19 @@
 
 @Service
 public class SatisfactionMapper {
-	
+
 	@Autowired
 	ConsultantRepository consultantRepository;
-	
+
 	@Autowired
 	CustomerRepository customerRepository;
-	
+
 	public SatisfactionDTO toDTO(Satisfaction source) {
 		SatisfactionDTO target = new SatisfactionDTO();
 		BeanUtils.copyProperties(source, target);
 		target.setScore(source.getScore());
-		Consultant consultant= consultantRepository.findOneByAgentNo(source.getAgentNo()).get();
-		target.setAgentName(consultant.getName());
+		Consultant consultant= consultantRepository.findOneByAgentNo(source.getAgentNo()).orElse(null);
+		target.setAgentName(Objects.isNull(consultant) ? null : consultant.getName());
 		Customer customer = customerRepository.findById(source.getCustomerId()).get();
 		target.setCustomerName(customer.getName());
 		return target;
diff --git a/pamapi/src/main/java/com/pollex/pam/web/rest/AppointmentResource.java b/pamapi/src/main/java/com/pollex/pam/web/rest/AppointmentResource.java
index 6ac1d5f..6a8e6b7 100644
--- a/pamapi/src/main/java/com/pollex/pam/web/rest/AppointmentResource.java
+++ b/pamapi/src/main/java/com/pollex/pam/web/rest/AppointmentResource.java
@@ -4,8 +4,9 @@
 import com.pollex.pam.domain.Appointment;
 import com.pollex.pam.security.SecurityUtils;
 import com.pollex.pam.service.SendMsgService;
-import com.pollex.pam.service.dto.AppointmentUpdateDTO;
+import com.pollex.pam.service.dto.*;
 
+import com.pollex.pam.service.mapper.AppointmentMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -14,11 +15,6 @@
 import com.pollex.pam.service.AppointmentService;
 import com.pollex.pam.service.PersonalNotificationService;
 import com.pollex.pam.service.SatisfactionService;
-import com.pollex.pam.service.dto.AppointmentCloseDTO;
-import com.pollex.pam.service.dto.AppointmentCreateDTO;
-import com.pollex.pam.service.dto.AppointmentCustomerViewDTO;
-
-import java.util.Objects;
 
 @RestController
 @RequestMapping("/api/appointment")
@@ -26,6 +22,9 @@
 
 	@Autowired
 	AppointmentService appointmentService;
+
+    @Autowired
+    AppointmentMapper appointmentMapper;
 
 	@Autowired
 	SatisfactionService satisfactionService;
@@ -53,9 +52,12 @@
     }
 
 	@PostMapping("/customer/create")
-	public void clientCreateAppointment(@RequestBody AppointmentCreateDTO appointmentCreateDTO) {
+	public AppointmentDTO clientCreateAppointment(@RequestBody AppointmentCreateDTO appointmentCreateDTO) {
         Appointment appointment = appointmentService.customerCreateAppointment(appointmentCreateDTO);
         appointmentService.sendAppointmentNotify(appointment);
+        satisfactionService.createUnfilledSystemSatisfaction(appointment);
+
+        return appointmentMapper.toAppointmentDTO(appointment);
     }
 
 	@PostMapping("/markAsContacted/{appointmentId}")
diff --git a/pamapi/src/main/java/com/pollex/pam/web/rest/SatisfactionResource.java b/pamapi/src/main/java/com/pollex/pam/web/rest/SatisfactionResource.java
index 092579b..92baf43 100644
--- a/pamapi/src/main/java/com/pollex/pam/web/rest/SatisfactionResource.java
+++ b/pamapi/src/main/java/com/pollex/pam/web/rest/SatisfactionResource.java
@@ -2,49 +2,47 @@
 
 import java.util.List;
 
+import com.pollex.pam.enums.SatisfactionTypeEnum;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import com.pollex.pam.domain.Appointment;
 import com.pollex.pam.domain.Satisfaction;
 import com.pollex.pam.security.SecurityUtils;
 import com.pollex.pam.service.SatisfactionService;
 import com.pollex.pam.service.dto.SatisfactionCustomerScoreDTO;
 import com.pollex.pam.service.dto.SatisfactionDTO;
-import com.pollex.pam.service.dto.SatisfactionUpdateDTO;
 
 @RestController
 @RequestMapping("/api/satisfaction")
 public class SatisfactionResource {
-	
+
 	private final Logger log = LoggerFactory.getLogger(SatisfactionResource.class);
 
-	
+
 	@Autowired
 	SatisfactionService satisfactionService;
-	
+
 	@PostMapping("/score")
 	public Satisfaction scorefaction(@RequestBody SatisfactionCustomerScoreDTO scoreDTO) {
 		return satisfactionService.scorefaction(scoreDTO);
 	}
-	
+
 	@PostMapping("/score/all")
 	public List<Satisfaction> scoreAllfaction(@RequestBody List<SatisfactionCustomerScoreDTO> scoreDTO) {
 		return satisfactionService.scoreAllfaction(scoreDTO);
 	}
-	
+
 	@GetMapping("/getMySatisfaction")
 	public List<SatisfactionDTO> getMySatisfaction(){
 		if(StringUtils.hasText(SecurityUtils.getAgentNo())) {
-			return satisfactionService.getByAgentNo(SecurityUtils.getAgentNo());
+			return satisfactionService.getByAgentNoAndType(SecurityUtils.getAgentNo(), SatisfactionTypeEnum.APPOINTMENT);
 		}else if(SecurityUtils.getCustomerDBId()!=null){
 			return satisfactionService.getByCustomerId(SecurityUtils.getCustomerDBId());
 		}
diff --git a/pamapi/src/main/resources/config/application-prod.yml b/pamapi/src/main/resources/config/application-prod.yml
index 90ff8b7..f4185f4 100644
--- a/pamapi/src/main/resources/config/application-prod.yml
+++ b/pamapi/src/main/resources/config/application-prod.yml
@@ -153,4 +153,4 @@
     function-id: epos
     sender-email: noreply@pcalife.com.tw
     method: 'PAM_EMAIL_SERVICE'
-  file-folder-path: /sfs_omo/vtwlifewpsfs01/SensitiveData4AP$/OMO
+  file-folder-path: /sfs_omo/AgentPhoto/
diff --git a/pamapi/src/main/resources/config/application-sit.yml b/pamapi/src/main/resources/config/application-sit.yml
index 402dcef..6f0da19 100644
--- a/pamapi/src/main/resources/config/application-sit.yml
+++ b/pamapi/src/main/resources/config/application-sit.yml
@@ -131,4 +131,4 @@
     function-id: epos
     sender-email: noreply@pcalife.com.tw
     method: 'PAM_EMAIL_SERVICE'
-  file-folder-path: /sfs_omo/vtwlifewuftp66/sensitivedata4ap$/OMOSIT
+  file-folder-path: /sfs_omo/AgentPhoto/
diff --git a/pamapi/src/main/resources/config/application-uat.yml b/pamapi/src/main/resources/config/application-uat.yml
index 28d8c16..e97aa15 100644
--- a/pamapi/src/main/resources/config/application-uat.yml
+++ b/pamapi/src/main/resources/config/application-uat.yml
@@ -131,4 +131,4 @@
     function-id: epos
     sender-email: noreply@pcalife.com.tw
     method: 'PAM_EMAIL_SERVICE'
-  file-folder-path: /sfs_omo/vtwlifewuftp66/sensitivedata4ap$/OMO
+  file-folder-path: /sfs_omo/AgentPhoto/

--
Gitblit v1.8.0