diff --git a/custom_components/dreame_vacuum/dreame/device.py b/custom_components/dreame_vacuum/dreame/device.py index 8da323a..74105e8 100644 --- a/custom_components/dreame_vacuum/dreame/device.py +++ b/custom_components/dreame_vacuum/dreame/device.py @@ -874,67 +874,10 @@ def get_map_for_render(self, map_index: int) -> MapData | None: map_data.obstacles = None elif map_data.charger_position and map_data.docked: - # Calculate robot position when it is docked as implemented on the app if not map_data.robot_position: map_data.robot_position = copy.deepcopy( map_data.charger_position) - # Calculate charger angle - charger_angle = map_data.charger_position.a - if self.status.robot_shape != 1: - offset = 150 - if ( - charger_angle > -45 - and charger_angle < 45 - ): - charger_angle = 0 - elif ( - charger_angle > -45 - and charger_angle <= 45 - or charger_angle > 315 - and charger_angle <= 405 - ): - charger_angle = 0 - elif ( - charger_angle > 45 - and charger_angle <= 135 - or charger_angle > -315 - and charger_angle <= -225 - ): - charger_angle = 90 - elif ( - charger_angle > 135 - and charger_angle <= 225 - or charger_angle > -225 - and charger_angle <= -135 - ): - charger_angle = 180 - elif ( - charger_angle > 225 - and charger_angle <= 315 - or charger_angle > -135 - and charger_angle <= -45 - ): - charger_angle = 270 - else: - offset = 250 - - # Calculate new robot position with an offset to the dock - map_data.robot_position.x = ( - map_data.charger_position.x - + offset * math.cos(charger_angle * math.pi / 180) - ) - map_data.robot_position.y = ( - map_data.charger_position.y - + offset * math.sin(charger_angle * math.pi / 180) - ) - - # Robots with self-wash base parks in reverse therefore we don't need to modify the charger angle - if self.status.robot_shape != 2: - map_data.robot_position.a = charger_angle + 180 - else: - map_data.robot_position.a = charger_angle - return map_data def get_map(self, map_index: int) -> MapData | None: @@ -1157,7 +1100,7 @@ def call_action(self, action: DreameVacuumAction, parameters: dict[str, Any] = N self._last_settings_request = 0 # Schedule update for retrieving new properties after action sent - self.schedule_update(2) + self.schedule_update(3) return result def send_command(self, command: str, parameters: dict[str, Any]) -> dict[str, Any] | None: diff --git a/custom_components/dreame_vacuum/dreame/map.py b/custom_components/dreame_vacuum/dreame/map.py index cb28c36..da3f71e 100644 --- a/custom_components/dreame_vacuum/dreame/map.py +++ b/custom_components/dreame_vacuum/dreame/map.py @@ -621,6 +621,12 @@ def _decode_map_partial(self, raw_map, timestamp=None, key=None) -> MapDataParti def _add_map_data_file(self, object_name: str, timestamp) -> None: response, key = self._get_object_file_data(object_name, timestamp) if response is not None: + #_LOGGER.warn("RESPONSE TEST: %s", response.decode()) + #mapstr = "eF7tm8mS8lpyx6vKL-KoNUToaNYX4UVBMYt5LG7cIJiHAgkBVQwd_Qxee-k38MIv4jfw3js_gTMPUMBBYigoxHV__9u3kc6Q-VNmnpQ6-vueHv79nyL_9fDx-PDwb48fj__5wD_868N_P-T-9z_-5wH1-Pj0RC_uQo-gp0d21C0hDYgddkv7OE9s7tj7H9SKBni-nD5txN7tg-0NXCLwscbZ935M7GLW-Pl62uAgDx35GlginiHW-tl62vH-uDdwSAiwuaH_subP1473HQ_n6woBAv87-drN1dbNCbpCwmjStw1uW99cn6bLcXaL9-JkXYqzmx8mW-fqOjiOxXOuboKzP-Kgy2mYTmOHYzNkL9zMWj9bx3Bshhx0E5yzosMaP187BHeBs2Nxz7fNkL2uhbPLs7lxHLLXFXDAwjFv5-BcynOCrxOWLHV3OKz1s3WCq984h7R79A7oRjgnrXq8USlTJ-ygra6Ac8KD3zJZ94dzzNed4Txu_Q_5w7oVzok8VynlYzgnn6yb4RxbstLlNL9xDuoEXw-nlzJr_WwdxzmrlC8F-iviHFuy0sUwv3EO6wRfD79PlrPuDOf04rmc5q-HgzTH1ix1BZyHo65Ox7nO0WKNMjoZ5irhOcPbUWEcWfvn6fRMnKL7wrmY5ro8V8A5oZhP1NNVjhbiYIT2qTBwZ-kK_3cf1drcZTRXCM1SS2u7NGce2_NWH5MNzrVC_z3t4Vz1cc_WXniuG_5ztZ8uV3GA54H9MHYTZ60tHJfLeak7w9nmYafc0P3i3APQDo77PLs4rgOxOC7zsDQu87Awj795tvWFcB88G4K74NkGuAOeHf_u8-y6d52H8e42jyOOOzysb5d59lxv8bgAtO_YVR47vy7y2Lp1j8feq2s8Dk7d4nHy6RKPo8stHpvZn5KzQ1d4Djl0geegP_d42OGlbs9z2NsWj9OS6-qIr1vzHHV1W57jrm7Kc4Krf2SeE1xtlhxYdC0dd7VZcWjVlXTM0Wb-4LKr6YijzfTBZdfTYUeb2S-xS66sg442k19il1xbhzxt5r7ELrm6DrjaTH2JXXJ9HfC1mXJccn0ddraZdVpxbR32tpl1WHB1HXS3mbSfv74O-tuatJv-CR1yeGjup-Ts02H4h3UMhxn9cTnx2A7eQA48dmM3kT2PzdCNZMuzP3Iz2fDsDdxS-zzs_W21x-Muzh6PyzhOPLuLbqgND2VwG4fhcR1nl8d9nG2etdglNxUL4zLOPg-74Ma6MxyWh52-ue4M5-54doDYOTd0ZzhbPOyMO_qNc1BfPFti19xSLAuKXXNDsSgo9_6QM0uCcvHPgLMoKBf_iDz7lwdQ7tHs_2UGN4Oz_3cH3KSx-asVrqbKLlnu0tw_jns8d4ZjWzu_cda6E5wn_Af_Y8fDLv5ZIcOW7HBuGaJjNF9iN_6AbAAY3RnOl-4NxyY-dGR_-JuiOWDdOmqfh-5eDS8PJrPgLC1LgvXqqH1vdDPa2JCxS87QeTT7OKvdFGJl6CKgM1icaZZT62v6t72_SfTl6hTte9mEdifK3-bZmDhFe04cgusWDrtgpe_SONlzEOvF6RjcBmfPi7s4u9Ghh8mexzUcdsVS36U5D2f90E_LzzRHmlvirECcSKjW3GeLNXRYa5Q7wUE_q58jOKyfE8Uauo7-3-AcDPp39W2crW-EK-oinOvzXIZzdZ7v4zz8RL4uxGHNXaq7w7mA5x8Ah_Vxhv76OEcO47VxaDfaFR3bnmH3bOnKOBufh8Tu2ujqOHtLdnWkd-7tP0f7hqlDO23GD-E4bD5NdoadcDay27XS8c2HZGv4iEVMGLtlLcfQnig7y0dMHqRhF58pO9NHjNptWevS6NAv5l37x0z-LM5eLRwxeSBXdC-K3XOOWJylTXbVl9jVO7oCzr6DwxbZ1Tuicwe3H9UezmGLNqtZOW8-RXYOnHnsVrNi95wlOwcX4ThvPkW2Dhwt2q7e1eHiOyK72nF-QvvVu_oBHKfwOKze1SU8DvadDDosZ-S0-wSxppZyMngaziWHizVFdRmO0-5TZFsPDgZt1-7rguJBF3s-nOzZLLWVw_ZTZIPjeDb2l9rKaftJ2vdxwBqz0l5XxXGMDRXO7ojduvxht50uxiQaO3BSd1DsxG44W0972TqAA9p43EO5Eg7Lwy45ritwbLTzjN-hubK2cdg5l_S0omLHv6O_PY-a_fHzr789j-vPvzjPcwt__u55Hky6jedfz1KzwdVllUj1hig_e57H1edff_whewj8w3vIn54_hNU1D9fi6lr480_Pc3dc7zerRt9sP_-ajD6anmcTbBPPs1EdgeXhqP7PYLDeomODERh-5mBg1AUc3vNcm4An4uHA0gTXZ728oKkeL89zmu4VeMHD6ZzHS0Rel3h1fSPoXlnSPF5B1r28BJw68EhwDbMK3Agwp6g6IYrkIbwOO2CXDIuJAEZENCLCKnllT-Bhqbq-kwS6bn2raLqqcR5R1MWvDWRpamsJIZzskYjO8-JqkNdwDZE86J_aBS8C-XoglU5rHglvgVXgVzMqgUfFC1mXJYg7T3Rh6cQrqXAlL_eDy_UOntdFlT4i3iK-zK0fjeheUZDWj6bqssbDhU40GWKAv4JHknUIjuTxIgqne1VtbRdMSSKBgHkJhgAiLHKCR-YoOoQYwwDJWj4LEig6PDBGUMBxosB-cKfKkFaVeuQ5xMNLCLpXxjWcLmKSeE7EOHCQTOBfI6BpCesBJwRVXz6JBPnmdJVuBwYBnx3yLkMKVCwFsEzn0Jeyirim6jxaRWJR0QWIpCZmYR4e0CvKGEM0ThRlWTuwT4NMQAIkSK9Ec0-g8CUJ-USFWiVQFnCzpCISRV9VCd7BFD4PjSrcr8bxRlSXWARQqAFh9eTSMnNExPIRtfUqFVcpy9LFZeLKyWrZshJWxmSaMBiBgyFh9cniyjVkEDINjwQhFzDkHvo0kEvYCaGAs76qAaJpUBAErUNFawoNFIRMVAjkC6lEOGMq-IND5iGQVaxVL5QbkUR8EEnxCJoAleyBDHO6ALdIBR7BOi_CicTMQbCJClmCIoT_FiFEEFCvjAlX6RnDqkQ0LD_4FfDxNbiQMUtAx8OvrMLZBN8cuJWh3MA6phrLG2IBiYWcLbfhORTBE4TAq3K6BulUICQaoGo04wRQIaceuOPw0MlY2eBCgrpSOc2jZWGD7BFUNMZz9ChxeHC8WDe0zujBV1cHmHYkiBjBetRkHVsbPIcib7cyRVXpyaH34FmlFxgsLGJOooeIF6kx2kSgMnldhmUSrQdIsbRuRTwN1qoHwdGiDRTCCmUJqzxw_mA_JAjOMFjjlwd3-ctpq5rGwuVX7WhZ0wQbKA_YcK_oGo-hwVnM3NIXdmKscKg1GCOwEA4GHFw8vrxEmxKcC0wyT3spgYIAVkVZbiccfV5hTSDhAo16gTSCVaQQhGXUaJAkDsucw7MO-dFoLWOtA6OIcYcCQRSIIZrBbEFJQKPTsATgl-MgyVhdXBZ6oAZMAjjFg-zFysYXDryKZFrjClYXZBz3EmxVIrYyeAiONjno0_CjSTrwQU-BadWDlcOLWDmijh1FRtcKLX7skITHeIE9eNtRM4KKdSh46C02JHxeD4GmBYcWfgV8QHocVYKvAPorY91hOr14tgQsfQ1POJY-1Am6hzBCBoTlDLxVYTNRMdsyXKk4BD7WtahAuYirzrs8ZPTB8LzSM6Bji4Bq4bCUJByn1Y2NFTswj4f_yxo6hijQ9x9PtuqdaF93EpKoHG3o9DBBgcAx1Dy4F_qOF8-fIGHxgTeMOnjleRoAPNLYEqRVK8SeqEur9unFVgengsPKw5OgY5mvZlQd2w99j9Iwr981AvVBXzYwBqWHrykCZ0NSsQSzXhmOqMhp-EBwIdCTCJXJIzuawCRwGDv65B4Nk03wcGPE4AXlgTTCG3TdjKE9rd7_OL0seyi-5cuEx0YgoQ1ghR4mKKvix3YorN84UKUyWb9vRGx_CjZfSDO2eogUDEra-sUjYrTWLy7oydj4YDF9TIwooKvQ4QSod1GAE0nTK2CIJHw1Y2uDOqAtBvs6vsE1qAYRX7z42QI_cGQgHhAu4IfFvIC1AsNwWuj3EZwpwYMvLZ5-LsjLshVxAnzw9EuCVgI0Yi_2cOxbPIfJFjB4GkYXvykUgnvwE4DHvg-HBfiVLMFSg08RUV--sMEWHgksZDxhgI-vUnzfgjVo-Dxmk4BvfAvhAcRzDf9CS4R8Q4uFDxl8XmxTXnocsBIxMNhEsFNDAYgSYmDAaa7VJafIYaFgh8B-hXsVfCGJWCYavhbpW0rmsBlidiAh-GAQQHh3KtjoYQ-cVR5fAxp8M0-6g-Z4Uh0MKwP4eIZXispBAai8BAnED-oBfD83g8oEPrXmPEm_dYxwJjhqp0YKMblubiK9yKLPrA3b7bdBfJHhzESyKBdznZTaatZfG3X_IlF_yU544cVfLOf74YUWyiykgHde1qVWexyZl8NaapAKz_zvaq6svw_43Kc2b1WihvreVweteaEStRS1UikntEK3T4RhNdPUeTWXzTQ_lYQaGBQjVszbJS_5j2RtUs6RMD9qE8OndcbjkdqoDZQoXxfkbndkVAuZpDmb9nq5UdqKRkOdxuTtQ7VSJt_PZ6tx_zCnhYv6Z6wnJxOxqiVblViqnn-rgVGLawxDWuvloxxPTEa1Ynw86OTfp7wwqZYzk4zVm_QKYnTU6kwmNbn3OaqahfCkGsxOZoaWqZXfufdqL9ThR3o0QqysnLJgW2jSKIxIUjIi3Wojncm-5ifJWN3QTCEXMRO1gFmtdHzespEtx5LVajCthPqFTyvWm5ak4bDwyic4q231GsNafWCKvUbMtMZma94rVvOT3CwybfS6k-G0lMi_m6KUIFZXi1abIU7uhSxftKT0C8nE66guRqO5qdgP9uvzUuHtLTztTqVEeRbK5URLHTWi_U8t2o8MihWjPjJ85keiOwoHc-VQsqxKvV6qlwm8FT4Ckbey-iYp83YpObfEdKdjzMaDXik44QthfzAel-MmCRRHndfQoBTg5uNIYdprL16tVFKdFD7nlXyz5A_F496E2Y_kR51wcBCO8PN6JD9dmPNePlP9CMSrZchFqV8TUpNUBRyXQ0Gx4AuMynVFDUze3sVcv8XFC62k4ve9G92xlQp9iBmzEPJNBrMpxE_tpS2uXE_6tObbLMVbYkbNtvO5uZnPBLjYxF9MpOtVks9_5nOimowVTX-krGSivVyhY3y8V4MZsb0w5okXs_5WXpRD3XwyHpfivUzMSAbqoYzZXxj-5GuEy5YXnXDnvRqNS9NeWk4FQnUZOMLd12Qrwvk7s46RgNm0OF28z3OdeUGUZx-5zkdBCvJ1UheGptKJtAM1Mi35My_hlBUbJ4IB0yxFEkot_TINZxsRM13i1aGvkQzWCsZHrNr1vog-w0gmkm-jcFysGaWoOOrwIXE4jiwWLX99LqT68ZdFCTAGobK0aFbFeuYzJXR4uMoNSpJq-UJxedasvpUNIyGNOvOImJnXynCVLLeMuRmekpoVGy6SIX9WSfWzicEg-Zq1goFpLuwbEn_7LTpqD8KV4tj66JO6mrX0ysRsjmoDNd2vVrVMwAjV89YiYw0T3fd8MdnPV5PE121aheB8oY6CHxMxEYx63ydJX6FZmORyzX40UxIgRw2-p_pys6LgM3uxUM8yWuPCTBqnc7Klpgu9fI30PivRtl_5NNJ1QTcarZmVmA5N4U38jPRDpNDOa95hoFhVO1Yz2k7OFs1h3GuK7-NsUp9HM5PCWzDVkI1-QNK45VgpCL1Cjc6avmTCGoXbxpvatUa-ri-dCQdb3UKu11YD_nE7ETONku8jEqz6Mi9jy1Bb8nChF33Fl8BrhpRa2bKmB5NyqDpNzl7exVq_Rvz1SnQ2ivhzmUGpaISn9Rjn731M4maKVF8yRtHIF-C8hIOhflOdy9b0LZ1NJsThIBbMpiIBpdQOdQPzfLoxjjUyYa1VTnfhZpToZLlY78NrVuaVipHnY_Hqp1VX09X3IJn2osKnr6jwn4lh5MUcDjPqK0llS1q6aVaq72bHbFrtYjj7OvKGk9N8o-4bRTuExOMx82Ws9Qvv0DSzXovzh2OtdOQjGchlI8EA6WlFf3qeSUTrI3lUHL8I_fE8H0yPhXf_OFGKz81-6LW4iBsmCbUhR2_xebOXhzh9FtqLqJzIxPWBGdFnVj30OSi_zjIBJTjIDWrdfEZUh1ou0IpKmve1q1RyC0VuKZ2aUVOUUmvBZzVBUCqplDFSVOWTa6stSUk0lTCptFKVeTo8mkUqFd07EZoKp8H6lvA6UCapsfZpqJrxKrSEkXfRVFTSGvrKrb719qHzg1RJrgVKUi1U4_spJaSMrZzCW6lSftZahFuCJpNGrUmi84pRqCRr3vonpwTg03Sk80pKLJaIJXgTM0GBV1lKLLfNWftfnv_-f7sHMvU=" + #mapstr = "eF7tl1mOo0oWhjNL6pe7ipafQSIgmOrNs42xcWKDh6srC2M8YjB4wKbVz61eRi-g99E76W30CZzlxNRwK6ucWalW_vUAxHDOF3-cCGf9dveXD_XS_b_uxve_ffjn3b_v2Lt_3Dl3__nv3S_XPSjb9roiBI_Kdr2eUhC_DuMK4pdxZCl-DUYW4tdQvFGMbPdr6U1AvBmMK45s3yvqjWC8jYv8zWCkOLI9r6o3gvHEke14Xb0RjAtHtv2V9Y6R1hvB-MSRbX5tvWOk9Y6R1jtGWu8Yab1jpPWOkdYjxq_meMdI6cOHd4wnvWOk9Y6R1gXj13K8EYy7n8P4kG34Ud1niyMd-QNR6jvd_OFT75fHXOtPR2TdOKc4R768nz-v-5-tTxFIkNT7WZ8oHjGuZl3e7-8_fd8_NSRldRny57qKf8l_1oXijHGp2GTsUyc0pHt_REnmJOrnFBmMVJ7PMLINz9WjDY-vX8NIvl4S47Kd59cvUzya8XWMzxuerVSEa46nIcnnC2OkdcbItp6pMhip_nNLpuGn9KVgT_Zcer80LNGTr1fNt9AF41Kkn5tx1mVrbrtHidIUF4zrIRelRnxtyA_qCxRf53ga8pUBP6onisy9kRqTNDw-r5tvpBTE9W2d4XiBWkh0lf-sq0zZtNnvGyib_1HXmbJZs98_q2z2i15gwV9VNndar4eRzXytV-PIJr7S6-1KNnNaL3Uo78_nPaVs5iu9HEaG4rsxbsxzTv3h8p-Kb-uK45YkqeTfgfHEkVBnYv2EvseDtD7lvi3FMzFSuW9KQTCyub6h2-ZO6ZkU__cYz-PIzr-RfrhEb6vnYVwdlXSYn9XzKFLbcltj3gxGNtG39UL3149j3FTPxLjtVjzp2SclG-A2eh7GS5nx3KPyYhiJstm-ppel-G5DXm5TEn0nBymk7NRb6jsL5IUxvpPi5TGyCb-sLAb5zuorzd-hZxyUK4xsnJ9UNtu3dAVx3UUa0vE-G_ANPWPoWT_Kf2O9EYy7C0m2-dX0t1zouNvcx7_ltnbuI0PlpuTxdyq33i0muY853pmIiEei4FjcNEfltlbu4--_I4r8Yyn0xx9UbrG1XcfyXH-W-7gL9w6V8yEGonKeFUKETWj_FSba06RtHUKAHAMN4QLSslRuvIOILMVApB0Z36ERw3MUB1lVmpUQohh4MhSNZRXxYvJkeYrmBZUVMOmFPsQngwR4Y1TEIYoWJRUhluIlFeYiUaURJ1KcDKN4WaBYiI1hnsA_xiazSGwynIEJGNplipZhIosQT7HQIHEUz3doTuBkwBNkEhmjc2QCKwINjZCaECMsU9ABLxJQ8ZAHMRi6WZZkJqlVGkCgMSGAZgRhWU7leIEAqTSskQRHHIXIdMxIEJ6H1UIGzH1aN8wTAIyGhXJkxLlZJt6JIpuQCBKFkAQNkAAAsCrCSgVOlXhKBAoYBa3gDIyDSfDCQbxkdRzBFhHFAQ6GSeAjcetsGgsOEyTwEtYqqRLxWVRFTInELQgJM0RYD3emgs2D0DwxiYQVeKAiC5TJZkJWHjjARiTCSIHMh4UzKmQnNiaWMEkcgWwFRQKoIjwFuUPzYBrFidCSlAtBJAtnwV8sqjIlJMCCCB5jSkCESXxk4ggTsNCwL6QX4WRDiCcEAhE3OUblIJMsq-AVCzQsQPGEguwMJ8lkN3hECQKxh02KjadwstO8_JgIKotnKGIdn1gINQ7DWJUXZWI7q3IYYwrqi2ehALjzjpHspDSBjwNrJHy2IYlyKQGyOgFOjCpRrCqQKgNgsJT0wQsmTCoZndQdlDrsb7JMDEcAE0yOgdOcnCBSogxkFqHkVTiIxAaShthJgMn20MQ1cjqgWMlmYhXBB4mDYBqNhfN4MPPsGywdkdVilZUozMEKMRjOSVCCiMwUoYPkJWcoWSISiPUyTrZagE2UWeI8nGvwEGxWsUAsI4GAkGOhGxObRUIowdwkiARbK5ASBGiCAYdGJQcFoIg3LK-C30gWSOEKZH1McoqJ2QifO-HBQgayXoRJebKqRKbCuUBQx6SZnD2IQY6WDJ8MWEsSQjGDobDrkBeBMzwm02SyQIgjJcUmUuBAcpKw0IHNgOuKFfHjjQQ3ASL08A2MSWo41ZQADzi3NACzDBBDMUKlUAicYmWZ1Bw5WLARsirABUQ8gIVgRLyAGuFJYkSuG0xMlFmyoSwFCwBgWDwnI0xxxH0ATo4nm9xjpNCgSJLV4-TOIxtHTjQihQCjVRGKXAIKEog_XzGwKh5SwPUBlpC7CNzgYI5M7slPVzCc_4SRXOjnlUO5iKSIgRVOAiuTwofyTpYMKz7f1AiTYfBkEPyY7BZrZ7uz1pvRGn5VoH4kjAVJhO1gkl-aNfywOBVxxyL5xKKHwdyr6RV3np_QhbAf65uVZ53y8jjfVNnZzHabRZ2zZt3GpN9etrfdaUE1dov53IyOnUaklreC4wvatC4yneG4KYv7_KoQD8W4xXaVuMicdOWw8lhvOeLro1W8N2K6c-C1_mEUC5PRdssEG0m0mkft4I476pHecO7qNC_pNcbcdPjoNPFajh-cJnAaNamwXo24nV1rqfFa7Jnoge8KrVN1bwysSaegbwymsYurrGvStTK77Mx9s9Fm-Gi3Mafz465bqZn9oTlaltpWQ9vpC3nABv6Eq-u7vSUg1y33luv1CYfdXivYGYOdxRWa4qq1E_u9idztl3wU6EIraE0F1druVwvjAbVdfaysXaN33JhdockEAXJ8bjAqx7VNqVEfuMqm57Z3JYEfFoKBW-nZzfZpSxvK_GDqjbbFWHPhgelVRrLS9OnNxi0PTWvSdVZuu2QN9app9mmjIepuo6HV4tXAkDtVLPjrat_cblfjndpdIa88QPqmh-1APvm72rywcezqCm-DdYcOS3WpXB0rgVNmrIOir8Zya3s4tv3ViZFVeYwnerQ1y3wY5o-ng9e0h9FQiRtBVOgXtVJbcwyHZyu1QsWu4yaDHX4SnHxcD-e1yrpWZ0923Yhi_7Q0dGtfblpDW58jN5DpniByOL-ZewW35p-Odn0QxZhdGPPOvmz3BvZyrETzbklbljQh0I7y5oBG4_Ah2i9mzVVYcp2ZvC_3NQv6vEAJp7o9w4ap06hWbBfrsM3VXulBaC8sszNT9a0Wlpw2bdZK7U69unSUwnIQzIxBlQ1L3kNQ5IXFVJ1HHbeid0t2XWrYu-0mWkanVnltYx0Pq4uuZtcZbXkseNrKquh4FnunVt63B8MYeg2t2eSbS73haWW7qvtu7IE9dSj5eF6bryylyUdL4ClXbUG3nYZfq06QLQe-oo0WYZXXapJZyS87QQlbakGZd83jar9yi1K-XXMK6zruKEq16IRLZYyiIJjJUWyYxz6gKscwrpQlb1mW-JFiaw9xqaX3HGsw9voKDudsFW-29TieFu0T13abSjBqx3G31KT5dsXWjrWiFnfbLUmJVZs28yVtOmi3ms1YXElmJJRDeWi2FebYrRX4cB4do6jT1322OBgoqs-MC81mGdHW3DMN9rA-tXrTiVtjxCZaMqOHXtBc4-Vp2WuYel0y1kvdD5d6sGt15_rGaVjuQEb7I7PVVu4hsrxoGzQctNEadFAvLR3fmVtOncNKaRBFE3OMloeRMiuOFH3ZkQYL2p_QvFHryTO5xG4cMTxpOm1q1XG_hA2GCbbWYl-xvZPntzq6UWPpWqR4qFox6U6kVVqtRlgFmr6E48b-sY1vKKfqvKdF_M4360xF5CLDGBhm45THwbZ4mDTV-cycFXyzLOPJJh_mi62ym6eX00l7aOHWMe8PtEYodA8b2_fyXL-wr1f6JajRyFxvtPYg6tmtYhDz--6yly9baIiq9LhcbDV8cTlVFoU6EwfeqW_0ppViYbOpNGUjLMwLXjCroGihL7qbWUco00Ho1DqLbjBo9nqz1RD-6KWNkUR7x7loSiXOLRr-bl8e1mXf4hxXDpWZCUevv3L4RWcUqGxVNbzKpB8ZRQbrLfXIs0UvyLecJr32Z8dKtdKf7bdso2hxR33-wOvivAXbXu0U_HXgWFGvVlQ2DbfWGyOmJLWEzsxSFtLDcBEO193ygLE4xeerA6a4dMLKerkaLh8aLWHbszR93Zpt3UrBqZgztI0VWlMgI7Ljenc5UmeaZaz5Q3uLZHm942VPpPFUXFscx2HOG6GTPOJqYkObTj1hOj3kscexmB7VWiO4MwW7qspFaTrl6JHGMbInM6ODyoktdSc3h_BHZ4sd7fu0qHG02fcKQy8McFBCrKfzYk8XxKDLooNYDaVdN2TdZl_ip_HIQZMeNxk7I-U0XfZG67HciGXBGJ7kMKb5gzQ00eIkS8cjno6illi26kLu7_8DRDEIbw==" + #mapstr = "eF6dV8cO7EpuvTNeeOtvuOsnoJWlAWahnHO31KqNoNjKOQ8Mf5u_yR_w3NfGAPYDDBsuLQo8FAuFInlI_sOPP_9Q_vVP__b7n3_8_i-_PuTHP_34xx_17_XvP3786b-s_y79Av4g_6_rDwZ_OPDHj7_9XKsuX9a4G6Nu-fkXGKco9EGRJE7i9G8_0y_0-O3nOv_8y0-P_A0i9Mdvj5-_gGhos7-DX6BFvr_Av_2cq1-H_MfefdW5SK59Clm48HFLZEvKGO072SyynVxmO1QxtnfiD3UMqhQwjsQdyGBhBAGi-uHwFFtTrKrI_KfWNvgBFmc3aHVsYbilow-ZacGtVHY1kW4GP9GsW-wytWt_yIMiwwrePkibjygosqLjiiIIh6OMNEjr7j8Hy0WhUVcBEgQot1YWIv1P-8tGXnQu6wp0yLEwOoxlcubbNafH2SoMi0-udqlr0Bnjh7HNiw2-KuQUDY4Fm6d56h4EzPxxePNyY9eMr0NMNear0r2x_qrq2qnFw40zI_YOIY2FeKt0d6zjF8N_VSrFFP51YqjLjo9zmJXnL_BkuvrWCWX-8IrnC-yJyTbNdcRTXbBj4wycCZie_bzBwL9dKN0GajgWC09S7_Ox1wc7M1cwhW-WS6_AaFmmiIdnwDT069g8BmuoTOMY4uEgC6MSOyuiZ5NZg4EJR34dTBorRcAIeOBcEdnGgIPnctId8xhYOGbuEvDAbOf3FDDfu_LTg-21S3q_4_fT4ft4FoxDEZGYQT-Af1Gs3-D3IByECbbnGVbP8-4qTVyPwibjCV4g3Q0hGjwrK3FeIXdrgCm2IViCUTO9yBZgSnXfOtfoci2FaRv3RMFw4bg4cHyDrDlSyUIpUZrbGP9s7ziMqaaTzq7gPwaafTYYZUArnDrZDudylaA9fFvW00UCRni8pEiwwebzL7bjGRuNlydu2ZsA5DUpGIyUEOTOXoWOt9jZQLue7-paj75_pa_jpuCGgii6jy9ZddFHmola36Xisqqx2J_N61VceiiGtlGvgPHd9br1DRoUj95bquJbbtYBBfs3waT8sulAHj4P6LXU6QcG9zh6GrGqC0Gr5oAp0aOfa_HTA91Ap6u7xpCbr0KJT8J-VJvJuGu8PRTNi0lCXTy2MZC1Je5Tm--PlZtdYA80GEJ1ERCTvaQYaSb0hpRdUfAVaovoJTHh8-LDU9yfKtSI2rpgvZKt-4JSB_CoEqHcUNB18RRcVK9nYWuotc-v_t0m4ThrYktaXB68Zo-ZvFk_kZ6clvyzaoCj72ew2gy4YEfUjjYKNjdrdC8Y_445wG4eZEXD16TY2qOdnoeUri_WexldlyHm8SlnwsfqEmkNRrw2R-SeAEgp7jiw2rgN-wujLWE9KAyip9H2orge8GKWL8Lti4wyHfate2xb0GR1vme22HjpgRo7S5bTx_cQLJJ1cS_uKcAf-C4-rEraasHi77SEEtu3RsoeRcnJsGSH1KskXxrY2E5sZfvFh7V19YGvmmstSYFyLzs8zuLbFpDxhFS1DUlNbtDiMbe0l5TOjmqoUrQOmR8DqRt4taIfc-k7TDzSBfEJSybE9_SwO21W8UN_YICn-aXK5MJaAJit63uXEkjhiSjVsiOemHCELltFWE3XmxSRYpXuXbLKFg-RrZBTYm6vgHf8PFtZewkSIJyLlrdt_kacZOmFF_gM-FMPy_yoakO0lTDR9fdQLOBeWu2SwQxQCfFBaRoeEpBLApC3WbYlcq0g3mKK29StRjPOW3YhMZxAfjsx1hF29tC-1mZZuS9K6G16aO96XKT-nTDEu3TMZBawjlnwiOYCTHFyEQRpn4o78D7F8Y2xTevXNVu7gENehSjGLkFqKWlQwgbdMJSczQ32SMA9GAneMxSerXxijoAVbj6WT3jvpdMAJjaGi7qtl3MS60dEkL5xA0Qjd1fHDXoSFokqZkxQQVqjidI51vCLG5FTKSQb0I1RHxFihwtyodYuipIv4u5y1MRNZDV8-jlFp4Run9cFcgmHdKX7AEEEZGWwu-Z2D4exda5ye4ysT8iEBC7sDPNAc6E3h4-QByJXAcaGeH0fjJLcJPJqwCow_HUMV7oTdo3ZSHGsgL35IrTeMHdMDU2wapCB1AiO4SwAv-fmhj1L9_XW5q4AN7OkgLdt_2mnGWVNGZqaJ-09iyDzbb4EqowSXeijayf7HOLqwyeCjgKpHWlIzN3zLjKm8bnp3dSaWqrULELPqAcBs_FoK_EKBQH1mHDObEvY2W9loc356yGC5NtGM4N3YmcEokuPhcTRGClIXRXDcjrs0jqWtRqF5F1xiWItCCCwFSF3jL2Qub4gKVNts_ew-aFhDXKnnkVrvBS88VvFTb_hLmLuBrHcvQ-ya3fHzfSahIjhnlI6XRmEEXLDtBentvTT-lYtV1poWy0XHGRjqQPjhXflbtZjsVpnGrTh9fKT0ClyV0qfHzvoQ27t7q3Yr0_CyQSn2N83RD9c2nnLKpzh0kihcs2O3TabnixfdrhEugvebu5Hni6zp8CSS8iG8M2TgRMtUq5_yRdla-GFXYMkruerHdfx85S2MAgumcCW6Yo3Pd62IPs2F7Ky8MjAyNGiZrrrS3A8gCsBE_uSyFAgvq6pP8Q1IDPL2W6hXAvJJO8wfFxh-qz3hOxQnttfxtWTw2VUU4UnCcmINmBFL61ndZu5RTyRV-IuT4G-O8ZuD5U1Q6cGC1jPZ3FV3MTmsB6ooQN_Y6xz80_gNwOMhesrvTTr0TIjNgwt1CefAxrpXQXBC16ng_AYUo81FNKkglSl54jw0RGJY9tAhjf5rmztlAC0L8Gl_XRjq-OiB8Z_83XeBB0URhTuN9OW6NTn6bSUjPzOJEl8TlNBj6H22LahlN_VPVcH0hmN9s1fj5-fUx-69KpTb8bblphJOMRftsz2cxh-XBpB6Y8Xf-XlN3Vay2_dkVW-cnaO4AFnEyXQqgD1zNxs0rZiOS43y4TQqt-47u49HtmzeXXvVocXgGScOUtCIqdSDftm1gNIHOVWmQNGRUDnJ6q-XCNQWfvu135uBj_ClQ4Emr3cyuT6aUegEMdv-IqyEV7abdjlJK5gkXJMQgCNYeyGrAy0ALrsQG0l06naIXYB0wOx59pgV-lxYPpTVOqTvC4U4Eiq-fFpLC_3alXGb8g8UWvQtpaNyXF1AooUX1odn7a5EqZw0uLS799Su5BB1GUK0FTF2O3cDHstohqnuTrV3N9f-rJp6QzNWVhRHLHMLzWah5dztJstB3mUdr0_azv1xrBXObM5nsbcMr6tWWNrnPL4tL4dZBdUCU8dnmd7XVpLIIzUKKxs9fUGZZUZ7Sitjn7MPGx5c4HI_bzi4LWSzc1NsdAipQVTS9k_b_HJ-PkLbzB96XjI6QQYgXWAoKHZP53p6j3SNl4omnkkeL3dKGS23Kx6Dd4qBKIjQ5s2SPdIJTOgxxsawkZ_JDvnk_ezbYsXxXvOtn-W4CAZDm1G9LN1Pui37sBLOGmfL6StopMeJztjmiSb6s6ddZUUG28GWw7HDSH139yskEu1JhnBrXa3iVcrGlnFmTZ9xd2XKhNzpL6u-lbWgAwHMCZXOpmykABzO537CRo_JSQ5nvCyuui-8OwoZqQteZkW7N1fdoPa51Fepymula4_oxwNnoLbk344IOdFUEeTeGbYMBhPsHR9DGE2jW3iT-GsBj540PF9YXhrJgpfKVsdftVrpcxGXSwvA-0Va41o1oWg1WHnmovZ4FnKD50rO58YSqfchh7b2fz4aKd8qZMyLRajYVcX9PEj8ZIbhMzXLHm-9gX_oFJJDismM3xV1IeOMVM9BYeSFObgY0xki7uRMLtl47NWbCyHhf4MghzJ0jfpkweTc6qHODi18lNR4v17_bJEyVWUrL4zRzsGIKzhwYJUoeTlJt_Wd-xh9FOUGdpp5CPHTq7SouTz_kT5BY0DzVdeweq1oCkz_dEs-zspOrmDXKJq2kx7VqLhQ4cpyrkncf1jGNTx20sYzlDtCDNg9PXJyprDxVle-LXW9JC_a8LS2U-a_qds_R9khCM_Gm3zE54yqIENVYVww-P79NRD3Kzh_ymvKf4K_QRLvWQJKoQdsO0bhWfjf7JzzTVH0mGRNzZJZ5T6vSzlwuiizuvzwh6cApO6kjDc6R0XQTJ5fbPI3iLxtLDT5QO8yGSJW239l0PZGc_a1jyyUKOoZxMjAgyhC6neOJH1RfSd5TccyqOiRlCw9miEElC09gVK3h1JI8MdUdSL3iibhBA_yiObkFeIhvBDi7I2yvd3Tx70XvQjTaUFtOYRgXfdd36YqnEmN6xF5gsu0DnZJ7_r8W9jOJrFZHQI0b9Fu5iickEjD_HznoywnWxpKCr2iIrUO-yY469__fnP_w7_d8LC" + #mapstr = "eF7tlumS4sgRx7v3FRzhzw4-SxEq3ZoIh4NLXDpAB9d6QyGEAAkkISSQYGNfwO_ir34IP4qfwN_WVfQw3a05uhvo7hjv_CcYpKzM_GVlJTXz080_b1t___1vv__55k83__j93zfkTXKT3Uz--6__3LyOfioarqifoIq2O-tx5Qtrl-pT6q-rGHKpivm_pGLMhYIZb29vj5k_ft3pFlk_Wooxl-lT9uPfX9YrIb-lK-_zGcRXQD7J_M6Rx3F8Gnl7LeT9z79I-EzXQ55UJHym6yGLmb-qKyGfs7uTroN8VkNPugryRcT3Qd6rmOkFegHzIfGNkHfM02Mx0fP1EuQDXbLP85FnMu879VK9C7KY65l6B-TNi-7Yh_qB_LbOPsy3R579G7kEWcz0An03yIuYb4489ywvmJ_vC1lM9Xy9A_JM5iXIMzt7GbKY7Vm6AHnmJr8_5FnMH8gn9NbII-0s4mXI8_RHQZ7HvAhZTPY8vT3yzN_HUechz_1JHnUW8iLi-yDPYV4yPeciL2E-Ir6Afh0kOqEHSb-tqyBRj5_LvGh-7iCnFM9A3lV2AfHj-LwoxYXEE7Jofk0diUXj6wohi7ZX1rsgLxqFc_QuyHdo7LtM7BtD766CJ1QMulDPYRZjLtXTyGLExXoSWQy4WE81tuh_uZ4AfhV5_v3xUuLJcPaVhW67IqOgQsTJfPxn-kx9SvIVFZAn93Ma-6kzjwCf6VHMA_ei-UV6RPhMRe-Tf9H6Ev307dMsul_hTn6C-IXcXzE_VnFiHukx4HN9nuzOXszzAj0GfK6vEJ9APkrxUN9Y-qSvIV9TfwzkY-bbI781GdfUY2Zx9VX0A_lK-oF8FT0Evg3yMfE9kE_8v-Uaen_i6yOLwP9LZJF3-wN5HRV5tz-Q11GRd_v6yC8wix6vqHdAnphF82vq7Yk3CFq0XKBfSxt3lZQ-_FpKnNIHAivN0NdvWClIvWnpQ4lxXYG2XYFyCIEqYaXELn34-WcSA3d_fvkFK3mJs3LtcBXNSx_SzdbFShHMAbBSaG9ghvXG-QsMdGZHW-oFbpLawdoKIBWwrMABgiUIAGistPGgjcRKkxRCCIyAyVOUQucoBsMBy3ASyZEsRkgEBhhCwkkOgLs3kpXgB8MpTgICdCZJCcAgXpBIKAynJRx54iRLcxgD3ygOOtMwMwUzc8fMAnXMhQOaQ44cXKEk5miAaRiWPy2zcJkR7urAAUPBRe70doxlOOG0SKJI5vSGKqB4AcMFiRKQN1ymwMkZYuAyTWIUfEUb4E5xsDzAn96OCOo-KQ1zMJ8WUXEUTzwojqLumnSKJDnUD_QOEfT9EkkSn7LwyPF-F7C7PMGiCBydBAO_oYH8uEzRaJm6LxaauAcVwJNA7cFpAuNhsdDK88gHPjAMBKGGoCgWsBg4knmMhf6Qj7PQAcADBgQqFsCEBPRgWQz2TcLhUcNoSGcwioBHz9MYT0qohXBc4CmzMJIFOidAFMnCbSCkdN9JXgKwbpzTSZ6GMJqGZdCoW4AUMPiM-go7CGkCzMZQGBAIiScxkoQTgd4QREA9hP3gMRrthkZzCOAxoGppFIeOmoQrsBcYic4Hbpim4DeJoe3BRLAoCnqhOQMk2iTKQ9CoaInEeDQ2qHK4Q5pHdQsSAxc56A53zkMzB_cEO3oc-qMbqgEGs2iICdRLWAvqIfJjKYlH2-ch_DjfsDKJQz3j0S7hA4smEfUMZUQLcDpQUxlB4lABJDwtBiFogLqDw90A2AaKRZUcj1eApwtoiUVbhFaWQ0cI74FgA2-QEnqCv_YAProil5IAbGnQGy2shtlwvaSVt6mtXZ2mKwVU2KwSTVbzahzVx72e36gZsWYwKiUOssbULuflmB4tmnXHzQ9WJZvlOb5rTlN2lk975La7tPaL9doLs5FvT2YGNcGtbrLnVGu8dg87cmYdGpxlzRYzfhWsgKSn9hY2aTMC_CyegoELhEoTaDoQ5_pOldKptpLSzV5Y9ifSrE1lNJXiErwAgUgOl_Zq2ooORNWv-UaHiP04TegtTolpI-iv-_VhfsibqrRL84mpdvZbq2MNZGFOg31zM7SD5RjwVWa5J0lFGeV7W9TH0sQB61VD1GPVrVoV2U7S1B-aU8GJfdMBUb_T1Lus5waGrsdKp8muV-0NT_vhcpVubTLfxV21nS9AN2lEfLZq5CYwPCGifIOJhYOqgYOBd6rOeqKtx6uuUGNz3ZvUa_bYxw1lRFD7tQMM3e8oSyLcB4FttI0JqO1j3LMUPIJ2k1h2Up7w9Tlh9w113pFGSsuM2kti4S2HYZ1eeGYnF_vKIDHi7igRHJ7dedp8z_pBW25pJMFIAd8z7Yyp1kfT4LCvd2R7qcgRmFc9clyPPanDOXuGiKYTvyLa00E_90Wxmjjjcdjls6zbl7oeUONOtPK9RoMweyD3fXMTaiQj27GmkbNDy3aWhHfogHxmTavxdJDv51yXa637a8OrLlx_J_NOzoSgJcfTyYHfZpVhVZVU1zadVRJPh2hPQ15Xmx26l69DYLf1WofW8rFP2Ixb7ozG-bjGygHuRkNnSJT7me8fmhGxT-rw0YOPYO-0zOwQ580oz53WKDuw-crpd1s4YRGWkkejYaXX0Ece3Y0qk7ydBZ3dchxvK1TdaKti23SVaeb3Yjn2Uh8222eVTux5ZaJ5WO-aQsdfNBcNQds15lo6mJtaX9zUwl5cG7Feb7PIDFEEgyqt0T1mMh5C36XddpjMn--VeuBA-7jhGarTIlQ_r4Tq0hY1en4I90o5ckbjA1w1VVlmZF_rhGrdaWjR6hBW1VqL0MeHu3QyTEfzmtZxmJjhNC3hdCkRImam9YbVaTWSFvNtPaiow8GA1usSWU40jqXDRasOg21PWlmGHNsSWVNmy7HCL7KmirfMWe7KUhZWhWxs8DLAe_X1InD5bLDlWrNFsD6UFVk57JJq39J9y5ovZPkAKwOHcZ2XmU1SJjJKxbO2Kcjjg19dZoeu6khDZWnsVpuQHxpVWa4Pt02pXKsofMM3W4v5Eve1qJ5lxoztKC6zHgiTOTOyAnNm6DzVrTHVBk3Y3mDVSMzYr0RrpeH3TfgZNayqt1H39nS0OGz3RDKgV7vMTlpO3HbFttpRg7QSCesmrS_1dGv01F2s7lMhD2rUaN7MTba3a8ih1RzNxvMytwt7TlMaTmt5rPTWETWid628IfYXgYCvRdXmF4mbz-U8d9fJNuLqia5Ke1lb9EfjncMebM-09ma7KTINyYtX5rSfu5VA6Wxqy7DHe52NElT6urrflTebYYXW7H05XtWn9DTuDMp1OB9l3J9Nu2ObTb3KsAdvAjycaWYUlqmhmGgdvEqYznKjVJ1ZnkW03de8jA-bSa8Frz5SqQayCMeIayyG9WplHaya5NAcGAp8jkTZWm4qq8rcnq9A5mmesZ7r7IiON2pT94x4JJMDv24DQAETV4RuzSBjppnE9Yo2cSKyx5TBztrQpNGJernW2wi1mrKNdvZI0N2-aLR73HBZr4fNkFbTaM7QsBd-bT4ardwGk7ej9m4riuP-uo6bVrk9mrZYbxDTkmg7kbdMzB6zowbpvOuQ7D6IpZQpD7Vd0K7rvruZLoxlx-91ZDYZiGovhj8Q-KMemUw1IiuEOR5mccqkx7utRdUX8JZbmo7It3O9ZSlrK93teC7t8jk_a26tcCoI_JbxLWdnTRe47ocUgzcpK0vbvuXurBpJz5ocrtZES5x1d4d8Fs5Y1xctt5lTFiXigtD3rNC3-O5kQbkc3x8eKisDgAHlx6OdyDrw9ttJ9VDK0i63FKbkSh6KuOhvcDIP-LaBU83hISL64WbtDKtgKwaWl5DwY41VcTPL26RwCIX91KU2bJMKnLVt_rX02_8AbsHDjA==" + #self._add_raw_map_data(mapstr, timestamp, key) self._add_raw_map_data(response.decode(), timestamp, key) def _add_raw_map_data(self, raw_map: str, timestamp=None, key=None) -> bool: @@ -1963,6 +1969,7 @@ def _get_segment_center(map_data, segment_id: int, center: int, vertical: bool) @staticmethod def decode_map_partial(raw_map, key=None) -> MapDataPartial | None: + _LOGGER.debug("raw_map: %s", raw_map) raw_map = raw_map.replace("_", "/").replace("-", "+") if "," in raw_map and key is None: @@ -1982,7 +1989,7 @@ def decode_map_partial(raw_map, key=None) -> MapDataPartial | None: decryptor = cipher.decryptor() raw_map = decryptor.update(raw_map) + decryptor.finalize() except Exception as ex: - _LOGGER.error("Map data decryption failed: %s. Private key might be missing, please report this issue with your device model https://github.com/Tasshack/dreame-vacuum/issues/new?assignees=Tasshack&labels=bug&template=bug_report.md&title=Map%20data%20decryption%20failed", ex) + _LOGGER.error(f"Map data decryption failed: {ex}. Private key might be missing, please report this issue with your device model https://github.com/Tasshack/dreame-vacuum/issues/new?assignees=Tasshack&labels=bug&template=bug_report.md&title=Map%20data%20decryption%20failed") return None try: @@ -3376,7 +3383,7 @@ def __init__(self, color_scheme: str = None, map_objects: list[str] = None, robo ] self._segment_icons = {} - for (k, v) in SEGMENT_TYPE_CODE_TO_ICON.items(): + for (k, v) in SEGMENT_ICONS_DREAME.items(): self._segment_icons[k] = Image.open(BytesIO(base64.b64decode(v))).convert( "RGBA" ) @@ -3599,8 +3606,8 @@ def render_map(self, map_data: MapData, robot_status: int = 0) -> bytes: map_data.walls, map_data.segments, [14, 14, 14, 14], - 140, 100, + 60, scale ) @@ -3776,7 +3783,19 @@ def render_objects( line_width = 3 border_width = 2 - + + if map_data.rotation == 0 or map_data.rotation == 180: + width = (map_data.dimensions.width) + ((map_data.dimensions.padding[0] + map_data.dimensions.padding[2] - map_data.dimensions.crop[0] - map_data.dimensions.crop[2]) / map_data.dimensions.scale) + robot_icon_size = width * 0.037 + icon_size = width * 0.03 + else: + height = (map_data.dimensions.height) + ((map_data.dimensions.padding[1] + map_data.dimensions.padding[3] - map_data.dimensions.crop[1] - map_data.dimensions.crop[3]) / map_data.dimensions.scale) + robot_icon_size = height * 0.037 + icon_size = height * 0.03 + + robot_icon_size = max(7, min(14, robot_icon_size)) + icon_size = max(5, min(10, icon_size)) + if map_data.path and self.config.path: if ( self._map_data is None @@ -3913,7 +3932,7 @@ def render_objects( bool(map_data.cleanset), layer, map_data.dimensions, - 5 * map_data.dimensions.scale, + int(icon_size * map_data.dimensions.scale), map_data.rotation, scale, ) @@ -3935,7 +3954,7 @@ def render_objects( robot_status, layer, map_data.dimensions, - int((7 * map_data.dimensions.scale * scale) * 1.2), + int((robot_icon_size * map_data.dimensions.scale) * 1.2), map_data.rotation, scale, ) @@ -3948,14 +3967,64 @@ def render_objects( or self._map_data.robot_position != map_data.robot_position or self._map_data.rotation != map_data.rotation or self._robot_status != robot_status + or self._map_data.docked != map_data.docked or not self._layers.get(MapRendererLayer.ROBOT) ): + robot_position = map_data.robot_position + + if map_data.docked: + # Calculate charger angle + charger_angle = map_data.charger_position.a + if self._robot_shape != 1: + offset = int(robot_icon_size * 21.42) # 150 #icon_size * 30 #int(robot_icon_size * 16.7) + if ( + charger_angle > -45 + and charger_angle < 45 + ): + charger_angle = 0 + elif ( + charger_angle > -45 + and charger_angle <= 45 + or charger_angle > 315 + and charger_angle <= 405 + ): + charger_angle = 0 + elif ( + charger_angle > 45 + and charger_angle <= 135 + or charger_angle > -315 + and charger_angle <= -225 + ): + charger_angle = 90 + elif ( + charger_angle > 135 + and charger_angle <= 225 + or charger_angle > -225 + and charger_angle <= -135 + ): + charger_angle = 180 + elif ( + charger_angle > 225 + and charger_angle <= 315 + or charger_angle > -135 + and charger_angle <= -45 + ): + charger_angle = 270 + else: + offset = int(robot_icon_size * 35.71) # 250 #icon_size * 50 #int(robot_icon_size * 27.8) + + robot_position = Point( + map_data.charger_position.x + offset * math.cos(charger_angle * math.pi / 180), + map_data.charger_position.y + offset * math.sin(charger_angle * math.pi / 180), + charger_angle + 180 if self._robot_shape != 2 else charger_angle + ) + self._layers[MapRendererLayer.ROBOT] = self.render_vacuum( - map_data.robot_position, + robot_position, robot_status, layer, map_data.dimensions, - int(7 * map_data.dimensions.scale * scale), + int(robot_icon_size * map_data.dimensions.scale), map_data.rotation, scale, ) @@ -3973,7 +4042,7 @@ def render_objects( map_data.obstacles, layer, map_data.dimensions, - 10 * map_data.dimensions.scale, + int((icon_size * 2) * map_data.dimensions.scale), map_data.rotation, scale, ) @@ -4143,17 +4212,18 @@ def render_charger( self, charger_position, robot_status, layer, dimensions, size, map_rotation, scale ): new_layer = Image.new("RGBA", layer.size, (255, 255, 255, 0)) + icon_size = int(size * scale) if self._charger_icon is None: if self._robot_shape == 1: charger_image = MAP_CHARGER_VSLAM_IMAGE - size = int(size * 1.5) + icon_size = int(icon_size * 1.5) else: - charger_image = MAP_CHARGER_IMAGE + charger_image = MAP_CHARGER_IMAGE self._charger_icon = ( Image.open(BytesIO(base64.b64decode(charger_image))) .convert("RGBA") - .resize((size, size), resample=Image.Resampling.NEAREST) + .resize((icon_size, icon_size), resample=Image.Resampling.NEAREST) ) if self.color_scheme.dark: @@ -4176,7 +4246,7 @@ def render_charger( Image.open( BytesIO(base64.b64decode(MAP_ROBOT_WASHING_IMAGE))) .convert("RGBA") - .resize((int(size * 1.25), int(size * 1.25)), resample=Image.Resampling.NEAREST) + .resize((int(icon_size * 1.25), int(icon_size * 1.25)), resample=Image.Resampling.NEAREST) .rotate(-map_rotation) ) enhancer = ImageEnhance.Brightness(self._robot_washing_icon) @@ -4187,7 +4257,7 @@ def render_charger( icon_x = point.x * scale icon_y = point.y * scale - offset = (size * 1.5) + offset = (icon_size * 1.5) if map_rotation == 90: icon_x = icon_x + offset elif map_rotation == 180: @@ -4209,6 +4279,7 @@ def render_vacuum( self, robot_position, robot_status, layer, dimensions, size, map_rotation, scale ): new_layer = Image.new("RGBA", layer.size, (255, 255, 255, 0)) + icon_size = int(size * scale) if self._robot_icon is None: if self._robot_shape == 2: robot_image = MAP_ROBOT_MOP_IMAGE @@ -4220,7 +4291,7 @@ def render_vacuum( self._robot_icon = ( Image.open(BytesIO(base64.b64decode(robot_image))) .convert("RGBA") - .resize((size, size), resample=Image.Resampling.NEAREST) + .resize((icon_size, icon_size), resample=Image.Resampling.NEAREST) ) if self._robot_shape != 2: @@ -4240,7 +4311,7 @@ def render_vacuum( Image.open( BytesIO(base64.b64decode(MAP_ROBOT_CLEANING_IMAGE))) .convert("RGBA") - .resize(((int(size * 1.25), int(size * 1.25))), resample=Image.Resampling.NEAREST) + .resize(((int(icon_size * 1.25), int(icon_size * 1.25))), resample=Image.Resampling.NEAREST) ) status_icon = self._robot_cleaning_icon elif robot_status == 2: @@ -4249,7 +4320,7 @@ def render_vacuum( Image.open( BytesIO(base64.b64decode(MAP_ROBOT_CHARGING_IMAGE))) .convert("RGBA") - .resize(((int(size * 1.3), int(size * 1.3))), resample=Image.Resampling.NEAREST) + .resize(((int(icon_size * 1.3), int(icon_size * 1.3))), resample=Image.Resampling.NEAREST) ) status_icon = self._robot_charging_icon elif robot_status == 3 or robot_status == 5 or robot_status == 6: @@ -4258,7 +4329,7 @@ def render_vacuum( Image.open( BytesIO(base64.b64decode(MAP_ROBOT_WARNING_IMAGE))) .convert("RGBA") - .resize(((int(size * 1.3), int(size * 1.3))), resample=Image.Resampling.NEAREST) + .resize(((int(icon_size * 1.3), int(icon_size * 1.3))), resample=Image.Resampling.NEAREST) ) status_icon = self._robot_warning_icon @@ -4293,12 +4364,12 @@ def render_vacuum( sleeping_icon = enhancer.enhance(0.7) self._robot_sleeping_icon = [ - sleeping_icon.resize(((int(size * 0.3), int(size * 0.3))), resample=Image.Resampling.NEAREST), + sleeping_icon.resize(((int(icon_size * 0.3), int(icon_size * 0.3))), resample=Image.Resampling.NEAREST), sleeping_icon.resize( - ((int(size * 0.35), int(size * 0.35))), resample=Image.Resampling.NEAREST), + ((int(icon_size * 0.35), int(icon_size * 0.35))), resample=Image.Resampling.NEAREST), ] - - for k in [[19, 10, 0], [24, 24, 1]]: + + for k in [[int(icon_size * 0.34), int(icon_size * 0.18), 0], [int(icon_size * 0.43), int(icon_size * 0.43), 1]]: status_icon = self._robot_sleeping_icon[k[2]] if map_rotation == 90: x = point.x + k[1] @@ -4330,33 +4401,32 @@ def render_segment( draw = ImageDraw.Draw(new_layer, "RGBA") if segment.x is not None and segment.y is not None: text = None - if segment.type == 0 or not self.config.icon: - text = segment.name + icon = self._segment_icons.get(segment.type) if self.config.icon else None + if segment.type == 0 or icon is None: + text = segment.name if self._robot_shape != 1 or segment.custom_name is not None else segment.letter elif segment.index > 0: text = str(segment.index) text_font = None - order_font = None - icon = None + order_font = None if text and self.config.name: text_font = ImageFont.truetype( BytesIO(self.font_file), - (scale * 19) if segment.index or not self.config.icon > 0 else (scale * 17), + int((size * 1.9)) if segment.index or icon is None else int((size * 1.7)), ) if segment.order and self.config.order: order_font = ImageFont.truetype( - BytesIO(self.font_file), (scale * 21) + BytesIO(self.font_file), int((size * 2.1)) ) p = Point(segment.x, segment.y).to_img(dimensions) x = p.x - y = p.y + y = p.y if self.config.name or self.config.icon: if segment.type != 0 or text_font or not self.config.name: icon_size = size * 1.3 - icon = self._segment_icons.get(segment.type, 0) x0 = x - size y0 = y - size x1 = x + size @@ -4366,21 +4436,22 @@ def render_segment( tw, th = draw.textsize(text, text_font) ws = tw / 4 - if segment.index > 0 or not self.config.icon: + if segment.index > 0 or icon is None: icon_size = size * 1.35 padding = icon_size / 2 text_offset = (icon_size / 2) + 2 icon_offset = 2 - th = scale * 23 + th = int(size * 2.3) else: icon_size = size * 1.15 padding = icon_size / 4 icon_offset = padding - 2 text_offset = icon_size / 2 - th = scale * 19 + th = int(size * 1.9) - if not self.config.icon: + if icon is None: text_offset = 0 + padding = -(icon_size / 4) if rotation == 90 or rotation == 270: y0 = y0 - ws - padding @@ -4453,12 +4524,12 @@ def render_segment( fill=self.color_scheme.icon_background, ) - if self.config.icon: + if icon is not None: s = icon_size * scale - icon = icon.resize((int(s), int(s))).rotate(-rotation) + icon = icon.resize((int(s), int(s))).rotate(-rotation, expand=1) new_layer.paste( - icon, (int(x * scale - (s / 2)), - int(y * scale - (s / 2))), icon + icon, (int(x * scale - (icon.size[0] / 2)), + int(y * scale - (icon.size[1] / 2))), icon ) custom = ( diff --git a/custom_components/dreame_vacuum/dreame/resources.py b/custom_components/dreame_vacuum/dreame/resources.py index 7e40ca8..3cc4e2f 100644 --- a/custom_components/dreame_vacuum/dreame/resources.py +++ b/custom_components/dreame_vacuum/dreame/resources.py @@ -12,23 +12,6 @@ MAP_ROBOT_SLEEPING_IMAGE: Final = "iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAD6ADAAQAAAABAAAADwAAAAAHNtsJAAABQUlEQVQoFZVS3UqEQBjdGSelK6EIiiBQGSIi6A1a966HjV6g2o2eITBF27KWaPdeEX86nzRi7bThwDjznZ+Z86ksTdPtPM93R8PHUmRZdlnX9dVQr2EYYz7U1NcLFCvG2EMf/L1vmmYfmFQ49EvO+TNTwF9rEAQOuBnmEWlg/IRxIqV83Bg7iiIP4ntlxPqBekzG9iB66EYcx7IsyykiH37zC9M0J67rPik99bw2kiQ5LopiCuKASNz2LoTwYYz64rWewzA8wae7g4heEhlT9Ogjatw30v5Hz+jxFDFnwFsj1hfUFzojuFF3M3o8Q4+3EO8RgTG3LMt3HGfeVppHa0bUc0S9Ad/+poiaUI+e571qPB3EENWqqmoBZEehMDfY16rWrUh4zW3b3gLZGUkIgmEamyYu4AJxG2zedKf/g62+AAMXjNdC4x4KAAAAAElFTkSuQmCC" MAP_ROBOT_WASHING_IMAGE: Final = "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" -MAP_SEGMENT_ICON_HOME: Final = "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAA+FJREFUWEftmFnIpmMcxn+XfVfITsiBQoqEQZJkOCE1RCOmsTbKNsY2xhZhsieyn0gUGSdEUpYRIs4UpnAwyL7vly7933rn9bzb9z4+S9999va8z3P/7v99/VfxH1lqm9P2n9+U5Da/3Sqo7Z2AqwtwsaT32oJtDdT2zsCdwCEF9xxwmqR32oBtBdT2nsDNwIE9UC8B50p6dVLYiUFt7wvcA+xaMMuA34Cj6/fbwKmSXpgEdiJQ23sB9wO7A78CjwFnAHGk24E5wBpAYOcBr0zVyaYEWp49G7gR2KXAHgAuk/RhLGd76/wGTgZWA1YAC4Flkn4f17pjgxbkkcCtwHZANo0+r5D0dTeA7Q2BC4ALgdWBlcB5wMPjwo4FajuWORS4D4jFfgTuAC6V9F2TlWyvm+fAWcB6wKeJBsATkiKXkdbIoLbXAo4HrgM2B34GlgI3SPpi0G62NwLOBC4p2C+BJXFCST+MQjoSqO04RLSWYL5JWfL82ihWHbq6DhrJRBKRyTWRjaSfhn1gKGifDa6KRiXFqiOvOvD8OvCmQAAvTqKQ9P2gDw0ELWdYUBqLvnJli6PRUa+sd3PbawLHAdcCWwG/lDNeLyn6bVx9QcsJLiovnbIT9HGwOOXB5ZTbl97joIskfdP0TiOo7fWT+krw0edHFQMfGjes9LNQhbnDKzHsUP+7K6GsyTn/Amp7i/LOXHlO/n5Z9XFJSY2trYKNZZM49qgPPxLd9lZeq4Da3rheOgGIlt4FTgKWTzX1jXIq20nB9wJ7V53wdFKupI877/eC3gScXQ8DebqkZ0fZbNL/2I5Fo9NUYlnPALM7UusFXQ7sB7wOnAO8VleyUtIHk8L0cazoMwnkLWDHutHDgK8SFToxthd0N2D/nEbSCtsnAomZ0ekcSXGq1pbtbZL3q2aILh+0vSVwRGQn6fnGq+8msJ0iIpkoRUWKiaPaKIB79phVpWEcOHst6RdVBsXRGdCOVW3PWHTiJu0f06jt1AGJfRv0CQepit6Q9G3vc9uJMI8Cf68zVSV0JZDaNM7XGCqrC1jYW3FNJ2gq9xQSxw4Jrk8CcyV93nP102bRgN4NHFOxdlHVrOFJ63ILsC3wVIF+9m8AzZxplqRPAmN7beDNaqf7gU5PeKqmrWPRGdDc0EQpdMaiDSHkf2fRTDNeBFYJL9WupH1IJznImVImvlzdZre9NgMOANaZpMxLY5eskwHB0EEFkMnyPp0OsrJWOoX0Q8NWxpTZK4O2xtn/sAHEQcBtFbQHbZaJSfqtpd2Fr+1TgMuBDMoGrbQ5CyRlQt24RrHUMGtMy/MZ0LbN/AcbOjRJCXi4mwAAAABJRU5ErkJggg==" -MAP_SEGMENT_ICON_LIVING_ROOM: Final = "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAA95JREFUWEftmFuI1VUYxX/LzLKL3a8UhEJBhUImBEUPDhkMdpmil5gkUiwy8DIUTgVDkZlKDVJBakUQ1UNBXoqii0ExD2G9hAQFIWEwZjVTWZlZfrGG/R/OnM7M/M85+xAO873MwNl7/dde33VvcZSYjhKeTBLN7amJpWhEzAduAi4HzoamQyaA/cBuYJukneN5YFRFI2IqcDXwGHDNeEBN/t4HPAT0Sfq7FtZYRBcDPcCFwD/AN0mBX4EjTRKbApwCXAbMAo4B9gKPSHqhNNGIWAi8AswAfMINwPPAT8DhJkkW26cBpwFLgAcAe9AidEraUf2N/ygaEWcCHwKzgYG08Z1M5GrCREQ78DJwOvAF0Cbpx8rFtYjeClj+k4CngW5Jf7aY6PHAE8B9wG9WWdIb4xF1UD8K/ALcKWl7K0kW2BHhqvJSCrceSU7iYRuhaMr0dcAqYB9ws6RPKzdExFnAHcC1gJWox+yZj+1mST9U4V4FvAmcCzwFrJY0nA/VRI8F1gMrgH7gRkmfVQGuTcHvzG3EXDHWS+quwr0SsPfOAzb6G5L+KtZUE3UivQjcAPwObPbpJH1X4aInk+KNkCz2GLOrAvOChLkUOBF4C1gsyU1hyIaJRsQV7hKAN1Was68TeF/SkYhwSXkQcLc6rk62h4CPgDWSBiPCXrkulcIzqrAsTkfh0SGiEeG4cO2y/K5lu1KRnwsY4KsUBl/XSWzM5RFxcXL3JalGf56K/7yUVA47h19/QXQB8GqqY8+ktulYWpbUsxJ3S3otM9HbgU2Ai//jwLOAVX44laqijr9bEL0tdR5nsYPYwWylDfRcAuqSZKBsFhEWwjHvpLlHksXyd5enpHaVcE19vSxRx2Iv8F4DcTnawewle3Il4P+zEHWXcuz65B4gcpgHHbvc84S7URaiJ9sjwB8pyXIQ9YFPSJXnQE6inhldYw2aw3z4u9LMm42oY9SdpFeSlW3aIsL54fh0p8sWo64GzvitTTMcCdAB3As4u7PFaGaOI+Cyud7x1Eprmqiz0lN3o5NS2cO5Cw5IclWpv+CX/UrudXV3ptwEyuKNRfT6NGp5hPONc03G22ZZfsU6D+++Dt0P/AwskvR20es9g3pYnQN8n26hbpn/h7mltgHnpHeEdkl7C6L+6wHWN79WZ3jZw/uGcQvwgQf26qvIzCS5L26Xpv7+LXCwLHqD66YDF6W9XwKfOAQl+XVmyGo+6UTE+cCWVJZ80dvTIIGy20zSY6RfZTyg+wY8wsZ6e3L99O+Dlr7sFxtZl+5Op9qDvkvVwphY76ONqJR7z6Sik4rmViA33r9UBMM6yuspdAAAAABJRU5ErkJggg==" -MAP_SEGMENT_ICON_BEDROOM: Final = "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAkJJREFUWEft2U2ojXsUBvDfwvWVwUUkYSjlmpgwkAwkjN2LiYEBiZIunanp7ZIUiYGBCe41pmRw0x0wMTlHyRDJR75Kvt2/Vr3ndOz20b77Q95613Sv/1rP+6znWXu//x1qElETnOoPtJQyA0uxErMHzPwL3MLdiHjbrldbRkspU/EHdmDOgEGOln+OcxiKiA+tPScCugsnMeU7gRxt8wl7I+JMp0CvYCMeYQ+GBwx4BU5hAa5ExOZOgSawX3Adv0bEk0ECLaXMx99Yi5GISOBfxUSjH8Fy/IPfIuJpKSVzF2EZJrXUSQMMR0SaYixKKWnCbJrGHB//4Q4eREQppczDX1iH2xGRJP1/oEhzHcGWb+j2DY7iz6rDIfyOmRNMI/V4CQeR5ukZ6FYcx7YOxv++ApepCXpaB2cuYD8u9spoPvGNisl/cQzJxvj4uVpnaYbUd8okx5dmHMLLlvzcJgewpqq1uppY16O/ibM4XTU6jPNtWEpgJ7Aer6vPZ+Ea9qG0ObMdWS9jN3ZiVbcazVG+Qroy4zNSi62NJ1daTMAfq9yfqrzMz3PjI/NSu3ku4zFyKimVrszUgcT6ntIV0Ie4ineYi8XIkbautWQsdXivZfRLKqZGmRt9qpxISuQ+nmE6NmBht4yO7dG+8zauYN/2aC78Bmg6rl/fTA2jlZ4aRvttrIbRhtFefzg366lZT/12UcNow2if3ut/5PVUmyudy9hUh0uy2lw71uMiN7dQLa7GB7Queypb/39Fenr8ARz+AslJhzo5BA5gAAAAAElFTkSuQmCC" -MAP_SEGMENT_ICON_STUDY_ROOM: Final = "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAoVJREFUWEftmUuIjWEYx39/11wWoilEkikyG1mYYmOjKAtGbInRrCZl7JWFkka5FXbWFu4UFiIKhZRLorAgl+SSS7k8eqbn6DjNmd7zzcz5ztH31qnzdd7L7zzv/30u7yeapKlJOGlOUDMbDbQDC4FROVn7J3AbuCHpR4nhH4ua2WLgBNCSE2Rp2bfAKknXq4F2A/tyhiwt3y3pQDXQrUBv/HgUOAb8qgF8UoyfDlwF9gJfEsePBNYC66N/j6Q9KaBtkh4kLtLXzcxcMr5drfEnOyV9Sp3DzOYD92sFbZX0NHWRIQKdAzz5b0HnAq41d1WuVXcba4BXwElJ/uzb7bpcAbwH7gFXBrH1mSy6BNgJuMs6DDwGdgEvXfSS7gToJmA34C5lC7C/3qBLgYNAG3AKcLDtAbRO0mUzGxfurDP+gEM3JOjUCBAeze4CHcCFRrSou5ObwISw/g7gWiOCdgGHwp0sjxg9GD+a6TClaPQ0sBL4AMwEXLONBRpu6DMw3nUqafUQRKZMFnXfuK3MPb2IU/8G2BAR5BIwC+gJzzAFOAvMzhhCM4HeAsYCkwGH9DYD+Aq8jmc/RBOBd5G8jAEWhAQ8SNQa6zOB1hLm++tbN9DnwN8MO5HaUzW3ulcKdQNdBDxLBCx1c42eq7dGizSv2i6ZWabDVFi0sGjqyc8rhBYaLTRaaLTCAoXDr5REXu7JM/yLkpJv8/oB3SzpY4rGzcxTxGXA+Vrvnvwm7wzwLWWhsox/Y1QFPt6Lv++J470w9ELRS3BvA147lpe/ifMPW7cuSUdKs1dejc8DjgPTILcXERbXQx2SHlUDdZ04rH9GDJutBp74N+CADyX5977WNK9v/gCshUVJXA3y7gAAAABJRU5ErkJggg==" -MAP_SEGMENT_ICON_KITCHEN: Final = "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" -MAP_SEGMENT_ICON_DINING_ROOM: Final = "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAABC1JREFUWEftmHmolVUUxX8rG2wubIQoKiorECosNBuotEFsMJtIxYqUrCAiimYbMIgoaZ60gYqyuUgjsUGtqCghUNJoJCizaKCJsnasx75w3+f73r33+b1uD9/5695vOGedddZee+9P9JGhPoKTfqBVn9TayWhE7ALckGxeKunTqpitjNGIWAe4ErgqwV0LXCfpnyrAVgl0PeBG4IIENgO4WNJf/wugETEA2BvYBzgTODiBLQBmAR8ASyX9vSaAW2Y0IvzOZoD1eCxwCrAH4KPvavjolwFPAC8A1u3PkqIV4C0BjQgf71HAROBoYOPCYqsMIq95M+sW7v8KzAUeBl5uRRZNA42InYCbgUOBLaEjWZitj4HZwCLgG+D3BLchsB0wAjgZ2C1ZN5M/AK8DF0r6ohlmGwLNo7YG7wQOArzQT8BbwPXAu430lzreH7gCGA5snhtdCEwFljSSQjNAR2c075U7fxW43Uco6Y9m2Kg9ExEDUzLnAYfl9aXpDi91N1e3QCPiAOBRYNdkciZwGfBdIwbKFs0T2gqYDpyVzH4CnC7pnbL3SoFGxPZpLw6eP4HbbOaSfmuFRT+bQej5/O733mREbAQ4KZwPrO/gsr1J+rqr+bsDelOat33yaeBcSStaBZlARwG3AA4cz7tA0qqI2Ba4AzgRsM/OkHRR00Ajwub9JuDI/RAYKenbnoBMoOMAy2ZTwJv1pp/Je9sA84Ah6RgHSlpcXGs1RlPwZvCYfPF4Sa/0FGSCcTI4G7g6LeuXtLnFKQMz/lwSM8cMFwO1K6CHA48Dg4BnLXhJP64J0Lqod3q9G9gTeM/+KunziNgiGT/BGgZOlTS/fs1OQLMCclRPSzbtcY/0NMKLm0s/nQDcmgF0Sf72o+PTqy03rz+9vvIqAvXOHgSOS+GPkrS8CjbrWHXatSaHAa+5VpC0MiJ2BywxZ8DngUn1J1kEunOmth3zpdGOziqBpmYd5U+lXY1w8ESE6wKbvvX6pTUs6bPa2kWg+6Z2LP5rJPkIKh8RsYGTBrAJMFnSfbkBr+eAcw0xVJJLxI5RBHpSFhi+Z/N9oHKUOWFE2OCPBB6SNCmBnpFJxn8daE+WAZ0M3JM3rU9rqVdGRJwGXA7cL8ndgDPYyJSc/06RdG8Z0HMy8nzfxusKqVdGRDhtOjO5bugoDSPClZUTjcdUSXeVAR2b6dL3veNOXtYriDtPegTwWF6y6XdkL4+iRm0ZNRaXACv/A3D1S2yd/ZevDZf0dhnQwcD7gCubdg5XWftJ+qgMqPscW4SL2rJmrbc3YGtycT5NUq3/6qMfySLCedbdpVvhdg631G51ao3iasE0Jsutdh17jRwfv8vLF8s0eoirJcDFbDuHi/Txkt4oA+oPDDsA7hbbOdzdflX/gaJhu9xOtPVr9wOt+iT6GV1rGf0XpllmOm9HNTsAAAAASUVORK5CYII=" -MAP_SEGMENT_ICON_WASHING: Final = "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAA/VJREFUWEftmGuoFlUUhp83K7x0ATFDu4CUEQWWEgomFkSJ9UeN7GphGAZJZSWWiVZWliJ0px/9UbCrkEGhSEZERCRoCpaQlSlCJSleKkxrySv7i0nPzGy/76jfCRcM35wze+95Zu2937XWFl3E1EU4+f+ARsTJwDnAQOA84Lt0bZP0z7GakUqPRkR34F5gEnAJHJyB/cBXwDxJHxx30Igw1F3AC8DpwBrgS+Ba4CLgN+AqSeuPBWypRyOiN7AIuAFYBoyXtCci+gLvAFcDSyTddLxBvS4/Ai4DbpX0toGSpx8DngK+BYZK+vNow1Z51BvHnrwUuF6S7w9aREwFngc2AcMk7WgX0NGSlhdAH0qgP7Y76MPAc0Dbg04D5gI/tLtHpwPPdAXQR4GnuwKo5cmg37f71D8OzAE2NkAjYjjwJHBWE1JlHX4deFPSvo765+roofI0Mwl+EXQJcGMTkI0uXwDjJP3SmaCzgCcO8ejdwMtAzyZgnei8CsyQ9Edngs5OoE75/o1MEXEa0KsJ0H2Stlf1q5r6cwFHI4fQMcWULiLsTcP+B7QJwOwuVaBOSj4ELi8ky42BnUT78jR5bf2V/cbyhhusJGV5QxXo2U7jgBHOQ4C/U+LceFWjb3GMVkqbt4DJknYf6Rr1ensNmAD8CrwEWDoM09F1UuFDfG9r/K+s/ZnAzYDfZbmbI8kOOcyqPOpnj6RQaVCneutypzjlrXXeHwO8kWZsoqSlZePX1UxDANdFXgb+4rmSLCUtW0S4vPGM3QF8DVxTtfPrQF2BzgceBH5ykSfp41Ypk7ed01qPewC3SfJ+KLXaxR8RXkefAYNSRn+dJMtSUxYRXrdTgGeT5toRFvrKmaoFNU1EWEu9fi4E1qZpchWabRFhz7m8ceZ1e9p47xk6p5TJBT3VdTzwAPBNKuh+r6JMYF7b/VPQuAIYCVwMWIK8iRZI2prztbmglg9nN/bEUkljywaPCLe5E3Bkc9y3J89Ivz5Z8dnADGBVWVw/InkqNo6IovjPlOTsvkOLiMnpo/x8Z/Kef1cDi4GVdeuxFdABwKfA+cAoSSsqQD21rvdtzgfet2JI2pUzxWVtcqd+cDpvslz1kVS6kSKiG7AF6Gf5kWT9bdlyQb3mFrpGknRB3Vsj4l3ARz0rJI2qa5/zPBf0ReB+nzlJuqVu4Ii4D3gF8AlKP0l76/rUPc8F/Ry40rFf0oK6QSPCode7+xRgiCSfBLZkuaCOxT4s+ySVyI4iznKKv75v/G05uifJkmO4+7VkuaAOeS6PHU5zzZpppRjb6o73C3NBffLs6fTlKFVnhtzs7F/Sz3WNc55ngeYMdLTbnADtbA8fAAoVmzoHLNMeAAAAAElFTkSuQmCC" -MAP_SEGMENT_ICON_BALCONY: Final = "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAABVdJREFUWEftmHfIlWUYxn9Xe1q0qGzRwjbZMitsUGFlYZMGVmRYJNEwzMgi/4gkGzQNk6Iyg6JoJ0GDhrYtbNGAJpUkbVt2x/Vxf/L6fuec9z2ek2F0//N955z3fe7ruZ7rXo9YSkxLCU7+G0AjYhlgWWCBpL/+TfYXYTQilgd2BrYFNgBWBVYGfgU+Bz4AZkn6aUmDLgNdA7gJOCIBmlFbAL8BBvgpcDNwlyRvYIlYGagZNNARgI96XgI00/5tFejRtYE/ClxgliUtqIM2IlYHNgMOBnYFtkw/3wEfAm8DUxsR0OjoJwLnJsgLgVeBfulgD+AgYIsE9hFwNjCjFdiIWA4YAowEDgDWbbIxk9NP0s/l3/tEfUScB1yRujxD0t29L0WE9WpGxgPHZKBZCkdJeq2R89T9mYA3bd332vep+T+B7YHVgLmS1mu0TiOgPpZpwFrAtcBYSX8UX07Ak5KhFYDZwH6SfIQLLbOGWbwmZWOmngOuA56QFPnMe8BWwExJg+sC9bE8C2wDvAEMk/RF+eWIWBG4EjgLcNBdb8kUJRARhwDTUzrfAJcC9xQ3FBE75Ea9xkRJZr6PNWLU300ALnb+BEZLmtzkWDdKIHsDn+Wm3uxJExEbAo8BOwE/ACf5c1nLEeHgtTR8aj6VF2oBTSdm9V1g7QyqIZLmNGDVmxqdzJoRb86ScFY4NY94pWR7XDGaI8Lv7gI8CHhTzwNHS/q6NtAEOyo1akevAP4827oq6dASmQFsnOz6OUfvjcDJgB0fKenF0nsOGp/U4cDvwDjghmbZo2mtjwgnfzs7IRlynhsj6eGSQ5dYg9gdcOTbsTdjpnbL7wZLMpgei4itgSnAnoBz9CzgMEnfNmLT37VsSiJic+B2YK8MGL/zNHAf8BYwP+XhI98HsKNB6WwmsE4+fwnwC+D1hgHDASd/M/+xC4Ak/21qld1TRPTPYzkuHbdaz8FnFr3uy5lnmz3v4LFkxktyemtplUDzqJzoXfKcE48FrNuy+WjN8umAU9edyaClsYhaMu05nVlG88q6b4S4LlDryGBtrvfusFyhDMgVxqX0/ZRC0Y+zhoNt08Kzzs2fZOrzs/PLBWWxgGYVssasr1obqzrGwu8OOmtzgiTrvSONWnMOjPIRtoGn5aPW9SBJbn46Amo9PpAtWbfAFddx2hte1dvWOsqIcOPhDmfH1Gg3AP+Y/eecYo5ttnBdoE7il2eb5t6yG+b09BVwkaSHqhasBBoRA7KEul+0ntw/dsOcSdwfeLwZKMnzWEcadSs3JiuLa7NTUTfMY4j7Aqe7SZI81nQE9DbgFMA9qbuorgDN8vxMNjPTJLkN7AioR5OrstE4VNLj3aAzIobmgGj5nS/p6k6Buqp4VHCami7J3VTHFhGexY7P2WyAJFerjhj1js2iZyl3QP3Ls1G7qCNizZSS9enGZGhVva+MeoOIiBOBOzJKR0qa2i644vMRcRpwa7Z5IyR5mGxpdYF6jn8K2AR4MpvchY1wlZMSSBePR4AD89Zl/zoBWheoLyDMgGd530E5qNzStW0R4ermWxYPhve6dZTk4a8rjHpD53iczYTv/6dU6arsOQc696u+L3CFG+v/66xTi9HUqeeb+4H1czzxGN3n6qUVLRHh+6veoc/l00OfO7NKaweo05MTtO+fvsxZ/J3Mr5WOspfdLi/hPB6/BOxb1TX1LlwbaLLqWf2WnBzrgGv2jBuSUZJc9WpZu0AdsZcBTi/NbuSqHM/11aKvd+q0d4vFaLLqOckd1UDAs3/vZW8VQI/Gnq9ed6WT5Ivh2tYWo7VX/Qce/B9ot0n9G8yyxjoKkA4hAAAAAElFTkSuQmCC" -MAP_SEGMENT_ICON_CORRIDOR: Final = "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAABT5JREFUWEftmHmoVWUUxX+reZ6jaKK5bCCaiEKKsCg1jF5lUFYKJY00WGZppVlhk0Yp2EDYPFgYNlnZXEQ2QBJBc0FWpEJE2dyO9dhXLo97z/Du/edB+5/Lvefc861vnb3XXvsTAyQ0QHDyP9Buv6mOGI2IVYBVJf3VDCwiJCm6CbYUaESsBmwJfCfp38biEbENcDOwMzBF0lO+FhEHAjcCvwAXSvqiG4DbAo2IDYGLvBiwAfAlMAF40niAucBxCeIfYHdvBngNOCB/nyepJyLWBLaG3ppYIun3uuCLgE5NYGa0EX8ApwPPAO8AezRdGwJ8ALwO7J2/vwEcBvQAtzlNcuOP1k2NlkAjYi1gGbBui50vAgYDpwF35/W3AQM1UyOAW5P1M4BXgWuAiXnvTcAVkv6uw2o7oLsAn7Z50OfAwZKWRcRBmb8LJf3alL9+rguqN6cjwhubAbj4LgHeAg4HNgeel7S0DHQ7oGsAXwFbtXjAC8AwSc7LlZFF54U3SUA/AMubwG6a4L3BYcA8wGl1i6Tx/QKaLIwG7sqHNZ7jVztY0vt5jze6J3AycARgMN6k4zfgY+AJg5JkFeiNiBgF3J9f50ga0wlQL3gqcF5W/dfA5ZIWJXvbA1cCJwJrFyxkhTDgq4AFklZEhIvq2lSCqyX57RVGFR11YW0MLHUBpNSclCCtoY4VwGLgsyxC/+aN7Juf/m7FcPFNl2SpqxWlQPs+LSJOAO5M8K7cp4EbADPu12tADivGRsCxwKXJnu+3/p4j6ac6SGsBjQirgbVyvQRlrZ3Rt4W22JwbwGxg/5StScC05k5XBroy0Ozr9wGnAD8DXmxmVeGOiJ2Ax4D9Um8PlfRuGcDG9TpAtwVeAbzgAmCUpOVVF8pqPyRTxTlvNRhZldU6QC3ajwNbZE5O7KulZaDTP1jyrBRLgOGSPiz7n6/XAWqdfDi1cjIwteprbwCx/XMhpev6EzhTktOhNOoAtdS4wt2tLNau3JUiXrpS3hARRwEPpiL4rVgxSqMOUIv6QsB5ZmmxTL3cD1ZtB92GnfMz3fslNSStLeDKQLMYjs4iWAf4BrgYmF/HCUWEfamt4I7APcD57lZllNYF6tZ3ro1EegC7nmnArCqs5GY3A2wL3dWcAmdVSaFaQHMht9TLkk07f7soA58syUakMCLCY82bKXP3euPNFrHdn2sDTbB+9SPTDJsZGw+3SffxwqEuIuwBrMf+vCPnqtLRpF9AE6xNsJVgDrAXYEN9jKRPiiiNiH1ylHGu+k1MqJLj/QbaBNYD4PWAddH55rxrGxFxJPBQmpruy1O7lSNiKPBAelazY5aKgHo4nJU3OD+dp6XREaPJ6nDAZmV9YLwkD3YtIw3zFA936Vvd6z38lUZHQLMlegLwZOlXP1bSIwVAfVZg7fT47Jy2g/q+FGWdXt/qYRFhc+zu4vnqW2CopI8KgO4GvJQm2gcZPWUq0XhWp4z6WOe5rHofNgwpMtERcUGOzV7XzunZKmz6nk6B2vH7xMT+cpKk6wrY9Cj9HrAdYAkbVJXNbgC1wfDo7AYwTtL0Nini0eX2TBEbEPd3+9LK0SmjZudFYNdkdoSkH5tXjwi7Llf5uByrfeo3pu500ClQM+mjx7F5OuIZyIdhTgdPnDsAZwPH53UX3GhJLqha0RHQ1NFBWSA2xI0wqzYoNtmr54+e5X1QNrfuCNNxjiZQb9aFYj31mOFjnebwafR8uyufmFQd5vrS3TGjffLRgD1b2ay4gGyuPbEurlPhrXKiq0BrJV3NmwcM0P8AUDTQOq1KzIUAAAAASUVORK5CYII=" -MAP_SEGMENT_ICON_SUNDRY_ROOM: Final = "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAABAlJREFUWEftmGmIlVUYx3//disrSiOJVgnLyiyIsIVKbJEyECUpVII2BSNCoqAvFVIGfSj6UtDulxKRpKwoRpNWiSyyInMLItQUsz1b5on/8Nx4fZu737kyNAeGO/POfZ/zO/9nOc85YpAMDRJOhkA77an/p6IRcRhwIvC5pL87qWpLikaE3zsIOBw4GpgATAEuAgz7HHBjETYi9gcOBn6V9Gezi2gKNCJGAGcAZwLj8vO0hCvO/TUwUdJmP0zI23NBG4C1wKfAekm/NQJdFzQihgPXAFcDZwNHJtiBpQl2AP45BfgJuEHSsgQ9HVgOnGBu4BfgB+BbYBXwoqSPagHXBI0IQ70JnFMwUploF7AV6AFeAd4HJgPP50LuBR6Q1BsR1wFPAIckpBd5QMGm7UyV9EE12HqgVuCtTJAfARv6ON1m962T9EfFeEQcn98/CVgM3OyYBO4H7gK8uAWAY3Q8cBngd7YDMyStbBV0X8AvO0nWAdMS7q/+DEbEPsBrwOXAl/lpN1vlqwDH5wRJOyJiFPBsfmcjcIGkbS2BZnzdkyrszkmsaNUREU6aRwCXJy/Qk3uxVm6xpBlp12VsBWD1X5I0teUYTYNnAZ+kkTslPVwH1MlkNa3ufcDqjGH/PVvSorQ7CXgdsNdukvRUu6A2ZJdZgVWSLqkDaiDH71jAmfwecFsqPEqS49Elywuen1XgWElbWgaNiGFZjhYCMwHHphX7uU7tc8LcmhCuqXbvGuCKfM9J7LLkGvwZcCXwvSQnXr+jatZHxKHAHZlA3oXGpIUPM3trsTpRvDH0iQd9Xdo3GRJ+Zi9dms9dS62yk3ChJFeX/4xaoNcCT2ftqyNgR/79O3C3pEcbAo0Ir9Zx+DJg13vYJZsKCnWCrCLSydkD2GZvhtiScj+wh6JZB+2SJzN5KkDvSrqwE3RlGxHxjmto4fl3wFxgWbGpKYN6dUuz4XAdtDscq90A3ZlzuctyAk6T9G/NLoO6MNvtzu5XAXdL53cJ1Mq6/s4C3At85YSshEAZ1K3XqbnlPQg8k7tLNxR9G7g+a+68rCxjJPWVwjLoaOC4bDy8qiVdBp2e3ZXbyZ2SvqjEbq3y5M6966CSnExN1dEh0KJchfLkGJ0+pGi7m0DXFI2I/YBbgIvLVSQX4U3DHX6PJDcoe4xugp7r7Q5wx1RtuDOaKcm7z14DPQZ4KI/S/YH6IPcC8Jgkq7t3QD1rRByR+3R/oO6IdlVrijvtep97fLIciPEGcB7QkfLkG5CqZ+426ScCR7UDOtJXLXlkaJOlodcthC8h+g5/5VFrr3dfOCcPaf59IIcTzlc+j1e76Wvkksz3RT4CD+ToleQblaqjLuhA0jVjewi0GbUa+e6gUfQftdC3OpYaRjQAAAAASUVORK5CYII=" -MAP_SEGMENT_ICON_CLOAK_ROOM: Final = "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAABIVJREFUWEftmHmoVVUUxn9fNs/WH400kmBIA81Q/lGWSUVaWJZGNmGYDWSpFUQEjTRnA5U0UFSYUGmUUFqhYoXNFNgADQSNZHM2rPhkXXnYvefu8+6Vl/QWCPLuOXv/zlprf2utLdYQ0xrCyf8PNCL80ZsCm2WUlgE/SIpuRK1rHo2IEcBpwB4J9jZwv6Rn/zOgEXEw8CSwBaxMJ3vyO2CkpAWdwnbs0YhYD3gZ2B/4EXgmoY4CNgFeBYZK+r0T2G6A7gY8D+wAzADOS6DpmQqfAsMkfdDXoFsDLwA7ApMkPRARGwF3AKcCnwCHSvq4T0G9eURsCWwHfAZcYDDgAGAdYD4wXNIffQ7aAIiICcAtwPr5N4f7JElLOoH0ux3laESsBdibyyUt6wFqT84BLgUccj/ztaTlvQWuDZr5dyBg7x2T3vsbeB34BTgoYRYCA1INrAyWq7nATcACSb/Wga4FGhE+4VOBE1J66uzVePZ74GHgBkk+aEVWBJrlcVh6Y3fAIf8NmAm8CWwFHAHsCmycO/8MWJpeBN4DBgNnZAT+Aly5LGULS8psW9CIsGifCFyXlcen12GdIGnpqu6IiHVXJH+TfIyIPYG7gP2AtYGvgAuBpyT9VOXalqDpRXvvYmBsLuzK442mS7IU1baI2AU4HzgT2BBwxXowo7W0lXerQIemaDtkPhQ+vecC8yQ57L22iDDgkcCtwPaAU+EtYKKkV5ot/C/QiDCU820WsAHgUPtlL/JOr+mavBgR+zo6wD4ZMYd/pPNakuFXWjNQv/QEsJO1D7jXIi7J/++6RcQ2maduEa23jtzxknxIK0EnWToyHJc5JzvtfNp9XUS4knnfK1NRJktyr1AJOhm4FnAYznIKlMhHO5iq3/PgjgLuS32+RJKdVQnqTt2CPBBYBJwjyYm+2iwirC53um8FXBBOkdToa1fs2yxHHYa7s0Vz2fsQOFbS+6uDNCJ2BmZnQXAhecyFQZLLcWuP+peIcFNhbTsOcJ3+yF0QsESS63rHlg3NkASzBLphsRdPbiZ/VTrq+eeq7NJdbdx0uOS9lpXF0+bcUvAEG+7JNMcTD4G3ZRNjCXwEmCLpm2ZeqCyhEbE5cH0eKqfBF+ndQYDhx0p6rsS9EWGBN4yhHCFPBNtm+j3qYiLp21ZrldR6P3M7MB7wiNEwJ/1oSZ6X2lpEuKlxE+OPb5hbPWv26ZL+rFqkLWjmrAGdBhNzvHgjJWxmqXSlBI0GpgF7p2fvcXMtyelQaUWgCXs08FDq3OXupkrzs0GQeequ/wrANynjSi8o6oD6IDjHfG0zVdLN7bzQ7PeIuAi4JvXS81RR6vSDtvJ2v0d7HITDAeudhX6apBt7maNTgKvzAm2MpHkl69TJ0b1yVrdIPw6c7Vm+ZJMeH2sNtSRZpj4HRkh6t2SNOqAeH54GDsuFXZvrXtO4mrmPsHnGH1U63xeDppa6iXB9PiRHhxJnrPqMK9BL7hskeYwuslqgCesZ3rchvi3xKF3HXIEW+5+kL+u8WBu0zuLdfLYftJve9Fr/AEBmlDo+zVqvAAAAAElFTkSuQmCC" -MAP_SEGMENT_ICON_MEETING_ROOM: Final = "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAxBJREFUWEftmEuIjmEUx39/t9yVSwoRISu3iCWRW1YoJUok17AhCyxcNkK5kxJREhYiWclG0WjKpSwUuaSkyCWSy9F/er76DDPeeeedGZPvrL6v9znv+b3nOec55zyilYhaCScV0KJ3quLRf9qjEdEJmJ0gr0j6XBRwoVsfEbOA0wlukaSrTQYaEW2A8UDfHEYmASuT3hHgRo53vAKqJP0o1/3NoxGxELCRrjmMFKHy0R8r6czfQOcDx4AeRVjN8Y53wHJJ5/4G2hkYAqwFlqXFjrtvGY0OTOueZVzfDliU1h4H9gOPJX2qF7T0MCI2A9vT/26SvCWFS0Q4xD6kF2+RtONPRurM+gpoLXe1qEcjojswJ8V6ade+A9eBm5L8u0ZaGnQGcBlwopTLI2CKpOf/CuiIBDq0FugLYKakB80KGhG9gMVARxcJSW/Sdrq6jQJ8Fg4rg21+0IjoDewGFgDtgYvABklPImI0cBiYCHwFfLT1BJoXNEGeANyEtE0ec0G4BOwBTiZPOpHOAu9dbQDH5nRJD5t86yOiC7AXWAo1o8x9wO3d8DJgJ9EX4HwKjWnATqAaWC3Jz5o26yOiP+D2bSRwy4YBl7sDzugEb5BTwCZJb1Pcunf4WH40NenxFBEdgLnAGOCgt1NSRMTg1MxMTT3p+hJkfXW3Rc7RiLDXDHzX8FkagxYBzQJWe81/C+rS98tokMd7dei4OJSKQq42z9nsZGlOWSPp0J8M1tePDgA2Au7Ys06r1vGxZbmXKlGWD3XieSLYJcnV6zfJCpDFmFs2jxQunZZVkkqjcyb9+hYVBpqydyuwLhncB2wraoQpBDQixnnb0n1Aacx2I1Ll8JF0p7EubRRoRAwCVqSJ1dOrT4bXCaoP4Ix2efVkeVTS07zAuUEjwm3bNcDe9Hs8SV4A3FVZlgDzgG6eOAB7dUapZ20ocGNA+6VMdZt3O50Q1aWYTDE7NoXEBMBz0kBJLxsK6fW5Qa0cEZMBN9B13tyV3fC9lpTnLqrmuxoFmsczeXUqoHk9V5dexaNFe/QnGytxOty798AAAAAASUVORK5CYII=" -MAP_SEGMENT_ICON_OFFICE: Final = "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAs9JREFUWEftmEuoTWEUx39/5C15xMCEgdeADCgTuldxZSSvgUJRRrpKKTIWE/IcKRNlQF4TecSlmyKk3IEwoUjkkbzLtbTqu7fdaZ+9v3P3Ofu6OWu0z9nr+9b/+6/Ht9YWA0Q0QHDSBFpvTzUZLY1RMxsJjK63wZz9vkr6nqaT6nozGwEcBmZCaQlnwFNgu6QflWCrAZ0LPAIGlczoH2CepK5YoPOB+0HZT/m+wYAnBu+5mQWSHvQF6DpJZxsJ1MzWAmeCjSbQXrLNbLEnA3AAuCvJYy5XSmfUzDYBx4E3wBagU5Jnc6b0B9AxwDFgA/AQWCPp5T8D1Mx2AhuBbcA94BzQBtwBVkvKrBqlMWpmu4G9ofa6yx3YCWAZcAlol/SqGrNlAh0VEmgrcCMAnAVcAKYBu4BD1eK1NKDOlJmND2C/SGoP/80B9gFHJV3td0Z7AJjZEKA7JtOToEtlNC+zs97XC6i78XIRIBFrVwBH+nKFtgAdYeFn4GeEsSIqw4GxYYNWSbdimxIvK1WDvwiiiLVtkq7FAk22eeeBJxEGelSGhYdfNayZDazqi+uTQKPbPDNzF3rx9/t9v6SokKlXMtUC1Av/7QC0RdK3GFbrBXQHcCXDoI8zyZFmaPiddL0znNVFLQcOFnX9byCrr/S5anAOc90Re/hl4VJThz8JeAH4NFqm+PQ5VdK7qKx3JTPzSXRhDlsek5sBz9qPwMUKAysB7wG8apwEsmLWWfep4HEaM4U+6ZiZT4+ngaVAlyQ/XK+YmRv1xuQ6sD6vL81yXU1AzWw60JpgOcno69CTJu3tAaakMOrsdUh6HhtX0UDNzOO2E5gRu3mO3jNgUVo8FnK9mU0ATgFLKsqRH9Yz31lKE68IXjWS5cmfb/psJelDzMGjGQ0JNhkYl/I9yvepVifT3rnuJ0lvY0C6Tk1AYzdthF4TaL1ZbTL63zL6FzweTzo5/agXAAAAAElFTkSuQmCC" -MAP_SEGMENT_ICON_FITNESS_AREA: Final = "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAkZJREFUWEft2N/L1UUQx/HXlBKlIRRIFkhFgtJNkBTU41N/hAgqhKkggaFQ0EXXXQgKSYIElSJYIP4R5S8wFLyJhEIlSCVQEFMRnxoZ2EDlPOec6nR8vnH2dpfZ935mdmZ2Q0dGdITTBHTUnpooOlG0nwKZuQIv4nFcwQ8R8ds/US0zF+NlPI1bOBcRPw6y1TdGM/MxfITNWIB5uI2f8X5EnB60wb3zmfkqPsNLKNszuIEvsCMiynbPMStoZtbcO9iDhbjTDNcGjzTYlRFxbRjYzFyEUw3yz3bgOvh8/I6tOBAR2cteP9An8TnW4io+xWWUKqXwo3g3IvYPCboB+/BHU7C88Qy24yl8gy0Rcf3vglYsHcJbOImpiJjJzGX4DkuwKyI+HBJ0Jz7ApbIZET9lZil6DK83m2tmi/1+ihboYazC8YiYKqDMfAHfYil2R0QpMnBkZnlkG37B2xFxvtkr0DdxFKv/X6CZ+Sz24gI+eRiK4mM8j/ci4uJfrrrP9Zm5Dgfb5GsVg2N2fcXw923/9RHx9WygG/Flm5xuqo4zRkvNI23/TRHx1b8BrQpVxp6rCtUywsDL1G52VaRfMR0R53pcppGCLkflwCeGoeux5mbl4og4Ow7QM60E1qal0DCjPFCHqzL5yrhBT7TKNQxoVZ43JqA90lPFaGdc34nL1Jn09F82JUPn0c6U0G40Jfcmw/YIm/Sjo26cO/EU6czjrhvP5daCzf0PiAcywNz+0hmmdxvXmsn/6KiVnig6UXTUCoza3l16XTZJstjVIwAAAABJRU5ErkJggg==" -MAP_SEGMENT_ICON_LEISURE_AREA: Final = "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" -MAP_SEGMENT_ICON_SECOND_BEDROOM: Final = "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAfxJREFUWEft2c2rTVEYx/HPk/dEIcLIyMDbwICJZCTMGRoqoQxI/gKJgULK0JC5W0aSCQMDLgMjI0QokveWVu2r43Ru1jr37ptd+xntXb+1nt/+rmet1XlO6EhER3zqvtGU0hJsxHasaJn8BzzC84j4MirXSKIppYU4j8NY2bLJqenf4wbORMT34ZzTGT2Cq5g/Ryan0vzEsYi4Xmp0AvvwGkfxpGXDW3ENazEREQdKjWZjW3APByPiTZtGU0prcAu7MRkR2fhfMd3ST2Iz7uJQRLwdHphSWoRtFTWca/BxRHwbMddq3MQePI2IDGlmRlNKCzJlXEJOUBP5g09mehHxY2pgSqkVo7uar19X43BA+6pZpfttG72AU02Ss3hWaHgTzjXaixFxejaNPsAJvBswcwX78Rk7kI+UkshH3UMszTsbxwcGrcJl7By3RnPh51vj18Cky7Gsec+3yJ9a+4fbXNv5tsvxCR8H9POa2y9v0LE2Uwmp2daMZfQl7uDrkJtMZwPykuXnksjkcwm9GLEKi7EX68clOu05WuKsVNPK8VSavEbXG62hVaLtiZZQqtH0RGtolWh7oiWUajQ90RpaJdqeaAmlGk1PtIZWibYnWkKpRjMTop1p6dxufhL/902yzrQdu9HIzRuhE63xmh07V9ru/ysyV6RK8/wGNOqEOmkJi9sAAAAASUVORK5CYII=" - MAP_ICON_REPEATS_ONE: Final = "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAyZJREFUaEPtmVnIzmkYxn+XpWxZQ6IGiZzIVqLILkscThppzFiyZTuwpDgR2Wo0KSnJcmBPEwYn5mAmshQOHDhAxpIGjSW7W5ce9eJ7+Xz6+v//9d719h68230993Xd93U/ryh4qOD5UwGQdQUrFahU4DtPIDMKRUQroDNwQ9K9muLIEsBOYBiwTNL2wgCIiAbAJGBrSnq2pM2FABAR7YAZwAKgaSEARERdoBswFpgCdAJchQ+R7wpERFvgIDCgDE0KAWAP0L8EgKvihyP3AOoBHYCGJQDmALMKAaAq2kTESmBFBQBkY6czrUBEuJs0Ax5KOl1KkYioA/QDmgOPgPOSnn9Ko6wBbEyD6D+guyQ/v4+IcL8/DvwA7AWmSTKQjyJrAL2AU2mSzpO0KSVvX+Xusg54C8y3XZAUeQPQErARGwNcAAZJehoRLYAdwDjgGjBK0tXcdaHE83nAauAJ8JOk4xFh7v+Z+L8NmFrV6adqZdtGI6IHcBSwOVsPLAd+A2amE+8p6WI5h5mpBkr4fgiYAJyzWIG/gUbWh6Qh5ZLPRQVSEl5GTgKvgL+AEcBrYKKk/UUAYI9zBuiduo5nwCWLWNLN3ANIVZgKbAGcvFunW+oSSS+KAsDLyQmgC/AAmCzpyJeSz40GUiJtAPN9IHDHopZ0tkgA+qap3DgJ2P19jaQ3RaHQ796oSpJ1S3UVbuceQLIO15Mn+iftvG6jv0qypSgbmQ+yxP+FwAbb6qQB+yMbvStAH0nP8jyJ7fc9xKyBw8DPwFBgd7oymS7pw8XVZzgyr0BE2In6xC3exan/twZ8+zAYsA8aJul+Ht1o/eRETaF/fWEl6XJEeB+YC6wFXiZx78rjPtAe+CPx3RdWP0qyeL2RebAdSzdxfu0XSf/nbaEZDxwA7IVGSrIW3keqwlJgVdoVhkuyX/ooMtVARNj7jAZuuXV+SpGIaAJ4Glsf+yQtqgKA6eeV07H8a233Sy35m/8fiIiu6fQfl3OdEdEx7QavqlorI8KC98NxV5J9VI3imwHU6Fdq8UMVALV4uNX66koFqnVMtfimSgVq8XCr9dXvADZleUB8UACdAAAAAElFTkSuQmCC" MAP_ICON_REPEATS_TWO: Final = "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABTJJREFUaEPtmVmsXWMYhp/XPM9RQ8UUQkw3SFFDEFSikqqpiISWqqSGqvSm5jE0REKJkiKUoL1A3BhiiqRaNzXPc41FzOMnb/OtZNk9e6+19uluc5L9J+fmnH/9//d+4/v+RwzxpSFuP30AKzuC/Qj0IzBID/RTqKkDI2JdYDtgG+AX4FNJHzU9p9jf8whExCrA5sCBwCRgJLBai8HvAbOBh4APJP1bF1BPAUSEDT0OOA/YF1i1g2EBvAPcADwg6bc6IHoGICLWTmNOBTZMY/4E5ufPl8C2wBHATiVjvwemAbPqRKInACJiHeByYDKwRub608CVkhaUPRsRtuEM4DJga1jKDj4Ejpb0VlUUegVgGDAHOARYAlwN3Cnp54EMiginllPtdmDj3DND0kUrC4ALdzfgPuBaYJ4kp0/bFRGOlPefkJt+AIZVfdeTCBRW2qgqA1rS6TDgqdLvDpL0QifgPQVQFf7Wv0fEeoA9X3Sr8ZLuGjIAbGhEuGaKOpgm6fquAWQfHwGsD3wFLJL0VylF3Of3ALYA3LfnS/q1qedL57l2/P2a+btJkmYOBoBD6cI6GXgdOErSZ6UL3faeAPYCXgRGtes0dUBFxFbA56W9oyU91jWADOn+wEvAPwYi6eESgBOB+zNnJ0iaVcfQdnsi4qRsv0uvBoZL+mJQABKEp+c+wLPA4Z6Q2bufAw4AvvFUrTv+BzIoOZNnR9FGF0jynR1XrS4UEacl2TLJGiFpYUQcDDwDOG+vkjS96rJOf4+IXYEnk17Y+1Mk3VR1Zl0Apr8+fBfgbmACMBc4FvjOE1fSa1WXdUgdO2GqqQawelKJIyW9W3VmXQBrATOAc4CPAY/4WwAX3TxzGUnu312tiDCpewTYG3CU3Xmm1knJWgCyDsak9+0he8Yh92UGc5skh72rFRE3AhdkOrpox0p6uc5hTQB4uLgb2XAb628/MR2W9Hady9oU7yjgUcD028vE71JJ7nqVqzaAjIIL9YrSqXMkjau8pc2GLFz3+R1zyyuA+c/vdc9sCmA44GK1QHH6jKwb6laDIsIRda6PzTliWek58z+9UAWkEYCMggW4i86UwoPm66pL2qSOpWMheEwf3IXuqJs6xZmNAETEoYCVVbGuAabXkX7FBxHhjmbDC5LmXPcEn9yEejcGkMTOk9IhL9b7yY8c/sqVosXy8bpSGpqKnCvpp8oDBthQOwIRYdZp4mYCZ826ZT6PWIDfXKeNRoS5063AptnJHgfOlrS4G+P9TS0AKbyLsFvXnp85uyfwvPmLJNPtAVd63pr3npy03md+dYqkWtFrd3ZdAO4YfnganRf7KeR4C3XgD2CcJFOLZVZEmNufntp4k9xg0BMlvdmt5xvVQETsnnzf7fNCk6wsRvdt/22h2epAaRQRjpyfWDbKS81ozxqs55sC8MuCc92FZtrsxyfLPwude7MWPP49UZeuiLCKM824pOTlN4AzARe/CZwzoCoL3K6XtOt0VR/bEHvOaszEbaYkv28WRlpKOnX2ywgdY1IXERvkQ9XEEkXwN46YX+Qs3s2p/GMgndYi4GJJZr3LrDoAxmeue9iYNtuIAoAvn2I9kJrYrHRuROwAWOx4cg92mdSNkWTgzQCk6rKENM214W5535ZPiYidUze7rT6YKeOXOdPszQZrPfCq9Yckq77GAPzqsH2G+kdgcWsuZou1x91tHCWLfkfGIqj1Gb0bPH7t8P8Q/m4MoJvbVvQ3lTWwog1qel8fQFOPLe/9/Qgsb482PW/IR+A/SQa0QETIgc4AAAAASUVORK5CYII=" MAP_ICON_REPEATS_THREE: Final = "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABYxJREFUaEPtmHeInFUUxX/H3htiDXZEsZeQqIndYITYCwkWFEOwRGMJ6h9RlGDsERMjYkEsRBSNGFTsHTUSFWxo1FiiwRZb7JorJ95ZxnV33zfM7C6Bef8MzPd9771zy7nnXrGELy3h96cNoL892PZA2wNNWqAdQo0YMCI2Ao4AdgHWAL4AngNmSvqhkb1q7/a6ByJiKWATYBxwCrBMFxf9BrgEuFPSd40A6QsAewFXptUNxusP4FdgFWDpuv8eAMZL+rQqiF4FEBHbAo8AA/JCPyaYmQlgHeAE4OR8HsBjwChJC6qA6DUAEbEa8BAwBPDF3gBOkuTf/6yIcF5cm0B/Ay4Apkj6uwSiNwGMBG4EVgXeA0ZKer2rC0WE82IMcDmwMvACcKSkL/sFQESsmBYdDdiKFwOTerJoeux5YHvAXthD0mv9BWBt4HbACfxths4TpctExFTgtHzvaEn3lr7plRCKiJWA/YG1gF+cmJK+L10mIq4Czsn3TpR0W+mbXgFQOrS75xHxMDA8nx8gqei1HgFkcg3ORHRCvSnpz9oF8vl2wHpJi7Mk2eINr4jYAvCFNwZczAZLer+0UQmAi8wdZhDgbeBASfPqAGyYVLlDMsdwSQtLh3ZBo2aeiRn/ywL3AKMluW70uIohFBG7Ay8mm5gKOxIrIo4B7spq6gNvLh3YxeXXBKYBI5JCnfTHuwBKcv1oDoC/johZwEDgaSenpEURYe88a7oDvrbrJVkeFFdE7AfsA2wODMtk93c/u1JLMu1WWkUPJIDjADPCoozN2RFhinwKsL6ZKGlCpRP/NchlwHmd3vfeV7sKV6nAtW+rArCatKbZCrjV8QncDxySPL+3pLeaBOBwsYgbJ8mirtKqCmCFtI7l8CfAucB1wAbAjCxURZ6vS/4t0xhmnH0zPNdNqW0S8P63SPqrhKISgAyjw9P6Zok5wNYZUj5sWpWE6+4yEbEjcCpwLGAZMtcqVZKlRfNJnADMFmYjX9zuNni7fJgki7WmVkRY9F0KnJ4bvQoMKhmmsgcShBPVnVNtTZc0qqmb132chfEVYOf8+yBJzr1uV6MA3Jg4WVfP8Bki6aVWAUgjHQq41lhiz5Dk0G0NgDzg4yz3lhQDJH3VYgCbJj2b+d5xKyrJ8rrL1agHzBhP1u3kmJ3gwtYqEBFhZnPL6TD6CNhT0udNA8j4nO5OqW6zD1MffVD7LyKsa8wqXgskvdsIuIiwvrIqdWNjAA7T+a0AYNXpHtcHmObWzzg9391XjS0iwmxVu/QcSUMbBOAa8TLgfVoTQhHhUDsje1YXGs94xqeVPJhy99TRv0aEadUXMd2aCk2JlVZEnAVcky9PlTS26SROq1oLHQxY2FmAHQXcBPyeYxBLi8UrIs4EJmeteDwrdYcM7+5COYZ5NCu8heFQSbNbAcDzHU8KTJ9nS5ocEZYXtqyf+ZCBdWHkEaL1zE6A5YDlskVat81ORFiZWpoPygv7m7ElgqjEQhExCXCs/5SyefH4LyLc6Lh5N2d7DHJf/u99rek96/EM1Cz1IHARYBpemJJ8OcDzIzdEVyTzOOw8jThM0meluCsCiAhfwN2Y6e0GSdYstVBxK+nQ2S09NKLWvKeHLP58aXvOyzNQS3Czl7ndTf822VNYA3m5UDrfninJCL9cBYDHfo51u9+yuSMhc3DrKYLbQcesJ2/1uWDh58ZlSiZ1vUFreqrDHoDzxQaaWwqd2kdVemKX9V0z3sdIshU7VkSYbdw3m1bvBi7sXDkjwlLZzOURor3h/HFH52pu4A6V6/29JA9+K68SAMe2S7st6fn9/M6WSYrdDFg+vTSvOx0fEQ4Z1xMDcsh4T7OTpx1ms4ZXMYQa3rGPP2gD6GOD/++4tgfaHmjSAkt8CP0D7Ir0QBLrbU0AAAAASUVORK5CYII=" @@ -111,21 +94,57 @@ 139: "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", } -SEGMENT_TYPE_CODE_TO_ICON: Final = { - 0: MAP_SEGMENT_ICON_HOME, - 1: MAP_SEGMENT_ICON_LIVING_ROOM, - 2: MAP_SEGMENT_ICON_BEDROOM, - 3: MAP_SEGMENT_ICON_STUDY_ROOM, - 4: MAP_SEGMENT_ICON_KITCHEN, - 5: MAP_SEGMENT_ICON_DINING_ROOM, - 6: MAP_SEGMENT_ICON_WASHING, - 7: MAP_SEGMENT_ICON_BALCONY, - 8: MAP_SEGMENT_ICON_CORRIDOR, - 9: MAP_SEGMENT_ICON_SUNDRY_ROOM, - 10: MAP_SEGMENT_ICON_CLOAK_ROOM, - 11: MAP_SEGMENT_ICON_MEETING_ROOM, - 12: MAP_SEGMENT_ICON_OFFICE, - 13: MAP_SEGMENT_ICON_FITNESS_AREA, - 14: MAP_SEGMENT_ICON_LEISURE_AREA, - 15: MAP_SEGMENT_ICON_SECOND_BEDROOM, +SEGMENT_ICONS_DREAME: Final = { + 0: "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAA+FJREFUWEftmFnIpmMcxn+XfVfITsiBQoqEQZJkOCE1RCOmsTbKNsY2xhZhsieyn0gUGSdEUpYRIs4UpnAwyL7vly7933rn9bzb9z4+S9999va8z3P/7v99/VfxH1lqm9P2n9+U5Da/3Sqo7Z2AqwtwsaT32oJtDdT2zsCdwCEF9xxwmqR32oBtBdT2nsDNwIE9UC8B50p6dVLYiUFt7wvcA+xaMMuA34Cj6/fbwKmSXpgEdiJQ23sB9wO7A78CjwFnAHGk24E5wBpAYOcBr0zVyaYEWp49G7gR2KXAHgAuk/RhLGd76/wGTgZWA1YAC4Flkn4f17pjgxbkkcCtwHZANo0+r5D0dTeA7Q2BC4ALgdWBlcB5wMPjwo4FajuWORS4D4jFfgTuAC6V9F2TlWyvm+fAWcB6wKeJBsATkiKXkdbIoLbXAo4HrgM2B34GlgI3SPpi0G62NwLOBC4p2C+BJXFCST+MQjoSqO04RLSWYL5JWfL82ihWHbq6DhrJRBKRyTWRjaSfhn1gKGifDa6KRiXFqiOvOvD8OvCmQAAvTqKQ9P2gDw0ELWdYUBqLvnJli6PRUa+sd3PbawLHAdcCWwG/lDNeLyn6bVx9QcsJLiovnbIT9HGwOOXB5ZTbl97joIskfdP0TiOo7fWT+krw0edHFQMfGjes9LNQhbnDKzHsUP+7K6GsyTn/Amp7i/LOXHlO/n5Z9XFJSY2trYKNZZM49qgPPxLd9lZeq4Da3rheOgGIlt4FTgKWTzX1jXIq20nB9wJ7V53wdFKupI877/eC3gScXQ8DebqkZ0fZbNL/2I5Fo9NUYlnPALM7UusFXQ7sB7wOnAO8VleyUtIHk8L0cazoMwnkLWDHutHDgK8SFToxthd0N2D/nEbSCtsnAomZ0ekcSXGq1pbtbZL3q2aILh+0vSVwRGQn6fnGq+8msJ0iIpkoRUWKiaPaKIB79phVpWEcOHst6RdVBsXRGdCOVW3PWHTiJu0f06jt1AGJfRv0CQepit6Q9G3vc9uJMI8Cf68zVSV0JZDaNM7XGCqrC1jYW3FNJ2gq9xQSxw4Jrk8CcyV93nP102bRgN4NHFOxdlHVrOFJ63ILsC3wVIF+9m8AzZxplqRPAmN7beDNaqf7gU5PeKqmrWPRGdDc0EQpdMaiDSHkf2fRTDNeBFYJL9WupH1IJznImVImvlzdZre9NgMOANaZpMxLY5eskwHB0EEFkMnyPp0OsrJWOoX0Q8NWxpTZK4O2xtn/sAHEQcBtFbQHbZaJSfqtpd2Fr+1TgMuBDMoGrbQ5CyRlQt24RrHUMGtMy/MZ0LbN/AcbOjRJCXi4mwAAAABJRU5ErkJggg==", + 1: "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAA95JREFUWEftmFuI1VUYxX/LzLKL3a8UhEJBhUImBEUPDhkMdpmil5gkUiwy8DIUTgVDkZlKDVJBakUQ1UNBXoqii0ExD2G9hAQFIWEwZjVTWZlZfrGG/R/OnM7M/M85+xAO873MwNl7/dde33VvcZSYjhKeTBLN7amJpWhEzAduAi4HzoamQyaA/cBuYJukneN5YFRFI2IqcDXwGHDNeEBN/t4HPAT0Sfq7FtZYRBcDPcCFwD/AN0mBX4EjTRKbApwCXAbMAo4B9gKPSHqhNNGIWAi8AswAfMINwPPAT8DhJkkW26cBpwFLgAcAe9AidEraUf2N/ygaEWcCHwKzgYG08Z1M5GrCREQ78DJwOvAF0Cbpx8rFtYjeClj+k4CngW5Jf7aY6PHAE8B9wG9WWdIb4xF1UD8K/ALcKWl7K0kW2BHhqvJSCrceSU7iYRuhaMr0dcAqYB9ws6RPKzdExFnAHcC1gJWox+yZj+1mST9U4V4FvAmcCzwFrJY0nA/VRI8F1gMrgH7gRkmfVQGuTcHvzG3EXDHWS+quwr0SsPfOAzb6G5L+KtZUE3UivQjcAPwObPbpJH1X4aInk+KNkCz2GLOrAvOChLkUOBF4C1gsyU1hyIaJRsQV7hKAN1Was68TeF/SkYhwSXkQcLc6rk62h4CPgDWSBiPCXrkulcIzqrAsTkfh0SGiEeG4cO2y/K5lu1KRnwsY4KsUBl/XSWzM5RFxcXL3JalGf56K/7yUVA47h19/QXQB8GqqY8+ktulYWpbUsxJ3S3otM9HbgU2Ai//jwLOAVX44laqijr9bEL0tdR5nsYPYwWylDfRcAuqSZKBsFhEWwjHvpLlHksXyd5enpHaVcE19vSxRx2Iv8F4DcTnawewle3Il4P+zEHWXcuz65B4gcpgHHbvc84S7URaiJ9sjwB8pyXIQ9YFPSJXnQE6inhldYw2aw3z4u9LMm42oY9SdpFeSlW3aIsL54fh0p8sWo64GzvitTTMcCdAB3As4u7PFaGaOI+Cyud7x1Eprmqiz0lN3o5NS2cO5Cw5IclWpv+CX/UrudXV3ptwEyuKNRfT6NGp5hPONc03G22ZZfsU6D+++Dt0P/AwskvR20es9g3pYnQN8n26hbpn/h7mltgHnpHeEdkl7C6L+6wHWN79WZ3jZw/uGcQvwgQf26qvIzCS5L26Xpv7+LXCwLHqD66YDF6W9XwKfOAQl+XVmyGo+6UTE+cCWVJZ80dvTIIGy20zSY6RfZTyg+wY8wsZ6e3L99O+Dlr7sFxtZl+5Op9qDvkvVwphY76ONqJR7z6Sik4rmViA33r9UBMM6yuspdAAAAABJRU5ErkJggg==", + 2: "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAkJJREFUWEft2U2ojXsUBvDfwvWVwUUkYSjlmpgwkAwkjN2LiYEBiZIunanp7ZIUiYGBCe41pmRw0x0wMTlHyRDJR75Kvt2/Vr3ndOz20b77Q95613Sv/1rP+6znWXu//x1qElETnOoPtJQyA0uxErMHzPwL3MLdiHjbrldbRkspU/EHdmDOgEGOln+OcxiKiA+tPScCugsnMeU7gRxt8wl7I+JMp0CvYCMeYQ+GBwx4BU5hAa5ExOZOgSawX3Adv0bEk0ECLaXMx99Yi5GISOBfxUSjH8Fy/IPfIuJpKSVzF2EZJrXUSQMMR0SaYixKKWnCbJrGHB//4Q4eREQppczDX1iH2xGRJP1/oEhzHcGWb+j2DY7iz6rDIfyOmRNMI/V4CQeR5ukZ6FYcx7YOxv++ApepCXpaB2cuYD8u9spoPvGNisl/cQzJxvj4uVpnaYbUd8okx5dmHMLLlvzcJgewpqq1uppY16O/ibM4XTU6jPNtWEpgJ7Aer6vPZ+Ea9qG0ObMdWS9jN3ZiVbcazVG+Qroy4zNSi62NJ1daTMAfq9yfqrzMz3PjI/NSu3ku4zFyKimVrszUgcT6ntIV0Ie4ineYi8XIkbautWQsdXivZfRLKqZGmRt9qpxISuQ+nmE6NmBht4yO7dG+8zauYN/2aC78Bmg6rl/fTA2jlZ4aRvttrIbRhtFefzg366lZT/12UcNow2if3ut/5PVUmyudy9hUh0uy2lw71uMiN7dQLa7GB7Queypb/39Fenr8ARz+AslJhzo5BA5gAAAAAElFTkSuQmCC", + 3: "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAoVJREFUWEftmUuIjWEYx39/11wWoilEkikyG1mYYmOjKAtGbInRrCZl7JWFkka5FXbWFu4UFiIKhZRLorAgl+SSS7k8eqbn6DjNmd7zzcz5ztH31qnzdd7L7zzv/30u7yeapKlJOGlOUDMbDbQDC4FROVn7J3AbuCHpR4nhH4ua2WLgBNCSE2Rp2bfAKknXq4F2A/tyhiwt3y3pQDXQrUBv/HgUOAb8qgF8UoyfDlwF9gJfEsePBNYC66N/j6Q9KaBtkh4kLtLXzcxcMr5drfEnOyV9Sp3DzOYD92sFbZX0NHWRIQKdAzz5b0HnAq41d1WuVXcba4BXwElJ/uzb7bpcAbwH7gFXBrH1mSy6BNgJuMs6DDwGdgEvXfSS7gToJmA34C5lC7C/3qBLgYNAG3AKcLDtAbRO0mUzGxfurDP+gEM3JOjUCBAeze4CHcCFRrSou5ObwISw/g7gWiOCdgGHwp0sjxg9GD+a6TClaPQ0sBL4AMwEXLONBRpu6DMw3nUqafUQRKZMFnXfuK3MPb2IU/8G2BAR5BIwC+gJzzAFOAvMzhhCM4HeAsYCkwGH9DYD+Aq8jmc/RBOBd5G8jAEWhAQ8SNQa6zOB1hLm++tbN9DnwN8MO5HaUzW3ulcKdQNdBDxLBCx1c42eq7dGizSv2i6ZWabDVFi0sGjqyc8rhBYaLTRaaLTCAoXDr5REXu7JM/yLkpJv8/oB3SzpY4rGzcxTxGXA+Vrvnvwm7wzwLWWhsox/Y1QFPt6Lv++J470w9ELRS3BvA147lpe/ifMPW7cuSUdKs1dejc8DjgPTILcXERbXQx2SHlUDdZ04rH9GDJutBp74N+CADyX5977WNK9v/gCshUVJXA3y7gAAAABJRU5ErkJggg==", + 4: "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", + 5: "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAABC1JREFUWEftmHmolVUUxX8rG2wubIQoKiorECosNBuotEFsMJtIxYqUrCAiimYbMIgoaZ60gYqyuUgjsUGtqCghUNJoJCizaKCJsnasx75w3+f73r33+b1uD9/5695vOGedddZee+9P9JGhPoKTfqBVn9TayWhE7ALckGxeKunTqpitjNGIWAe4ErgqwV0LXCfpnyrAVgl0PeBG4IIENgO4WNJf/wugETEA2BvYBzgTODiBLQBmAR8ASyX9vSaAW2Y0IvzOZoD1eCxwCrAH4KPvavjolwFPAC8A1u3PkqIV4C0BjQgf71HAROBoYOPCYqsMIq95M+sW7v8KzAUeBl5uRRZNA42InYCbgUOBLaEjWZitj4HZwCLgG+D3BLchsB0wAjgZ2C1ZN5M/AK8DF0r6ohlmGwLNo7YG7wQOArzQT8BbwPXAu430lzreH7gCGA5snhtdCEwFljSSQjNAR2c075U7fxW43Uco6Y9m2Kg9ExEDUzLnAYfl9aXpDi91N1e3QCPiAOBRYNdkciZwGfBdIwbKFs0T2gqYDpyVzH4CnC7pnbL3SoFGxPZpLw6eP4HbbOaSfmuFRT+bQej5/O733mREbAQ4KZwPrO/gsr1J+rqr+bsDelOat33yaeBcSStaBZlARwG3AA4cz7tA0qqI2Ba4AzgRsM/OkHRR00Ajwub9JuDI/RAYKenbnoBMoOMAy2ZTwJv1pp/Je9sA84Ah6RgHSlpcXGs1RlPwZvCYfPF4Sa/0FGSCcTI4G7g6LeuXtLnFKQMz/lwSM8cMFwO1K6CHA48Dg4BnLXhJP64J0Lqod3q9G9gTeM/+KunziNgiGT/BGgZOlTS/fs1OQLMCclRPSzbtcY/0NMKLm0s/nQDcmgF0Sf72o+PTqy03rz+9vvIqAvXOHgSOS+GPkrS8CjbrWHXatSaHAa+5VpC0MiJ2BywxZ8DngUn1J1kEunOmth3zpdGOziqBpmYd5U+lXY1w8ESE6wKbvvX6pTUs6bPa2kWg+6Z2LP5rJPkIKh8RsYGTBrAJMFnSfbkBr+eAcw0xVJJLxI5RBHpSFhi+Z/N9oHKUOWFE2OCPBB6SNCmBnpFJxn8daE+WAZ0M3JM3rU9rqVdGRJwGXA7cL8ndgDPYyJSc/06RdG8Z0HMy8nzfxusKqVdGRDhtOjO5bugoDSPClZUTjcdUSXeVAR2b6dL3veNOXtYriDtPegTwWF6y6XdkL4+iRm0ZNRaXACv/A3D1S2yd/ZevDZf0dhnQwcD7gCubdg5XWftJ+qgMqPscW4SL2rJmrbc3YGtycT5NUq3/6qMfySLCedbdpVvhdg631G51ao3iasE0Jsutdh17jRwfv8vLF8s0eoirJcDFbDuHi/Txkt4oA+oPDDsA7hbbOdzdflX/gaJhu9xOtPVr9wOt+iT6GV1rGf0XpllmOm9HNTsAAAAASUVORK5CYII=", + 6: "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAA/VJREFUWEftmGuoFlUUhp83K7x0ATFDu4CUEQWWEgomFkSJ9UeN7GphGAZJZSWWiVZWliJ0px/9UbCrkEGhSEZERCRoCpaQlSlCJSleKkxrySv7i0nPzGy/76jfCRcM35wze+95Zu2937XWFl3E1EU4+f+ARsTJwDnAQOA84Lt0bZP0z7GakUqPRkR34F5gEnAJHJyB/cBXwDxJHxx30Igw1F3AC8DpwBrgS+Ba4CLgN+AqSeuPBWypRyOiN7AIuAFYBoyXtCci+gLvAFcDSyTddLxBvS4/Ai4DbpX0toGSpx8DngK+BYZK+vNow1Z51BvHnrwUuF6S7w9aREwFngc2AcMk7WgX0NGSlhdAH0qgP7Y76MPAc0Dbg04D5gI/tLtHpwPPdAXQR4GnuwKo5cmg37f71D8OzAE2NkAjYjjwJHBWE1JlHX4deFPSvo765+roofI0Mwl+EXQJcGMTkI0uXwDjJP3SmaCzgCcO8ejdwMtAzyZgnei8CsyQ9Edngs5OoE75/o1MEXEa0KsJ0H2Stlf1q5r6cwFHI4fQMcWULiLsTcP+B7QJwOwuVaBOSj4ELi8ky42BnUT78jR5bf2V/cbyhhusJGV5QxXo2U7jgBHOQ4C/U+LceFWjb3GMVkqbt4DJknYf6Rr1ensNmAD8CrwEWDoM09F1UuFDfG9r/K+s/ZnAzYDfZbmbI8kOOcyqPOpnj6RQaVCneutypzjlrXXeHwO8kWZsoqSlZePX1UxDANdFXgb+4rmSLCUtW0S4vPGM3QF8DVxTtfPrQF2BzgceBH5ykSfp41Ypk7ed01qPewC3SfJ+KLXaxR8RXkefAYNSRn+dJMtSUxYRXrdTgGeT5toRFvrKmaoFNU1EWEu9fi4E1qZpchWabRFhz7m8ceZ1e9p47xk6p5TJBT3VdTzwAPBNKuh+r6JMYF7b/VPQuAIYCVwMWIK8iRZI2prztbmglg9nN/bEUkljywaPCLe5E3Bkc9y3J89Ivz5Z8dnADGBVWVw/InkqNo6IovjPlOTsvkOLiMnpo/x8Z/Kef1cDi4GVdeuxFdABwKfA+cAoSSsqQD21rvdtzgfet2JI2pUzxWVtcqd+cDpvslz1kVS6kSKiG7AF6Gf5kWT9bdlyQb3mFrpGknRB3Vsj4l3ARz0rJI2qa5/zPBf0ReB+nzlJuqVu4Ii4D3gF8AlKP0l76/rUPc8F/Ry40rFf0oK6QSPCode7+xRgiCSfBLZkuaCOxT4s+ySVyI4iznKKv75v/G05uifJkmO4+7VkuaAOeS6PHU5zzZpppRjb6o73C3NBffLs6fTlKFVnhtzs7F/Sz3WNc55ngeYMdLTbnADtbA8fAAoVmzoHLNMeAAAAAElFTkSuQmCC", + 7: "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAABVdJREFUWEftmHfIlWUYxn9Xe1q0qGzRwjbZMitsUGFlYZMGVmRYJNEwzMgi/4gkGzQNk6Iyg6JoJ0GDhrYtbNGAJpUkbVt2x/Vxf/L6fuec9z2ek2F0//N955z3fe7ruZ7rXo9YSkxLCU7+G0AjYhlgWWCBpL/+TfYXYTQilgd2BrYFNgBWBVYGfgU+Bz4AZkn6aUmDLgNdA7gJOCIBmlFbAL8BBvgpcDNwlyRvYIlYGagZNNARgI96XgI00/5tFejRtYE/ClxgliUtqIM2IlYHNgMOBnYFtkw/3wEfAm8DUxsR0OjoJwLnJsgLgVeBfulgD+AgYIsE9hFwNjCjFdiIWA4YAowEDgDWbbIxk9NP0s/l3/tEfUScB1yRujxD0t29L0WE9WpGxgPHZKBZCkdJeq2R89T9mYA3bd332vep+T+B7YHVgLmS1mu0TiOgPpZpwFrAtcBYSX8UX07Ak5KhFYDZwH6SfIQLLbOGWbwmZWOmngOuA56QFPnMe8BWwExJg+sC9bE8C2wDvAEMk/RF+eWIWBG4EjgLcNBdb8kUJRARhwDTUzrfAJcC9xQ3FBE75Ea9xkRJZr6PNWLU300ALnb+BEZLmtzkWDdKIHsDn+Wm3uxJExEbAo8BOwE/ACf5c1nLEeHgtTR8aj6VF2oBTSdm9V1g7QyqIZLmNGDVmxqdzJoRb86ScFY4NY94pWR7XDGaI8Lv7gI8CHhTzwNHS/q6NtAEOyo1akevAP4827oq6dASmQFsnOz6OUfvjcDJgB0fKenF0nsOGp/U4cDvwDjghmbZo2mtjwgnfzs7IRlynhsj6eGSQ5dYg9gdcOTbsTdjpnbL7wZLMpgei4itgSnAnoBz9CzgMEnfNmLT37VsSiJic+B2YK8MGL/zNHAf8BYwP+XhI98HsKNB6WwmsE4+fwnwC+D1hgHDASd/M/+xC4Ak/21qld1TRPTPYzkuHbdaz8FnFr3uy5lnmz3v4LFkxktyemtplUDzqJzoXfKcE48FrNuy+WjN8umAU9edyaClsYhaMu05nVlG88q6b4S4LlDryGBtrvfusFyhDMgVxqX0/ZRC0Y+zhoNt08Kzzs2fZOrzs/PLBWWxgGYVssasr1obqzrGwu8OOmtzgiTrvSONWnMOjPIRtoGn5aPW9SBJbn46Amo9PpAtWbfAFddx2hte1dvWOsqIcOPhDmfH1Gg3AP+Y/eecYo5ttnBdoE7il2eb5t6yG+b09BVwkaSHqhasBBoRA7KEul+0ntw/dsOcSdwfeLwZKMnzWEcadSs3JiuLa7NTUTfMY4j7Aqe7SZI81nQE9DbgFMA9qbuorgDN8vxMNjPTJLkN7AioR5OrstE4VNLj3aAzIobmgGj5nS/p6k6Buqp4VHCami7J3VTHFhGexY7P2WyAJFerjhj1js2iZyl3QP3Ls1G7qCNizZSS9enGZGhVva+MeoOIiBOBOzJKR0qa2i644vMRcRpwa7Z5IyR5mGxpdYF6jn8K2AR4MpvchY1wlZMSSBePR4AD89Zl/zoBWheoLyDMgGd530E5qNzStW0R4ermWxYPhve6dZTk4a8rjHpD53iczYTv/6dU6arsOQc696u+L3CFG+v/66xTi9HUqeeb+4H1czzxGN3n6qUVLRHh+6veoc/l00OfO7NKaweo05MTtO+fvsxZ/J3Mr5WOspfdLi/hPB6/BOxb1TX1LlwbaLLqWf2WnBzrgGv2jBuSUZJc9WpZu0AdsZcBTi/NbuSqHM/11aKvd+q0d4vFaLLqOckd1UDAs3/vZW8VQI/Gnq9ed6WT5Ivh2tYWo7VX/Qce/B9ot0n9G8yyxjoKkA4hAAAAAElFTkSuQmCC", + 8: "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAABT5JREFUWEftmHmoVWUUxX+reZ6jaKK5bCCaiEKKsCg1jF5lUFYKJY00WGZppVlhk0Yp2EDYPFgYNlnZXEQ2QBJBc0FWpEJE2dyO9dhXLo97z/Du/edB+5/Lvefc861vnb3XXvsTAyQ0QHDyP9Buv6mOGI2IVYBVJf3VDCwiJCm6CbYUaESsBmwJfCfp38biEbENcDOwMzBF0lO+FhEHAjcCvwAXSvqiG4DbAo2IDYGLvBiwAfAlMAF40niAucBxCeIfYHdvBngNOCB/nyepJyLWBLaG3ppYIun3uuCLgE5NYGa0EX8ApwPPAO8AezRdGwJ8ALwO7J2/vwEcBvQAtzlNcuOP1k2NlkAjYi1gGbBui50vAgYDpwF35/W3AQM1UyOAW5P1M4BXgWuAiXnvTcAVkv6uw2o7oLsAn7Z50OfAwZKWRcRBmb8LJf3alL9+rguqN6cjwhubAbj4LgHeAg4HNgeel7S0DHQ7oGsAXwFbtXjAC8AwSc7LlZFF54U3SUA/AMubwG6a4L3BYcA8wGl1i6Tx/QKaLIwG7sqHNZ7jVztY0vt5jze6J3AycARgMN6k4zfgY+AJg5JkFeiNiBgF3J9f50ga0wlQL3gqcF5W/dfA5ZIWJXvbA1cCJwJrFyxkhTDgq4AFklZEhIvq2lSCqyX57RVGFR11YW0MLHUBpNSclCCtoY4VwGLgsyxC/+aN7Juf/m7FcPFNl2SpqxWlQPs+LSJOAO5M8K7cp4EbADPu12tADivGRsCxwKXJnu+3/p4j6ac6SGsBjQirgbVyvQRlrZ3Rt4W22JwbwGxg/5StScC05k5XBroy0Ozr9wGnAD8DXmxmVeGOiJ2Ax4D9Um8PlfRuGcDG9TpAtwVeAbzgAmCUpOVVF8pqPyRTxTlvNRhZldU6QC3ajwNbZE5O7KulZaDTP1jyrBRLgOGSPiz7n6/XAWqdfDi1cjIwteprbwCx/XMhpev6EzhTktOhNOoAtdS4wt2tLNau3JUiXrpS3hARRwEPpiL4rVgxSqMOUIv6QsB5ZmmxTL3cD1ZtB92GnfMz3fslNSStLeDKQLMYjs4iWAf4BrgYmF/HCUWEfamt4I7APcD57lZllNYF6tZ3ro1EegC7nmnArCqs5GY3A2wL3dWcAmdVSaFaQHMht9TLkk07f7soA58syUakMCLCY82bKXP3euPNFrHdn2sDTbB+9SPTDJsZGw+3SffxwqEuIuwBrMf+vCPnqtLRpF9AE6xNsJVgDrAXYEN9jKRPiiiNiH1ylHGu+k1MqJLj/QbaBNYD4PWAddH55rxrGxFxJPBQmpruy1O7lSNiKPBAelazY5aKgHo4nJU3OD+dp6XREaPJ6nDAZmV9YLwkD3YtIw3zFA936Vvd6z38lUZHQLMlegLwZOlXP1bSIwVAfVZg7fT47Jy2g/q+FGWdXt/qYRFhc+zu4vnqW2CopI8KgO4GvJQm2gcZPWUq0XhWp4z6WOe5rHofNgwpMtERcUGOzV7XzunZKmz6nk6B2vH7xMT+cpKk6wrY9Cj9HrAdYAkbVJXNbgC1wfDo7AYwTtL0Nini0eX2TBEbEPd3+9LK0SmjZudFYNdkdoSkH5tXjwi7Llf5uByrfeo3pu500ClQM+mjx7F5OuIZyIdhTgdPnDsAZwPH53UX3GhJLqha0RHQ1NFBWSA2xI0wqzYoNtmr54+e5X1QNrfuCNNxjiZQb9aFYj31mOFjnebwafR8uyufmFQd5vrS3TGjffLRgD1b2ay4gGyuPbEurlPhrXKiq0BrJV3NmwcM0P8AUDTQOq1KzIUAAAAASUVORK5CYII=", + 9: "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAABAlJREFUWEftmGmIlVUYx3//disrSiOJVgnLyiyIsIVKbJEyECUpVII2BSNCoqAvFVIGfSj6UtDulxKRpKwoRpNWiSyyInMLItQUsz1b5on/8Nx4fZu737kyNAeGO/POfZ/zO/9nOc85YpAMDRJOhkA77an/p6IRcRhwIvC5pL87qWpLikaE3zsIOBw4GpgATAEuAgz7HHBjETYi9gcOBn6V9Gezi2gKNCJGAGcAZwLj8vO0hCvO/TUwUdJmP0zI23NBG4C1wKfAekm/NQJdFzQihgPXAFcDZwNHJtiBpQl2AP45BfgJuEHSsgQ9HVgOnGBu4BfgB+BbYBXwoqSPagHXBI0IQ70JnFMwUploF7AV6AFeAd4HJgPP50LuBR6Q1BsR1wFPAIckpBd5QMGm7UyV9EE12HqgVuCtTJAfARv6ON1m962T9EfFeEQcn98/CVgM3OyYBO4H7gK8uAWAY3Q8cBngd7YDMyStbBV0X8AvO0nWAdMS7q/+DEbEPsBrwOXAl/lpN1vlqwDH5wRJOyJiFPBsfmcjcIGkbS2BZnzdkyrszkmsaNUREU6aRwCXJy/Qk3uxVm6xpBlp12VsBWD1X5I0teUYTYNnAZ+kkTslPVwH1MlkNa3ufcDqjGH/PVvSorQ7CXgdsNdukvRUu6A2ZJdZgVWSLqkDaiDH71jAmfwecFsqPEqS49Elywuen1XgWElbWgaNiGFZjhYCMwHHphX7uU7tc8LcmhCuqXbvGuCKfM9J7LLkGvwZcCXwvSQnXr+jatZHxKHAHZlA3oXGpIUPM3trsTpRvDH0iQd9Xdo3GRJ+Zi9dms9dS62yk3ChJFeX/4xaoNcCT2ftqyNgR/79O3C3pEcbAo0Ir9Zx+DJg13vYJZsKCnWCrCLSydkD2GZvhtiScj+wh6JZB+2SJzN5KkDvSrqwE3RlGxHxjmto4fl3wFxgWbGpKYN6dUuz4XAdtDscq90A3ZlzuctyAk6T9G/NLoO6MNvtzu5XAXdL53cJ1Mq6/s4C3At85YSshEAZ1K3XqbnlPQg8k7tLNxR9G7g+a+68rCxjJPWVwjLoaOC4bDy8qiVdBp2e3ZXbyZ2SvqjEbq3y5M6966CSnExN1dEh0KJchfLkGJ0+pGi7m0DXFI2I/YBbgIvLVSQX4U3DHX6PJDcoe4xugp7r7Q5wx1RtuDOaKcm7z14DPQZ4KI/S/YH6IPcC8Jgkq7t3QD1rRByR+3R/oO6IdlVrijvtep97fLIciPEGcB7QkfLkG5CqZ+426ScCR7UDOtJXLXlkaJOlodcthC8h+g5/5VFrr3dfOCcPaf59IIcTzlc+j1e76Wvkksz3RT4CD+ToleQblaqjLuhA0jVjewi0GbUa+e6gUfQftdC3OpYaRjQAAAAASUVORK5CYII=", + 10: "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAABIVJREFUWEftmHmoVVUUxn9fNs/WH400kmBIA81Q/lGWSUVaWJZGNmGYDWSpFUQEjTRnA5U0UFSYUGmUUFqhYoXNFNgADQSNZHM2rPhkXXnYvefu8+6Vl/QWCPLuOXv/zlprf2utLdYQ0xrCyf8PNCL80ZsCm2WUlgE/SIpuRK1rHo2IEcBpwB4J9jZwv6Rn/zOgEXEw8CSwBaxMJ3vyO2CkpAWdwnbs0YhYD3gZ2B/4EXgmoY4CNgFeBYZK+r0T2G6A7gY8D+wAzADOS6DpmQqfAsMkfdDXoFsDLwA7ApMkPRARGwF3AKcCnwCHSvq4T0G9eURsCWwHfAZcYDDgAGAdYD4wXNIffQ7aAIiICcAtwPr5N4f7JElLOoH0ux3laESsBdibyyUt6wFqT84BLgUccj/ztaTlvQWuDZr5dyBg7x2T3vsbeB34BTgoYRYCA1INrAyWq7nATcACSb/Wga4FGhE+4VOBE1J66uzVePZ74GHgBkk+aEVWBJrlcVh6Y3fAIf8NmAm8CWwFHAHsCmycO/8MWJpeBN4DBgNnZAT+Aly5LGULS8psW9CIsGifCFyXlcen12GdIGnpqu6IiHVXJH+TfIyIPYG7gP2AtYGvgAuBpyT9VOXalqDpRXvvYmBsLuzK442mS7IU1baI2AU4HzgT2BBwxXowo7W0lXerQIemaDtkPhQ+vecC8yQ57L22iDDgkcCtwPaAU+EtYKKkV5ot/C/QiDCU820WsAHgUPtlL/JOr+mavBgR+zo6wD4ZMYd/pPNakuFXWjNQv/QEsJO1D7jXIi7J/++6RcQ2maduEa23jtzxknxIK0EnWToyHJc5JzvtfNp9XUS4knnfK1NRJktyr1AJOhm4FnAYznIKlMhHO5iq3/PgjgLuS32+RJKdVQnqTt2CPBBYBJwjyYm+2iwirC53um8FXBBOkdToa1fs2yxHHYa7s0Vz2fsQOFbS+6uDNCJ2BmZnQXAhecyFQZLLcWuP+peIcFNhbTsOcJ3+yF0QsESS63rHlg3NkASzBLphsRdPbiZ/VTrq+eeq7NJdbdx0uOS9lpXF0+bcUvAEG+7JNMcTD4G3ZRNjCXwEmCLpm2ZeqCyhEbE5cH0eKqfBF+ndQYDhx0p6rsS9EWGBN4yhHCFPBNtm+j3qYiLp21ZrldR6P3M7MB7wiNEwJ/1oSZ6X2lpEuKlxE+OPb5hbPWv26ZL+rFqkLWjmrAGdBhNzvHgjJWxmqXSlBI0GpgF7p2fvcXMtyelQaUWgCXs08FDq3OXupkrzs0GQeequ/wrANynjSi8o6oD6IDjHfG0zVdLN7bzQ7PeIuAi4JvXS81RR6vSDtvJ2v0d7HITDAeudhX6apBt7maNTgKvzAm2MpHkl69TJ0b1yVrdIPw6c7Vm+ZJMeH2sNtSRZpj4HRkh6t2SNOqAeH54GDsuFXZvrXtO4mrmPsHnGH1U63xeDppa6iXB9PiRHhxJnrPqMK9BL7hskeYwuslqgCesZ3rchvi3xKF3HXIEW+5+kL+u8WBu0zuLdfLYftJve9Fr/AEBmlDo+zVqvAAAAAElFTkSuQmCC", + 11: "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAxBJREFUWEftmEuIjmEUx39/t9yVSwoRISu3iCWRW1YoJUok17AhCyxcNkK5kxJREhYiWclG0WjKpSwUuaSkyCWSy9F/er76DDPeeeedGZPvrL6v9znv+b3nOec55zyilYhaCScV0KJ3quLRf9qjEdEJmJ0gr0j6XBRwoVsfEbOA0wlukaSrTQYaEW2A8UDfHEYmASuT3hHgRo53vAKqJP0o1/3NoxGxELCRrjmMFKHy0R8r6czfQOcDx4AeRVjN8Y53wHJJ5/4G2hkYAqwFlqXFjrtvGY0OTOueZVzfDliU1h4H9gOPJX2qF7T0MCI2A9vT/26SvCWFS0Q4xD6kF2+RtONPRurM+gpoLXe1qEcjojswJ8V6ade+A9eBm5L8u0ZaGnQGcBlwopTLI2CKpOf/CuiIBDq0FugLYKakB80KGhG9gMVARxcJSW/Sdrq6jQJ8Fg4rg21+0IjoDewGFgDtgYvABklPImI0cBiYCHwFfLT1BJoXNEGeANyEtE0ec0G4BOwBTiZPOpHOAu9dbQDH5nRJD5t86yOiC7AXWAo1o8x9wO3d8DJgJ9EX4HwKjWnATqAaWC3Jz5o26yOiP+D2bSRwy4YBl7sDzugEb5BTwCZJb1Pcunf4WH40NenxFBEdgLnAGOCgt1NSRMTg1MxMTT3p+hJkfXW3Rc7RiLDXDHzX8FkagxYBzQJWe81/C+rS98tokMd7dei4OJSKQq42z9nsZGlOWSPp0J8M1tePDgA2Au7Ys06r1vGxZbmXKlGWD3XieSLYJcnV6zfJCpDFmFs2jxQunZZVkkqjcyb9+hYVBpqydyuwLhncB2wraoQpBDQixnnb0n1Aacx2I1Ll8JF0p7EubRRoRAwCVqSJ1dOrT4bXCaoP4Ix2efVkeVTS07zAuUEjwm3bNcDe9Hs8SV4A3FVZlgDzgG6eOAB7dUapZ20ocGNA+6VMdZt3O50Q1aWYTDE7NoXEBMBz0kBJLxsK6fW5Qa0cEZMBN9B13tyV3fC9lpTnLqrmuxoFmsczeXUqoHk9V5dexaNFe/QnGytxOty798AAAAAASUVORK5CYII=", + 12: "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAs9JREFUWEftmEuoTWEUx39/5C15xMCEgdeADCgTuldxZSSvgUJRRrpKKTIWE/IcKRNlQF4TecSlmyKk3IEwoUjkkbzLtbTqu7fdaZ+9v3P3Ofu6OWu0z9nr+9b/+6/Ht9YWA0Q0QHDSBFpvTzUZLY1RMxsJjK63wZz9vkr6nqaT6nozGwEcBmZCaQlnwFNgu6QflWCrAZ0LPAIGlczoH2CepK5YoPOB+0HZT/m+wYAnBu+5mQWSHvQF6DpJZxsJ1MzWAmeCjSbQXrLNbLEnA3AAuCvJYy5XSmfUzDYBx4E3wBagU5Jnc6b0B9AxwDFgA/AQWCPp5T8D1Mx2AhuBbcA94BzQBtwBVkvKrBqlMWpmu4G9ofa6yx3YCWAZcAlol/SqGrNlAh0VEmgrcCMAnAVcAKYBu4BD1eK1NKDOlJmND2C/SGoP/80B9gFHJV3td0Z7AJjZEKA7JtOToEtlNC+zs97XC6i78XIRIBFrVwBH+nKFtgAdYeFn4GeEsSIqw4GxYYNWSbdimxIvK1WDvwiiiLVtkq7FAk22eeeBJxEGelSGhYdfNayZDazqi+uTQKPbPDNzF3rx9/t9v6SokKlXMtUC1Av/7QC0RdK3GFbrBXQHcCXDoI8zyZFmaPiddL0znNVFLQcOFnX9byCrr/S5anAOc90Re/hl4VJThz8JeAH4NFqm+PQ5VdK7qKx3JTPzSXRhDlsek5sBz9qPwMUKAysB7wG8apwEsmLWWfep4HEaM4U+6ZiZT4+ngaVAlyQ/XK+YmRv1xuQ6sD6vL81yXU1AzWw60JpgOcno69CTJu3tAaakMOrsdUh6HhtX0UDNzOO2E5gRu3mO3jNgUVo8FnK9mU0ATgFLKsqRH9Yz31lKE68IXjWS5cmfb/psJelDzMGjGQ0JNhkYl/I9yvepVifT3rnuJ0lvY0C6Tk1AYzdthF4TaL1ZbTL63zL6FzweTzo5/agXAAAAAElFTkSuQmCC", + 13: "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAkZJREFUWEft2N/L1UUQx/HXlBKlIRRIFkhFgtJNkBTU41N/hAgqhKkggaFQ0EXXXQgKSYIElSJYIP4R5S8wFLyJhEIlSCVQEFMRnxoZ2EDlPOec6nR8vnH2dpfZ935mdmZ2Q0dGdITTBHTUnpooOlG0nwKZuQIv4nFcwQ8R8ds/US0zF+NlPI1bOBcRPw6y1TdGM/MxfITNWIB5uI2f8X5EnB60wb3zmfkqPsNLKNszuIEvsCMiynbPMStoZtbcO9iDhbjTDNcGjzTYlRFxbRjYzFyEUw3yz3bgOvh8/I6tOBAR2cteP9An8TnW4io+xWWUKqXwo3g3IvYPCboB+/BHU7C88Qy24yl8gy0Rcf3vglYsHcJbOImpiJjJzGX4DkuwKyI+HBJ0Jz7ApbIZET9lZil6DK83m2tmi/1+ihboYazC8YiYKqDMfAHfYil2R0QpMnBkZnlkG37B2xFxvtkr0DdxFKv/X6CZ+Sz24gI+eRiK4mM8j/ci4uJfrrrP9Zm5Dgfb5GsVg2N2fcXw923/9RHx9WygG/Flm5xuqo4zRkvNI23/TRHx1b8BrQpVxp6rCtUywsDL1G52VaRfMR0R53pcppGCLkflwCeGoeux5mbl4og4Ow7QM60E1qal0DCjPFCHqzL5yrhBT7TKNQxoVZ43JqA90lPFaGdc34nL1Jn09F82JUPn0c6U0G40Jfcmw/YIm/Sjo26cO/EU6czjrhvP5daCzf0PiAcywNz+0hmmdxvXmsn/6KiVnig6UXTUCoza3l16XTZJstjVIwAAAABJRU5ErkJggg==", + 14: "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", + 15: "iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAfxJREFUWEft2c2rTVEYx/HPk/dEIcLIyMDbwICJZCTMGRoqoQxI/gKJgULK0JC5W0aSCQMDLgMjI0QokveWVu2r43Ru1jr37ptd+xntXb+1nt/+rmet1XlO6EhER3zqvtGU0hJsxHasaJn8BzzC84j4MirXSKIppYU4j8NY2bLJqenf4wbORMT34ZzTGT2Cq5g/Ryan0vzEsYi4Xmp0AvvwGkfxpGXDW3ENazEREQdKjWZjW3APByPiTZtGU0prcAu7MRkR2fhfMd3ST2Iz7uJQRLwdHphSWoRtFTWca/BxRHwbMddq3MQePI2IDGlmRlNKCzJlXEJOUBP5g09mehHxY2pgSqkVo7uar19X43BA+6pZpfttG72AU02Ss3hWaHgTzjXaixFxejaNPsAJvBswcwX78Rk7kI+UkshH3UMszTsbxwcGrcJl7By3RnPh51vj18Cky7Gsec+3yJ9a+4fbXNv5tsvxCR8H9POa2y9v0LE2Uwmp2daMZfQl7uDrkJtMZwPykuXnksjkcwm9GLEKi7EX68clOu05WuKsVNPK8VSavEbXG62hVaLtiZZQqtH0RGtolWh7oiWUajQ90RpaJdqeaAmlGk1PtIZWibYnWkKpRjMTop1p6dxufhL/902yzrQdu9HIzRuhE63xmh07V9ru/ysyV6RK8/wGNOqEOmkJi9sAAAAASUVORK5CYII=", +} + +SEGMENT_ICONS_MIJIA: Final = { + 1: "iVBORw0KGgoAAAANSUhEUgAAADgAAAA8CAMAAAAEyYk6AAAAhFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8g2+bRAAAAK3RSTlMACg1iWftX9nuLeXItBN6ckgXu1IJpUE1IRj4P8ebjx6RtYDkyJxwTy7YfpD+xKgAAAQRJREFUSMft1MlyAiEQgOGeKKMIs2+ZiRr3LP3+7xc7VqVkoKT1koP8J4rqr4oDAKHQ83TK1gJvJdbZyeHiJforY8tpgZyEHsNP5PU+ckfkdjRhy4adCadsGAfIhq9s2INZxnTZlTlIeYAiZbm0gH0u9eWUAlF0kLNgDjGNDwQr2qhgzoILSP+uuqCVgAUPRkgtCeJvCRO+ITW7gnrCSdsQeFlw/8KrH0F+/wlXD8CUoHwA1gSLvLyTlbKAS9F9mS9ZqeYDbhdNlGoTMBrw3MYDaxraOf4c5YEtDc1tOPMdNVm54QZ81W44eOG3cMEK/H1ZsEfcMmCH2IDZrgFO020EodC5HwYdym1QtrtFAAAAAElFTkSuQmCC", + 2: "iVBORw0KGgoAAAANSUhEUgAAADgAAAA8CAMAAAAEyYk6AAAAgVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9d3yJTAAAAKnRSTlMABZMH8O0J+cfgAvW65dnUnFctHRPOwrOso490aUMzIw+/pKKLiYRdTDgCOmzHAAAA3ElEQVRIx+3U2QrCMBBA0UnVxMbudd/3Zf7/A00poW2qMFERlJy3CXMhEAg4zntWIVJEmRnGSDM1wx4x7LvQNpxnvNBhfO2Ve73lhpX4avc0XEDNApXBGioseBSOEX0JNdJHxATqMnWyN8NbLBJoSIQQV2gIxTiHj5GMQhoVOxOfQ8TLepePkC5gVRigjTloKdrJdTixDFMd+pbhSYddy9Bz4X+Fg98JxddDLExZW8fEw3Z4AAq/Hc5eCLvlRBGhcmz8OSkp9FC56GkTUW8KwxFiwEGTwy1QqVXHgTsnuN9OjLkxhwAAAABJRU5ErkJggg==", + 3: "iVBORw0KGgoAAAANSUhEUgAAADgAAAA8CAMAAAAEyYk6AAAAllBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AJcWoAAAAMXRSTlMAhvacqlJzmKeVwCXJsU74B+3n4tGOfwsC87+ikTQruYJaRxHan555bmhiRS0eFHU+2hR5KQAAARpJREFUSMft1tlOhDAYhuHCDAPYln2VHWYfHf3v/+aEMWWxBBNMjIl9w9mXp3BCAIlEP0p3vOIonY08nJ0tXF9KlRI3+LqowLLJxgjH5pYSB1gSD8eZScNYGgNrEbLcd9SVe9DHwybkIci4Xe4OLEHYzkCg7eLDDNyYyxDuKLJXwRphWAUvqJ6H8jfwjIx1cIcUAf8N1AUU8G/CkoO//nZUvu/rCSWuOQ8dQjU19VNjAikairBxovYIxkWpvFhoKBkgxCQ5GTgaxnxHHtALsmh85tuR2NBDm32HvW1Q9Ye/4u76zMqVQPNk9tgMHmDSnkrXjP0FhFkl0T1M2jCIY+Bzu7s1LvDJGLGyg8Z1fSzB06TntuKGRKL1fQBu3gKHZVzi4wAAAABJRU5ErkJggg==", + 4: "iVBORw0KGgoAAAANSUhEUgAAADgAAAA8CAMAAAAEyYk6AAAAnFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+TINBkAAAAM3RSTlMA7/yzOvV9HevQua6FFObg28vHbTEoDAbXvWJRFwnt1MGppZaMelkkAvehm2hKRj83fnP4Sxf0AAABZ0lEQVRIx+3SSXOCQBCG4S8oYd9kUxT3Le5J////lsvAoMwI3FIpnhNF1Tvdh0avJxLb5lh1R+t90imbBlRQT1rrTLOoSt2l7bpIpxeB06Z7fFDN+P268W4QeL5KAnPfG1mhOL+PqJEZ1bJkRW0o2+NzpxnUkpk8zRN2pqmL/lZnivcEBiSw5d2NuoRKXIZGp5Csoov4dRny0HXLkQ4LbWIMR1OkYZhuiMlYuCTma4a1LJznKC/kxEKPCjYiWWhjSIUJC/l6eo7JS8iXsfjNs1ClUoirODzjwN83WOhTyT9iQYX4MOHf2FBtVYu4KTISGMBR67cTEjdC6grCO76rr7NwphA3hF3vxsh1KukpmDVxy5VCdcGZOBsFTaUO3ASlrEOnXFFxaR/+4EnYdt4FL25em24xRE2e+U1ZsE8h8tkUDoE+/Pvhril8SMJpU+hIQmf+vltCZq+86/QDpCLL+5BYbGbo/T+/JqgmP3dFAH0AAAAASUVORK5CYII=", + 5: "iVBORw0KGgoAAAANSUhEUgAAADgAAAA8CAMAAAAEyYk6AAAArlBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8tivQqAAAAOXRSTlMA/Pi7Cn/s54WdzNxOMMRxPywoF/S0XldKNhynkGggDga/lnlsZDoE7+LQya2jEtaNUkdDinXSbiMSwN7gAAACjUlEQVRIx+2U2ZaiMBCGC2VfFEEEWRoXcN9a7aXe/8WGJII0aDfM1Zw5/d3kRPORP6kC+OV/IVHV9G+8PmbI0J53JETtRZWK3GtrcYSUzqK1OWemaLXfk6Pm2oYbvKGnQqjsg0AJ5XnkWZMnpj6k5ibOnIvgaFiFW3eFCw91FitmHnQOn8JthZeaOZCQIE1Cck+q0h+9XsaWb38ai7M7V6ZrZPTS6r4v7K8tfLjWEm6MR1E6Zuc76NctTSMly7J3frHYOT9KLSWyOs3ygHayxQzNg5yJgtLA1iqNIPRkzzzPe9hRBnDD2pNthXy6yyYBLPd0AxOgFDUaT8wp4vTN4G+qQxazuG+IXAIZITFXg1pUc9chHaJJokt+zyYneu5VEXBOG8GvR41fZae3UbtjWnZEzsjGiD6AkZIjvMesf/STspf1QxG1QEacZUOA+HlvIhJqSkrgdZAyvNqmc49K8BFV9l75lSYKyM0EfcP3z7KYRbVitxQV+A6ussHJqldtopkr9L0lWzUXEbUwvRhj0waKiyhlg5LFMcpNdESGlAJT+yoyumyByKIKZI1ZMm0Vb8yKh7myslMEWimDdMou/wRwQunWrpgjQJVlQi8tpHdEkaLidXWw4FJ96TWk6GRSnOlk1MR92bLkm4YcLfUMC44n/UBar0DMpdiTVSzosdLhF46BUhZ5ezES9hsOyyRA2eJTuEyos+Lzgrbkml/xsZ03LFrUbCf2oWDWxtvCnVhrEXTwpbZiU4/zKh/zTkMxggresNF+b1BjsG5wPh0eYE9/8jQDHjOSvtM6Ag/POIRPT8rtPuE74uT9kSbJPvxI78F2PDRAqIs9aAK/qXriABox6e+6JRzZhl/+bf4AGN38ygb1ElsAAAAASUVORK5CYII=", + 6: "iVBORw0KGgoAAAANSUhEUgAAADgAAAA8CAMAAAAEyYk6AAAAllBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AJcWoAAAAMXRSTlMAaXXW5ex8RziCCQTzxodgVvno4M2zq5ZzbzEQvruiYltSQjMrJSAcGBLu2bibkY5js0TWuQAAARVJREFUSMft08duw0AMRdEnObJ6t6zmuNd0/v/PJbuMNZZAEUi88d0fkOBg8OjPCl8L4yyBEyJKP1oZJModIaTAEUKyTkJIhRSSI4VLKbSkkI5SaEthLIVTKSylsJDCmRRmUki+FJ4AO4oi13WnP5lmVdV1bRhxYu/Og9ABTOopWFRtL9wAK+rP2qpwZf7WAAdzIAN3bWOMyFbgG43IVeByDFQnRsQv8xWYCDfFge+sC9RyNvzCVZ9cN8d1e6abeeg0Z7nwgm7HgLOnOo//ItYaN1unw2zaoidn0quy0vbQn58832RBrCmtJtRdugUjT5fvYLXToANe2on2TKgdqGHCRRfG0lVLJnzRfgTP+U/dch+P/qlvfoazbtFs/hAAAAAASUVORK5CYII=", + 7: "iVBORw0KGgoAAAANSUhEUgAAADgAAAA8CAMAAAAEyYk6AAAAmVBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////VHQRUAAAAMnRSTlMAce+MBQPDahP8+N/bxr6hiIJbUUs1Luu5tJ3z5cymmnllX0Q+Og0K13NWJyEbEaqUVYZMQtoAAAFrSURBVEjH5dXZcoJAEIXhIwGRRUWQRdz3GJck8/4Pl7JCIJNpmcabWOV3x5S/o9AAnss0nc7sxGoe9sSVkW+ahiNRmEZQmccojGIy7ItSdoRkH46c6/o7GQ5EZSxtupoUyy0y3Fad9JlOu1w8k6E5lkq7WD755VK75uxUnO33fl61FIH2JiTervg23YawXuVyAGBZHboxbgnl0NjB8qvDEOBuefj96xeokbhS2K6Gwluj1lI+sT+nNA320OhL5acd5PlHa2NCy5oLof9f2pHN0cQqLcMeGunMlVnhimcuHertVlkqRBd3ucRrPKLghWf4N/QEj00/jvWUHYctnjP+XWKwdNXJFiwZFC4rnKuhzwoX9HtVL6QfU3obYlhZ4UkNbU7nmGo45IQTagI4YRe4bwJmwH0TEFChz7yN9ROgv435E5DQbxu9C/1S1RqDsuVcRoo10YYHkNaObkMTtDgzajJ/sMdt5k0Wns4XbxbkE4TSAwIAAAAASUVORK5CYII=", + 8: "iVBORw0KGgoAAAANSUhEUgAAADgAAAA8CAMAAAAEyYk6AAAAqFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8j1z1tAAAAN3RSTlMA+nL3y1bsCwUI8te4nEYWSiPh3MKXQjw0KBnm08W6r6mgko+Lh3p1bF5OLSESD7OlhIBj52UfxNQwngAAAgFJREFUSMfV09d24jAUQNHjhm3ApvcEEgIJPT36/z8bm5K4oLs0WfMy+0kIDsiS4D/nuU574ZOwO47bROJ7r723OCD1pFK3ISyPI6l8qqpU2wPGljqy2Z9GLjrBs7pYwvt5OGVwGlgQ2M/3A0p66sc7q/Ooy+406EBdJTwKhiqjcri8XED9vOb49CAURCrrk9npGxqwT0prCbY68snr5MI7wshKdmRLqjXYA02VmlDg5MJboDHYkdNViXXyRkBGJRdOuSJ8686a9DvKijLrvc2Fc85G64dobscNvieOS4syp58L+6T6L9XLRHd1bpfFLfIrhUfEq6ks5+FA4kUdtfgWWz/HmEzv6qpo0gRWp0+Qsbmsq72FQUVdYUPgpvfPI2s8/0gma48+xMkWaMrwaRYNKRqP9iS2VaWxQRLeKJ3KGMGj0ntB8KEEW7RGSnKP1loMq77wiCIPnTc57KFjy2ENnb6SHdAIOnI4RGf1290JXTG00RpPpPAVvVZNCB8QHGb6MEK0rujCO2SNOyGU2cL/Q7YQLqsouBF2VfQunKPIt66Enxi4dhH6GJheCXcYqJc7K8DAlW29wUDglMMFBlqqLMaAV+6cEAPzcljHRLccNjHhljqXX4YbjDzLP2i+q9URZsJa/rZtMPU1yf5ejLnG/c8JfvFXWo/TtuPUekP+nT9aIhs1jM1vuAAAAABJRU5ErkJggg==", + 9: "iVBORw0KGgoAAAANSUhEUgAAADwAAAA4CAMAAACWs2tWAAAAmVBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////VHQRUAAAAMnRSTlMAgHdG6vzRq8aTAvDVnyb32bexYVZKGxYI8+nh3stzbTk1Eg6/e2ZcT0E/LaaXjVUhiWHHmAwAAAGhSURBVEjH7dTZcoJAEAXQiwZFVESUxQUVcN8z//9xKZtNwCGMvCRV3hdaigPjdAM++ZdRDw2JEw3Adj0zmjyruYwXRYUzpOr62lpTrpU1oB3VjZdrVhg3HWCb3MhDMSO+lS0E6bLWRevM+LgNbFia4qaNGT8mMM/cKx+Db7sOjs+/B37O+nLpqjuZE6Mc3jN+FkAr7PZNp2M/h68l+AifjhMbHhXzHFZKGhXATB7oUmVn8YSPe8CSih0AiapVxtqMn3O8X1qyN7sMXrHS2RxSx+gFoFNS5RGRoh3p0ZUy3Y8z2PxOKXRlt9irZQkeRcM5pCtnxQFtlOA9ME1F71EalXET+Mo/WRi7mf8siHUAUMPuCeOBCuBOpzbCmJ2SgRiL4xGAb6o8cdyOO8V8cSxraEbvmThm+iIsLuI4za0Gnjg1cB818KoGNvA+Hmg18A5v48ESonjdCqN0ThDFz/lreG7q8aaMhzHcnCth3UJghKN7hCrF33u1XwH3bDrIjHVp+sxHd6gtl1+xaYNymHa9sLq78jasAlSNlTTSOeCTYn4A308o42GEGLkAAAAASUVORK5CYII=", + 10: "iVBORw0KGgoAAAANSUhEUgAAADkAAAA8CAMAAADrC+IEAAAAkFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+WABnwAAAAL3RSTlMAkXPo7Vf8snf2JQLhy7uIPzUYCu/kooBrOisfFdvV0qifXkkvHRANBcCrYltR2ERU8pMAAAFTSURBVEjH7dLXboNAFIThcRaDwRgb4957d+b93y4RxYeyDuEuivguV/qlIxjU/jNnsu0o1UTO3TDWVvd5et9dGTLOyDjYDJkN6PWHjI2RdlkzsYPOpcOE2YM4W3wZ9KHRpTAkdVZMsVDUM5k2moev05vJjAfygiVzlp61splnFO5tsJT+Xt/kbzWR1u6wlP7eCSvYQPQHrKIn5YiVdJCYsqKdfJ6KhgFCd1Y2jhatWJl9TC1dKZYz3GTWAObRNr1222OK5QdOYzsLfItiHWDLiP/6Iy3gg+KGl428NoAmI1dAacuZlDNtuQKmQ115kvKkK70FgIWnKfdSPoulOW5HSxgXS3eB2FwVyqUMd2/Epfg8IuS4zJV26wJx3PhRKVwH3w6K2XLRnSMnLoU6ANMBs6UolmKwm9isWIq6rMu6LJqwTBd6M5Ml9njj4fInww/U/rgvUAAfWNSyBhcAAAAASUVORK5CYII=", + 11: "iVBORw0KGgoAAAANSUhEUgAAADgAAAA8CAMAAAAEyYk6AAAAn1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Kd3m4AAAANHRSTlMAWfz5agz16MTxTymnmpBdCezQzIN0PTQYDwbVs4lLQjgyFd7IvKF8YVxWRS8lIh7av7muYDAarwAAAdJJREFUSMftldl2wiAURTHRDJpGUzXWDmrr1EHbas//f1sDLKIuOJa++eB+Yq2wAxfuvYgrl05vus5X+bo9/p82W4XQBPuJv3aX4Zik4+mVBU4J37y8SQiLoYf3HMFBv/heDmZnT3MOzu2ZPQ9wlt0X8cYRU7JExR6P3GITjBtxl8u/pu7L2VGxkBecVIO5K5nuI1DkSi1p5g6xA867kOYDEHzaYglOU81oV6MnW/yAgWZPH4htcQNOV0/pVsOtJb6AM9VTvlS4Ft/UC1pCE8hwLW6omJgpkbNYRlR8NVWgxjYJ8eKe6SoAPlzlGNAz1TzJcP3r6rE+99SEa/HjquDW0YIg5dzLLG/xYj62Q2B+79J0Ip9SfB57YI22GVsrRgO91VJ6OWnGS7h42IgKFUTD6Y1iuInk/K5uIo4YZynPVXmT0766G8vsVB432+oEQmmS4ySkWxWM/PmAlAbhVs2ayjVLXhm87TT0P+zC4BT6OnOd9IZnwHPJcQwseIQ8SrGuhptaTOFBR6dXAAzJTgnNurnujTj0ErO6KmMSIqF/eA1N3j16ibGoXxDzNi/ghe4Fk2pkqnvpJ47Ncxj1TFcIfLyV0Lxmh966fW/8SSmuXC6/G2oT+tUexx8AAAAASUVORK5CYII=", + 12: "iVBORw0KGgoAAAANSUhEUgAAADgAAAA8CAMAAAAEyYk6AAAAYFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////98JRy6AAAAH3RSTlMAEhDgQ9vPqh6nk2TmuY2KCPXtyr9t0rV2Tg3oxYBQ43nUQAAAAK9JREFUSMft1MkOgkAQRdECBHtSmSeH9/9/qTFpJQF6SExQ02ddd/MWRUFAxLiCK8XZuyvho3yVHH64DhXAIlcMUDoEEJOrGMCHwjq1q5fCBHZJCEMYwq1DfnxI/MPL8+rmHxZXKWVTfc84Ym8ndLjVQ06BYedqAFIdCvgROhxb+GhH0vK+y2bOQJnNdX1OZifgQIt+OsyjCQHU0dT6KA3MGlpRwayiFbKASSEp+Dd3iP+boOq5er0AAAAASUVORK5CYII=", + 13: "iVBORw0KGgoAAAANSUhEUgAAADgAAAA8CAMAAAAEyYk6AAAAh1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9qkf8RAAAALHRSTlMAXDHQia9j+wmFOAZK485tJRvs2amljn8/KxP0vLd3aGBVKBbw3dW/oZyIdLcHIigAAAEYSURBVEjH7ZXZbsMgEEXHpAkmeN/tbE3Svfz/9xVso0j2WAW1yku4DzPiHh3x4gVcXB4nfr0K98EyJ2WY19d530VChS15Z6pwmM5AKYYs3JnSAUdTcB2BOOAiE2PIBAQaZLh40Pw4AZ4GFBcjzb8sxZXmT7fue/+Z3kTxq8jZO+OyquUp5xZiIWchq1AdG3PRp3LSDkBt8Wwukn61AP3e2IrkH0W+RpIYiL5AsnXi30TwkHSIeP8nh6rtmYttv5KxIuYivMi5k1UgryzBQjyp11B1lzgAGxHIqdW1lWj/eUT/EVsNclxcax5PAM9GUOFirMVkgexSXPRfB/4xR4zKPmtgIcmb8gofQZdjtdE9En6uWAMuLo+TH99hkkpN/8AKAAAAAElFTkSuQmCC", + 14: "iVBORw0KGgoAAAANSUhEUgAAADgAAAA8CAMAAAAEyYk6AAAAqFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8j1z1tAAAAN3RSTlMAC/pl8uadFQ/f0lYzLSch+O/KsXdzQgKqmJKCGfTq27qjjm1aNwgFxLdPPdy8h0YfwIt7YR3h5SqLdAAAAiFJREFUSMft1dmSojAYBeCDoKCs4oLQ7mu79zI9//u/2RgkRIIi9M1UV/V3SdUx5PwJ4tdP8qZGYWPxVjVmTelq6laJGSGlRmr53KpJt7olY0G3Rlm9crvzSVbrP9rS3jR31nCDwDVf6Y7xEHl2lO5Ik96xOX+nqw5k+pYequvAjK5Mebk6PTYD0Oc/YmRyyoQKtACoFJrxqh+Z4AsValhmewCgw5p1IGzqRbHpkc+wJ/fTF/Wp6qmVzf1h70m0jVdkbobZTaagBmB2Ggkee8YedNQBxXwRTJ6c73Y8vHTnTbqRmO0SnJ+eRLv3uQLgeCL47rgdTQcW4jxseLAZl87bHaxzNb+yC3277cQouTQmxULgKxtsG8COUocgCfKypsklGALSifBNdUwk73JNjAXwTvpAwdEVxRrE7AE+wTNbvJAVB3ViFmklnsL6KtQQQdacceBzcaiYthFB9q76wKPxZWmE9ERf7JEOX+yC6bhY0jPz+DbyS2rjaj96GmzhIkjn/Mk+Ru68Rk9pYDRKNf383RyNKU9hwb/0SH2wsAxAWUVtynJZsHU/NXlxkFK67fyKR8qrNVbIMj48qRw08rmOizx3lta2FB+5Un9MTuM6qRNiqpyL8JCyPM3mFv8flFtZo5y1NPFzyZw8j23ZmFyrXT64ky5paZu2yGlD4Fvv2kMVtvj2Bqgk5FfSRTWKH+fGNqpSIo/o6OAb1o6OX//bP/AwDl/SiKPZAAAAAElFTkSuQmCC", } + +SEGMENT_ICONS_MATERIAL: Final = { + 0: "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAABhUlEQVRo3u3XP0okQRiGcdt/yaKRYKogRpssXkAMBEOzRa8gmCyYGppOaijuDcREPIAwB1AQEwMNVxTEQH8GqzjOVDnTMz2WI/VAR1X11fN1dfdLDw1lMpnMtwQFdlDDcGqfsvLj+OuNfYyn9upU/gcOtXKMydR+7eSnURenjunUnjH5WZxpzwXmU/s2yy/gOiB78nI1c42F1N6v8ku4CUgeYeLlnTgIjN9hJbX8Oh4CcnsYa5g3gt3AvAespZLfxGNAqoYiML/AdmD+E7Y+U/w1oEIifzpYv/FB4/0NPK0B1fgo/C5RZxX3gTr9CzzxgLrFchf1FvEvUK/6wBMPqCv86qHuT1wG6lYXeOIBdY65CurP4DRQv/fAEw8omKrkDv3fZyqyR/eBJx5QoCr5hv1ilA888YBK0QBlAk88oFI2QCTwijIbvFtYFMVH4+1ot755PMZg/erlBr4go/0q3Os70ikDfwK5gdTkBlKTG0hN1znQ63e9qlwY+BPIDWQymUwmk5JnqrnON/7va7gAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDctMTFUMjI6MTk6NDMrMDA6MDBIN+9gAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTA3LTExVDIyOjE5OjQzKzAwOjAwOWpX3AAAAABJRU5ErkJggg==", + 1: "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAABuklEQVRo3u2YPU7DMBiGX0dQFmaQoBwBIdi4A5yAuUJQ4DJsZeYIcAPUIsSPEOIepZ3o8DAQqmLSxG5p3IAfKYv9ffb7xnG+OFIkEolEIjkAS8Ap0AH6FNMH2sAxUEuv5gT5J0BtWvHrwJPDpOO4S69JeQDW8jSavDsv6VbSVuCH4EHSrjHmPaszyUk8nAPxkrQjqeGdBdxay3kF1B3y6sB1xuMwTX57EgM9a5DCyUdyNzIMTJP/Ni42bw/wLdCYsbEh8xO34eaXaCA0QwNYFTe0MJvcCu1YcVc8J/yGZ+6qc4VO77zL58IdsDBrA8Aibp8f90BNwJlD8BdHJRg48tDTHFtxya6INyUYaHvoaedWXH5WxG4JBroeet6MPbhd8Yr68wzMIs/u/zt1oKpU3oDze/0Lnw35G3lFVH4FooHQFO4B35NU2VR+BRJJvdEGPA7fZQNsWE29RNKr1djKCAxOqqllNb8Y4ETSeWiBE9I0fB7POpK2Q6vx5F7SbpL+c9yT9Bhakaf4fWPMYPiKTFeiIelA0qak5dAqLfqSniVdSrowxgykGf6ZmxbX+f9EHag0lTcQifx3PgDWkfgNcx5BkAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wNy0xMVQyMjoxMzozOCswMDowMFfXIkoAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDctMTFUMjI6MTM6MzgrMDA6MDAmipr2AAAAAElFTkSuQmCC", + 2: "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAAA+UlEQVRo3u2WQQrCQAxFf8StiO5dKyp4UvEcouBV3IgH8ABCL/DdVgydUeuklf9WhSaT/GToLyCEEEKIjkNyRvJIsuLvqUieSM5zerOc5gGcAUwLz+0OYGNmt6agQcZBu4DmAWACYJsKytlABWAUIAAAKjMbfyuATwlmyZySeTlXqNNIQDQSEI0roO68zrssWsxrdGZzEqKcN4XrzN4Gopw3hevM3gYinTfFizN7Aj5y0F+R6uc/v0J9QgKi6b2AYSrAc8cu0fsNSEBnIbl2fhZXvapL8lI75FpweNl1U1foUHvelxLQWl2Si9oklqW6j6orhBBCiHd5AKl/ddbyJIxVAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA3LTExVDIyOjIwOjA5KzAwOjAwDfrzHwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wNy0xMVQyMjoyMDowOSswMDowMHynS6MAAAAASUVORK5CYII=", + 3: "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAABV0lEQVRo3u2ZMU7DQBBF/4SKHCDiAshFLpD0oUERhMtQhxOhIJQGSiS4QBCIC6AcACr4NC4sK5OgzbCzFvNKj7S7L961vydAEASBJ2I1EElunEDEbI5N9P5y8BxkFSA5JDknuSJZecu3F6fRXHSTyyIW+AuBF+X6g8W6cmyhhXJ9TPKoCwI3W+Y+7YLAI4B3pXZevICIfANYKuUTkv2iBWq0c3AIYNIFgTsAH0ptr22URUBEPgHcK+UpyYOiBWq0bTQAMOqCwC2AL6V2VryAiKwBPCnli+IFarSX2nFquMstcL2llvQ0yiogIm8AXpVy0jnw+KAxDXceAqbhzkPANNxlF7AOd14f9WbhzkvALNy5CFiGO8++kEm48xQwCXduAlbhzru12H6pPQO4AjAznym1sbVjzKru2M1JDp1/zCAJtXe/6/ZnX6jyP4P3Id6bEAiCIPjf/ABfMwvF1R3nhgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wNy0xMVQyMjoyMjoyMiswMDowMEktcKUAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDctMTFUMjI6MjI6MjIrMDA6MDA4cMgZAAAAAElFTkSuQmCC", + 4: "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAABpUlEQVRo3u2WQU7CQBSG/4cGNsYjGLdq0UOo8SASj+EVMIC48SBqwDNoosGlijcg7oDfBUPS1HbaTm1fTeZL2LwM0++fvoEHeDz1g+QhyQHJN5Lf5jMxtUDbzybeInlNcsFkFiZIS9s3Tv6R2RmRbGp7hwMMcsiv6Wl7r+WDlLZJYk7yoMizN3NItgF0ABwD2AWwBPAO4B7ADoCGw/M3AFyS/ARwZvZtmH1HAG5F5KXo6bZIDh1PuChz05pud4X5L2ZZjJ1CkLzRNg/Rj3MUi3wbwBPcersMFgCOROQ1XLTJdWokD6wu/Hm0aBM80TaO4TRasLXQDMCWtnGEmYhshwu2N1Cn9lnz68Btkh/atlmcbAHG2rZZnGx3IADwjPq00hJAICKTcDFRzswgQ23rEP2ofCpcjRIPRf4+Q3sV4Y4F5qEmyR5Xg1XVAeYkr5zlI0H2SXYrDNAluZfmJWkLYoIwz3oRkSLfS+PPfmHEUNb60gNo4QNo4wNo4wNo4wNoU/oo4SxW9Sihxb8P4NHGX2JtXAJ8VeA1LTPARckhpuYZHo8nAz8v3j8cbMsMcQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wNy0xMVQyMjoyNDo0MSswMDowMLO0E/gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDctMTFUMjI6MjQ6NDErMDA6MDDC6atEAAAAAElFTkSuQmCC", + 5: "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAABz0lEQVRo3u2XO0scURiG31k2qAkBwcIYdnKpBG20VIJFGqNgn/yDKNYBm5D8AkELEf+BLAQiBgKypaRWkk4kRLRSiYomIj42U6xnZ4aZ2TM7Xs4DWyzf7Hs5y36clRwOh8PhcNwxAB+oAkfB6wvQW3SuNOH3aeQA8IvOl6RAlWiWi86XpMBRTIG/tv1KOXQ4i5n9u7EFgJfAZILnJoEXtotkDd0eBPpFen4C74G2IoKXgGlgL0Nwk11gCvBaFf4ZULMQ3GSNDGs2VWtgWNKqpM6Q8YWk75JqktYl7UjaD2ZdknxJQ5JeSxqVVA7ROJQ07nnejzxOfiRiRZ4An4CeFFpPgc/BZxtWLfDKdvj+CLOvQKUJXR9YCdE9Bvpshe8ANg2DS+CjjR8e4AXfxqXhsQG02ygwF3JCH6ycznWfmRCf2WZFnwPnhuii7fB1fkuG1/8sm6lecMEQ3AYe51jgEbBleM43I3ZmiL3NK3yd7zvD8xR4mEVowhD6AzxoQYEy8NvwHo96vhyj9cZ4X5F0DuTdIYwxSd/CBnG30cEikkYwEDWIK9BddOo6ntz2AomvKY5W03CXoaA1kziw513LnMef+pbiCjgcDofD4bjPXAH6VSe/Q6g4qgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wNy0xMVQyMjoyNTozOSswMDowMGVcP7gAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDctMTFUMjI6MjU6MzkrMDA6MDAUAYcEAAAAAElFTkSuQmCC", + 6: "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAABuklEQVRo3u2YPUvDQByHL0UUhOIkolIUB+0H0E3QVVCHrg7OfgO/gx/ARRAEFxGcpJODVXBRBPFtEVxLsULwBUT7uLQQ/ySmSe5yFO5Zk/u95Mjlcko5HI7cAMrAEeATj9++d8Z27k74EtDsIrikCZRs51fAYYrwHQ6idL0cC/hKqWLK4b7neUO2C/DH2PM8HfcX8ipgij7bAZLOjKTnZ8AVsI0rYBvrq1DSVUfS8zPgCtjGFbCNK2CbyO8A8K6UGjRlLHehMXxGXfhvBhqmwqfgNU2BZ9upA9TTFKjZTh3gOvEIYF6cDFzllRY4Fd4baYVuhNByDuGngVbAswWMpxVbFwXqwKjhArvC8yyLWAGoCcEHYMRQ+DngW/hVsoqWgTchegtMaQ5fBB6Fzx2Q/WMLLAFfQvwFWNUUvh+oCv0WsKjzCa2FlADYB8YyPvlqiO62tvABswWgEWL2AWwBkwn1ZoH7EL0LYEB7gbbpBHBMOD/ACbDZhc5OyAvbeb+MLBIyQAV4iigSu1GLGHYJDBsPHwhRAFaAcw0F9oDEu19tx+sytK7j8ziMnQt1Mws66Pk/MlfA4XDY5RdT7RT+REHdxQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wNy0xMVQyMjoyNjoyNCswMDowMCMW5eUAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDctMTFUMjI6MjY6MjQrMDA6MDBSS11ZAAAAAElFTkSuQmCC", + 7: "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAAEQElEQVRo3u2ZzW+VVRDG59qWS4mVVikqqC1BROPSoA3qxpDalS5RWGhggUAi0TVLE0LiTiQEPwig/guIyofeFqrVQoz1tsJCQFggSkgtxEj7Y3HOTU+n8372vt6EdJKbJmfOnHmeOfPOmXMqMi93mQBlYBswAFzzv35gK1BuNL4k8N3AGNEyCnQ1GmcU+A7gEslyEWhvNN4Q+GIf+Q9TgK/JHm9zX6NAl4F3gWoMyIPAw8Ay4FDMvCrwzv/2fQAPAj8kRPgS0BLYtAB/JNh8DywtGnwzcDpFilQM229T2A0ATUUS2Gw4/Q+4osYuGra6Ol3xtlreLJKAjuI3wANet5bpb2ISV/v/8b/TwC2v+wXo8TZLgGNqzRNFEriunK1S+m5gIiZFbgDLlM0Tas7fRRK4qZx1BLoWYChFnvcDzYHd/Up/s0gCZ5Wz3YFuawrwNdkU2L2vdGeLJLDTAHMM6MVVkLRyAujzf7XszIKplJHAYhEZEZHlBcXosog8XSqVbqQ1uCejg0yE42KRcbxuBN6W2dE/LiIvi8ipDOt8JyLPi8gRNf6IiGyvU5CM8MDPKl93Bbq3MnwDmwO795TuTJEEbiln7YGuBRhMAX6AmWW0Q+kLLaPXlbPVSv8oMB4DfgJ4TNk8qeYUepCdVM5OAg953QvMbCUqTLcSp4LdGwPWeptOo5QeL5KA1cxNAn+qsbTN3G1jvTeKJFB0O12hyHbaA8l7obmcYDNI0ReaAFAZdw38NQbQIdx1cjlwOGbeCLADWFBvkOO4N51h4AvcW89KY14bro3ekyJFavKBt2kz1nsc2O59DgN/AeN5CFyLcD4AbNC5CrTjnkyS5AKupwptm4GNuGplydU8BIYTgIwCvcqmy49HSZXZ50Af8FuCrx/zEPg8ZTrsB1oDuzKurRjCHVwTuI9+C0GeA4uAj1P6OJyHwDa1yCQwFeFgCOjMsPZS4KeItaa8r1C25CGwUgGeAl4BDhgOaimVSMKDt9LsNvCR96H9dmcm4J3pj+qAH38WO2+HgIUx6y2KiHwVeMbPOah0lbR4LYcbjDR6zuvagK8MMPti1rNy/ghwr9f3GLu7fi4EmoztPod/lAUWAEcNUOuMtfqMeV/iT2zcI/F5pR9hrq0F7sKu5Wt8RfE7oRu1augYV+d1yo0FkS8z+4EL4KU5gQ8A7I8gUduJNcbWvxbYbzRScU0QeQv83rqA905asR+tzjH9TXyqdP2BvS4Gn/jxHiNtwDV2C/PijSLRiV3+JnGl1Sp/K3C9DWr8VVy1scpxFVhSV/CKRFQrbR5AZDsQB8lwIOYl0QrsI518husq08jeuqdNApF1xP+LCdyhdSZhzgj1qjY5SDQBr+NenK20uIrdlk/hro/rgayPazOkXk+FAqwQkV4ReVFEnhKRLhGpdZ//isgFERkVkYqIHC2VSr83IObzMi93ndwBWMIFoFJe1yAAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDctMTFUMjI6MjY6NDcrMDA6MDDUkfb/AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTA3LTExVDIyOjI2OjQ3KzAwOjAwpcxOQwAAAABJRU5ErkJggg==", + 8: "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAACXklEQVRo3u2YPWgUQRiGv70cBJEUAcFCr9QQkwixERFBSBE0iJ2IpZ0hNiJWgljZ+AfaqSQpUhgCVgYiaqFlihC1kEQhKoI/iUkWAsFoHoubhTXu3u3szu4MuC9sczvf3fN8NzM3tyJlypQpPEANmAB8dT0COmxz6cAv8W9+ADXbfAFkC3AZ+Ah8Be4C29W9CeIzbps9ELgYAXdf3fMbCKzaZg8EZiPg1oBqE4EV3c+qGIDtAV6rOTyUoORZg3tTOfY1VmAy1MFfwI6YKXRPje9QsluzCOy2IfA4QiBYxB/UIr4TLGJVUwPGgVV1PSwMHjgCvAe+AKeBbuCV2hoHC+9gCoGZUMd9oGqTJ/Mi3iK3H7gKvAQ+A+sxu82ymnpHCzcGDgPv1BQ6pV7rBZ6jn03gUuESIRkPuAJspIAPS/TZgK8AoxnAw3lqQ+CaIXiA9aLh+9RXb11AexcCWkTkloh4BnsyXZiAiPSLSI9BeBGRm4bfLz7AmMGpA3C9MHgl8MYAtE/9d+NkVp40x4DNFDUbIjIiIsMiMu953mK+bW4Q4IZmt38CJ6wBRwh0oreF3rbNHCUxoyGwN0+WtKfRJwnHffM8b85FgdmkAnnCZxH4lHBcm6sCawnH7QJaXRRoTziuKiJnXBTYozH2AmDy4GdE4KDG2G4RGXBGgPpx+phm2XFnBKTezZ2aNftcEjiboua3SwK9KWrmXRL4nqJmMi8B7QDnNY/T04DRJ4BZBSr8/US6UZaALtvMURKtwIMm8G+BA7ZZm4kcov50bkH9yfGBF8A5YJttvjJl/of8ARf1W5Xb0Qz6AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA3LTExVDIyOjI2OjU4KzAwOjAw7nOGiAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wNy0xMVQyMjoyNjo1OCswMDowMJ8uPjQAAAAASUVORK5CYII=", + 9: "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAAAm0lEQVRo3u3YQQ6AIAxEUTDe/1R6rrpiodFYIjg0/LfVCJOCRVMCAKX8dMHMTD2500Rzvp3rop7YVwRQW703Pq3BXrx7MHwFCKDm3gOj9YUifAUIgNm9dtfr26d3R64dL/weaBbAzHbz21qN22wJ1TY673NYQqNzn4Xe/P29UISvAAHUCKBGADUCqBFArfosNNr/ofAVIAAAzO0Atr5ToRc5dmIAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDctMTFUMjI6Mjk6MjIrMDA6MDCxzYtSAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTA3LTExVDIyOjI5OjIyKzAwOjAwwJAz7gAAAABJRU5ErkJggg==", + 10: "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAABo0lEQVRo3u2XvU7DMBRGr4EFobJRKPAACIkXQUJI/IwwwgSMYQTBS7DyQAWxMDCidkUUigQSPQwkKLXyY1LHzuAjZYjl5J7rfE5TkUAgEAgELAK0gWvgDniPjy5wBbR9+5XJ7wMD8hkAe749i+RHlDNqXBNxbAYG8gmvwIKN2lOWejgVkVbq/EtEIhFZiY/zeCxhXkRO6l9aQ4B7bYWjjDmRNqfr2zst96bJdTLmLOkb2kbtGRs3UUq1DKZN65fZqG1rD5hwoJ0/OaxdHWA5zv+nFqFL325l4pvAc85r9AVY9O1Y1kCe/Dew69vPpIG8ld/x7Va1gQtbv75prLzK8hoYK6RULbVqeY0C6yZjjQQ45Pc/gM4HcObbr0h8Frgx+BK9BeZ8++rya8CDgXzCI7Dh2zuRL4rMUWMjVRKZsRUueULuI1VF6D8N1y1fGJkJr68vUjZX0Hmk6ijoLFKTRmbC+1ePlMtNZ/0JO8+ozQUDtoEhzWMIbOm+KqOBvoh0jLp1T08ptZoeyPqcxvBmjSCrgWMR6fsWy6AXuwUCgUAg8McPMzgCXAT63FUAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDctMTFUMjI6MzA6MTErMDA6MDAzMWImAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTA3LTExVDIyOjMwOjExKzAwOjAwQmzamgAAAABJRU5ErkJggg==", + 11: "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAABIElEQVRo3u2YQQ6CMBBFW+MxjDfgILpGAkG3XMGlh623gOS7KUmBaYWqTDHzlpSS96A1qUoJgkAC4AzAgB8D4OTz1IEAo5Q6cL9Ii9FaH5cGgNt6IKo16brjFvuUUMCTW87BxAQ0oYkryze+QT33KeM94VuTscQ+/6/3wCaQAG4kgBsJ4EYCuJEAbjYfsI+dmMqJbfNfQAK4+eqpyuXXJ7iezX8BCeBGAigAFHOuJQmAHEBL/MvcAai5/d7JXzzybsSV2zNWPt2IBfLpRQCorJALFdMSERW3fOERq4mA3HPvLTl5Oz7AXksjAkBGLJsOQOncMwmw10vP3GztiHtoU/oC7Nh40z9WlR9FkL8ooQA73i9BHnlHJPrTr75sBGHKCzVdypogaXriAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA3LTExVDIyOjMxOjQ0KzAwOjAwxiso2wAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wNy0xMVQyMjozMTo0NCswMDowMLd2kGcAAAAASUVORK5CYII=", + 12: "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAABzElEQVRo3u2Yu07cQBSG/7OiRYEWiQKKBGqKjXZb3igPEZoUFEjpItKHi2iTMoJHAJoUkdIGHC6Rkt2PYm0YWJb1ZexZS/NVs2v7+P9nzjm2R4pEIvcAa8ABkDB7JMAe8NrVbK54SceSFkJP5BR+S3prZueS1HEObLVAvCQtSnqf/XBXIJE0H1pdThIze/XUAO4ZZmZFo9bJJH2dcuFmh2igDEAf6PuINRfCgKR3Gk3ed5+z8oi6lAMbwH9gAHS96avbQCr8cyo+YwgcAZtlDXivgTS/ewUvu/VxYy8rAHwB9l84PrspBKym4obAelmTIQ3sOCE+vnBer2gbrd0AsARcOyFugOUyE9GogTRttoErxvmbdp71vPEaM+C0xX9MZ0DOdlnUQNOvEtXbZVGHOa7Lk0JrtetraxF7SyEz+yXpk/PXrpn99BW/tMOCMVZ4eMpWTps8+ry+TpvZD+BwNLRTn7EnUcf3wIcmhGfEj/rQtN6AWwN/5Gxsle1EDXGZDdwV+BpaVQG+ZQO3iN9IOtHs749eSOqObe6a2ZmkrqQ9SUlolc+QpNruxUvOCvhiWu34bs+t70LRQGgq52PV50XVmmj9CkQDkUgkLHfyCntBAbfDpgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wNy0xMVQyMjozNTo1NCswMDowMANqiD8AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDctMTFUMjI6MzU6NTQrMDA6MDByNzCDAAAAAElFTkSuQmCC", + 13: "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAAB2ElEQVRo3u2ZX0rDQBCHN8Un9dnSG5TSW/iWE/QpvUJPVBQEbxELHkEFTyCt0F5Aw+dDNrLNnyabVGcC+T0uSfh+M7OT7MSYQYMGtRIwBZ6ASW59ATwAF9KMBrgCwpL1GbAl1RswtusRkNj1e2AkDb+xQFEFPI6JlQOfaS0FfwnEDkgCLG3ZfNBMCbCUMhCWRDMBDh7wUXeSbiYWwFdDYB2RP4MJPfDWwAzY96ZscvD92LB9hy+8aICpMSY2xkz8H6dAHPd/n82ro/6BMembtQ440WziBng5VfOUt1g9m5n02+ZkqXD88aYnEza6302iqy4TPvAqTQDrNiWhppyAEXDXJopqMmFNrNtET00mOgbgbJlA6ox9DhO5hvIoYaJ1OVXc+/9n7DaZaNPK1ZhQB++A1ZZTxTUAK1F4B7AyExWRz/RObgIoaaIqEwmn9TsBFNeJUqlTLM3umvAd2eyAef45csPXVEHD6z6NMbdBELwK86aq2bCNIi8J71P/e2AmzezC+0Q+605qzti+8HpMeJbNgfL3RNid5O8jvwPmFFvsM3AtZaDsjL2iODzbuhvWydoGuBKBtyAj0h9+GXxk190J4BG8c28oCp8zUThjWxMxmlrloEE90w98aOKes4f3awAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wNy0xMVQyMjozMjowNCswMDowMKlWnSIAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDctMTFUMjI6MzI6MDQrMDA6MDDYCyWeAAAAAElFTkSuQmCC", + 14: "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAAC0UlEQVRo3u2YS08UQRSFT08iGyCuRRMcZiKuiIA7JQT/gChEg8RfAWrYGTeOf0M3qBAgutCdQdSY+FoButUhPjAmJC4Ayeeim9DUVL+YHmZTZ9d16557bvWtSt2SHBwcHBwcHJoHL2kC4Enqk3RR0oCkY5JOSGrNWctfSV8lfZe0KGnB87wPB2YDPOAK8JnmYRUYDRYxk/gS8LaJwk28AYppxZ8HfjRbsQXrwIUk8UPAlsV5E5gGxoBuIO/6F9AacI8BD4OYNh2DcWWzbnGaAbryFpwioRIwa9Hzq6ac8DesWfP/gInDFm5JZBLYMbS9JryxgauWTJsuPqTvpkXfyK7Ro/aonIkh24ccRbYA94A1oApUgJaQfc4IvbJr6LdslK6YQI1KoGJZ5UrIXrZs7F4Bd4zB6YRAjUqgakmgasx5ZNhvF+RfD8JYyEtUA2BqGyhI6jAG3xtZx654jn/kgWXsvvH9zvg+LmDD0NAeJzAJB1UfbOJKUEo1mziY026E2zj0BEg4bRJ8rQmYR+ipBicQe9ok+HYbfqsFSVVjXn/4wzNgkibZLbiecsyGs8Z3tSDppTE4nJKsGTC1LQroM37LJlCKYqh300aU0N0UfmVqb8pndq8Sq4ZhtoEJJJ42EX7zRujlsHHUsiqTWcWF+KYsfFN18N2y8F0KT/Dw27YwdoAbGQN5+NffKEyQsb/Fv4ma1+mlGh6giN8smJgDyikCdQLPScYzoDMFX9lSNgA/gZNRToPYW7kt/IvUOHAaaAOOAj3ANeApsG3x24zg2waeBL49AVdbwD0OPCa6tR1Iyvwc+TT1v/F77Lz41oGhtHVXxG/bDopXhHoK/P62Hr4losomYUOOACsZAkU+RAV8o9Qe2XFYBi7H6Ux1IgC92nta7JD/tHhE0h9JXyS9kDTved7HDHzD2v9UKUnfJK1p72nxU6ZVd3BwcHBwcDhk/AdqcwD0MWHPlwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wNy0xMVQyMjozMjo1MCswMDowMBX5t1UAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDctMTFUMjI6MzI6NTArMDA6MDBkpA/pAAAAAElFTkSuQmCC", + 15: "iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAAA+klEQVRo3u3WMQrCQBAF0D9iK4p1ahW194iWnkOC3sVCBO8gSi7wrQJRAmY3q5Pgf1XA7Dh/N2QCiIiISE+RzEjmJAuGK0geSc49m79FNP7uTnLmESBP0HzpENuHtQhQABgl2o/CzMa/DsCXQmZBtdquLw1iA3SFAnhTAG9BAaqTt+a3IDXroyZz41cXyQzACcD0y5v6ALAxs2uTm0NOYPeD5gFgAmDb9OaQE0g5eT9pPJlDAiSZnKnr/9dbqIsUwFvvAwxjF9ZNUw+9PwEF6B2S65qPy5VXndgQ58qfXjzrxD5CeeV632IvUtUJQ3JR2bmldx0RERHx8gTMlrezouo+gwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wNy0xMVQyMjoyMDozNSswMDowMETVnogAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDctMTFUMjI6MjA6MzUrMDA6MDA1iCY0AAAAAElFTkSuQmCC" +} \ No newline at end of file diff --git a/custom_components/dreame_vacuum/dreame/types.py b/custom_components/dreame_vacuum/dreame/types.py index 0d6ead0..b6c392a 100644 --- a/custom_components/dreame_vacuum/dreame/types.py +++ b/custom_components/dreame_vacuum/dreame/types.py @@ -1,5 +1,6 @@ from __future__ import annotations +import math from typing import Any, Dict, Final, List, Optional from enum import IntEnum, Enum from dataclasses import dataclass, field @@ -872,6 +873,11 @@ def outline(self) -> List[List[int]]: def center(self) -> List[int]: return [self.x, self.y] + @property + def letter(self) -> str: + letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + return f'{letters[((self.segment_id % 26) - 1)]}{math.floor(self.segment_id / 26)}' if self.segment_id > 26 else letters[self.segment_id - 1] + def set_name(self) -> None: if self.custom_name is not None: self.name = self.custom_name diff --git a/custom_components/dreame_vacuum/manifest.json b/custom_components/dreame_vacuum/manifest.json index b61bbc3..06153c2 100644 --- a/custom_components/dreame_vacuum/manifest.json +++ b/custom_components/dreame_vacuum/manifest.json @@ -14,6 +14,6 @@ "python-miio>=0.5.6", "py-mini-racer" ], - "version": "v0.15.3", + "version": "v0.15.4", "iot_class": "local_polling" } diff --git a/hacs.json b/hacs.json index 6e5b1cc..ce47484 100644 --- a/hacs.json +++ b/hacs.json @@ -1,5 +1,5 @@ { "name": "Dreame Vacuum", "render_readme": false, - "homeassistant": "2022.5.0" + "homeassistant": "2022.8.0" } \ No newline at end of file